diff --git a/.travis.yml b/.travis.yml index 9866d6c408bc..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,437 +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} - # - # find U8glib files - - sudo find / -iname u8g.h - - sudo find / -iname U8glib.h - # expose the C API - #- sudo cp -f ${TRAVIS_BUILD_DIR}/.piolibdeps/U8glib-HAL_ID1932/src/lib/u8g.h ${TRAVIS_BUILD_DIR}/.piolibdeps/U8glib-HAL_ID1932/src/u8g.h - # - # - # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4 - # Test 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 jp-kana - - 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} - # - # Language files test with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER - # - - restore_configs - - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT - - for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done - # - - restore_configs - - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT - - for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}; done - # - # - ######## Example Configurations ############## - # - # 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 0ad2cfd66e78..4b9908b34b79 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 7aab802c5418..0d2b849b51f6 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Makefile b/Marlin/Makefile index 721835dd8a67..bc0b85a766b8 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -113,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 @@ -434,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 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_AVR/HAL.cpp b/Marlin/src/HAL/HAL_AVR/HAL.cpp index 9c69b90a864f..e69455976167 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.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 index 767bc1be39ed..02aafc0fbdd4 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.h +++ b/Marlin/src/HAL/HAL_AVR/HAL.h @@ -1,31 +1,22 @@ -/* ************************************************************************** - - 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 + * 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. * - * For __AVR__ + * 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_ @@ -61,10 +52,12 @@ //#define analogInputToDigitalPin(IO) IO #ifndef CRITICAL_SECTION_START - #define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli(); - #define CRITICAL_SECTION_END SREG = _sreg; + #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)) @@ -113,42 +106,68 @@ 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 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 HAL_STEPPER_TIMER_RATE HAL_TIMER_RATE +#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 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() 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 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) @@ -156,12 +175,153 @@ extern "C" { #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) +/** + * 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<= 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.h b/Marlin/src/HAL/HAL_AVR/SanityCheck.h index bcc8fb42ea3b..254da910c1e6 100644 --- a/Marlin/src/HAL/HAL_AVR/SanityCheck.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 052f61fcfef3..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,17 +40,10 @@ #include "../../core/macros.h" #include - -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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +void endstop_ISR(void) { endstops.update(); } /** * Patch for pins_arduino.h (...\Arduino\hardware\arduino\avr\variants\mega\pins_arduino.h) @@ -86,7 +79,7 @@ void endstop_ISR(void) { endstop_ISR_worker(); } // 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 @@ -95,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/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.h b/Marlin/src/HAL/HAL_DUE/HAL.h index efac5ee8cdfb..c0f8141e5b8f 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL.h +++ b/Marlin/src/HAL/HAL_DUE/HAL.h @@ -55,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)) @@ -138,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 c5121f62e85d..eb23692b4479 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL_timers_Due.cpp @@ -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/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.h b/Marlin/src/HAL/HAL_DUE/SanityCheck.h index 16e07bd3b44f..f24233a859cb 100644 --- a/Marlin/src/HAL/HAL_DUE/SanityCheck.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/endstop_interrupts.h b/Marlin/src/HAL/HAL_DUE/endstop_interrupts.h index 1a1d8fe82bb1..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. * @@ -37,16 +37,10 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +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/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_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_ESP32/watchdog_ESP32.cpp b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.cpp new file mode 100644 index 000000000000..07e00e95b472 --- /dev/null +++ b/Marlin/src/HAL/HAL_ESP32/watchdog_ESP32.cpp @@ -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 . + * + */ + +#ifdef ARDUINO_ARCH_ESP32 + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(USE_WATCHDOG) + +#include "watchdog_ESP32.h" + +void watchdogSetup(void) { + // do whatever. don't remove this function. +} + +void watchdog_init(void) { + // TODO +} + +#endif // USE_WATCHDOG + +#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 6aeafedf2274..b26581d44356 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.h @@ -68,9 +68,15 @@ extern "C" volatile uint32_t _millis; #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; @@ -120,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); @@ -137,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 cb0449629a72..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. * @@ -37,46 +37,64 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _ENDSTOP_INTERRUPTS_H_ -//Currently this is untested and broken -#error "Please disable Endstop Interrupts LPC176x is currently an unsupported platform" - -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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +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/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 index 5831288b76dc..aa24cacc45f7 100644 --- a/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py +++ b/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py @@ -6,129 +6,143 @@ target_filename = "FIRMWARE.CUR" target_drive = "REARM" -upload_disk = "" +import os import platform current_OS = platform.system() -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:\\'] - - # - # scan top directory of each drive for FIRMWARE.CUR - # return first drive found - # - - import os - target_file_found = False - target_drive_found = False - for drive in drives: - final_drive_name = drive.strip().rstrip('\\') # typical result (string): 'C:' - # modified version of walklevel() - level=0 - some_dir = "/" - some_dir = some_dir.rstrip(os.path.sep) - assert os.path.isdir(some_dir) - num_sep = some_dir.count(os.path.sep) - for root, dirs, files in os.walk(final_drive_name): - num_sep_this = root.count(os.path.sep) - if num_sep + level <= num_sep_this: - del dirs[:] - volume_info = subprocess.check_output('fsutil fsinfo volumeinfo ' + final_drive_name) - if target_drive in volume_info and target_file_found == False: # set upload if not found target file yet +#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 = root - if target_filename in files: - if target_file_found == False: - upload_disk = root - 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 - ) - - - -if current_OS == 'Linux': - - # - # platformio.ini will accept this for a Linux upload port designation: 'upload_port = /media/media_name/drive' - # - - import os - 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: - files = os.listdir('/media/' + media + '/' + drive ) # - 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 - ) - - -if current_OS == 'Darwin': # MAC - - # - # platformio.ini will accept this for a OSX upload port designation: 'upload_port = /media/media_name/drive' - # - - import os - 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/' + drive + '/' - for drive in drives: - target_file_found = True - filenames = os.listdir('/Volumes/' + drive + '/') - 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 - ) + 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 index d1ec010ea8c0..95dbb0a502dd 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.cpp @@ -34,23 +34,59 @@ #include "HAL.h" #include -//#include - // -------------------------------------------------------------------------- // Externals // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- -// Local defines +// 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; + // -------------------------------------------------------------------------- -// Types +// Variables // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- -// 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 @@ -65,22 +101,22 @@ uint16_t HAL_adc_result; STM32ADC adc(ADC1); uint8 adc_pins[] = { - #if HAS_TEMP_0 + #if HAS_TEMP_ADC_0 TEMP_0_PIN, #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 TEMP_1_PIN #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 TEMP_2_PIN, #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 TEMP_3_PIN, #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 TEMP_4_PIN, #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED TEMP_BED_PIN, #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) @@ -89,22 +125,22 @@ uint8 adc_pins[] = { }; enum TEMP_PINS : char { - #if HAS_TEMP_0 + #if HAS_TEMP_ADC_0 TEMP_0, #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 TEMP_1, #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 TEMP_2, #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 TEMP_3, #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 TEMP_4, #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED TEMP_BED, #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) @@ -123,11 +159,26 @@ uint16_t HAL_adc_results[ADC_PIN_COUNT]; // -------------------------------------------------------------------------- // 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(); } @@ -196,22 +247,22 @@ void HAL_adc_init(void) { void HAL_adc_start_conversion(const uint8_t adc_pin) { TEMP_PINS pin_index; switch (adc_pin) { - #if HAS_TEMP_0 + #if HAS_TEMP_ADC_0 case TEMP_0_PIN: pin_index = TEMP_0; break; #endif - #if HAS_TEMP_1 + #if HAS_TEMP_ADC_1 case TEMP_1_PIN: pin_index = TEMP_1; break; #endif - #if HAS_TEMP_2 + #if HAS_TEMP_ADC_2 case TEMP_2_PIN: pin_index = TEMP_2; break; #endif - #if HAS_TEMP_3 + #if HAS_TEMP_ADC_3 case TEMP_3_PIN: pin_index = TEMP_3; break; #endif - #if HAS_TEMP_4 + #if HAS_TEMP_ADC_4 case TEMP_4_PIN: pin_index = TEMP_4; break; #endif - #if HAS_TEMP_BED + #if HAS_HEATED_BED case TEMP_BED_PIN: pin_index = TEMP_BED; break; #endif #if ENABLED(FILAMENT_WIDTH_SENSOR) diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.h b/Marlin/src/HAL/HAL_STM32F1/HAL.h index 3474ae5e11d4..8d459b1dbb6d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.h @@ -40,7 +40,7 @@ // -------------------------------------------------------------------------- #include - +#include #include // -------------------------------------------------------------------------- @@ -108,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 */ @@ -115,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)) @@ -217,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 488773d9a4b4..59835829a783 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp @@ -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 d3de91ac1270..5c9f5e893e7d 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_timers_Stm32f1.cpp @@ -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.h b/Marlin/src/HAL/HAL_STM32F1/SanityCheck.h index 19127efdf920..40917f03fe43 100644 --- a/Marlin/src/HAL/HAL_STM32F1/SanityCheck.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 21cecad63e5b..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,52 +49,37 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +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_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_STM32F4/HAL.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL.cpp new file mode 100644 index 000000000000..c79af5859a0c --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL.cpp @@ -0,0 +1,133 @@ +/** + * 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 . + * + */ + +#if defined(STM32F4) || defined(STM32F4xx) + +// -------------------------------------------------------------------------- +// Includes +// -------------------------------------------------------------------------- + +#include "HAL.h" + +//#include + +// -------------------------------------------------------------------------- +// Externals +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Local defines +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Types +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public Variables +// -------------------------------------------------------------------------- + +uint16_t HAL_adc_result; + +// -------------------------------------------------------------------------- +// Private Variables +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Function prototypes +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Private functions +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// Public functions +// -------------------------------------------------------------------------- + +/* VGPV Done with defines +// disable interrupts +void cli(void) { noInterrupts(); } + +// enable interrupts +void sei(void) { interrupts(); } +*/ + +void HAL_clear_reset_source(void) { __HAL_RCC_CLEAR_RESET_FLAGS(); } + +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); } + +extern "C" { + extern unsigned int _ebss; // end of bss section +} + +// 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 +// -------------------------------------------------------------------------- + +void HAL_adc_start_conversion(const uint8_t adc_pin) { + HAL_adc_result = analogRead(adc_pin); +} + +uint16_t HAL_adc_get_result(void) { + return HAL_adc_result; +} + +#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_STM32F4/HAL_Servo_STM32F4.h b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.h new file mode 100644 index 000000000000..b68910387c09 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_Servo_STM32F4.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 + * 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_SERVO_STM32F4_H +#define HAL_SERVO_STM32F4_H + +#include + +// 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 +}; + +#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_STM32F4/SanityCheck.h b/Marlin/src/HAL/HAL_STM32F4/SanityCheck.h new file mode 100644 index 000000000000..605eb9cb1589 --- /dev/null +++ b/Marlin/src/HAL/HAL_STM32F4/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 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/HAL.h b/Marlin/src/HAL/HAL_STM32F7/HAL.h index 9481fe3a6387..c594392d881e 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F7/HAL.h @@ -21,8 +21,6 @@ * */ - - #ifndef _HAL_STM32F7_H #define _HAL_STM32F7_H @@ -111,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)) @@ -213,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_timers_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp index d5bde97b1341..9454b71c812f 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_timers_STM32F7.cpp @@ -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 index 8799c4eca793..5bd0793a4d2f 100644 --- a/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h +++ b/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h @@ -64,3 +64,7 @@ #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 0908140fdbc3..5b2cdb3a9e03 100644 --- a/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h +++ b/Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h @@ -26,52 +26,37 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +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/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.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp index bdd6f461fb05..5bd3369e439a 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp @@ -26,6 +26,7 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #include "HAL.h" +#include "../Delay.h" #include diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h index 0b2646abae0f..6a11bf93c943 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.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 @@ -51,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 // -------------------------------------------------------------------------- @@ -84,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)) @@ -134,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_timers_Teensy.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp index 19a8dfc67487..d31d9ddf671d 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL_timers_Teensy.cpp @@ -29,6 +29,22 @@ #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.h b/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck.h index b4791bdb808f..c8a9ee9bdf15 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/SanityCheck.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 12c45db49fb1..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. * @@ -37,16 +37,10 @@ #ifndef _ENDSTOP_INTERRUPTS_H_ #define _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. -} +#include "../../module/endstops.h" // One ISR for all EXT-Interrupts -void endstop_ISR(void) { endstop_ISR_worker(); } +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/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 index 0045e4439948..1410b21f9c6d 100644 --- a/Marlin/src/HAL/platforms.h +++ b/Marlin/src/HAL/platforms.h @@ -13,8 +13,12 @@ #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 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 ce4ffa0db937..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_PATH(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,19 +910,17 @@ 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; @@ -915,12 +937,15 @@ void loop() { 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 0ad2cfd66e78..4b9908b34b79 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 7aab802c5418..0d2b849b51f6 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index b62bdbf6c9c6..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. @@ -1081,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 @@ -1094,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. @@ -1367,11 +1397,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1438,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 // @@ -1502,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 @@ -1531,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 @@ -1573,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/ @@ -1602,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 @@ -1681,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 // @@ -1701,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 @@ -1735,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 @@ -1756,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 ============================== //============================================================================= @@ -1815,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 6468fecdbd67..a6569e160806 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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,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 +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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index 86a004c7d230..838515213d86 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 026e99f017ee..103a450a30a4 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1199,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 @@ -1212,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. @@ -1499,11 +1553,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1531,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 * @@ -1570,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 // @@ -1634,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 @@ -1663,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 @@ -1705,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/ @@ -1736,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 @@ -1815,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 // @@ -1835,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 @@ -1869,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 @@ -1890,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 ============================== //============================================================================= @@ -1949,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 3c583e99a6ea..11b41b5d079d 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index 66155a1c2c5a..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. @@ -996,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 @@ -1022,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) //=========================================================================== @@ -1070,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 @@ -1092,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. @@ -1365,11 +1384,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1397,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 * @@ -1436,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 // @@ -1500,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 @@ -1529,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 @@ -1571,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/ @@ -1602,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 @@ -1681,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 // @@ -1701,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 @@ -1735,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 @@ -1756,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 ============================== //============================================================================= @@ -1815,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 a956ed55784a..4a377c6e2a8a 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index 9f5be051d7aa..991d17a13463 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1517,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 @@ -1537,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 7aab802c5418..0d2b849b51f6 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index 1aba31cb9993..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. @@ -1061,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 @@ -1074,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. @@ -1347,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, 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 feb4e1afe5d9..e7ce57253e98 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index d37b2455fe67..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. @@ -1061,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 @@ -1074,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. @@ -1347,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, 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 faf55b9b5b1a..b0c213bbdcbc 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index 53eab4f8a88e..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. @@ -1049,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 @@ -1062,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. @@ -1335,11 +1365,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1367,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 * @@ -1406,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 // @@ -1470,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 @@ -1499,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 @@ -1541,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/ @@ -1570,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 @@ -1649,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 // @@ -1669,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 @@ -1703,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 @@ -1724,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 ============================== //============================================================================= @@ -1783,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 40661a358fea..72e25ad17be1 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index 72df3ba053b5..f580ace14815 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 @@ -897,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 @@ -977,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 @@ -986,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) @@ -1002,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. @@ -1016,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) //=========================================================================== @@ -1073,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 @@ -1086,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 @@ -1121,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 @@ -1206,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 // @@ -1227,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 /** @@ -1293,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 @@ -1303,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 @@ -1314,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 /** @@ -1359,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1428,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 @@ -1436,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 @@ -1494,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 @@ -1523,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 @@ -1565,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/ @@ -1594,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 @@ -1673,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 // @@ -1693,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 @@ -1727,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 @@ -1748,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 ============================== //============================================================================= @@ -1755,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 @@ -1807,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 9cc2bf874748..6670829ca540 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -367,7 +381,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 +407,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 +421,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 +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 @@ -453,7 +483,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 +510,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 +519,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 +538,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 +580,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 +590,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 +643,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 +686,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 +749,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 +795,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 +845,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 + * 400 : Minimum for A5984 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, A5984, and 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 +900,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 +946,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 @@ -943,23 +1052,12 @@ // @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 @@ -1005,62 +1103,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 @@ -1208,32 +1273,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 @@ -1279,7 +1331,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,27 +1637,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 @@ -1623,4 +1678,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 accb599b5ac2..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. @@ -1049,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 @@ -1062,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. @@ -1335,11 +1365,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1367,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 * @@ -1406,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 // @@ -1470,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 @@ -1499,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 @@ -1541,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/ @@ -1570,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 @@ -1649,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 // @@ -1669,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 @@ -1703,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 @@ -1724,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 ============================== //============================================================================= @@ -1783,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 40661a358fea..72e25ad17be1 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index 7eaf80d3b00e..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. @@ -1060,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 @@ -1073,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. @@ -1346,11 +1376,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1417,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 // @@ -1481,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 @@ -1510,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 @@ -1552,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/ @@ -1581,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 @@ -1660,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 // @@ -1680,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 @@ -1714,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 @@ -1735,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 ============================== //============================================================================= @@ -1794,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 d632feba0dc1..faebc91eafe7 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index bafda134798a..1f739ee1dcf6 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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,7 +645,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 5000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } /** * Default Acceleration (change/s) change = mm/s @@ -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. @@ -1071,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 @@ -1084,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. @@ -1357,11 +1410,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1389,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 * @@ -1428,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 // @@ -1492,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 @@ -1521,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 @@ -1563,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/ @@ -1592,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 @@ -1671,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 // @@ -1691,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 @@ -1725,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 @@ -1746,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 ============================== //============================================================================= @@ -1805,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 45992cce41ef..cf6db9ac699e 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1588,27 +1632,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 +1673,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 f75125e7a2be..c5b24b1fa9e6 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -588,7 +639,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } /** * Default Acceleration (change/s) change = mm/s @@ -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. @@ -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, 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, 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', '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' } + * :{ '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/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index b8c1b5620f5b..8ca485cd36d5 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/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 904acfd3c931..07a5d3d5b11c 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -607,7 +654,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 5000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } /** * Default Acceleration (change/s) change = mm/s @@ -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. @@ -1080,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 @@ -1093,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. @@ -1366,11 +1419,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1398,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 * @@ -1437,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 // @@ -1501,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 @@ -1530,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 @@ -1572,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/ @@ -1601,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 @@ -1680,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 // @@ -1700,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 @@ -1734,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 @@ -1755,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 ============================== //============================================================================= @@ -1814,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 24aa8b1aeadc..8d4b9ec6abbe 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index e1d892c93387..c328cf87a6bb 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1071,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 @@ -1084,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. @@ -1357,11 +1410,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1389,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 * @@ -1428,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 // @@ -1492,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 @@ -1521,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 @@ -1563,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/ @@ -1592,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 @@ -1671,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 // @@ -1691,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 @@ -1725,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 @@ -1746,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 ============================== //============================================================================= @@ -1805,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 eb9818aeac0f..07445c608d52 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index 9d3d0db73b4f..23ea4079c722 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 @@ -1065,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 @@ -1078,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. @@ -1351,11 +1404,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1383,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 * @@ -1422,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 // @@ -1486,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 @@ -1515,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 @@ -1557,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/ @@ -1586,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 @@ -1665,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 // @@ -1685,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 @@ -1719,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 @@ -1740,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 ============================== //============================================================================= @@ -1799,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 e7befc767206..4bf16ad1bd8e 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h new file mode 100644 index 000000000000..277776f4f4c6 --- /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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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..48fadfe78c1a --- /dev/null +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -0,0 +1,1685 @@ +/** + * 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage + #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 + * 400 : Minimum for A5984 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, A5984, and 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 96e6fa7f4b47..7bc215cd1f6d 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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,7 +645,7 @@ * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ -#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 200, 10000 } +#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } /** * Default Acceleration (change/s) change = mm/s @@ -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. @@ -1071,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 @@ -1084,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. @@ -1357,11 +1410,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1389,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 * @@ -1428,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 // @@ -1492,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 @@ -1521,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 @@ -1563,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/ @@ -1592,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 @@ -1671,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 // @@ -1691,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 @@ -1725,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 @@ -1746,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 ============================== //============================================================================= @@ -1805,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 eb9818aeac0f..07445c608d52 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/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..2f713bc31d7b --- /dev/null +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -0,0 +1,1729 @@ +/** + * 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage + #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, A5984, and 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 f84f2e4df5c3..8e16ed8ee514 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1043,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 @@ -1056,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. @@ -1329,11 +1382,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1361,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 * @@ -1400,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 // @@ -1464,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 @@ -1493,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 @@ -1535,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/ @@ -1564,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 @@ -1643,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 // @@ -1663,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 @@ -1697,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 @@ -1718,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 ============================== //============================================================================= @@ -1777,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 205f9b2be32c..d6c603de00ac 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index 4ea9dad16f82..e0f4dffc5a3d 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1043,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 @@ -1056,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. @@ -1329,11 +1382,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1361,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 * @@ -1400,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 // @@ -1464,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 @@ -1493,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 @@ -1535,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/ @@ -1564,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 @@ -1643,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 // @@ -1663,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 @@ -1697,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 @@ -1718,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 ============================== //============================================================================= @@ -1777,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 d102c58b3e44..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. @@ -995,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 @@ -1021,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) //=========================================================================== @@ -1042,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 @@ -1076,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 @@ -1098,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. @@ -1371,11 +1383,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1403,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 * @@ -1442,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 // @@ -1506,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 @@ -1535,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 @@ -1577,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/ @@ -1606,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 @@ -1685,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 // @@ -1705,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 @@ -1739,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 @@ -1760,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 ============================== //============================================================================= @@ -1819,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 217676fe436f..b1d39d67d466 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,11 +1629,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) @@ -1597,23 +1638,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 @@ -1631,4 +1677,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 8c0ccf1738f1..07196bf793c1 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1076,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 @@ -1089,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. @@ -1362,11 +1415,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1433,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 // @@ -1497,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 @@ -1526,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 @@ -1568,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/ @@ -1597,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 @@ -1676,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 // @@ -1696,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 @@ -1730,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 @@ -1751,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 ============================== //============================================================================= @@ -1810,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 962c21ad97ad..e8c44864bc83 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 358b0cfe46f2..167365fbd07e 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1077,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 @@ -1090,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. @@ -1363,11 +1416,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1434,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 // @@ -1498,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 @@ -1527,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 @@ -1569,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/ @@ -1598,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 @@ -1677,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 // @@ -1697,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 @@ -1731,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 @@ -1752,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 ============================== //============================================================================= @@ -1811,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 8785c67b87af..d06dabec0c63 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1076,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 @@ -1089,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. @@ -1362,11 +1415,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1433,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 // @@ -1497,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 @@ -1526,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 @@ -1568,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/ @@ -1597,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 @@ -1676,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 // @@ -1696,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 @@ -1730,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 @@ -1751,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 ============================== //============================================================================= @@ -1810,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..0359c5f34990 --- /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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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..a895deb72f32 --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage + #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 + * 400 : Minimum for A5984 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, A5984, and 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..a92c6562853f --- /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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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..a895deb72f32 --- /dev/null +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage + #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 + * 400 : Minimum for A5984 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, A5984, and 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 0c4326eb58ed..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. @@ -1065,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 @@ -1078,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. @@ -1351,11 +1381,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1383,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 * @@ -1422,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 // @@ -1486,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 @@ -1515,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 @@ -1557,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/ @@ -1586,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 @@ -1665,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 // @@ -1685,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 @@ -1719,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 @@ -1740,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 ============================== //============================================================================= @@ -1799,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 1f4dfd5f91b0..89b1ea2134b1 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index 6002f2f7439b..748af05d2b1f 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,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 15 // manual calibration of thermistor in JGAurora A5 hotend #define TEMP_SENSOR_1 0 @@ -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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1072,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 @@ -1085,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. @@ -1358,11 +1411,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1429,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 // @@ -1493,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 @@ -1522,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 @@ -1564,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/ @@ -1593,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 @@ -1672,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 // @@ -1692,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 @@ -1726,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 @@ -1747,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 ============================== //============================================================================= @@ -1806,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 bc41b990f401..1750771c5512 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index 898d412c79f8..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. @@ -1081,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 @@ -1094,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. @@ -1367,11 +1397,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1438,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 // @@ -1502,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 @@ -1531,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 @@ -1573,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/ @@ -1602,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 @@ -1681,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 // @@ -1701,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 @@ -1735,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 @@ -1756,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 ============================== //============================================================================= @@ -1815,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 7aebd01bdaa5..8388c8036b0b 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -763,7 +828,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 +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 -#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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -944,23 +1044,12 @@ // @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 @@ -1006,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 @@ -1209,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 @@ -1280,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1586,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 @@ -1624,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/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index 2807f8bcac88..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. @@ -1043,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) //=========================================================================== @@ -1091,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 @@ -1113,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. @@ -1386,11 +1405,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1418,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 * @@ -1457,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 // @@ -1521,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 @@ -1550,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 @@ -1592,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/ @@ -1621,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 @@ -1700,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 // @@ -1720,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 @@ -1754,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 @@ -1775,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 ============================== //============================================================================= @@ -1834,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 7c65ff699017..c6e2dbac0a72 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index d780fdcfc0e1..6e6503c8e418 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1060,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 @@ -1073,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. @@ -1346,11 +1399,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1417,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 // @@ -1481,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 @@ -1510,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 @@ -1552,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/ @@ -1581,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 @@ -1660,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 // @@ -1680,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 @@ -1714,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 @@ -1735,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 ============================== //============================================================================= @@ -1794,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 e55d1d8917f4..4ddf4110d8fb 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index 6f5b82fda79f..b2a94cb90ad7 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1065,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 @@ -1078,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. @@ -1351,11 +1404,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1383,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 * @@ -1422,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 // @@ -1486,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 @@ -1515,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 @@ -1557,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/ @@ -1586,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 @@ -1665,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 // @@ -1685,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 @@ -1719,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 @@ -1740,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 ============================== //============================================================================= @@ -1799,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 b3f44c3e6c82..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. @@ -1065,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 @@ -1078,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. @@ -1351,11 +1381,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1383,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 * @@ -1422,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 // @@ -1486,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 @@ -1515,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 @@ -1557,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/ @@ -1586,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 @@ -1665,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 // @@ -1685,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 @@ -1719,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 @@ -1740,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 ============================== //============================================================================= @@ -1799,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 72917b9141d0..eafa371e25b3 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/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 f913fbb7e3d4..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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1377,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 484e52cd6469..d44547b4f871 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -473,7 +503,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 +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 @@ -556,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. * @@ -754,6 +795,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 +845,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -951,23 +1052,12 @@ // @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 +1103,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 +1273,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 +1331,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1593,27 +1637,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 +1678,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 bfb19394d277..737e34d04b99 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -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. @@ -1110,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 @@ -1123,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. @@ -1396,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, 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, 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', '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' } + * :{ '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 @@ -1428,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 * @@ -1467,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 // @@ -1531,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 @@ -1560,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 @@ -1602,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/ @@ -1631,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 @@ -1710,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 // @@ -1730,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 @@ -1764,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 @@ -1785,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 ============================== //============================================================================= @@ -1844,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 2a28de571fef..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. @@ -1061,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 @@ -1074,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. @@ -1347,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 @@ -1379,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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 8ae029ec9349..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. @@ -1059,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 @@ -1072,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. @@ -1345,11 +1375,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1377,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 * @@ -1416,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 // @@ -1480,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 @@ -1509,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 @@ -1551,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 52c2fafd28ab..68b9ad4e6866 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index 22fcbfe0216d..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. @@ -1074,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 @@ -1087,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. @@ -1360,11 +1390,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1392,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 * @@ -1431,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 // @@ -1495,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 @@ -1524,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 @@ -1566,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/ @@ -1595,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 @@ -1674,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 // @@ -1694,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 @@ -1728,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 @@ -1749,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 ============================== //============================================================================= @@ -1808,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 ed6290d1a279..272067bdc37b 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index a9ffdeb5be8d..34dda7bdbda6 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1064,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 @@ -1077,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. @@ -1350,11 +1402,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1421,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 // @@ -1485,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 @@ -1514,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 @@ -1556,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/ @@ -1585,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 @@ -1664,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 // @@ -1684,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 @@ -1718,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 @@ -1739,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 ============================== //============================================================================= @@ -1798,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..e17efa0b693c --- /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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 6b63dd0fa13d..22119f256775 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1092,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 @@ -1105,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. @@ -1378,11 +1431,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1410,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 * @@ -1449,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 // @@ -1513,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 @@ -1542,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 @@ -1584,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/ @@ -1613,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 @@ -1692,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 // @@ -1712,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 @@ -1746,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 @@ -1767,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 ============================== //============================================================================= @@ -1826,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 db8101419212..51e186be702d 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index fb65f5ed2851..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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1377,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 6d72365f557a..63dbed4216f9 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,125 +1044,80 @@ // @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 @@ -1209,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 @@ -1280,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1586,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 @@ -1624,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/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index 0504c31cb79f..00996550aa08 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1117,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 @@ -1130,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. @@ -1403,11 +1456,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1435,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 * @@ -1474,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 // @@ -1538,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 @@ -1567,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 @@ -1609,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/ @@ -1638,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 @@ -1717,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 // @@ -1737,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 @@ -1771,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 @@ -1792,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 ============================== //============================================================================= @@ -1851,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 932a4d258752..7e8804908ae0 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index 70dadfeabd59..e1994ea1d2af 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -972,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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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..c7fea3ee9729 --- /dev/null +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -0,0 +1,1685 @@ +/** + * 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage + #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 + * 400 : Minimum for A5984 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, A5984, and 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 0619dbd8023c..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. @@ -1061,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 @@ -1074,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. @@ -1104,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) @@ -1347,11 +1377,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 8e968f458549..9b88a0e47632 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1072,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 @@ -1085,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. @@ -1358,11 +1411,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1429,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 // @@ -1493,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 @@ -1522,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 @@ -1564,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/ @@ -1593,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 @@ -1672,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 // @@ -1692,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 @@ -1726,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 @@ -1747,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 ============================== //============================================================================= @@ -1806,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 cb43167cee3a..13d38e3d32eb 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 d387726ecbcf..3f41067f51d8 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index 05af2766101f..94436c52f15b 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1091,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 @@ -1104,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. @@ -1380,11 +1433,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1412,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 * @@ -1451,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 // @@ -1515,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 @@ -1544,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 @@ -1586,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/ @@ -1615,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 @@ -1694,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 // @@ -1714,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 @@ -1748,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 @@ -1771,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 ============================== //============================================================================= @@ -1830,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 da3717be45ce..d27958ab00a7 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 @@ -341,6 +343,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -442,8 +446,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 +505,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 +526,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 +585,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 +790,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 +840,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -956,23 +1047,12 @@ // @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 @@ -1018,62 +1098,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 @@ -1221,32 +1268,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 @@ -1292,7 +1326,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1598,27 +1632,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 @@ -1636,4 +1673,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 1f4d332bb8fb..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 @@ -1061,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 @@ -1074,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. @@ -1347,11 +1377,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 @@ -1805,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 04ca9efebf12..23e6f8fb5a2b 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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=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 @@ -1623,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/Velleman/K8400/Dual-head/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h index 97d0a9b36306..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 @@ -1061,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 @@ -1074,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. @@ -1347,11 +1377,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1511,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 @@ -1805,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 05930aa05cb0..24dfbf5f53c3 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -913,7 +961,7 @@ //=========================================================================== //=============================== Bed Leveling ============================== //=========================================================================== -// @section bedlevel +// @section calibrate /** * Choose one of the options below to enable G29 Bed Leveling. The parameters @@ -1040,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) //=========================================================================== @@ -1068,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 @@ -1081,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. @@ -1354,11 +1410,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1425,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 // @@ -1489,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 @@ -1518,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 @@ -1560,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/ @@ -1589,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 @@ -1668,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 // @@ -1691,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 @@ -1725,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 @@ -1746,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 ============================== //============================================================================= @@ -1805,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 a17c69209343..d9652b28a789 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 @@ -1625,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/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index 6e53e29ecbfa..16bb51cb6d98 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1061,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 @@ -1074,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. @@ -1347,11 +1400,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1418,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 // @@ -1482,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 @@ -1517,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 @@ -1553,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/ @@ -1582,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 @@ -1661,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 // @@ -1681,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 @@ -1715,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 @@ -1736,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 ============================== //============================================================================= @@ -1795,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 e38d504e486d..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 @@ -615,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 ============================ //============================================================================= @@ -698,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 ============================= @@ -758,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. @@ -787,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 @@ -830,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. @@ -907,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 @@ -945,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. @@ -1148,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) //=========================================================================== @@ -1171,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 @@ -1212,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 @@ -1225,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. @@ -1388,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 @@ -1497,11 +1512,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1529,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 * @@ -1568,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 // @@ -1633,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 @@ -1662,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 @@ -1704,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/ @@ -1733,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 @@ -1812,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 // @@ -1832,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 @@ -1866,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 @@ -1887,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 ============================== //============================================================================= @@ -1946,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 4fc0e364ec26..8f32a325294d 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 87d462123312..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 @@ -615,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 ============================ //============================================================================= @@ -698,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 ============================= @@ -758,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. @@ -787,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 @@ -830,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. @@ -868,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 @@ -907,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 @@ -945,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. @@ -1194,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 @@ -1207,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. @@ -1370,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 @@ -1479,11 +1511,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1511,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 * @@ -1550,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 // @@ -1615,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 @@ -1644,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 @@ -1686,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/ @@ -1715,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 @@ -1794,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 // @@ -1814,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 @@ -1848,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 @@ -1869,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 ============================== //============================================================================= @@ -1928,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 bf4ec5dba1c0..9b5c3949c66f 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 2cccb61df475..11b40f71ed65 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 @@ -617,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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -698,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 ============================= @@ -758,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. @@ -787,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 @@ -830,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. @@ -868,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 @@ -907,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 @@ -945,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. @@ -1117,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 @@ -1193,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 @@ -1206,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. @@ -1369,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 @@ -1478,11 +1534,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1510,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 * @@ -1549,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 // @@ -1613,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 @@ -1642,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 @@ -1684,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/ @@ -1713,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 @@ -1792,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 // @@ -1812,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 @@ -1846,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 @@ -1867,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 ============================== //============================================================================= @@ -1926,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 eb471b709d44..017d5222cf3a 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 ce39e9e415f2..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 @@ -626,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 ============================ //============================================================================= @@ -703,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 ============================= @@ -763,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. @@ -792,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 @@ -835,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. @@ -909,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 @@ -947,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. @@ -1150,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) //=========================================================================== @@ -1198,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 @@ -1220,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. @@ -1383,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 @@ -1492,11 +1514,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1524,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 * @@ -1563,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 // @@ -1627,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 @@ -1656,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 @@ -1698,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/ @@ -1727,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 @@ -1806,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 // @@ -1826,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 @@ -1860,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 @@ -1881,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 ============================== //============================================================================= @@ -1940,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 273622447ff8..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 @@ -611,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 ============================ //============================================================================= @@ -688,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 ============================= @@ -748,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. @@ -777,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 @@ -820,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. @@ -894,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 @@ -932,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. @@ -1181,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 @@ -1194,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. @@ -1357,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 @@ -1466,11 +1499,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1498,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 * @@ -1537,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 // @@ -1601,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 @@ -1630,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 @@ -1672,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/ @@ -1701,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 @@ -1780,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 // @@ -1800,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 @@ -1834,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 @@ -1855,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 ============================== //============================================================================= @@ -1914,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 eb471b709d44..017d5222cf3a 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 20abb6fce3fb..add9a040fe2b 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 @@ -607,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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -688,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 ============================= @@ -748,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. @@ -777,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 @@ -820,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. @@ -858,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 @@ -897,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 @@ -935,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. @@ -1184,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 @@ -1197,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. @@ -1360,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 @@ -1469,11 +1524,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1501,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 * @@ -1540,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 // @@ -1604,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 @@ -1633,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 @@ -1675,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/ @@ -1704,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 @@ -1783,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 // @@ -1803,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 @@ -1837,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 @@ -1858,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 ============================== //============================================================================= @@ -1917,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 eb471b709d44..017d5222cf3a 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 2cbe131481e4..f3f61ccd5dd2 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 @@ -593,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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -681,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 ============================= @@ -741,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. @@ -770,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 @@ -816,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. @@ -896,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 @@ -935,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. @@ -1184,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 @@ -1197,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. @@ -1360,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 @@ -1469,11 +1525,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1501,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 * @@ -1540,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 // @@ -1604,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 @@ -1633,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 @@ -1675,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/ @@ -1704,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 @@ -1783,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 // @@ -1803,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 @@ -1837,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 @@ -1858,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 ============================== //============================================================================= @@ -1917,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 ea5c5da504cf..b898c8ca6c50 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 @@ -333,6 +345,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -436,8 +450,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 +509,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 +530,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 +589,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 +794,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 +844,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -950,23 +1051,12 @@ // @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 @@ -1012,62 +1102,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 @@ -1215,32 +1272,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 @@ -1286,7 +1330,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1592,27 +1636,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 @@ -1630,4 +1677,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 b98b5f736105..a4a0cc02a180 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 @@ -611,10 +621,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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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 ============================ //============================================================================= @@ -691,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 ============================= @@ -751,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. @@ -780,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 @@ -823,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. @@ -897,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 @@ -935,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. @@ -1184,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 @@ -1197,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. @@ -1360,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 @@ -1469,11 +1525,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1501,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 * @@ -1540,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 // @@ -1604,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 @@ -1633,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 @@ -1675,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/ @@ -1704,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 @@ -1783,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 // @@ -1803,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 @@ -1837,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 @@ -1858,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 ============================== //============================================================================= @@ -1917,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 c35d5dfb5694..919c6d3e9939 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -431,8 +445,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 +504,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 +525,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 +584,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 +789,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 +839,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -945,23 +1046,12 @@ // @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 +1097,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 +1267,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 +1325,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1587,27 +1631,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 +1672,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 e3e4f45d931f..1389e3220dca 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1041,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 @@ -1073,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 @@ -1095,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. @@ -1368,11 +1414,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1400,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 * @@ -1439,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 // @@ -1503,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 @@ -1532,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 @@ -1574,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/ @@ -1603,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 @@ -1682,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 // @@ -1702,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 @@ -1736,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 @@ -1757,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 ============================== //============================================================================= @@ -1816,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 96f21ce3ca1a..ef0078cfb357 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 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 @@ -1623,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/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index 94af68045ea4..2c1c9d9cf8d1 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1064,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 @@ -1077,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. @@ -1350,11 +1403,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1421,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 // @@ -1485,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 @@ -1514,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 @@ -1556,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/ @@ -1585,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 @@ -1664,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 // @@ -1684,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 @@ -1718,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 @@ -1739,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 ============================== //============================================================================= @@ -1798,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 9db0c555914c..ad1e9fc12b67 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,7 +502,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 +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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -943,23 +1044,12 @@ // @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 @@ -1005,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 @@ -1208,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 @@ -1279,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1585,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 @@ -1623,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/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index 607631b2f3a5..2c9c69e84a50 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1062,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 @@ -1075,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. @@ -1201,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 @@ -1348,11 +1402,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1419,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 // @@ -1483,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 @@ -1512,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 @@ -1554,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/ @@ -1583,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 @@ -1662,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 // @@ -1682,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 @@ -1716,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 @@ -1737,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 ============================== //============================================================================= @@ -1796,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 61f7ce2a1a2f..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. @@ -1056,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 @@ -1069,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. @@ -1342,11 +1372,10 @@ * * 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, 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', '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' } + * :{ '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 +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 * @@ -1413,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 // @@ -1477,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 @@ -1506,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 @@ -1548,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/ @@ -1577,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 @@ -1656,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 // @@ -1676,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 @@ -1710,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 @@ -1731,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 ============================== //============================================================================= @@ -1790,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 fc8b2af43f3e..2afe00a94569 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -472,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 @@ -493,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 @@ -555,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. * @@ -746,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 // @@ -772,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -918,7 +1019,6 @@ // 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_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. @@ -944,23 +1044,12 @@ // @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 @@ -1006,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 @@ -1209,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 @@ -1280,7 +1323,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1586,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 @@ -1624,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/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index a2f27f41d583..fb1ad71f884d 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, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, + * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, + * TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, + * TMC5130, TMC5130_STANDALONE + * :['A4988', 'A5984', '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. @@ -1066,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 @@ -1079,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. @@ -1352,11 +1405,10 @@ * * 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, 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', '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' } + * :{ '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 @@ -1384,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 * @@ -1423,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 // @@ -1487,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 @@ -1516,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 @@ -1558,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/ @@ -1587,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 @@ -1666,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 // @@ -1686,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 @@ -1720,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 @@ -1741,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 ============================== //============================================================================= @@ -1800,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 e7ce5cc26e23..58bf59ca62ca 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 @@ -328,6 +340,8 @@ // 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 X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage + #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #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 @@ -429,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 @@ -473,7 +503,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 +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 @@ -556,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. * @@ -747,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 // @@ -773,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 + * 400 : Minimum for A5984 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, A5984, and 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 @@ -944,23 +1045,12 @@ // @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 @@ -1006,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,25 +1273,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 @@ -1280,7 +1324,7 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 -#endif +#endif // L6470 /** * TWI/I2C BUS @@ -1586,27 +1630,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 @@ -1624,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/core/boards.h b/Marlin/src/core/boards.h index 248f74cb6c42..d35b702fde8b 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -58,10 +58,12 @@ #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_KFB_2 136 // Bigtreetech or BIQU KFB2.0 #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) #define BOARD_RIGIDBOARD 42 // Invent-A-Part RigidBoard @@ -75,7 +77,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 +105,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 +127,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 +144,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 +155,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 // @@ -170,10 +174,12 @@ #define BOARD_SELENA_COMPACT 1754 // Selena Compact (Power outputs: Hotend0, Hotend1, Bed0, Bed1, Fan0, Fan1) #define BOARD_COHESION3D_REMIX 1755 // Cohesion3D ReMix #define BOARD_COHESION3D_MINI 1756 // Cohesion3D Mini +#define BOARD_SMOOTHIEBOARD 1757 // Smoothieboard // // 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 +200,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..e632062fd354 --- /dev/null +++ b/Marlin/src/core/drivers.h @@ -0,0 +1,70 @@ +/** + * 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 A5984 0x002 +#define DRV8825 0x003 +#define LV8729 0x004 +#define L6470 0x105 +#define TB6560 0x006 +#define TB6600 0x007 +#define TMC2100 0x008 +#define TMC2130 0x109 +#define TMC2130_STANDALONE 0x009 +#define TMC2208 0x10A +#define TMC2208_STANDALONE 0x00A +#define TMC26X 0x10B +#define TMC26X_STANDALONE 0x00B +#define TMC2660 0x10C +#define TMC2660_STANDALONE 0x00C + +#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) +#define AXIS_DRIVER_TYPE_X2(T) (ENABLED(X_DUAL_STEPPER_DRIVERS) || ENABLED(DUAL_X_CARRIAGE)) && AXIS_DRIVER_TYPE(X2,T) +#define AXIS_DRIVER_TYPE_Y2(T) (ENABLED(Y_DUAL_STEPPER_DRIVERS) && AXIS_DRIVER_TYPE(Y2,T)) +#define AXIS_DRIVER_TYPE_Z2(T) (ENABLED(Z_DUAL_STEPPER_DRIVERS) && AXIS_DRIVER_TYPE(Z2,T)) +#define AXIS_DRIVER_TYPE_E0(T) (E_STEPPERS > 0 && AXIS_DRIVER_TYPE(E0,T)) +#define AXIS_DRIVER_TYPE_E1(T) (E_STEPPERS > 1 && AXIS_DRIVER_TYPE(E1,T)) +#define AXIS_DRIVER_TYPE_E2(T) (E_STEPPERS > 2 && AXIS_DRIVER_TYPE(E2,T)) +#define AXIS_DRIVER_TYPE_E3(T) (E_STEPPERS > 3 && AXIS_DRIVER_TYPE(E3,T)) +#define AXIS_DRIVER_TYPE_E4(T) (E_STEPPERS > 4 && AXIS_DRIVER_TYPE(E4,T)) + +#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)) + +#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 03752a3d1c3e..3e808d56beb5 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,529 @@ * * 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(); + #ifndef CPU_32_BIT + CRITICAL_SECTION_END; + #endif } -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. + #if ENABLED(MAX7219_DEBUG_PRINTER_ALIVE) + static uint8_t refresh_cnt; // = 0 + constexpr uint16_t refresh_limit = 5; + static millis_t next_blink = 0; + 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 + + // 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(); } #if ENABLED(MAX7219_DEBUG_PRINTER_ALIVE) - static millis_t next_blink = 0; - if (ELAPSED(millis(), next_blink)) { - Max7219_LED_Toggle(7, 7); - next_blink = millis() + 750; + if (do_blink) { + Max7219_LED_Toggle(MAX7219_X_LEDS - 1, MAX7219_Y_LEDS - 1); + next_blink = ms + 1000; } #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); + #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; - if (head < 8) - Max7219_LED_On(MAX7219_DEBUG_STEPPER_HEAD, head); - else - Max7219_LED_On(MAX7219_DEBUG_STEPPER_HEAD + 1, head - 8); + last_tail_cnt = tail; } - #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); + #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 - 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); - } #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 c5d575d40d22..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; @@ -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. @@ -1389,7 +1390,7 @@ const float rawx = mesh_index_to_xpos(location.x_index), rawy = mesh_index_to_ypos(location.y_index); - //if (!position_is_reachable(rawx, rawy)) break; // SHOULD NOT OCCUR because find_closest_mesh_point_of_type will only return reachable + 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 with probe clearance @@ -1404,8 +1405,8 @@ lcd_refresh(); float new_z = z_values[location.x_index][location.y_index]; - if (isnan(new_z)) new_z = 0.0; // Invalid points begin at 0 - 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); @@ -1464,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; @@ -1501,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; @@ -1564,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; @@ -1619,15 +1627,18 @@ zig_zag ^= true; } - STOW_PROBE(); } + 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 = ["); @@ -1706,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; @@ -1736,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); @@ -1773,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++) @@ -1793,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 ed925101036d..85ed86838eb8 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp @@ -102,7 +102,7 @@ FINAL_MOVE: // 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.0 / (MESH_X_DIST)); + 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 ]), @@ -112,7 +112,7 @@ if (cell_dest_xi >= GRID_MAX_POINTS_X - 1) z1 = z2 = 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.0 / (MESH_Y_DIST)), + 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; // Undefined parts of the Mesh in z_values[][] are NAN. @@ -262,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 "); } @@ -319,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--; } @@ -342,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; // Too far! Exit the loop and go 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) @@ -387,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); @@ -437,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] = { @@ -497,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); @@ -519,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) @@ -536,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 966636654400..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(); } /** @@ -366,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) @@ -533,7 +531,7 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le // 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 diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp index 72b2504cc052..0591faec60f8 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 @@ -68,7 +70,10 @@ bool Power::is_power_needed() { ) return true; HOTEND_LOOP() if (thermalManager.degTargetHotend(e) > 0) return true; - if (thermalManager.degTargetBed() > 0) return true; + + #if HAS_HEATED_BED + if (thermalManager.degTargetBed() > 0) return true; + #endif return false; } @@ -87,16 +92,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 28e356bead1c..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,14 +493,14 @@ 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 S2 save software endstop state @@ -473,7 +508,7 @@ void GcodeSuite::G29() { enable_soft_endstops = soft_endstops_enabled; #endif // Move close to the bed before the first point - do_blocking_move_to_z(Z_MIN_POS); + do_blocking_move_to_z(0); } else { @@ -555,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 { @@ -581,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 { @@ -936,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. @@ -956,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 de86edfdeee7..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) { @@ -105,10 +108,10 @@ void GcodeSuite::G29() { enable_soft_endstops = soft_endstops_enabled; #endif // Move close to the bed before the first point - do_blocking_move_to_z(Z_MIN_POS); + 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; @@ -127,9 +130,9 @@ void GcodeSuite::G29() { } 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 7202d534e76a..e9ae4eca44f9 100644 --- a/Marlin/src/gcode/calibrate/G33.cpp +++ b/Marlin/src/gcode/calibrate/G33.cpp @@ -72,12 +72,10 @@ enum CalEnum : char { // the 7 main calibration points - float lcd_probe_pt(const float &rx, const float &ry); -bool ac_home() { +void ac_home() { endstops.enable(true); - if (!home_delta()) - return false; + home_delta(); endstops.not_homing(); - return true; } void ac_setup(const bool reset_bed) { @@ -85,7 +83,7 @@ void ac_setup(const bool reset_bed) { tool_change(0, 0, true); #endif - stepper.synchronize(); + planner.synchronize(); setup_for_endstop_or_probe_move(); #if HAS_LEVELING @@ -187,7 +185,7 @@ static float std_dev_points(float z_pt[NPP + 1], const bool _0p_cal, const bool S2 += sq(z_pt[rad]); N++; } - return round(SQRT(S2 / N) * 1000.0) / 1000.0 + 0.00001; + return LROUND(SQRT(S2 / N) * 1000.0) / 1000.0 + 0.00001; } } return 0.00001; @@ -206,7 +204,7 @@ static float calibration_probe(const float &nx, const float &ny, const bool stow #endif } -#if HAS_BED_PROBE +#if HAS_BED_PROBE && ENABLED(ULTIPANEL) static float probe_z_shift(const float center) { STOW_PROBE(); endstops.enable_z_probe(false); @@ -247,7 +245,7 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi } if (_7p_calibration) { // probe extra center points - const float start = _7p_9_center ? _CA + _7P_STEP / 3.0 : _7p_6_center ? _CA : __C, + 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)), @@ -279,8 +277,8 @@ static bool probe_calibration_points(float z_pt[NPP + 1], const int8_t probe_poi 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_pt[uint8_t(round(rad - interpol + NPP - 1)) % NPP + 1] += z_temp * sq(cos(RADIANS(interpol * 90))); - z_pt[uint8_t(round(rad - 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; } @@ -361,7 +359,7 @@ static float auto_tune_h() { float h_fac = 0.0; h_fac = r_quot / (2.0 / 3.0); - h_fac = 1.0 / h_fac; // (2/3)/CR + h_fac = 1.0f / h_fac; // (2/3)/CR return h_fac; } @@ -483,7 +481,7 @@ void GcodeSuite::G33() { _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; - const static char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h"; + 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 @@ -519,22 +517,18 @@ void GcodeSuite::G33() { } // Report settings - - const char *checkingac = PSTR("Checking... AC"); + 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(); - char mess[11]; - strcpy_P(mess, checkingac); - lcd_setstatus(mess); + lcd_setstatusPGM(checkingac); print_calibration_settings(_endstop_results, _angle_results); ac_setup(!_0p_calibration && !_1p_calibration); - if (!_0p_calibration) - if (!ac_home()) return; + if (!_0p_calibration) ac_home(); do { // start iterations @@ -594,7 +588,7 @@ void GcodeSuite::G33() { switch (probe_points) { case -1: - #if HAS_BED_PROBE + #if HAS_BED_PROBE && ENABLED(ULTIPANEL) zprobe_zoffset += probe_z_shift(z_at_pt[CEN]); #endif @@ -686,9 +680,9 @@ 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_calibration_settings(_endstop_results, _angle_results); serialprintPGM(save_message); @@ -722,12 +716,12 @@ 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); } - if (!ac_home()) return; + ac_home(); } while (((zero_std_dev < test_precision && iterations < 31) || iterations <= force_iterations) && zero_std_dev > calibration_precision); 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/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 3fc4d70fc432..be03c736c9c9 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -74,7 +74,7 @@ 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 @@ -93,14 +93,14 @@ void GcodeSuite::M600() { #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]); // Slow load filament constexpr float slow_load_length = FILAMENT_CHANGE_SLOW_LOAD_LENGTH; // Fast load filament - const float fast_load_length = FABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) + 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', 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 eeab8abff59c..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. */ @@ -74,18 +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 constexpr float slow_load_length = FILAMENT_CHANGE_SLOW_LOAD_LENGTH; - const float fast_load_length = FABS(parser.seen('L') ? parser.value_axis_units(E_AXIS) + 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 20b93af186e6..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,7 +176,11 @@ 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 @@ -190,8 +235,14 @@ void GcodeSuite::process_parsed_command() { case 28: G28(false); break; // G28: Home all axes, one at a time #if HAS_LEVELING - case 29: G29(); break; // G29: Bed leveling calibration - #endif + 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(); break; // G30: Single Z probe @@ -224,6 +275,8 @@ void GcodeSuite::process_parsed_command() { #if ENABLED(DEBUG_GCODE_PARSER) case 800: parser.debug(); break; // G800: GCode Parser Test for G #endif + + default: parser.unknown_command_error(); break; } break; @@ -312,7 +365,7 @@ void GcodeSuite::process_parsed_command() { case 113: M113(); break; // M113: Set Host Keepalive interval #endif - #if HAS_HEATER_BED && HAS_TEMP_BED + #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 @@ -544,6 +597,10 @@ void GcodeSuite::process_parsed_command() { 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. #endif @@ -602,6 +659,8 @@ void GcodeSuite::process_parsed_command() { #endif case 999: M999(); break; // M999: Restart after being Stopped + + default: parser.unknown_command_error(); break; } break; @@ -612,7 +671,10 @@ void GcodeSuite::process_parsed_command() { KEEPALIVE_STATE(NOT_BUSY); - ok_to_send(); + #if ENABLED(USE_EXECUTE_COMMANDS_IMMEDIATE) + if (!no_ok) + #endif + ok_to_send(); } /** @@ -631,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 c8b072a23885..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) @@ -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 674ad6b80248..1bd132a3a6fa 100644 --- a/Marlin/src/gcode/host/M118.cpp +++ b/Marlin/src/gcode/host/M118.cpp @@ -25,7 +25,7 @@ /** * 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() { 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.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 e00a12cd4cb0..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 @@ -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 4f61dd1ec673..9c7f4818265d 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 @@ -75,6 +85,18 @@ #define Y_MIN_BED (Y_CENTER - (Y_BED_SIZE) / 2) #define Y_MAX_BED (Y_CENTER + (Y_BED_SIZE) / 2) +/** + * Dual X Carriage + */ +#if ENABLED(DUAL_X_CARRIAGE) + #ifndef X1_MIN_POS + #define X1_MIN_POS X_MIN_POS + #endif + #ifndef X1_MAX_POS + #define X1_MAX_POS X_BED_SIZE + #endif +#endif + /** * CoreXY, CoreXZ, and CoreYZ - and their reverse */ @@ -166,11 +188,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 +227,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 +234,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 +294,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 +315,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 +331,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 +347,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 +363,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 +379,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 -#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)) + #define HEATER_CHAMBER_USES_THERMISTOR #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 +421,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 +438,65 @@ #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(A5984) + #define MINIMUM_STEPPER_DIR_DELAY 400 + #elif HAS_DRIVER(A4988) + #define MINIMUM_STEPPER_DIR_DELAY 200 + #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || 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) || HAS_DRIVER(A5984) + #define MINIMUM_STEPPER_PULSE 1 + #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || 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(TMC2660) || 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 +728,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 +782,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) +#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) + #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 +813,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 +835,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 +882,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 +973,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 +1014,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 +1115,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 @@ -1116,10 +1199,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 @@ -1156,15 +1239,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 @@ -1288,21 +1371,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 @@ -1330,7 +1410,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) @@ -1342,36 +1422,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) @@ -1444,4 +1494,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 58f67af7b929..539726e4056e 100644 --- a/Marlin/src/inc/MarlinConfig.h +++ b/Marlin/src/inc/MarlinConfig.h @@ -28,11 +28,14 @@ #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_PATH(../HAL, SanityCheck.h) // Include all core headers diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h index c4f1ec6d3975..7f9b50eb0135 100644 --- a/Marlin/src/inc/MarlinConfigPre.h +++ b/Marlin/src/inc/MarlinConfigPre.h @@ -26,12 +26,12 @@ #include "../HAL/platforms.h" #include "../core/boards.h" #include "../core/macros.h" +#include "../core/types.h" #include "Version.h" #include "../../Configuration.h" #include "Conditionals_LCD.h" +#include "../core/drivers.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 f930530d768d..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." @@ -130,7 +133,7 @@ #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) @@ -262,14 +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 /** @@ -312,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 */ @@ -454,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 @@ -792,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 /** @@ -905,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 @@ -936,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 @@ -982,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 /** @@ -1136,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 */ @@ -1215,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) @@ -1236,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) @@ -1257,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) @@ -1409,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 ) \ @@ -1539,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 @@ -1700,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_ISO10646_1.h b/Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h index b3aca0fc7e8a..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,26 +19,26 @@ * along with this program. If not, see . * */ - -#include +#include #if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7) - // reduced font (only sysmbols 1 - 127) - saves about 1278 bytes of FLASH + // reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH /* - Fontname: -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0 - Copyright: + 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=10 x= 0 y=-2 + 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=-1 - X Font ascent = 7 descent=-1 + 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[1302] U8G_FONT_SECTION(".progmem.ISO10646_1_5x7") = { - 0x00,0x06,0x0a,0x00,0xfe,0x07,0x02,0x22,0x03,0xb1,0x01,0x7f,0xff,0x08,0xfe,0x07, - 0xff,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, + +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, @@ -48,95 +48,96 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[1302] U8G_FONT_SECTION(".progmem.ISO1064 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,0x02,0x02,0x06,0x01,0x05,0xa0,0xa0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0x00, - 0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0xc8,0x10, - 0x20,0x40,0x98,0x18,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0x90,0xa0,0x40,0xa8,0x90, - 0x68,0x02,0x03,0x03,0x06,0x01,0x04,0xc0,0x40,0x80,0x03,0x07,0x07,0x06,0x01,0x00, - 0x20,0x40,0x80,0x80,0x80,0x40,0x20,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x20, - 0x20,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0xa8,0x70,0xa8,0x20,0x05, - 0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03,0x03,0x06,0x02,0xff, - 0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02,0x02,0x06,0x02,0x00, - 0xc0,0xc0,0x05,0x05,0x05,0x06,0x00,0x01,0x08,0x10,0x20,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, - 0x70,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x10,0x20,0x10,0x08,0x08, - 0xf0,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,0x20,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,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x02,0xff, - 0xc0,0xc0,0x00,0xc0,0x40,0x80,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x40,0x80, - 0x40,0x20,0x10,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8,0x04,0x07,0x07,0x06, - 0x01,0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x08,0x10,0x20,0x00,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x08,0x68, - 0xa8,0x70,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,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xe0, - 0x90,0x88,0x88,0x88,0x90,0xe0,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,0xb8,0x88,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,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,0x78,0x80,0x80,0x70,0x08,0x08,0xf0,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,0x88,0x50,0x20, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0xa8,0x50,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10, - 0x20,0x40,0x80,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x80,0x80,0x80,0x80,0x80, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x01,0x80,0x40,0x20,0x10,0x08,0x03,0x07,0x07,0x06, - 0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x04,0x20, - 0x50,0x88,0x05,0x01,0x01,0x06,0x00,0x00,0xf8,0x02,0x02,0x02,0x06,0x02,0x05,0x80, - 0x40,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06, - 0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x68,0x98,0x88,0x88, - 0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0x30,0x48,0xe0,0x40,0x40,0x40,0x40,0x05,0x06,0x06,0x06,0x00,0xff,0x70, - 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xb0,0xc8,0x88, - 0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x03, - 0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x04,0x07,0x07, - 0x06,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x03,0x07,0x07,0x06,0x01,0x00, + 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,0x06,0x06,0x06,0x00,0xff,0xf0,0x88, - 0x88,0xf0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,0x78,0x88,0x88,0x78,0x08,0x08, - 0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xe0,0x40, - 0x40,0x48,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05, - 0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x88,0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05, - 0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80, - 0x40,0x40,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x05,0x02,0x02, - 0x06,0x00,0x03,0x68,0x90,0xff}; - + 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 (sysmbols 1 - 255) + // extended (original) font (symbols 1 - 255) /* - Fontname: -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0 - Copyright: + 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= 7 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w= 6 h=10 x= 0 y=-2 + 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=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 9 descent=-2 + 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[2580] U8G_FONT_SECTION(".progmem.ISO10646_1_5x7") = { - 0x00,0x06,0x0a,0x00,0xfe,0x07,0x02,0x22,0x03,0xb1,0x01,0xff,0xff,0x09,0xfe,0x07, - 0xff,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, +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, @@ -146,156 +147,160 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[2580] U8G_FONT_SECTION(".progmem.ISO1064 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,0x02,0x02,0x06,0x01,0x05,0xa0,0xa0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0x00, - 0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0xc8,0x10, - 0x20,0x40,0x98,0x18,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0x90,0xa0,0x40,0xa8,0x90, - 0x68,0x02,0x03,0x03,0x06,0x01,0x04,0xc0,0x40,0x80,0x03,0x07,0x07,0x06,0x01,0x00, - 0x20,0x40,0x80,0x80,0x80,0x40,0x20,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x20, - 0x20,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0xa8,0x70,0xa8,0x20,0x05, - 0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03,0x03,0x06,0x02,0xff, - 0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02,0x02,0x06,0x02,0x00, - 0xc0,0xc0,0x05,0x05,0x05,0x06,0x00,0x01,0x08,0x10,0x20,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, - 0x70,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x10,0x20,0x10,0x08,0x08, - 0xf0,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,0x20,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,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x06,0x06,0x06,0x02,0xff, - 0xc0,0xc0,0x00,0xc0,0x40,0x80,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x40,0x80, - 0x40,0x20,0x10,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8,0x04,0x07,0x07,0x06, - 0x01,0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x08,0x10,0x20,0x00,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x08,0x68, - 0xa8,0x70,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,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xe0, - 0x90,0x88,0x88,0x88,0x90,0xe0,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,0xb8,0x88,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,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,0x78,0x80,0x80,0x70,0x08,0x08,0xf0,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,0x88,0x50,0x20, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0xa8,0x50,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10, - 0x20,0x40,0x80,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x80,0x80,0x80,0x80,0x80, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x01,0x80,0x40,0x20,0x10,0x08,0x03,0x07,0x07,0x06, - 0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x04,0x20, - 0x50,0x88,0x05,0x01,0x01,0x06,0x00,0x00,0xf8,0x02,0x02,0x02,0x06,0x02,0x05,0x80, - 0x40,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06, - 0x00,0x00,0x80,0x80,0xb0,0xc8,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x68,0x98,0x88,0x88, - 0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0x30,0x48,0xe0,0x40,0x40,0x40,0x40,0x05,0x06,0x06,0x06,0x00,0xff,0x70, - 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xb0,0xc8,0x88, - 0x88,0x88,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x03, - 0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x04,0x07,0x07, - 0x06,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x03,0x07,0x07,0x06,0x01,0x00, + 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,0x06,0x06,0x06,0x00,0xff,0xf0,0x88, - 0x88,0xf0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff,0x78,0x88,0x88,0x78,0x08,0x08, - 0x05,0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xe0,0x40, - 0x40,0x48,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05, - 0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x88,0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05, - 0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80, - 0x40,0x40,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x05,0x02,0x02, - 0x06,0x00,0x03,0x68,0x90,0xff,0x05,0x09,0x09,0x06,0x00,0x00,0x30,0x48,0x40,0xf0, - 0x40,0xf0,0x40,0x48,0x30,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 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, - 0xff,0xff,0xff,0xff,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80, - 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05, - 0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x40,0xe0,0x40,0x50,0xa8,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x70,0x50,0x70,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0x20, - 0xf8,0x20,0xf8,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80, - 0x80,0x05,0x08,0x08,0x06,0x00,0x00,0x30,0x48,0x20,0x50,0x50,0x20,0x90,0x60,0x03, - 0x01,0x01,0x06,0x01,0x07,0xa0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0xb8,0xb8, - 0xb8,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x01,0x70,0x08,0x78,0x88,0x78,0x00,0xf8, - 0x05,0x05,0x05,0x06,0x00,0x01,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00, - 0x01,0xf8,0x08,0x08,0x02,0x02,0x02,0x06,0x02,0x06,0x40,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf8,0x88,0xa8,0x88,0x98,0xa8,0xf8,0x05,0x01,0x01,0x06,0x00,0x06,0xf8, - 0x04,0x04,0x04,0x06,0x00,0x03,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0x20,0x20,0xf8,0x20,0x20,0x00,0xf8,0x04,0x05,0x05,0x06,0x00,0x03,0x60,0x90,0x20, - 0x40,0xf0,0x03,0x05,0x05,0x06,0x00,0x03,0xe0,0x20,0xe0,0x20,0xe0,0x02,0x02,0x02, - 0x06,0x02,0x06,0x40,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x98, - 0xe8,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x98,0x98,0x78,0x18,0x18,0x18, - 0x02,0x02,0x02,0x06,0x02,0x02,0xc0,0xc0,0x02,0x02,0x02,0x06,0x02,0xff,0x40,0x80, - 0x03,0x05,0x05,0x06,0x00,0x03,0x40,0xc0,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, - 0x01,0x70,0x88,0x88,0x88,0x70,0x00,0xf8,0x05,0x05,0x05,0x06,0x00,0x01,0xa0,0x50, - 0x28,0x50,0xa0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa8,0x58,0xb8,0x08,0x08, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xb8,0x48,0x98,0x20,0x38,0x05,0x08,0x08, - 0x06,0x00,0x00,0xc0,0x40,0xc0,0x48,0xd8,0x38,0x08,0x08,0x05,0x07,0x07,0x06,0x00, - 0x00,0x20,0x00,0x20,0x40,0x80,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, - 0x00,0x70,0x88,0xf8,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70, - 0x88,0xf8,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0xf8, - 0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,0x00,0x70,0x88,0xf8,0x88,0x88, - 0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x05,0x08, - 0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x70,0x88,0xf8,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x38,0x60,0xa0,0xb8,0xe0,0xa0,0xb8,0x05,0x08,0x08,0x06,0x00,0xff,0x70, - 0x88,0x80,0x80,0x88,0x70,0x20,0x60,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, - 0xf8,0x80,0xf0,0x80,0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x08,0x10,0x00,0xf8,0x80, - 0xf0,0x80,0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80,0xf0,0x80, - 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0xf0,0x80,0xf8,0x03,0x08, - 0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x08,0x08,0x06, - 0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00, - 0x40,0xa0,0x00,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00, - 0xe0,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48, - 0x48,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90,0x00,0x88,0xc8,0xa8,0x98,0x88, - 0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x70,0x88,0x88,0x88,0x88,0x70,0x05,0x08, - 0x08,0x06,0x00,0x00,0x10,0x20,0x70,0x88,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,0x90,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x00, - 0x70,0x88,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50, - 0x88,0x05,0x08,0x08,0x06,0x00,0xff,0x10,0x70,0xa8,0xa8,0xa8,0xa8,0x70,0x40,0x05, - 0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08, - 0x06,0x00,0x00,0x10,0x20,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00, - 0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50, - 0x00,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x88, - 0x50,0x20,0x20,0x20,0x20,0x05,0x09,0x09,0x06,0x00,0xff,0xc0,0x40,0x70,0x48,0x48, - 0x70,0x40,0x40,0xe0,0x04,0x08,0x08,0x06,0x01,0xff,0x60,0x90,0x90,0xa0,0x90,0x90, - 0xe0,0x80,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,0x90,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,0x06,0x06,0x06,0x00,0x00,0xd0,0x28,0x78,0xa0,0xa8, - 0x50,0x05,0x06,0x06,0x06,0x00,0xff,0x70,0x80,0x88,0x70,0x20,0x60,0x05,0x08,0x08, - 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x08,0x08,0x06,0x00, - 0x00,0x10,0x20,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20, - 0x50,0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70, - 0x88,0xf8,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0x40,0xc0,0x40, - 0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0x40,0xc0,0x40,0x40,0xe0, - 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0x40,0xc0,0x40,0x40,0xe0,0x03,0x07, - 0x07,0x06,0x01,0x00,0xa0,0x00,0x40,0xc0,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xa0,0x40,0xa0,0x10,0x78,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0x90, - 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,0x90,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00, - 0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0xff,0x10,0x70,0xa8,0xa8, - 0xa8,0x70,0x40,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x98, - 0x68,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x98,0x68,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x07,0x07, - 0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x09,0x09,0x06,0x00,0xff, - 0x10,0x20,0x00,0x88,0x88,0x88,0xf8,0x08,0x70,0x04,0x07,0x07,0x06,0x01,0xff,0xc0, - 0x40,0x60,0x50,0x60,0x40,0xe0,0x05,0x08,0x08,0x06,0x00,0xff,0x50,0x00,0x88,0x88, - 0x88,0x78,0x08,0x70}; + 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/language_data_an.h b/Marlin/src/lcd/dogm/language_data_an.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_an.h +++ b/Marlin/src/lcd/dogm/language_data_an.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index c0c7506f0e5a..5ea82240aaaa 100644 --- a/Marlin/src/lcd/dogm/language_data_bg.h +++ b/Marlin/src/lcd/dogm/language_data_bg.h @@ -1,66 +1,68 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x95,0x00,0x07,0xff,0x00, + 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,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, - 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48, - 0x88,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8 + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x98,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa4,0x00,0x07,0x00,0x00, + 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,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00, + 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,0x50, - 0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20 + 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_166_166[31] U8G_FONT_SECTION("fontpage_8_166_166") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xff,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08}; -const u8g_fntpgm_uint8_t fontpage_8_175_195[257] U8G_FONT_SECTION("fontpage_8_175_195") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc3,0x00,0x07,0xff,0x00, +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,0x18, - 0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05, - 0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8, - 0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8, - 0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05, - 0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88, - 0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05, - 0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00, - 0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08, - 0x70}; -const u8g_fntpgm_uint8_t fontpage_8_197_200[62] U8G_FONT_SECTION("fontpage_8_197_200") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc8,0x00,0x05,0xff,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06, - 0x00,0xff,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, - 0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x05,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,0x06, - 0x00,0x00,0x78,0x88,0x78,0x28,0x48}; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_ca.h b/Marlin/src/lcd/dogm/language_data_ca.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_ca.h +++ b/Marlin/src/lcd/dogm/language_data_ca.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 6a1ddaa78594..5858e707b454 100644 --- a/Marlin/src/lcd/dogm/language_data_cz.h +++ b/Marlin/src/lcd/dogm/language_data_cz.h @@ -1,47 +1,42 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_2_140_141[49] U8G_FONT_SECTION("fontpage_2_140_141") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80, - 0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80, - 0x70}; -const u8g_fntpgm_uint8_t fontpage_2_143_143[31] U8G_FONT_SECTION("fontpage_2_143_143") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x08,0x00,0x00, - 0x00,0x08,0x08,0x08,0x09,0x00,0x00,0x09,0x0a,0x78,0x88,0x88,0x88,0x88,0x78}; -const u8g_fntpgm_uint8_t fontpage_2_155_155[32] U8G_FONT_SECTION("fontpage_2_155_155") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0xf8,0x80,0x80,0x78 - }; -const u8g_fntpgm_uint8_t fontpage_2_200_200[32] U8G_FONT_SECTION("fontpage_2_200_200") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88 - }; -const u8g_fntpgm_uint8_t fontpage_2_216_217[49] U8G_FONT_SECTION("fontpage_2_216_217") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd9,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0xf0,0x90, - 0x88,0x84,0x03,0x09,0x09,0x04,0x00,0x00,0xa0,0x40,0x00,0xe0,0x80,0x80,0x80,0x80, - 0x80}; -const u8g_fntpgm_uint8_t fontpage_2_225_225[32] U8G_FONT_SECTION("fontpage_2_225_225") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88,0x70 - }; -const u8g_fntpgm_uint8_t fontpage_2_229_229[32] U8G_FONT_SECTION("fontpage_2_229_229") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x08,0x50,0x40,0xf0,0x40,0x40,0x40,0x40,0x30 - }; -const u8g_fntpgm_uint8_t fontpage_2_239_239[32] U8G_FONT_SECTION("fontpage_2_239_239") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x88,0x78 - }; -const u8g_fntpgm_uint8_t fontpage_2_253_254[49] U8G_FONT_SECTION("fontpage_2_253_254") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0b,0x00,0x00, - 0x00,0x07,0x0b,0x0b,0x08,0x00,0x00,0x24,0x18,0x00,0xfe,0x04,0x08,0x10,0x20,0x40, - 0x80,0xfe,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40, - 0xf8}; +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 = { diff --git a/Marlin/src/lcd/dogm/language_data_da.h b/Marlin/src/lcd/dogm/language_data_da.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_da.h +++ b/Marlin/src/lcd/dogm/language_data_da.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_de.h +++ b/Marlin/src/lcd/dogm/language_data_de.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 9fe33be926c4..558ea2fa6842 100644 --- a/Marlin/src/lcd/dogm/language_data_el-gr.h +++ b/Marlin/src/lcd/dogm/language_data_el-gr.h @@ -1,74 +1,76 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_7_136_136[31] U8G_FONT_SECTION("fontpage_7_136_136") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x80,0xf8,0x80,0xf0,0x80,0x80,0xf8}; -const u8g_fntpgm_uint8_t fontpage_7_145_157[185] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0xf8,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x50, - 0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0xa8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40, - 0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0, - 0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x88,0xc8,0xc8,0xa8,0x98,0x98,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00, + 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,0x50,0x50,0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x40,0x20,0x40,0x80,0xf8,0x05,0x07, + 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,0x70,0x20, - 0x70,0xa8,0x70,0x20,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x08,0x68,0x98,0x90,0x90,0x68,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x0a,0x0a, - 0x06,0x00,0xfe,0x20,0x40,0x00,0x70,0x88,0x88,0x88,0x88,0x08,0x08,0x02,0x08,0x08, - 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0x80,0x40}; -const u8g_fntpgm_uint8_t fontpage_7_177_199[297] U8G_FONT_SECTION("fontpage_7_177_199") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x68,0x98,0x90,0x90,0x68,0x04,0x07,0x07, - 0x06,0x00,0xfe,0x60,0x90,0xf0,0x90,0xe0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff, - 0x88,0x48,0x50,0x20,0x20,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x30,0x40,0x70,0x88, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x09,0x09, - 0x06,0x00,0xfe,0x80,0x70,0x40,0x80,0x80,0x80,0x70,0x08,0x70,0x05,0x07,0x07,0x06, - 0x00,0xfe,0xb8,0xc8,0x88,0x88,0x88,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x88,0xf8,0x88,0x70,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x60,0x04, - 0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x06,0x06,0x06,0x00,0x00, - 0x40,0x20,0x20,0x50,0x50,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0xd8, - 0xa8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x50,0x60,0x20,0x05,0x0a, - 0x0a,0x06,0x00,0xfe,0x80,0xe0,0x80,0x70,0x20,0x40,0x80,0x70,0x08,0x70,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, - 0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x30,0x40,0x80,0x40,0x30,0x08,0x70,0x05,0x05, - 0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x60,0x04,0x05,0x05,0x06,0x00,0x00,0xf0, - 0x40,0x40,0x40,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x90,0x90,0xe0,0x05, - 0x08,0x08,0x06,0x00,0xfe,0x30,0xa8,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x06,0x06, - 0x06,0x00,0xff,0x88,0x50,0x20,0x20,0x50,0x88}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0x70}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, - 0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x90,0x60,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x88,0x88,0x90,0x90,0x60,0x05,0x08,0x08, - 0x06,0x00,0x00,0x20,0x40,0x00,0x50,0x88,0x88,0xa8,0x70}; -const u8g_fntpgm_uint8_t fontpage_64_166_166[25] U8G_FONT_SECTION("fontpage_64_166_166") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x05,0x00,0x00, - 0x00,0x0b,0x01,0x02,0x0c,0x01,0x04,0xc6,0x60}; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_el.h b/Marlin/src/lcd/dogm/language_data_el.h index 1fbb29326a75..1c7e810f6d0b 100644 --- a/Marlin/src/lcd/dogm/language_data_el.h +++ b/Marlin/src/lcd/dogm/language_data_el.h @@ -1,77 +1,79 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_7_136_136[31] U8G_FONT_SECTION("fontpage_7_136_136") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x80,0xf8,0x80,0xf0,0x80,0x80,0xf8}; -const u8g_fntpgm_uint8_t fontpage_7_145_157[185] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0xf8,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x50, - 0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0xa8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40, - 0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0, - 0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x88,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x88,0xc8,0xc8,0xa8,0x98,0x98,0x88}; +const u8g_fntpgm_uint8_t fontpage_7_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00, + 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,0x50,0x50,0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x40,0x20,0x40,0x80,0xf8,0x05,0x07, + 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,0x70,0x20, - 0x70,0xa8,0x70,0x20,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, + 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[29] U8G_FONT_SECTION("fontpage_7_169_169") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x06,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x88,0x50,0x50,0xd8}; +const u8g_fntpgm_uint8_t fontpage_7_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x08,0x68,0x98,0x90,0x90,0x68,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x0a,0x0a, - 0x06,0x00,0xfe,0x20,0x40,0x00,0x70,0x88,0x88,0x88,0x88,0x08,0x08,0x02,0x08,0x08, - 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0x80,0x40}; -const u8g_fntpgm_uint8_t fontpage_7_177_199[297] U8G_FONT_SECTION("fontpage_7_177_199") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xc7,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x68,0x98,0x90,0x90,0x68,0x04,0x07,0x07, - 0x06,0x00,0xfe,0x60,0x90,0xf0,0x90,0xe0,0x80,0x80,0x05,0x06,0x06,0x06,0x00,0xff, - 0x88,0x48,0x50,0x20,0x20,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x30,0x40,0x70,0x88, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0xe0,0x88,0x70,0x05,0x09,0x09, - 0x06,0x00,0xfe,0x80,0x70,0x40,0x80,0x80,0x80,0x70,0x08,0x70,0x05,0x07,0x07,0x06, - 0x00,0xfe,0xb8,0xc8,0x88,0x88,0x88,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x88,0xf8,0x88,0x70,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x60,0x04, - 0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x06,0x06,0x06,0x00,0x00, - 0x40,0x20,0x20,0x50,0x50,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0xd8, - 0xa8,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x50,0x60,0x20,0x05,0x0a, - 0x0a,0x06,0x00,0xfe,0x80,0xe0,0x80,0x70,0x20,0x40,0x80,0x70,0x08,0x70,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, - 0x50,0x50,0x50,0x50,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x30,0x40,0x80,0x40,0x30,0x08,0x70,0x05,0x05, - 0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x60,0x04,0x05,0x05,0x06,0x00,0x00,0xf0, - 0x40,0x40,0x40,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x90,0x90,0xe0,0x05, - 0x08,0x08,0x06,0x00,0xfe,0x30,0xa8,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x06,0x06, - 0x06,0x00,0xff,0x88,0x50,0x20,0x20,0x50,0x88}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0x70}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, - 0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x90,0x60,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x40,0x00,0x88,0x88,0x90,0x90,0x60,0x05,0x08,0x08, - 0x06,0x00,0x00,0x20,0x40,0x00,0x50,0x88,0x88,0xa8,0x70}; -const u8g_fntpgm_uint8_t fontpage_64_166_166[25] U8G_FONT_SECTION("fontpage_64_166_166") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x05,0x00,0x00, - 0x00,0x0b,0x01,0x02,0x0c,0x01,0x04,0xc6,0x60}; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_en.h b/Marlin/src/lcd/dogm/language_data_en.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_en.h +++ b/Marlin/src/lcd/dogm/language_data_en.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_es.h +++ b/Marlin/src/lcd/dogm/language_data_es.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_eu.h +++ b/Marlin/src/lcd/dogm/language_data_eu.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_fi.h +++ b/Marlin/src/lcd/dogm/language_data_fi.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_fr.h +++ b/Marlin/src/lcd/dogm/language_data_fr.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_gl.h +++ b/Marlin/src/lcd/dogm/language_data_gl.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 87bdabbe1f6e..88254cdc6752 100644 --- a/Marlin/src/lcd/dogm/language_data_hr.h +++ b/Marlin/src/lcd/dogm/language_data_hr.h @@ -1,29 +1,26 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_2_135_135[32] U8G_FONT_SECTION("fontpage_2_135_135") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x09,0x00,0x00, - 0x00,0x04,0x09,0x09,0x05,0x00,0x00,0x10,0x20,0x00,0x70,0x80,0x80,0x80,0x80,0x70 - }; -const u8g_fntpgm_uint8_t fontpage_2_140_141[49] U8G_FONT_SECTION("fontpage_2_140_141") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80, - 0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80, - 0x70}; +const u8g_fntpgm_uint8_t fontpage_2_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x08,0x00,0x00, - 0x00,0x06,0x08,0x08,0x07,0x00,0x00,0x1c,0x08,0x78,0x88,0x88,0x88,0x88,0x78}; -const u8g_fntpgm_uint8_t fontpage_2_225_225[32] U8G_FONT_SECTION("fontpage_2_225_225") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88,0x70 - }; -const u8g_fntpgm_uint8_t fontpage_2_254_254[32] U8G_FONT_SECTION("fontpage_2_254_254") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0xf8 - }; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_it.h b/Marlin/src/lcd/dogm/language_data_it.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_it.h +++ b/Marlin/src/lcd/dogm/language_data_it.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 77d129d66c1f..2a2229e27e77 100644 --- a/Marlin/src/lcd/dogm/language_data_jp-kana.h +++ b/Marlin/src/lcd/dogm/language_data_jp-kana.h @@ -1,22 +1,23 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa4,0x00,0x06,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x06,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x05,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xb5,0x00,0x08,0x00,0x00, + 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, @@ -28,23 +29,23 @@ const u8g_fntpgm_uint8_t fontpage_97_170_181[167] U8G_FONT_SECTION("fontpage_97_ 0x07,0x06,0x00,0x00,0x28,0x00,0xf8,0x08,0x08,0x08,0xf8,0x05,0x06,0x06,0x06,0x00, 0x00,0x50,0xf8,0x50,0x10,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_97_183_187[77] U8G_FONT_SECTION("fontpage_97_183_187") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xbb,0x00,0x07,0x00,0x00, + 0x00,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xc1,0x00,0x07,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc4,0x00,0x05,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xd3,0x00,0x08,0x00,0x00, + 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, @@ -57,29 +58,29 @@ const u8g_fntpgm_uint8_t fontpage_97_198_211[190] U8G_FONT_SECTION("fontpage_97_ 0x10,0x88,0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0xf8,0x80,0x80, 0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x80,0x80,0xf8,0x80,0x80,0x78}; const u8g_fntpgm_uint8_t fontpage_97_213_217[77] U8G_FONT_SECTION("fontpage_97_213_217") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd9,0x00,0x08,0x00,0x00, + 0x00,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdc,0x00,0x08,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xdf,0x00,0x05,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe2,0x00,0x05,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe5,0x00,0x06,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xed,0x00,0x06,0x00,0x00, + 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, @@ -87,11 +88,11 @@ const u8g_fntpgm_uint8_t fontpage_97_231_237[96] U8G_FONT_SECTION("fontpage_97_2 0x80,0x80,0x90,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0xf8 }; const u8g_fntpgm_uint8_t fontpage_97_242_243[39] U8G_FONT_SECTION("fontpage_97_242_243") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf3,0x00,0x05,0x00,0x00, + 0x00,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x03,0x00,0x00, + 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} diff --git a/Marlin/src/lcd/dogm/language_data_nl.h b/Marlin/src/lcd/dogm/language_data_nl.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_nl.h +++ b/Marlin/src/lcd/dogm/language_data_nl.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 4a8d9cba1e52..2f2e48e4b090 100644 --- a/Marlin/src/lcd/dogm/language_data_pl.h +++ b/Marlin/src/lcd/dogm/language_data_pl.h @@ -1,33 +1,32 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_2_133_133[31] U8G_FONT_SECTION("fontpage_2_133_133") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x06,0xfe,0x00, - 0x00,0x06,0x08,0x08,0x06,0x00,0xfe,0x70,0x08,0x78,0x88,0x88,0x78,0x08,0x0c}; -const u8g_fntpgm_uint8_t fontpage_2_135_135[32] U8G_FONT_SECTION("fontpage_2_135_135") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x09,0x00,0x00, - 0x00,0x04,0x09,0x09,0x05,0x00,0x00,0x10,0x20,0x00,0x70,0x80,0x80,0x80,0x80,0x70 - }; -const u8g_fntpgm_uint8_t fontpage_2_153_153[31] U8G_FONT_SECTION("fontpage_2_153_153") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x06,0xfe,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xfe,0x70,0x88,0xf8,0x80,0x80,0x78,0x20,0x18}; -const u8g_fntpgm_uint8_t fontpage_2_193_196[77] U8G_FONT_SECTION("fontpage_2_193_196") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc4,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x40,0x50,0x60,0x40,0xc0,0x40,0x78,0x03, - 0x08,0x08,0x04,0x00,0x00,0x40,0x40,0x40,0x60,0xc0,0x40,0x40,0x40,0x06,0x0b,0x0b, - 0x07,0x00,0x00,0x10,0x20,0x00,0xc4,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x8c,0x05,0x09, - 0x09,0x06,0x00,0x00,0x10,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88}; -const u8g_fntpgm_uint8_t fontpage_2_218_219[49] U8G_FONT_SECTION("fontpage_2_218_219") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xdb,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x0b,0x0b,0x06,0x00,0x00,0x10,0x20,0x00,0x78,0x80,0x80,0x70,0x08,0x08, - 0x08,0xf0,0x05,0x09,0x09,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x10,0x88, - 0x70}; -const u8g_fntpgm_uint8_t fontpage_2_252_252[31] U8G_FONT_SECTION("fontpage_2_252_252") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0xf8}; +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 = { diff --git a/Marlin/src/lcd/dogm/language_data_pt-br.h b/Marlin/src/lcd/dogm/language_data_pt-br.h index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_pt-br.h +++ b/Marlin/src/lcd/dogm/language_data_pt-br.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index 02e2f8eaba62..51210a43947e 100644 --- a/Marlin/src/lcd/dogm/language_data_pt.h +++ b/Marlin/src/lcd/dogm/language_data_pt.h @@ -1,9 +1,9 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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 = { -}; +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 index f0b2b546157d..43650b54dd02 100644 --- a/Marlin/src/lcd/dogm/language_data_ru.h +++ b/Marlin/src/lcd/dogm/language_data_ru.h @@ -1,70 +1,71 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x98,0x00,0x07,0xff,0x00, + 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,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, - 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48, - 0x88,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, - 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0x70,0xa8,0xa8,0xa8,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, + 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[213] U8G_FONT_SECTION("fontpage_8_154_168") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa8,0x00,0x07,0xff,0x00, +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,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00, + 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,0x50, - 0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x08,0x08, - 0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x07,0x07,0x06,0x00, - 0x00,0x88,0x88,0x88,0x98,0x68,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8, - 0xa8,0xa8,0xa8,0xa8,0xf8}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xad,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x05,0x07, - 0x07,0x06,0x00,0x00,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x08,0x38,0x08,0x88,0x70}; -const u8g_fntpgm_uint8_t fontpage_8_175_201[326] U8G_FONT_SECTION("fontpage_8_175_201") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x07,0xff,0x00, + 0x00,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,0x18, - 0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05, - 0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8, - 0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8, - 0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05, - 0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88, - 0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05, - 0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00, - 0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88, - 0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06,0x06,0x00,0xff, - 0xa8,0xa8,0xa8,0xa8,0xf8,0x08}; + 0x05,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0xc8,0x03,0x05,0x05,0x06, - 0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x38, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05, - 0x06,0x00,0x00,0x78,0x88,0x78,0x28,0x48}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf8,0x80,0x70}; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_sk.h b/Marlin/src/lcd/dogm/language_data_sk.h index fcc6622a9f08..37e10057c376 100644 --- a/Marlin/src/lcd/dogm/language_data_sk.h +++ b/Marlin/src/lcd/dogm/language_data_sk.h @@ -1,45 +1,60 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_2_140_143[80] U8G_FONT_SECTION("fontpage_2_140_143") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8f,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x28,0x10,0x00,0x3c,0x40,0x80,0x80,0x80,0x80, - 0x40,0x3c,0x04,0x09,0x09,0x05,0x00,0x00,0x50,0x20,0x00,0x70,0x80,0x80,0x80,0x80, - 0x70,0x07,0x0b,0x0b,0x08,0x00,0x00,0x48,0x30,0x00,0xf8,0x84,0x82,0x82,0x82,0x82, - 0x84,0xf8,0x08,0x08,0x08,0x09,0x00,0x00,0x09,0x0a,0x78,0x88,0x88,0x88,0x88,0x78 - }; -const u8g_fntpgm_uint8_t fontpage_2_200_200[32] U8G_FONT_SECTION("fontpage_2_200_200") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0x88,0x88,0x88 - }; -const u8g_fntpgm_uint8_t fontpage_2_224_225[49] U8G_FONT_SECTION("fontpage_2_224_225") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe1,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x0b,0x0b,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x80,0x70,0x08,0x08, - 0x08,0xf0,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x60,0x10,0x88, - 0x70}; -const u8g_fntpgm_uint8_t fontpage_2_229_229[32] U8G_FONT_SECTION("fontpage_2_229_229") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x08,0x50,0x40,0xf0,0x40,0x40,0x40,0x40,0x30 - }; -const u8g_fntpgm_uint8_t fontpage_2_239_239[32] U8G_FONT_SECTION("fontpage_2_239_239") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x88,0x78 - }; -const u8g_fntpgm_uint8_t fontpage_2_253_254[49] U8G_FONT_SECTION("fontpage_2_253_254") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0b,0x00,0x00, - 0x00,0x07,0x0b,0x0b,0x08,0x00,0x00,0x24,0x18,0x00,0xfe,0x04,0x08,0x10,0x20,0x40, - 0x80,0xfe,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40, - 0xf8}; +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, 200, 200, fontpage_2_200_200), // 'ň' -- 'ň' + 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, 229, 229, fontpage_2_229_229), // 'ť' -- 'ť' + 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 index 346707b10aa7..875071abea58 100644 --- a/Marlin/src/lcd/dogm/language_data_test.h +++ b/Marlin/src/lcd/dogm/language_data_test.h @@ -1,91 +1,118 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_8_128_255[1255] U8G_FONT_SECTION("fontpage_8_128_255") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0x08,0xff,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05, - 0x08,0x08,0x06,0x00,0x00,0x50,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07, - 0x06,0x00,0x00,0xe0,0x40,0x40,0x70,0x48,0x48,0x70,0x05,0x08,0x08,0x06,0x00,0x00, - 0x10,0x20,0xf8,0x88,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48, - 0x80,0xe0,0x80,0x48,0x30,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08, - 0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x03, - 0x08,0x08,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0xa0,0xa0,0xa0,0xb8,0xa8,0xa8,0xb8,0x05,0x07,0x07,0x06,0x00,0x00,0xa0,0xa0,0xa0, - 0xf8,0xa8,0xa8,0xb8,0x04,0x07,0x07,0x06,0x00,0x00,0xe0,0x40,0x70,0x50,0x50,0x50, - 0x50,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x88,0x90,0xa0,0xe0,0x90,0x88,0x05, - 0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x09,0x09, - 0x06,0x00,0xff,0x50,0x20,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x05,0x08,0x08,0x06, - 0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x20,0x05,0x07,0x07,0x06,0x00,0x00, - 0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, - 0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88, - 0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x80,0x80,0x05,0x08, - 0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,0x88,0xf8,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xa8, - 0xa8,0xa8,0x70,0xa8,0xa8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70, - 0x08,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88, - 0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xa8,0xc8,0x88,0x05,0x07, +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,0x78,0x28,0x28,0x28,0x28,0xa8,0x48,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8, + 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,0x50,0x20,0x40,0x80, + 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,0x08,0x08,0x06,0x00,0xff, - 0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88, - 0x88,0x98,0x68,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8, - 0xa8,0xf8,0x05,0x08,0x08,0x06,0x00,0xff,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x08, - 0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0x40,0x40,0x70,0x48,0x48,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x05,0x07,0x07,0x06,0x00,0x00, - 0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08, - 0x38,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0xa8,0xa8,0xe8,0xa8,0xa8, - 0x90,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x18, - 0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0,0x90,0xe0,0x90, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8,0xa8,0x05,0x05, - 0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88,0x98,0xa8,0xc8, - 0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8,0xa8, - 0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05,0x05, - 0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88, - 0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0,0x80,0x80,0x05, - 0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00, - 0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88, - 0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06,0x06,0x00,0xff, - 0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48, - 0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0xc8,0x03,0x05,0x05,0x06, - 0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x38, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05, - 0x06,0x00,0x00,0x78,0x88,0x78,0x28,0x48,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, - 0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88, - 0xf8,0x80,0x70,0x05,0x09,0x09,0x06,0x00,0xff,0x40,0xe0,0x40,0x40,0x78,0x48,0x48, - 0x48,0x10,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x88,0x80,0x80,0x80, - 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x80,0x70,0x08,0xf0,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80, - 0x80,0x80,0x80,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,0x40,0x40,0x40,0x40,0x40, - 0x03,0x08,0x08,0x06,0x01,0xff,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x05,0x05, - 0x05,0x06,0x00,0x00,0xa0,0xa0,0xb8,0xa8,0xb8,0x05,0x05,0x05,0x06,0x00,0x00,0xa0, - 0xa0,0xf8,0xa8,0xb8,0x05,0x06,0x06,0x06,0x00,0x00,0x40,0xe0,0x40,0x78,0x48,0x48, - 0x04,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x08, - 0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x09,0x09,0x06, - 0x00,0xff,0x50,0x20,0x00,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x06,0x06,0x06,0x00, - 0xff,0x88,0x88,0x88,0x88,0xf8,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0xbf,0x00,0x0a,0xff,0x00, + 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, @@ -141,7 +168,7 @@ const u8g_fntpgm_uint8_t fontpage_97_129_191[870] U8G_FONT_SECTION("fontpage_97_ 0x07,0x06,0x00,0x00,0x28,0x00,0x88,0x88,0x48,0x10,0x60,0x05,0x05,0x05,0x06,0x00, 0x00,0x78,0x48,0xa8,0x10,0x60}; const u8g_fntpgm_uint8_t fontpage_97_193_255[753] U8G_FONT_SECTION("fontpage_97_193_255") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xff,0x00,0x08,0x00,0x00, + 0x00,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, diff --git a/Marlin/src/lcd/dogm/language_data_tr.h b/Marlin/src/lcd/dogm/language_data_tr.h index b0079ba87d86..23850ecfd768 100644 --- a/Marlin/src/lcd/dogm/language_data_tr.h +++ b/Marlin/src/lcd/dogm/language_data_tr.h @@ -1,20 +1,21 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_2_159_159[34] U8G_FONT_SECTION("fontpage_2_159_159") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x09,0xfe,0x00, - 0x00,0x05,0x0b,0x0b,0x06,0x00,0xfe,0x88,0x70,0x00,0x78,0x88,0x88,0x88,0x88,0x78, - 0x08,0x70}; -const u8g_fntpgm_uint8_t fontpage_2_176_177[45] U8G_FONT_SECTION("fontpage_2_176_177") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb1,0x00,0x0a,0x00,0x00, - 0x00,0x03,0x0a,0x0a,0x04,0x00,0x00,0x40,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0x40, - 0xe0,0x01,0x06,0x06,0x02,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80}; -const u8g_fntpgm_uint8_t fontpage_2_223_223[31] U8G_FONT_SECTION("fontpage_2_223_223") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x06,0xfe,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xfe,0x70,0x88,0x60,0x10,0x88,0x70,0x10,0x60}; +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 = { diff --git a/Marlin/src/lcd/dogm/language_data_uk.h b/Marlin/src/lcd/dogm/language_data_uk.h index d6b5e3253a70..9886e41d2e48 100644 --- a/Marlin/src/lcd/dogm/language_data_uk.h +++ b/Marlin/src/lcd/dogm/language_data_uk.h @@ -1,77 +1,80 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ - -#include +/** + * 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x07,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x92,0x00,0x07,0x00,0x00, + 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,0xf8,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x95,0x00,0x07,0xff,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x78,0x28,0x28,0x28,0x48,0x88,0xf8,0x88,0x05, + 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[70] U8G_FONT_SECTION("fontpage_8_151_154") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x9a,0x00,0x08,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x08,0x08,0x70,0x08,0x08,0xf0,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x08,0x08,0x06,0x00, - 0x00,0x50,0x20,0x88,0x98,0xa8,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88, - 0x90,0xa0,0xc0,0xa0,0x90,0x88}; +const u8g_fntpgm_uint8_t fontpage_8_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0xa4,0x00,0x07,0x00,0x00, + 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,0x50,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20, + 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[31] U8G_FONT_SECTION("fontpage_8_166_166") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xff,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0xf8,0x08}; +const u8g_fntpgm_uint8_t fontpage_8_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x07,0x00,0x00, + 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[313] U8G_FONT_SECTION("fontpage_8_176_201") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xc9,0x00,0x07,0xff,0x00, +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,0x18,0x60,0x80,0xf0,0x88,0x88,0x70,0x04,0x05,0x05,0x06,0x00,0x00,0xe0, - 0x90,0xe0,0x90,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x88,0x80,0x80,0x80,0x05, - 0x06,0x06,0x06,0x00,0xff,0x78,0x28,0x48,0x88,0xf8,0x88,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x88,0xf8,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0xa8, - 0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x08,0x30,0x08,0xf0,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x20,0x88, - 0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x00,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05, - 0x05,0x05,0x06,0x00,0x00,0xf8,0x28,0x28,0xa8,0x48,0x05,0x05,0x05,0x06,0x00,0x00, - 0x88,0xd8,0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88, - 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x88,0x88,0x88,0x88,0x05,0x06,0x06,0x06,0x00,0xff,0xf0,0x88,0x88,0xf0, - 0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x05,0x05, - 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x06,0x06,0x06,0x00,0xff,0x88,0x88, - 0x88,0x78,0x08,0x70,0x05,0x06,0x06,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0x70,0x20, - 0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x06,0x06,0x06,0x00, - 0xff,0x88,0x88,0x88,0x88,0xf8,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8, - 0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x06,0x06, - 0x06,0x00,0xff,0xa8,0xa8,0xa8,0xa8,0xf8,0x08}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x05,0x00,0x00, - 0x00,0x03,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xc0,0xa0,0xc0}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x05,0x05,0x05,0x06, - 0x00,0x00,0x78,0x88,0x78,0x28,0x48}; + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70}; -const u8g_fntpgm_uint8_t fontpage_8_214_214[30] U8G_FONT_SECTION("fontpage_8_214_214") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x07,0x00,0x00, - 0x00,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80}; + 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 = { diff --git a/Marlin/src/lcd/dogm/language_data_zh_CN.h b/Marlin/src/lcd/dogm/language_data_zh_CN.h index 215531531283..e2e8788577f5 100644 --- a/Marlin/src/lcd/dogm/language_data_zh_CN.h +++ b/Marlin/src/lcd/dogm/language_data_zh_CN.h @@ -1,18 +1,18 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_69_191_191[41] U8G_FONT_SECTION("fontpage_69_191_191") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0x00,0x00, - 0x00,0x09,0x09,0x12,0x0c,0x01,0x01,0x00,0x80,0x01,0x80,0x02,0x80,0x04,0x80,0x08, - 0x80,0x10,0x80,0x20,0x80,0x40,0x80,0xff,0x80}; +const u8g_fntpgm_uint8_t fontpage_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00, + 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, @@ -20,1015 +20,1015 @@ const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156 0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04, 0x00}; const u8g_fntpgm_uint8_t fontpage_156_157_157[45] U8G_FONT_SECTION("fontpage_156_157_157") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, + 0x00,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x09,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb5,0xb5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00, + 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} diff --git a/Marlin/src/lcd/dogm/language_data_zh_TW.h b/Marlin/src/lcd/dogm/language_data_zh_TW.h index 247627079c68..478eb92eaa5d 100644 --- a/Marlin/src/lcd/dogm/language_data_zh_TW.h +++ b/Marlin/src/lcd/dogm/language_data_zh_TW.h @@ -1,18 +1,18 @@ -/* Generated by buildroot/share/fonts/uxggenpages.sh */ -/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */ -/* Please turn to the tools call this script to change the contents! */ +/** + * 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 -#include - -const u8g_fntpgm_uint8_t fontpage_69_191_191[41] U8G_FONT_SECTION("fontpage_69_191_191") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0x00,0x00, - 0x00,0x09,0x09,0x12,0x0c,0x01,0x01,0x00,0x80,0x01,0x80,0x02,0x80,0x04,0x80,0x08, - 0x80,0x10,0x80,0x20,0x80,0x40,0x80,0xff,0x80}; +const u8g_fntpgm_uint8_t fontpage_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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00, + 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, @@ -20,1077 +20,1077 @@ const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156 0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04, 0x00}; const u8g_fntpgm_uint8_t fontpage_156_166_166[45] U8G_FONT_SECTION("fontpage_156_166_166") = { - 0x00,0x06,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, + 0x00,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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb3,0xb3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9e,0x9e,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x09,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xda,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb8,0xb8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, + 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,0x0a,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00, + 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} diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.h b/Marlin/src/lcd/dogm/status_screen_DOGM.h index 21d98af0574f..d8d8b252d811 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.h +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.h @@ -33,7 +33,7 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t x, const const char * const str = itostr3(temp); lcd_moveto(x - (str[0] != ' ' ? 0 : str[1] != ' ' ? 1 : 2) * DOG_CHAR_WIDTH / 2, y); lcd_put_u8str(str); - lcd_put_u8str_rom(PSTR(LCD_STR_DEGREE " ")); + 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_put_u8str_rom(pstr); + lcd_put_u8str(value); else { - if (!axis_homed[axis]) - lcd_put_wchar('?'); + 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_put_wchar(' '); + if (!TEST(axis_known_position, axis)) + lcd_put_u8str_P(axis == Z_AXIS ? PSTR(" ") : PSTR(" ")); else #endif - lcd_put_u8str_rom(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 = utf8_strlen(lcd_status_message); - const char *stat = lcd_status_message + status_scroll_pos; - if (slen <= LCD_WIDTH) - lcd_put_u8str(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_put_u8str(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_put_u8str(stat); // The string leaves space - chars -= slen - status_scroll_pos; // Amount of space left - } - lcd_put_wchar('.'); // 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_put_wchar('.'); - if (chars) lcd_put_u8str_max(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_put_u8str(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,12 +262,12 @@ 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) { @@ -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 * ( @@ -354,19 +413,19 @@ static void lcd_implementation_status_screen() { #endif lcd_moveto(0 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(X_AXIS, PSTR(MSG_X), blink); + lcd_put_wchar('X'); lcd_moveto(0 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_put_u8str(xstring); + _draw_axis_value(X_AXIS, xstring, blink); lcd_moveto(1 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); + lcd_put_wchar('Y'); lcd_moveto(1 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_put_u8str(ystring); + _draw_axis_value(Y_AXIS, ystring, blink); lcd_moveto(2 * XYZ_SPACING + X_LABEL_POS, XYZ_BASELINE); - _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); + lcd_put_wchar('Z'); lcd_moveto(2 * XYZ_SPACING + X_VALUE_POS, XYZ_BASELINE); - lcd_put_u8str(zstring); + _draw_axis_value(Z_AXIS, zstring, blink); #if DISABLED(XYZ_HOLLOW_FRAME) u8g.setColorIndex(1); // black on white @@ -399,7 +458,7 @@ static void lcd_implementation_status_screen() { lcd_put_wchar('%'); lcd_setFont(FONT_MENU); lcd_moveto(47, 50); - lcd_put_wchar(LCD_STR_FILAM_DIA[0]); // lcd_put_u8str_rom(PSTR(LCD_STR_FILAM_DIA)); + 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 @@ -419,10 +478,10 @@ static void lcd_implementation_status_screen() { lcd_implementation_status_message(blink); } else { - lcd_put_u8str_rom(PSTR(LCD_STR_FILAM_DIA)); + lcd_put_u8str_P(PSTR(LCD_STR_FILAM_DIA)); lcd_put_wchar(':'); lcd_put_u8str(wstring); - lcd_put_u8str_rom(PSTR(" " LCD_STR_FILAM_MUL)); + lcd_put_u8str_P(PSTR(" " LCD_STR_FILAM_MUL)); lcd_put_wchar(':'); lcd_put_u8str(mstring); lcd_put_wchar('%'); diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h index 125e1868f689..c59a3176e327 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 ); } @@ -844,11 +877,11 @@ void ST7920_Lite_Status_Screen::update_status_or_position(bool forceUpdate) { void ST7920_Lite_Status_Screen::update_progress(const bool forceUpdate) { #if DISABLED(LCD_SET_PROGRESS_MANUALLY) - uint8_t progress_bar_percent; + uint8_t progress_bar_percent = 0; #endif - // Set current percentage from SD when actively printing - #if ENABLED(SDSUPPORT) + #if ENABLED(LCD_SET_PROGRESS_MANUALLY) && ENABLED(SDSUPPORT) && (ENABLED(LCD_PROGRESS_BAR) || ENABLED(DOGLCD)) + // Progress bar % comes from SD when actively printing if (IS_SD_PRINTING) progress_bar_percent = card.percentDone(); #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 index 2fc5cad3f980..08afb2ed8ac3 100644 --- a/Marlin/src/lcd/fontutils.cpp +++ b/Marlin/src/lcd/fontutils.cpp @@ -7,7 +7,6 @@ * @copyright GPL/BSD */ -#include "../inc/MarlinConfigPre.h" #include "../inc/MarlinConfig.h" #if ENABLED(ULTRA_LCD) @@ -17,56 +16,14 @@ #include "fontutils.h" -uint8_t read_byte_ram(uint8_t * str) { return *str; } -uint8_t read_byte_rom(uint8_t * str) { return pgm_read_byte(str); } - -#if DEBUG - #ifdef ARDUINO - #include - #include - - void serial_printf_P(const char *format, ...) { - static char buff[128]; - va_list args; - va_start(args,format); - vsnprintf_P(buff,sizeof(buff),format,args); - va_end(args); - buff[sizeof(buff)/sizeof(buff[0])-1]='\0'; - - //Serial.print(buff); - SERIAL_ECHO(buff); SERIAL_EOL; - } - #endif -#endif - - -#ifdef __WIN32__ // or whatever - #define PRIiSZ "ld" - #define PRIuSZ "Iu" -#else - #define PRIiSZ "zd" - #define PRIuSZ "zu" -#endif -#define PRIiOFF "lld" -#define PRIuOFF "llu" - +uint8_t read_byte_ram(uint8_t * str) { + return *str; +} -#define DBGMSG(a,b, ...) TRACE( #__VA_ARGS__ ) +uint8_t read_byte_rom(uint8_t * str) { + return pgm_read_byte(str); +} -//typedef int (* pf_bsearch_cb_comp_t)(void *userdata, size_t idx, void * data_pin); /*"data_list[idx] - *data_pin"*/ -/** - * @brief 折半方式查找记录 - * - * @param userdata : 用户数据指针 - * @param num_data : 数据个数 - * @param cb_comp : 比较两个数据的回调函数 - * @param data_pinpoint : 所要查找的 匹配数据指针 - * @param ret_idx : 查找到的位置;如果没有找到,则返回如添加该记录时其所在的位置。 - * - * @return 找到则返回0,否则返回<0 - * - * 折半方式查找记录, psl->marr 中指向的数据已经以先小后大方式排好序 - */ /** * @brief Using binary search to find the position by data_pin * @@ -83,21 +40,11 @@ uint8_t read_byte_rom(uint8_t * str) { return pgm_read_byte(str); } int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, void *data_pinpoint, size_t *ret_idx) { int retcomp; - FU_ASSERT(NULL != ret_idx); - /* 查找合适的位置 */ if (num_data < 1) { *ret_idx = 0; - DBGMSG (PFDBG_CATLOG_PF, PFDBG_LEVEL_ERROR, "num_data(%" PRIuSZ ") < 1", num_data); return -1; } - /* 折半查找 */ - /* 为了不出现负数,以免缩小索引的所表示的数据范围 - * (负数表明减少一位二进制位的使用), - * 内部 ileft 和 iright使用从1开始的下标, - * 即1表示C语言中的0, 2表示语言中的1,以此类推。 - * 对外还是使用以 0 为开始的下标 - */ size_t i = 0, ileft = 1, iright = num_data; bool flg_found = false; for (; ileft <= iright;) { @@ -123,28 +70,15 @@ int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, *ret_idx = i; else if (ileft >= i + 2) *ret_idx = i + 1; - //DBGMSG (PFDBG_CATLOG_PF, PFDBG_LEVEL_DEBUG, "not found! num_data=%" PRIuSZ "; ileft=%" PRIuSZ ", iright=%" PRIuSZ ", i=%" PRIuSZ "", num_data, ileft, iright, i); return -1; } -/** - * @brief 转换 UTF-8 编码的一个字符为本地的 Unicode 字符(wchar_t) - * - * @param pstart : 存储 UTF-8 字符的指针 - * @param cb_read_byte : 读取字符的函数;用于8位MCU ROM - * @param pval : 需要返回的 Unicode 字符存放地址指针 - * - * @return 成功返回下个 UTF-8 字符的位置 - * - * 转换 UTF-8 编码的一个字符为本地的 Unicode 字符(wchar_t) - */ +/* 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; - FU_ASSERT(NULL != pstart); - FU_ASSERT(NULL != cb_read_byte); - uint8_t valcur = cb_read_byte(p); if (0 == (0x80 & valcur)) { val = valcur; @@ -216,113 +150,34 @@ uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t val |= (valcur & 0x3F); p++; } - else if (0x80 == (0xC0 & valcur)) { - /* error? */ - TRACE("ERR 1"); + else if (0x80 == (0xC0 & valcur)) for (; 0x80 == (0xC0 & valcur); ) { p++; valcur = cb_read_byte(p); } - } - else { - /* error */ - TRACE("ERR 2"); + else for (; ((0xFE & valcur) > 0xFC); ) { p++; valcur = cb_read_byte(p); } - } - /* - if (val == 0) { - p = NULL; - */ - /* - } - else if (pstart + maxlen < p) { - p = pstart; - if (pval) *pval = 0; - } - */ if (pval) *pval = val; return p; } -// uint8_t * get_utf8_value_cb (uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval); -int utf8_strlen_cb(const char *pstart, read_byte_cb_t cb_read_byte) { - wchar_t ch; - uint8_t *pnext; - int cnt = 0; +static inline uint8_t utf8_strlen_cb(const char *pstart, read_byte_cb_t cb_read_byte) { - for (pnext = (uint8_t *)pstart; ; ) { + 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 (pnext == NULL || ch == 0) break; + if (!ch) break; cnt++; - TRACE("cnt=%d, ch=0x%X", cnt, (int)ch); } return cnt; } -int -my_strlen_P(const char *pstart) -{ - const char *p; - FU_ASSERT(NULL != pstart); - p = pstart; - while (p && pgm_read_byte(p) != '\0') p ++; - return (p - pstart); +uint8_t utf8_strlen(const char *pstart) { + return utf8_strlen_cb(pstart, read_byte_ram); } -uint8_t utf8_strlen(const char *pstart) { return utf8_strlen_cb(pstart, read_byte_ram); } -uint8_t utf8_strlen_P(const char *pstart) { return utf8_strlen_cb(pstart, read_byte_rom); } - -char* utf8_strncpy_cb( char * destination, const char *source, size_t num, int len_src, read_byte_cb_t cb_read_byte) { - uint8_t *p = (uint8_t *)source; - uint8_t *d = (uint8_t *)destination; - - FU_ASSERT(NULL != destination); - FU_ASSERT(NULL != source); - FU_ASSERT(NULL != cb_read_byte); - - uint8_t *pend = p + len_src; - - while (p < pend) { - uint8_t valcur = cb_read_byte(p); - size_t len = 0; - if (0 == (0x80 & valcur)) - len = 1; - else if (0xC0 == (0xE0 & valcur)) - len = 2; - else if (0xE0 == (0xF0 & valcur)) - len = 3; - else if (0xF0 == (0xF8 & valcur)) - len = 4; - else if (0xF8 == (0xFC & valcur)) - len = 5; - else if (0xFC == (0xFE & valcur)) - len = 6; - else if (0x80 == (0xC0 & valcur)) { - /* error? */ - for (; 0x80 == (0xC0 & valcur) && (p < pend); ) { p++; valcur = cb_read_byte(p); } - } - else { - /* error */ - for (; ((0xFE & valcur) > 0xFC) && (p < pend); ) { p++; valcur = cb_read_byte(p); } - } - if (len < num) { - for (size_t i = 0; i < len; i++) { - valcur = cb_read_byte(p); - *d = valcur; - d++; - p++; - } - } - else - break; - } - *d = 0; - return destination; -} - -char* utf8_strncpy(char * destination, const char * source, size_t num) { - return utf8_strncpy_cb(destination, source, num, strlen(source), read_byte_ram); +uint8_t utf8_strlen_P(const char *pstart) { + return utf8_strlen_cb(pstart, read_byte_rom); } -char* utf8_strncpy_P(char * destination, const char * source, size_t num) { - return utf8_strncpy_cb(destination, source, num, my_strlen_P(source), read_byte_rom); -} diff --git a/Marlin/src/lcd/fontutils.h b/Marlin/src/lcd/fontutils.h index d44537a8eb68..b2eca477a3b1 100644 --- a/Marlin/src/lcd/fontutils.h +++ b/Marlin/src/lcd/fontutils.h @@ -9,151 +9,41 @@ #ifndef _FONT_UTILS_H #define _FONT_UTILS_H -#define DEBUG 0 - -#ifdef ARDUINO - #include -#else // ARDUINO - #include - #include - #include -#endif // ARDUINO - -#ifndef pgm_read_word_near // __AVR__ - #include - #include - #include - //#define pgm_read_word_near(a) *((uint16_t *)(a)) - #define pgm_read_word_near(a) (*(a)) - #define pgm_read_byte_near(a) *((uint8_t *)(a)) - #define pgm_read_byte pgm_read_byte_near -#elif defined(__AVR__) - #include -#endif - -#ifndef PROGMEM - #define PROGMEM - #define strlen_P strlen - #define memcpy_P memcpy - #define vsnprintf_P vsnprintf -#endif // PROGMEM - -#ifdef __cplusplus -extern "C" { -#endif +#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); +typedef uint8_t (*read_byte_cb_t)(uint8_t * str); -//inline uint8_t read_byte_ram(uint8_t * str) { return *str; } -//inline uint8_t read_byte_rom(uint8_t * str) { return pgm_read_byte(str); } uint8_t read_byte_ram(uint8_t * str); uint8_t read_byte_rom(uint8_t * str); -#ifdef __cplusplus -} -#endif - -#include // wchar_t -#include // uint32_t - -#ifdef ARDUINO - - // there's overflow of the wchar_t due to the 2-byte size in Arduino - // sizeof(wchar_t)=2; sizeof(size_t)=2; sizeof(uint32_t)=4; - // sizeof(int)=2; sizeof(long)=4; sizeof(unsigned)=2; - //#undef wchar_t - #define wchar_t uint32_t - //typedef uint32_t wchar_t; - -#else - - #include // ssize_t - #include - // x86_64 - // sizeof(wchar_t)=4; sizeof(size_t)=8; sizeof(uint32_t)=4; - // sizeof(int)=4; sizeof(long)=8; sizeof(unsigned)=4; - //#define wchar_t uint32_t - #define wchar_t size_t - - #ifndef PRIu32 - #define PRIu32 "lu" - #endif - #ifndef PRIX32 - #define PRIX32 "lX" - #endif - -#endif - -#define UNUSED_VARIABLE(a) ((void)(a)) - -#ifndef MIN - #define MIN(a,b) (((a)>(b))?(b):(a)) -#endif +// 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 // NUM_ARRAY - - -#ifdef __cplusplus -extern "C" { #endif -//#define pixel_len_t u8g_uint_t -#define pixel_len_t uint16_t -//#define pixel_len_t uint8_t -//typedef uint16_t pixel_len_t; +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); -//wchar_t get_val_utf82uni(uint8_t *pstart); -//uint8_t * get_utf8_value(uint8_t *pstart, wchar_t *pval); -uint8_t * get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval); +/* 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); -char * utf8_strncpy(char * destination, const char * source, size_t num); -char * utf8_strncpy_P(char * destination, const char * source, size_t num); -int my_strlen_P(const char *pstart); - -#if 0 // DEBUG -#if 0 //defined(ARDUINO) -#if defined(__AVR__) -#define TRACE(fmt, ...) {static const PROGMEM char CONSTSTR[] = "%d %d " fmt " {ln:%d;}\n"; serial_printf_P(CONSTSTR, millis(), ##__VA_ARGS__, __LINE__); } -#else -#define TRACE(fmt, ...) {static const PROGMEM char CONSTSTR[] = "%d " fmt " {ln:%d, fn:" __FILE__ "}\n"; serial_printf_P(CONSTSTR, millis(), ##__VA_ARGS__, __LINE__); } -#endif -#define FU_ASSERT(a) if (!(a)) {TRACE("Assert: " # a ); } - -#ifdef __cplusplus -extern "C" { -#endif -void serial_printf_P(const char *format, ...); -#ifdef __cplusplus -} -#endif - -#else // ARDUINO -#include -#define FU_ASSERT(a) if (!(a)) {printf("Assert: " # a); exit(1);} -#define TRACE(fmt, ...) fprintf(stdout, "[%s()] " fmt " {ln:%d, fn:" __FILE__ "}\n", __func__, ##__VA_ARGS__, __LINE__) -//#else -//#define FU_ASSERT(a) -//#define TRACE(...) -#endif // ARDUINO - -#else // DEBUG - #define TRACE(fmt, ...) - #define FU_ASSERT(a) -#endif // DEBUG - - -#ifdef __cplusplus -} -#endif - #endif // _FONT_UTILS_H 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_cz.h b/Marlin/src/lcd/language/language_cz.h index 51eb2d14c3ec..4a30f928d617 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -35,7 +35,6 @@ #ifndef LANGUAGE_CZ_UTF_H #define LANGUAGE_CZ_UTF_H -#define MAPPER_C3C4C5_CZ #define DISPLAY_CHARSET_ISO10646_CZ #define CHARSIZE 2 @@ -53,6 +52,7 @@ #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") @@ -149,8 +149,7 @@ #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_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á") @@ -258,7 +257,6 @@ #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. ") @@ -307,9 +305,7 @@ #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_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") 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 cc47320b2d81..577171b0df0a 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -85,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 @@ -371,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") @@ -540,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 @@ -666,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 @@ -681,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") @@ -742,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") @@ -769,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") @@ -831,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") diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index 0fcdaa8f10b2..101f38220b88 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_ES_UTF_H #define LANGUAGE_ES_UTF_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 @@ -48,6 +47,7 @@ #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") @@ -146,7 +146,6 @@ #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") @@ -186,9 +185,7 @@ #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") 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 dbc4e24daf4c..dbff74c3489a 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_FR_UTF_H #define LANGUAGE_FR_UTF_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 @@ -48,6 +47,7 @@ #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") @@ -145,8 +145,7 @@ #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_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") @@ -254,7 +253,6 @@ #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.") @@ -304,9 +302,7 @@ #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") 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_jp-kana.h b/Marlin/src/lcd/language/language_jp-kana.h index 448fe9595890..eedfa20cd6fc 100644 --- a/Marlin/src/lcd/language/language_jp-kana.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_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.h b/Marlin/src/lcd/language/language_pl.h index d0bba38b800d..6ac55ff47e7b 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -27,7 +27,6 @@ #ifndef LANGUAGE_PL_DOGM_H #define LANGUAGE_PL_DOGM_H -#define MAPPER_C3C4C5_PL #define DISPLAY_CHARSET_ISO10646_PL #define CHARSIZE 2 @@ -43,6 +42,7 @@ #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.") @@ -149,7 +149,6 @@ #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. ") @@ -189,9 +188,7 @@ #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") diff --git a/Marlin/src/lcd/language/language_pt-br.h b/Marlin/src/lcd/language/language_pt-br.h index ac7aeb659d30..0d7ffe84c4a6 100644 --- a/Marlin/src/lcd/language/language_pt-br.h +++ b/Marlin/src/lcd/language/language_pt-br.h @@ -31,8 +31,9 @@ #ifndef LANGUAGE_PT_BR_UTF_H #define LANGUAGE_PT_BR_UTF_H -#define MAPPER_C2C3 -#define DISPLAY_CHARSET_ISO10646_1 +// Put characters here that should be displayed with M117 +//_UxGT("áãàçÉéêíóõ") + #define CHARSIZE 2 #define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.") @@ -49,6 +50,7 @@ #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") @@ -147,8 +149,7 @@ #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_ON _UxGT("Luz Acesa") -#define MSG_LEDS_OFF _UxGT("Luz Apagada") +#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") @@ -258,7 +259,6 @@ #define MSG_NO_CARD _UxGT("Sem cartão SD") #define MSG_DWELL _UxGT("ZzZzZz...") #define MSG_USERWAIT _UxGT("Clique para retomar") -#define MSG_RESUMING _UxGT("Resumindo Impressão") #define MSG_PRINT_ABORTED _UxGT("Impressão Abortada") #define MSG_NO_MOVE _UxGT("Sem movimento") #define MSG_KILLED _UxGT("PARADA DE EMERGÊNCIA") @@ -297,9 +297,7 @@ #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_HEATING_COMPLETE _UxGT("Aquecida.") -#define MSG_BED_HEATING _UxGT("Aquecendo base..") -#define MSG_BED_DONE _UxGT("Base aquecida.") +#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") diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 5933bcba77ae..a3e1256f6aec 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -31,7 +31,6 @@ #ifndef LANGUAGE_PT_UTF_H #define LANGUAGE_PT_UTF_H -#define MAPPER_C2C3 #define DISPLAY_CHARSET_ISO10646_1 #define CHARSIZE 2 @@ -45,6 +44,7 @@ #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") @@ -146,7 +146,6 @@ #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. ") @@ -178,9 +177,7 @@ #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_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") 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.h b/Marlin/src/lcd/language/language_sk.h index e8c3f8c5edba..a7ff8a7bc47e 100644 --- a/Marlin/src/lcd/language/language_sk.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 8dda8ff574fc..7b15a57000de 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -30,7 +30,6 @@ #ifndef LANGUAGE_TR_H #define LANGUAGE_TR_H -#define MAPPER_C2C3_TR #define DISPLAY_CHARSET_ISO10646_TR #define CHARSIZE 2 @@ -48,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 @@ -157,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. @@ -197,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 index 009611071d18..c26640165285 100644 --- a/Marlin/src/lcd/lcdprint.h +++ b/Marlin/src/lcd/lcdprint.h @@ -17,11 +17,7 @@ #include "u8g_fontutf8.h" #endif -#define PRINTABLE(C) (((C) & 0xC0u) != 0x80u) - -#ifdef __cplusplus - extern "C" { -#endif +#define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) int lcd_glyph_height(void); @@ -49,15 +45,11 @@ int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length); * * Draw a ROM UTF-8 string */ -int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length); +int lcd_put_u8str_max_P(const char * utf8_str_P, pixel_len_t max_length); void lcd_moveto(int col, int row); -#ifdef __cplusplus - } -#endif - -#define lcd_put_u8str_rom(str) lcd_put_u8str_max_rom(str, PIXEL_LEN_NOLIMIT) +inline int lcd_put_u8str_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); } diff --git a/Marlin/src/lcd/lcdprint_hd44780.cpp b/Marlin/src/lcd/lcdprint_hd44780.cpp index d9ea80f8fbc4..03bc70fd3233 100644 --- a/Marlin/src/lcd/lcdprint_hd44780.cpp +++ b/Marlin/src/lcd/lcdprint_hd44780.cpp @@ -24,20 +24,13 @@ #include "fontutils.h" #include "lcdprint.h" -#if defined(ARDUINO) - #include "ultralcd_common_HD44780.h" - #ifndef LCD_CLASS - #include - #define LCD_CLASS LiquidCrystal - #endif - extern LCD_CLASS lcd; - LCD_CLASS *plcd = &lcd; - #define _lcd_write(a) plcd->write(a) - #define _lcd_setcursor(col, row) plcd->setCursor((col), (row)); -#else - #define _lcd_write(a) TRACE("Write LCD: %c (%d)", (a), (int)(a)); - #define _lcd_setcursor(col, row) TRACE("Set cursor LCD: (%d,%d)", (col), (row)); +#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; } @@ -95,7 +88,7 @@ static const hd44780_charmap_t g_hd44780_charmap_device[] PROGMEM = { {IV('「'), 0xA2, 0}, {IV('」'), 0xA3, 0}, {IV('゛'), 0xDE, 0}, // ‶ - {IV('゜'), 0xDF, 0}, // '〫' + {IV('゜'), 0xDF, 0}, // '〫' {IV('゠'), '=', 0}, {IV('ァ'), 0xA7, 0}, {IV('ア'), 0xB1, 0}, @@ -494,7 +487,7 @@ static const hd44780_charmap_t g_hd44780_charmap_device[] PROGMEM = { {IV('¼'), 0xF0, 0}, // 00BC - //{IV('¹/³'), 0xF1, 0}, + {IV('⅓'), 0xF1, 0}, {IV('½'), 0xF2, 0}, // 00BD {IV('¾'), 0xF3, 0}, // 00BE {IV('¿'), 0xCD, 0}, // 00BF @@ -782,54 +775,54 @@ static const hd44780_charmap_t g_hd44780_charmap_common[] PROGMEM = { {IV('ώ'), 'w', 0}, // 03CE // map CYRILLIC code to the plain ASCII - {IV('Ё'), 'E', 0}, // 0401, error 'E' + '``'(0xDE) - {IV('А'), 'A', 0}, // 0410 'А' - {IV('Б'), 'b', 0}, // 0411, error (0x01) + {IV('Ё'), 'E', 0}, // 0401 + {IV('А'), 'A', 0}, // 0410 + {IV('Б'), 'b', 0}, // 0411 {IV('В'), 'B', 0}, // 0412 - {IV('Г'), 'T', 0}, // 0413, error (0x02) - {IV('Д'), 'Q', 0}, // 0414, error (0x03) + {IV('Г'), 'T', 0}, // 0413 + {IV('Д'), 'Q', 0}, // 0414 {IV('Е'), 'E', 0}, // 0415 - {IV('Ж'), '*', 0}, // 0416, error 'E' + ''(0xC8) + {IV('Ж'), '*', 0}, // 0416 {IV('З'), 'E', 0}, // 0417 - {IV('И'), 'N', 0}, // 0418, error (0x05) - {IV('Й'), 'N', 0}, // 0419, error (0x05 + '`'0x60) + {IV('И'), 'N', 0}, // 0418 + {IV('Й'), 'N', 0}, // 0419 {IV('К'), 'K', 0}, // 041A - {IV('Л'), 'T', 0}, // 041B, error (0x06) + {IV('Л'), 'T', 0}, // 041B {IV('М'), 'M', 0}, // 041C {IV('Н'), 'H', 0}, // 041D {IV('О'), 'O', 0}, // 041E - {IV('П'), 'n', 0}, // 041F, error (0x04) + {IV('П'), 'n', 0}, // 041F {IV('Р'), 'P', 0}, // 0420 {IV('С'), 'C', 0}, // 0421 {IV('Т'), 'T', 0}, // 0422 {IV('У'), 'Y', 0}, - {IV('Ф'), 'o', 0}, // error ('E' + '¢'0xEC) + {IV('Ф'), 'o', 0}, {IV('Х'), 'X', 0}, - {IV('Ц'), 'U', 0}, // error (0x07) - {IV('Ч'), 'y', 0}, // error ('ム'0xD1) + {IV('Ц'), 'U', 0}, + {IV('Ч'), 'y', 0}, {IV('Ш'), 'W', 0}, - {IV('Щ'), 'W', 0}, // error ('ミ'0xD0) - {IV('Ъ'), 'b', 0}, // error ('「'0xA2 + 'b') - {IV('Ы'), 'b', '|'}, // error ('b' + '|'}, + {IV('Щ'), 'W', 0}, + {IV('Ъ'), 'b', 0}, + {IV('Ы'), 'b', '|'}, {IV('Ь'), 'b'}, - {IV('Э'), 'e'}, // error ('ヨ'0xD6) - {IV('Ю'), '|', 'O'}, // error ('ト'0xC4 + 'O'} + {IV('Э'), 'e'}, + {IV('Ю'), '|', 'O'}, {IV('Я'), '9', '|'}, // 042F {IV('а'), 'a', 0}, // 0430 {IV('б'), '6', 0}, // 0431 - {IV('в'), 'B', 0}, // 0432, error ('β'0xE2) + {IV('в'), 'B', 0}, // 0432, {IV('г'), 'r', 0}, // 0433 - {IV('д'), 'a', 0}, // 0434, error (''0xE5) + {IV('д'), 'a', 0}, // 0434, {IV('е'), 'e', 0}, // 0435 {IV('ж'), '*', 0}, // 0436 - {IV('з'), 'e', 0}, // 0437, error (''0xAE) + {IV('з'), 'e', 0}, // 0437, {IV('и'), 'u', 0}, // 0438 - {IV('й'), 'u', 0}, // 0439, error ('u' + ''0x60) + {IV('й'), 'u', 0}, // 0439, {IV('к'), 'k', 0}, // 043A - {IV('л'), 'n', 0}, // error ('ハ'0xCA) + {IV('л'), 'n', 0}, {IV('м'), 'm', 0}, - {IV('н'), 'H', 0}, // error ('円'0xFC) + {IV('н'), 'H', 0}, {IV('о'), 'o', 0}, {IV('п'), 'n', 0}, {IV('р'), 'p', 0}, @@ -838,25 +831,25 @@ static const hd44780_charmap_t g_hd44780_charmap_common[] PROGMEM = { {IV('у'), 'y', 0}, {IV('ф'), 'q', 'p'}, {IV('х'), 'x', 0}, - {IV('ц'), 'u', 0}, // error ('u' + ''0xA4) - {IV('ч'), 'y', 0}, // error (''0xF9) + {IV('ц'), 'u', 0}, + {IV('ч'), 'y', 0}, {IV('ш'), 'w', 0}, - {IV('щ'), 'w', 0}, // error ('ッ'0xAF) - {IV('ъ'), 'b', 0}, // error ('「'0xA2+'b') - {IV('ы'), 'b', '|'}, // error ('b'+'|') + {IV('щ'), 'w', 0}, + {IV('ъ'), 'b', 0}, + {IV('ы'), 'b', '|'}, {IV('ь'), 'b', 0}, - {IV('э'), 'e', 0}, // error ('ヲ'0xA6) - {IV('ю'), '|', 'o'}, // error ('ェ'0xAA+'o') + {IV('э'), 'e', 0}, + {IV('ю'), '|', 'o'}, {IV('я'), 'g', 0}, // 044F - {IV('ё'), 'e', 0}, // 0451, error ('e'+''0xDE) + {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('→'), '-', '>'}, // 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 @@ -868,7 +861,8 @@ static const hd44780_charmap_t g_hd44780_charmap_common[] PROGMEM = { {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) @@ -877,25 +871,10 @@ static const hd44780_charmap_t g_hd44780_charmap_common[] PROGMEM = { /* return v1 - v2 */ static int hd44780_charmap_compare(hd44780_charmap_t * v1, hd44780_charmap_t * v2) { - FU_ASSERT(NULL != v1); - FU_ASSERT(NULL != v2); - TRACE("compare char1 %" PRIu32 "(0x%" PRIX32 ")", v1->uchar, v1->uchar); - TRACE("compare char2 %" PRIu32 "(0x%" PRIX32 ")", v2->uchar, v2->uchar); - if (v1->uchar < v2->uchar) { - TRACE("compare return -1"); + if (v1->uchar < v2->uchar) return -1; - } else if (v1->uchar > v2->uchar) { - TRACE("compare return 1"); + else if (v1->uchar > v2->uchar) return 1; - } - #if 0 - if (v1->idx < v2->idx) { - return -1; - } else if (v1->idx > v2->idx) { - return 1; - } - #endif - TRACE("compare return 0"); return 0; } @@ -908,9 +887,7 @@ static int pf_bsearch_cb_comp_hd4map_pgm(void *userdata, size_t idx, void * data #if DEBUG -int -test_hd44780_charmap(hd44780_charmap_t *data, size_t size, char *name, char flg_show_contents) -{ +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}; @@ -962,9 +939,7 @@ test_hd44780_charmap(hd44780_charmap_t *data, size_t size, char *name, char flg_ return 0; } -int -test_hd44780_charmap_all(void) -{ +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; @@ -985,18 +960,17 @@ test_hd44780_charmap_all(void) #endif // DEBUG void lcd_moveto(int col, int row) { - TRACE("Move to: (%d,%d)", col, row); - _lcd_setcursor(col, 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 localval; hd44780_charmap_t *copy_address = NULL; pinval.uchar = c; pinval.idx = -1; @@ -1005,37 +979,33 @@ int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) { // TODO: fix the '\\' that doesnt exist in the HD44870 if (c < 128) { - //TRACE("draw char: regular %d", (int)c); - _lcd_write((uint8_t)c); + 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 { + } + 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) copy_address = (hd44780_charmap_t *)(g_hd44780_charmap_common + idx); } if (ret >= 0) { + hd44780_charmap_t localval; // found - FU_ASSERT(NULL != copy_address); memcpy_P(&localval, copy_address, sizeof(localval)); - FU_ASSERT((localval.uchar == c) && (localval.uchar == pinval.uchar)); - TRACE("draw char: %" PRIu32 "(0x%" PRIX32 ") at ROM %d(+%d)", c, c, (int)localval.idx, (int)localval.idx2); - _lcd_write(localval.idx); + plcd->write(localval.idx); if (max_length >= 2 && localval.idx2 > 0) { - _lcd_write(localval.idx2); + plcd->write(localval.idx2); return 2; } return 1; } - // print '?' instead - TRACE("draw char: Not found " PRIu32 "(0x%" PRIX32 ")", c, c); - _lcd_write((uint8_t)'?'); + + // Not found, print '?' instead + plcd->write((uint8_t)'?'); return 1; } @@ -1043,7 +1013,6 @@ 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 len : the byte length of the string (returned by strlen(utf8_str) or strlen_P(utf8_str) ) * @param cb_read_byte : the callback function to read one byte from the utf8_str (from RAM or ROM) * @param max_length : the pixel length of the string allowed (or number of slots in HD44780) * @@ -1051,39 +1020,24 @@ int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) { * * Draw a UTF-8 string */ -static int lcd_put_u8str_max_cb(const char * utf8_str, uint16_t len, uint8_t (*cb_read_byte)(uint8_t * str), pixel_len_t max_length) { - wchar_t ch; - uint8_t *p, *pend; +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; - - TRACE("BEGIN lcd_put_u8str_max_cb(len=%d, maxlen=%d)", len, max_length); - pend = (uint8_t *)utf8_str + len; - for (p = (uint8_t *)utf8_str; (p < pend) && (ret < max_length); ) { - ch = 0; + 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 (NULL == p) { - TRACE("No more char, break ..."); - break; - } - FU_ASSERT(ret < max_length); + 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) { - //TRACE("BEGIN lcd_put_u8str_max(str='%s', len=%d, maxlen=%d)", utf8_str, strlen(utf8_str), max_length); - TRACE("BEGIN lcd_put_u8str_max(str='%s')", utf8_str); - TRACE("BEGIN lcd_put_u8str_max('len=%d)", strlen(utf8_str)); - TRACE("BEGIN lcd_put_u8str_max(maxlen=%d)", max_length); - return lcd_put_u8str_max_cb(utf8_str, strlen(utf8_str), read_byte_ram, max_length); + return lcd_put_u8str_max_cb(utf8_str, read_byte_ram, max_length); } -int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length) { - //TRACE("BEGIN lcd_put_u8str_max_rom('%s', len=%d, maxlen=%d)", utf8_str_P, strlen_P(utf8_str_P), max_length); - TRACE("BEGIN lcd_put_u8str_max_rom(len=%d)", strlen_P(utf8_str_P)); - TRACE("BEGIN lcd_put_u8str_max_rom(maxlen=%d)", max_length); - return lcd_put_u8str_max_cb(utf8_str_P, strlen_P(utf8_str_P), read_byte_rom, max_length); +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 diff --git a/Marlin/src/lcd/lcdprint_u8g.cpp b/Marlin/src/lcd/lcdprint_u8g.cpp index c82c3fd0a478..39ac8acc3002 100644 --- a/Marlin/src/lcd/lcdprint_u8g.cpp +++ b/Marlin/src/lcd/lcdprint_u8g.cpp @@ -8,11 +8,8 @@ */ #include "../inc/MarlinConfigPre.h" -#include "../inc/MarlinConfig.h" -#define USE_LCDPRINT_U8G ENABLED(ULTRA_LCD) && ENABLED(DOGLCD) - -#if USE_LCDPRINT_U8G +#if ENABLED(DOGLCD) #include extern U8GLIB *pu8g; @@ -28,25 +25,22 @@ extern U8GLIB *pu8g; int lcd_glyph_height(void) { return u8g_GetFontBBXHeight(pu8g->getU8g()); - //return u8g_GetFontBBXOffY(pu8g->getU8g()); } void lcd_moveto(int col, int row) { - TRACE("Move to: (%d,%d)", col, row); _lcd_setcursor(col, row); } +// return < 0 on error +// return the advanced pixels int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) { if (c < 256) { - TRACE("draw char: regular %d", (int)c); _lcd_write((char)c); return u8g_GetFontBBXWidth(pu8g->getU8g()); } unsigned int x = pu8g->getPrintCol(), y = pu8g->getPrintRow(), ret = uxg_DrawWchar(pu8g->getU8g(), x, y, c, max_length); - TRACE("uxg_DrawWchar(x=%d,y=%d,maxlen=%d", x, y, max_length); - TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y); pu8g->setPrintPos(x + ret, y); return ret; @@ -56,25 +50,16 @@ int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length) { unsigned int x = pu8g->getPrintCol(), y = pu8g->getPrintRow(), ret = uxg_DrawUtf8Str(pu8g->getU8g(), x, y, utf8_str, max_length); - TRACE("uxg_DrawUtf8Str(x=%d,y=%d,maxlen=%d", x, y, max_length); - TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y); pu8g->setPrintPos(x + ret, y); return ret; } -int lcd_put_u8str_max_rom(const char * utf8_str_P, pixel_len_t max_length) { +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); - TRACE("uxg_DrawUtf8StrP(x=%d,y=%d,maxlen=%d", x, y, max_length); - TRACE("u8g->setPrintPos(x=%d + ret=%d,y=%d", x, ret, y); pu8g->setPrintPos(x + ret, y); return ret; } -#else // !USE_LCDPRINT_U8G - -#define _lcd_write(a) TRACE("Write LCD: %c (%d)", (a), (int)(a)); -#define _lcd_setcursor(col, row) TRACE("Set cursor LCD: (%d,%d)", (col), (row)); - -#endif // !USE_LCDPRINT_U8G +#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.c b/Marlin/src/lcd/u8g_fontutf8.cpp similarity index 68% rename from Marlin/src/lcd/u8g_fontutf8.c rename to Marlin/src/lcd/u8g_fontutf8.cpp index 8c0827582cfc..b79d9906ebb3 100644 --- a/Marlin/src/lcd/u8g_fontutf8.c +++ b/Marlin/src/lcd/u8g_fontutf8.cpp @@ -1,5 +1,5 @@ /** - * @file fontutf8.c + * @file u8g_fontutf8.cpp * @brief font api for u8g lib * @author Yunhui Fu (yhfudev@gmail.com) * @version 1.0 @@ -7,36 +7,16 @@ * @copyright GPL/BSD */ +#include "../inc/MarlinConfigPre.h" + +#if ENABLED(DOGLCD) + #include #include "fontutils.h" #include "u8g_fontutf8.h" //////////////////////////////////////////////////////////// -#define font_t void - -#ifndef PSTR -#define PSTR(a) a - -void * -memcpy_from_rom(void *dest, const void * rom_src, size_t sz) -{ - uint8_t * p; - uint8_t * s; - - FU_ASSERT(NULL != dest); - p = dest; - s = rom_src; - uint8_t c; - while ((p - (uint8_t *)dest) < sz) { - *p = pgm_read_byte(s); - p ++; - s ++; - } - return p; -} -#else -#define memcpy_from_rom memcpy_P -#endif +typedef void font_t; /** * @brief the callback function to draw something @@ -51,25 +31,14 @@ memcpy_from_rom(void *dest, const void * rom_src, size_t sz) */ typedef int (* fontgroup_cb_draw_t)(void *userdata, const font_t *fnt_current, const char *msg); -//extern int fontgroup_init(font_group_t * root, const uxg_fontinfo_t * fntinfo, int number); -//extern int fontgroup_drawstring(font_group_t *group, const font_t *fnt_default, const char *utf8_msg, void *userdata, fontgroup_cb_draw_t cb_draw); -//extern uxg_fontinfo_t* fontgroup_first(font_group_t * root); - - //////////////////////////////////////////////////////////// /* return v1 - v2 */ static int fontinfo_compare(uxg_fontinfo_t * v1, uxg_fontinfo_t * v2) { - FU_ASSERT(NULL != v1); - FU_ASSERT(NULL != v2); - if (v1->page < v2->page) - return -1; - else if (v1->page > v2->page) - return 1; + if (v1->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; + if (v1->end < v2->begin) return -1; + else if (v1->begin > v2->end) return 1; return 0; } @@ -78,8 +47,8 @@ static int fontinfo_compare(uxg_fontinfo_t * v1, uxg_fontinfo_t * v2) { static int pf_bsearch_cb_comp_fntifo_pgm (void *userdata, size_t idx, void *data_pin) { uxg_fontinfo_t *fntinfo = (uxg_fontinfo_t*)userdata; uxg_fontinfo_t localval; - memcpy_from_rom(&localval, fntinfo + idx, sizeof(localval)); - return fontinfo_compare(&localval, data_pin); + memcpy_P(&localval, fntinfo + idx, sizeof(localval)); + return fontinfo_compare(&localval, (uxg_fontinfo_t*)data_pin); } typedef struct _font_group_t { @@ -90,12 +59,11 @@ typedef struct _font_group_t { static int fontgroup_init(font_group_t * root, const uxg_fontinfo_t * fntinfo, int number) { root->m_fntifo = fntinfo; root->m_fntinfo_num = number; - return 0; } static const font_t* fontgroup_find(font_group_t * root, wchar_t val) { - uxg_fontinfo_t vcmp = {val / 128, val % 128 + 128, val % 128 + 128, 0, 0}; + 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; @@ -103,26 +71,23 @@ static const font_t* fontgroup_find(font_group_t * root, wchar_t val) { if (pf_bsearch_r((void*)root->m_fntifo, root->m_fntinfo_num, pf_bsearch_cb_comp_fntifo_pgm, (void*)&vcmp, &idx) < 0) return NULL; - memcpy_from_rom(&vcmp, root->m_fntifo + idx, sizeof(vcmp)); + 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 = NULL; - - TRACE("fontgroup_drawwchar char=%d(0x%X)", (int)val, (int)val); - fntpqm = (font_t*)fontgroup_find(group, val); - if (NULL == fntpqm) { + 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; - TRACE("Unknown char %d(0x%X), use default font", (int)val, (int)val); } if (fnt_default != fntpqm) { buf[0] = (uint8_t)(val & 0x7F); buf[0] |= 0x80; // use upper page to avoid 0x00 error in C. you may want to generate the font data } - //TRACE("set font: %p; (default=%p)", fntpqm, UXG_DEFAULT_FONT); + cb_draw_ram (userdata, fntpqm, (char*) buf); } @@ -140,31 +105,27 @@ static void fontgroup_drawwchar(font_group_t *group, const font_t *fnt_default, * * Get the screen pixel width of a ROM UTF-8 string */ -static void fontgroup_drawstring(font_group_t *group, const font_t *fnt_default, const char *utf8_msg, int len_msg, read_byte_cb_t cb_read_byte, void * userdata, fontgroup_cb_draw_t cb_draw_ram) { - uint8_t *pend = (uint8_t*)utf8_msg + len_msg; - for (uint8_t *p = (uint8_t*)utf8_msg; p < pend; ) { +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 (NULL == p) { - TRACE("No more char, break ..."); - break; - } + if (!val) break; fontgroup_drawwchar(group, fnt_default, val, userdata, cb_draw_ram); } } //////////////////////////////////////////////////////////// -static char flag_fontgroup_inited1 = 0; -#define flag_fontgroup_inited flag_fontgroup_inited1 +static bool flag_fontgroup_was_inited = false; static font_group_t g_fontgroup_root = {NULL, 0}; /** * @brief check if font is loaded */ -char uxg_Utf8FontIsInited(void) { return flag_fontgroup_inited; } +static inline bool uxg_Utf8FontIsInited(void) { return flag_fontgroup_was_inited; } int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number) { - flag_fontgroup_inited = 1; + flag_fontgroup_was_inited = 1; return fontgroup_init(&g_fontgroup_root, fntinfo, number); } @@ -177,22 +138,17 @@ struct _uxg_drawu8_data_t { const void * fnt_prev; }; -static int fontgroup_cb_draw_u8g (void *userdata, const font_t *fnt_current, const char *msg) { - struct _uxg_drawu8_data_t * pdata = userdata; +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; - FU_ASSERT(NULL != userdata); if (pdata->fnt_prev != fnt_current) { - u8g_SetFont(pdata->pu8g, 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)) { - TRACE("return end, adv=%d, width=%d, maxlen=%d", pdata->adv, u8g_GetStrPixelWidth(pdata->pu8g, (char*)msg), pdata->max_width); + if ((pdata->max_width != PIXEL_LEN_NOLIMIT) && (pdata->adv + u8g_GetStrPixelWidth(pdata->pu8g, (char*)msg) > pdata->max_width)) return 1; - } - TRACE("Draw string 0x%X", (int)msg[0]); pdata->adv += u8g_DrawStr(pdata->pu8g, pdata->x + pdata->adv, pdata->y, (char*) msg); - //TRACE("adv pos= %d", pdata->adv); return 0; } @@ -225,7 +181,7 @@ unsigned int uxg_DrawWchar(u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t data.max_width = max_width; data.fnt_prev = NULL; fontgroup_drawwchar(group, fnt_default, ch, (void*)&data, fontgroup_cb_draw_u8g); - u8g_SetFont(pu8g, fnt_default); + u8g_SetFont(pu8g, (const u8g_fntpgm_uint8_t*)fnt_default); return data.adv; } @@ -258,8 +214,8 @@ unsigned int uxg_DrawUtf8Str(u8g_t *pu8g, unsigned int x, unsigned int y, const data.adv = 0; data.max_width = max_width; data.fnt_prev = NULL; - fontgroup_drawstring(group, fnt_default, utf8_msg, strlen(utf8_msg), read_byte_ram, (void*)&data, fontgroup_cb_draw_u8g); - u8g_SetFont(pu8g, fnt_default); + 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; } @@ -283,7 +239,6 @@ unsigned int uxg_DrawUtf8StrP(u8g_t *pu8g, unsigned int x, unsigned int y, const const font_t *fnt_default = uxg_GetFont(pu8g); if (!uxg_Utf8FontIsInited()) { - TRACE("Error, utf8string not inited!"); u8g_DrawStrP(pu8g, x, y, (const u8g_pgm_uint8_t *)PSTR("Err: utf8 font not initialized.")); return 0; } @@ -293,21 +248,17 @@ unsigned int uxg_DrawUtf8StrP(u8g_t *pu8g, unsigned int x, unsigned int y, const data.adv = 0; data.max_width = max_width; data.fnt_prev = NULL; - TRACE("call fontgroup_drawstring"); - fontgroup_drawstring(group, fnt_default, utf8_msg, my_strlen_P(utf8_msg), read_byte_rom, (void*)&data, fontgroup_cb_draw_u8g); - TRACE("restore font"); - u8g_SetFont(pu8g, fnt_default); + 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); - TRACE("return %d", data.adv); return data.adv; } static int fontgroup_cb_draw_u8gstrlen(void *userdata, const font_t *fnt_current, const char *msg) { - struct _uxg_drawu8_data_t * pdata = userdata; + struct _uxg_drawu8_data_t * pdata = (_uxg_drawu8_data_t*)userdata; - FU_ASSERT(NULL != userdata); if (pdata->fnt_prev != fnt_current) { - u8g_SetFont(pdata->pu8g, fnt_current); + u8g_SetFont(pdata->pu8g, (const u8g_fntpgm_uint8_t*)fnt_current); u8g_SetFontPosBottom(pdata->pu8g); pdata->fnt_prev = fnt_current; } @@ -330,16 +281,13 @@ int uxg_GetUtf8StrPixelWidth(u8g_t *pu8g, const char *utf8_msg) { font_group_t *group = &g_fontgroup_root; const font_t *fnt_default = uxg_GetFont(pu8g); - if (!uxg_Utf8FontIsInited()) { - TRACE("Err: utf8 font not initialized."); - return -1; - } + if (!uxg_Utf8FontIsInited()) return -1; memset(&data, 0, sizeof(data)); data.pu8g = pu8g; data.adv = 0; - fontgroup_drawstring(group, fnt_default, utf8_msg, strlen(utf8_msg), read_byte_ram, (void*)&data, fontgroup_cb_draw_u8gstrlen); - u8g_SetFont(pu8g, fnt_default); + 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; } @@ -359,14 +307,14 @@ int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, const char *utf8_msg) { font_group_t *group = &g_fontgroup_root; const font_t *fnt_default = uxg_GetFont(pu8g); - if (!uxg_Utf8FontIsInited()) { - TRACE("Err: utf8 font not initialized."); - return -1; - } + if (!uxg_Utf8FontIsInited()) return -1; + memset(&data, 0, sizeof(data)); data.pu8g = pu8g; data.adv = 0; - fontgroup_drawstring(group, fnt_default, utf8_msg, my_strlen_P(utf8_msg), read_byte_rom, (void*)&data, fontgroup_cb_draw_u8gstrlen); - u8g_SetFont(pu8g, fnt_default); + 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 index 3df9907c19a3..80522784c057 100644 --- a/Marlin/src/lcd/u8g_fontutf8.h +++ b/Marlin/src/lcd/u8g_fontutf8.h @@ -9,42 +9,32 @@ #ifndef _UXG_FONTUTF8_H #define _UXG_FONTUTF8_H 1 -#include +#include #include "fontutils.h" -#ifdef __cplusplus -extern "C" { -#endif - - // the macro to indicate a UTF-8 string // You should to save the C/C++ source in UTF-8 encoding! // Once you change your UTF-8 strings, you need to call the script uxggenpages.sh to create the font data file fontutf8-data.h #define _UxGT(a) a typedef struct _uxg_fontinfo_t { - uint16_t page; - uint8_t begin; - uint8_t end; - uint16_t size; - const u8g_fntpgm_uint8_t *fntdata; + uint16_t page; + uint8_t begin; + uint8_t end; + uint16_t size; + const u8g_fntpgm_uint8_t *fntdata; } uxg_fontinfo_t; -extern int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number); // fntinfo is type of PROGMEM -extern char uxg_Utf8FontIsInited(void); +int uxg_SetUtf8Fonts (const uxg_fontinfo_t * fntinfo, int number); // fntinfo is type of PROGMEM -extern unsigned int uxg_DrawWchar (u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t ch, pixel_len_t max_length); +unsigned int uxg_DrawWchar (u8g_t *pu8g, unsigned int x, unsigned int y, wchar_t ch, pixel_len_t max_length); -extern unsigned int uxg_DrawUtf8Str (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length); -extern unsigned int uxg_DrawUtf8StrP (u8g_t *pu8g, unsigned int x, unsigned int y, const char *utf8_msg, pixel_len_t max_length); +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); -extern int uxg_GetUtf8StrPixelWidth(u8g_t *pu8g, const char *utf8_msg); -extern int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, const char *utf8_msg); +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) -#ifdef __cplusplus -} -#endif - #endif // _UXG_FONTUTF8_H diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 59b1221e5257..9a46995477a4 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(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) + millis_t previous_lcd_status_ms = 0; +#endif -#if ENABLED(SCROLL_LONG_FILENAMES) +#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() { @@ -839,6 +869,7 @@ void kill_screen(const char* lcd_msg) { bool abort_sd_printing; // =false void lcd_sdcard_stop() { + wait_for_heatup = wait_for_user = false; abort_sd_printing = true; lcd_setstatusPGM(PSTR(MSG_PRINT_ABORTED), -1); lcd_return_to_status(); @@ -846,6 +877,80 @@ void kill_screen(const char* lcd_msg) { #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 R0" + #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" @@ -897,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() { @@ -988,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); @@ -1021,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) @@ -1194,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) { @@ -1317,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]: @@ -1347,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 @@ -1484,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); @@ -1502,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 @@ -1514,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 @@ -1556,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(); @@ -1575,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(); @@ -1584,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); @@ -1612,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 @@ -1637,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(); @@ -1647,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); @@ -1664,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 @@ -1689,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 @@ -1719,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; } @@ -1727,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 @@ -1750,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(); } @@ -1784,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)) /** * @@ -1820,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(); @@ -1868,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; } @@ -1878,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), '+')); } } @@ -1928,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) @@ -1941,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, @@ -2036,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 @@ -2046,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 @@ -2067,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); @@ -2081,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); } @@ -2126,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 @@ -2149,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 @@ -2253,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" @@ -2348,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); } @@ -2382,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(); } @@ -2395,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; } @@ -2444,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); @@ -2541,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 @@ -2566,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); @@ -2580,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 @@ -2639,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); @@ -2654,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 @@ -2662,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 @@ -2711,7 +2827,7 @@ void kill_screen(const char* lcd_msg) { do_blocking_move_to_xy(rx, ry); lcd_synchronize(); - move_menu_scale = max(PROBE_MANUALLY_STEP, MIN_STEPS_PER_SEGMENT / float(DEFAULT_XYZ_STEPS_PER_UNIT)); + move_menu_scale = MAX(PROBE_MANUALLY_STEP, MIN_STEPS_PER_SEGMENT / float(DEFAULT_XYZ_STEPS_PER_UNIT)); lcd_goto_screen(lcd_move_z); } @@ -2737,7 +2853,7 @@ void kill_screen(const char* lcd_msg) { 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(); } @@ -2765,15 +2881,15 @@ void kill_screen(const char* lcd_msg) { void lcd_delta_settings() { START_MENU(); MENU_BACK(MSG_DELTA_CALIBRATE); - 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(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(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(); } @@ -2792,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); @@ -2829,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 @@ -2869,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; } @@ -2931,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); @@ -2951,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); } @@ -3036,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; @@ -3086,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 @@ -3124,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) { @@ -3156,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(); } @@ -3189,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()); @@ -3214,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 @@ -3364,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 @@ -3395,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 // @@ -3415,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) \ @@ -3481,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 @@ -3490,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) @@ -3538,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); } @@ -3559,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(); } @@ -3595,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(); @@ -3633,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(); } @@ -3689,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) @@ -3710,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(); @@ -3727,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) @@ -3735,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 @@ -3758,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 @@ -3812,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 @@ -3844,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(); } /** @@ -3911,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(); @@ -4011,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" @@ -4135,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); @@ -4692,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; \ @@ -4714,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); /** * @@ -4809,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 @@ -4839,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)(); @@ -5015,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 @@ -5045,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) @@ -5075,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; @@ -5083,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; @@ -5132,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--) { @@ -5246,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 @@ -5280,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 } @@ -5299,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); } @@ -5307,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); } @@ -5381,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 9af35467ae1f..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,26 +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 - - 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); @@ -69,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 @@ -94,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; @@ -102,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 + extern int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2]; - #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)) + #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) @@ -133,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(); @@ -146,10 +133,6 @@ float lcd_z_offset_edit(); #endif - #else - - inline void lcd_buttons_update() {} - #endif #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT) @@ -197,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 | \ @@ -214,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) @@ -229,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) diff --git a/Marlin/src/lcd/ultralcd_common_HD44780.h b/Marlin/src/lcd/ultralcd_common_HD44780.h index c0d3bca72b07..970dbbf35a20 100644 --- a/Marlin/src/lcd/ultralcd_common_HD44780.h +++ b/Marlin/src/lcd/ultralcd_common_HD44780.h @@ -52,8 +52,6 @@ #endif #endif -#include - extern volatile uint8_t buttons; //an extended version of the last checked buttons in a bit array. //////////////////////////////////// @@ -72,19 +70,19 @@ extern volatile uint8_t buttons; //an extended version of the last checked butt #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 "fontutils.h" #include "u8g_fontutf8.h" @@ -87,7 +88,6 @@ #define FONT_SPECIAL_NAME ISO10646_1_5x7 #include LANGUAGE_DATA_INCL(LCD_LANGUAGE) -#define TALL_FONT_CORRECTION 1 #include "dogm/dogm_font_data_ISO10646_1.h" #define FONT_MENU_NAME ISO10646_1_5x7 @@ -120,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 @@ -181,6 +181,9 @@ // 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 @@ -298,9 +301,9 @@ static void lcd_implementation_init() { #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306) SET_OUTPUT(LCD_PINS_DC); - OUT_WRITE(LCD_PINS_RS, LOW); - _delay_ms(500); - WRITE(LCD_PINS_RS, HIGH); + #if !defined(LCD_RESET_PIN) + #define LCD_RESET_PIN LCD_PINS_RS + #endif #endif #if PIN_EXISTS(LCD_RESET) @@ -310,7 +313,7 @@ static void lcd_implementation_init() { _delay_ms(5); // delay to allow the display to initalize #endif - #if PIN_EXISTS(LCD_RESET) || ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306) + #if PIN_EXISTS(LCD_RESET) u8g.begin(); #endif @@ -341,9 +344,9 @@ void lcd_kill_screen() { lcd_moveto(0, h4 * 1); lcd_put_u8str(lcd_status_message); lcd_moveto(0, h4 * 2); - lcd_put_u8str_rom(PSTR(MSG_HALTED)); + lcd_put_u8str_P(PSTR(MSG_HALTED)); lcd_moveto(0, h4 * 3); - lcd_put_u8str_rom(PSTR(MSG_PLEASE_RESET)); + lcd_put_u8str_P(PSTR(MSG_PLEASE_RESET)); } while (u8g.nextPage()); } @@ -415,7 +418,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; while (--pad >= 0) { lcd_put_wchar(' '); n--; } } - n -= lcd_put_u8str_max_rom(pstr, n); + n -= lcd_put_u8str_max_P(pstr, n); if (NULL != valstr) { n -= lcd_put_u8str_max(valstr, n); } @@ -431,7 +434,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop 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_rom(pstr, n); + 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); @@ -451,11 +454,11 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop 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_rom(pstr, n); + 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_rom(data); else lcd_put_u8str((char*)data); + if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data); } } @@ -499,7 +502,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop bool onpage = PAGE_CONTAINS(baseline + 1 - (DOG_CHAR_HEIGHT_EDIT), baseline); if (onpage) { lcd_moveto(0, baseline); - lcd_put_u8str_rom(pstr); + lcd_put_u8str_P(pstr); } if (value != NULL) { @@ -518,7 +521,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop #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); @@ -526,23 +529,23 @@ 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, utf8_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 } @@ -554,8 +557,8 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop 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 @@ -620,10 +623,10 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop if (PAGE_UNDER(7)) { lcd_moveto(5, 7); lcd_put_u8str("X:"); - lcd_put_u8str(ftostr32(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot])))); + 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(ftostr32(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); + lcd_put_u8str(ftostr52(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); } // Print plot position @@ -641,7 +644,7 @@ void lcd_implementation_clear() { } // Automatically cleared by Picture Loop if (!isnan(ubl.z_values[x_plot][y_plot])) lcd_put_u8str(ftostr43sign(ubl.z_values[x_plot][y_plot])); else - lcd_put_u8str_rom(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 5ff58c098036..61437f5c3fb3 100644 --- a/Marlin/src/lcd/ultralcd_impl_HD44780.h +++ b/Marlin/src/lcd/ultralcd_impl_HD44780.h @@ -347,26 +347,51 @@ void lcd_implementation_clear() { lcd.clear(); } } // 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) { - #if 1 - lcd_put_u8str(text); - #else - char tmp[LCD_WIDTH + 1] = {0}; - int16_t n = max(utf8_strlen_P(text) - len, 0); - for (int16_t i = 0; i <= n; i++) { - utf8_strncpy_p(tmp, text + i, min(len, LCD_WIDTH)); + 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); - lcd_put_u8str(tmp); - delay(time / max(n, 1)); + + // 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++; } - #endif + } } static void logo_lines(const char* const extra) { int16_t indent = (LCD_WIDTH - 8 - utf8_strlen_P(extra)) / 2; - lcd_moveto(indent, 0); lcd_put_wchar('\x00'); lcd_put_u8str_rom(PSTR( "------" )); lcd_put_wchar('\x01'); - lcd_moveto(indent, 1); lcd_put_u8str_rom(PSTR("|Marlin|")); lcd_put_u8str_rom(extra); - lcd_moveto(indent, 2); lcd_put_wchar('\x02'); lcd_put_u8str_rom(PSTR( "------" )); lcd_put_wchar('\x03'); + 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() { @@ -379,7 +404,7 @@ void lcd_implementation_clear() { lcd.clear(); } lcd_erase_line(3); \ if (utf8_strlen(STRING) <= LCD_WIDTH) { \ lcd_moveto((LCD_WIDTH - utf8_strlen_P(PSTR(STRING))) / 2, 3); \ - lcd_put_u8str_rom(PSTR(STRING)); \ + lcd_put_u8str_P(PSTR(STRING)); \ safe_delay(DELAY); \ } \ else { \ @@ -452,39 +477,44 @@ void lcd_kill_screen() { lcd_moveto(0, 2); #else lcd_moveto(0, 2); - lcd_put_u8str_rom(PSTR(MSG_HALTED)); + lcd_put_u8str_P(PSTR(MSG_HALTED)); lcd_moveto(0, 3); #endif - lcd_put_u8str_rom(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_put_u8str_rom(pstr); + lcd_put_u8str(value); else { - if (!axis_homed[axis]) - lcd_put_wchar('?'); + 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_put_wchar(' '); + if (!TEST(axis_known_position, axis)) + lcd_put_u8str_P(axis == Z_AXIS ? PSTR(" ") : PSTR(" ")); else #endif - lcd_put_u8str_rom(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_put_wchar(prefix); lcd_put_u8str(itostr3(t1 + 0.5)); @@ -493,12 +523,11 @@ FORCE_INLINE void _draw_heater_status(const int8_t heater, const char prefix, co #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) { @@ -580,7 +609,7 @@ static void lcd_implementation_status_screen() { // // Hotend 1 or Bed Temperature // - #if HOTENDS > 1 || TEMP_SENSOR_BED + #if HOTENDS > 1 || HAS_HEATED_BED lcd_moveto(8, 0); #if HOTENDS > 1 @@ -591,7 +620,7 @@ static void lcd_implementation_status_screen() { _draw_heater_status(-1, -1, blink); #endif - #endif // HOTENDS > 1 || TEMP_SENSOR_BED + #endif // HOTENDS > 1 || HAS_HEATED_BED #else // LCD_WIDTH >= 20 @@ -603,7 +632,7 @@ static void lcd_implementation_status_screen() { // // Hotend 1 or Bed Temperature // - #if HOTENDS > 1 || TEMP_SENSOR_BED + #if HOTENDS > 1 || HAS_HEATED_BED lcd_moveto(10, 0); #if HOTENDS > 1 _draw_heater_status(1, LCD_STR_THERMOMETER[0], blink); @@ -616,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 @@ -630,11 +659,11 @@ static void lcd_implementation_status_screen() { #if ENABLED(SDSUPPORT) lcd_moveto(0, 2); - lcd_put_u8str_rom(PSTR("SD")); + lcd_put_u8str_P(PSTR("SD")); if (IS_SD_PRINTING) lcd_put_u8str(itostr3(card.percentDone())); else - lcd_put_u8str_rom(PSTR("---")); + lcd_put_u8str_P(PSTR("---")); lcd_put_wchar('%'); #endif // SDSUPPORT @@ -645,7 +674,7 @@ static void lcd_implementation_status_screen() { // 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); @@ -659,28 +688,22 @@ 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_put_u8str(ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS]))); + _draw_axis_value(X_AXIS, ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS])), blink); lcd_put_wchar(' '); - _draw_axis_label(Y_AXIS, PSTR(MSG_Y), blink); - lcd_put_u8str(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_moveto(LCD_WIDTH - 8, 1); - _draw_axis_label(Z_AXIS, PSTR(MSG_Z), blink); - lcd_put_u8str(ftostr52sp(FIXFLOAT(LOGICAL_Z_POSITION(current_position[Z_AXIS])))); + _draw_axis_value(Z_AXIS, ftostr52sp(LOGICAL_Z_POSITION(current_position[Z_AXIS])), blink); - #if HAS_LEVELING && !TEMP_SENSOR_BED + #if HAS_LEVELING && !HAS_HEATED_BED lcd_put_wchar(planner.leveling_active || blink ? '_' : ' '); #endif @@ -700,11 +723,11 @@ static void lcd_implementation_status_screen() { #if LCD_WIDTH >= 20 && ENABLED(SDSUPPORT) lcd_moveto(7, 2); - lcd_put_u8str_rom(PSTR("SD")); + lcd_put_u8str_P(PSTR("SD")); if (IS_SD_PRINTING) lcd_put_u8str(itostr3(card.percentDone())); else - lcd_put_u8str_rom(PSTR("---")); + lcd_put_u8str_P(PSTR("---")); lcd_put_wchar('%'); #endif // LCD_WIDTH >= 20 && SDSUPPORT @@ -741,9 +764,9 @@ 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_put_u8str_rom(PSTR("Dia ")); + lcd_put_u8str_P(PSTR("Dia ")); lcd_put_u8str(ftostr12ns(filament_width_meas)); - lcd_put_u8str_rom(PSTR(" V")); + 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] @@ -758,35 +781,76 @@ static void lcd_implementation_status_screen() { #if ENABLED(STATUS_MESSAGE_SCROLLING) static bool last_blink = false; - const uint8_t slen = utf8_strlen(lcd_status_message); - const char *stat = lcd_status_message + status_scroll_pos; - if (slen <= LCD_WIDTH) - lcd_put_u8str(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_put_u8str(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_put_u8str(stat); // The string leaves space - chars -= slen - status_scroll_pos; // Amount of space left - } - lcd_put_wchar('.'); // 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_put_wchar('.'); - if (chars) lcd_put_u8str_max(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_put_u8str(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 } @@ -811,7 +875,7 @@ static void lcd_implementation_status_screen() { int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; while (--pad >= 0) { lcd_put_wchar(' '); n--; } } - n -= lcd_put_u8str_max_rom(pstr, n); + n -= lcd_put_u8str_max_P(pstr, n); if (valstr) n -= lcd_put_u8str_max(valstr, n); for (; n > 0; --n) lcd_put_wchar(' '); } @@ -820,7 +884,7 @@ static void lcd_implementation_status_screen() { uint8_t n = LCD_WIDTH - 2; lcd_moveto(0, row); lcd_put_wchar(sel ? pre_char : ' '); - n -= lcd_put_u8str_max_rom(pstr, n); + n -= lcd_put_u8str_max_P(pstr, n); while (n--) lcd_put_wchar(' '); lcd_put_wchar(post_char); } @@ -829,7 +893,7 @@ static void lcd_implementation_status_screen() { uint8_t n = LCD_WIDTH - 2 - utf8_strlen(data); lcd_moveto(0, row); lcd_put_wchar(sel ? pre_char : ' '); - n -= lcd_put_u8str_max_rom(pstr, n); + n -= lcd_put_u8str_max_P(pstr, n); lcd_put_wchar(':'); while (n--) lcd_put_wchar(' '); lcd_put_u8str(data); @@ -838,10 +902,10 @@ static void lcd_implementation_status_screen() { 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_rom(pstr, n); + n -= lcd_put_u8str_max_P(pstr, n); lcd_put_wchar(':'); while (n--) lcd_put_wchar(' '); - lcd_put_u8str_rom(data); + lcd_put_u8str_P(data); } #define DRAWMENU_SETTING_EDIT_GENERIC(_src) lcd_implementation_drawmenu_setting_edit_generic(sel, row, pstr, '>', _src) @@ -849,7 +913,7 @@ static void lcd_implementation_status_screen() { void lcd_implementation_drawedit(const char* pstr, const char* const value=NULL) { lcd_moveto(1, 1); - lcd_put_u8str_rom(pstr); + lcd_put_u8str_P(pstr); if (value != NULL) { lcd_put_wchar(':'); int len = utf8_strlen(value); @@ -862,29 +926,29 @@ static void lcd_implementation_status_screen() { #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_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, utf8_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 } @@ -896,12 +960,12 @@ static void lcd_implementation_status_screen() { 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 @@ -1067,10 +1131,10 @@ static void lcd_implementation_status_screen() { * Show X and Y positions */ _XLABEL(_PLOT_X, 0); - lcd_put_u8str(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_put_u8str(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_moveto(_PLOT_X, 0); @@ -1188,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++) { @@ -1295,7 +1359,7 @@ static void lcd_implementation_status_screen() { if (!isnan(ubl.z_values[x][inverted_y])) lcd_put_u8str(ftostr43sign(ubl.z_values[x][inverted_y])); else - lcd_put_u8str_rom(PSTR(" -----")); + lcd_put_u8str_P(PSTR(" -----")); #else // 16x4 or 20x4 display @@ -1303,9 +1367,9 @@ static void lcd_implementation_status_screen() { * Show all values at right of screen */ _XLABEL(_LCD_W_POS, 1); - lcd_put_u8str(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_put_u8str(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 @@ -1314,7 +1378,7 @@ static void lcd_implementation_status_screen() { if (!isnan(ubl.z_values[x][inverted_y])) lcd_put_u8str(ftostr43sign(ubl.z_values[x][inverted_y])); else - lcd_put_u8str_rom(PSTR(" -----")); + lcd_put_u8str_P(PSTR(" -----")); #endif // LCD_HEIGHT > 3 } 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 eb774d1539f5..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,7 +1904,7 @@ 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_FAST_LOAD_LENGTH; } @@ -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..68886eb84f01 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,93 @@ 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 ENABLED(VALIDATE_HOMING_ENDSTOPS) + // 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)); + } +#endif + +// 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 +296,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 +315,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 +323,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 +332,7 @@ void Endstops::report_state() { } #endif } + prev_hit_state = hit_state; } // Endstops::report_state void Endstops::M119() { @@ -300,274 +387,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. -// Check endstops - Called from 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 - 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 +680,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..8e10579de08e 100644 --- a/Marlin/src/module/endstops.h +++ b/Marlin/src/module/endstops.h @@ -30,6 +30,8 @@ #include "../inc/MarlinConfig.h" #include +#define VALIDATE_HOMING_ENDSTOPS + enum EndstopEnum : char { X_MIN, Y_MIN, @@ -51,7 +53,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 +66,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 +87,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. + */ + FORCE_INLINE static uint8_t trigger_state() { return hit_state; } + + /** + * Get current endstops 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 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 +138,38 @@ 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 ENABLED(VALIDATE_HOMING_ENDSTOPS) + // If the last move failed to trigger an endstop, call kill + static void validate_homing_move(); + #else + FORCE_INLINE static void validate_homing_move() { hit_on_purpose(); } + #endif // 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 c2a76836afe2..864d04609be3 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,7 +616,11 @@ 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 @@ -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,43 @@ 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); + + #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) + // BLTOUCH needs to be deployed every time + if (axis == Z_AXIS && set_bltouch_deployed(true)) return; + #endif + + 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 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 +1348,66 @@ 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 be deployed every time + if (axis == Z_AXIS && set_bltouch_deployed(true)) return; + #endif + do_homing_move(axis, 2 * bump, get_homing_bump_feedrate(axis)); + + #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) + // BLTOUCH needs to be stowed after trigger to rearm itself + if (axis == Z_AXIS) set_bltouch_deployed(false); + #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 @@ -1377,10 +1449,9 @@ void homeaxis(const AxisEnum axis) { 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 +1483,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); + const 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 +1494,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 +1525,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 2b257056c402..f673b656a356 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -92,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: @@ -100,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, // Index of the next block to be pushed - Planner::block_buffer_tail; +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 @@ -164,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 @@ -175,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 }; @@ -212,158 +236,100 @@ void Planner::init() { 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(BEZIER_JERK_CONTROL) +#if ENABLED(S_CURVE_ACCELERATION) #ifdef __AVR__ - // This routine, for AVR, returns 0x1000000 / d, but trying to get the inverse as - // fast as possible. A fast converging iterative Newton-Raphson method is able to - // reach full precision in just 1 iteration, and takes 211 cycles (worst case, 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) - // - // We can rearrange it as: - // q[n + 1] = q[n] * (2 ^ (k + 1) - q[n] * B) >> k - // - // Each iteration of this kind requires only integer multiplications - // and bit shifts. - // Does it converge to floor(2 ^ k / B) ?: Not necessarily, but, in - // the worst case, it eventually alternates between floor(2 ^ k / B) - // and ceiling(2 ^ k / B)). - // So we can use some not-so-clever test to see if we are in this - // case, and extract floor(2 ^ k / B). - // Lastly, 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.The - // reason to do so, is that the results of the early iterations are far - // from the quotient, and it doesn't matter to perform them inaccurately. - // Finally, we should pick a good starting value for x. Knowing how many - // digits the divisor has, we can estimate it: - // - // 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)) simply is the index of the most significant bit set. - // - // If we could improve this estimation even further, then the number of - // iterations can be dropped quite a bit, thus saving valuable execution time. - // The paper "Software Integer Division" by Thomas L.Rodeheffer, Microsoft - // Research, Silicon Valley,August 26, 2008, that is available at - // https://www.microsoft.com/en-us/research/wp-content/uploads/2008/08/tr-2008-141.pdf - // suggests , for its integer division algorithm, that using a table to supply the - // first 8 bits of precision, and due to the quadratic convergence nature of the - // Newton-Raphon iteration, then just 2 iterations should be enough to get - // maximum precision of the division. - // If we precompute values of inverses for small denominator values, then - // just one Newton-Raphson iteration is enough to reach full precision - // We will use the top 9 bits of the denominator as index. - // - // The AVR assembly function is implementing the following C code, included - // here as reference: - // - // uint32_t get_period_inverse(uint32_t d) { - // static const uint8_t inv_tab[256] = { - // 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, - // // because those denominators would require 2 Newton-Raphson iterations - // // to converge to the required result precision. For bigger ones, just - // // ONE Newton-Raphson iteration is enough to get maximum precision! - // 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]); - // - // // 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 - // uint32_t ie = inv_tab[tidx & 0xFF] + 256; // Get the table value. bit9 is always set - // uint32_t x = idx <= 8 ? (ie >> (8 - idx)) : (ie << (idx - 8)); // Position the estimation at the proper place - // - // // Now, refine estimation by newton-raphson. 1 iteration is enough - // x = uint32_t((x * uint64_t((1 << 25) - x * d)) >> 24); - // - // // Estimate remainder - // uint32_t r = (1 << 24) - x * d; - // - // // Check if we must adjust result - // if (r >= d) x++; - // - // // x holds the proper estimation - // return uint32_t(x); - // } - // + /** + * 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 = { + 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, @@ -396,152 +362,151 @@ void Planner::init() { }; // For small divisors, it is best to directly retrieve the results - if (d <= 110) - return pgm_read_dword(&small_inv_tab[d]); + if (d <= 110) return pgm_read_dword(&small_inv_tab[d]); - register uint8_t r8 = d & 0xFF; - register uint8_t r9 = (d >> 8) & 0xFF; - register uint8_t r10 = (d >> 16) & 0xFF; - register uint8_t r2,r3,r4,r5,r6,r7,r11,r12,r13,r14,r15,r16,r17,r18; + 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 + // r31:r30: MUST be those registers, and they must point to the inv_tab - " clr %13" "\n\t" // %13 = 0 + A("clr %13") // %13 = 0 - // Now we must compute - // result = 0xFFFFFF / d + // Now we must compute + // result = 0xFFFFFF / d // %8:%7:%6 = interval - // %16:%15:%14 = nr + // %16:%15:%14 = nr // %13 = 0 - // A plain division of 24x24 bits should take 388 cycles to complete. We will + // 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 . - " clr %3" "\n\t" // idx = 0 - " mov %14,%6" "\n\t" - " mov %15,%7" "\n\t" - " mov %16,%8" "\n\t" // nr = interval - " tst %16" "\n\t" // nr & 0xFF0000 == 0 ? - " brne 2f" "\n\t" // No, skip this - " mov %16,%15" "\n\t" - " mov %15,%14" "\n\t" // nr <<= 8, %14 not needed - " subi %3,-8" "\n\t" // idx += 8 - " tst %16" "\n\t" // nr & 0xFF0000 == 0 ? - " brne 2f" "\n\t" // No, skip this - " mov %16,%15" "\n\t" // nr <<= 8, %14 not needed - " clr %15" "\n\t" // We clear %14 - " subi %3,-8" "\n\t" // idx += 8 - - // here %16 != 0 and %16:%15 contains at least 9 MSBits, or both %16:%15 are 0 - "2:" "\n\t" - " cpi %16,0x10" "\n\t" // (nr & 0xf00000) == 0 ? - " brcc 3f" "\n\t" // No, skip this - " swap %15" "\n\t" // Swap nibbles - " swap %16" "\n\t" // Swap nibbles. Low nibble is 0 - " mov %14, %15" "\n\t" - " andi %14,0x0f" "\n\t" // Isolate low nibble - " andi %15,0xf0" "\n\t" // Keep proper nibble in %15 - " or %16, %14" "\n\t" // %16:%15 <<= 4 - " subi %3,-4" "\n\t" // idx += 4 - - "3:" "\n\t" - " cpi %16,0x40" "\n\t" // (nr & 0xc00000) == 0 ? - " brcc 4f" "\n\t" // No, skip this - " add %15,%15" "\n\t" - " adc %16,%16" "\n\t" - " add %15,%15" "\n\t" - " adc %16,%16" "\n\t" // %16:%15 <<= 2 - " subi %3,-2" "\n\t" // idx += 2 - - "4:" "\n\t" - " cpi %16,0x80" "\n\t" // (nr & 0x800000) == 0 ? - " brcc 5f" "\n\t" // No, skip this - " add %15,%15" "\n\t" - " adc %16,%16" "\n\t" // %16:%15 <<= 1 - " inc %3" "\n\t" // idx += 1 + 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 - "5:" "\n\t" - " add %15,%15" "\n\t" - " adc %16,%16" "\n\t" // %16:%15 = tidx = (nr <<= 1), we lose the top MSBit (always set to 1, %16 is the index into the inverse table) - " add r30,%16" "\n\t" // Only use top 8 bits - " adc r31,%13" "\n\t" // r31:r30 = inv_tab + (tidx) - " lpm %14, Z" "\n\t" // %14 = inv_tab[tidx] - " ldi %15, 1" "\n\t" // %15 = 1 %15:%14 = inv_tab[tidx] + 256 + 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 - " clr %16" "\n\t" // %16 will always be 0 here - " subi %3,8" "\n\t" // idx == 8 ? - " breq 6f" "\n\t" // yes, no need to scale - " brcs 7f" "\n\t" // If C=1, means idx < 8, result was negative! + 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] - " sbrs %3,0" "\n\t" // shift by 1bit position? - " rjmp 8f" "\n\t" // No - " add %14,%14" "\n\t" - " adc %15,%15" "\n\t" // %15:16 <<= 1 - "8:" "\n\t" - " sbrs %3,1" "\n\t" // shift by 2bit position? - " rjmp 9f" "\n\t" // No - " add %14,%14" "\n\t" - " adc %15,%15" "\n\t" - " add %14,%14" "\n\t" - " adc %15,%15" "\n\t" // %15:16 <<= 1 - "9:" "\n\t" - " sbrs %3,2" "\n\t" // shift by 4bits position? - " rjmp 16f" "\n\t" // No - " swap %15" "\n\t" // Swap nibbles. lo nibble of %15 will always be 0 - " swap %14" "\n\t" // Swap nibbles - " mov %12,%14" "\n\t" - " andi %12,0x0f" "\n\t" // isolate low nibble - " andi %14,0xf0" "\n\t" // and clear it - " or %15,%12" "\n\t" // %15:%16 <<= 4 - "16:" "\n\t" - " sbrs %3,3" "\n\t" // shift by 8bits position? - " rjmp 6f" "\n\t" // No, we are done - " mov %16,%15" "\n\t" - " mov %15,%14" "\n\t" - " clr %14" "\n\t" - " jmp 6f" "\n\t" - - // idx < 8, now %3 = idx - 8. Get the count of bits - "7:" "\n\t" - " neg %3" "\n\t" // %3 = -idx = count of bits to move right. idx range:[1...8] - " sbrs %3,0" "\n\t" // shift by 1 bit position ? - " rjmp 10f" "\n\t" // No, skip it - " asr %15" "\n\t" // (bit7 is always 0 here) - " ror %14" "\n\t" - "10:" "\n\t" - " sbrs %3,1" "\n\t" // shift by 2 bit position ? - " rjmp 11f" "\n\t" // No, skip it - " asr %15" "\n\t" // (bit7 is always 0 here) - " ror %14" "\n\t" - " asr %15" "\n\t" // (bit7 is always 0 here) - " ror %14" "\n\t" - "11:" "\n\t" - " sbrs %3,2" "\n\t" // shift by 4 bit position ? - " rjmp 12f" "\n\t" // No, skip it - " swap %15" "\n\t" // Swap nibbles - " andi %14, 0xf0" "\n\t" // Lose the lowest nibble - " swap %14" "\n\t" // Swap nibbles. Upper nibble is 0 - " or %14,%15" "\n\t" // Pass nibble from upper byte - " andi %15, 0x0f" "\n\t" // And get rid of that nibble - "12:" "\n\t" - " sbrs %3,3" "\n\t" // shift by 8 bit position ? - " rjmp 6f" "\n\t" // No, skip it - " mov %14,%15" "\n\t" - " clr %15" "\n\t" - "6:" "\n\t" // %16:%15:%14 = initial estimation of 0x1000000 / d + 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 + // 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 @@ -549,156 +514,156 @@ void Planner::init() { // %3:%2:%1:%0 = working accumulator // Compute 1<<25 - x*d. Result should never exceed 25 bits and should always be positive - " clr %0" "\n\t" - " clr %1" "\n\t" - " clr %2" "\n\t" - " ldi %3,2" "\n\t" // %3:%2:%1:%0 = 0x2000000 - " mul %6,%14" "\n\t" // r1:r0 = LO(d) * LO(x) - " sub %0,r0" "\n\t" - " sbc %1,r1" "\n\t" - " sbc %2,%13" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= LO(d) * LO(x) - " mul %7,%14" "\n\t" // r1:r0 = MI(d) * LO(x) - " sub %1,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= MI(d) * LO(x) << 8 - " mul %8,%14" "\n\t" // r1:r0 = HI(d) * LO(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= MIL(d) * LO(x) << 16 - " mul %6,%15" "\n\t" // r1:r0 = LO(d) * MI(x) - " sub %1,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= LO(d) * MI(x) << 8 - " mul %7,%15" "\n\t" // r1:r0 = MI(d) * MI(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= MI(d) * MI(x) << 16 - " mul %8,%15" "\n\t" // r1:r0 = HI(d) * MI(x) - " sub %3,r0" "\n\t" // %3:%2:%1:%0 -= MIL(d) * MI(x) << 24 - " mul %6,%16" "\n\t" // r1:r0 = LO(d) * HI(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= LO(d) * HI(x) << 16 - " mul %7,%16" "\n\t" // r1:r0 = MI(d) * HI(x) - " sub %3,r0" "\n\t" // %3:%2:%1:%0 -= MI(d) * HI(x) << 24 + 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 + // %13 = 0 // result = %11:%10:%9:%5:%4 - " mul %14,%0" "\n\t" // r1:r0 = LO(x) * LO(acc) - " mov %4,r1" "\n\t" - " clr %5" "\n\t" - " clr %9" "\n\t" - " clr %10" "\n\t" - " clr %11" "\n\t" // %11:%10:%9:%5:%4 = LO(x) * LO(acc) >> 8 - " mul %15,%0" "\n\t" // r1:r0 = MI(x) * LO(acc) - " add %4,r0" "\n\t" - " adc %5,r1" "\n\t" - " adc %9,%13" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * LO(acc) - " mul %16,%0" "\n\t" // r1:r0 = HI(x) * LO(acc) - " add %5,r0" "\n\t" - " adc %9,r1" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * LO(acc) << 8 - - " mul %14,%1" "\n\t" // r1:r0 = LO(x) * MIL(acc) - " add %4,r0" "\n\t" - " adc %5,r1" "\n\t" - " adc %9,%13" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 = LO(x) * MIL(acc) - " mul %15,%1" "\n\t" // r1:r0 = MI(x) * MIL(acc) - " add %5,r0" "\n\t" - " adc %9,r1" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * MIL(acc) << 8 - " mul %16,%1" "\n\t" // r1:r0 = HI(x) * MIL(acc) - " add %9,r0" "\n\t" - " adc %10,r1" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * MIL(acc) << 16 - - " mul %14,%2" "\n\t" // r1:r0 = LO(x) * MIH(acc) - " add %5,r0" "\n\t" - " adc %9,r1" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 = LO(x) * MIH(acc) << 8 - " mul %15,%2" "\n\t" // r1:r0 = MI(x) * MIH(acc) - " add %9,r0" "\n\t" - " adc %10,r1" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * MIH(acc) << 16 - " mul %16,%2" "\n\t" // r1:r0 = HI(x) * MIH(acc) - " add %10,r0" "\n\t" - " adc %11,r1" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * MIH(acc) << 24 - - " mul %14,%3" "\n\t" // r1:r0 = LO(x) * HI(acc) - " add %9,r0" "\n\t" - " adc %10,r1" "\n\t" - " adc %11,%13" "\n\t" // %11:%10:%9:%5:%4 = LO(x) * HI(acc) << 16 - " mul %15,%3" "\n\t" // r1:r0 = MI(x) * HI(acc) - " add %10,r0" "\n\t" - " adc %11,r1" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * HI(acc) << 24 - " mul %16,%3" "\n\t" // r1:r0 = HI(x) * HI(acc) - " add %11,r0" "\n\t" // %11:%10:%9:%5:%4 += MI(x) * HI(acc) << 32 - - // At this point, %11:%10:%9 contains the new estimation of x. + 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" - " ldi %3,1" "\n\t" - " clr %2" "\n\t" - " clr %1" "\n\t" - " clr %0" "\n\t" // %3:%2:%1:%0 = 0x1000000 - " mul %6,%9" "\n\t" // r1:r0 = LO(d) * LO(x) - " sub %0,r0" "\n\t" - " sbc %1,r1" "\n\t" - " sbc %2,%13" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= LO(d) * LO(x) - " mul %7,%9" "\n\t" // r1:r0 = MI(d) * LO(x) - " sub %1,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= MI(d) * LO(x) << 8 - " mul %8,%9" "\n\t" // r1:r0 = HI(d) * LO(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= MIL(d) * LO(x) << 16 - " mul %6,%10" "\n\t" // r1:r0 = LO(d) * MI(x) - " sub %1,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%13" "\n\t" // %3:%2:%1:%0 -= LO(d) * MI(x) << 8 - " mul %7,%10" "\n\t" // r1:r0 = MI(d) * MI(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= MI(d) * MI(x) << 16 - " mul %8,%10" "\n\t" // r1:r0 = HI(d) * MI(x) - " sub %3,r0" "\n\t" // %3:%2:%1:%0 -= MIL(d) * MI(x) << 24 - " mul %6,%11" "\n\t" // r1:r0 = LO(d) * HI(x) - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" // %3:%2:%1:%0 -= LO(d) * HI(x) << 16 - " mul %7,%11" "\n\t" // r1:r0 = MI(d) * HI(x) - " sub %3,r0" "\n\t" // %3:%2:%1:%0 -= MI(d) * HI(x) << 24 + // (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 + // %8:%7:%6 = d = interval // Perform the final correction - " sub %0,%6" "\n\t" - " sbc %1,%7" "\n\t" - " sbc %2,%8" "\n\t" // r -= d - " brcs 14f" "\n\t" // if ( r >= d) - - // %11:%10:%9 = x - " ldi %3,1" "\n\t" - " add %9,%3" "\n\t" - " adc %10,%13" "\n\t" - " adc %11,%13" "\n\t" // x++ - "14:" "\n\t" - - // Estimation is done. %11:%10:%9 = x - " clr __zero_reg__" "\n\t" // Make C runtime happy + 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), @@ -726,12 +691,11 @@ void Planner::init() { return r11 | (uint16_t(r12) << 8) | (uint32_t(r13) << 16); } #else - // All the other 32 CPUs can easily perform the inverse using hardware division, - // so we don´t need to reduce precision or to use assembly language at all. - - // This routine, for all the other archs, returns 0x100000000 / d ~= 0xFFFFFFFF / d - static FORCE_INLINE uint32_t get_period_inverse(uint32_t d) { - return 0xFFFFFFFF / d; + // 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 @@ -741,101 +705,184 @@ void Planner::init() { /** * 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 - uint32_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->acceleration_time_inverse = acceleration_time_inverse; - block->deceleration_time_inverse = deceleration_time_inverse; - 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; + } + } + } } } @@ -844,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); - do { - const block_t * const next = current; - blocknr = prev_block_index(blocknr); - current = &block_buffer[blocknr]; + // 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; + + // 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; } } @@ -895,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]); } /** @@ -912,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(); } @@ -993,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); } @@ -1103,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 @@ -1155,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; } /** @@ -1179,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; // Linear squares the ratio, which scales the volume + ? 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 @@ -1242,6 +1406,10 @@ void Planner::check_axes_activity() { #endif } +#endif + +#if PLANNER_LEVELING + void Planner::unapply_leveling(float raw[XYZ]) { if (leveling_active) { @@ -1290,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 + */ +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 */ -void Planner::_buffer_steps(const int32_t (&target)[XYZE] +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 @@ -1313,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]); @@ -1339,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]; @@ -1380,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; @@ -1401,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 @@ -1621,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( @@ -1639,18 +1947,19 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE] else block->millimeters = millimeters; - const float inverse_millimeters = 1.0 / block->millimeters; // Inverse millimeters to remove multiple divides + const float inverse_millimeters = 1.0f / block->millimeters; // Inverse millimeters to remove multiple divides // Calculate inverse time for this move. No divide by zero due to previous checks. // 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) @@ -1658,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 @@ -1667,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) @@ -1694,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]) { @@ -1710,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 @@ -1750,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); @@ -1758,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. @@ -1793,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: @@ -1820,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); } @@ -1855,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."); @@ -1870,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 + */ + const float nominal_speed = SQRT(block->nominal_speed_sqr); + + // Exit speed limited by a jerk to full halt of a previous last segment + static float previous_safe_speed; + + // Start with a safe speed (from which the machine may halt to stop immediately). + float safe_speed = nominal_speed; + + uint8_t limited = 0; + LOOP_XYZE(i) { + const float jerk = ABS(current_speed[i]), // cs : Starting from zero, change in speed for this axis + maxj = max_jerk[i]; // mj : The max jerk setting for this axis + if (jerk > maxj) { // cs > mj : New current speed too fast? + if (limited) { // limited already? + const float mjerk = nominal_speed * maxj; // ns*mj + if (jerk * safe_speed > mjerk) safe_speed = mjerk / jerk; // ns*mj/cs + } + else { + safe_speed *= maxj / jerk; // Initial limit: ns*mj/cs + ++limited; // Initially limited + } } } - } - 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. @@ -2011,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; + previous_nominal_speed_sqr = block->nominal_speed_sqr; - // Move buffer head - block_buffer_head = next_buffer_head; - - // 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() -} // _buffer_steps() +/** + * 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; + + stepper.wake_up(); +} // buffer_sync_block() /** * Planner::buffer_segment @@ -2044,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]) { @@ -2102,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() /** @@ -2155,24 +2542,30 @@ 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(axis_steps_per_mm[C_AXIS] * (c + + #if !IS_KINEMATIC && ENABLED(AUTO_BED_LEVELING_UBL) + leveling_active ? ubl.get_z_correction(a, b) : + #endif + 0 + )); + 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]) { @@ -2190,22 +2583,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). */ @@ -2216,32 +2593,42 @@ void Planner::set_position_mm(const AxisEnum axis, const float &v) { #else const uint8_t axis_index = axis; #endif - position[axis] = LROUND(v * axis_steps_per_mm[axis_index]); + position[axis] = LROUND(axis_steps_per_mm[axis_index] * (v + + #if ENABLED(AUTO_BED_LEVELING_UBL) + axis == Z_AXIS && leveling_active ? ubl.get_z_correction(current_position[X_AXIS], current_position[Y_AXIS]) : + #endif + 0 + )); #if HAS_POSITION_FLOAT position_float[axis] = v; #endif - stepper.set_position(axis, position[axis]); - previous_speed[axis] = 0.0; + if (has_blocks_queued()) + 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! void Planner::refresh_positioning() { - LOOP_XYZE_N(i) steps_to_mm[i] = 1.0 / axis_steps_per_mm[i]; + LOOP_XYZE_N(i) steps_to_mm[i] = 1.0f / axis_steps_per_mm[i]; set_position_mm_kinematic(current_position); reset_acceleration_rates(); } diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index 0b594fff61d9..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,30 +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 - uint32_t acceleration_time, // Acceleration time and deceleration time in STEP timer counts - deceleration_time; - uint32_t acceleration_time_inverse, // Inverse of acceleration and deceleration periods, expressed as integer. Scale depends on CPU being used + 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) @@ -109,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 @@ -139,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)) @@ -161,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 @@ -178,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 @@ -229,6 +255,10 @@ class Planner { #endif #endif + #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) + static bool abort_on_endstop_hit; + #endif + private: /** @@ -243,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 @@ -294,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 @@ -304,15 +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 void clear_block_buffer() { block_buffer_head = block_buffer_tail = 0; } - - 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(); @@ -341,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; @@ -369,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; } @@ -400,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 * @@ -431,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 * @@ -451,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); @@ -468,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); } /** @@ -485,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); @@ -494,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 } @@ -518,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. @@ -555,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. @@ -597,9 +730,19 @@ class Planner { } static void clear_block_buffer_runtime() { - CRITICAL_SECTION_START - block_buffer_runtime_us = 0; - 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 + + block_buffer_runtime_us = 0; + + #ifdef __AVR__ + // Reenable Stepper ISR + if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); + #endif } #endif @@ -611,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 @@ -642,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 */ @@ -662,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(); @@ -671,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 3c1a27cb5525..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,7 +553,7 @@ static bool do_probe_move(const float z, const float fr_mm_m) { * * @return The raw Z position where the probe was triggered */ - static float run_z_probe() { +static float run_z_probe() { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS(">>> run_z_probe", current_position); @@ -547,13 +561,21 @@ static bool do_probe_move(const float z, const float fr_mm_m) { // 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 = axis_known_position[Z_AXIS] ? -zprobe_zoffset + Z_PROBE_LOW_POINT : -10.0; + 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]; @@ -562,7 +584,7 @@ static bool do_probe_move(const float z, const float fr_mm_m) { #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 @@ -573,7 +595,7 @@ static bool do_probe_move(const float z, const float fr_mm_m) { 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 @@ -583,19 +605,27 @@ static bool do_probe_move(const float z, const float fr_mm_m) { 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 @@ -609,18 +639,20 @@ static bool do_probe_move(const float z, const float fr_mm_m) { #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; } /** @@ -657,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 @@ -690,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)) { @@ -702,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 cfc3141e024b..fe4c17b79e3c 100644 --- a/Marlin/src/module/probe.h +++ b/Marlin/src/module/probe.h @@ -32,7 +32,7 @@ #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 { @@ -44,6 +44,9 @@ 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() @@ -68,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 f6f28fe4bdef..1b85dcbb7ba0 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. + */ + +/** + * 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 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. */ +/** + * 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,102 +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 + +uint32_t Stepper::acceleration_time, Stepper::deceleration_time; +uint8_t Stepper::steps_per_isr; + +#if DISABLED(ADAPTIVE_STEP_SMOOTHING) + constexpr #endif + uint8_t Stepper::oversampling_factor; -long Stepper::counter_X = 0, - Stepper::counter_Y = 0, - Stepper::counter_Z = 0, - Stepper::counter_E = 0; +int32_t Stepper::delta_error[XYZE] = { 0 }; -volatile uint32_t Stepper::step_events_completed = 0; // The number of step events executed in the current block +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 -#if ENABLED(BEZIER_JERK_CONTROL) +#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 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 + 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 -#if ENABLED(LIN_ADVANCE) - - uint32_t Stepper::LA_decelerate_after; +uint32_t Stepper::nextMainISR = 0; - constexpr hal_timer_t ADV_NEVER = HAL_TIMER_TYPE_MAX; - - 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; +#if ENABLED(LIN_ADVANCE) - int8_t Stepper::e_steps = 0; + 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; - #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; - #endif + int8_t Stepper::LA_steps = 0; - bool Stepper::use_advance_lead; + bool Stepper::LA_use_advance_lead; #endif // LIN_ADVANCE -int32_t Stepper::acceleration_time, Stepper::deceleration_time; - -volatile int32_t Stepper::count_position[NUM_AXIS] = { 0 }; -volatile signed char Stepper::count_direction[NUM_AXIS] = { 1, 1, 1, 1 }; - -#if ENABLED(MIXING_EXTRUDER) - long Stepper::counter_m[MIXING_STEPPERS]; +int32_t Stepper::ticks_nominal = -1; +#if DISABLED(S_CURVE_ACCELERATION) + uint32_t Stepper::acc_step_rate; // needed for deceleration start point #endif -uint8_t Stepper::step_loops, Stepper::step_loops_nominal; - -hal_timer_t Stepper::OCR1A_nominal; -#if DISABLED(BEZIER_JERK_CONTROL) - hal_timer_t Stepper::acc_step_rate; // needed for deceleration start point -#endif +volatile int32_t Stepper::endstops_trigsteps[XYZ]; -volatile long 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 @@ -209,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) { \ @@ -217,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) @@ -249,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(); @@ -283,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 @@ -304,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 @@ -342,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 @@ -357,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: * @@ -368,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 @@ -384,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) @@ -396,7 +416,7 @@ void Stepper::set_directions() { * * For Any 32bit CPU: * - * At the start of each trapezoid, we calculate the coefficients A,B,C,F and Advance [AV], as follows: + * 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) @@ -404,7 +424,7 @@ void Stepper::set_directions() { * 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, we will evaluate the curve with the following sequence: + * And for each point, evaluate the curve with the following sequence: * * void lsrs(uint32_t& d, uint32_t s, int cnt) { * d = s >> cnt; @@ -457,10 +477,10 @@ void Stepper::set_directions() { * return alo; * } * - * This will be rewritten in ARM assembly to get peak performance and will take 43 cycles to execute + * This is rewritten in ARM assembly for optimal performance (43 cycles to execute). * - * For AVR, we scale precision of coefficients to make it possible to evaluate the Bézier curve in - * realtime: Let's reduce precision as much as possible. After some experimentation we found that: + * 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: * * Assume t and AV with 24 bits is enough * A = 6*(VF - VI) @@ -469,9 +489,9 @@ void Stepper::set_directions() { * F = VI * AV = (1<<24)/TS (this is computed at the planner, to offload expensive calculations from the ISR) * - * Instead of storing sign for each coefficient, we will store its absolute value, + * 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) + * It always holds that sign(A) = - sign(B) = sign(C) * * So, the resulting range of the coefficients are: * @@ -481,7 +501,7 @@ void Stepper::set_directions() { * C: signed Q24 , range = 250000 *10 = 2500000 = 0x1312D0 | 21 bits * F: signed Q24 , range = 250000 = 250000 = 0x0ED090 | 20 bits * - * And for each curve, we estimate its coefficients with: + * 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 @@ -500,7 +520,7 @@ void Stepper::set_directions() { * bezier_F = v0; * } * - * And for each point, we will evaluate the curve with the following sequence: + * 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) { @@ -550,9 +570,8 @@ void Stepper::set_directions() { * } * return acc; * } - * Those functions will be translated into assembler to get peak performance. coefficient calculations takes 70 cycles, - * Bezier point evaluation takes 150 cycles - * + * These functions are translated to assembler for optimal performance. + * Coefficient calculation takes 70 cycles. Bezier point evaluation takes 150 cycles. */ #ifdef __AVR__ @@ -581,69 +600,69 @@ void Stepper::set_directions() { /* %10 (must be high register!)*/ /* Store initial velocity*/ - " sts bezier_F, %0" "\n\t" - " sts bezier_F+1, %1" "\n\t" - " sts bezier_F+2, %10" "\n\t" /* bezier_F = %10:%1:%0 = v0 */ + 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 */ - " ldi %2,-1" "\n\t" /* %2 = 0xff, means A_negative = true */ - " clr %8" "\n\t" /* %8 = 0 */ - " sub %0,%3" "\n\t" - " sbc %1,%4" "\n\t" - " sbc %10,%5" "\n\t" /* v0 -= v1, C=1 if result is negative */ - " brcc 1f" "\n\t" /* branch if result is positive (C=0), that means v0 >= v1 */ + 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*/ - " com %10" "\n\t" - " com %1" "\n\t" - " neg %0" "\n\t" - " sbc %1,%2" "\n\t" - " sbc %10,%2" "\n\t" /* %10:%1:%0 +1 -> %10:%1:%0 = -(v0 - v1) = (v1 - v0) */ - " clr %2" "\n\t" /* %2 = 0, means A_negative = false */ + 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*/ - "1:" "\n\t" - " sts A_negative, %2" "\n\t" /* Store negative flag */ + L("1") + A("sts A_negative, %2") /* Store negative flag */ /* Compute coefficients A,B and C [20 cycles worst case]*/ - " ldi %9,6" "\n\t" /* %9 = 6 */ - " mul %0,%9" "\n\t" /* r1:r0 = 6*LO(v0-v1) */ - " sts bezier_A, r0" "\n\t" - " mov %6,r1" "\n\t" - " clr %7" "\n\t" /* %7:%6:r0 = 6*LO(v0-v1) */ - " mul %1,%9" "\n\t" /* r1:r0 = 6*MI(v0-v1) */ - " add %6,r0" "\n\t" - " adc %7,r1" "\n\t" /* %7:%6:?? += 6*MI(v0-v1) << 8 */ - " mul %10,%9" "\n\t" /* r1:r0 = 6*HI(v0-v1) */ - " add %7,r0" "\n\t" /* %7:%6:?? += 6*HI(v0-v1) << 16 */ - " sts bezier_A+1, %6" "\n\t" - " sts bezier_A+2, %7" "\n\t" /* bezier_A = %7:%6:?? = 6*(v0-v1) [35 cycles worst] */ - - " ldi %9,15" "\n\t" /* %9 = 15 */ - " mul %0,%9" "\n\t" /* r1:r0 = 5*LO(v0-v1) */ - " sts bezier_B, r0" "\n\t" - " mov %6,r1" "\n\t" - " clr %7" "\n\t" /* %7:%6:?? = 5*LO(v0-v1) */ - " mul %1,%9" "\n\t" /* r1:r0 = 5*MI(v0-v1) */ - " add %6,r0" "\n\t" - " adc %7,r1" "\n\t" /* %7:%6:?? += 5*MI(v0-v1) << 8 */ - " mul %10,%9" "\n\t" /* r1:r0 = 5*HI(v0-v1) */ - " add %7,r0" "\n\t" /* %7:%6:?? += 5*HI(v0-v1) << 16 */ - " sts bezier_B+1, %6" "\n\t" - " sts bezier_B+2, %7" "\n\t" /* bezier_B = %7:%6:?? = 5*(v0-v1) [50 cycles worst] */ - - " ldi %9,10" "\n\t" /* %9 = 10 */ - " mul %0,%9" "\n\t" /* r1:r0 = 10*LO(v0-v1) */ - " sts bezier_C, r0" "\n\t" - " mov %6,r1" "\n\t" - " clr %7" "\n\t" /* %7:%6:?? = 10*LO(v0-v1) */ - " mul %1,%9" "\n\t" /* r1:r0 = 10*MI(v0-v1) */ - " add %6,r0" "\n\t" - " adc %7,r1" "\n\t" /* %7:%6:?? += 10*MI(v0-v1) << 8 */ - " mul %10,%9" "\n\t" /* r1:r0 = 10*HI(v0-v1) */ - " add %7,r0" "\n\t" /* %7:%6:?? += 10*HI(v0-v1) << 16 */ - " sts bezier_C+1, %6" "\n\t" - " sts bezier_C+2, %7" /* bezier_C = %7:%6:?? = 10*(v0-v1) [65 cycles worst] */ + 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), @@ -674,359 +693,359 @@ void Stepper::set_directions() { __asm__ __volatile( /* umul24x24to16hi(t, bezier_AV, curr_step); t: Range 0 - 1^16 = 16 bits*/ - " lds %9,bezier_AV" "\n\t" /* %9 = LO(AV)*/ - " mul %9,%2" "\n\t" /* r1:r0 = LO(bezier_AV)*LO(curr_step)*/ - " mov %7,r1" "\n\t" /* %7 = LO(bezier_AV)*LO(curr_step) >> 8*/ - " clr %8" "\n\t" /* %8:%7 = LO(bezier_AV)*LO(curr_step) >> 8*/ - " lds %10,bezier_AV+1" "\n\t" /* %10 = MI(AV)*/ - " mul %10,%2" "\n\t" /* r1:r0 = MI(bezier_AV)*LO(curr_step)*/ - " add %7,r0" "\n\t" - " adc %8,r1" "\n\t" /* %8:%7 += MI(bezier_AV)*LO(curr_step)*/ - " lds r1,bezier_AV+2" "\n\t" /* r11 = HI(AV)*/ - " mul r1,%2" "\n\t" /* r1:r0 = HI(bezier_AV)*LO(curr_step)*/ - " add %8,r0" "\n\t" /* %8:%7 += HI(bezier_AV)*LO(curr_step) << 8*/ - " mul %9,%3" "\n\t" /* r1:r0 = LO(bezier_AV)*MI(curr_step)*/ - " add %7,r0" "\n\t" - " adc %8,r1" "\n\t" /* %8:%7 += LO(bezier_AV)*MI(curr_step)*/ - " mul %10,%3" "\n\t" /* r1:r0 = MI(bezier_AV)*MI(curr_step)*/ - " add %8,r0" "\n\t" /* %8:%7 += LO(bezier_AV)*MI(curr_step) << 8*/ - " mul %9,%4" "\n\t" /* r1:r0 = LO(bezier_AV)*HI(curr_step)*/ - " add %8,r0" "\n\t" /* %8:%7 += LO(bezier_AV)*HI(curr_step) << 8*/ + 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;*/ - " mov %5,%7" "\n\t" /* %6:%5 = f*/ - " mov %6,%8" "\n\t" + A("mov %5,%7") /* %6:%5 = f*/ + A("mov %6,%8") /* %6:%5 = f*/ /* umul16x16to16hi(f, f, t); / Range 16 bits (unsigned) [17] */ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %9,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %9, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %9,r0" "\n\t" /* %9 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %9,r0" "\n\t" /* %9 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t)) */ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 = */ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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]*/ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %1,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 =*/ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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)*/ - " clr %9" "\n\t" /* "decimal place we get for free"*/ - " lds %2,bezier_F" "\n\t" - " lds %3,bezier_F+1" "\n\t" - " lds %4,bezier_F+2" "\n\t" /* %4:%3:%2 = acc*/ + 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) {*/ - " lds r0,A_negative" "\n\t" - " or r0,%0" "\n\t" /* Is flag signalling negative? */ - " brne 3f" "\n\t" /* If yes, Skip next instruction if A was negative*/ - " rjmp 1f" "\n\t" /* Otherwise, jump */ + 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; */ - "3:" "\n\t" - " lds %10, bezier_C" "\n\t" /* %10 = LO(bezier_C)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_C) * LO(f)*/ - " sub %9,r1" "\n\t" - " sbc %2,%0" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(LO(bezier_C) * LO(f))*/ - " lds %11, bezier_C+1" "\n\t" /* %11 = MI(bezier_C)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_C) * LO(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_C) * LO(f)*/ - " lds %1, bezier_C+2" "\n\t" /* %1 = HI(bezier_C)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_C) * LO(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_C) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_C) * MI(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= LO(bezier_C) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_C) * MI(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_C) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_C) * LO(f)*/ - " sub %3,r0" "\n\t" - " sbc %4,r1" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_C) * LO(f) << 16*/ + 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]*/ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %1,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 =*/ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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; */ - " lds %10, bezier_B" "\n\t" /* %10 = LO(bezier_B)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_B) * LO(f)*/ - " add %9,r1" "\n\t" - " adc %2,%0" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(LO(bezier_B) * LO(f))*/ - " lds %11, bezier_B+1" "\n\t" /* %11 = MI(bezier_B)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_B) * LO(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_B) * LO(f)*/ - " lds %1, bezier_B+2" "\n\t" /* %1 = HI(bezier_B)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_B) * LO(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(bezier_B) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_B) * MI(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += LO(bezier_B) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_B) * MI(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_B) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_B) * LO(f)*/ - " add %3,r0" "\n\t" - " adc %4,r1" "\n\t" /* %4:%3:%2:%9 += HI(bezier_B) * LO(f) << 16*/ + 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]*/ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %1,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 =*/ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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; */ - " lds %10, bezier_A" "\n\t" /* %10 = LO(bezier_A)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_A) * LO(f)*/ - " sub %9,r1" "\n\t" - " sbc %2,%0" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(LO(bezier_A) * LO(f))*/ - " lds %11, bezier_A+1" "\n\t" /* %11 = MI(bezier_A)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_A) * LO(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_A) * LO(f)*/ - " lds %1, bezier_A+2" "\n\t" /* %1 = HI(bezier_A)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_A) * LO(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_A) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_A) * MI(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= LO(bezier_A) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_A) * MI(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_A) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_A) * LO(f)*/ - " sub %3,r0" "\n\t" - " sbc %4,r1" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_A) * LO(f) << 16*/ - " jmp 2f" "\n\t" /* Done!*/ - - "1:" "\n\t" + 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; */ - " lds %10, bezier_C" "\n\t" /* %10 = LO(bezier_C)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_C) * LO(f)*/ - " add %9,r1" "\n\t" - " adc %2,%0" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(LO(bezier_C) * LO(f))*/ - " lds %11, bezier_C+1" "\n\t" /* %11 = MI(bezier_C)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_C) * LO(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_C) * LO(f)*/ - " lds %1, bezier_C+2" "\n\t" /* %1 = HI(bezier_C)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_C) * LO(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(bezier_C) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_C) * MI(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += LO(bezier_C) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_C) * MI(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_C) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_C) * LO(f)*/ - " add %3,r0" "\n\t" - " adc %4,r1" "\n\t" /* %4:%3:%2:%9 += HI(bezier_C) * LO(f) << 16*/ + 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]*/ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %1,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 =*/ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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;*/ - " lds %10, bezier_B" "\n\t" /* %10 = LO(bezier_B)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_B) * LO(f)*/ - " sub %9,r1" "\n\t" - " sbc %2,%0" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(LO(bezier_B) * LO(f))*/ - " lds %11, bezier_B+1" "\n\t" /* %11 = MI(bezier_B)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_B) * LO(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_B) * LO(f)*/ - " lds %1, bezier_B+2" "\n\t" /* %1 = HI(bezier_B)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_B) * LO(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_B) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_B) * MI(f)*/ - " sub %9,r0" "\n\t" - " sbc %2,r1" "\n\t" - " sbc %3,%0" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= LO(bezier_B) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_B) * MI(f)*/ - " sub %2,r0" "\n\t" - " sbc %3,r1" "\n\t" - " sbc %4,%0" "\n\t" /* %4:%3:%2:%9 -= MI(bezier_B) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_B) * LO(f)*/ - " sub %3,r0" "\n\t" - " sbc %4,r1" "\n\t" /* %4:%3:%2:%9 -= HI(bezier_B) * LO(f) << 16*/ + 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]*/ - " mul %5,%7" "\n\t" /* r1:r0 = LO(f) * LO(t)*/ - " mov %1,r1" "\n\t" /* store MIL(LO(f) * LO(t)) in %1, we need it for rounding*/ - " clr %10" "\n\t" /* %10 = 0*/ - " clr %11" "\n\t" /* %11 = 0*/ - " mul %5,%8" "\n\t" /* r1:r0 = LO(f) * HI(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(LO(f) * HI(t))*/ - " adc %10,r1" "\n\t" /* %10 = HI(LO(f) * HI(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%7" "\n\t" /* r1:r0 = HI(f) * LO(t)*/ - " add %1,r0" "\n\t" /* %1 += LO(HI(f) * LO(t))*/ - " adc %10,r1" "\n\t" /* %10 += HI(HI(f) * LO(t))*/ - " adc %11,%0" "\n\t" /* %11 += carry*/ - " mul %6,%8" "\n\t" /* r1:r0 = HI(f) * HI(t)*/ - " add %10,r0" "\n\t" /* %10 += LO(HI(f) * HI(t))*/ - " adc %11,r1" "\n\t" /* %11 += HI(HI(f) * HI(t))*/ - " mov %5,%10" "\n\t" /* %6:%5 =*/ - " mov %6,%11" "\n\t" /* f = %10:%11*/ + 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; */ - " lds %10, bezier_A" "\n\t" /* %10 = LO(bezier_A)*/ - " mul %10,%5" "\n\t" /* r1:r0 = LO(bezier_A) * LO(f)*/ - " add %9,r1" "\n\t" - " adc %2,%0" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(LO(bezier_A) * LO(f))*/ - " lds %11, bezier_A+1" "\n\t" /* %11 = MI(bezier_A)*/ - " mul %11,%5" "\n\t" /* r1:r0 = MI(bezier_A) * LO(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_A) * LO(f)*/ - " lds %1, bezier_A+2" "\n\t" /* %1 = HI(bezier_A)*/ - " mul %1,%5" "\n\t" /* r1:r0 = MI(bezier_A) * LO(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += HI(bezier_A) * LO(f) << 8*/ - " mul %10,%6" "\n\t" /* r1:r0 = LO(bezier_A) * MI(f)*/ - " add %9,r0" "\n\t" - " adc %2,r1" "\n\t" - " adc %3,%0" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += LO(bezier_A) * MI(f)*/ - " mul %11,%6" "\n\t" /* r1:r0 = MI(bezier_A) * MI(f)*/ - " add %2,r0" "\n\t" - " adc %3,r1" "\n\t" - " adc %4,%0" "\n\t" /* %4:%3:%2:%9 += MI(bezier_A) * MI(f) << 8*/ - " mul %1,%6" "\n\t" /* r1:r0 = HI(bezier_A) * LO(f)*/ - " add %3,r0" "\n\t" - " adc %4,r1" "\n\t" /* %4:%3:%2:%9 += HI(bezier_A) * LO(f) << 16*/ - "2:" "\n\t" - " clr __zero_reg__" /* C runtime expects r1 = __zero_reg__ = 0 */ + 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), @@ -1071,20 +1090,20 @@ void Stepper::set_directions() { 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 + ".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 ) , @@ -1123,289 +1142,214 @@ void Stepper::set_directions() { #endif } #endif -#endif // BEZIER_JERK_CONTROL +#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_inverse); + /** + * 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 @@ -1416,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); + #if MINIMUM_STEPPER_PULSE + // Just wait for the requested pulse duration + while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } #endif - #if HAS_Z_STEP - STEP_TICK(Z); - #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 @@ -1487,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 @@ -1497,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); + + // If there is a current block + if (current_block) { - // step_rate to timer interval - const hal_timer_t interval = calc_timer_interval(acc_step_rate); + // 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 - SPLIT(interval); // split step into multiple ISRs if larger than ENDSTOP_NOMINAL_OCR_VAL - _NEXT_ISR(ocr_val); + // acc_step_rate is in steps/second - acceleration_time += interval; + // 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 (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; - } + #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_inverse); - 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 + + #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 - // step_rate to timer interval - const hal_timer_t interval = calc_timer_interval(step_rate); + 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 @@ -1896,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() @@ -1935,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(); @@ -1981,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 * @@ -1996,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 @@ -2024,78 +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() { - DISABLE_STEPPER_DRIVER_INTERRUPT(); - kill_current_block(); - current_block = NULL; - cleaning_buffer_counter = 5000; - planner.clear_block_buffer(); - 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 * ( @@ -2109,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); @@ -2146,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 @@ -2159,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(MINIMUM_STEPPER_DIR_DELAY); \ + _SAVE_START; \ _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), true); \ _PULSE_WAIT; \ _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), true); \ @@ -2250,6 +2319,10 @@ void Stepper::report_positions() { Y_DIR_WRITE(INVERT_Y_DIR ^ z_direction); Z_DIR_WRITE(INVERT_Z_DIR ^ z_direction); + #if MINIMUM_STEPPER_DIR_DELAY > 0 + DELAY_NS(MINIMUM_STEPPER_DIR_DELAY); + #endif + _SAVE_START; X_STEP_WRITE(!INVERT_X_STEP_PIN); diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index 88bbab874394..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,68 +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 + 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 + + #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 + + // 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 + + // 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 - #if ENABLED(BEZIER_JERK_CONTROL) + #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 - static uint32_t bezier_AV; // AV 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 uint32_t nextMainISR; // time remaining for the next Step ISR #if ENABLED(LIN_ADVANCE) - - 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 - - #define _NEXT_ISR(T) HAL_timer_set_compare(STEP_TIMER_NUM, T); - - #endif // !LIN_ADVANCE - - static int32_t acceleration_time, deceleration_time; - static uint8_t step_loops, step_loops_nominal; - - 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 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 @@ -148,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: @@ -167,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 and clear the blocks queue - // - static void quick_stop(); + // Quickly stop all steppers + FORCE_INLINE static void quick_stop() { abort_current_block = true; } - // // 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); @@ -254,116 +410,126 @@ 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) + #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 @@ -378,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..c7cdcb167a11 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); @@ -378,9 +377,6 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif } - // Save current position to destination, for use later - set_destination_from_current(); - #if HAS_LEVELING // Set current position to the physical position const bool leveling_was_active = planner.leveling_active; @@ -389,10 +385,23 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #if ENABLED(DUAL_X_CARRIAGE) + #if HAS_SOFTWARE_ENDSTOPS + // Update the X software endstops early + active_extruder = tmp_extruder; + update_software_endstops(X_AXIS); + active_extruder = !tmp_extruder; + #endif + + // Don't move the new extruder out of bounds + if (!WITHIN(current_position[X_AXIS], soft_endstop_min[X_AXIS], soft_endstop_max[X_AXIS])) + no_move = true; + + if (!no_move) set_destination_from_current(); dualx_tool_change(tmp_extruder, no_move); // Can modify no_move #else // !DUAL_X_CARRIAGE + set_destination_from_current(); #if ENABLED(PARKING_EXTRUDER) // Dual Parking extruder parking_extruder_tool_change(tmp_extruder, no_move); #endif @@ -425,16 +434,16 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif // !DUAL_X_CARRIAGE - #if HAS_LEVELING - // Restore leveling to re-establish the logical position - set_bed_leveling_enabled(leveling_was_active); - #endif - #if ENABLED(SWITCHING_NOZZLE) // The newly-selected extruder Z is actually at... current_position[Z_AXIS] -= zdiff; #endif + #if HAS_LEVELING + // Restore leveling to re-establish the logical position + set_bed_leveling_enabled(leveling_was_active); + #endif + // Tell the planner the new "current position" SYNC_PLAN_POSITION_KINEMATIC(); @@ -457,6 +466,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 +478,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(); @@ -475,6 +487,10 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n feedrate_mm_s = old_feedrate_mm_s; + #if HAS_SOFTWARE_ENDSTOPS && ENABLED(DUAL_X_CARRIAGE) + update_software_endstops(X_AXIS); + #endif + #else // HOTENDS <= 1 UNUSED(fr_mm_s); @@ -493,7 +509,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 6acf915b276c..0720fc8f9366 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -54,311 +54,348 @@ // #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(KFB_2) + #include "pins_KFB_2.h" // ATmega2560 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 +#elif MB(SMOOTHIEBOARD) + #include "pins_SMOOTHIEBOARD.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 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_BIQU_KFB_2.h b/Marlin/src/pins/pins_BIQU_KFB_2.h new file mode 100644 index 000000000000..f629424a8d84 --- /dev/null +++ b/Marlin/src/pins/pins_BIQU_KFB_2.h @@ -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 . + * + */ + +/** + * KFB 2.0 – Arduino Mega2560 with RAMPS v1.4 pin assignments + */ + +#if HOTENDS > 2 || E_STEPPERS > 2 + #error "KFB 2.0 supports up to 2 hotends / E-steppers. Comment out this line to continue." +#endif + +#define BOARD_NAME "KFB 2.0" + +// +// Heaters / Fans +// +// Power outputs BEEF or BEFF +#define MOSFET_D_PIN 7 + +#include "pins_RAMPS.h" 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_FELIX2.h b/Marlin/src/pins/pins_FELIX2.h index 5d6765c8409e..83c484574599 100644 --- a/Marlin/src/pins/pins_FELIX2.h +++ b/Marlin/src/pins/pins_FELIX2.h @@ -34,7 +34,7 @@ // Heaters / Fans // // Power outputs EFBF or EFBE -#define MOSFET_D_PIN 7 +#define MOSFET_D_PIN 7 #include "pins_RAMPS.h" @@ -51,7 +51,7 @@ // #if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) - #define SD_DETECT_PIN 6 + #define SD_DETECT_PIN 6 #endif // NEWPANEL && ULTRA_LCD 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.h b/Marlin/src/pins/pins_MKS_BASE.h index 65c78e148684..90344c4084dd 100644 --- a/Marlin/src/pins/pins_MKS_BASE.h +++ b/Marlin/src/pins/pins_MKS_BASE.h @@ -36,7 +36,7 @@ // Heaters / Fans // // Power outputs EFBF or EFBE -#define MOSFET_D_PIN 7 +#define MOSFET_D_PIN 7 #define CASE_LIGHT_PIN 2 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 68% rename from Marlin/src/pins/pins_MKS_13.h rename to Marlin/src/pins/pins_MKS_GEN_13.h index 07aa6581167f..41e69d478a69 100644 --- a/Marlin/src/pins/pins_MKS_13.h +++ b/Marlin/src/pins/pins_MKS_GEN_13.h @@ -23,23 +23,23 @@ /** * 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 // // Power outputs EFBF or EFBE -#define MOSFET_D_PIN 7 +#define MOSFET_D_PIN 7 // // PSU / SERVO @@ -47,8 +47,8 @@ // If POWER_SUPPLY is specified, always hijack Servo 3 // #if POWER_SUPPLY > 0 - #define SERVO3_PIN -1 - #define PS_ON_PIN 4 + #define SERVO3_PIN -1 + #define PS_ON_PIN 4 #endif #include "pins_RAMPS.h" @@ -100,45 +100,45 @@ // VIKI2 12-wire lead // - // orange/white SDCD - #define SD_DETECT_PIN 49 + // orange/white SDCD + #define SD_DETECT_PIN 49 - // white ENCA - #define BTN_EN1 35 + // white ENCA + #define BTN_EN1 35 - // green ENCB - #define BTN_EN2 37 + // green ENCB + #define BTN_EN2 37 - // purple ENCBTN - #define BTN_ENC 31 + // purple ENCBTN + #define BTN_ENC 31 - // brown A0 - #define DOGLCD_A0 27 + // brown A0 + #define DOGLCD_A0 27 - // green/white LCS - #define DOGLCD_CS 29 + // green/white LCS + #define DOGLCD_CS 29 - // 50 gray MISO - // 51 yellow MOSI - // 52 orange SCK + // 50 gray MISO + // 51 yellow MOSI + // 52 orange SCK - // blue SDCS - //#define SDSS 53 + // blue SDCS + //#define SDSS 53 // // VIKI2 4-wire lead // - // blue BTN - #define KILL_PIN 23 + // blue BTN + #define KILL_PIN 23 - // green BUZZER - #define BEEPER_PIN 25 + // green BUZZER + #define BEEPER_PIN 25 - // yellow RED-LED + // yellow RED-LED #define STAT_LED_RED_PIN 16 - // white BLUE-LED + // white BLUE-LED #define STAT_LED_BLUE_PIN 17 #endif 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..7a58198342f0 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,8 +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 // // Connector J8 @@ -124,21 +123,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 +162,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 +176,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 +185,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 +192,63 @@ #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 +/** + * Example for trinamic drivers using the J8 connector on MKs Sbase. + * 2130s need 1 pin for each driver. 2208s need 2 pins for serial control. + * This board does not have enough pins to use hardware serial. + */ + +#if HAS_DRIVER(TMC2130) + // J8 + #define X_CS_PIN P1_22 + #define Y_CS_PIN P1_23 + #define Z_CS_PIN P2_12 + #define E0_CS_PIN P2_11 + #define E1_CS_PIN P4_28 + +// Hardware SPI is on EXP2. See if you can make it work: +// https://github.com/makerbase-mks/MKS-SBASE/issues/25 +#define TMC_USE_SW_SPI +#if ENABLED(TMC_USE_SW_SPI) + #ifndef TMC_SW_MOSI + #define TMC_SW_MOSI P0_03 // AUX1 + #endif + #ifndef TMC_SW_MISO + #define TMC_SW_MISO P0_02 // AUX1 + #endif + #ifndef TMC_SW_SCK + #define TMC_SW_SCK P0_26 // TH4 + #endif + #endif +#endif +#if HAS_DRIVER(TMC2208) + // The shortage of pins becomes apparent. + // Worst case you may have to give up the LCD + // RX pins need to be interrupt capable + #define X_SERIAL_TX_PIN P1_22 // J8-2 + #define X_SERIAL_RX_PIN P2_12 // J8-4 Interrupt Capable + #define Y_SERIAL_TX_PIN P1_23 // J8-3 + #define Y_SERIAL_RX_PIN P2_11 // J8-5 Interrupt Capable + #define Z_SERIAL_TX_PIN P2_12 // J8-4 + #define Z_SERIAL_RX_PIN P0_25 // TH3 + #define E0_SERIAL_TX_PIN P4_28 // J8-6 + #define E0_SERIAL_RX_PIN P0_26 // TH4 +#endif + +/** + * 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 +272,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 - SD Card (Onboard) + * P0_10 - Port 2 + * P0_11 - Y_EN/Y_DIR + * P0_15 - Port 1 + * P0_16 - EXP1 + * 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 698c310d86cc..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 // 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_SMOOTHIEBOARD.h b/Marlin/src/pins/pins_SMOOTHIEBOARD.h new file mode 100644 index 000000000000..f41f57020a4a --- /dev/null +++ b/Marlin/src/pins/pins_SMOOTHIEBOARD.h @@ -0,0 +1,115 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (C) 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 . + * + */ + +/** + * Smoothieboard pin assignments + */ + +#ifndef TARGET_LPC1768 + #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." +#endif + +#ifndef BOARD_NAME + #define BOARD_NAME "Smoothieboard" + #define DEFAULT_WEBSITE_URL "http://smoothieware.org/smoothieboard" +#endif + +#undef F_CPU +#define F_CPU 120000000 + +// +// Servos +// +#define SERVO0_PIN P1_23 + +// +// Limit Switches +// +#define X_MIN_PIN P1_24 +#define X_MAX_PIN P1_25 +#define Y_MIN_PIN P1_26 +#define Y_MAX_PIN P1_27 +#define Z_MIN_PIN P1_28 +#define Z_MAX_PIN P1_29 + +// +// Steppers +// +#define X_STEP_PIN P2_00 +#define X_DIR_PIN P0_05 +#define X_ENABLE_PIN P0_04 + +#define Y_STEP_PIN P2_01 +#define Y_DIR_PIN P0_11 +#define Y_ENABLE_PIN P0_10 + +#define Z_STEP_PIN P2_02 +#define Z_DIR_PIN P0_20 +#define Z_ENABLE_PIN P0_19 + +#define E0_STEP_PIN P2_03 +#define E0_DIR_PIN P0_22 +#define E0_ENABLE_PIN P0_21 + +#define E1_STEP_PIN P2_08 +#define E1_DIR_PIN P2_13 +#define E1_ENABLE_PIN P4_29 + +// +// Temperature Sensors +// 3.3V max when defined as an analog input +// +#define TEMP_0_PIN 0 // P0.23 (T1) +#define TEMP_BED_PIN 1 // P0.24 (T2) +#define TEMP_1_PIN 2 // P0.25 (T3) +#define TEMP_2_PIN 3 // P0.26 (T4) + +// +// Heaters / Fans +// +#define HEATER_BED_PIN P2_05 +#define HEATER_0_PIN P2_07 +#define HEATER_1_PIN P1_23 +#ifndef FAN_PIN + #define FAN_PIN P2_06 +#endif +#define FAN1_PIN P2_04 + +// +// Display +// +#if ENABLED(VIKI2) || ENABLED(miniVIKI) + #define BEEPER_PIN P1_31 + //#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 SD_DETECT_PIN P1_18 + #define SDSS P1_21 + + #define STAT_LED_RED_PIN P1_19 + #define STAT_LED_BLUE_PIN P1_20 +#endif 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/pins/pins_TRIGORILLA_14.h b/Marlin/src/pins/pins_TRIGORILLA_14.h new file mode 100644 index 000000000000..70b0a930a91a --- /dev/null +++ b/Marlin/src/pins/pins_TRIGORILLA_14.h @@ -0,0 +1,36 @@ +/** + * 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 . + * + */ + +/** + * Arduino Mega with RAMPS v1.4 for Anycubic + */ + +#ifndef BOARD_NAME + #define BOARD_NAME "Anycubic RAMPS 1.4" +#endif + +#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/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-0-1.bdf b/buildroot/share/fonts/ISO10646-0-1.bdf deleted file mode 100644 index 06210d0eb65d..000000000000 --- a/buildroot/share/fonts/ISO10646-0-1.bdf +++ /dev/null @@ -1,2736 +0,0 @@ -STARTFONT 2.1 -FONT -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0 -SIZE 8 96 96 -FONTBOUNDINGBOX 6 10 0 -2 -COMMENT "Merged with Marlin symbols" -COMMENT "A. Hardtung, public domain" -STARTPROPERTIES 33 -FOUNDRY "FontForge" -FAMILY_NAME "ISO106461" -WEIGHT_NAME "Normal" -SLANT "R" -SETWIDTH_NAME "Normal" -ADD_STYLE_NAME "" -PIXEL_SIZE 11 -POINT_SIZE 80 -RESOLUTION_X 96 -RESOLUTION_Y 96 -SPACING "C" -AVERAGE_WIDTH 60 -CHARSET_REGISTRY "WinRoman" -CHARSET_ENCODING "0" -FONTNAME_REGISTRY "" -CHARSET_COLLECTIONS "WinRoman" -FONT_NAME "ISO10646-1" -FACE_NAME "ISO10646-1" -FONT_VERSION "001.000" -FONT_ASCENT 9 -FONT_DESCENT 2 -UNDERLINE_POSITION -1 -UNDERLINE_THICKNESS 1 -X_HEIGHT 4 -CAP_HEIGHT 6 -RAW_ASCENT 800 -RAW_DESCENT 200 -NORM_SPACE 6 -RELATIVE_WEIGHT 40 -RELATIVE_SETWIDTH 50 -FIGURE_WIDTH 6 -AVG_LOWERCASE_WIDTH 60 -AVG_UPPERCASE_WIDTH 60 -ENDPROPERTIES -CHARS 199 -STARTCHAR uni0001 -ENCODING 1 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -F0 -C8 -88 -88 -98 -78 -10 -ENDCHAR -STARTCHAR uni0002 -ENCODING 2 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -C0 -F8 -88 -88 -88 -88 -88 -F8 -ENDCHAR -STARTCHAR uni0003 -ENCODING 3 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -30 -F8 -30 -20 -ENDCHAR -STARTCHAR uni0004 -ENCODING 4 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -70 -F8 -20 -20 -20 -20 -E0 -ENDCHAR -STARTCHAR uni0005 -ENCODING 5 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -20 -70 -A8 -A8 -B8 -88 -88 -70 -20 -ENDCHAR -STARTCHAR uni0006 -ENCODING 6 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -E0 -80 -C0 -B0 -A8 -28 -30 -28 -28 -ENDCHAR -STARTCHAR uni0007 -ENCODING 7 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -F8 -A8 -88 -88 -88 -88 -88 -A8 -F8 -ENDCHAR -STARTCHAR uni0008 -ENCODING 8 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 10 0 -2 -BITMAP -20 -50 -50 -50 -50 -88 -A8 -A8 -88 -70 -ENDCHAR -STARTCHAR uni0009 -ENCODING 9 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 3 0 3 -BITMAP -40 -A0 -40 -ENDCHAR -STARTCHAR space -ENCODING 32 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 -ENDCHAR -STARTCHAR exclam -ENCODING 33 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -00 -80 -ENDCHAR -STARTCHAR quotedbl -ENCODING 34 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 2 1 5 -BITMAP -A0 -A0 -ENDCHAR -STARTCHAR numbersign -ENCODING 35 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -50 -F8 -50 -F8 -50 -50 -ENDCHAR -STARTCHAR dollar -ENCODING 36 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -78 -A0 -70 -28 -F0 -20 -ENDCHAR -STARTCHAR percent -ENCODING 37 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -C0 -C8 -10 -20 -40 -98 -18 -ENDCHAR -STARTCHAR ampersand -ENCODING 38 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -60 -90 -A0 -40 -A8 -90 -68 -ENDCHAR -STARTCHAR quotesingle -ENCODING 39 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 3 1 4 -BITMAP -C0 -40 -80 -ENDCHAR -STARTCHAR parenleft -ENCODING 40 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -20 -40 -80 -80 -80 -40 -20 -ENDCHAR -STARTCHAR parenright -ENCODING 41 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -80 -40 -20 -20 -20 -40 -80 -ENDCHAR -STARTCHAR asterisk -ENCODING 42 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -A8 -70 -A8 -20 -ENDCHAR -STARTCHAR plus -ENCODING 43 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -20 -F8 -20 -20 -ENDCHAR -STARTCHAR comma -ENCODING 44 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 3 2 -1 -BITMAP -C0 -40 -80 -ENDCHAR -STARTCHAR hyphen -ENCODING 45 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 3 -BITMAP -F8 -ENDCHAR -STARTCHAR period -ENCODING 46 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 0 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR slash -ENCODING 47 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -08 -10 -20 -40 -80 -ENDCHAR -STARTCHAR zero -ENCODING 48 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -98 -A8 -C8 -88 -70 -ENDCHAR -STARTCHAR one -ENCODING 49 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -40 -C0 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR two -ENCODING 50 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -08 -70 -80 -80 -F8 -ENDCHAR -STARTCHAR three -ENCODING 51 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -10 -20 -10 -08 -08 -F0 -ENDCHAR -STARTCHAR four -ENCODING 52 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -10 -30 -50 -90 -F8 -10 -10 -ENDCHAR -STARTCHAR five -ENCODING 53 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -F0 -08 -08 -88 -70 -ENDCHAR -STARTCHAR six -ENCODING 54 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -40 -80 -F0 -88 -88 -70 -ENDCHAR -STARTCHAR seven -ENCODING 55 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -08 -10 -20 -20 -20 -20 -ENDCHAR -STARTCHAR eight -ENCODING 56 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -70 -88 -88 -70 -ENDCHAR -STARTCHAR nine -ENCODING 57 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -78 -08 -10 -60 -ENDCHAR -STARTCHAR colon -ENCODING 58 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 5 2 0 -BITMAP -C0 -C0 -00 -C0 -C0 -ENDCHAR -STARTCHAR semicolon -ENCODING 59 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 6 2 -1 -BITMAP -C0 -C0 -00 -C0 -40 -80 -ENDCHAR -STARTCHAR less -ENCODING 60 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -10 -20 -40 -80 -40 -20 -10 -ENDCHAR -STARTCHAR equal -ENCODING 61 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 2 -BITMAP -F8 -00 -F8 -ENDCHAR -STARTCHAR greater -ENCODING 62 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 1 0 -BITMAP -80 -40 -20 -10 -20 -40 -80 -ENDCHAR -STARTCHAR question -ENCODING 63 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -08 -10 -20 -00 -20 -ENDCHAR -STARTCHAR at -ENCODING 64 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -08 -68 -A8 -70 -ENDCHAR -STARTCHAR A -ENCODING 65 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR B -ENCODING 66 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -88 -88 -F0 -ENDCHAR -STARTCHAR C -ENCODING 67 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -80 -80 -88 -70 -ENDCHAR -STARTCHAR D -ENCODING 68 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -E0 -90 -88 -88 -88 -90 -E0 -ENDCHAR -STARTCHAR E -ENCODING 69 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR F -ENCODING 70 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR G -ENCODING 71 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -B8 -88 -88 -70 -ENDCHAR -STARTCHAR H -ENCODING 72 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR I -ENCODING 73 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR J -ENCODING 74 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -38 -10 -10 -10 -10 -90 -60 -ENDCHAR -STARTCHAR K -ENCODING 75 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A0 -C0 -A0 -90 -88 -ENDCHAR -STARTCHAR L -ENCODING 76 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -80 -80 -80 -80 -F8 -ENDCHAR -STARTCHAR M -ENCODING 77 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -D8 -A8 -88 -88 -88 -88 -ENDCHAR -STARTCHAR N -ENCODING 78 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -C8 -A8 -98 -88 -88 -ENDCHAR -STARTCHAR O -ENCODING 79 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR P -ENCODING 80 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR Q -ENCODING 81 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -A8 -90 -68 -ENDCHAR -STARTCHAR R -ENCODING 82 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -A0 -90 -88 -ENDCHAR -STARTCHAR S -ENCODING 83 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -80 -80 -70 -08 -08 -F0 -ENDCHAR -STARTCHAR T -ENCODING 84 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -20 -20 -20 -20 -20 -20 -ENDCHAR -STARTCHAR U -ENCODING 85 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR V -ENCODING 86 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -50 -20 -ENDCHAR -STARTCHAR W -ENCODING 87 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -A8 -50 -ENDCHAR -STARTCHAR X -ENCODING 88 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -50 -20 -50 -88 -88 -ENDCHAR -STARTCHAR Y -ENCODING 89 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -50 -20 -20 -20 -ENDCHAR -STARTCHAR Z -ENCODING 90 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -08 -10 -20 -40 -80 -F8 -ENDCHAR -STARTCHAR bracketleft -ENCODING 91 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -80 -80 -80 -80 -80 -E0 -ENDCHAR -STARTCHAR backslash -ENCODING 92 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -80 -40 -20 -10 -08 -ENDCHAR -STARTCHAR bracketright -ENCODING 93 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -20 -20 -20 -20 -20 -E0 -ENDCHAR -STARTCHAR asciicircum -ENCODING 94 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 4 -BITMAP -20 -50 -88 -ENDCHAR -STARTCHAR underscore -ENCODING 95 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 0 -BITMAP -F8 -ENDCHAR -STARTCHAR grave -ENCODING 96 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 5 -BITMAP -80 -40 -ENDCHAR -STARTCHAR a -ENCODING 97 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR b -ENCODING 98 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -B0 -C8 -88 -88 -F0 -ENDCHAR -STARTCHAR c -ENCODING 99 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -80 -88 -70 -ENDCHAR -STARTCHAR d -ENCODING 100 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -08 -08 -68 -98 -88 -88 -78 -ENDCHAR -STARTCHAR e -ENCODING 101 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR f -ENCODING 102 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -48 -E0 -40 -40 -40 -40 -ENDCHAR -STARTCHAR g -ENCODING 103 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -70 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR h -ENCODING 104 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR i -ENCODING 105 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -00 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR j -ENCODING 106 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 -1 -BITMAP -20 -00 -20 -20 -20 -20 -A0 -40 -ENDCHAR -STARTCHAR k -ENCODING 107 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -80 -80 -90 -A0 -C0 -A0 -90 -ENDCHAR -STARTCHAR l -ENCODING 108 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -C0 -40 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR m -ENCODING 109 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -D0 -A8 -A8 -A8 -A8 -ENDCHAR -STARTCHAR n -ENCODING 110 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR o -ENCODING 111 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR p -ENCODING 112 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -F0 -88 -88 -F0 -80 -80 -ENDCHAR -STARTCHAR q -ENCODING 113 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -78 -88 -88 -78 -08 -08 -ENDCHAR -STARTCHAR r -ENCODING 114 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -B0 -C8 -80 -80 -80 -ENDCHAR -STARTCHAR s -ENCODING 115 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -70 -08 -F0 -ENDCHAR -STARTCHAR t -ENCODING 116 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -40 -40 -E0 -40 -40 -48 -30 -ENDCHAR -STARTCHAR u -ENCODING 117 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR v -ENCODING 118 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -88 -50 -20 -ENDCHAR -STARTCHAR w -ENCODING 119 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -A8 -A8 -50 -ENDCHAR -STARTCHAR x -ENCODING 120 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -50 -20 -50 -88 -ENDCHAR -STARTCHAR y -ENCODING 121 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR z -ENCODING 122 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -10 -20 -40 -F8 -ENDCHAR -STARTCHAR braceleft -ENCODING 123 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -20 -40 -40 -80 -40 -40 -20 -ENDCHAR -STARTCHAR bar -ENCODING 124 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR braceright -ENCODING 125 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -80 -40 -40 -20 -40 -40 -80 -ENDCHAR -STARTCHAR asciitilde -ENCODING 126 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 2 0 3 -BITMAP -68 -90 -ENDCHAR -STARTCHAR exclamdown -ENCODING 161 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -00 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR cent -ENCODING 162 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -70 -A8 -A0 -A8 -70 -20 -ENDCHAR -STARTCHAR sterling -ENCODING 163 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -40 -40 -E0 -40 -50 -A8 -ENDCHAR -STARTCHAR currency -ENCODING 164 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -70 -50 -70 -88 -ENDCHAR -STARTCHAR yen -ENCODING 165 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -50 -20 -F8 -20 -F8 -20 -ENDCHAR -STARTCHAR brokenbar -ENCODING 166 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -00 -80 -80 -80 -ENDCHAR -STARTCHAR section -ENCODING 167 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -30 -48 -20 -50 -50 -20 -90 -60 -ENDCHAR -STARTCHAR dieresis -ENCODING 168 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 1 1 7 -BITMAP -A0 -ENDCHAR -STARTCHAR copyright -ENCODING 169 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -B8 -B8 -B8 -88 -F8 -ENDCHAR -STARTCHAR ordfeminine -ENCODING 170 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 1 -BITMAP -70 -08 -78 -88 -78 -00 -F8 -ENDCHAR -STARTCHAR guillemotleft -ENCODING 171 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -28 -50 -A0 -50 -28 -ENDCHAR -STARTCHAR logicalnot -ENCODING 172 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 1 -BITMAP -F8 -08 -08 -ENDCHAR -STARTCHAR uni00AD -ENCODING 173 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 6 -BITMAP -40 -80 -ENDCHAR -STARTCHAR registered -ENCODING 174 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -A8 -88 -98 -A8 -F8 -ENDCHAR -STARTCHAR macron -ENCODING 175 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 6 -BITMAP -F8 -ENDCHAR -STARTCHAR degree -ENCODING 176 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 3 -BITMAP -60 -90 -90 -60 -ENDCHAR -STARTCHAR plusminus -ENCODING 177 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -20 -F8 -20 -20 -00 -F8 -ENDCHAR -STARTCHAR uni00B2 -ENCODING 178 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 3 -BITMAP -60 -90 -20 -40 -F0 -ENDCHAR -STARTCHAR uni00B3 -ENCODING 179 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 0 3 -BITMAP -E0 -20 -E0 -20 -E0 -ENDCHAR -STARTCHAR acute -ENCODING 180 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 6 -BITMAP -40 -80 -ENDCHAR -STARTCHAR uni00B5 -ENCODING 181 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -88 -88 -88 -88 -98 -E8 -80 -80 -ENDCHAR -STARTCHAR paragraph -ENCODING 182 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -98 -98 -78 -18 -18 -18 -ENDCHAR -STARTCHAR periodcentered -ENCODING 183 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 2 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR cedilla -ENCODING 184 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 -1 -BITMAP -40 -80 -ENDCHAR -STARTCHAR uni00B9 -ENCODING 185 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 0 3 -BITMAP -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR ordmasculine -ENCODING 186 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 1 -BITMAP -70 -88 -88 -88 -70 -00 -F8 -ENDCHAR -STARTCHAR guillemotright -ENCODING 187 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -A0 -50 -28 -50 -A0 -ENDCHAR -STARTCHAR onequarter -ENCODING 188 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A8 -58 -B8 -08 -08 -ENDCHAR -STARTCHAR onehalf -ENCODING 189 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -B8 -48 -98 -20 -38 -ENDCHAR -STARTCHAR threequarters -ENCODING 190 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -C0 -40 -C0 -48 -D8 -38 -08 -08 -ENDCHAR -STARTCHAR questiondown -ENCODING 191 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -00 -20 -40 -80 -88 -70 -ENDCHAR -STARTCHAR Agrave -ENCODING 192 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Aacute -ENCODING 193 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Acircumflex -ENCODING 194 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Atilde -ENCODING 195 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Adieresis -ENCODING 196 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -70 -88 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Aring -ENCODING 197 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -20 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR AE -ENCODING 198 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -38 -60 -A0 -B8 -E0 -A0 -B8 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 199 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -70 -88 -80 -80 -88 -70 -20 -60 -ENDCHAR -STARTCHAR Egrave -ENCODING 200 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Eacute -ENCODING 201 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -08 -10 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Ecircumflex -ENCODING 202 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Edieresis -ENCODING 203 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Igrave -ENCODING 204 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -80 -40 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Iacute -ENCODING 205 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -20 -40 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Icircumflex -ENCODING 206 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -40 -A0 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Idieresis -ENCODING 207 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -A0 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Eth -ENCODING 208 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -48 -48 -E8 -48 -48 -70 -ENDCHAR -STARTCHAR Ntilde -ENCODING 209 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -88 -C8 -A8 -98 -88 -ENDCHAR -STARTCHAR Ograve -ENCODING 210 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Oacute -ENCODING 211 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Ocircumflex -ENCODING 212 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Otilde -ENCODING 213 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Odieresis -ENCODING 214 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR multiply -ENCODING 215 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -88 -50 -20 -50 -88 -ENDCHAR -STARTCHAR Oslash -ENCODING 216 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -10 -70 -A8 -A8 -A8 -A8 -70 -40 -ENDCHAR -STARTCHAR Ugrave -ENCODING 217 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Uacute -ENCODING 218 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Ucircumflex -ENCODING 219 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Udieresis -ENCODING 220 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Yacute -ENCODING 221 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -88 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Thorn -ENCODING 222 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -C0 -40 -70 -48 -48 -70 -40 -40 -E0 -ENDCHAR -STARTCHAR germandbls -ENCODING 223 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 1 -1 -BITMAP -60 -90 -90 -A0 -90 -90 -E0 -80 -ENDCHAR -STARTCHAR agrave -ENCODING 224 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR aacute -ENCODING 225 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR acircumflex -ENCODING 226 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR atilde -ENCODING 227 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR adieresis -ENCODING 228 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR aring -ENCODING 229 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -20 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR ae -ENCODING 230 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -D0 -28 -78 -A0 -A8 -50 -ENDCHAR -STARTCHAR ccedilla -ENCODING 231 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -70 -80 -88 -70 -20 -60 -ENDCHAR -STARTCHAR egrave -ENCODING 232 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR eacute -ENCODING 233 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR ecircumflex -ENCODING 234 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR edieresis -ENCODING 235 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR igrave -ENCODING 236 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -80 -40 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR iacute -ENCODING 237 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -20 -40 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR icircumflex -ENCODING 238 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -40 -A0 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR idieresis -ENCODING 239 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -A0 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR eth -ENCODING 240 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A0 -40 -A0 -10 -78 -88 -70 -ENDCHAR -STARTCHAR ntilde -ENCODING 241 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR ograve -ENCODING 242 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR oacute -ENCODING 243 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR ocircumflex -ENCODING 244 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR otilde -ENCODING 245 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR odieresis -ENCODING 246 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR divide -ENCODING 247 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -00 -F8 -00 -20 -ENDCHAR -STARTCHAR oslash -ENCODING 248 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -1 -BITMAP -10 -70 -A8 -A8 -A8 -70 -40 -ENDCHAR -STARTCHAR ugrave -ENCODING 249 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR uacute -ENCODING 250 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR ucircumflex -ENCODING 251 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR udieresis -ENCODING 252 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR yacute -ENCODING 253 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -10 -20 -00 -88 -88 -88 -F8 -08 -70 -ENDCHAR -STARTCHAR thorn -ENCODING 254 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 1 -1 -BITMAP -C0 -40 -60 -50 -60 -40 -E0 -ENDCHAR -STARTCHAR ydieresis -ENCODING 255 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -50 -00 -88 -88 -88 -78 -08 -70 -ENDCHAR -ENDFONT diff --git a/buildroot/share/fonts/ISO10646-0-2.bdf b/buildroot/share/fonts/ISO10646-0-2.bdf deleted file mode 100644 index 41d48384fea0..000000000000 --- a/buildroot/share/fonts/ISO10646-0-2.bdf +++ /dev/null @@ -1,6932 +0,0 @@ -STARTFONT 2.1 -FONT -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0 -SIZE 8 96 96 -FONTBOUNDINGBOX 6 10 0 -2 -COMMENT "Merged with Greek,Cyrillic,Kana" -COMMENT "A. Hardtung, public domain" -STARTPROPERTIES 33 -FOUNDRY "FontForge" -FAMILY_NAME "ISO106461" -WEIGHT_NAME "Normal" -SLANT "R" -SETWIDTH_NAME "Normal" -ADD_STYLE_NAME "" -PIXEL_SIZE 11 -POINT_SIZE 80 -RESOLUTION_X 96 -RESOLUTION_Y 96 -SPACING "C" -AVERAGE_WIDTH 60 -CHARSET_REGISTRY "WinRoman" -CHARSET_ENCODING "0" -FONTNAME_REGISTRY "" -CHARSET_COLLECTIONS "WinRoman" -FONT_NAME "ISO10646-1" -FACE_NAME "ISO10646-1" -FONT_VERSION "001.000" -FONT_ASCENT 9 -FONT_DESCENT 2 -UNDERLINE_POSITION -1 -UNDERLINE_THICKNESS 1 -X_HEIGHT 4 -CAP_HEIGHT 6 -RAW_ASCENT 800 -RAW_DESCENT 200 -NORM_SPACE 6 -RELATIVE_WEIGHT 40 -RELATIVE_SETWIDTH 50 -FIGURE_WIDTH 6 -AVG_LOWERCASE_WIDTH 60 -AVG_UPPERCASE_WIDTH 60 -ENDPROPERTIES -CHARS 515 -STARTCHAR uni0001 -ENCODING 1 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -F0 -C8 -88 -88 -98 -78 -10 -ENDCHAR -STARTCHAR uni0002 -ENCODING 2 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -C0 -F8 -88 -88 -88 -88 -88 -F8 -ENDCHAR -STARTCHAR uni0003 -ENCODING 3 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -30 -F8 -30 -20 -ENDCHAR -STARTCHAR uni0004 -ENCODING 4 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -70 -F8 -20 -20 -20 -20 -E0 -ENDCHAR -STARTCHAR uni0005 -ENCODING 5 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -20 -70 -A8 -A8 -B8 -88 -88 -70 -20 -ENDCHAR -STARTCHAR uni0006 -ENCODING 6 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -E0 -80 -C0 -B0 -A8 -28 -30 -28 -28 -ENDCHAR -STARTCHAR uni0007 -ENCODING 7 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -F8 -A8 -88 -88 -88 -88 -88 -A8 -F8 -ENDCHAR -STARTCHAR uni0008 -ENCODING 8 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 10 0 -2 -BITMAP -20 -50 -50 -50 -50 -88 -A8 -A8 -88 -70 -ENDCHAR -STARTCHAR uni0009 -ENCODING 9 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 3 0 3 -BITMAP -40 -A0 -40 -ENDCHAR -STARTCHAR space -ENCODING 32 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 -ENDCHAR -STARTCHAR exclam -ENCODING 33 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -00 -80 -ENDCHAR -STARTCHAR quotedbl -ENCODING 34 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 2 1 5 -BITMAP -A0 -A0 -ENDCHAR -STARTCHAR numbersign -ENCODING 35 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -50 -F8 -50 -F8 -50 -50 -ENDCHAR -STARTCHAR dollar -ENCODING 36 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -78 -A0 -70 -28 -F0 -20 -ENDCHAR -STARTCHAR percent -ENCODING 37 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -C0 -C8 -10 -20 -40 -98 -18 -ENDCHAR -STARTCHAR ampersand -ENCODING 38 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -60 -90 -A0 -40 -A8 -90 -68 -ENDCHAR -STARTCHAR quotesingle -ENCODING 39 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 3 1 4 -BITMAP -C0 -40 -80 -ENDCHAR -STARTCHAR parenleft -ENCODING 40 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -20 -40 -80 -80 -80 -40 -20 -ENDCHAR -STARTCHAR parenright -ENCODING 41 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -80 -40 -20 -20 -20 -40 -80 -ENDCHAR -STARTCHAR asterisk -ENCODING 42 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -A8 -70 -A8 -20 -ENDCHAR -STARTCHAR plus -ENCODING 43 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -20 -F8 -20 -20 -ENDCHAR -STARTCHAR comma -ENCODING 44 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 3 2 -1 -BITMAP -C0 -40 -80 -ENDCHAR -STARTCHAR hyphen -ENCODING 45 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 3 -BITMAP -F8 -ENDCHAR -STARTCHAR period -ENCODING 46 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 0 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR slash -ENCODING 47 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -08 -10 -20 -40 -80 -ENDCHAR -STARTCHAR zero -ENCODING 48 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -98 -A8 -C8 -88 -70 -ENDCHAR -STARTCHAR one -ENCODING 49 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -40 -C0 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR two -ENCODING 50 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -08 -70 -80 -80 -F8 -ENDCHAR -STARTCHAR three -ENCODING 51 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -10 -20 -10 -08 -08 -F0 -ENDCHAR -STARTCHAR four -ENCODING 52 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -10 -30 -50 -90 -F8 -10 -10 -ENDCHAR -STARTCHAR five -ENCODING 53 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -F0 -08 -08 -88 -70 -ENDCHAR -STARTCHAR six -ENCODING 54 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -40 -80 -F0 -88 -88 -70 -ENDCHAR -STARTCHAR seven -ENCODING 55 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -08 -10 -20 -20 -20 -20 -ENDCHAR -STARTCHAR eight -ENCODING 56 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -70 -88 -88 -70 -ENDCHAR -STARTCHAR nine -ENCODING 57 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -78 -08 -10 -60 -ENDCHAR -STARTCHAR colon -ENCODING 58 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 5 2 0 -BITMAP -C0 -C0 -00 -C0 -C0 -ENDCHAR -STARTCHAR semicolon -ENCODING 59 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 6 2 -1 -BITMAP -C0 -C0 -00 -C0 -40 -80 -ENDCHAR -STARTCHAR less -ENCODING 60 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -10 -20 -40 -80 -40 -20 -10 -ENDCHAR -STARTCHAR equal -ENCODING 61 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 2 -BITMAP -F8 -00 -F8 -ENDCHAR -STARTCHAR greater -ENCODING 62 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 1 0 -BITMAP -80 -40 -20 -10 -20 -40 -80 -ENDCHAR -STARTCHAR question -ENCODING 63 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -08 -10 -20 -00 -20 -ENDCHAR -STARTCHAR at -ENCODING 64 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -08 -68 -A8 -70 -ENDCHAR -STARTCHAR A -ENCODING 65 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR B -ENCODING 66 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -88 -88 -F0 -ENDCHAR -STARTCHAR C -ENCODING 67 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -80 -80 -88 -70 -ENDCHAR -STARTCHAR D -ENCODING 68 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -E0 -90 -88 -88 -88 -90 -E0 -ENDCHAR -STARTCHAR E -ENCODING 69 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR F -ENCODING 70 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR G -ENCODING 71 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -B8 -88 -88 -70 -ENDCHAR -STARTCHAR H -ENCODING 72 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR I -ENCODING 73 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR J -ENCODING 74 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -38 -10 -10 -10 -10 -90 -60 -ENDCHAR -STARTCHAR K -ENCODING 75 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A0 -C0 -A0 -90 -88 -ENDCHAR -STARTCHAR L -ENCODING 76 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -80 -80 -80 -80 -F8 -ENDCHAR -STARTCHAR M -ENCODING 77 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -D8 -A8 -88 -88 -88 -88 -ENDCHAR -STARTCHAR N -ENCODING 78 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -C8 -A8 -98 -88 -88 -ENDCHAR -STARTCHAR O -ENCODING 79 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR P -ENCODING 80 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR Q -ENCODING 81 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -A8 -90 -68 -ENDCHAR -STARTCHAR R -ENCODING 82 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -A0 -90 -88 -ENDCHAR -STARTCHAR S -ENCODING 83 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -80 -80 -70 -08 -08 -F0 -ENDCHAR -STARTCHAR T -ENCODING 84 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -20 -20 -20 -20 -20 -20 -ENDCHAR -STARTCHAR U -ENCODING 85 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR V -ENCODING 86 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -50 -20 -ENDCHAR -STARTCHAR W -ENCODING 87 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -88 -88 -A8 -50 -ENDCHAR -STARTCHAR X -ENCODING 88 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -50 -20 -50 -88 -88 -ENDCHAR -STARTCHAR Y -ENCODING 89 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -50 -20 -20 -20 -ENDCHAR -STARTCHAR Z -ENCODING 90 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -08 -10 -20 -40 -80 -F8 -ENDCHAR -STARTCHAR bracketleft -ENCODING 91 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -80 -80 -80 -80 -80 -E0 -ENDCHAR -STARTCHAR backslash -ENCODING 92 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -80 -40 -20 -10 -08 -ENDCHAR -STARTCHAR bracketright -ENCODING 93 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -20 -20 -20 -20 -20 -E0 -ENDCHAR -STARTCHAR asciicircum -ENCODING 94 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 4 -BITMAP -20 -50 -88 -ENDCHAR -STARTCHAR underscore -ENCODING 95 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 0 -BITMAP -F8 -ENDCHAR -STARTCHAR grave -ENCODING 96 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 5 -BITMAP -80 -40 -ENDCHAR -STARTCHAR a -ENCODING 97 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR b -ENCODING 98 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -B0 -C8 -88 -88 -F0 -ENDCHAR -STARTCHAR c -ENCODING 99 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -80 -88 -70 -ENDCHAR -STARTCHAR d -ENCODING 100 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -08 -08 -68 -98 -88 -88 -78 -ENDCHAR -STARTCHAR e -ENCODING 101 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR f -ENCODING 102 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -48 -E0 -40 -40 -40 -40 -ENDCHAR -STARTCHAR g -ENCODING 103 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -70 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR h -ENCODING 104 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR i -ENCODING 105 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -00 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR j -ENCODING 106 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 -1 -BITMAP -20 -00 -20 -20 -20 -20 -A0 -40 -ENDCHAR -STARTCHAR k -ENCODING 107 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -80 -80 -90 -A0 -C0 -A0 -90 -ENDCHAR -STARTCHAR l -ENCODING 108 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -C0 -40 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR m -ENCODING 109 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -D0 -A8 -A8 -A8 -A8 -ENDCHAR -STARTCHAR n -ENCODING 110 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR o -ENCODING 111 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR p -ENCODING 112 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -F0 -88 -88 -F0 -80 -80 -ENDCHAR -STARTCHAR q -ENCODING 113 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -78 -88 -88 -78 -08 -08 -ENDCHAR -STARTCHAR r -ENCODING 114 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -B0 -C8 -80 -80 -80 -ENDCHAR -STARTCHAR s -ENCODING 115 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -70 -08 -F0 -ENDCHAR -STARTCHAR t -ENCODING 116 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -40 -40 -E0 -40 -40 -48 -30 -ENDCHAR -STARTCHAR u -ENCODING 117 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR v -ENCODING 118 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -88 -50 -20 -ENDCHAR -STARTCHAR w -ENCODING 119 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -A8 -A8 -50 -ENDCHAR -STARTCHAR x -ENCODING 120 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -50 -20 -50 -88 -ENDCHAR -STARTCHAR y -ENCODING 121 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR z -ENCODING 122 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -10 -20 -40 -F8 -ENDCHAR -STARTCHAR braceleft -ENCODING 123 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -20 -40 -40 -80 -40 -40 -20 -ENDCHAR -STARTCHAR bar -ENCODING 124 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR braceright -ENCODING 125 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -80 -40 -40 -20 -40 -40 -80 -ENDCHAR -STARTCHAR asciitilde -ENCODING 126 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 2 0 3 -BITMAP -68 -90 -ENDCHAR -STARTCHAR exclamdown -ENCODING 161 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -00 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR cent -ENCODING 162 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -70 -A8 -A0 -A8 -70 -20 -ENDCHAR -STARTCHAR sterling -ENCODING 163 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -40 -40 -E0 -40 -50 -A8 -ENDCHAR -STARTCHAR currency -ENCODING 164 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -70 -50 -70 -88 -ENDCHAR -STARTCHAR yen -ENCODING 165 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -50 -20 -F8 -20 -F8 -20 -ENDCHAR -STARTCHAR brokenbar -ENCODING 166 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -80 -80 -00 -80 -80 -80 -ENDCHAR -STARTCHAR section -ENCODING 167 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -30 -48 -20 -50 -50 -20 -90 -60 -ENDCHAR -STARTCHAR dieresis -ENCODING 168 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 1 1 7 -BITMAP -A0 -ENDCHAR -STARTCHAR copyright -ENCODING 169 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -B8 -B8 -B8 -88 -F8 -ENDCHAR -STARTCHAR ordfeminine -ENCODING 170 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 1 -BITMAP -70 -08 -78 -88 -78 -00 -F8 -ENDCHAR -STARTCHAR guillemotleft -ENCODING 171 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -28 -50 -A0 -50 -28 -ENDCHAR -STARTCHAR logicalnot -ENCODING 172 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 1 -BITMAP -F8 -08 -08 -ENDCHAR -STARTCHAR uni00AD -ENCODING 173 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 6 -BITMAP -40 -80 -ENDCHAR -STARTCHAR registered -ENCODING 174 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -A8 -88 -98 -A8 -F8 -ENDCHAR -STARTCHAR macron -ENCODING 175 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 6 -BITMAP -F8 -ENDCHAR -STARTCHAR degree -ENCODING 176 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 3 -BITMAP -60 -90 -90 -60 -ENDCHAR -STARTCHAR plusminus -ENCODING 177 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -20 -F8 -20 -20 -00 -F8 -ENDCHAR -STARTCHAR uni00B2 -ENCODING 178 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 3 -BITMAP -60 -90 -20 -40 -F0 -ENDCHAR -STARTCHAR uni00B3 -ENCODING 179 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 0 3 -BITMAP -E0 -20 -E0 -20 -E0 -ENDCHAR -STARTCHAR acute -ENCODING 180 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 6 -BITMAP -40 -80 -ENDCHAR -STARTCHAR uni00B5 -ENCODING 181 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -88 -88 -88 -88 -98 -E8 -80 -80 -ENDCHAR -STARTCHAR paragraph -ENCODING 182 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -98 -98 -78 -18 -18 -18 -ENDCHAR -STARTCHAR periodcentered -ENCODING 183 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 2 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR cedilla -ENCODING 184 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 -1 -BITMAP -40 -80 -ENDCHAR -STARTCHAR uni00B9 -ENCODING 185 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 0 3 -BITMAP -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR ordmasculine -ENCODING 186 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 1 -BITMAP -70 -88 -88 -88 -70 -00 -F8 -ENDCHAR -STARTCHAR guillemotright -ENCODING 187 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -A0 -50 -28 -50 -A0 -ENDCHAR -STARTCHAR onequarter -ENCODING 188 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A8 -58 -B8 -08 -08 -ENDCHAR -STARTCHAR onehalf -ENCODING 189 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -B8 -48 -98 -20 -38 -ENDCHAR -STARTCHAR threequarters -ENCODING 190 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -C0 -40 -C0 -48 -D8 -38 -08 -08 -ENDCHAR -STARTCHAR questiondown -ENCODING 191 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -00 -20 -40 -80 -88 -70 -ENDCHAR -STARTCHAR Agrave -ENCODING 192 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Aacute -ENCODING 193 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Acircumflex -ENCODING 194 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Atilde -ENCODING 195 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Adieresis -ENCODING 196 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -70 -88 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Aring -ENCODING 197 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -20 -70 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR AE -ENCODING 198 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -38 -60 -A0 -B8 -E0 -A0 -B8 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 199 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -70 -88 -80 -80 -88 -70 -20 -60 -ENDCHAR -STARTCHAR Egrave -ENCODING 200 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Eacute -ENCODING 201 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -08 -10 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Ecircumflex -ENCODING 202 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Edieresis -ENCODING 203 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -F8 -80 -F0 -80 -F8 -ENDCHAR -STARTCHAR Igrave -ENCODING 204 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -80 -40 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Iacute -ENCODING 205 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -20 -40 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Icircumflex -ENCODING 206 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -40 -A0 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Idieresis -ENCODING 207 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -A0 -00 -E0 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR Eth -ENCODING 208 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -48 -48 -E8 -48 -48 -70 -ENDCHAR -STARTCHAR Ntilde -ENCODING 209 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -88 -C8 -A8 -98 -88 -ENDCHAR -STARTCHAR Ograve -ENCODING 210 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Oacute -ENCODING 211 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Ocircumflex -ENCODING 212 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Otilde -ENCODING 213 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Odieresis -ENCODING 214 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR multiply -ENCODING 215 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -88 -50 -20 -50 -88 -ENDCHAR -STARTCHAR Oslash -ENCODING 216 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -10 -70 -A8 -A8 -A8 -A8 -70 -40 -ENDCHAR -STARTCHAR Ugrave -ENCODING 217 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Uacute -ENCODING 218 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Ucircumflex -ENCODING 219 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Udieresis -ENCODING 220 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Yacute -ENCODING 221 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -88 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Thorn -ENCODING 222 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -C0 -40 -70 -48 -48 -70 -40 -40 -E0 -ENDCHAR -STARTCHAR germandbls -ENCODING 223 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 1 -1 -BITMAP -60 -90 -90 -A0 -90 -90 -E0 -80 -ENDCHAR -STARTCHAR agrave -ENCODING 224 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR aacute -ENCODING 225 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR acircumflex -ENCODING 226 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR atilde -ENCODING 227 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR adieresis -ENCODING 228 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR aring -ENCODING 229 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -20 -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR ae -ENCODING 230 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -D0 -28 -78 -A0 -A8 -50 -ENDCHAR -STARTCHAR ccedilla -ENCODING 231 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -70 -80 -88 -70 -20 -60 -ENDCHAR -STARTCHAR egrave -ENCODING 232 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR eacute -ENCODING 233 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR ecircumflex -ENCODING 234 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR edieresis -ENCODING 235 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR igrave -ENCODING 236 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -80 -40 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR iacute -ENCODING 237 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -20 -40 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR icircumflex -ENCODING 238 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -40 -A0 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR idieresis -ENCODING 239 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -A0 -00 -40 -C0 -40 -40 -E0 -ENDCHAR -STARTCHAR eth -ENCODING 240 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A0 -40 -A0 -10 -78 -88 -70 -ENDCHAR -STARTCHAR ntilde -ENCODING 241 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -B0 -C8 -88 -88 -88 -ENDCHAR -STARTCHAR ograve -ENCODING 242 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR oacute -ENCODING 243 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR ocircumflex -ENCODING 244 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR otilde -ENCODING 245 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -68 -90 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR odieresis -ENCODING 246 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR divide -ENCODING 247 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -20 -00 -F8 -00 -20 -ENDCHAR -STARTCHAR oslash -ENCODING 248 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -1 -BITMAP -10 -70 -A8 -A8 -A8 -70 -40 -ENDCHAR -STARTCHAR ugrave -ENCODING 249 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR uacute -ENCODING 250 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR ucircumflex -ENCODING 251 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -50 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR udieresis -ENCODING 252 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -88 -88 -88 -98 -68 -ENDCHAR -STARTCHAR yacute -ENCODING 253 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -10 -20 -00 -88 -88 -88 -F8 -08 -70 -ENDCHAR -STARTCHAR thorn -ENCODING 254 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 1 -1 -BITMAP -C0 -40 -60 -50 -60 -40 -E0 -ENDCHAR -STARTCHAR ydieresis -ENCODING 255 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -50 -00 -88 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR quotedblbase -ENCODING 900 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 1 6 -BITMAP -40 -80 -ENDCHAR -STARTCHAR ellipsis -ENCODING 901 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 3 1 5 -BITMAP -20 -40 -A0 -ENDCHAR -STARTCHAR dagger -ENCODING 902 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -A0 -50 -50 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR daggerdbl -ENCODING 903 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 1 2 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR circumflex -ENCODING 904 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -F8 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR perthousand -ENCODING 905 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR Scaron -ENCODING 906 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 0 0 -BITMAP -40 -80 -70 -20 -20 -20 -20 -70 -ENDCHAR -STARTCHAR guilsinglleft -ENCODING 907 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 -ENDCHAR -STARTCHAR OE -ENCODING 908 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -70 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR NameMe.141 -ENCODING 909 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 -ENDCHAR -STARTCHAR Zcaron -ENCODING 910 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -08 -88 -70 -20 -20 -20 -ENDCHAR -STARTCHAR NameMe.143 -ENCODING 911 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -70 -88 -88 -88 -50 -D8 -ENDCHAR -STARTCHAR NameMe.144 -ENCODING 912 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -20 -40 -A0 -00 -40 -40 -40 -20 -ENDCHAR -STARTCHAR quoteleft -ENCODING 913 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -50 -88 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR quoteright -ENCODING 914 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -48 -48 -70 -48 -48 -F0 -ENDCHAR -STARTCHAR quotedblleft -ENCODING 915 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR quotedblright -ENCODING 916 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -50 -50 -88 -88 -F8 -ENDCHAR -STARTCHAR bullet -ENCODING 917 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR endash -ENCODING 918 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -08 -10 -20 -40 -80 -F8 -ENDCHAR -STARTCHAR emdash -ENCODING 919 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR tilde -ENCODING 920 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -A8 -88 -88 -70 -ENDCHAR -STARTCHAR trademark -ENCODING 921 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -40 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR scaron -ENCODING 922 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A0 -C0 -A0 -90 -88 -ENDCHAR -STARTCHAR guilsinglright -ENCODING 923 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -50 -88 -88 -88 -88 -88 -ENDCHAR -STARTCHAR oe -ENCODING 924 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -D8 -A8 -A8 -88 -88 -88 -ENDCHAR -STARTCHAR NameMe.157 -ENCODING 925 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -C8 -C8 -A8 -98 -98 -88 -ENDCHAR -STARTCHAR zcaron -ENCODING 926 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -00 -00 -70 -00 -00 -F8 -ENDCHAR -STARTCHAR Ydieresis -ENCODING 927 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR uni00A0 -ENCODING 928 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -50 -50 -50 -50 -50 -50 -ENDCHAR -STARTCHAR exclamdown -ENCODING 929 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR cent -ENCODING 930 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 -ENDCHAR -STARTCHAR sterling -ENCODING 931 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -40 -20 -40 -80 -F8 -ENDCHAR -STARTCHAR currency -ENCODING 932 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -20 -20 -20 -20 -20 -20 -ENDCHAR -STARTCHAR yen -ENCODING 933 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR brokenbar -ENCODING 934 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -20 -70 -A8 -70 -20 -70 -ENDCHAR -STARTCHAR section -ENCODING 935 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -50 -20 -50 -88 -88 -ENDCHAR -STARTCHAR dieresis -ENCODING 936 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A8 -A8 -A8 -A8 -70 -20 -20 -ENDCHAR -STARTCHAR copyright -ENCODING 937 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -88 -50 -50 -D8 -ENDCHAR -STARTCHAR ordfeminine -ENCODING 938 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -A0 -00 -E0 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR guillemotleft -ENCODING 939 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -88 -88 -88 -50 -20 -20 -ENDCHAR -STARTCHAR logicalnot -ENCODING 940 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -40 -08 -68 -98 -90 -90 -68 -ENDCHAR -STARTCHAR uni00AD -ENCODING 941 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -40 -00 -70 -88 -E0 -88 -70 -ENDCHAR -STARTCHAR registered -ENCODING 942 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 10 0 -2 -BITMAP -20 -40 -00 -70 -88 -88 -88 -88 -08 -08 -ENDCHAR -STARTCHAR macron -ENCODING 943 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 8 1 0 -BITMAP -40 -80 -00 -80 -80 -80 -80 -40 -ENDCHAR -STARTCHAR degree -ENCODING 944 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -50 -00 -88 -88 -88 -70 -ENDCHAR -STARTCHAR plusminus -ENCODING 945 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -08 -68 -98 -90 -90 -68 -ENDCHAR -STARTCHAR uni00B2 -ENCODING 946 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 -2 -BITMAP -60 -90 -F0 -90 -E0 -80 -80 -ENDCHAR -STARTCHAR uni00B3 -ENCODING 947 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -48 -50 -20 -20 -40 -ENDCHAR -STARTCHAR acute -ENCODING 948 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -30 -40 -70 -88 -88 -70 -ENDCHAR -STARTCHAR uni00B5 -ENCODING 949 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -E0 -88 -70 -ENDCHAR -STARTCHAR paragraph -ENCODING 950 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -2 -BITMAP -80 -70 -40 -80 -80 -80 -70 -08 -70 -ENDCHAR -STARTCHAR periodcentered -ENCODING 951 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -B8 -C8 -88 -88 -88 -08 -08 -ENDCHAR -STARTCHAR cedilla -ENCODING 952 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -F8 -88 -70 -ENDCHAR -STARTCHAR uni00B9 -ENCODING 953 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 1 0 -BITMAP -80 -80 -80 -80 -60 -ENDCHAR -STARTCHAR ordmasculine -ENCODING 954 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -90 -A0 -C0 -A0 -90 -ENDCHAR -STARTCHAR guillemotright -ENCODING 955 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -20 -20 -50 -50 -88 -ENDCHAR -STARTCHAR onequarter -ENCODING 956 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -88 -88 -88 -D8 -A8 -80 -80 -ENDCHAR -STARTCHAR onehalf -ENCODING 957 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -50 -60 -20 -ENDCHAR -STARTCHAR threequarters -ENCODING 958 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 10 0 -2 -BITMAP -80 -E0 -80 -70 -20 -40 -80 -70 -08 -70 -ENDCHAR -STARTCHAR questiondown -ENCODING 959 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR Agrave -ENCODING 960 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -50 -50 -50 -50 -ENDCHAR -STARTCHAR Aacute -ENCODING 961 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -70 -88 -88 -C8 -B0 -80 -80 -ENDCHAR -STARTCHAR Acircumflex -ENCODING 962 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -30 -40 -80 -40 -30 -08 -70 -ENDCHAR -STARTCHAR Atilde -ENCODING 963 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -68 -90 -90 -90 -60 -ENDCHAR -STARTCHAR Adieresis -ENCODING 964 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -F0 -40 -40 -40 -30 -ENDCHAR -STARTCHAR Aring -ENCODING 965 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -90 -90 -E0 -ENDCHAR -STARTCHAR AE -ENCODING 966 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -2 -BITMAP -30 -A8 -A8 -A8 -A8 -70 -20 -20 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 967 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -50 -20 -20 -50 -88 -ENDCHAR -STARTCHAR Egrave -ENCODING 968 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -A8 -A8 -A8 -A8 -70 -20 -20 -ENDCHAR -STARTCHAR Eacute -ENCODING 969 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -50 -88 -88 -A8 -70 -ENDCHAR -STARTCHAR Ecircumflex -ENCODING 970 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -A0 -00 -40 -40 -40 -40 -30 -ENDCHAR -STARTCHAR Edieresis -ENCODING 971 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -88 -88 -90 -90 -E0 -ENDCHAR -STARTCHAR Igrave -ENCODING 972 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 0 0 -BITMAP -20 -40 -00 -60 -90 -90 -90 -60 -ENDCHAR -STARTCHAR Iacute -ENCODING 973 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -40 -00 -88 -88 -90 -90 -60 -ENDCHAR -STARTCHAR Icircumflex -ENCODING 974 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -20 -40 -00 -50 -88 -88 -A8 -70 -ENDCHAR -STARTCHAR Idieresis -ENCODING 975 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -1 -BITMAP -90 -A0 -C0 -A0 -90 -88 -10 -ENDCHAR -STARTCHAR Eth -ENCODING 976 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -60 -90 -A0 -80 -F0 -88 -88 -70 -ENDCHAR -STARTCHAR Ntilde -ENCODING 977 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -50 -38 -90 -90 -90 -60 -ENDCHAR -STARTCHAR Ograve -ENCODING 978 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -98 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Oacute -ENCODING 979 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -80 -98 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Ocircumflex -ENCODING 980 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -00 -98 -50 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Otilde -ENCODING 981 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -1 -BITMAP -30 -A8 -A8 -A8 -A8 -70 -20 -ENDCHAR -STARTCHAR Odieresis -ENCODING 982 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -50 -50 -50 -58 -ENDCHAR -STARTCHAR multiply -ENCODING 983 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -50 -70 -50 -88 -10 -ENDCHAR -STARTCHAR Oslash -ENCODING 984 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -1 -BITMAP -70 -88 -88 -88 -70 -20 -70 -ENDCHAR -STARTCHAR Ugrave -ENCODING 985 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -70 -88 -88 -70 -20 -70 -ENDCHAR -STARTCHAR Uacute -ENCODING 986 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -80 -70 -20 -70 -ENDCHAR -STARTCHAR Ucircumflex -ENCODING 987 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -08 -70 -80 -80 -70 -10 -60 -ENDCHAR -STARTCHAR Udieresis -ENCODING 988 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -ENDCHAR -STARTCHAR Yacute -ENCODING 989 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -F0 -80 -E0 -80 -80 -ENDCHAR -STARTCHAR Thorn -ENCODING 990 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -F8 -00 -00 -70 -00 -F8 -ENDCHAR -STARTCHAR germandbls -ENCODING 991 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -40 -80 -F0 -10 -20 -ENDCHAR -STARTCHAR agrave -ENCODING 992 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -E0 -50 -28 -28 -08 -08 -10 -ENDCHAR -STARTCHAR aacute -ENCODING 993 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -C0 -20 -50 -28 -08 -08 -08 -ENDCHAR -STARTCHAR acircumflex -ENCODING 994 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -2 -BITMAP -A8 -A8 -A8 -A8 -A8 -58 -08 -70 -ENDCHAR -STARTCHAR atilde -ENCODING 995 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -A8 -A8 -A8 -A8 -58 -08 -70 -ENDCHAR -STARTCHAR adieresis -ENCODING 996 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -68 -88 -88 -78 -08 -08 -ENDCHAR -STARTCHAR aring -ENCODING 997 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -68 -88 -88 -78 -08 -08 -ENDCHAR -STARTCHAR ae -ENCODING 998 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 0 -2 -BITMAP -80 -E0 -90 -90 -90 -90 -20 -C0 -ENDCHAR -STARTCHAR ccedilla -ENCODING 999 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -68 -90 -70 -10 -E0 -ENDCHAR -STARTCHAR egrave -ENCODING 1000 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -60 -90 -10 -60 -88 -70 -ENDCHAR -STARTCHAR eacute -ENCODING 1001 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 6 0 0 -BITMAP -60 -90 -10 -60 -80 -70 -ENDCHAR -STARTCHAR ecircumflex -ENCODING 1002 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -88 -50 -20 -50 -88 -F8 -ENDCHAR -STARTCHAR edieresis -ENCODING 1003 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -50 -20 -50 -70 -ENDCHAR -STARTCHAR igrave -ENCODING 1004 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -78 -80 -F0 -88 -88 -70 -ENDCHAR -STARTCHAR iacute -ENCODING 1005 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -F0 -80 -E0 -90 -60 -ENDCHAR -STARTCHAR icircumflex -ENCODING 1006 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 6 1 0 -BITMAP -40 -E0 -40 -40 -40 -40 -ENDCHAR -STARTCHAR idieresis -ENCODING 1007 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 6 1 -1 -BITMAP -40 -E0 -40 -40 -40 -80 -ENDCHAR -STARTCHAR eth -ENCODING 1008 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -50 -70 -50 -88 -ENDCHAR -STARTCHAR ntilde -ENCODING 1009 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -70 -88 -88 -88 -F0 -80 -70 -ENDCHAR -STARTCHAR ograve -ENCODING 1010 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -70 -80 -80 -80 -70 -ENDCHAR -STARTCHAR oacute -ENCODING 1011 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 8 1 -1 -BITMAP -40 -00 -C0 -40 -40 -40 -40 -80 -ENDCHAR -STARTCHAR ocircumflex -ENCODING 1012 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -F8 -88 -88 -70 -ENDCHAR -STARTCHAR otilde -ENCODING 1013 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -70 -80 -E0 -80 -70 -ENDCHAR -STARTCHAR odieresis -ENCODING 1014 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -E0 -10 -70 -10 -E0 -ENDCHAR -STARTCHAR divide -ENCODING 1015 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -F0 -88 -88 -88 -F0 -80 -ENDCHAR -STARTCHAR oslash -ENCODING 1016 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 -1 -BITMAP -80 -E0 -90 -90 -90 -E0 -80 -ENDCHAR -STARTCHAR ugrave -ENCODING 1017 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -80 -80 -88 -70 -ENDCHAR -STARTCHAR uacute -ENCODING 1018 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -88 -D8 -A8 -88 -88 -88 -ENDCHAR -STARTCHAR ucircumflex -ENCODING 1019 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 -2 -BITMAP -88 -D8 -A8 -88 -88 -80 -80 -ENDCHAR -STARTCHAR udieresis -ENCODING 1020 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -2 -BITMAP -70 -88 -88 -88 -70 -40 -E0 -40 -ENDCHAR -STARTCHAR yacute -ENCODING 1021 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -08 -08 -88 -70 -ENDCHAR -STARTCHAR thorn -ENCODING 1022 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -A0 -80 -88 -70 -ENDCHAR -STARTCHAR ydieresis -ENCODING 1023 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -88 -28 -08 -88 -70 -ENDCHAR -STARTCHAR uni00A0 -ENCODING 1024 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR exclamdown -ENCODING 1025 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR cent -ENCODING 1026 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -E0 -40 -40 -70 -48 -48 -70 -ENDCHAR -STARTCHAR sterling -ENCODING 1027 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -F8 -88 -80 -80 -80 -80 -ENDCHAR -STARTCHAR currency -ENCODING 1028 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -30 -48 -80 -E0 -80 -48 -30 -ENDCHAR -STARTCHAR yen -ENCODING 1029 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -70 -08 -88 -70 -ENDCHAR -STARTCHAR brokenbar -ENCODING 1030 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -E0 -40 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR section -ENCODING 1031 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 0 -BITMAP -A0 -00 -E0 -40 -40 -40 -40 -E0 -ENDCHAR -STARTCHAR dieresis -ENCODING 1032 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -38 -10 -10 -10 -10 -90 -60 -ENDCHAR -STARTCHAR copyright -ENCODING 1033 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A0 -A0 -A0 -B8 -A8 -A8 -B8 -ENDCHAR -STARTCHAR ordfeminine -ENCODING 1034 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A0 -A0 -A0 -F8 -A8 -A8 -B8 -ENDCHAR -STARTCHAR guillemotleft -ENCODING 1035 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 7 0 0 -BITMAP -E0 -40 -70 -50 -50 -50 -50 -ENDCHAR -STARTCHAR logicalnot -ENCODING 1036 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -88 -90 -A0 -E0 -90 -88 -ENDCHAR -STARTCHAR uni00AD -ENCODING 1037 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -88 -98 -A8 -C8 -88 -88 -ENDCHAR -STARTCHAR registered -ENCODING 1038 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -50 -20 -88 -88 -88 -50 -20 -20 -20 -ENDCHAR -STARTCHAR macron -ENCODING 1039 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -88 -88 -88 -88 -88 -88 -F8 -20 -ENDCHAR -STARTCHAR degree -ENCODING 1040 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR plusminus -ENCODING 1041 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -88 -88 -F0 -ENDCHAR -STARTCHAR uni00B2 -ENCODING 1042 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -88 -88 -F0 -ENDCHAR -STARTCHAR uni00B3 -ENCODING 1043 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR acute -ENCODING 1044 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -78 -28 -28 -28 -48 -88 -F8 -88 -ENDCHAR -STARTCHAR uni00B5 -ENCODING 1045 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -80 -80 -F0 -80 -80 -F8 -ENDCHAR -STARTCHAR paragraph -ENCODING 1046 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A8 -A8 -A8 -70 -A8 -A8 -A8 -ENDCHAR -STARTCHAR periodcentered -ENCODING 1047 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -08 -08 -70 -08 -08 -F0 -ENDCHAR -STARTCHAR cedilla -ENCODING 1048 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -98 -A8 -C8 -88 -88 -ENDCHAR -STARTCHAR uni00B9 -ENCODING 1049 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -50 -20 -88 -98 -A8 -A8 -C8 -88 -ENDCHAR -STARTCHAR ordmasculine -ENCODING 1050 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -90 -A0 -C0 -A0 -90 -88 -ENDCHAR -STARTCHAR guillemotright -ENCODING 1051 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -28 -28 -28 -28 -A8 -48 -ENDCHAR -STARTCHAR onequarter -ENCODING 1052 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -D8 -A8 -88 -88 -88 -88 -ENDCHAR -STARTCHAR onehalf -ENCODING 1053 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -F8 -88 -88 -88 -ENDCHAR -STARTCHAR threequarters -ENCODING 1054 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -88 -88 -88 -88 -70 -ENDCHAR -STARTCHAR questiondown -ENCODING 1055 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -88 -88 -88 -88 -88 -88 -ENDCHAR -STARTCHAR Agrave -ENCODING 1056 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F0 -88 -88 -F0 -80 -80 -80 -ENDCHAR -STARTCHAR Aacute -ENCODING 1057 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -80 -80 -80 -88 -70 -ENDCHAR -STARTCHAR Acircumflex -ENCODING 1058 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -F8 -20 -20 -20 -20 -20 -20 -ENDCHAR -STARTCHAR Atilde -ENCODING 1059 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -50 -20 -40 -80 -ENDCHAR -STARTCHAR Adieresis -ENCODING 1060 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -20 -70 -A8 -A8 -A8 -70 -20 -ENDCHAR -STARTCHAR Aring -ENCODING 1061 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -50 -20 -50 -88 -88 -ENDCHAR -STARTCHAR AE -ENCODING 1062 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -88 -88 -88 -88 -88 -88 -F8 -08 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 1063 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -98 -68 -08 -08 -ENDCHAR -STARTCHAR Egrave -ENCODING 1064 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -A8 -A8 -A8 -A8 -A8 -A8 -F8 -ENDCHAR -STARTCHAR Eacute -ENCODING 1065 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -A8 -A8 -A8 -A8 -A8 -A8 -F8 -08 -ENDCHAR -STARTCHAR Ecircumflex -ENCODING 1066 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -C0 -40 -40 -70 -48 -48 -70 -ENDCHAR -STARTCHAR Edieresis -ENCODING 1067 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -C8 -A8 -A8 -C8 -ENDCHAR -STARTCHAR Igrave -ENCODING 1068 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -80 -80 -80 -F0 -88 -88 -F0 -ENDCHAR -STARTCHAR Iacute -ENCODING 1069 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -70 -88 -08 -38 -08 -88 -70 -ENDCHAR -STARTCHAR Icircumflex -ENCODING 1070 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -90 -A8 -A8 -E8 -A8 -A8 -90 -ENDCHAR -STARTCHAR Idieresis -ENCODING 1071 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -78 -88 -88 -78 -28 -48 -88 -ENDCHAR -STARTCHAR Eth -ENCODING 1072 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -08 -78 -88 -78 -ENDCHAR -STARTCHAR Ntilde -ENCODING 1073 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -18 -60 -80 -F0 -88 -88 -70 -ENDCHAR -STARTCHAR Ograve -ENCODING 1074 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -E0 -90 -E0 -90 -E0 -ENDCHAR -STARTCHAR Oacute -ENCODING 1075 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -88 -80 -80 -80 -ENDCHAR -STARTCHAR Ocircumflex -ENCODING 1076 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -78 -28 -48 -88 -F8 -88 -ENDCHAR -STARTCHAR Otilde -ENCODING 1077 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR Odieresis -ENCODING 1078 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -A8 -A8 -70 -A8 -A8 -ENDCHAR -STARTCHAR multiply -ENCODING 1079 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F0 -08 -30 -08 -F0 -ENDCHAR -STARTCHAR Oslash -ENCODING 1080 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -98 -A8 -C8 -88 -ENDCHAR -STARTCHAR Ugrave -ENCODING 1081 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -20 -88 -98 -A8 -C8 -88 -ENDCHAR -STARTCHAR Uacute -ENCODING 1082 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -90 -A0 -C0 -A0 -90 -ENDCHAR -STARTCHAR Ucircumflex -ENCODING 1083 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -28 -28 -A8 -48 -ENDCHAR -STARTCHAR Udieresis -ENCODING 1084 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -D8 -A8 -88 -88 -ENDCHAR -STARTCHAR Yacute -ENCODING 1085 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -F8 -88 -88 -ENDCHAR -STARTCHAR Thorn -ENCODING 1086 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -88 -88 -70 -ENDCHAR -STARTCHAR germandbls -ENCODING 1087 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -88 -88 -88 -88 -ENDCHAR -STARTCHAR agrave -ENCODING 1088 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -F0 -88 -88 -F0 -80 -80 -ENDCHAR -STARTCHAR aacute -ENCODING 1089 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -80 -88 -70 -ENDCHAR -STARTCHAR acircumflex -ENCODING 1090 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -20 -20 -20 -20 -ENDCHAR -STARTCHAR atilde -ENCODING 1091 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR adieresis -ENCODING 1092 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -70 -A8 -A8 -70 -20 -ENDCHAR -STARTCHAR aring -ENCODING 1093 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -50 -20 -50 -88 -ENDCHAR -STARTCHAR ae -ENCODING 1094 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -88 -88 -88 -F8 -08 -ENDCHAR -STARTCHAR ccedilla -ENCODING 1095 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -F8 -08 -08 -ENDCHAR -STARTCHAR egrave -ENCODING 1096 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -A8 -A8 -A8 -A8 -F8 -ENDCHAR -STARTCHAR eacute -ENCODING 1097 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -A8 -A8 -A8 -A8 -F8 -08 -ENDCHAR -STARTCHAR ecircumflex -ENCODING 1098 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -C0 -40 -70 -48 -70 -ENDCHAR -STARTCHAR edieresis -ENCODING 1099 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -C8 -A8 -C8 -ENDCHAR -STARTCHAR igrave -ENCODING 1100 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 5 1 0 -BITMAP -80 -80 -C0 -A0 -C0 -ENDCHAR -STARTCHAR iacute -ENCODING 1101 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -38 -88 -70 -ENDCHAR -STARTCHAR icircumflex -ENCODING 1102 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -90 -A8 -E8 -A8 -90 -ENDCHAR -STARTCHAR idieresis -ENCODING 1103 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -78 -88 -78 -28 -48 -ENDCHAR -STARTCHAR eth -ENCODING 1104 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR ntilde -ENCODING 1105 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -50 -00 -70 -88 -F8 -80 -70 -ENDCHAR -STARTCHAR ograve -ENCODING 1106 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -40 -E0 -40 -40 -78 -48 -48 -48 -10 -ENDCHAR -STARTCHAR oacute -ENCODING 1107 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -10 -20 -00 -F8 -88 -80 -80 -80 -ENDCHAR -STARTCHAR ocircumflex -ENCODING 1108 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -88 -60 -88 -70 -ENDCHAR -STARTCHAR otilde -ENCODING 1109 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -80 -70 -08 -F0 -ENDCHAR -STARTCHAR odieresis -ENCODING 1110 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 7 2 0 -BITMAP -80 -00 -80 -80 -80 -80 -80 -ENDCHAR -STARTCHAR divide -ENCODING 1111 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 7 1 0 -BITMAP -A0 -00 -40 -40 -40 -40 -40 -ENDCHAR -STARTCHAR oslash -ENCODING 1112 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 8 1 -1 -BITMAP -20 -00 -20 -20 -20 -20 -A0 -40 -ENDCHAR -STARTCHAR ugrave -ENCODING 1113 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -A0 -A0 -B8 -A8 -B8 -ENDCHAR -STARTCHAR uacute -ENCODING 1114 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -A0 -A0 -F8 -A8 -B8 -ENDCHAR -STARTCHAR ucircumflex -ENCODING 1115 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -E0 -40 -78 -48 -48 -ENDCHAR -STARTCHAR udieresis -ENCODING 1116 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 0 0 -BITMAP -10 -20 -00 -90 -A0 -C0 -A0 -90 -ENDCHAR -STARTCHAR yacute -ENCODING 1117 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -40 -20 -00 -88 -98 -A8 -C8 -88 -ENDCHAR -STARTCHAR thorn -ENCODING 1118 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 9 0 -1 -BITMAP -50 -20 -00 -88 -88 -88 -78 -08 -70 -ENDCHAR -STARTCHAR ydieresis -ENCODING 1119 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 -1 -BITMAP -88 -88 -88 -88 -F8 -20 -ENDCHAR -STARTCHAR uni00A0 -ENCODING 12448 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 3 0 1 -BITMAP -F8 -00 -F8 -ENDCHAR -STARTCHAR exclamdown -ENCODING 12449 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -F0 -10 -60 -40 -ENDCHAR -STARTCHAR cent -ENCODING 12450 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -F8 -08 -28 -30 -20 -40 -ENDCHAR -STARTCHAR sterling -ENCODING 12451 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 4 1 0 -BITMAP -20 -40 -C0 -40 -ENDCHAR -STARTCHAR currency -ENCODING 12452 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 6 0 0 -BITMAP -10 -20 -60 -A0 -20 -20 -ENDCHAR -STARTCHAR yen -ENCODING 12453 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -20 -F0 -90 -20 -ENDCHAR -STARTCHAR brokenbar -ENCODING 12454 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -F8 -88 -08 -10 -20 -ENDCHAR -STARTCHAR section -ENCODING 12455 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 4 1 0 -BITMAP -E0 -40 -40 -E0 -ENDCHAR -STARTCHAR dieresis -ENCODING 12456 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -20 -20 -20 -F8 -ENDCHAR -STARTCHAR copyright -ENCODING 12457 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -20 -F0 -60 -A0 -ENDCHAR -STARTCHAR ordfeminine -ENCODING 12458 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -10 -F8 -30 -50 -90 -10 -ENDCHAR -STARTCHAR guillemotleft -ENCODING 12459 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -F8 -48 -48 -48 -90 -ENDCHAR -STARTCHAR logicalnot -ENCODING 12460 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -40 -F8 -48 -48 -48 -90 -ENDCHAR -STARTCHAR uni00AD -ENCODING 12461 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -F8 -20 -F8 -20 -20 -ENDCHAR -STARTCHAR registered -ENCODING 12462 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -20 -F8 -20 -F8 -20 -20 -ENDCHAR -STARTCHAR macron -ENCODING 12463 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -70 -90 -10 -20 -C0 -ENDCHAR -STARTCHAR degree -ENCODING 12464 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -70 -90 -10 -20 -C0 -ENDCHAR -STARTCHAR plusminus -ENCODING 12465 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -78 -90 -10 -10 -20 -ENDCHAR -STARTCHAR uni00B2 -ENCODING 12466 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -40 -78 -90 -10 -10 -20 -ENDCHAR -STARTCHAR uni00B3 -ENCODING 12467 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -08 -08 -F8 -ENDCHAR -STARTCHAR acute -ENCODING 12468 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -08 -08 -08 -F8 -ENDCHAR -STARTCHAR uni00B5 -ENCODING 12469 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -50 -F8 -50 -10 -20 -40 -ENDCHAR -STARTCHAR paragraph -ENCODING 12470 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -50 -F8 -50 -10 -20 -40 -ENDCHAR -STARTCHAR periodcentered -ENCODING 12471 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -C0 -08 -C8 -10 -E0 -ENDCHAR -STARTCHAR cedilla -ENCODING 12472 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -C0 -08 -C8 -10 -E0 -ENDCHAR -STARTCHAR uni00B9 -ENCODING 12473 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -10 -20 -50 -88 -ENDCHAR -STARTCHAR ordmasculine -ENCODING 12474 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -10 -20 -50 -88 -ENDCHAR -STARTCHAR guillemotright -ENCODING 12475 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -F8 -48 -50 -40 -38 -ENDCHAR -STARTCHAR onequarter -ENCODING 12476 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -40 -F8 -48 -50 -40 -38 -ENDCHAR -STARTCHAR onehalf -ENCODING 12477 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -88 -88 -48 -10 -60 -ENDCHAR -STARTCHAR threequarters -ENCODING 12478 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -88 -88 -48 -10 -60 -ENDCHAR -STARTCHAR questiondown -ENCODING 12479 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -78 -48 -A8 -10 -60 -ENDCHAR -STARTCHAR Agrave -ENCODING 12480 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -78 -48 -A8 -10 -60 -ENDCHAR -STARTCHAR Aacute -ENCODING 12481 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -10 -E0 -20 -F8 -20 -40 -ENDCHAR -STARTCHAR Acircumflex -ENCODING 12482 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -10 -E0 -20 -F8 -20 -40 -ENDCHAR -STARTCHAR Atilde -ENCODING 12483 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 4 0 0 -BITMAP -A8 -A8 -08 -30 -ENDCHAR -STARTCHAR Adieresis -ENCODING 12484 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -A8 -A8 -08 -10 -20 -ENDCHAR -STARTCHAR Aring -ENCODING 12485 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -A8 -A8 -08 -10 -20 -ENDCHAR -STARTCHAR AE -ENCODING 12486 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -00 -F8 -20 -20 -40 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 12487 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -70 -00 -F8 -20 -20 -40 -ENDCHAR -STARTCHAR Egrave -ENCODING 12488 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 6 1 0 -BITMAP -80 -80 -C0 -A0 -80 -80 -ENDCHAR -STARTCHAR Eacute -ENCODING 12489 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 8 1 0 -BITMAP -50 -00 -80 -80 -C0 -A0 -80 -80 -ENDCHAR -STARTCHAR Ecircumflex -ENCODING 12490 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -F8 -20 -20 -40 -80 -ENDCHAR -STARTCHAR Edieresis -ENCODING 12491 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -00 -00 -00 -F8 -ENDCHAR -STARTCHAR Igrave -ENCODING 12492 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -50 -20 -D0 -ENDCHAR -STARTCHAR Iacute -ENCODING 12493 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -F8 -10 -20 -70 -A8 -ENDCHAR -STARTCHAR Icircumflex -ENCODING 12494 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 3 6 1 0 -BITMAP -20 -20 -20 -20 -40 -80 -ENDCHAR -STARTCHAR Idieresis -ENCODING 12495 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -10 -88 -88 -88 -88 -ENDCHAR -STARTCHAR Eth -ENCODING 12496 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -10 -88 -88 -88 -88 -ENDCHAR -STARTCHAR Ntilde -ENCODING 12497 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -18 -18 -00 -10 -88 -88 -88 -88 -ENDCHAR -STARTCHAR Ograve -ENCODING 12498 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -80 -80 -F8 -80 -80 -78 -ENDCHAR -STARTCHAR Oacute -ENCODING 12499 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -80 -80 -F8 -80 -80 -78 -ENDCHAR -STARTCHAR Ocircumflex -ENCODING 12500 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -18 -98 -80 -F8 -80 -80 -78 -ENDCHAR -STARTCHAR Otilde -ENCODING 12501 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -08 -10 -60 -ENDCHAR -STARTCHAR Odieresis -ENCODING 12502 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -08 -08 -10 -60 -ENDCHAR -STARTCHAR multiply -ENCODING 12503 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -18 -18 -00 -F8 -08 -08 -10 -60 -ENDCHAR -STARTCHAR Oslash -ENCODING 12504 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 4 0 1 -BITMAP -40 -A0 -10 -08 -ENDCHAR -STARTCHAR Ugrave -ENCODING 12505 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 1 -BITMAP -28 -00 -40 -A0 -10 -08 -ENDCHAR -STARTCHAR Uacute -ENCODING 12506 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 1 -BITMAP -18 -18 -40 -A0 -10 -08 -ENDCHAR -STARTCHAR Ucircumflex -ENCODING 12507 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -20 -F8 -20 -A8 -A8 -20 -ENDCHAR -STARTCHAR Udieresis -ENCODING 12508 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -20 -F8 -20 -A8 -A8 -20 -ENDCHAR -STARTCHAR Yacute -ENCODING 12509 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -18 -18 -20 -F8 -20 -A8 -A8 -20 -ENDCHAR -STARTCHAR Thorn -ENCODING 12510 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -50 -20 -10 -ENDCHAR -STARTCHAR germandbls -ENCODING 12511 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 1 0 -BITMAP -E0 -00 -E0 -00 -F0 -ENDCHAR -STARTCHAR agrave -ENCODING 12512 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -20 -40 -88 -F8 -08 -ENDCHAR -STARTCHAR aacute -ENCODING 12513 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -08 -28 -10 -28 -C0 -ENDCHAR -STARTCHAR acircumflex -ENCODING 12514 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -40 -F8 -40 -38 -ENDCHAR -STARTCHAR atilde -ENCODING 12515 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 4 0 0 -BITMAP -40 -F8 -50 -40 -ENDCHAR -STARTCHAR adieresis -ENCODING 12516 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -40 -F8 -48 -50 -40 -40 -ENDCHAR -STARTCHAR aring -ENCODING 12517 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -60 -20 -20 -F0 -ENDCHAR -STARTCHAR ae -ENCODING 12518 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -70 -10 -10 -10 -F8 -ENDCHAR -STARTCHAR ccedilla -ENCODING 12519 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -F0 -10 -F0 -10 -F0 -ENDCHAR -STARTCHAR egrave -ENCODING 12520 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -F8 -08 -F8 -ENDCHAR -STARTCHAR eacute -ENCODING 12521 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -70 -00 -F8 -08 -10 -20 -ENDCHAR -STARTCHAR ecircumflex -ENCODING 12522 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 6 0 0 -BITMAP -90 -90 -90 -90 -10 -20 -ENDCHAR -STARTCHAR edieresis -ENCODING 12523 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -20 -A0 -A8 -A8 -B0 -ENDCHAR -STARTCHAR igrave -ENCODING 12524 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 5 0 0 -BITMAP -80 -80 -90 -A0 -C0 -ENDCHAR -STARTCHAR iacute -ENCODING 12525 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -88 -88 -88 -F8 -ENDCHAR -STARTCHAR icircumflex -ENCODING 12526 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -F0 -90 -10 -20 -ENDCHAR -STARTCHAR idieresis -ENCODING 12527 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -88 -08 -10 -20 -ENDCHAR -STARTCHAR eth -ENCODING 12528 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -10 -F8 -50 -50 -F8 -10 -ENDCHAR -STARTCHAR ntilde -ENCODING 12529 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -30 -20 -F8 -ENDCHAR -STARTCHAR ograve -ENCODING 12530 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -F8 -08 -F8 -08 -30 -ENDCHAR -STARTCHAR oacute -ENCODING 12531 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 0 -BITMAP -C0 -08 -08 -10 -E0 -ENDCHAR -STARTCHAR ocircumflex -ENCODING 12532 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -20 -F8 -88 -08 -10 -20 -ENDCHAR -STARTCHAR otilde -ENCODING 12533 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -40 -F0 -50 -A0 -ENDCHAR -STARTCHAR odieresis -ENCODING 12534 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 4 4 0 0 -BITMAP -40 -F0 -20 -40 -ENDCHAR -STARTCHAR divide -ENCODING 12535 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -88 -08 -10 -60 -ENDCHAR -STARTCHAR oslash -ENCODING 12536 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 0 -BITMAP -28 -00 -10 -F8 -50 -50 -F8 -10 -ENDCHAR -STARTCHAR ugrave -ENCODING 12537 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -08 -30 -20 -F8 -ENDCHAR -STARTCHAR uacute -ENCODING 12538 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -28 -00 -F8 -08 -F8 -08 -30 -ENDCHAR -STARTCHAR ucircumflex -ENCODING 12539 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 2 2 2 2 -BITMAP -C0 -C0 -ENDCHAR -STARTCHAR udieresis -ENCODING 12540 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 1 0 2 -BITMAP -F8 -ENDCHAR -STARTCHAR yacute -ENCODING 12541 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 4 0 1 -BITMAP -80 -60 -10 -08 -ENDCHAR -STARTCHAR thorn -ENCODING 12542 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 5 0 1 -BITMAP -28 -80 -60 -10 -08 -ENDCHAR -STARTCHAR ydieresis -ENCODING 12543 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 0 -BITMAP -F8 -08 -08 -08 -08 -08 -ENDCHAR -ENDFONT - 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 index 0d382da42523..cc0e3f27b84a 100755 --- a/buildroot/share/fonts/genallfont.sh +++ b/buildroot/share/fonts/genallfont.sh @@ -3,17 +3,17 @@ ##################################################################### # genallfont.sh for Marlin # -# This script will generates font data for language headers +# This script generates font data for language headers # -# Copyright 2015-2016 Yunhui Fu +# Copyright 2015-2018 Yunhui Fu # License: GPL/BSD ##################################################################### -my_getpath () { - PARAM_DN="$1" +my_getpath() { + local PARAM_DN="$1" shift #readlink -f - DN="${PARAM_DN}" - FN= + local DN="${PARAM_DN}" + local FN= if [ ! -d "${DN}" ]; then FN=$(basename "${DN}") DN=$(dirname "${DN}") @@ -21,36 +21,32 @@ my_getpath () { cd "${DN}" > /dev/null 2>&1 DN=$(pwd) cd - > /dev/null 2>&1 - echo "${DN}/${FN}" + 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") ) -if [ ! "${DN_EXEC}" = "" ]; then - DN_EXEC="$(my_getpath "${DN_EXEC}")/" -else - DN_EXEC="${DN_EXEC}/" -fi -##################################################################### + EXEC_WXGGEN="${DN_EXEC}/uxggenpages.sh" EXEC_BDF2U8G=`which bdf2u8g` -echo "0 set EXEC_BDF2U8G=$EXEC_BDF2U8G" -if [ ! -x "${EXEC_BDF2U8G}" ]; then - EXEC_BDF2U8G="${DN_EXEC}/bdf2u8g" -fi -if [ ! -x "${EXEC_BDF2U8G}" ]; then - EXEC_BDF2U8G="${PWD}/bdf2u8g" -fi -if [ ! -x "${EXEC_BDF2U8G}" ]; then - echo "ERR: Not found bdf2u8g!" >&2 - echo "plaese compile u8blib/tools/font/bdf2u8g/bdf2u8g and link to it from here!" >&2 - exit 1 -fi - -FN_NEWFONT="${DN_EXEC}/ISO10646-0-3.bdf" -if [ ! "$1" = "" ]; then - FN_NEWFONT="$1" -fi +[ -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 @@ -59,52 +55,69 @@ DN_WORK=./tmp1 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 "INFO: generate 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_NEWFONT}" - sed -e 's|fonts//|fonts/|g' -e 's|fonts//|fonts/|g' -e 's|[/0-9a-zA-Z_\-]*buildroot/share/fonts|buildroot/share/fonts|' -i fontutf8-data.h - cd ../ - mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/language_data_${LANG}.h - rm -rf ${DN_WORK}/ + 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): +# +# 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_NEWFONT} ISO10646_1_5x7 tmp1.h - ${EXEC_BDF2U8G} -b 1 -e 255 ${FN_NEWFONT} ISO10646_1_5x7 tmp2.h - - cat << EOF >tmp3.h + 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 sysmbols 1 - 127) - saves about 1278 bytes of FLASH + // reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH -EOF - cat tmp1.h >>tmp3.h - cat << EOF >>tmp3.h +$TMP1 #else - // extended (original) font (sysmbols 1 - 255) -EOF - cat tmp2.h >>tmp3.h - cat << EOF >>tmp3.h + // extended (original) font (symbols 1 - 255) + +$TMP2 #endif EOF - sed -e 's|#include "u8g.h"|#include |' -i tmp3.h - cd .. - mv ${DN_WORK}/tmp3.h src/lcd/dogm/dogm_font_data_ISO10646_1.h + rmdir ../${DN_WORK} + cd - >/dev/null fi - - 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/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/ISO10646-0-3.bdf b/buildroot/share/fonts/marlin-6x12-3.bdf similarity index 86% rename from buildroot/share/fonts/ISO10646-0-3.bdf rename to buildroot/share/fonts/marlin-6x12-3.bdf index 287e16b26be2..0dc909c5f4b4 100644 --- a/buildroot/share/fonts/ISO10646-0-3.bdf +++ b/buildroot/share/fonts/marlin-6x12-3.bdf @@ -1,45 +1,36 @@ STARTFONT 2.1 -FONT -FontForge-ISO106461-Normal-R-Normal--11-80-96-96-C-60-WinRoman-0 -SIZE 8 96 96 -FONTBOUNDINGBOX 6 10 0 -2 -COMMENT "Merged with Greek,Cyrillic,Kana and WQY 9pt" -COMMENT "A. Hardtung, public domain" -STARTPROPERTIES 33 -FOUNDRY "FontForge" -FAMILY_NAME "ISO106461" -WEIGHT_NAME "Normal" +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 "Normal" +SETWIDTH_NAME "SemiCondensed" ADD_STYLE_NAME "" -PIXEL_SIZE 11 -POINT_SIZE 80 -RESOLUTION_X 96 -RESOLUTION_Y 96 +PIXEL_SIZE 12 +POINT_SIZE 120 +RESOLUTION_X 75 +RESOLUTION_Y 75 SPACING "C" AVERAGE_WIDTH 60 -CHARSET_REGISTRY "WinRoman" -CHARSET_ENCODING "0" -FONTNAME_REGISTRY "" -CHARSET_COLLECTIONS "WinRoman" -FONT_NAME "ISO10646-1" -FACE_NAME "ISO10646-1" -FONT_VERSION "001.000" -FONT_ASCENT 9 +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 -UNDERLINE_POSITION -1 -UNDERLINE_THICKNESS 1 -X_HEIGHT 4 -CAP_HEIGHT 6 -RAW_ASCENT 800 -RAW_DESCENT 200 -NORM_SPACE 6 -RELATIVE_WEIGHT 40 -RELATIVE_SETWIDTH 50 -FIGURE_WIDTH 6 -AVG_LOWERCASE_WIDTH 60 -AVG_UPPERCASE_WIDTH 60 +FONT_ASCENT 10 ENDPROPERTIES -CHARS 515 +CHARS 33727 + STARTCHAR uni0001 ENCODING 1 SWIDTH 545 0 @@ -174,7 +165,7 @@ A0 ENDCHAR STARTCHAR space ENCODING 32 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 1 1 5 -2 BITMAP @@ -182,7 +173,7 @@ BITMAP ENDCHAR STARTCHAR exclam ENCODING 33 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 1 7 2 0 BITMAP @@ -196,63 +187,65 @@ BITMAP ENDCHAR STARTCHAR quotedbl ENCODING 34 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 2 1 5 +BBX 3 3 1 5 BITMAP A0 A0 +A0 ENDCHAR STARTCHAR numbersign ENCODING 35 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 6 0 0 BITMAP 50 -50 F8 50 -F8 50 +F8 50 ENDCHAR STARTCHAR dollar ENCODING 36 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 9 0 -1 BITMAP 20 -78 +70 +A8 A0 70 28 -F0 +A8 +70 20 ENDCHAR STARTCHAR percent ENCODING 37 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -C0 +C8 C8 10 20 40 98 -18 +98 ENDCHAR STARTCHAR ampersand ENCODING 38 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -60 -90 +40 +A0 A0 40 A8 @@ -261,57 +254,63 @@ A8 ENDCHAR STARTCHAR quotesingle ENCODING 39 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 3 1 4 +BBX 1 3 2 5 BITMAP -C0 -40 +80 +80 80 ENDCHAR STARTCHAR parenleft ENCODING 40 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP 20 40 +40 80 80 80 40 +40 20 ENDCHAR STARTCHAR parenright ENCODING 41 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP 80 40 +40 20 20 20 40 +40 80 ENDCHAR STARTCHAR asterisk ENCODING 42 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 1 +BBX 5 7 0 0 BITMAP 20 A8 70 +20 +70 A8 20 ENDCHAR STARTCHAR plus ENCODING 43 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 1 BITMAP @@ -323,9 +322,9 @@ F8 ENDCHAR STARTCHAR comma ENCODING 44 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 3 2 -1 +BBX 2 3 1 -1 BITMAP C0 40 @@ -333,7 +332,7 @@ C0 ENDCHAR STARTCHAR hyphen ENCODING 45 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 1 0 3 BITMAP @@ -341,28 +340,30 @@ F8 ENDCHAR STARTCHAR period ENCODING 46 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 0 +BBX 2 2 1 0 BITMAP C0 C0 ENDCHAR STARTCHAR slash ENCODING 47 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 1 +BBX 5 7 0 0 BITMAP 08 10 +10 20 40 +40 80 ENDCHAR STARTCHAR zero ENCODING 48 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -376,7 +377,7 @@ C8 ENDCHAR STARTCHAR one ENCODING 49 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 7 1 0 BITMAP @@ -390,35 +391,35 @@ E0 ENDCHAR STARTCHAR two ENCODING 50 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 70 88 08 -70 -80 -80 +10 +20 +40 F8 ENDCHAR STARTCHAR three ENCODING 51 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP F8 -10 -20 -10 08 +10 +30 08 -F0 +88 +70 ENDCHAR STARTCHAR four ENCODING 52 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -432,7 +433,7 @@ F8 ENDCHAR STARTCHAR five ENCODING 53 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -446,7 +447,7 @@ F0 ENDCHAR STARTCHAR six ENCODING 54 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -460,21 +461,21 @@ F0 ENDCHAR STARTCHAR seven ENCODING 55 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP F8 08 10 -20 +10 20 20 20 ENDCHAR STARTCHAR eight ENCODING 56 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -488,7 +489,7 @@ BITMAP ENDCHAR STARTCHAR nine ENCODING 57 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -502,9 +503,9 @@ BITMAP ENDCHAR STARTCHAR colon ENCODING 58 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 5 2 0 +BBX 2 5 1 0 BITMAP C0 C0 @@ -514,9 +515,9 @@ C0 ENDCHAR STARTCHAR semicolon ENCODING 59 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 6 2 -1 +BBX 2 6 1 -1 BITMAP C0 C0 @@ -527,21 +528,19 @@ C0 ENDCHAR STARTCHAR less ENCODING 60 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 0 +BBX 3 5 1 1 BITMAP -10 20 40 80 40 20 -10 ENDCHAR STARTCHAR equal ENCODING 61 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 3 0 2 BITMAP @@ -551,48 +550,47 @@ F8 ENDCHAR STARTCHAR greater ENCODING 62 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 1 0 +BBX 3 5 1 1 BITMAP 80 40 20 -10 -20 40 80 ENDCHAR STARTCHAR question ENCODING 63 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 70 88 -08 10 20 +20 00 20 ENDCHAR STARTCHAR at ENCODING 64 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 7 0 0 BITMAP 70 88 -08 -68 +B8 A8 +B8 +80 70 ENDCHAR STARTCHAR A ENCODING 65 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -606,21 +604,21 @@ F8 ENDCHAR STARTCHAR B ENCODING 66 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP F0 -88 -88 -F0 -88 -88 +48 +48 +70 +48 +48 F0 ENDCHAR STARTCHAR C ENCODING 67 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -634,21 +632,21 @@ BITMAP ENDCHAR STARTCHAR D ENCODING 68 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -E0 -90 -88 -88 -88 -90 -E0 +F0 +48 +48 +48 +48 +48 +F0 ENDCHAR STARTCHAR E ENCODING 69 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -662,7 +660,7 @@ F8 ENDCHAR STARTCHAR F ENCODING 70 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -676,21 +674,21 @@ F0 ENDCHAR STARTCHAR G ENCODING 71 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 70 88 80 -B8 -88 +80 +98 88 70 ENDCHAR STARTCHAR H ENCODING 72 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -704,21 +702,21 @@ F8 ENDCHAR STARTCHAR I ENCODING 73 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 7 2 0 +BBX 3 7 1 0 BITMAP -80 -80 -80 -80 -80 -80 -80 +E0 +40 +40 +40 +40 +40 +E0 ENDCHAR STARTCHAR J ENCODING 74 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -732,7 +730,7 @@ BITMAP ENDCHAR STARTCHAR K ENCODING 75 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -746,7 +744,7 @@ A0 ENDCHAR STARTCHAR L ENCODING 76 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -760,7 +758,7 @@ F8 ENDCHAR STARTCHAR M ENCODING 77 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -774,7 +772,7 @@ A8 ENDCHAR STARTCHAR N ENCODING 78 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -788,7 +786,7 @@ A8 ENDCHAR STARTCHAR O ENCODING 79 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -802,7 +800,7 @@ BITMAP ENDCHAR STARTCHAR P ENCODING 80 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -816,7 +814,7 @@ F0 ENDCHAR STARTCHAR Q ENCODING 81 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -830,7 +828,7 @@ A8 ENDCHAR STARTCHAR R ENCODING 82 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -844,21 +842,21 @@ A0 ENDCHAR STARTCHAR S ENCODING 83 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -78 -80 +70 +88 80 70 08 -08 -F0 +88 +70 ENDCHAR STARTCHAR T ENCODING 84 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -872,7 +870,7 @@ F8 ENDCHAR STARTCHAR U ENCODING 85 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -886,7 +884,7 @@ BITMAP ENDCHAR STARTCHAR V ENCODING 86 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -894,13 +892,13 @@ BITMAP 88 88 88 -88 +50 50 20 ENDCHAR STARTCHAR W ENCODING 87 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -908,13 +906,13 @@ BITMAP 88 88 88 -88 +A8 A8 50 ENDCHAR STARTCHAR X ENCODING 88 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -928,21 +926,21 @@ BITMAP ENDCHAR STARTCHAR Y ENCODING 89 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 88 88 -88 50 20 20 20 +20 ENDCHAR STARTCHAR Z ENCODING 90 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -956,9 +954,9 @@ F8 ENDCHAR STARTCHAR bracketleft ENCODING 91 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP E0 80 @@ -966,25 +964,29 @@ E0 80 80 80 +80 +80 E0 ENDCHAR STARTCHAR backslash ENCODING 92 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 1 +BBX 5 7 0 0 BITMAP 80 40 +40 20 10 +10 08 ENDCHAR STARTCHAR bracketright ENCODING 93 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP E0 20 @@ -992,13 +994,15 @@ E0 20 20 20 +20 +20 E0 ENDCHAR STARTCHAR asciicircum ENCODING 94 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 3 0 4 +BBX 5 3 0 5 BITMAP 20 50 @@ -1006,24 +1010,25 @@ BITMAP ENDCHAR STARTCHAR underscore ENCODING 95 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 1 0 0 +BBX 5 1 0 -2 BITMAP F8 ENDCHAR STARTCHAR grave ENCODING 96 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 5 +BBX 3 3 1 5 BITMAP 80 40 +20 ENDCHAR STARTCHAR a ENCODING 97 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1035,21 +1040,21 @@ BITMAP ENDCHAR STARTCHAR b ENCODING 98 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 80 80 -B0 -C8 +F0 +88 88 88 F0 ENDCHAR STARTCHAR c ENCODING 99 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1061,117 +1066,119 @@ BITMAP ENDCHAR STARTCHAR d ENCODING 100 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 08 08 -68 -98 +78 +88 88 88 78 ENDCHAR STARTCHAR e ENCODING 101 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP 70 88 -F8 +F0 80 70 ENDCHAR STARTCHAR f ENCODING 102 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 30 48 -E0 40 +E0 40 40 40 ENDCHAR STARTCHAR g ENCODING 103 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP 70 88 88 +88 78 08 70 ENDCHAR STARTCHAR h ENCODING 104 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 80 80 -B0 -C8 +F0 +88 88 88 88 ENDCHAR STARTCHAR i ENCODING 105 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 7 2 0 +BBX 3 7 1 0 BITMAP -80 +40 00 -80 -80 -80 -80 -80 +C0 +40 +40 +40 +E0 ENDCHAR STARTCHAR j ENCODING 106 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 -1 +BBX 4 9 1 -2 BITMAP -20 +10 00 -20 -20 -20 -20 -A0 -40 +30 +10 +10 +10 +10 +90 +60 ENDCHAR STARTCHAR k ENCODING 107 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 0 +BBX 5 7 0 0 BITMAP 80 80 +88 90 -A0 -C0 -A0 +E0 90 +88 ENDCHAR STARTCHAR l ENCODING 108 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 7 1 0 BITMAP @@ -1185,7 +1192,7 @@ E0 ENDCHAR STARTCHAR m ENCODING 109 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1197,7 +1204,7 @@ A8 ENDCHAR STARTCHAR n ENCODING 110 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1209,7 +1216,7 @@ C8 ENDCHAR STARTCHAR o ENCODING 111 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1221,33 +1228,35 @@ BITMAP ENDCHAR STARTCHAR p ENCODING 112 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP F0 88 88 +88 F0 80 80 ENDCHAR STARTCHAR q ENCODING 113 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP 78 88 88 +88 78 08 08 ENDCHAR STARTCHAR r ENCODING 114 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1259,11 +1268,11 @@ C8 ENDCHAR STARTCHAR s ENCODING 115 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP -70 +78 80 70 08 @@ -1271,21 +1280,21 @@ F0 ENDCHAR STARTCHAR t ENCODING 116 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -40 -40 -E0 -40 -40 -48 -30 +20 +20 +F8 +20 +20 +20 +18 ENDCHAR STARTCHAR u ENCODING 117 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1297,7 +1306,7 @@ BITMAP ENDCHAR STARTCHAR v ENCODING 118 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1309,7 +1318,7 @@ BITMAP ENDCHAR STARTCHAR w ENCODING 119 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1321,7 +1330,7 @@ A8 ENDCHAR STARTCHAR x ENCODING 120 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1333,20 +1342,21 @@ BITMAP ENDCHAR STARTCHAR y ENCODING 121 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP 88 88 88 -78 -08 -70 +50 +20 +40 +80 ENDCHAR STARTCHAR z ENCODING 122 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -1358,23 +1368,25 @@ F8 ENDCHAR STARTCHAR braceleft ENCODING 123 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP 20 40 40 +40 80 40 40 +40 20 ENDCHAR STARTCHAR bar ENCODING 124 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 7 2 0 +BBX 1 9 2 -1 BITMAP 80 80 @@ -1383,49 +1395,46 @@ BITMAP 80 80 80 +80 +80 ENDCHAR STARTCHAR braceright ENCODING 125 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 -1 BITMAP 80 40 40 +40 20 40 40 +40 80 ENDCHAR STARTCHAR asciitilde ENCODING 126 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 2 0 3 +BBX 5 3 0 2 BITMAP -68 +48 +A8 90 ENDCHAR -STARTCHAR nounicode-3-1-80 -ENCODING 128 -SWIDTH 636 0 +STARTCHAR space +ENCODING 160 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 0 +BBX 1 1 5 -2 BITMAP -30 -48 -40 -F0 -40 -F0 -40 -48 -30 +00 ENDCHAR STARTCHAR exclamdown ENCODING 161 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 1 7 2 0 BITMAP @@ -1439,9 +1448,9 @@ BITMAP ENDCHAR STARTCHAR cent ENCODING 162 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 7 0 -1 BITMAP 20 70 @@ -1453,47 +1462,47 @@ A8 ENDCHAR STARTCHAR sterling ENCODING 163 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 30 -40 +48 40 E0 40 -50 -A8 +48 +B0 ENDCHAR STARTCHAR currency ENCODING 164 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP -88 -70 +A8 50 -70 88 +50 +A8 ENDCHAR STARTCHAR yen ENCODING 165 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 88 50 -20 F8 20 F8 20 +20 ENDCHAR STARTCHAR brokenbar ENCODING 166 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 1 7 2 0 BITMAP @@ -1507,22 +1516,22 @@ BITMAP ENDCHAR STARTCHAR section ENCODING 167 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 4 8 1 0 BITMAP -30 -48 -20 -50 -50 -20 +70 +80 +60 +90 90 60 +10 +E0 ENDCHAR STARTCHAR dieresis ENCODING 168 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 1 1 7 BITMAP @@ -1530,37 +1539,35 @@ A0 ENDCHAR STARTCHAR copyright ENCODING 169 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 6 7 0 0 BITMAP -F8 -88 -B8 -B8 -B8 -88 -F8 +78 +84 +B4 +A4 +B4 +84 +78 ENDCHAR STARTCHAR ordfeminine ENCODING 170 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 1 +BBX 3 5 1 4 BITMAP -70 -08 -78 -88 -78 +60 +A0 +60 00 -F8 +E0 ENDCHAR STARTCHAR guillemotleft ENCODING 171 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 1 +BBX 5 5 0 0 BITMAP 28 50 @@ -1570,7 +1577,7 @@ A0 ENDCHAR STARTCHAR logicalnot ENCODING 172 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 3 0 1 BITMAP @@ -1578,42 +1585,41 @@ F8 08 08 ENDCHAR -STARTCHAR uni00AD +STARTCHAR hyphen ENCODING 173 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 6 +BBX 3 1 1 3 BITMAP -40 -80 +E0 ENDCHAR STARTCHAR registered ENCODING 174 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 6 7 0 0 BITMAP -F8 -88 -A8 -88 -98 -A8 -F8 +78 +84 +B4 +A4 +A4 +84 +78 ENDCHAR STARTCHAR macron ENCODING 175 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 1 0 6 +BBX 5 1 0 7 BITMAP F8 ENDCHAR STARTCHAR degree ENCODING 176 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 4 0 3 +BBX 4 4 1 5 BITMAP 60 90 @@ -1622,7 +1628,7 @@ BITMAP ENDCHAR STARTCHAR plusminus ENCODING 177 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -1634,49 +1640,49 @@ F8 00 F8 ENDCHAR -STARTCHAR uni00B2 +STARTCHAR twosuperior ENCODING 178 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 3 +BBX 3 5 1 5 BITMAP -60 -90 +40 +A0 20 40 -F0 +E0 ENDCHAR -STARTCHAR uni00B3 +STARTCHAR threesuperior ENCODING 179 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 5 0 3 +BBX 3 5 1 5 BITMAP -E0 +C0 20 -E0 +40 20 -E0 +C0 ENDCHAR STARTCHAR acute ENCODING 180 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 6 +BBX 3 3 1 5 BITMAP +20 40 80 ENDCHAR -STARTCHAR uni00B5 +STARTCHAR mu ENCODING 181 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 7 0 -2 BITMAP 88 88 88 -88 98 E8 80 @@ -1684,41 +1690,42 @@ E8 ENDCHAR STARTCHAR paragraph ENCODING 182 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 8 0 0 BITMAP 78 -98 -98 -78 -18 -18 -18 +E8 +E8 +E8 +68 +28 +28 +28 ENDCHAR STARTCHAR periodcentered ENCODING 183 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 2 +BBX 2 2 2 3 BITMAP C0 C0 ENDCHAR STARTCHAR cedilla ENCODING 184 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 2 -1 +BBX 3 2 1 -2 BITMAP -40 -80 +20 +C0 ENDCHAR -STARTCHAR uni00B9 +STARTCHAR onesuperior ENCODING 185 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 5 0 3 +BBX 3 5 1 5 BITMAP 40 C0 @@ -1728,23 +1735,21 @@ E0 ENDCHAR STARTCHAR ordmasculine ENCODING 186 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 1 +BBX 3 5 1 5 BITMAP -70 -88 -88 -88 -70 +40 +A0 +40 00 -F8 +E0 ENDCHAR STARTCHAR guillemotright ENCODING 187 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 1 +BBX 5 5 0 0 BITMAP A0 50 @@ -1754,126 +1759,142 @@ A0 ENDCHAR STARTCHAR onequarter ENCODING 188 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 10 0 0 BITMAP -88 -90 -A8 -58 -B8 -08 -08 +40 +C0 +48 +50 +60 +50 +B0 +50 +78 +10 ENDCHAR STARTCHAR onehalf ENCODING 189 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 10 0 0 BITMAP -88 -90 -B8 +40 +C0 48 -98 -20 +50 +60 +50 +A8 +08 +10 38 ENDCHAR STARTCHAR threequarters ENCODING 190 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP C0 -40 -C0 +20 48 -D8 -38 -08 -08 +30 +E0 +50 +B0 +50 +78 +10 ENDCHAR STARTCHAR questiondown ENCODING 191 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 20 00 20 +20 40 -80 88 70 ENDCHAR STARTCHAR Agrave ENCODING 192 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 40 20 00 70 88 +88 F8 88 88 +88 ENDCHAR STARTCHAR Aacute ENCODING 193 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 10 20 00 70 88 +88 F8 88 88 +88 ENDCHAR STARTCHAR Acircumflex ENCODING 194 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 20 50 00 70 88 +88 F8 88 88 +88 ENDCHAR STARTCHAR Atilde ENCODING 195 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 68 -90 +B0 00 70 88 +88 F8 88 88 +88 ENDCHAR STARTCHAR Adieresis ENCODING 196 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 9 0 0 BITMAP 50 00 @@ -1883,115 +1904,127 @@ BITMAP F8 88 88 +88 ENDCHAR STARTCHAR Aring ENCODING 197 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 20 50 20 70 88 +88 F8 88 88 +88 ENDCHAR STARTCHAR AE ENCODING 198 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -38 -60 +78 +A0 +A0 +F0 A0 -B8 -E0 A0 B8 ENDCHAR STARTCHAR Ccedilla ENCODING 199 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 9 0 -2 BITMAP 70 88 80 80 +80 88 70 -20 +10 60 ENDCHAR STARTCHAR Egrave ENCODING 200 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 40 20 00 F8 80 +80 F0 80 +80 F8 ENDCHAR STARTCHAR Eacute ENCODING 201 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP -08 10 +20 00 F8 80 +80 F0 80 +80 F8 ENDCHAR STARTCHAR Ecircumflex ENCODING 202 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 20 50 00 F8 80 +80 F0 80 +80 F8 ENDCHAR STARTCHAR Edieresis ENCODING 203 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 9 0 0 BITMAP 50 00 F8 80 +80 F0 80 +80 F8 ENDCHAR STARTCHAR Igrave ENCODING 204 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 10 1 0 BITMAP 80 40 @@ -2000,13 +2033,15 @@ E0 40 40 40 +40 +40 E0 ENDCHAR STARTCHAR Iacute ENCODING 205 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 10 1 0 BITMAP 20 40 @@ -2015,13 +2050,15 @@ E0 40 40 40 +40 +40 E0 ENDCHAR STARTCHAR Icircumflex ENCODING 206 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 10 1 0 BITMAP 40 A0 @@ -2030,13 +2067,15 @@ E0 40 40 40 +40 +40 E0 ENDCHAR STARTCHAR Idieresis ENCODING 207 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 9 1 0 BITMAP A0 00 @@ -2044,11 +2083,13 @@ E0 40 40 40 +40 +40 E0 ENDCHAR STARTCHAR Eth ENCODING 208 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -2062,54 +2103,60 @@ E8 ENDCHAR STARTCHAR Ntilde ENCODING 209 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 68 -90 +B0 00 88 +88 C8 A8 98 88 +88 ENDCHAR STARTCHAR Ograve ENCODING 210 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 40 20 +00 70 88 88 88 88 +88 70 ENDCHAR STARTCHAR Oacute ENCODING 211 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 10 20 +00 70 88 88 88 88 +88 70 ENDCHAR STARTCHAR Ocircumflex ENCODING 212 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 20 50 @@ -2118,28 +2165,32 @@ BITMAP 88 88 88 +88 +88 70 ENDCHAR STARTCHAR Otilde ENCODING 213 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 68 -90 +B0 00 70 88 88 88 +88 +88 70 ENDCHAR STARTCHAR Odieresis ENCODING 214 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 9 0 0 BITMAP 50 00 @@ -2148,11 +2199,12 @@ BITMAP 88 88 88 +88 70 ENDCHAR STARTCHAR multiply ENCODING 215 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 1 BITMAP @@ -2164,27 +2216,30 @@ BITMAP ENDCHAR STARTCHAR Oslash ENCODING 216 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 9 0 -1 BITMAP -10 +08 70 +98 A8 A8 A8 -A8 +C8 70 -40 +80 ENDCHAR STARTCHAR Ugrave ENCODING 217 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 40 20 +00 +88 88 88 88 @@ -2194,12 +2249,14 @@ BITMAP ENDCHAR STARTCHAR Uacute ENCODING 218 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 10 20 +00 +88 88 88 88 @@ -2209,9 +2266,9 @@ BITMAP ENDCHAR STARTCHAR Ucircumflex ENCODING 219 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 20 50 @@ -2220,13 +2277,15 @@ BITMAP 88 88 88 +88 +88 70 ENDCHAR STARTCHAR Udieresis ENCODING 220 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 9 0 0 BITMAP 50 00 @@ -2235,16 +2294,19 @@ BITMAP 88 88 88 +88 70 ENDCHAR STARTCHAR Yacute ENCODING 221 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 10 20 +00 +88 88 50 20 @@ -2254,38 +2316,35 @@ BITMAP ENDCHAR STARTCHAR Thorn ENCODING 222 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -1 +BBX 4 7 1 0 BITMAP -C0 -40 -70 -48 -48 -70 -40 -40 +80 +E0 +90 +90 +90 E0 +80 ENDCHAR STARTCHAR germandbls ENCODING 223 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 8 1 -1 +BBX 5 7 0 0 BITMAP -60 -90 +70 +88 90 A0 90 -90 -E0 -80 +88 +B0 ENDCHAR STARTCHAR agrave ENCODING 224 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2300,7 +2359,7 @@ BITMAP ENDCHAR STARTCHAR aacute ENCODING 225 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2315,7 +2374,7 @@ BITMAP ENDCHAR STARTCHAR acircumflex ENCODING 226 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2330,12 +2389,12 @@ BITMAP ENDCHAR STARTCHAR atilde ENCODING 227 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP 68 -90 +B0 00 70 08 @@ -2345,7 +2404,7 @@ BITMAP ENDCHAR STARTCHAR adieresis ENCODING 228 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -2359,7 +2418,7 @@ BITMAP ENDCHAR STARTCHAR aring ENCODING 229 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2374,33 +2433,33 @@ BITMAP ENDCHAR STARTCHAR ae ENCODING 230 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 5 0 0 BITMAP -D0 +70 28 -78 +70 A0 -A8 -50 +78 ENDCHAR STARTCHAR ccedilla ENCODING 231 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP 70 +88 80 88 70 -20 +10 60 ENDCHAR STARTCHAR egrave ENCODING 232 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2409,13 +2468,13 @@ BITMAP 00 70 88 -F8 +F0 80 70 ENDCHAR STARTCHAR eacute ENCODING 233 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2424,13 +2483,13 @@ BITMAP 00 70 88 -F8 +F0 80 70 ENDCHAR STARTCHAR ecircumflex ENCODING 234 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2439,13 +2498,13 @@ BITMAP 00 70 88 -F8 +F0 80 70 ENDCHAR STARTCHAR edieresis ENCODING 235 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -2453,91 +2512,93 @@ BITMAP 00 70 88 -F8 +F0 80 70 ENDCHAR STARTCHAR igrave ENCODING 236 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 8 1 0 BITMAP 80 40 00 -40 C0 40 40 +40 E0 ENDCHAR STARTCHAR iacute ENCODING 237 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 8 1 0 BITMAP 20 40 00 -40 C0 40 40 +40 E0 ENDCHAR STARTCHAR icircumflex ENCODING 238 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 8 1 0 BITMAP 40 A0 00 -40 C0 40 40 +40 E0 ENDCHAR STARTCHAR idieresis ENCODING 239 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 3 7 1 0 BITMAP A0 00 -40 C0 40 40 +40 E0 ENDCHAR STARTCHAR eth ENCODING 240 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 9 0 0 BITMAP -A0 -40 -A0 -10 +50 +20 +50 +08 78 88 +88 +88 70 ENDCHAR STARTCHAR ntilde ENCODING 241 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP 68 -90 +B0 00 B0 C8 @@ -2547,7 +2608,7 @@ C8 ENDCHAR STARTCHAR ograve ENCODING 242 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2562,7 +2623,7 @@ BITMAP ENDCHAR STARTCHAR oacute ENCODING 243 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2577,7 +2638,7 @@ BITMAP ENDCHAR STARTCHAR ocircumflex ENCODING 244 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2592,12 +2653,12 @@ BITMAP ENDCHAR STARTCHAR otilde ENCODING 245 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP 68 -90 +B0 00 70 88 @@ -2607,7 +2668,7 @@ BITMAP ENDCHAR STARTCHAR odieresis ENCODING 246 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -2621,7 +2682,7 @@ BITMAP ENDCHAR STARTCHAR divide ENCODING 247 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 1 BITMAP @@ -2633,21 +2694,19 @@ F8 ENDCHAR STARTCHAR oslash ENCODING 248 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -1 +BBX 5 5 0 0 BITMAP -10 -70 -A8 -A8 +78 +98 A8 -70 -40 +C8 +F0 ENDCHAR STARTCHAR ugrave ENCODING 249 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2657,12 +2716,12 @@ BITMAP 88 88 88 -98 -68 +88 +70 ENDCHAR STARTCHAR uacute ENCODING 250 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2672,12 +2731,12 @@ BITMAP 88 88 88 -98 -68 +88 +70 ENDCHAR STARTCHAR ucircumflex ENCODING 251 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP @@ -2687,12 +2746,12 @@ BITMAP 88 88 88 -98 -68 +88 +70 ENDCHAR STARTCHAR udieresis ENCODING 252 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -2701,14 +2760,14 @@ BITMAP 88 88 88 -98 -68 +88 +70 ENDCHAR STARTCHAR yacute ENCODING 253 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -1 +BBX 5 10 0 -2 BITMAP 10 20 @@ -2716,103 +2775,96 @@ BITMAP 88 88 88 -F8 -08 -70 +50 +20 +40 +80 ENDCHAR STARTCHAR thorn ENCODING 254 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 1 -1 +BBX 5 9 0 -2 BITMAP -C0 -40 -60 -50 -60 -40 -E0 +80 +80 +F0 +88 +88 +88 +F0 +80 +80 ENDCHAR STARTCHAR ydieresis ENCODING 255 -SWIDTH 545 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 9 0 -2 BITMAP 50 00 88 88 88 -78 -08 -70 +50 +20 +40 +80 ENDCHAR -STARTCHAR U_0100 +STARTCHAR Amacron ENCODING 256 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +70 00 -00 -7C -00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0101 +STARTCHAR amacron ENCODING 257 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 7 0 0 BITMAP -00 -00 70 00 70 08 78 88 -88 78 ENDCHAR -STARTCHAR U_0102 +STARTCHAR Abreve ENCODING 258 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +88 +70 00 -44 -38 -00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0103 +STARTCHAR abreve ENCODING 259 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 88 70 00 @@ -2820,492 +2872,408 @@ BITMAP 08 78 88 -88 78 ENDCHAR -STARTCHAR U_0104 +STARTCHAR Aogonek ENCODING 260 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 8 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -10 +70 +88 +88 +F8 +88 +88 +88 10 -28 -28 -44 -7E -82 -82 -04 -03 +08 ENDCHAR -STARTCHAR U_0105 +STARTCHAR aogonek ENCODING 261 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 6 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 70 08 78 88 -88 78 -08 -0C +20 +30 ENDCHAR -STARTCHAR U_0106 +STARTCHAR Cacute ENCODING 262 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -08 10 +20 00 -3C -40 -80 +70 +88 80 80 80 -40 -3C +88 +70 ENDCHAR -STARTCHAR U_0107 +STARTCHAR cacute ENCODING 263 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 10 20 00 70 +88 80 -80 -80 -80 +88 70 ENDCHAR -STARTCHAR U_0108 +STARTCHAR Ccircumflex ENCODING 264 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +20 +50 00 -10 -28 -00 -3C -40 -80 +70 +88 80 80 80 -40 -3C +88 +70 ENDCHAR -STARTCHAR U_0109 +STARTCHAR ccircumflex ENCODING 265 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 20 50 00 70 +88 80 -80 -80 -80 +88 70 ENDCHAR -STARTCHAR U_010A +STARTCHAR Cdotaccent ENCODING 266 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +20 00 -00 -10 -00 -3C -40 -80 +70 +88 80 80 80 -40 -3C +88 +70 ENDCHAR -STARTCHAR U_010B +STARTCHAR cdotaccent ENCODING 267 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 20 00 70 +88 80 -80 -80 -80 +88 70 ENDCHAR -STARTCHAR U_010C +STARTCHAR Ccaron ENCODING 268 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -28 -10 -00 -3C -40 -80 +70 +88 80 80 80 -40 -3C +88 +70 ENDCHAR -STARTCHAR U_010D +STARTCHAR ccaron ENCODING 269 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 50 20 00 70 +88 80 -80 -80 -80 +88 70 ENDCHAR -STARTCHAR U_010E +STARTCHAR Dcaron ENCODING 270 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 +F0 48 -30 -00 -F8 -84 -82 -82 -82 -82 -84 -F8 +48 +48 +48 +48 +F0 ENDCHAR -STARTCHAR U_010F +STARTCHAR dcaron ENCODING 271 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 BITMAP +14 +08 00 -00 -00 -00 -09 -0A +08 +08 78 88 88 88 -88 78 ENDCHAR -STARTCHAR U_0110 +STARTCHAR Dcroat ENCODING 272 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -7C -42 -41 -F1 -41 -41 -42 -7C +F0 +48 +48 +E8 +48 +48 +F0 ENDCHAR -STARTCHAR U_0111 +STARTCHAR dcroat ENCODING 273 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -00 -00 -00 -00 +08 1C 08 78 88 88 88 -88 78 ENDCHAR -STARTCHAR U_0112 +STARTCHAR Emacron ENCODING 274 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_0113 +STARTCHAR emacron ENCODING 275 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 7 0 0 BITMAP -00 -00 70 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_0114 +STARTCHAR Ebreve ENCODING 276 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 88 70 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_0115 +STARTCHAR ebreve ENCODING 277 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 88 70 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_0116 +STARTCHAR Edotaccent ENCODING 278 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 20 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_0117 +STARTCHAR edotaccent ENCODING 279 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 20 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_0118 +STARTCHAR Eogonek ENCODING 280 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 F8 80 80 -F8 -80 +F0 80 80 F8 20 -18 +30 ENDCHAR -STARTCHAR U_0119 +STARTCHAR eogonek ENCODING 281 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 70 88 -F8 -80 +F0 80 -78 +70 20 -18 +30 ENDCHAR -STARTCHAR U_011A +STARTCHAR Ecaron ENCODING 282 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 50 20 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_011B +STARTCHAR ecaron ENCODING 283 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 8 0 0 BITMAP -00 50 20 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_011C +STARTCHAR Gcircumflex ENCODING 284 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +20 +50 00 -10 -28 -00 -38 -44 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_011D +STARTCHAR gcircumflex ENCODING 285 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 10 0 -2 BITMAP -00 20 50 00 -78 -88 +70 88 88 88 @@ -3313,37 +3281,33 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_011E +STARTCHAR Gbreve ENCODING 286 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +88 +70 00 -44 -38 -00 -38 -44 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_011F +STARTCHAR gbreve ENCODING 287 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 10 0 -2 BITMAP -00 88 70 00 -78 -88 +70 88 88 88 @@ -3351,37 +3315,31 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_0120 +STARTCHAR Gdotaccent ENCODING 288 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +20 00 -00 -10 -00 -38 -44 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_0121 +STARTCHAR gdotaccent ENCODING 289 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 20 00 -78 -88 +70 88 88 88 @@ -3389,37 +3347,33 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_0122 +STARTCHAR Gcommaaccent ENCODING 290 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -38 -44 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 10 60 ENDCHAR -STARTCHAR U_0123 +STARTCHAR gcommaaccent ENCODING 291 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 11 0 -2 BITMAP -00 -10 20 +40 +60 00 -78 -88 +70 88 88 88 @@ -3427,32 +3381,29 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_0124 +STARTCHAR Hcircumflex ENCODING 292 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +20 +50 00 -30 -48 -00 -84 -84 -84 -FC -84 -84 -84 -84 +88 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0125 +STARTCHAR hcircumflex ENCODING 293 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 20 50 00 @@ -3463,53 +3414,41 @@ F0 88 88 88 -88 ENDCHAR -STARTCHAR U_0126 +STARTCHAR Hbar ENCODING 294 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -00 -00 -00 -00 -42 -FF -42 -7E -42 -42 -42 -42 +48 +FC +48 +78 +48 +48 +48 ENDCHAR -STARTCHAR U_0127 +STARTCHAR hbar ENCODING 295 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -E0 40 -78 -44 -44 -44 -44 -44 +F0 +40 +70 +48 +48 +48 ENDCHAR -STARTCHAR U_0128 +STARTCHAR Itilde ENCODING 296 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 1 0 BITMAP -00 50 A0 00 @@ -3519,36 +3458,29 @@ E0 40 40 40 -40 E0 ENDCHAR -STARTCHAR U_0129 +STARTCHAR itilde ENCODING 297 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 0 BITMAP -00 -00 -00 50 A0 00 -40 -40 -40 -40 -40 -40 +60 +20 +20 +20 +70 ENDCHAR -STARTCHAR U_012A +STARTCHAR Imacron ENCODING 298 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 BITMAP -00 -00 E0 00 E0 @@ -3557,110 +3489,92 @@ E0 40 40 40 -40 E0 ENDCHAR -STARTCHAR U_012B +STARTCHAR imacron ENCODING 299 -SWIDTH 1000 0 -DWIDTH 4 0 -BBX 3 10 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 E0 00 +C0 40 40 40 -40 -40 -40 +E0 ENDCHAR -STARTCHAR U_012C +STARTCHAR Ibreve ENCODING 300 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +88 +70 00 -A0 -E0 -00 -E0 -40 -40 -40 -40 -40 -40 -E0 +70 +20 +20 +20 +20 +20 +70 ENDCHAR -STARTCHAR U_012D +STARTCHAR ibreve ENCODING 301 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +88 +70 00 -00 -00 -A0 -E0 -00 -40 -40 -40 -40 -40 -40 +60 +20 +20 +20 +70 ENDCHAR -STARTCHAR U_012E +STARTCHAR Iogonek ENCODING 302 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 BITMAP -00 -00 E0 40 40 40 40 40 -40 E0 40 60 ENDCHAR -STARTCHAR U_012F +STARTCHAR iogonek ENCODING 303 -SWIDTH 500 0 -DWIDTH 2 0 -BBX 2 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 BITMAP +40 00 -00 -80 -00 -80 -80 -80 -80 -80 -80 -80 +C0 +40 +40 +40 +E0 40 +60 ENDCHAR -STARTCHAR U_0130 +STARTCHAR Idotaccent ENCODING 304 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 BITMAP -00 -00 40 00 E0 @@ -3669,170 +3583,136 @@ E0 40 40 40 -40 E0 ENDCHAR -STARTCHAR U_0131 +STARTCHAR dotlessi ENCODING 305 -SWIDTH 500 0 -DWIDTH 2 0 -BBX 1 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 BITMAP -00 -00 -00 -00 -00 -00 -80 -80 -80 -80 -80 -80 +C0 +40 +40 +40 +E0 ENDCHAR -STARTCHAR U_0132 +STARTCHAR IJ ENCODING 306 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -EE -42 -42 -42 -42 -42 -42 -EC +98 +88 +88 +88 +88 +A8 +90 ENDCHAR -STARTCHAR U_0133 +STARTCHAR ij ENCODING 307 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP +88 00 -00 -90 -00 -90 -90 -90 -90 -90 -90 -10 -20 +98 +88 +88 +88 +88 +88 +30 ENDCHAR -STARTCHAR U_0134 +STARTCHAR Jcircumflex ENCODING 308 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -20 -50 -00 -30 -10 10 +28 +00 +38 10 10 10 10 -E0 +90 +60 ENDCHAR -STARTCHAR U_0135 +STARTCHAR jcircumflex ENCODING 309 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP +10 +28 00 -40 -A0 -00 -40 -40 -40 -40 -40 -40 -40 -80 +30 +10 +10 +10 +10 +90 +60 ENDCHAR -STARTCHAR U_0136 +STARTCHAR Kcommaaccent ENCODING 310 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 88 90 A0 C0 -C0 A0 90 88 -20 -C0 +10 +60 ENDCHAR -STARTCHAR U_0137 +STARTCHAR kcommaaccent ENCODING 311 -SWIDTH 557 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 80 80 +88 90 -A0 -C0 -C0 -A0 +E0 90 -20 -C0 +88 +10 +60 ENDCHAR -STARTCHAR U_0138 +STARTCHAR kgreenlandic ENCODING 312 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 4 5 1 0 BITMAP -00 -00 -00 -00 -88 90 A0 C0 -C0 A0 90 -88 ENDCHAR -STARTCHAR U_0139 +STARTCHAR Lacute ENCODING 313 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 +10 20 -40 00 80 80 @@ -3840,37 +3720,31 @@ BITMAP 80 80 80 -80 F8 ENDCHAR -STARTCHAR U_013A +STARTCHAR lacute ENCODING 314 -SWIDTH 557 0 -DWIDTH 2 0 -BBX 2 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 BITMAP -00 +20 40 -80 00 -80 -80 -80 -80 -80 -80 -80 -80 +C0 +40 +40 +40 +40 +40 +E0 ENDCHAR -STARTCHAR U_013B +STARTCHAR Lcommaaccent ENCODING 315 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 -80 80 80 80 @@ -3878,40 +3752,35 @@ BITMAP 80 80 F8 -20 -C0 +10 +60 ENDCHAR -STARTCHAR U_013C +STARTCHAR lcommaaccent ENCODING 316 -SWIDTH 557 0 -DWIDTH 4 0 -BBX 3 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 -2 BITMAP -00 -00 -40 -40 -40 +C0 40 40 40 40 40 +E0 20 C0 ENDCHAR -STARTCHAR U_013D +STARTCHAR Lcaron ENCODING 317 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -00 -00 -00 -88 -90 +80 80 80 80 @@ -3919,334 +3788,271 @@ BITMAP 80 F8 ENDCHAR -STARTCHAR U_013E +STARTCHAR lcaron ENCODING 318 -SWIDTH 557 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 BITMAP -00 -00 -00 -00 -90 A0 -80 -80 -80 -80 -80 -80 +40 +00 +C0 +40 +40 +40 +40 +40 +E0 ENDCHAR -STARTCHAR U_013F +STARTCHAR Ldot ENCODING 319 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -80 -80 80 80 80 90 80 +80 F8 ENDCHAR -STARTCHAR U_0140 +STARTCHAR ldot ENCODING 320 -SWIDTH 557 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 BITMAP -00 -00 -00 -00 -80 -80 -80 -A0 -80 -80 -80 -80 +C0 +40 +40 +50 +40 +40 +E0 ENDCHAR -STARTCHAR U_0141 +STARTCHAR Lslash ENCODING 321 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 40 40 -50 60 -40 C0 40 +40 78 ENDCHAR -STARTCHAR U_0142 +STARTCHAR lslash ENCODING 322 -SWIDTH 557 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 -40 -40 +C0 40 60 C0 40 40 -40 +E0 ENDCHAR -STARTCHAR U_0143 +STARTCHAR Nacute ENCODING 323 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 10 20 00 -C4 -C4 -A4 -A4 -94 -94 -8C -8C +88 +88 +C8 +A8 +98 +88 +88 ENDCHAR -STARTCHAR U_0144 +STARTCHAR nacute ENCODING 324 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 11 0 0 +BBX 5 8 0 0 BITMAP -00 -00 10 20 00 -F0 -88 -88 +B0 +C8 88 88 88 ENDCHAR -STARTCHAR U_0145 +STARTCHAR Ncommaaccent ENCODING 325 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -C4 -C4 -A4 -A4 -94 -94 -8C -8C +88 +88 +C8 +A8 +98 +88 +88 20 -C0 +40 ENDCHAR -STARTCHAR U_0146 +STARTCHAR ncommaaccent ENCODING 326 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -F0 -88 -88 +B0 +C8 88 88 88 20 -C0 +40 ENDCHAR -STARTCHAR U_0147 +STARTCHAR Ncaron ENCODING 327 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -48 -30 -00 -C4 -C4 -A4 -A4 -94 -94 -8C -8C +88 +88 +C8 +A8 +98 +88 +88 ENDCHAR -STARTCHAR U_0148 +STARTCHAR ncaron ENCODING 328 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 11 0 0 +BBX 5 8 0 0 BITMAP -00 -00 50 20 00 -F0 -88 -88 +B0 +C8 88 88 88 ENDCHAR -STARTCHAR U_0149 +STARTCHAR napostrophe ENCODING 329 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 +C0 40 80 -00 -78 -44 -44 -44 -44 -44 +50 +68 +48 +48 +48 ENDCHAR -STARTCHAR U_014A +STARTCHAR Eng ENCODING 330 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -C4 -C4 -A4 -A4 -94 -94 -8C -8C -04 -38 +88 +88 +C8 +A8 +98 +88 +88 +08 +30 ENDCHAR -STARTCHAR U_014B +STARTCHAR eng ENCODING 331 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 B0 C8 88 88 88 -88 08 30 ENDCHAR -STARTCHAR U_014C +STARTCHAR Omacron ENCODING 332 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +70 00 -00 -38 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_014D +STARTCHAR omacron ENCODING 333 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 7 0 0 BITMAP -00 -00 70 00 70 88 88 88 -88 70 ENDCHAR -STARTCHAR U_014E +STARTCHAR Obreve ENCODING 334 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +88 +70 00 -44 -38 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_014F +STARTCHAR obreve ENCODING 335 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 88 70 00 @@ -4254,567 +4060,465 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0150 +STARTCHAR Ohungarumlaut ENCODING 336 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 0 -BITMAP -00 -12 -24 -00 -38 -44 -82 -82 -82 -82 -44 -38 -ENDCHAR -STARTCHAR U_0151 -ENCODING 337 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -00 -00 -28 -50 +48 +90 00 70 88 88 88 88 +88 70 ENDCHAR -STARTCHAR U_0152 -ENCODING 338 -SWIDTH 557 0 -DWIDTH 9 0 -BBX 8 12 0 0 +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -00 -3F 48 +90 +00 +70 88 -8F 88 88 -48 -3F +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 U_0153 +STARTCHAR oe ENCODING 339 -SWIDTH 557 0 -DWIDTH 10 0 -BBX 9 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -7700 -8880 -8F80 -8800 -8800 -7780 +70 +A8 +B0 +A0 +78 ENDCHAR -STARTCHAR U_0154 +STARTCHAR Racute ENCODING 340 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 10 20 00 F0 88 88 -88 F0 +A0 90 88 -84 ENDCHAR -STARTCHAR U_0155 +STARTCHAR racute ENCODING 341 -SWIDTH 557 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 +10 20 -40 00 -E0 -80 -80 +B0 +C8 80 80 80 ENDCHAR -STARTCHAR U_0156 +STARTCHAR Rcommaaccent ENCODING 342 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 F0 88 88 -88 F0 +A0 90 88 -84 -10 -60 +20 +40 ENDCHAR -STARTCHAR U_0157 +STARTCHAR rcommaaccent ENCODING 343 -SWIDTH 557 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -70 -40 -40 -40 -40 -40 +B0 +C8 +80 +80 +80 20 -C0 +40 ENDCHAR -STARTCHAR U_0158 +STARTCHAR Rcaron ENCODING 344 -SWIDTH 557 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 50 20 00 F0 88 88 -88 F0 +A0 90 88 -84 ENDCHAR -STARTCHAR U_0159 +STARTCHAR rcaron ENCODING 345 -SWIDTH 557 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +50 +20 00 -00 -00 -A0 -40 -00 -E0 -80 -80 +B0 +C8 80 80 80 ENDCHAR -STARTCHAR U_015A +STARTCHAR Sacute ENCODING 346 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 10 20 00 -78 -80 +70 +88 80 70 08 -08 -08 -F0 -ENDCHAR -STARTCHAR U_015B -ENCODING 347 -SWIDTH 416 0 -DWIDTH 6 0 -BBX 5 12 0 0 -BITMAP -00 -00 -00 -10 -20 -00 -70 -88 -60 -10 88 70 ENDCHAR -STARTCHAR U_015C -ENCODING 348 -SWIDTH 557 0 +STARTCHAR sacute +ENCODING 347 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 +10 20 -50 00 78 80 -80 70 08 -08 -08 F0 ENDCHAR -STARTCHAR U_015D -ENCODING 349 -SWIDTH 557 0 +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -00 -00 20 50 00 70 88 -60 -10 +80 +70 +08 88 70 ENDCHAR -STARTCHAR U_015E -ENCODING 350 -SWIDTH 557 0 +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 8 0 0 BITMAP -00 +20 +50 00 78 80 -80 70 08 -08 -08 F0 -20 -C0 ENDCHAR -STARTCHAR U_015F -ENCODING 351 -SWIDTH 557 0 +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 -00 -00 70 88 -60 -10 +80 +70 +08 88 70 10 60 ENDCHAR -STARTCHAR U_0160 -ENCODING 352 -SWIDTH 557 0 +STARTCHAR scedilla +ENCODING 351 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 -2 BITMAP -00 -50 -20 -00 78 80 -80 70 08 -08 -08 F0 +10 +60 ENDCHAR -STARTCHAR U_0161 -ENCODING 353 -SWIDTH 557 0 +STARTCHAR Scaron +ENCODING 352 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -00 -00 50 20 00 70 88 -60 -10 +80 +70 +08 88 70 ENDCHAR -STARTCHAR U_0162 -ENCODING 354 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +STARTCHAR scaron +ENCODING 353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +50 +20 00 -00 -FE -10 -10 -10 -10 -10 -10 -10 +78 +80 +70 08 -30 +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 U_0163 +STARTCHAR tcommaaccent ENCODING 355 -SWIDTH 557 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -40 -40 -F0 -40 -40 -40 -40 -30 20 -C0 +20 +F8 +20 +20 +20 +18 +08 +30 ENDCHAR -STARTCHAR U_0164 +STARTCHAR Tcaron ENCODING 356 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -28 -10 -00 -FE -10 -10 -10 -10 -10 -10 -10 +F8 +20 +20 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_0165 +STARTCHAR tcaron ENCODING 357 -SWIDTH 557 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -00 -00 -08 50 -40 -F0 -40 -40 -40 -40 -30 +20 +00 +20 +20 +F8 +20 +20 +20 +18 ENDCHAR -STARTCHAR U_0166 +STARTCHAR Tbar ENCODING 358 -SWIDTH 557 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FE -10 -10 -7C -10 -10 -10 -10 +F8 +20 +F8 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_0167 +STARTCHAR tbar ENCODING 359 -SWIDTH 557 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -40 -40 -F0 -40 -E0 -40 -40 -30 +20 +F8 +20 +F8 +20 +20 +18 ENDCHAR -STARTCHAR U_0168 +STARTCHAR Utilde ENCODING 360 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +68 +B0 00 -64 -98 -00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_0169 +STARTCHAR utilde ENCODING 361 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 68 -90 +B0 00 88 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_016A +STARTCHAR Umacron ENCODING 362 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +70 00 -00 -78 -00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_016B +STARTCHAR umacron ENCODING 363 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 7 0 0 BITMAP -00 -00 70 00 88 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_016C +STARTCHAR Ubreve ENCODING 364 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +88 +70 00 -84 -78 -00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_016D +STARTCHAR ubreve ENCODING 365 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 88 70 00 @@ -4822,37 +4526,31 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_016E +STARTCHAR Uring ENCODING 366 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -30 -48 -48 -30 -84 -84 -84 -84 -84 -84 -84 -78 +20 +50 +20 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_016F +STARTCHAR uring ENCODING 367 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 20 50 20 @@ -4860,37 +4558,31 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_0170 +STARTCHAR Uhungarumlaut ENCODING 368 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -24 48 +90 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_0171 +STARTCHAR uhungarumlaut ENCODING 369 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 48 90 00 @@ -4898,344 +4590,277 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_0172 +STARTCHAR Uogonek ENCODING 370 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -84 -84 -84 -84 -84 -84 -84 -78 -10 -0C +88 +88 +88 +88 +88 +88 +70 +20 +30 ENDCHAR -STARTCHAR U_0173 +STARTCHAR uogonek ENCODING 371 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -88 88 88 88 88 -78 -10 -18 +70 +20 +30 ENDCHAR -STARTCHAR U_0174 +STARTCHAR Wcircumflex ENCODING 372 -SWIDTH 583 0 -DWIDTH 10 0 -BBX 9 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -0800 -1400 -2200 -0000 -8880 -8880 -8880 -5500 -5500 -5500 -2200 -2200 +20 +50 +00 +88 +88 +88 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_0175 +STARTCHAR wcircumflex ENCODING 373 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +20 +50 00 -00 -10 -28 -44 -00 -92 -92 -AA -AA -44 -44 +88 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_0176 +STARTCHAR Ycircumflex ENCODING 374 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 20 50 00 88 88 50 -50 20 20 20 20 ENDCHAR -STARTCHAR U_0177 +STARTCHAR ycircumflex ENCODING 375 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 10 0 -2 BITMAP -00 20 50 00 88 88 -50 +88 50 20 -20 -40 40 +80 ENDCHAR -STARTCHAR U_0178 +STARTCHAR Ydieresis ENCODING 376 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 50 00 88 88 50 -50 20 20 20 20 ENDCHAR -STARTCHAR U_0179 +STARTCHAR Zacute ENCODING 377 -SWIDTH 1000 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -08 10 +20 00 -FE -04 +F8 08 10 20 40 80 -FE +F8 ENDCHAR -STARTCHAR U_017A +STARTCHAR zacute ENCODING 378 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 10 20 00 F8 -08 10 20 40 F8 ENDCHAR -STARTCHAR U_017B +STARTCHAR Zdotaccent ENCODING 379 -SWIDTH 1000 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +20 00 -00 -10 -00 -FE -04 +F8 08 10 20 40 80 -FE +F8 ENDCHAR -STARTCHAR U_017C +STARTCHAR zdotaccent ENCODING 380 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 20 00 F8 -08 10 20 40 F8 ENDCHAR -STARTCHAR U_017D +STARTCHAR Zcaron ENCODING 381 -SWIDTH 1000 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -24 -18 -00 -FE -04 +F8 08 10 20 40 80 -FE +F8 ENDCHAR -STARTCHAR U_017E +STARTCHAR zcaron ENCODING 382 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 50 20 00 F8 -08 10 20 40 F8 ENDCHAR -STARTCHAR U_017F +STARTCHAR longs ENCODING 383 -SWIDTH 416 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 BITMAP -00 -00 -00 -60 -80 -80 -80 -80 -80 -80 -80 -80 +30 +40 +40 +C0 +40 +40 +40 ENDCHAR -STARTCHAR U_0180 +STARTCHAR uni0180 ENCODING 384 -SWIDTH 416 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -E0 40 -78 -44 -44 -44 -44 -78 +F0 +40 +70 +48 +48 +70 ENDCHAR -STARTCHAR U_0181 +STARTCHAR uni0181 ENCODING 385 -SWIDTH 416 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -7E -A1 -21 -3E -21 -21 -21 -3E +70 +A8 +28 +30 +28 +28 +30 ENDCHAR -STARTCHAR U_0182 +STARTCHAR uni0182 ENCODING 386 -SWIDTH 416 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FC -84 -80 -F8 -84 -84 -84 -F8 +F0 +40 +40 +70 +48 +48 +F0 ENDCHAR -STARTCHAR U_0183 +STARTCHAR uni0183 ENCODING 387 -SWIDTH 416 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F8 -88 +F0 80 F0 88 @@ -5243,170 +4868,125 @@ F0 88 F0 ENDCHAR -STARTCHAR U_0184 +STARTCHAR uni0184 ENCODING 388 -SWIDTH 416 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 40 C0 -40 -7C -42 -42 -42 -FC +C0 +70 +48 +48 +70 ENDCHAR -STARTCHAR U_0185 +STARTCHAR uni0185 ENCODING 389 -SWIDTH 416 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 40 C0 -78 -44 -44 -44 -44 -F8 +70 +48 +48 +48 +70 ENDCHAR -STARTCHAR U_0186 +STARTCHAR uni0186 ENCODING 390 -SWIDTH 416 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F0 +70 +88 08 -04 -04 -04 -04 08 -F0 +08 +88 +70 ENDCHAR -STARTCHAR U_0187 +STARTCHAR uni0187 ENCODING 391 -SWIDTH 416 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -00 -00 -02 -05 -3C -40 -80 +0C +70 +88 80 80 80 -40 -3C +88 +70 ENDCHAR -STARTCHAR U_0188 +STARTCHAR uni0188 ENCODING 392 -SWIDTH 416 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -00 -00 -00 -00 -08 -14 -70 -80 -80 -80 +18 +60 +90 80 -70 +90 +60 ENDCHAR -STARTCHAR U_0189 +STARTCHAR uni0189 ENCODING 393 -SWIDTH 583 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -7C -42 -41 -F1 -41 -41 -42 -7C +F0 +48 +48 +E8 +48 +48 +F0 ENDCHAR -STARTCHAR U_018A +STARTCHAR uni018A ENCODING 394 -SWIDTH 583 0 -DWIDTH 10 0 -BBX 9 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -7E00 -A100 -A080 -2080 -2080 -2080 -2100 -3E00 +70 +A8 +28 +28 +28 +28 +30 ENDCHAR -STARTCHAR U_018B +STARTCHAR uni018B ENCODING 395 -SWIDTH 583 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FC -84 -04 -7C -84 -84 -84 -7C +78 +08 +08 +78 +88 +88 +78 ENDCHAR -STARTCHAR U_018C +STARTCHAR uni018C ENCODING 396 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F8 -88 +78 08 78 88 @@ -5414,227 +4994,170 @@ F8 88 78 ENDCHAR -STARTCHAR U_018D +STARTCHAR uni018D ENCODING 397 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 70 88 88 -88 -88 70 08 +88 70 ENDCHAR -STARTCHAR U_018E +STARTCHAR uni018E ENCODING 398 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 F8 08 08 -F8 -08 +78 08 08 F8 ENDCHAR -STARTCHAR U_018F +STARTCHAR uni018F ENCODING 399 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -78 -04 -02 -FE -82 -82 -44 -38 +70 +88 +08 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_0190 +STARTCHAR uni0190 ENCODING 400 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 70 88 80 -60 -80 +70 80 88 70 ENDCHAR -STARTCHAR U_0191 +STARTCHAR uni0191 ENCODING 401 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -00 -00 -3E -20 -20 -3C -20 -20 -20 -20 -20 -C0 +78 +40 +40 +70 +40 +40 +40 +80 ENDCHAR -STARTCHAR U_0192 +STARTCHAR florin ENCODING 402 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 8 0 -1 BITMAP -00 -00 -18 +10 +28 20 70 20 20 -20 -20 -20 -20 -C0 +A0 +40 ENDCHAR -STARTCHAR U_0193 +STARTCHAR uni0193 ENCODING 403 -SWIDTH 583 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -00 -00 -00 -02 -3D -40 +0C +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_0194 +STARTCHAR uni0194 ENCODING 404 -SWIDTH 583 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -84 -84 -48 -30 -30 -48 -48 -30 +88 +88 +50 +50 +20 +50 +20 ENDCHAR -STARTCHAR U_0195 +STARTCHAR uni0195 ENCODING 405 -SWIDTH 583 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 80 80 -F0 -88 -89 -89 -89 -86 +C8 +A8 +A8 +A8 +90 ENDCHAR -STARTCHAR U_0196 +STARTCHAR uni0196 ENCODING 406 -SWIDTH 583 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 -E0 -40 +C0 40 40 40 40 40 -60 +20 ENDCHAR -STARTCHAR U_0197 +STARTCHAR uni0197 ENCODING 407 -SWIDTH 583 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 E0 40 40 E0 40 40 -40 E0 ENDCHAR -STARTCHAR U_0198 +STARTCHAR uni0198 ENCODING 408 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -8E -92 +98 A0 C0 C0 @@ -5642,262 +5165,197 @@ A0 90 88 ENDCHAR -STARTCHAR U_0199 +STARTCHAR uni0199 ENCODING 409 -SWIDTH 583 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -60 -90 -80 +40 +A0 80 +88 90 -A0 -C0 -A0 +E0 90 +88 ENDCHAR -STARTCHAR U_019A +STARTCHAR uni019A ENCODING 410 -SWIDTH 583 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 C0 40 40 E0 40 40 -40 E0 ENDCHAR -STARTCHAR U_019B +STARTCHAR uni019B ENCODING 411 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -80 -60 +A0 +40 +C0 40 A0 -20 -50 -50 -88 -88 +A0 +A0 ENDCHAR -STARTCHAR U_019C +STARTCHAR uni019C ENCODING 412 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -92 -92 -92 -92 -92 -92 -92 -6E +A8 +A8 +A8 +A8 +A8 +A8 +58 ENDCHAR -STARTCHAR U_019D +STARTCHAR uni019D ENCODING 413 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -00 -00 -62 -62 -52 -52 -4A -4A -46 -46 -40 -C0 +48 +48 +48 +68 +58 +48 +48 +80 ENDCHAR -STARTCHAR U_019E +STARTCHAR uni019E ENCODING 414 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -F0 -88 -88 +B0 +C8 88 88 88 08 08 ENDCHAR -STARTCHAR U_019F +STARTCHAR uni019F ENCODING 415 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -38 -44 -82 -FE -82 -82 -44 -38 +70 +88 +88 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_01A0 +STARTCHAR Ohorn ENCODING 416 -SWIDTH 583 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -00 -39 -45 -82 -82 -82 -82 -44 -38 +08 +68 +90 +90 +90 +90 +90 +60 ENDCHAR -STARTCHAR U_01A1 +STARTCHAR ohorn ENCODING 417 -SWIDTH 583 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -00 -04 -74 -88 +08 +08 +70 88 88 88 70 ENDCHAR -STARTCHAR U_01A2 +STARTCHAR uni01A2 ENCODING 418 -SWIDTH 583 0 -DWIDTH 10 0 -BBX 9 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -3B00 -4480 -8280 -8280 -8280 -8280 -4480 -3880 +40 +B0 +A8 +A8 +A8 +A8 +48 ENDCHAR -STARTCHAR U_01A3 +STARTCHAR uni01A3 ENCODING 419 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -00 -00 -00 -00 -74 -8A -8A -8A -8A -72 -02 -02 +50 +A8 +A8 +A8 +48 ENDCHAR -STARTCHAR U_01A4 +STARTCHAR uni01A4 ENCODING 420 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FC -A2 -22 -22 -3C -20 -20 -20 +F0 +48 +48 +70 +40 +40 +40 ENDCHAR -STARTCHAR U_01A5 +STARTCHAR uni01A5 ENCODING 421 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 -60 +40 80 F0 88 88 88 -88 F0 80 80 ENDCHAR -STARTCHAR U_01A6 +STARTCHAR uni01A6 ENCODING 422 -SWIDTH 583 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -00 -00 -80 80 F0 88 @@ -5905,495 +5363,364 @@ F0 F0 A0 90 -10 -0C +08 ENDCHAR -STARTCHAR U_01A7 +STARTCHAR uni01A7 ENCODING 423 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F0 -08 +70 +88 08 70 80 -80 -80 -78 +88 +70 ENDCHAR -STARTCHAR U_01A8 +STARTCHAR uni01A8 ENCODING 424 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 5 0 0 BITMAP -00 -00 -00 -00 -00 -00 -70 -88 -30 -40 -88 +F0 +08 70 +80 +78 ENDCHAR -STARTCHAR U_01A9 +STARTCHAR uni01A9 ENCODING 425 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 F8 -88 40 20 +10 20 40 -88 F8 ENDCHAR -STARTCHAR U_01AA +STARTCHAR uni01AA ENCODING 426 -SWIDTH 583 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 8 0 -1 BITMAP -00 -00 -68 -90 -90 +40 +A0 70 +20 +20 +20 +28 10 -10 -10 -10 -10 -18 ENDCHAR -STARTCHAR U_01AB +STARTCHAR uni01AB ENCODING 427 -SWIDTH 583 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -40 -40 -F0 -40 -40 -40 -40 +20 +20 +F8 +20 +20 +20 +18 +08 30 -10 -60 ENDCHAR -STARTCHAR U_01AC +STARTCHAR uni01AC ENCODING 428 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -7E -90 -10 -10 -10 -10 -10 -10 +78 +A0 +A0 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_01AD +STARTCHAR uni01AD ENCODING 429 -SWIDTH 583 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -30 -40 -40 -F0 -40 -40 -40 -40 -30 +18 +20 +20 +F8 +20 +20 +20 +18 ENDCHAR -STARTCHAR U_01AE +STARTCHAR uni01AE ENCODING 430 -SWIDTH 583 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -00 -00 -FE -10 -10 -10 -10 -10 -10 -10 -10 -0E +F8 +20 +20 +20 +20 +20 +20 +18 ENDCHAR -STARTCHAR U_01AF +STARTCHAR Uhorn ENCODING 431 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -01 -01 -86 -84 -84 -84 -84 -84 -84 -78 +08 +98 +90 +90 +90 +90 +90 +60 ENDCHAR -STARTCHAR U_01B0 +STARTCHAR uhorn ENCODING 432 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -00 -00 -00 -02 -02 -8C +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 -78 -00 -ENDCHAR -STARTCHAR U_01B1 -ENCODING 433 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 -BITMAP -00 -00 -00 -00 -EE -28 -44 -82 -82 -82 -44 -38 +88 +70 ENDCHAR -STARTCHAR U_01B2 +STARTCHAR uni01B2 ENCODING 434 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 +90 90 88 -84 -84 -84 -84 -84 -78 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01B3 +STARTCHAR uni01B3 ENCODING 435 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 -BITMAP -00 -00 -00 -00 -42 -A2 -14 -14 -08 -08 -08 -08 -ENDCHAR -STARTCHAR U_01B4 -ENCODING 436 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -86 88 -50 +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 -40 +80 ENDCHAR -STARTCHAR U_01B5 +STARTCHAR uni01B5 ENCODING 437 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FC -04 +F8 08 -7C -20 +10 +F8 40 80 -FC +F8 ENDCHAR -STARTCHAR U_01B6 +STARTCHAR uni01B6 ENCODING 438 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 5 0 0 BITMAP -00 -00 -00 -00 -00 -00 F8 -08 10 F8 40 F8 ENDCHAR -STARTCHAR U_01B7 +STARTCHAR uni01B7 ENCODING 439 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 F8 +10 +20 +70 08 -30 -08 -08 -08 -08 -F0 +88 +70 ENDCHAR -STARTCHAR U_01B8 +STARTCHAR uni01B8 ENCODING 440 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 F8 +40 +20 +70 80 -60 -80 -80 -80 -80 -78 +88 +70 ENDCHAR -STARTCHAR U_01B9 +STARTCHAR uni01B9 ENCODING 441 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 F8 +40 +20 +70 80 -60 -80 -80 -80 -80 -78 +88 +70 ENDCHAR -STARTCHAR U_01BA +STARTCHAR uni01BA ENCODING 442 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 11 12 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -0000 -F000 -1000 -6000 -1000 -1000 -2000 -4000 -3000 +F8 +10 +30 +08 +70 +88 +70 ENDCHAR -STARTCHAR U_01BB +STARTCHAR uni01BB ENCODING 443 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 70 88 -08 -08 10 -F8 +78 +20 40 F8 ENDCHAR -STARTCHAR U_01BC +STARTCHAR uni01BC ENCODING 444 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -FC -44 -40 -78 -04 -04 -44 -38 +F8 +88 +E0 +10 +08 +08 +F0 ENDCHAR -STARTCHAR U_01BD +STARTCHAR uni01BD ENCODING 445 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -00 -00 -00 -00 -FC -44 -40 -78 -04 -04 -44 -38 +F0 +80 +E0 +10 +E0 ENDCHAR -STARTCHAR U_01BE +STARTCHAR uni01BE ENCODING 446 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -40 -E0 -40 -60 -10 -10 -90 -60 +20 +70 +20 +30 +08 +88 +70 ENDCHAR -STARTCHAR U_01BF +STARTCHAR uni01BF ENCODING 447 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 B0 C8 -88 90 A0 C0 80 80 ENDCHAR -STARTCHAR U_01C0 +STARTCHAR uni01C0 ENCODING 448 -SWIDTH 500 0 -DWIDTH 2 0 -BBX 1 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 7 2 0 BITMAP -00 -00 -00 -00 -80 80 80 80 @@ -6402,17 +5729,12 @@ BITMAP 80 80 ENDCHAR -STARTCHAR U_01C1 +STARTCHAR uni01C1 ENCODING 449 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 -A0 A0 A0 A0 @@ -6421,241 +5743,199 @@ A0 A0 A0 ENDCHAR -STARTCHAR U_01C2 +STARTCHAR uni01C2 ENCODING 450 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 3 7 1 0 BITMAP -00 -00 -00 -00 -20 -20 -F8 -20 -20 -F8 -20 -20 +40 +40 +E0 +40 +E0 +40 +40 ENDCHAR -STARTCHAR U_01C3 +STARTCHAR uni01C3 ENCODING 451 -SWIDTH 500 0 -DWIDTH 2 0 -BBX 1 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP +E0 +E0 +E0 +40 +40 00 -00 -00 -00 -80 -80 -80 -80 -80 -80 -00 -80 +40 ENDCHAR -STARTCHAR U_01C4 +STARTCHAR uni01C4 ENCODING 452 -SWIDTH 500 0 -DWIDTH 11 0 -BBX 10 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -0000 -0240 -0180 -0000 -F3C0 -8840 -8840 -8880 -8900 -8A00 -8A00 -F3C0 +28 +10 +00 +D8 +A8 +A8 +B0 +B0 +B0 +D8 ENDCHAR -STARTCHAR U_01C5 +STARTCHAR uni01C5 ENCODING 453 -SWIDTH 500 0 -DWIDTH 11 0 -BBX 10 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0000 -0000 -0000 -0240 -F180 -8800 -8BC0 -8840 -8880 -8900 -8A00 -F3C0 +28 +10 +C0 +A0 +B8 +A8 +B0 +B0 +D8 ENDCHAR -STARTCHAR U_01C6 +STARTCHAR uni01C6 ENCODING 454 -SWIDTH 500 0 -DWIDTH 11 0 -BBX 10 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -0000 -0000 -0000 -0240 -0980 -0800 -7BC0 -8840 -8880 -8900 -8A00 -7BC0 +28 +10 +00 +20 +20 +78 +A8 +B0 +B0 +78 ENDCHAR -STARTCHAR U_01C7 +STARTCHAR uni01C7 ENCODING 455 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -8C -84 -84 -84 -84 -84 -84 -F4 -04 -18 +88 +88 +88 +88 +88 +A8 +D0 ENDCHAR -STARTCHAR U_01C8 +STARTCHAR uni01C8 ENCODING 456 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -84 +88 80 -84 -84 -84 -84 -84 -F4 -04 +98 +88 +88 +88 +E8 08 +30 ENDCHAR -STARTCHAR U_01C9 +STARTCHAR uni01C9 ENCODING 457 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -A0 -80 -A0 -A0 -A0 -A0 -A0 -A0 -20 +C8 40 +58 +48 +48 +48 +E8 +08 +30 ENDCHAR -STARTCHAR U_01CA +STARTCHAR uni01CA ENCODING 458 -SWIDTH 500 0 -DWIDTH 10 0 -BBX 9 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -C580 -C480 -A480 -A480 -9480 -9480 -8C80 -8C80 -0080 -0300 +E8 +A8 +A8 +A8 +A8 +88 +B0 ENDCHAR -STARTCHAR U_01CB +STARTCHAR uni01CB ENCODING 459 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -C5 -C4 -A5 -A5 -95 -95 -8D -8D -01 -02 +E8 +A0 +A8 +A8 +A8 +A8 +88 +28 +10 ENDCHAR -STARTCHAR U_01CC +STARTCHAR uni01CC ENCODING 460 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP +08 00 -00 -02 -00 -F2 -8A -8A -8A -8A -8A -02 -04 +58 +A8 +A8 +A8 +A8 +08 +30 ENDCHAR -STARTCHAR U_01CD +STARTCHAR uni01CD ENCODING 461 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -28 -10 -00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_01CE +STARTCHAR uni01CE ENCODING 462 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 8 0 0 BITMAP -00 50 20 00 @@ -6663,16 +5943,14 @@ BITMAP 08 78 88 -88 78 ENDCHAR -STARTCHAR U_01CF +STARTCHAR uni01CF ENCODING 463 -SWIDTH 500 0 -DWIDTH 4 0 -BBX 3 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 10 1 0 BITMAP -00 A0 40 00 @@ -6682,52 +5960,46 @@ E0 40 40 40 -40 E0 ENDCHAR -STARTCHAR U_01D0 +STARTCHAR uni01D0 ENCODING 464 -SWIDTH 1000 0 -DWIDTH 4 0 -BBX 3 10 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 BITMAP -00 A0 40 00 +C0 40 40 40 -40 -40 -40 +E0 ENDCHAR -STARTCHAR U_01D1 +STARTCHAR uni01D1 ENCODING 465 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -28 -10 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01D2 +STARTCHAR uni01D2 ENCODING 466 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 8 0 0 BITMAP -00 50 20 00 @@ -6735,35 +6007,31 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_01D3 +STARTCHAR uni01D3 ENCODING 467 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -48 -30 -00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01D4 +STARTCHAR uni01D4 ENCODING 468 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 8 0 0 BITMAP -00 50 20 00 @@ -6771,33 +6039,30 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_01D5 +STARTCHAR uni01D5 ENCODING 469 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -78 +70 00 -48 +50 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01D6 +STARTCHAR uni01D6 ENCODING 470 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 0 +BBX 5 9 0 0 BITMAP 70 00 @@ -6807,35 +6072,31 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_01D7 +STARTCHAR uni01D7 ENCODING 471 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -08 10 -48 +20 +50 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01D8 +STARTCHAR uni01D8 ENCODING 472 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 10 20 00 @@ -6845,35 +6106,31 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_01D9 +STARTCHAR uni01D9 ENCODING 473 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -48 -30 -48 +50 +20 +50 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01DA +STARTCHAR uni01DA ENCODING 474 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 50 20 00 @@ -6883,35 +6140,31 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_01DB +STARTCHAR uni01DB ENCODING 475 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +40 20 -10 -48 +50 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_01DC +STARTCHAR uni01DC ENCODING 476 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 40 20 00 @@ -6921,55 +6174,43 @@ BITMAP 88 88 88 -88 -78 +70 ENDCHAR -STARTCHAR U_01DD +STARTCHAR uni01DD ENCODING 477 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 5 0 0 BITMAP -00 -00 -00 -00 -00 -00 -F0 -08 +70 08 -F8 +78 88 70 ENDCHAR -STARTCHAR U_01DE +STARTCHAR uni01DE ENCODING 478 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -38 +70 00 -28 +50 00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 ENDCHAR -STARTCHAR U_01DF +STARTCHAR uni01DF ENCODING 479 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 50 @@ -6978,154 +6219,126 @@ BITMAP 08 78 88 -88 78 ENDCHAR -STARTCHAR U_01E0 +STARTCHAR uni01E0 ENCODING 480 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -38 +70 00 -10 +20 00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 ENDCHAR -STARTCHAR U_01E1 +STARTCHAR uni01E1 ENCODING 481 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 -10 +20 00 70 08 78 88 -88 78 ENDCHAR -STARTCHAR U_01E2 +STARTCHAR uni01E2 ENCODING 482 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +78 00 -00 -1E -00 -1F -28 -28 -4F 78 -88 -88 -8F +A0 +A0 +F0 +A0 +A0 +B8 ENDCHAR -STARTCHAR U_01E3 +STARTCHAR uni01E3 ENCODING 483 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP +70 00 -00 -00 -00 +70 +28 +70 +A0 78 -00 -EC -12 -7C -90 -90 -6E ENDCHAR -STARTCHAR U_01E4 +STARTCHAR uni01E4 ENCODING 484 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -3C -40 +70 +88 80 -8C -84 -9E -44 -3C +98 +98 +88 +70 ENDCHAR -STARTCHAR U_01E5 +STARTCHAR uni01E5 ENCODING 485 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -78 +70 88 -BC 88 88 78 -08 +F8 70 ENDCHAR -STARTCHAR U_01E6 +STARTCHAR Gcaron ENCODING 486 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -28 -10 -00 -3C -40 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_01E7 +STARTCHAR gcaron ENCODING 487 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -00 50 20 00 -78 -88 +70 88 88 88 @@ -7133,13 +6346,12 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_01E8 +STARTCHAR uni01E8 ENCODING 488 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 50 20 00 @@ -7147,251 +6359,210 @@ BITMAP 90 A0 C0 -C0 A0 90 88 ENDCHAR -STARTCHAR U_01E9 +STARTCHAR uni01E9 ENCODING 489 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -00 50 20 -00 -80 80 80 +88 90 -A0 -C0 -A0 +E0 90 +88 ENDCHAR -STARTCHAR U_01EA +STARTCHAR uni01EA ENCODING 490 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -38 -44 -82 -82 -82 -82 -44 -38 -10 -0C +70 +88 +88 +88 +88 +88 +70 +40 +30 ENDCHAR -STARTCHAR U_01EB +STARTCHAR uni01EB ENCODING 491 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 70 88 88 88 -88 70 -20 -18 +40 +30 ENDCHAR -STARTCHAR U_01EC +STARTCHAR uni01EC ENCODING 492 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -7C +70 00 -38 -44 -82 -82 -82 -82 -44 -38 -10 -0C +70 +88 +88 +88 +88 +88 +70 +40 +30 ENDCHAR -STARTCHAR U_01ED +STARTCHAR uni01ED ENCODING 493 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 70 00 70 88 88 88 -88 70 -20 -18 +40 +30 ENDCHAR -STARTCHAR U_01EE +STARTCHAR uni01EE ENCODING 494 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 50 20 00 F8 +10 +20 +70 08 -30 -08 -08 -08 -08 -F0 +88 +70 ENDCHAR -STARTCHAR U_01EF +STARTCHAR uni01EF ENCODING 495 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 10 0 -2 BITMAP -00 50 20 00 F8 +10 +20 +70 08 -30 -08 -08 -08 -08 -F0 +88 +70 ENDCHAR -STARTCHAR U_01F0 +STARTCHAR uni01F0 ENCODING 496 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP +28 +10 00 -50 -20 -00 +30 +10 +10 +10 +10 +90 60 -20 -20 -20 -20 -20 -20 -C0 ENDCHAR -STARTCHAR U_01F1 +STARTCHAR uni01F1 ENCODING 497 -SWIDTH 500 0 -DWIDTH 13 0 -BBX 12 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -0000 -0000 -F1F0 -8810 -8410 -8420 -8440 -8480 -8900 -F1F0 +CC +A4 +A4 +A8 +A8 +A8 +CC ENDCHAR -STARTCHAR U_01F2 +STARTCHAR uni01F2 ENCODING 498 -SWIDTH 500 0 -DWIDTH 13 0 -BBX 12 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -0000 -0000 -F000 -8800 -85F0 -8410 -8420 -8440 -8880 -F1F0 +C0 +A0 +AC +A4 +A8 +A8 +CC ENDCHAR -STARTCHAR U_01F3 +STARTCHAR uni01F3 ENCODING 499 -SWIDTH 500 0 -DWIDTH 12 0 -BBX 11 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -0000 -0000 -0800 -0800 -7BE0 -8820 -8840 -8880 -8900 -7BE0 +20 +20 +6C +A4 +A4 +A8 +6C ENDCHAR -STARTCHAR U_01F4 +STARTCHAR uni01F4 ENCODING 500 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -08 10 +20 00 -3C -40 +70 +88 80 80 -8C -84 -44 -3C +98 +88 +70 ENDCHAR -STARTCHAR U_01F5 +STARTCHAR uni01F5 ENCODING 501 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 10 0 -2 BITMAP -00 10 20 00 -78 -88 +70 88 88 88 @@ -7399,108 +6570,89 @@ BITMAP 08 70 ENDCHAR -STARTCHAR U_01F6 +STARTCHAR uni01F6 ENCODING 502 -SWIDTH 500 0 -DWIDTH 10 0 -BBX 9 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -8400 -8400 -8400 -FC00 -8480 -8480 -8480 -8300 +A0 +A0 +E8 +A8 +A8 +A8 +90 ENDCHAR -STARTCHAR U_01F7 +STARTCHAR uni01F7 ENCODING 503 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F0 -88 +B0 +C8 88 90 A0 C0 80 -80 ENDCHAR -STARTCHAR U_01F8 +STARTCHAR uni01F8 ENCODING 504 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 +40 20 -10 00 -C4 -C4 -A4 -A4 -94 -94 -8C -8C +88 +88 +C8 +A8 +98 +88 +88 ENDCHAR -STARTCHAR U_01F9 +STARTCHAR uni01F9 ENCODING 505 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 40 20 00 -F0 -88 -88 +B0 +C8 88 88 88 ENDCHAR -STARTCHAR U_01FA +STARTCHAR Aringacute ENCODING 506 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -08 -10 -28 -28 10 -10 -28 -28 -44 -7C -82 -82 +20 +20 +50 +20 +70 +88 +F8 +88 +88 ENDCHAR -STARTCHAR U_01FB +STARTCHAR aringacute ENCODING 507 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 10 20 20 @@ -7510,74 +6662,46 @@ BITMAP 08 78 88 -88 78 ENDCHAR -STARTCHAR U_01FC +STARTCHAR AEacute ENCODING 508 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +10 +20 00 -04 -08 -00 -1F -28 -28 -4F 78 -88 -88 -8F +A0 +A0 +F0 +A0 +A0 +B8 ENDCHAR -STARTCHAR U_01FD +STARTCHAR aeacute ENCODING 509 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -08 10 +20 00 -EC -12 -7C -90 -90 -6E +70 +28 +70 +A0 +78 ENDCHAR -STARTCHAR U_01FE +STARTCHAR Oslashacute ENCODING 510 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 -BITMAP -00 -08 -10 -00 -34 -48 -94 -94 -A4 -A4 -48 -B0 -ENDCHAR -STARTCHAR U_01FF -ENCODING 511 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 11 0 -1 BITMAP -00 -00 10 20 08 @@ -7585,76 +6709,81 @@ BITMAP 98 A8 A8 +A8 C8 70 80 ENDCHAR -STARTCHAR U_0200 -ENCODING 512 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +10 +20 00 -50 -28 +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 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0201 +STARTCHAR uni0201 ENCODING 513 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -A0 -50 +90 +48 00 70 08 78 88 -88 78 ENDCHAR -STARTCHAR U_0202 +STARTCHAR uni0202 ENCODING 514 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +70 +88 00 -38 -44 -00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0203 +STARTCHAR uni0203 ENCODING 515 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 @@ -7662,94 +6791,80 @@ BITMAP 08 78 88 -88 78 ENDCHAR -STARTCHAR U_0204 +STARTCHAR uni0204 ENCODING 516 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -A0 -50 +90 +48 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_0205 +STARTCHAR uni0205 ENCODING 517 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -A0 -50 +90 +48 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_0206 +STARTCHAR uni0206 ENCODING 518 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 -70 -88 +90 +48 00 F8 80 80 -F8 -80 +F0 80 80 F8 ENDCHAR -STARTCHAR U_0207 +STARTCHAR uni0207 ENCODING 519 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 70 88 -F8 -80 +F0 80 -78 +70 ENDCHAR -STARTCHAR U_0208 +STARTCHAR uni0208 ENCODING 520 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -A0 -50 +90 +48 00 70 20 @@ -7757,35 +6872,29 @@ A0 20 20 20 -20 70 ENDCHAR -STARTCHAR U_0209 +STARTCHAR uni0209 ENCODING 521 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +90 +48 00 -00 -00 -A0 -50 -00 -20 -20 -20 +60 20 20 20 +70 ENDCHAR -STARTCHAR U_020A +STARTCHAR uni020A ENCODING 522 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 70 88 00 @@ -7795,94 +6904,78 @@ BITMAP 20 20 20 -20 70 ENDCHAR -STARTCHAR U_020B +STARTCHAR uni020B ENCODING 523 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 +60 20 20 20 -20 -20 -20 +70 ENDCHAR -STARTCHAR U_020C +STARTCHAR uni020C ENCODING 524 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +90 +48 00 -50 -28 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_020D +STARTCHAR uni020D ENCODING 525 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -A0 -50 +90 +48 00 70 88 88 88 -88 70 ENDCHAR -STARTCHAR U_020E +STARTCHAR uni020E ENCODING 526 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +70 +88 00 -38 -44 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_020F +STARTCHAR uni020F ENCODING 527 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 @@ -7890,151 +6983,127 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0210 +STARTCHAR uni0210 ENCODING 528 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 -A0 -50 +90 +48 00 F0 88 88 -88 F0 +A0 90 88 -84 ENDCHAR -STARTCHAR U_0211 +STARTCHAR uni0211 ENCODING 529 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +90 +48 00 -00 -00 -A0 -50 -00 -70 -40 -40 -40 -40 -40 +B0 +C8 +80 +80 +80 ENDCHAR -STARTCHAR U_0212 +STARTCHAR uni0212 ENCODING 530 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 70 88 00 F0 88 88 -88 F0 +A0 90 88 -84 ENDCHAR -STARTCHAR U_0213 +STARTCHAR uni0213 ENCODING 531 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 -70 -40 -40 -40 -40 -40 +B0 +C8 +80 +80 +80 ENDCHAR -STARTCHAR U_0214 +STARTCHAR uni0214 ENCODING 532 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -00 90 48 00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_0215 +STARTCHAR uni0215 ENCODING 533 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 -A0 -50 +90 +48 00 88 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0216 +STARTCHAR uni0216 ENCODING 534 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +70 +88 00 -78 -84 -00 -84 -84 -84 -84 -84 -84 -84 -78 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_0217 +STARTCHAR uni0217 ENCODING 535 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 8 0 0 BITMAP -00 -00 -00 70 88 00 @@ -8042,378 +7111,301 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0218 +STARTCHAR Scommaaccent ENCODING 536 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -3 +BBX 5 9 0 -2 BITMAP -00 -78 -80 +70 +88 80 70 08 -08 -08 -F0 -00 +88 +70 +10 20 -40 ENDCHAR -STARTCHAR U_0219 +STARTCHAR scommaaccent ENCODING 537 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -3 +BBX 5 7 0 -2 BITMAP -00 -00 -00 +78 +80 70 -88 -60 +08 +F0 10 -88 -70 -00 20 -40 ENDCHAR -STARTCHAR U_021A +STARTCHAR Tcommaaccent ENCODING 538 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 -3 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -FE -10 -10 -10 -10 -10 -10 -10 -00 +F8 +20 +20 +20 +20 +20 +20 10 20 ENDCHAR -STARTCHAR U_021B +STARTCHAR tcommaaccent ENCODING 539 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 -3 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -40 -40 -F0 -40 -40 -40 -40 -30 -00 20 -40 +20 +F8 +20 +20 +20 +18 +10 +20 ENDCHAR -STARTCHAR U_021C +STARTCHAR uni021C ENCODING 540 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -F0 -08 -08 -30 +70 +88 +10 +28 08 08 -10 -E0 +F0 ENDCHAR -STARTCHAR U_021D +STARTCHAR uni021D ENCODING 541 -SWIDTH 500 0 -DWIDTH 5 0 -BBX 4 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 -00 -00 -E0 -10 -60 +70 +88 10 -20 -C0 +28 +08 +08 +F0 ENDCHAR -STARTCHAR U_021E +STARTCHAR uni021E ENCODING 542 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP +50 +20 00 -48 -30 -00 -84 -84 -84 -FC -84 -84 -84 -84 +88 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_021F +STARTCHAR uni021F ENCODING 543 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -00 -A0 -40 -00 -40 -40 -78 -44 -44 -44 -44 -44 +50 +20 +80 +80 +F0 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_0220 +STARTCHAR uni0220 ENCODING 544 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 8 0 -1 BITMAP -00 -00 -00 -00 -F0 +B0 +C8 88 88 88 88 88 08 -08 ENDCHAR -STARTCHAR U_0221 +STARTCHAR uni0221 ENCODING 545 -SWIDTH 500 0 -DWIDTH 9 0 -BBX 8 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -00 -00 -00 -00 -08 -08 +10 +10 +70 +90 +98 +94 78 -88 -88 -8E -89 -76 +20 ENDCHAR -STARTCHAR U_0222 +STARTCHAR uni0222 ENCODING 546 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 -10 +50 88 88 70 88 88 -88 70 ENDCHAR -STARTCHAR U_0223 +STARTCHAR uni0223 ENCODING 547 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 6 0 0 BITMAP -00 -00 -00 -00 -88 -88 +50 88 70 88 88 -88 70 ENDCHAR -STARTCHAR U_0224 +STARTCHAR uni0224 ENCODING 548 -SWIDTH 500 0 -DWIDTH 7 0 -BBX 6 12 0 -2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -00 -00 -FC -04 +F8 08 10 20 40 80 -FC -04 +F8 08 +30 ENDCHAR -STARTCHAR U_0225 +STARTCHAR uni0225 ENCODING 549 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 F8 -08 10 20 40 F8 08 -10 +30 ENDCHAR -STARTCHAR U_0226 +STARTCHAR uni0226 ENCODING 550 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +20 00 -00 -10 -00 -10 -10 -28 -28 -44 -7C -82 -82 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_0227 +STARTCHAR uni0227 ENCODING 551 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 20 00 70 08 78 88 -88 78 ENDCHAR -STARTCHAR U_0228 +STARTCHAR uni0228 ENCODING 552 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 F8 80 80 -F8 -80 +F0 80 80 F8 -10 -60 +08 +30 ENDCHAR -STARTCHAR U_0229 +STARTCHAR uni0229 ENCODING 553 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 7 0 -2 BITMAP -00 -00 -00 -00 70 88 -F8 -80 +F0 80 -78 -10 -60 +70 +08 +30 ENDCHAR -STARTCHAR U_022A +STARTCHAR uni022A ENCODING 554 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -38 +70 00 -28 +50 00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_022B +STARTCHAR uni022B ENCODING 555 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 50 @@ -8422,112 +7414,95 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_022C +STARTCHAR uni022C ENCODING 556 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -38 +70 +68 +B0 00 -34 -48 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_022D +STARTCHAR uni022D ENCODING 557 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 10 0 0 BITMAP -00 70 00 68 -90 +B0 00 70 88 88 88 -88 70 ENDCHAR -STARTCHAR U_022E +STARTCHAR uni022E ENCODING 558 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP +20 00 -00 -10 -00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_022F +STARTCHAR uni022F ENCODING 559 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 7 0 0 BITMAP -00 -00 -00 -00 20 00 70 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0230 +STARTCHAR uni0230 ENCODING 560 -SWIDTH 500 0 -DWIDTH 8 0 -BBX 7 12 0 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -38 +70 00 -10 +20 00 -38 -44 -82 -82 -82 -82 -44 -38 +70 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_0231 +STARTCHAR uni0231 ENCODING 561 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 20 @@ -8536,3614 +7511,3999 @@ BITMAP 88 88 88 -88 70 ENDCHAR -STARTCHAR U_0232 +STARTCHAR uni0232 ENCODING 562 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 0 +BBX 5 9 0 0 BITMAP -00 -00 70 00 88 88 50 -50 20 20 20 20 ENDCHAR -STARTCHAR U_0233 +STARTCHAR uni0233 ENCODING 563 -SWIDTH 500 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 -2 +BBX 5 9 0 -2 BITMAP -00 -00 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 U_0250 +STARTCHAR uni0250 ENCODING 592 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -B000 -4800 -4800 -7000 -4000 -3800 -0000 -0000 -0000 +F0 +88 +F0 +80 +70 ENDCHAR -STARTCHAR U_0251 +STARTCHAR uni0251 ENCODING 593 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -3000 -4800 -8800 -8800 -8800 -9800 -6800 -0000 -0000 +68 +98 +88 +98 +68 ENDCHAR -STARTCHAR U_0252 +STARTCHAR uni0252 ENCODING 594 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 -00 B0 C8 88 -88 -88 C8 B0 -00 -00 -00 ENDCHAR -STARTCHAR U_0253 +STARTCHAR uni0253 ENCODING 595 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 1 +BBX 5 8 0 0 BITMAP 60 90 80 -80 -B0 -C8 +F0 88 -C8 -B0 -00 -00 -00 +88 +88 +F0 ENDCHAR -STARTCHAR U_0254 +STARTCHAR uni0254 ENCODING 596 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 12 0 3 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -00 -00 70 88 08 -08 88 70 -00 -00 -00 -00 ENDCHAR -STARTCHAR U_0255 +STARTCHAR uni0255 ENCODING 597 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 0 2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 BITMAP -00 -00 -38 -44 -40 -58 -64 -44 -B8 -00 -00 -00 +78 +80 +90 +A8 +70 +20 ENDCHAR -STARTCHAR U_0256 +STARTCHAR uni0256 ENCODING 598 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 2 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP 10 10 -10 -50 -B0 +70 90 90 -B0 -50 -14 +90 +70 08 -00 ENDCHAR -STARTCHAR U_0257 +STARTCHAR uni0257 ENCODING 599 -SWIDTH 1000 0 -DWIDTH 7 0 -BBX 6 12 0 3 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1C -14 +08 10 -50 -B0 +10 +70 90 90 -B0 -50 -00 -00 -00 +90 +70 ENDCHAR -STARTCHAR U_0258 +STARTCHAR uni0258 ENCODING 600 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 -00 -00 70 88 -F8 +78 08 -88 70 -00 -00 -00 ENDCHAR -STARTCHAR U_0259 +STARTCHAR uni0259 ENCODING 601 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 +70 08 -85 -82 -9F -80 -80 -83 -8D -91 -60 -00 +78 +88 +70 ENDCHAR -STARTCHAR U_025A +STARTCHAR uni025A ENCODING 602 -SWIDTH 1000 0 -DWIDTH 9 0 -BBX 8 12 0 3 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -00 -00 -00 -00 -00 -75 -8A -88 -38 -C8 -88 -70 +60 +18 +74 +90 +60 ENDCHAR -STARTCHAR U_025B +STARTCHAR uni025B ENCODING 603 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 -00 70 88 -80 60 -80 88 70 -00 -00 -00 ENDCHAR -STARTCHAR U_025C +STARTCHAR uni025C ENCODING 604 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 -00 70 88 -08 30 -08 88 70 -00 -00 -00 ENDCHAR -STARTCHAR U_025D +STARTCHAR uni025D ENCODING 605 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 6 5 0 0 BITMAP -00 -00 -75 -8A -08 -30 -08 -88 -70 -00 -00 -00 +68 +94 +20 +90 +60 ENDCHAR -STARTCHAR U_025E +STARTCHAR uni025E ENCODING 606 -SWIDTH 1000 0 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 12 0 2 +BBX 5 5 0 0 BITMAP -00 -00 70 88 -88 B0 88 -88 70 -00 -00 -00 ENDCHAR -STARTCHAR U_025F +STARTCHAR uni025F ENCODING 607 -SWIDTH 1000 0 -DWIDTH 5 0 -BBX 4 12 0 1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -00 -20 -20 -20 -20 -20 -F8 -20 -20 -C0 -00 -00 +10 +10 +10 +38 +10 +90 +60 ENDCHAR -STARTCHAR U_0260 +STARTCHAR uni0260 ENCODING 608 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0C00 -0A00 -7800 -8800 -8800 -8800 -9800 -6800 -0800 -0800 -7000 +08 +08 +70 +90 +90 +90 +70 +10 +60 ENDCHAR -STARTCHAR U_0261 +STARTCHAR uni0261 ENCODING 609 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -6800 -9800 -8800 -8800 -9800 -6800 -0800 -0800 -7000 +70 +88 +88 +88 +78 +08 +70 ENDCHAR -STARTCHAR U_0262 +STARTCHAR uni0262 ENCODING 610 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -7000 -8800 -8000 -8000 -9800 -8800 -8800 -7800 -0000 +78 +80 +98 +88 +70 ENDCHAR -STARTCHAR U_0263 +STARTCHAR uni0263 ENCODING 611 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -8200 -4400 -2800 -1000 -1000 -2800 -2800 -1000 -0000 +88 +88 +50 +50 +20 +50 +20 ENDCHAR -STARTCHAR U_0264 +STARTCHAR uni0264 ENCODING 612 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -4400 -AA00 -2800 -1000 -1000 -2800 -2800 -1000 -0000 +50 +A8 +20 +50 +20 ENDCHAR -STARTCHAR U_0265 +STARTCHAR uni0265 ENCODING 613 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -8800 -8800 -8800 -8800 -8800 -9800 -6800 -0800 -0800 -0000 +88 +88 +88 +88 +78 +08 +08 ENDCHAR -STARTCHAR U_0266 +STARTCHAR uni0266 ENCODING 614 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -6000 -8000 -8000 -B000 -C800 -8800 -8800 -8800 -8800 -0000 +70 +88 +80 +F0 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_0267 +STARTCHAR uni0267 ENCODING 615 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -7000 -8800 -8000 -B000 -C800 -8800 -8800 -8800 -8800 -0800 -3000 +70 +88 +80 +F0 +88 +88 +88 +88 +08 +30 ENDCHAR -STARTCHAR U_0268 +STARTCHAR uni0268 ENCODING 616 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -0000 -0000 -4000 -0000 -4000 -E000 -4000 -4000 -4000 -4000 -0000 +40 +00 +C0 +40 +E0 +40 +E0 ENDCHAR -STARTCHAR U_0269 +STARTCHAR uni0269 ENCODING 617 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -9000 -6000 -0000 +80 +80 +80 +A0 +40 ENDCHAR -STARTCHAR U_026A +STARTCHAR uni026A ENCODING 618 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 0 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -0000 +E0 +40 +40 +40 +E0 ENDCHAR -STARTCHAR U_026B +STARTCHAR uni026B ENCODING 619 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -2000 -2000 -2000 -6800 -B000 -2000 -2000 -2000 -2000 -0000 -ENDCHAR -STARTCHAR U_026C +60 +20 +68 +B0 +20 +20 +70 +ENDCHAR +STARTCHAR uni026C ENCODING 620 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 BITMAP -0000 -2000 -2000 -6000 -A000 -A000 -7000 -2000 -2000 -2000 -0000 +60 +20 +60 +A0 +70 +20 +70 ENDCHAR -STARTCHAR U_026D +STARTCHAR uni026D ENCODING 621 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 1 -2 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -A000 -4000 -0000 +C0 +40 +40 +40 +40 +40 +40 +50 +20 ENDCHAR -STARTCHAR U_026E +STARTCHAR uni026E ENCODING 622 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -8000 -8000 -B000 -C800 -8800 -9000 -A000 -9000 -6000 -0000 +C0 +40 +78 +48 +50 +70 +E8 +48 +30 ENDCHAR -STARTCHAR U_026F +STARTCHAR uni026F ENCODING 623 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -A800 -A800 -A800 -A800 -A800 -A800 -5800 -0000 +A8 +A8 +A8 +A8 +58 ENDCHAR -STARTCHAR U_0270 +STARTCHAR uni0270 ENCODING 624 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -A800 -A800 -A800 -A800 -A800 -A800 -5800 -0800 -0800 +A8 +A8 +A8 +A8 +58 +08 +08 ENDCHAR -STARTCHAR U_0271 +STARTCHAR uni0271 ENCODING 625 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -AC00 -D200 -9200 -9200 -9200 -9200 -9200 -0200 -0C00 +D0 +A8 +A8 +A8 +A8 +08 +30 ENDCHAR -STARTCHAR U_0272 +STARTCHAR uni0272 ENCODING 626 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -2C00 -3200 -2200 -2200 -2200 -2200 -2200 -A000 -4000 +70 +48 +48 +48 +48 +40 +80 ENDCHAR -STARTCHAR U_0273 +STARTCHAR uni0273 ENCODING 627 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -B000 -C800 -8800 -8800 -8800 -8800 -8800 -8800 -0A00 -0400 +E0 +90 +90 +90 +90 +10 +08 ENDCHAR -STARTCHAR U_0274 +STARTCHAR uni0274 ENCODING 628 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -8400 -C400 -A400 -9400 -8C00 -8400 -8400 -0000 -0000 +88 +C8 +A8 +98 +88 ENDCHAR -STARTCHAR U_0275 +STARTCHAR uni0275 ENCODING 629 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -7000 -8800 -8800 -F800 -8800 -8800 -8800 -7000 -0000 -0000 -0000 +70 +88 +F8 +88 +70 ENDCHAR -STARTCHAR U_0276 +STARTCHAR uni0276 ENCODING 630 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -5C00 -B000 -9000 -9C00 -9000 -9000 -B000 -5C00 -0000 +78 +A0 +B0 +A0 +78 ENDCHAR -STARTCHAR U_0277 +STARTCHAR uni0277 ENCODING 631 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -7C00 -8200 -9200 -9200 -9200 -9200 -9200 -6C00 -0000 +70 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_0278 +STARTCHAR uni0278 ENCODING 632 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -2000 -2000 -7000 -A800 -A800 -A800 -7000 -2000 -2000 -0000 +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 ENDCHAR -STARTCHAR U_0279 +STARTCHAR uni0279 ENCODING 633 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -1000 -1000 -1000 -1000 -1000 -3000 -D000 -0000 -0000 +08 +08 +08 +98 +68 ENDCHAR -STARTCHAR U_027A +STARTCHAR uni027A ENCODING 634 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 -3000 -D000 -0000 +08 +08 +08 +08 +08 +98 +68 ENDCHAR -STARTCHAR U_027B +STARTCHAR uni027B ENCODING 635 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -1000 -1000 -1000 -1000 -1000 -3000 -D000 -1400 -0800 +10 +10 +10 +90 +70 +10 +08 ENDCHAR -STARTCHAR U_027C +STARTCHAR uni027C ENCODING 636 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -B000 -C000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +B0 +C8 +80 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_027D +STARTCHAR uni027D ENCODING 637 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -B000 -C000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -6000 +B0 +C8 +80 +80 +80 +A0 +40 ENDCHAR -STARTCHAR U_027E +STARTCHAR uni027E ENCODING 638 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -7000 -8800 -8800 -8000 -8000 -8000 -8000 -8000 -0000 +30 +48 +80 +80 +80 ENDCHAR -STARTCHAR U_027F +STARTCHAR uni027F ENCODING 639 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -7000 -8800 -8800 -0800 -0800 -0800 -0800 -0800 -0000 +60 +90 +08 +08 +08 ENDCHAR -STARTCHAR U_0280 +STARTCHAR uni0280 ENCODING 640 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -F000 -8800 -8800 -8800 -F000 -A000 -9000 -8800 -8400 -0000 +F0 +88 +F0 +88 +88 ENDCHAR -STARTCHAR U_0281 +STARTCHAR uni0281 ENCODING 641 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -8400 -8800 -8800 -9000 -F800 -8400 -8400 -8400 -F800 -0000 +88 +88 +F0 +88 +F0 ENDCHAR -STARTCHAR U_0282 +STARTCHAR uni0282 ENCODING 642 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -6000 -9000 -8000 -6000 -1000 -9000 -6000 -4000 -7000 -0000 +78 +80 +70 +08 +F0 +80 +60 ENDCHAR -STARTCHAR U_0283 +STARTCHAR uni0283 ENCODING 643 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -0000 -1000 -2800 -2000 -2000 -2000 -2000 -2000 -2000 -A000 -4000 +10 +28 +20 +20 +20 +20 +A0 +40 ENDCHAR -STARTCHAR U_0284 +STARTCHAR uni0284 ENCODING 644 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -1000 -2800 -2000 -7000 -2000 -2000 -7000 -2000 -2000 -A000 -4000 +10 +28 +20 +20 +70 +20 +A0 +40 ENDCHAR -STARTCHAR U_0285 +STARTCHAR uni0285 ENCODING 645 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0000 -4000 -A000 -2000 -2000 -2000 -2000 -2000 -2000 -2800 -1000 +40 +A0 +20 +20 +28 +10 ENDCHAR -STARTCHAR U_0286 +STARTCHAR uni0286 ENCODING 646 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -0000 -0C00 -1000 -1000 -1000 -1000 -1000 -7C00 -9000 -9000 -6000 +10 +28 +20 +20 +20 +70 +A0 +40 ENDCHAR -STARTCHAR U_0287 +STARTCHAR uni0287 ENCODING 647 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -C000 -2000 -2000 -2000 -2000 -2000 -F000 -2000 -2000 -0000 +C0 +20 +20 +20 +F8 +20 +20 ENDCHAR -STARTCHAR U_0288 +STARTCHAR uni0288 ENCODING 648 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -4000 -4000 -F000 -4000 -4000 -4000 -4000 -4000 -3000 -0000 +20 +20 +F8 +20 +20 +20 +20 +20 +18 ENDCHAR -STARTCHAR U_0289 +STARTCHAR uni0289 ENCODING 649 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -4800 -4800 -FC00 -4800 -4800 -5800 -2800 -0000 +88 +F8 +88 +98 +68 ENDCHAR -STARTCHAR U_028A +STARTCHAR uni028A ENCODING 650 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -0000 -EE00 -2800 -4400 -4400 -4400 -3800 -0000 +D8 +50 +88 +88 +70 ENDCHAR -STARTCHAR U_028B +STARTCHAR uni028B ENCODING 651 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -9000 -8800 -8800 -8800 -8800 -9000 -6000 -0000 +90 +88 +88 +90 +60 ENDCHAR -STARTCHAR U_028C +STARTCHAR uni028C ENCODING 652 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -2000 -5000 -5000 -8800 -8800 -0000 -0000 -0000 +20 +50 +50 +88 +88 ENDCHAR -STARTCHAR U_028D +STARTCHAR uni028D ENCODING 653 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -5000 -5000 -5000 -5000 -A800 -A800 -A800 -0000 -0000 +50 +A8 +A8 +88 +88 ENDCHAR -STARTCHAR U_028E +STARTCHAR uni028E ENCODING 654 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0800 -0800 -1000 -1000 -3000 -2800 -4800 -4400 -8400 -0000 +08 +10 +20 +50 +88 +88 +88 ENDCHAR -STARTCHAR U_028F +STARTCHAR uni028F ENCODING 655 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -8400 -4800 -3000 -1000 -1000 -1000 -1000 -0000 +88 +50 +20 +20 +20 ENDCHAR -STARTCHAR U_0290 +STARTCHAR uni0290 ENCODING 656 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -F800 -1000 -1000 -2000 -2000 -4000 -F400 -1800 -0000 +F8 +10 +20 +40 +F8 +20 +18 ENDCHAR -STARTCHAR U_0291 +STARTCHAR uni0291 ENCODING 657 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -F800 -0800 -1000 -2800 -5400 -FC00 -1000 -0000 +F8 +10 +20 +50 +F8 +20 +40 ENDCHAR -STARTCHAR U_0292 +STARTCHAR uni0292 ENCODING 658 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -F800 -0800 -1000 -2000 -1000 -0800 -8800 -8800 -7000 +F8 +10 +20 +70 +08 +88 +70 ENDCHAR -STARTCHAR U_0293 +STARTCHAR uni0293 ENCODING 659 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 BITMAP -0000 -0000 -F800 -1000 -2000 -7000 -0800 -7800 -8800 -7400 -0000 +F8 +10 +30 +08 +78 +88 +74 ENDCHAR -STARTCHAR U_0294 +STARTCHAR uni0294 ENCODING 660 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -7800 -8400 -0400 -0400 -1800 -1000 -1000 -1000 -1000 -0000 +70 +88 +08 +30 +20 +20 +20 ENDCHAR -STARTCHAR U_0295 +STARTCHAR uni0295 ENCODING 661 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -7000 -8800 -8000 -8000 -6000 -2000 -2000 -2000 -2000 -0000 +70 +88 +80 +60 +20 +20 +20 ENDCHAR -STARTCHAR U_0296 +STARTCHAR uni0296 ENCODING 662 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -2000 -2000 -2000 -3000 -0800 -0800 -0800 -8800 -7000 -0000 +20 +20 +20 +30 +08 +88 +70 ENDCHAR -STARTCHAR U_0297 +STARTCHAR uni0297 ENCODING 663 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -7000 -8800 -8000 -8000 -8000 -8000 -8800 -7000 -0000 -0000 +70 +88 +80 +80 +80 +80 +80 +88 +70 ENDCHAR -STARTCHAR U_0298 +STARTCHAR uni0298 ENCODING 664 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -3000 -4800 -8400 -B400 -8400 -4800 -3000 -0000 -0000 +70 +88 +A8 +88 +70 ENDCHAR -STARTCHAR U_0299 +STARTCHAR uni0299 ENCODING 665 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -F000 -8800 -8800 -F000 -8800 -8800 -F000 -0000 -0000 +F0 +88 +F0 +88 +F0 ENDCHAR -STARTCHAR U_029A +STARTCHAR uni029A ENCODING 666 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -7800 -8400 -8400 -6400 -8400 -8400 -7800 -0000 -0000 +70 +88 +68 +88 +70 ENDCHAR -STARTCHAR U_029B +STARTCHAR uni029B ENCODING 667 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0200 -0400 -0400 -3C00 -4000 -8000 -9C00 -8400 -4C00 -3400 -0000 +08 +10 +78 +80 +98 +88 +70 ENDCHAR -STARTCHAR U_029C +STARTCHAR uni029C ENCODING 668 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -8800 -8800 -8800 -F800 -8800 -8800 -8800 -0000 -0000 +88 +88 +F8 +88 +88 ENDCHAR -STARTCHAR U_029D +STARTCHAR uni029D ENCODING 669 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -2000 -0000 -2000 -2000 -2000 -2000 -6000 -B000 -A800 -4000 +10 +00 +30 +10 +10 +10 +78 +90 +60 ENDCHAR -STARTCHAR U_029E +STARTCHAR uni029E ENCODING 670 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -8400 -8400 -4400 -4C00 -3400 -2400 -4400 -8400 -0400 -0400 +88 +48 +38 +48 +88 +08 +08 ENDCHAR -STARTCHAR U_029F +STARTCHAR uni029F ENCODING 671 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -F800 -0000 +80 +80 +80 +80 +F8 ENDCHAR -STARTCHAR U_02A0 +STARTCHAR uni02A0 ENCODING 672 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0800 -1400 -5000 -B000 -9000 -9000 -9000 -B000 -5000 -1000 -1000 +08 +10 +70 +90 +90 +90 +70 +10 +10 ENDCHAR -STARTCHAR U_02A1 +STARTCHAR uni02A1 ENCODING 673 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -7000 -8800 -8800 -0800 -0800 -3000 -2000 -F800 -2000 -2000 +70 +88 +08 +30 +20 +70 +20 ENDCHAR -STARTCHAR U_02A2 +STARTCHAR uni02A2 ENCODING 674 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -7000 -8800 -8000 -8000 -6000 -2000 -F800 -2000 -2000 -0000 +70 +88 +80 +60 +20 +70 +20 ENDCHAR -STARTCHAR U_02A3 +STARTCHAR uni02A3 ENCODING 675 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -1000 -1000 -1000 -7F00 -9200 -9400 -6F00 -0000 -0000 -0000 +20 +20 +6C +A4 +A8 +A8 +6C ENDCHAR -STARTCHAR U_02A4 +STARTCHAR uni02A4 ENCODING 676 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0800 -0800 -6800 -9FC0 -8880 -8900 -9B80 -6840 -0040 -0440 -0380 +20 +20 +78 +A8 +B0 +B8 +68 +08 +38 ENDCHAR -STARTCHAR U_02A5 +STARTCHAR uni02A5 ENCODING 677 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -0000 -1000 -1000 -1000 -7F00 -9100 -9200 -9500 -BA80 -5F80 -0200 +20 +20 +78 +A8 +B0 +B0 +78 +10 ENDCHAR -STARTCHAR U_02A6 +STARTCHAR uni02A6 ENCODING 678 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -4000 -4000 -EC00 -5200 -5000 -4800 -4400 -4200 -5200 -2C00 -0000 +40 +40 +F8 +50 +48 +48 +30 ENDCHAR -STARTCHAR U_02A7 +STARTCHAR uni02A7 ENCODING 679 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -2 BITMAP -0000 -0600 -4800 -4800 -F800 -4800 -4800 -4800 -3800 -0800 -3000 +08 +54 +50 +F0 +50 +50 +50 +30 +50 +20 ENDCHAR -STARTCHAR U_02A8 +STARTCHAR uni02A8 ENCODING 680 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -0000 -0000 -4000 -4000 -EC00 -5200 -5400 -5A00 -5200 -2C00 -0000 +40 +40 +E8 +50 +50 +50 +28 +10 ENDCHAR -STARTCHAR U_02AD -ENCODING 685 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni02A9 +ENCODING 681 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -FE00 -8200 -8200 -0000 -FE00 -8200 -8200 -0000 -0000 -0000 +60 +90 +80 +F0 +A8 +A8 +A8 +08 +30 ENDCHAR -STARTCHAR quotedblbase -ENCODING 900 -SWIDTH 545 0 +STARTCHAR uni02AA +ENCODING 682 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 1 6 +BBX 5 7 0 0 BITMAP +C0 40 -80 +58 +60 +50 +48 +F0 ENDCHAR -STARTCHAR ellipsis -ENCODING 901 -SWIDTH 545 0 +STARTCHAR uni02AB +ENCODING 683 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 3 1 5 +BBX 5 7 0 0 BITMAP -20 +C0 40 -A0 +78 +48 +50 +60 +F8 ENDCHAR -STARTCHAR dagger -ENCODING 902 -SWIDTH 545 0 +STARTCHAR uni02AC +ENCODING 684 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 7 0 0 BITMAP -40 -A0 +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 daggerdbl -ENCODING 903 -SWIDTH 545 0 +STARTCHAR uni02AF +ENCODING 687 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 2 1 2 +BBX 6 10 0 -2 BITMAP -C0 -C0 +88 +48 +48 +48 +48 +48 +48 +38 +08 +04 ENDCHAR -STARTCHAR circumflex -ENCODING 904 -SWIDTH 545 0 +STARTCHAR uni02B0 +ENCODING 688 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 5 1 4 BITMAP -40 -80 -F8 -80 -F0 80 80 -F8 +C0 +A0 +A0 ENDCHAR -STARTCHAR perthousand -ENCODING 905 -SWIDTH 545 0 +STARTCHAR uni02B1 +ENCODING 689 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 5 1 4 BITMAP 40 80 -88 -88 -F8 -88 -88 -88 +C0 +A0 +A0 ENDCHAR -STARTCHAR Scaron -ENCODING 906 -SWIDTH 545 0 +STARTCHAR uni02B2 +ENCODING 690 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 8 0 0 +BBX 3 6 1 3 BITMAP -40 -80 -70 -20 20 +00 20 20 -70 -ENDCHAR -STARTCHAR guilsinglleft -ENCODING 907 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 1 1 5 -2 -BITMAP -00 +A0 +40 ENDCHAR -STARTCHAR OE -ENCODING 908 -SWIDTH 545 0 +STARTCHAR uni02B3 +ENCODING 691 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 4 1 4 BITMAP -40 +C0 +A0 +80 80 -70 -88 -88 -88 -88 -70 ENDCHAR -STARTCHAR NameMe.141 -ENCODING 909 -SWIDTH 545 0 +STARTCHAR uni02B4 +ENCODING 692 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 1 5 -2 +BBX 3 4 1 4 BITMAP -00 +20 +20 +A0 +60 ENDCHAR -STARTCHAR Zcaron -ENCODING 910 -SWIDTH 545 0 +STARTCHAR uni02B5 +ENCODING 693 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 4 5 1 3 BITMAP -40 -80 -08 -88 -70 -20 20 20 +A0 +60 +10 ENDCHAR -STARTCHAR NameMe.143 -ENCODING 911 -SWIDTH 545 0 +STARTCHAR uni02B6 +ENCODING 694 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 5 1 4 BITMAP -40 -80 -70 -88 -88 -88 +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 -D8 ENDCHAR -STARTCHAR NameMe.144 -ENCODING 912 -SWIDTH 545 0 +STARTCHAR uni02B8 +ENCODING 696 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 5 1 3 BITMAP -20 -40 A0 -00 -40 -40 -40 +A0 +60 20 +C0 ENDCHAR -STARTCHAR quoteleft -ENCODING 913 -SWIDTH 545 0 +STARTCHAR uni02B9 +ENCODING 697 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 4 2 5 BITMAP -20 -50 -88 -88 -F8 -88 -88 +40 +40 +80 +80 ENDCHAR -STARTCHAR quoteright -ENCODING 914 -SWIDTH 545 0 +STARTCHAR uni02BA +ENCODING 698 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 4 0 5 BITMAP -F0 48 48 -70 -48 -48 -F0 +90 +90 ENDCHAR -STARTCHAR quotedblleft -ENCODING 915 -SWIDTH 545 0 +STARTCHAR uni02BB +ENCODING 699 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 3 2 5 BITMAP -F8 -80 -80 -80 -80 -80 +40 80 +C0 ENDCHAR -STARTCHAR quotedblright -ENCODING 916 -SWIDTH 545 0 +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 2 3 2 5 BITMAP -20 -50 -50 -88 -88 -F8 +C0 +40 +80 ENDCHAR -STARTCHAR bullet -ENCODING 917 -SWIDTH 545 0 +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 3 2 5 BITMAP -F8 -80 +C0 80 -F0 +40 +ENDCHAR +STARTCHAR uni02BE +ENCODING 702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 4 +BITMAP 80 +40 +40 80 -F8 ENDCHAR -STARTCHAR endash -ENCODING 918 -SWIDTH 545 0 +STARTCHAR uni02BF +ENCODING 703 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 4 1 4 BITMAP -F8 -08 -10 -20 40 80 -F8 +80 +40 ENDCHAR -STARTCHAR emdash -ENCODING 919 -SWIDTH 545 0 +STARTCHAR uni02C0 +ENCODING 704 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 5 1 4 BITMAP -88 -88 -88 -F8 -88 -88 -88 +40 +A0 +20 +40 +40 ENDCHAR -STARTCHAR tilde -ENCODING 920 -SWIDTH 545 0 +STARTCHAR uni02C1 +ENCODING 705 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 5 1 4 BITMAP -70 -88 -88 -A8 -88 -88 -70 +40 +A0 +80 +40 +40 ENDCHAR -STARTCHAR trademark -ENCODING 921 -SWIDTH 545 0 +STARTCHAR uni02C2 +ENCODING 706 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 5 1 4 BITMAP -E0 -40 +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 -E0 +80 ENDCHAR -STARTCHAR scaron -ENCODING 922 -SWIDTH 545 0 +STARTCHAR uni02C4 +ENCODING 708 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 3 1 5 BITMAP -88 -90 +40 A0 -C0 A0 -90 -88 ENDCHAR -STARTCHAR guilsinglright -ENCODING 923 -SWIDTH 545 0 +STARTCHAR uni02C5 +ENCODING 709 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 3 1 5 BITMAP -20 -50 -88 -88 -88 -88 -88 +A0 +A0 +40 ENDCHAR -STARTCHAR oe -ENCODING 924 -SWIDTH 545 0 +STARTCHAR circumflex +ENCODING 710 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 2 1 6 BITMAP -88 -D8 -A8 -A8 -88 -88 -88 +40 +A0 ENDCHAR -STARTCHAR NameMe.157 -ENCODING 925 -SWIDTH 545 0 +STARTCHAR caron +ENCODING 711 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 2 1 7 BITMAP -88 -C8 -C8 -A8 -98 -98 -88 +A0 +40 ENDCHAR -STARTCHAR zcaron -ENCODING 926 -SWIDTH 545 0 +STARTCHAR uni02C8 +ENCODING 712 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 1 2 2 6 BITMAP -F8 -00 -00 -70 -00 -00 -F8 +80 +80 ENDCHAR -STARTCHAR Ydieresis -ENCODING 927 -SWIDTH 545 0 +STARTCHAR macron +ENCODING 713 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 4 1 1 7 BITMAP -70 -88 -88 -88 -88 -88 -70 +F0 ENDCHAR -STARTCHAR uni00A0 -ENCODING 928 -SWIDTH 545 0 +STARTCHAR uni02CA +ENCODING 714 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 2 2 6 BITMAP -F8 -50 -50 -50 -50 -50 -50 +80 +40 ENDCHAR -STARTCHAR exclamdown -ENCODING 929 -SWIDTH 545 0 +STARTCHAR uni02CB +ENCODING 715 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 2 2 6 BITMAP -F0 -88 -88 -F0 +40 80 +ENDCHAR +STARTCHAR uni02CC +ENCODING 716 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 2 2 -1 +BITMAP 80 80 ENDCHAR -STARTCHAR cent -ENCODING 930 -SWIDTH 545 0 +STARTCHAR uni02CD +ENCODING 717 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 1 5 -2 +BBX 4 1 1 0 BITMAP -00 +F0 ENDCHAR -STARTCHAR sterling -ENCODING 931 -SWIDTH 545 0 +STARTCHAR uni02CE +ENCODING 718 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 2 2 -1 BITMAP -F8 80 40 -20 +ENDCHAR +STARTCHAR uni02CF +ENCODING 719 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 -1 +BITMAP 40 80 -F8 ENDCHAR -STARTCHAR currency -ENCODING 932 -SWIDTH 545 0 +STARTCHAR uni02D0 +ENCODING 720 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 5 1 0 BITMAP -F8 -20 -20 -20 -20 +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 yen -ENCODING 933 -SWIDTH 545 0 +STARTCHAR uni02D3 +ENCODING 723 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 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 -88 -88 -50 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 brokenbar -ENCODING 934 -SWIDTH 545 0 +STARTCHAR uni02D6 +ENCODING 726 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 5 0 1 BITMAP -70 20 -70 -A8 -70 20 -70 +F8 +20 +20 ENDCHAR -STARTCHAR section -ENCODING 935 -SWIDTH 545 0 +STARTCHAR uni02D7 +ENCODING 727 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 3 0 1 BITMAP 88 -88 -50 -20 -50 -88 +F8 88 ENDCHAR -STARTCHAR dieresis -ENCODING 936 -SWIDTH 545 0 +STARTCHAR breve +ENCODING 728 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 2 0 7 BITMAP -A8 -A8 -A8 -A8 +88 70 -20 -20 ENDCHAR -STARTCHAR copyright -ENCODING 937 -SWIDTH 545 0 +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 1 1 2 7 BITMAP -70 -88 -88 -50 -50 -D8 +80 ENDCHAR -STARTCHAR ordfeminine -ENCODING 938 -SWIDTH 545 0 +STARTCHAR ring +ENCODING 730 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 3 1 6 BITMAP -A0 -00 -E0 -40 -40 40 +A0 40 -E0 ENDCHAR -STARTCHAR guillemotleft -ENCODING 939 -SWIDTH 545 0 +STARTCHAR ogonek +ENCODING 731 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 2 2 2 -2 BITMAP -50 -00 -88 -88 -88 -50 -20 -20 +80 +C0 ENDCHAR -STARTCHAR logicalnot -ENCODING 940 -SWIDTH 545 0 +STARTCHAR tilde +ENCODING 732 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 2 0 6 BITMAP -20 -40 -08 68 -98 -90 +B0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 7 +BITMAP +48 90 -68 ENDCHAR -STARTCHAR uni00AD -ENCODING 941 -SWIDTH 545 0 +STARTCHAR uni02DE +ENCODING 734 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 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 -00 -70 -88 -E0 -88 -70 +A0 ENDCHAR -STARTCHAR registered -ENCODING 942 -SWIDTH 545 0 +STARTCHAR uni02E0 +ENCODING 736 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 -2 +BBX 3 5 1 3 BITMAP -20 +A0 +A0 +40 +A0 40 -00 -70 -88 -88 -88 -88 -08 -08 ENDCHAR -STARTCHAR macron -ENCODING 943 -SWIDTH 545 0 +STARTCHAR uni02E1 +ENCODING 737 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 8 1 0 +BBX 3 5 1 4 BITMAP +C0 +40 40 -80 -00 -80 -80 -80 -80 40 +E0 ENDCHAR -STARTCHAR degree -ENCODING 944 -SWIDTH 545 0 +STARTCHAR uni02E2 +ENCODING 738 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 4 1 4 BITMAP -10 +60 +C0 20 -50 -00 -88 -88 -88 -70 +C0 ENDCHAR -STARTCHAR plusminus -ENCODING 945 -SWIDTH 545 0 +STARTCHAR uni02E3 +ENCODING 739 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 3 1 5 BITMAP -08 -68 -98 -90 -90 -68 +A0 +40 +A0 ENDCHAR -STARTCHAR uni00B2 -ENCODING 946 -SWIDTH 545 0 +STARTCHAR uni02E4 +ENCODING 740 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 -2 +BBX 3 5 1 4 BITMAP 60 -90 -F0 -90 -E0 -80 80 +C0 +40 +40 ENDCHAR -STARTCHAR uni00B3 -ENCODING 947 -SWIDTH 545 0 +STARTCHAR uni02E5 +ENCODING 741 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 3 7 1 0 BITMAP -88 -48 -50 +E0 +20 +20 +20 +20 20 20 -40 ENDCHAR -STARTCHAR acute -ENCODING 948 -SWIDTH 545 0 +STARTCHAR uni02E6 +ENCODING 742 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 7 1 0 BITMAP -30 -40 -70 -88 -88 -70 +20 +E0 +20 +20 +20 +20 +20 ENDCHAR -STARTCHAR uni00B5 -ENCODING 949 -SWIDTH 545 0 +STARTCHAR uni02E7 +ENCODING 743 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 3 7 1 0 BITMAP -70 -88 +20 +20 +20 E0 -88 -70 +20 +20 +20 ENDCHAR -STARTCHAR paragraph -ENCODING 950 -SWIDTH 545 0 +STARTCHAR uni02E8 +ENCODING 744 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -2 +BBX 3 7 1 0 BITMAP -80 -70 -40 -80 -80 -80 -70 -08 -70 +20 +20 +20 +20 +20 +E0 +20 ENDCHAR -STARTCHAR periodcentered -ENCODING 951 -SWIDTH 545 0 +STARTCHAR uni02E9 +ENCODING 745 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 3 7 1 0 BITMAP -B8 -C8 -88 -88 -88 -08 -08 +20 +20 +20 +20 +20 +20 +E0 ENDCHAR -STARTCHAR cedilla -ENCODING 952 -SWIDTH 545 0 +STARTCHAR uni02EA +ENCODING 746 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 3 3 1 -2 BITMAP -70 -88 -F8 -88 -70 +E0 +20 +20 ENDCHAR -STARTCHAR uni00B9 -ENCODING 953 -SWIDTH 545 0 +STARTCHAR uni02EB +ENCODING 747 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 5 1 0 +BBX 3 5 1 -2 BITMAP 80 80 +E0 80 80 -60 ENDCHAR -STARTCHAR ordmasculine -ENCODING 954 -SWIDTH 545 0 +STARTCHAR uni02EC +ENCODING 748 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 3 2 1 -2 BITMAP -90 -A0 -C0 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 guillemotright -ENCODING 955 -SWIDTH 545 0 +STARTCHAR uni02EF +ENCODING 751 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 4 0 -2 BITMAP -40 +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 onequarter -ENCODING 956 -SWIDTH 545 0 +STARTCHAR uni02F1 +ENCODING 753 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +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 -88 -88 -88 -D8 -A8 80 +60 +10 +60 80 ENDCHAR -STARTCHAR onehalf -ENCODING 957 -SWIDTH 545 0 +STARTCHAR uni02F3 +ENCODING 755 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 4 2 1 -2 BITMAP -88 -88 -50 60 -20 +90 ENDCHAR -STARTCHAR threequarters -ENCODING 958 -SWIDTH 545 0 +STARTCHAR uni02F4 +ENCODING 756 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 10 0 -2 +BBX 2 2 2 3 BITMAP 80 -E0 -80 -70 -20 40 -80 -70 -08 -70 ENDCHAR -STARTCHAR questiondown -ENCODING 959 -SWIDTH 545 0 +STARTCHAR uni02F5 +ENCODING 757 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 4 2 1 3 BITMAP -70 -88 -88 -88 -70 +A0 +50 ENDCHAR -STARTCHAR Agrave -ENCODING 960 -SWIDTH 545 0 +STARTCHAR uni02F6 +ENCODING 758 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 4 2 1 3 BITMAP -F8 -50 -50 -50 50 +A0 ENDCHAR -STARTCHAR Aacute -ENCODING 961 -SWIDTH 545 0 +STARTCHAR uni02F7 +ENCODING 759 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 2 0 -2 BITMAP -70 -88 -88 -C8 +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 Acircumflex -ENCODING 962 -SWIDTH 545 0 +STARTCHAR uni02FA +ENCODING 762 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 2 3 2 4 BITMAP -30 +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 -30 -08 -70 +40 +C0 ENDCHAR -STARTCHAR Atilde -ENCODING 963 -SWIDTH 545 0 +STARTCHAR uni02FD +ENCODING 765 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 2 0 0 BITMAP -68 -90 -90 -90 -60 +88 +F8 ENDCHAR -STARTCHAR Adieresis -ENCODING 964 -SWIDTH 545 0 +STARTCHAR uni02FE +ENCODING 766 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 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 -30 ENDCHAR -STARTCHAR Aring -ENCODING 965 -SWIDTH 545 0 +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 2 2 2 8 BITMAP -88 -88 -90 -90 -E0 +40 +80 ENDCHAR -STARTCHAR AE -ENCODING 966 -SWIDTH 545 0 +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -2 +BBX 3 2 1 8 BITMAP -30 -A8 -A8 -A8 -A8 -70 -20 -20 +40 +A0 ENDCHAR -STARTCHAR Ccedilla -ENCODING 967 -SWIDTH 545 0 +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 2 0 8 BITMAP -88 -50 -20 -20 -50 -88 +68 +B0 ENDCHAR -STARTCHAR Egrave -ENCODING 968 -SWIDTH 545 0 +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 3 1 1 8 BITMAP -A8 -A8 -A8 -A8 -70 -20 -20 +E0 ENDCHAR -STARTCHAR Eacute -ENCODING 969 -SWIDTH 545 0 +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -50 -88 88 -A8 70 ENDCHAR -STARTCHAR Ecircumflex -ENCODING 970 -SWIDTH 545 0 +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 0 +BBX 1 1 2 8 BITMAP -A0 -00 -40 -40 -40 -40 -30 +80 ENDCHAR -STARTCHAR Edieresis -ENCODING 971 -SWIDTH 545 0 +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 1 1 8 BITMAP -50 -00 -88 -88 -90 -90 -E0 +A0 ENDCHAR -STARTCHAR Igrave -ENCODING 972 -SWIDTH 545 0 +STARTCHAR hookabovecomb +ENCODING 777 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 8 0 0 +BBX 3 3 1 7 BITMAP +C0 20 40 -00 -60 -90 -90 -90 -60 ENDCHAR -STARTCHAR Iacute -ENCODING 973 -SWIDTH 545 0 +STARTCHAR uni030A +ENCODING 778 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 3 1 7 BITMAP -20 40 -00 -88 -88 -90 +A0 +40 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 +BITMAP +48 90 -60 ENDCHAR -STARTCHAR Icircumflex -ENCODING 974 -SWIDTH 545 0 +STARTCHAR uni030C +ENCODING 780 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 2 1 8 BITMAP -20 +A0 40 -00 -50 -88 -88 -A8 -70 ENDCHAR -STARTCHAR Idieresis -ENCODING 975 -SWIDTH 545 0 +STARTCHAR uni030D +ENCODING 781 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -1 +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 -90 A0 -C0 A0 -90 -88 -10 ENDCHAR -STARTCHAR Eth -ENCODING 976 -SWIDTH 545 0 +STARTCHAR uni030F +ENCODING 783 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 2 0 8 BITMAP -60 90 -A0 -80 -F0 -88 +48 +ENDCHAR +STARTCHAR uni0310 +ENCODING 784 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +20 88 70 ENDCHAR -STARTCHAR Ntilde -ENCODING 977 -SWIDTH 545 0 +STARTCHAR uni0311 +ENCODING 785 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 2 0 8 BITMAP 70 -50 -38 -90 -90 -90 -60 +88 ENDCHAR -STARTCHAR Ograve -ENCODING 978 -SWIDTH 545 0 +STARTCHAR uni0312 +ENCODING 786 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 3 1 7 BITMAP -98 -50 -20 -20 -20 20 +40 +C0 ENDCHAR -STARTCHAR Oacute -ENCODING 979 -SWIDTH 545 0 +STARTCHAR uni0313 +ENCODING 787 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 3 1 7 BITMAP +60 40 80 -98 -50 -20 -20 -20 -20 ENDCHAR -STARTCHAR Ocircumflex -ENCODING 980 -SWIDTH 545 0 +STARTCHAR uni0314 +ENCODING 788 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 3 1 7 BITMAP -50 -00 -98 -50 -20 -20 -20 +C0 +40 20 ENDCHAR -STARTCHAR Otilde -ENCODING 981 -SWIDTH 545 0 +STARTCHAR uni0315 +ENCODING 789 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -1 +BBX 3 3 3 7 BITMAP -30 -A8 -A8 -A8 -A8 -70 -20 +60 +40 +80 ENDCHAR -STARTCHAR Odieresis -ENCODING 982 -SWIDTH 545 0 +STARTCHAR uni0316 +ENCODING 790 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 2 2 2 -2 BITMAP -F8 -50 -50 -50 -58 +80 +40 ENDCHAR -STARTCHAR multiply -ENCODING 983 -SWIDTH 545 0 +STARTCHAR uni0317 +ENCODING 791 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 2 2 2 -2 BITMAP -88 -50 -70 -50 -88 -10 +40 +80 ENDCHAR -STARTCHAR Oslash -ENCODING 984 -SWIDTH 545 0 +STARTCHAR uni0318 +ENCODING 792 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -1 +BBX 2 3 2 -2 BITMAP -70 -88 -88 -88 -70 -20 -70 +40 +C0 +40 ENDCHAR -STARTCHAR Ugrave -ENCODING 985 -SWIDTH 545 0 +STARTCHAR uni0319 +ENCODING 793 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 2 3 2 -2 BITMAP -70 -88 -88 -70 -20 -70 +80 +C0 +80 ENDCHAR -STARTCHAR Uacute -ENCODING 986 -SWIDTH 545 0 +STARTCHAR uni031A +ENCODING 794 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 3 3 7 BITMAP -70 -88 -80 -70 +E0 +20 20 -70 ENDCHAR -STARTCHAR Ucircumflex -ENCODING 987 -SWIDTH 545 0 +STARTCHAR uni031B +ENCODING 795 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 2 3 4 7 BITMAP -08 -70 -80 +40 +40 80 -70 -10 -60 ENDCHAR -STARTCHAR Udieresis -ENCODING 988 -SWIDTH 545 0 +STARTCHAR uni031C +ENCODING 796 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 2 3 2 -2 BITMAP -F8 -80 -80 -F0 -80 +40 80 +40 ENDCHAR -STARTCHAR Yacute -ENCODING 989 -SWIDTH 545 0 +STARTCHAR uni031D +ENCODING 797 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 3 2 1 -2 BITMAP -F0 -80 +40 E0 -80 -80 ENDCHAR -STARTCHAR Thorn -ENCODING 990 -SWIDTH 545 0 +STARTCHAR uni031E +ENCODING 798 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 2 1 -2 BITMAP -F8 -00 -00 -70 -00 -F8 +E0 +40 ENDCHAR -STARTCHAR germandbls -ENCODING 991 -SWIDTH 545 0 +STARTCHAR uni031F +ENCODING 799 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 3 3 1 -2 BITMAP 40 -80 -F0 -10 -20 +E0 +40 ENDCHAR -STARTCHAR agrave -ENCODING 992 -SWIDTH 545 0 +STARTCHAR uni0320 +ENCODING 800 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 1 1 -2 BITMAP E0 -50 -28 -28 -08 -08 -10 ENDCHAR -STARTCHAR aacute -ENCODING 993 -SWIDTH 545 0 +STARTCHAR uni0321 +ENCODING 801 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 3 2 -2 BITMAP -C0 20 -50 -28 -08 -08 -08 +A0 +40 ENDCHAR -STARTCHAR acircumflex -ENCODING 994 -SWIDTH 545 0 +STARTCHAR uni0322 +ENCODING 802 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -2 +BBX 2 3 4 -2 BITMAP -A8 -A8 -A8 -A8 -A8 -58 -08 -70 +80 +80 +40 ENDCHAR -STARTCHAR atilde -ENCODING 995 -SWIDTH 545 0 +STARTCHAR dotbelowcomb +ENCODING 803 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 1 1 2 -2 BITMAP -A8 -A8 -A8 -A8 -58 -08 -70 +80 ENDCHAR -STARTCHAR adieresis -ENCODING 996 -SWIDTH 545 0 +STARTCHAR uni0324 +ENCODING 804 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 1 1 -2 BITMAP -68 -88 -88 -78 -08 -08 +A0 ENDCHAR -STARTCHAR aring -ENCODING 997 -SWIDTH 545 0 +STARTCHAR uni0325 +ENCODING 805 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 3 3 1 -2 BITMAP -68 -88 -88 -78 -08 -08 +40 +A0 +40 ENDCHAR -STARTCHAR ae -ENCODING 998 -SWIDTH 545 0 +STARTCHAR uni0326 +ENCODING 806 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 8 0 -2 +BBX 2 2 2 -2 BITMAP +40 80 -E0 -90 -90 -90 -90 -20 -C0 ENDCHAR -STARTCHAR ccedilla -ENCODING 999 -SWIDTH 545 0 +STARTCHAR uni0327 +ENCODING 807 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 2 2 2 -2 BITMAP -68 +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 -70 -10 -E0 ENDCHAR -STARTCHAR egrave -ENCODING 1000 -SWIDTH 545 0 +STARTCHAR uni032B +ENCODING 811 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 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 -60 90 -10 60 -88 -70 ENDCHAR -STARTCHAR eacute -ENCODING 1001 -SWIDTH 545 0 +STARTCHAR uni032D +ENCODING 813 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 6 0 0 +BBX 4 2 1 -2 BITMAP 60 90 -10 -60 -80 +ENDCHAR +STARTCHAR uni032E +ENCODING 814 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 -2 +BITMAP +88 70 ENDCHAR -STARTCHAR ecircumflex -ENCODING 1002 -SWIDTH 545 0 +STARTCHAR uni032F +ENCODING 815 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 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 -20 -50 -88 +A0 +ENDCHAR +STARTCHAR uni0331 +ENCODING 817 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP F8 ENDCHAR -STARTCHAR edieresis -ENCODING 1003 -SWIDTH 545 0 +STARTCHAR uni0332 +ENCODING 818 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 6 1 0 -2 BITMAP -88 -50 -20 -50 -70 +FC ENDCHAR -STARTCHAR igrave -ENCODING 1004 -SWIDTH 545 0 +STARTCHAR uni0333 +ENCODING 819 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 6 3 0 -2 BITMAP -78 -80 -F0 -88 -88 -70 +FC +00 +FC ENDCHAR -STARTCHAR iacute -ENCODING 1005 -SWIDTH 545 0 +STARTCHAR uni0334 +ENCODING 820 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 4 2 1 2 BITMAP -F0 -80 -E0 -90 -60 +50 +A0 ENDCHAR -STARTCHAR icircumflex -ENCODING 1006 -SWIDTH 545 0 +STARTCHAR uni0335 +ENCODING 821 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 6 1 0 +BBX 3 1 1 3 BITMAP -40 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 -40 +80 +80 ENDCHAR -STARTCHAR idieresis -ENCODING 1007 -SWIDTH 545 0 +STARTCHAR uni0339 +ENCODING 825 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 6 1 -1 +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 eth -ENCODING 1008 -SWIDTH 545 0 +STARTCHAR uni033F +ENCODING 831 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 6 3 0 7 BITMAP -88 -50 -70 -50 -88 +FC +00 +FC ENDCHAR -STARTCHAR ntilde -ENCODING 1009 -SWIDTH 545 0 +STARTCHAR uni0340 +ENCODING 832 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 2 2 1 8 BITMAP -70 -88 -88 -88 -F0 80 -70 +40 ENDCHAR -STARTCHAR ograve -ENCODING 1010 -SWIDTH 545 0 +STARTCHAR uni0341 +ENCODING 833 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 2 2 2 8 BITMAP -70 +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 -70 ENDCHAR -STARTCHAR oacute -ENCODING 1011 -SWIDTH 545 0 +STARTCHAR uni0346 +ENCODING 838 +SWIDTH 480 0 DWIDTH 6 0 -BBX 2 8 1 -1 +BBX 3 2 1 8 BITMAP -40 +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 -40 -40 -80 ENDCHAR -STARTCHAR ocircumflex -ENCODING 1012 -SWIDTH 545 0 +STARTCHAR uni034C +ENCODING 844 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 4 0 6 BITMAP -70 -88 -88 +68 +B0 +68 +B0 +ENDCHAR +STARTCHAR uni034D +ENCODING 845 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +50 F8 -88 -88 -70 +50 ENDCHAR -STARTCHAR otilde -ENCODING 1013 -SWIDTH 545 0 +STARTCHAR uni034E +ENCODING 846 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 3 2 1 -2 BITMAP -70 -80 +40 E0 -80 -70 ENDCHAR -STARTCHAR odieresis -ENCODING 1014 -SWIDTH 545 0 +STARTCHAR uni034F +ENCODING 847 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 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 -10 -70 -10 +38 E0 ENDCHAR -STARTCHAR divide -ENCODING 1015 -SWIDTH 545 0 +STARTCHAR uni0351 +ENCODING 849 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 2 3 1 7 BITMAP +40 80 -F0 -88 -88 +40 +ENDCHAR +STARTCHAR uni0352 +ENCODING 850 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 +BITMAP +70 88 -F0 -80 +20 ENDCHAR -STARTCHAR oslash -ENCODING 1016 -SWIDTH 545 0 +STARTCHAR uni0353 +ENCODING 851 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 -1 +BBX 3 3 1 -2 BITMAP -80 -E0 -90 -90 -90 +A0 +40 +A0 +ENDCHAR +STARTCHAR uni0354 +ENCODING 852 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +38 E0 -80 +38 ENDCHAR -STARTCHAR ugrave -ENCODING 1017 -SWIDTH 545 0 +STARTCHAR uni0355 +ENCODING 853 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 3 0 -2 BITMAP -70 -88 -80 -80 -88 -70 +E0 +38 +E0 ENDCHAR -STARTCHAR uacute -ENCODING 1018 -SWIDTH 545 0 +STARTCHAR uni0356 +ENCODING 854 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 6 4 0 -2 BITMAP -88 -D8 -A8 -88 -88 -88 +08 +C8 +34 +D4 ENDCHAR -STARTCHAR ucircumflex -ENCODING 1019 -SWIDTH 545 0 +STARTCHAR uni0357 +ENCODING 855 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 2 3 2 7 BITMAP -88 -D8 -A8 -88 -88 80 +40 80 ENDCHAR -STARTCHAR udieresis -ENCODING 1020 -SWIDTH 545 0 +STARTCHAR uni0358 +ENCODING 856 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -2 +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 -70 -88 -88 -88 -70 -40 E0 40 +E0 ENDCHAR -STARTCHAR yacute -ENCODING 1021 -SWIDTH 545 0 +STARTCHAR uni035A +ENCODING 858 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 3 0 -2 BITMAP -70 -88 -08 -08 -88 -70 +50 +A8 +50 ENDCHAR -STARTCHAR thorn -ENCODING 1022 -SWIDTH 545 0 +STARTCHAR uni035B +ENCODING 859 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 3 3 1 7 BITMAP -70 -88 -A0 80 +E0 +20 +ENDCHAR +STARTCHAR uni035C +ENCODING 860 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 1 -2 +BITMAP 88 70 ENDCHAR -STARTCHAR ydieresis -ENCODING 1023 -SWIDTH 545 0 +STARTCHAR uni035D +ENCODING 861 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 2 1 8 BITMAP 70 88 -28 -08 -88 -70 ENDCHAR -STARTCHAR uni00A0 -ENCODING 1024 -SWIDTH 545 0 +STARTCHAR uni035E +ENCODING 862 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 1 1 9 BITMAP -40 -F8 -80 -80 -F0 -80 -80 F8 ENDCHAR -STARTCHAR exclamdown -ENCODING 1025 -SWIDTH 545 0 +STARTCHAR uni035F +ENCODING 863 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 1 1 -2 BITMAP -50 -F8 -80 -80 -F0 -80 -80 F8 ENDCHAR -STARTCHAR cent -ENCODING 1026 -SWIDTH 545 0 +STARTCHAR uni0360 +ENCODING 864 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 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 -E0 -40 -40 -70 -48 -48 70 +88 ENDCHAR -STARTCHAR sterling -ENCODING 1027 -SWIDTH 545 0 +STARTCHAR uni0362 +ENCODING 866 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 3 1 -2 BITMAP 10 -20 F8 -88 +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 currency -ENCODING 1028 -SWIDTH 545 0 +STARTCHAR uni0366 +ENCODING 870 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 4 4 1 6 BITMAP -30 -48 +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 -E0 +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 -48 -30 +C0 +A0 ENDCHAR -STARTCHAR yen -ENCODING 1029 -SWIDTH 545 0 +STARTCHAR uni036B +ENCODING 875 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 3 0 7 BITMAP -70 -88 +D0 +A8 +A8 +ENDCHAR +STARTCHAR uni036C +ENCODING 876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 1 6 +BITMAP +A0 +C0 +80 80 -70 -08 -88 -70 ENDCHAR -STARTCHAR brokenbar -ENCODING 1030 -SWIDTH 545 0 +STARTCHAR uni036D +ENCODING 877 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 7 1 0 +BBX 3 4 1 6 BITMAP -E0 -40 -40 -40 -40 40 E0 +40 +60 ENDCHAR -STARTCHAR section -ENCODING 1031 -SWIDTH 545 0 +STARTCHAR uni036E +ENCODING 878 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 0 +BBX 3 4 1 6 BITMAP A0 -00 -E0 -40 +A0 40 40 +ENDCHAR +STARTCHAR uni036F +ENCODING 879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 7 +BITMAP +A0 40 -E0 +A0 ENDCHAR -STARTCHAR dieresis -ENCODING 1032 -SWIDTH 545 0 +STARTCHAR uni0370 +ENCODING 880 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 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 -38 -10 -10 -10 -10 -90 60 +A0 +38 +20 +20 +20 ENDCHAR -STARTCHAR copyright -ENCODING 1033 -SWIDTH 545 0 +STARTCHAR uni0372 +ENCODING 882 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -A0 -A0 -A0 -B8 +F8 A8 A8 -B8 +20 +20 +20 +70 ENDCHAR -STARTCHAR ordfeminine -ENCODING 1034 -SWIDTH 545 0 +STARTCHAR uni0373 +ENCODING 883 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -A0 -A0 -A0 F8 A8 -A8 -B8 +20 +20 +20 +20 +20 ENDCHAR -STARTCHAR guillemotleft -ENCODING 1035 -SWIDTH 545 0 +STARTCHAR uni0374 +ENCODING 884 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 7 0 0 +BBX 2 2 2 7 BITMAP -E0 40 -70 -50 -50 -50 -50 +80 ENDCHAR -STARTCHAR logicalnot -ENCODING 1036 -SWIDTH 545 0 +STARTCHAR uni0375 +ENCODING 885 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 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 -10 -20 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 -A0 -E0 +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 uni00AD -ENCODING 1037 -SWIDTH 545 0 +STARTCHAR uni037C +ENCODING 892 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 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 -98 -A8 -C8 88 88 ENDCHAR -STARTCHAR registered -ENCODING 1038 -SWIDTH 545 0 +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -1 +BBX 2 2 2 3 BITMAP -50 -20 +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 -50 +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 macron -ENCODING 1039 -SWIDTH 545 0 +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +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 -F8 +88 +50 +20 +20 +20 20 ENDCHAR -STARTCHAR degree -ENCODING 1040 -SWIDTH 545 0 +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 10 0 0 BITMAP +40 +80 +00 70 88 88 -F8 -88 88 88 +50 +D8 ENDCHAR -STARTCHAR plusminus -ENCODING 1041 -SWIDTH 545 0 +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 -80 -80 -F0 88 88 -F0 +88 ENDCHAR -STARTCHAR uni00B2 -ENCODING 1042 -SWIDTH 545 0 +STARTCHAR Beta +ENCODING 914 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12155,38 +11515,37 @@ F0 88 F0 ENDCHAR -STARTCHAR uni00B3 -ENCODING 1043 -SWIDTH 545 0 +STARTCHAR Gamma +ENCODING 915 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP F8 -88 +80 80 80 80 80 80 ENDCHAR -STARTCHAR acute -ENCODING 1044 -SWIDTH 545 0 +STARTCHAR Delta +ENCODING 916 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 7 0 0 BITMAP -78 -28 -28 -28 -48 +20 +20 +50 +50 88 -F8 88 +F8 ENDCHAR -STARTCHAR uni00B5 -ENCODING 1045 -SWIDTH 545 0 +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12198,66 +11557,65 @@ F0 80 F8 ENDCHAR -STARTCHAR paragraph -ENCODING 1046 -SWIDTH 545 0 +STARTCHAR Zeta +ENCODING 918 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -A8 -A8 -A8 -70 -A8 -A8 -A8 +F8 +08 +10 +20 +40 +80 +F8 ENDCHAR -STARTCHAR periodcentered -ENCODING 1047 -SWIDTH 545 0 +STARTCHAR Eta +ENCODING 919 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -F0 -08 -08 -70 -08 -08 -F0 +88 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR cedilla -ENCODING 1048 -SWIDTH 545 0 +STARTCHAR Theta +ENCODING 920 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP +70 88 88 -98 -A8 -C8 +F8 88 88 +70 ENDCHAR -STARTCHAR uni00B9 -ENCODING 1049 -SWIDTH 545 0 +STARTCHAR Iota +ENCODING 921 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 3 7 1 0 BITMAP -50 -20 -88 -98 -A8 -A8 -C8 -88 +E0 +40 +40 +40 +40 +40 +E0 ENDCHAR -STARTCHAR ordmasculine -ENCODING 1050 -SWIDTH 545 0 +STARTCHAR Kappa +ENCODING 922 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12269,23 +11627,23 @@ A0 90 88 ENDCHAR -STARTCHAR guillemotright -ENCODING 1051 -SWIDTH 545 0 +STARTCHAR Lambda +ENCODING 923 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -78 -28 -28 -28 -28 -A8 -48 +20 +20 +50 +50 +88 +88 +88 ENDCHAR -STARTCHAR onequarter -ENCODING 1052 -SWIDTH 545 0 +STARTCHAR Mu +ENCODING 924 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12297,23 +11655,37 @@ A8 88 88 ENDCHAR -STARTCHAR onehalf -ENCODING 1053 -SWIDTH 545 0 +STARTCHAR Nu +ENCODING 925 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 88 88 -88 -F8 -88 +C8 +A8 +98 88 88 ENDCHAR -STARTCHAR threequarters -ENCODING 1054 -SWIDTH 545 0 +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 @@ -12325,9 +11697,9 @@ BITMAP 88 70 ENDCHAR -STARTCHAR questiondown -ENCODING 1055 -SWIDTH 545 0 +STARTCHAR Pi +ENCODING 928 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12339,9 +11711,9 @@ F8 88 88 ENDCHAR -STARTCHAR Agrave -ENCODING 1056 -SWIDTH 545 0 +STARTCHAR Rho +ENCODING 929 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12353,23 +11725,23 @@ F0 80 80 ENDCHAR -STARTCHAR Aacute -ENCODING 1057 -SWIDTH 545 0 +STARTCHAR Sigma +ENCODING 931 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP -70 -88 -80 -80 -80 -88 -70 +F8 +40 +20 +10 +20 +40 +F8 ENDCHAR -STARTCHAR Acircumflex -ENCODING 1058 -SWIDTH 545 0 +STARTCHAR Tau +ENCODING 932 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12381,23 +11753,23 @@ F8 20 20 ENDCHAR -STARTCHAR Atilde -ENCODING 1059 -SWIDTH 545 0 +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP 88 88 -88 50 20 -40 -80 +20 +20 +20 ENDCHAR -STARTCHAR Adieresis -ENCODING 1060 -SWIDTH 545 0 +STARTCHAR Phi +ENCODING 934 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12409,9 +11781,9 @@ A8 70 20 ENDCHAR -STARTCHAR Aring -ENCODING 1061 -SWIDTH 545 0 +STARTCHAR Chi +ENCODING 935 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12423,38 +11795,9 @@ BITMAP 88 88 ENDCHAR -STARTCHAR AE -ENCODING 1062 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 8 0 -1 -BITMAP -88 -88 -88 -88 -88 -88 -F8 -08 -ENDCHAR -STARTCHAR Ccedilla -ENCODING 1063 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -88 -88 -88 -98 -68 -08 -08 -ENDCHAR -STARTCHAR Egrave -ENCODING 1064 -SWIDTH 545 0 +STARTCHAR Psi +ENCODING 936 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 7 0 0 BITMAP @@ -12462,239 +11805,263 @@ A8 A8 A8 A8 -A8 -A8 -F8 +70 +20 +20 ENDCHAR -STARTCHAR Eacute -ENCODING 1065 -SWIDTH 545 0 +STARTCHAR Omega +ENCODING 937 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 -1 +BBX 5 7 0 0 BITMAP -A8 -A8 -A8 -A8 -A8 -A8 -F8 -08 +70 +88 +88 +88 +88 +50 +D8 ENDCHAR -STARTCHAR Ecircumflex -ENCODING 1066 -SWIDTH 545 0 +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 9 1 0 BITMAP -C0 +A0 +00 +E0 40 40 -70 -48 -48 -70 +40 +40 +40 +E0 ENDCHAR -STARTCHAR Edieresis -ENCODING 1067 -SWIDTH 545 0 +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 9 0 0 BITMAP +50 +00 88 88 -88 -C8 -A8 -A8 -C8 +50 +20 +20 +20 +20 ENDCHAR -STARTCHAR Igrave -ENCODING 1068 -SWIDTH 545 0 +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 8 0 0 BITMAP -80 -80 -80 -F0 -88 -88 -F0 +10 +20 +00 +68 +90 +90 +90 +68 ENDCHAR -STARTCHAR Iacute -ENCODING 1069 -SWIDTH 545 0 +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 8 0 0 BITMAP +10 +20 +00 70 88 -08 -38 -08 +60 88 70 ENDCHAR -STARTCHAR Icircumflex -ENCODING 1070 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 7 0 0 -BITMAP -90 -A8 -A8 -E8 -A8 -A8 -90 -ENDCHAR -STARTCHAR Idieresis -ENCODING 1071 -SWIDTH 545 0 +STARTCHAR etatonos +ENCODING 942 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 10 0 -2 BITMAP -78 +10 +20 +00 +B0 +C8 88 88 -78 -28 -48 88 +08 +08 ENDCHAR -STARTCHAR Eth -ENCODING 1072 -SWIDTH 545 0 +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 3 8 1 0 BITMAP -70 -08 -78 -88 -78 +40 +80 +00 +80 +80 +80 +A0 +40 ENDCHAR -STARTCHAR Ntilde -ENCODING 1073 -SWIDTH 545 0 +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 5 10 0 0 BITMAP -18 -60 -80 -F0 +10 +20 +00 +50 +00 +90 +88 88 88 70 ENDCHAR -STARTCHAR Ograve -ENCODING 1074 -SWIDTH 545 0 +STARTCHAR alpha +ENCODING 945 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 0 +BBX 5 5 0 0 BITMAP -E0 +68 90 -E0 90 -E0 +90 +68 ENDCHAR -STARTCHAR Oacute -ENCODING 1075 -SWIDTH 545 0 +STARTCHAR beta +ENCODING 946 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 9 0 -2 BITMAP -F8 +60 +90 +90 +B0 88 -80 +88 +F0 80 80 ENDCHAR -STARTCHAR Ocircumflex -ENCODING 1076 -SWIDTH 545 0 +STARTCHAR gamma +ENCODING 947 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP -78 -28 -48 88 -F8 88 +50 +50 +20 +20 +20 ENDCHAR -STARTCHAR Otilde -ENCODING 1077 -SWIDTH 545 0 +STARTCHAR delta +ENCODING 948 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP 70 -88 -F8 80 70 +88 +88 +88 +70 ENDCHAR -STARTCHAR Odieresis -ENCODING 1078 -SWIDTH 545 0 +STARTCHAR epsilon +ENCODING 949 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP -A8 -A8 70 -A8 -A8 +88 +60 +88 +70 ENDCHAR -STARTCHAR multiply -ENCODING 1079 -SWIDTH 545 0 +STARTCHAR zeta +ENCODING 950 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 8 0 -1 BITMAP -F0 -08 +F8 +20 +40 +40 +40 30 08 -F0 +30 ENDCHAR -STARTCHAR Oslash -ENCODING 1080 -SWIDTH 545 0 +STARTCHAR eta +ENCODING 951 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 -2 BITMAP -88 -98 -A8 +B0 C8 88 +88 +88 +08 +08 ENDCHAR -STARTCHAR Ugrave -ENCODING 1081 -SWIDTH 545 0 +STARTCHAR theta +ENCODING 952 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 4 7 1 0 BITMAP -50 -20 -88 -98 -A8 -C8 -88 +60 +90 +90 +F0 +90 +90 +60 ENDCHAR -STARTCHAR Uacute -ENCODING 1082 -SWIDTH 545 0 +STARTCHAR iota +ENCODING 953 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 5 0 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 @@ -12702,45 +12069,67 @@ C0 A0 90 ENDCHAR -STARTCHAR Ucircumflex -ENCODING 1083 -SWIDTH 545 0 +STARTCHAR lambda +ENCODING 955 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 9 0 0 BITMAP -F8 -28 -28 -A8 -48 +80 +40 +40 +20 +20 +50 +50 +88 +88 ENDCHAR -STARTCHAR Udieresis -ENCODING 1084 -SWIDTH 545 0 +STARTCHAR mu +ENCODING 956 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 -2 BITMAP 88 -D8 -A8 88 88 +98 +E8 +80 +80 ENDCHAR -STARTCHAR Yacute -ENCODING 1085 -SWIDTH 545 0 +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 -88 -88 +20 +40 +70 +80 +80 +70 +08 +10 ENDCHAR -STARTCHAR Thorn -ENCODING 1086 -SWIDTH 545 0 +STARTCHAR omicron +ENCODING 959 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP @@ -12750,11426 +12139,52347 @@ BITMAP 88 70 ENDCHAR -STARTCHAR germandbls -ENCODING 1087 -SWIDTH 545 0 +STARTCHAR pi +ENCODING 960 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 6 5 0 0 BITMAP F8 -88 -88 -88 -88 +50 +50 +54 +48 ENDCHAR -STARTCHAR agrave -ENCODING 1088 -SWIDTH 545 0 +STARTCHAR rho +ENCODING 961 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 7 0 -2 BITMAP -F0 +70 88 88 -F0 +C8 +B0 80 80 ENDCHAR -STARTCHAR aacute -ENCODING 1089 -SWIDTH 545 0 +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 acircumflex -ENCODING 1090 -SWIDTH 545 0 +STARTCHAR tau +ENCODING 964 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 5 0 0 BITMAP F8 20 20 -20 -20 +28 +10 ENDCHAR -STARTCHAR atilde -ENCODING 1091 -SWIDTH 545 0 +STARTCHAR upsilon +ENCODING 965 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 5 0 0 BITMAP +90 88 88 88 -78 -08 70 ENDCHAR -STARTCHAR adieresis -ENCODING 1092 -SWIDTH 545 0 +STARTCHAR phi +ENCODING 966 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 7 0 -2 BITMAP -20 +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 aring -ENCODING 1093 -SWIDTH 545 0 +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 ae -ENCODING 1094 -SWIDTH 545 0 +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +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 -F8 +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 ccedilla -ENCODING 1095 -SWIDTH 545 0 +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 egrave -ENCODING 1096 -SWIDTH 545 0 +STARTCHAR uni03E1 +ENCODING 993 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -F8 +A8 +58 +08 +F0 ENDCHAR -STARTCHAR eacute -ENCODING 1097 -SWIDTH 545 0 +STARTCHAR uni03E3 +ENCODING 995 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 6 0 -1 BITMAP A8 A8 A8 -A8 -F8 +58 08 +F0 ENDCHAR -STARTCHAR ecircumflex -ENCODING 1098 -SWIDTH 545 0 +STARTCHAR uni03E4 +ENCODING 996 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 9 0 -2 BITMAP -C0 -40 -70 48 -70 +88 +88 +88 +88 +98 +68 +08 +08 ENDCHAR -STARTCHAR edieresis -ENCODING 1099 -SWIDTH 545 0 +STARTCHAR uni03E5 +ENCODING 997 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 -2 BITMAP +48 88 88 -C8 -A8 -C8 +88 +78 +08 +08 ENDCHAR -STARTCHAR igrave -ENCODING 1100 -SWIDTH 545 0 +STARTCHAR uni03E6 +ENCODING 998 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 5 1 0 +BBX 5 8 0 -1 BITMAP 80 80 -C0 -A0 -C0 +B0 +C8 +88 +88 +08 +70 ENDCHAR -STARTCHAR iacute -ENCODING 1101 -SWIDTH 545 0 +STARTCHAR uni03E7 +ENCODING 999 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -38 +88 +10 +20 +40 88 70 ENDCHAR -STARTCHAR icircumflex -ENCODING 1102 -SWIDTH 545 0 +STARTCHAR uni03E9 +ENCODING 1001 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -E8 -A8 -90 +20 +20 +30 ENDCHAR -STARTCHAR idieresis -ENCODING 1103 -SWIDTH 545 0 +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 -78 88 -78 -28 48 +70 +50 +88 ENDCHAR -STARTCHAR eth -ENCODING 1104 -SWIDTH 545 0 +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 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 -40 -20 -00 70 88 -F8 80 +88 70 ENDCHAR -STARTCHAR ntilde -ENCODING 1105 -SWIDTH 545 0 +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 7 0 0 +BBX 3 9 1 -2 BITMAP -50 +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 ograve -ENCODING 1106 -SWIDTH 545 0 +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -1 +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 -40 E0 40 -40 -78 -48 +70 48 48 -10 +70 +40 +E0 ENDCHAR -STARTCHAR oacute -ENCODING 1107 -SWIDTH 545 0 +STARTCHAR uni03F8 +ENCODING 1016 +SWIDTH 480 0 DWIDTH 6 0 BBX 5 8 0 0 BITMAP -10 -20 -00 -F8 +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 ocircumflex -ENCODING 1108 -SWIDTH 545 0 +STARTCHAR uni03FA +ENCODING 1018 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -60 +08 +08 +08 88 70 ENDCHAR -STARTCHAR otilde -ENCODING 1109 -SWIDTH 545 0 +STARTCHAR uni03FE +ENCODING 1022 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 odieresis -ENCODING 1110 -SWIDTH 545 0 +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 7 2 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 divide -ENCODING 1111 -SWIDTH 545 0 +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 -A0 -00 +E0 40 40 40 40 40 +E0 ENDCHAR -STARTCHAR oslash -ENCODING 1112 -SWIDTH 545 0 +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 480 0 DWIDTH 6 0 -BBX 3 8 1 -1 +BBX 3 9 1 0 BITMAP -20 -00 -20 -20 -20 -20 A0 +00 +E0 +40 40 +40 +40 +40 +E0 ENDCHAR -STARTCHAR ugrave -ENCODING 1113 -SWIDTH 545 0 +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 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 -B8 +B0 A8 -B8 +A8 +B0 ENDCHAR -STARTCHAR uacute -ENCODING 1114 -SWIDTH 545 0 +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP A0 A0 -F8 +A0 +F0 A8 -B8 +A8 +B0 ENDCHAR -STARTCHAR ucircumflex -ENCODING 1115 -SWIDTH 545 0 +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 0 +BBX 5 7 0 0 BITMAP -40 E0 40 -78 +40 +70 +48 48 48 ENDCHAR -STARTCHAR udieresis -ENCODING 1116 -SWIDTH 545 0 +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 480 0 DWIDTH 6 0 -BBX 4 8 0 0 +BBX 5 10 0 0 BITMAP 10 20 00 +88 90 A0 C0 A0 90 +88 ENDCHAR -STARTCHAR yacute -ENCODING 1117 -SWIDTH 545 0 +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 8 0 0 +BBX 5 10 0 0 BITMAP 40 20 00 88 +88 98 A8 C8 88 +88 ENDCHAR -STARTCHAR thorn -ENCODING 1118 -SWIDTH 545 0 +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 9 0 -1 +BBX 5 10 0 0 BITMAP -50 -20 +88 +70 00 88 88 88 +88 78 08 70 ENDCHAR -STARTCHAR ydieresis -ENCODING 1119 -SWIDTH 545 0 +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 480 0 DWIDTH 6 0 -BBX 5 6 0 -1 +BBX 5 9 0 -2 BITMAP 88 88 88 88 +88 +88 F8 20 +20 ENDCHAR - -STARTCHAR U_1100 -ENCODING 4352 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 -BITMAP -FF80 -0080 -0080 -0080 -0080 -0000 -0000 -0000 -0000 -0000 -0000 -ENDCHAR -STARTCHAR U_1101 -ENCODING 4353 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FBE0 -0820 -0820 -0820 -0820 -0000 -0000 -0000 -0000 -0000 -0000 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_1102 -ENCODING 4354 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8000 -8000 -8000 -8000 -FF80 -0000 -0000 -0000 -0000 -0000 -0000 +F0 +80 +80 +F0 +88 +88 +F0 ENDCHAR -STARTCHAR U_1103 -ENCODING 4355 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFC0 -4000 -4000 -7FC0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +F0 +88 +88 +F0 +88 +88 +F0 ENDCHAR -STARTCHAR U_1104 -ENCODING 4356 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FBE0 -4200 -4200 -5A00 -63E0 -0000 -0000 -0000 -0000 -0000 -0000 +F8 +80 +80 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_1105 -ENCODING 4357 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -FF80 -0080 -FF80 -4000 -7F80 -0000 -0000 -0000 -0000 -0000 -0000 +30 +50 +50 +50 +50 +50 +F8 +88 ENDCHAR -STARTCHAR U_1106 -ENCODING 4358 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFE0 -4040 -4040 -7FC0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +F8 +80 +80 +F0 +80 +80 +F8 ENDCHAR -STARTCHAR U_1107 -ENCODING 4359 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8080 -FF80 -8080 -FF80 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +A8 +A8 +70 +20 +70 +A8 +A8 ENDCHAR -STARTCHAR U_1108 -ENCODING 4360 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8A20 -FBE0 -8A20 -8A20 -FBE0 -0000 -0000 -0000 -0000 -0000 -0000 +70 +88 +08 +70 +08 +88 +70 ENDCHAR -STARTCHAR U_1109 -ENCODING 4361 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0400 -0400 -0A00 -3180 -C060 -0000 -0000 -0000 -0000 -0000 -0000 +88 +88 +98 +A8 +C8 +88 +88 ENDCHAR -STARTCHAR U_110A -ENCODING 4362 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -1100 -1100 -2A80 -4440 -8840 -0000 -0000 -0000 -0000 -0000 -0000 +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +88 ENDCHAR -STARTCHAR U_110B -ENCODING 4363 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -7F00 -8080 -8080 -7F00 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +88 +90 +A0 +C0 +A0 +90 +88 ENDCHAR -STARTCHAR U_110C -ENCODING 4364 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FF80 -0100 -0600 -1980 -E040 -0000 -0000 -0000 -0000 -0000 -0000 +38 +48 +48 +48 +48 +48 +88 ENDCHAR -STARTCHAR U_110D -ENCODING 4365 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -7FC0 -1100 -2A80 -4440 -8800 -0000 -0000 -0000 -0000 -0000 -0000 +88 +D8 +A8 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_110E -ENCODING 4366 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -3F80 -0000 -FFE0 -0200 -0D80 -F040 -0000 -0000 -0000 -0000 -0000 +88 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_110F -ENCODING 4367 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FF80 -0080 -0080 -FF80 -0080 -0000 -0000 -0000 -0000 -0000 -0000 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_1110 -ENCODING 4368 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFC0 -4000 -7F80 -4000 -7FC0 -0000 -0000 -0000 -0000 -0000 -0000 +F8 +88 +88 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_1111 -ENCODING 4369 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FF80 -2200 -2200 -FF80 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +F0 +88 +88 +F0 +80 +80 +80 ENDCHAR -STARTCHAR U_1112 -ENCODING 4370 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -3F00 -0000 -FFC0 -0000 -3F00 -4080 -4080 -3F00 -0000 -0000 -0000 +70 +88 +80 +80 +80 +88 +70 ENDCHAR -STARTCHAR U_1113 -ENCODING 4371 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8F80 -8080 -8080 -F080 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +F8 +20 +20 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_1114 -ENCODING 4372 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8400 -8400 -B400 -C780 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +88 +88 +88 +88 +78 +08 +70 ENDCHAR -STARTCHAR U_112C -ENCODING 4396 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -9480 -9480 -F780 -9480 -F780 -0000 -3E00 -6300 -4100 -6300 -3E00 +20 +70 +A8 +A8 +A8 +70 +20 ENDCHAR -STARTCHAR U_112D -ENCODING 4397 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -13E0 -1020 -1020 -1020 -2820 -4420 -8220 -0000 -0000 -0000 +88 +88 +50 +20 +50 +88 +88 ENDCHAR -STARTCHAR U_1133 -ENCODING 4403 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -4AE0 -4A20 -4E20 -AA20 -AA20 -AE20 -0000 -0000 +90 +90 +90 +90 +90 +90 +F8 +08 +08 ENDCHAR -STARTCHAR U_1134 -ENCODING 4404 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -4440 -4440 -4440 -AAA0 -AAA0 -0000 -0000 -0000 +88 +88 +88 +78 +08 +08 +08 ENDCHAR -STARTCHAR U_1135 -ENCODING 4405 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -21C0 -2220 -2220 -5220 -5220 -89C0 -0000 -0000 +A8 +A8 +A8 +A8 +A8 +A8 +F8 ENDCHAR -STARTCHAR U_113B -ENCODING 4411 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -21C0 -2000 -23E0 -5140 -5220 -89C0 -0000 -0000 +A8 +A8 +A8 +A8 +A8 +A8 +F8 +08 +08 ENDCHAR -STARTCHAR endash -ENCODING 8211 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 1 1 4 +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFE0 +C0 +40 +40 +70 +48 +48 +70 ENDCHAR -STARTCHAR emdash -ENCODING 8212 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 1 1 4 +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFE0 +88 +88 +88 +C8 +A8 +A8 +C8 ENDCHAR -STARTCHAR U_2016 -ENCODING 8214 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 4 12 4 -1 +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 BITMAP +80 +80 +80 +E0 90 90 -90 -90 -90 -90 -90 -90 -90 -90 -90 -90 -ENDCHAR -STARTCHAR quoteleft -ENCODING 8216 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 4 8 7 -BITMAP -40 -80 -C0 -C0 +E0 ENDCHAR -STARTCHAR quoteright -ENCODING 8217 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 4 2 7 +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C0 -C0 -40 -80 +70 +88 +08 +78 +08 +88 +70 ENDCHAR -STARTCHAR quotedblleft -ENCODING 8220 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 4 6 7 +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -48 90 -D8 -D8 +A8 +A8 +E8 +A8 +A8 +90 ENDCHAR -STARTCHAR quotedblright -ENCODING 8221 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 4 1 7 +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -D8 -D8 +78 +88 +88 +78 +28 48 -90 +88 ENDCHAR -STARTCHAR bullet -ENCODING 8226 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 2 5 4 +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -C0 -C0 +70 +08 +78 +88 +78 ENDCHAR -STARTCHAR twodotenleader -ENCODING 8229 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 1 2 4 +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C180 +70 +80 +F0 +88 +88 +88 +70 ENDCHAR -STARTCHAR ellipsis -ENCODING 8230 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 1 1 4 +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -C660 +F0 +88 +F0 +88 +F0 ENDCHAR -STARTCHAR U_2027 -ENCODING 8231 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 2 5 4 +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -C0 -C0 +F8 +80 +80 +80 +80 ENDCHAR -STARTCHAR perthousand -ENCODING 8240 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 BITMAP -4000 -A000 -A100 -A200 -A400 -AA20 -4D50 -1550 -2550 -4550 -8550 -0220 +30 +50 +50 +50 +F8 +88 ENDCHAR -STARTCHAR minute -ENCODING 8242 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 2 2 8 +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -40 +70 +88 +F0 80 +70 ENDCHAR -STARTCHAR second -ENCODING 8243 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 4 3 1 8 +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -40 -50 -A0 +A8 +70 +20 +70 +A8 ENDCHAR -STARTCHAR U_2035 -ENCODING 8245 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 2 9 8 +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -80 -40 +70 +88 +30 +88 +70 ENDCHAR -STARTCHAR U_203B -ENCODING 8251 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -8C40 -4C80 -2100 -1200 -CCC0 -C4C0 -0A00 -1100 -2080 -4C40 -8C20 +88 +98 +A8 +C8 +88 ENDCHAR -STARTCHAR U_203E -ENCODING 8254 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 1 0 10 +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FFF0 +88 +70 +00 +88 +98 +A8 +C8 +88 ENDCHAR -STARTCHAR Euro -ENCODING 8364 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 10 2 0 +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -1C -22 -40 -40 -F8 -40 -F8 -40 -22 -1C +90 +A0 +C0 +A0 +90 ENDCHAR -STARTCHAR U_2103 -ENCODING 8451 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 10 0 0 +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -6380 -9440 -6400 -0800 -0800 -0800 -0800 -0400 -0440 -0380 +38 +48 +48 +48 +88 ENDCHAR -STARTCHAR afii61248 -ENCODING 8453 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -3020 -4840 -8080 -8100 -4A80 -3540 -0A20 -1220 -2220 -4140 -8080 +88 +D8 +A8 +88 +88 ENDCHAR -STARTCHAR U_2109 -ENCODING 8457 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4FE0 -A420 -A400 -4480 -0780 -0480 -0400 -0400 -0400 -0E00 +88 +88 +F8 +88 +88 ENDCHAR -STARTCHAR afii61352 -ENCODING 8470 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -CE00 -4400 -6400 -64C0 -5520 -5520 -4D20 -4CC0 -4400 -E5E0 +70 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_2153 -ENCODING 8531 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4080 -C100 -4100 -4200 -4200 -44C0 -E520 -0840 -0820 -1120 -10C0 +F8 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_2154 -ENCODING 8532 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -6100 -9100 -2200 -4200 -8400 -F4C0 -0920 -0840 -1020 -1120 -20C0 +F0 +88 +88 +88 +F0 +80 +80 ENDCHAR -STARTCHAR U_2155 -ENCODING 8533 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4080 -C100 -4100 -4200 -4200 -45E0 -E500 -09C0 -0820 -1120 -10C0 +70 +88 +80 +88 +70 ENDCHAR -STARTCHAR U_2156 -ENCODING 8534 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -6080 -9100 -2100 -4200 -8200 -F5E0 -0500 -09C0 -0820 -1120 -10C0 +F8 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_2157 -ENCODING 8535 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -6080 -9100 -2100 -1200 -9200 -65E0 -0500 -09C0 -0820 -1120 -10C0 +88 +88 +88 +88 +78 +08 +70 ENDCHAR -STARTCHAR U_2158 -ENCODING 8536 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -1100 -3100 -5200 -FA00 -1400 -1500 -09E0 -0900 -11C0 -1020 -21C0 +20 +20 +70 +A8 +A8 +A8 +70 +20 +20 ENDCHAR -STARTCHAR U_2159 -ENCODING 8537 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4100 -C200 -4200 -4400 -4480 -E900 -0A00 -1380 -1240 -2240 -2180 +88 +50 +20 +50 +88 ENDCHAR -STARTCHAR U_215A -ENCODING 8538 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -F020 -8040 -E080 -1100 -1240 -E480 -0900 -11C0 -2120 -4120 -80C0 +90 +90 +90 +90 +F8 +08 +08 ENDCHAR -STARTCHAR U_215B -ENCODING 8539 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4080 -C100 -4100 -4200 -4200 -44C0 -E520 -08C0 -0920 -1120 -10C0 +88 +88 +78 +08 +08 ENDCHAR -STARTCHAR U_215C -ENCODING 8540 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -6080 -9100 -2100 -1200 -9200 -64C0 -0520 -08C0 -0920 -1120 -10C0 +A8 +A8 +A8 +A8 +F8 ENDCHAR -STARTCHAR U_215D -ENCODING 8541 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -F080 -8100 -E100 -1200 -1200 -94C0 -6520 -08C0 -0920 -1120 -10C0 +A8 +A8 +A8 +A8 +F8 +08 +08 ENDCHAR -STARTCHAR U_215E -ENCODING 8542 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -F080 -1100 -2100 -2200 -4200 -44C0 -4520 -08C0 -0920 -1120 -10C0 +C0 +40 +70 +48 +70 ENDCHAR -STARTCHAR U_215F -ENCODING 8543 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4100 -C100 -4200 -4200 -E400 -0400 -0800 -0800 -1000 -1000 -2000 +88 +88 +C8 +A8 +C8 ENDCHAR -STARTCHAR U_2160 -ENCODING 8544 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 3 11 5 0 +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP +80 +80 E0 -40 -40 -40 -40 -40 -40 -40 -40 -40 +90 E0 ENDCHAR -STARTCHAR U_2161 -ENCODING 8545 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 11 2 0 -BITMAP -E7 -42 -42 -42 -42 -42 -42 -42 -42 -42 -E7 -ENDCHAR -STARTCHAR U_2162 -ENCODING 8546 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 -BITMAP -EEE0 -4440 -4440 -4440 -4440 -4440 -4440 -4440 -4440 -4440 -EEE0 -ENDCHAR -STARTCHAR U_2163 -ENCODING 8547 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -EEE0 -4440 -4440 -4440 -4280 -4280 -4280 -4280 -4100 -4100 -E100 +E0 +10 +70 +10 +E0 ENDCHAR -STARTCHAR U_2164 -ENCODING 8548 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 11 2 0 +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -E380 -4100 -4100 -2200 -2200 -2200 -1400 -1400 -0800 -0800 -0800 +90 +A8 +E8 +A8 +90 ENDCHAR -STARTCHAR U_2165 -ENCODING 8549 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -EEE0 -4440 -4440 -4440 -2840 -2840 -2840 -2840 -1040 -1040 -10E0 +70 +90 +70 +50 +90 ENDCHAR -STARTCHAR U_2166 -ENCODING 8550 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 11 0 0 +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -EFF0 -4520 -4520 -4520 -2920 -2920 -2920 -2920 -1120 -1120 -13F0 +40 +20 +00 +70 +88 +F0 +80 +70 ENDCHAR -STARTCHAR U_2167 -ENCODING 8551 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 11 0 0 +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8BF0 -8AA0 -8AA0 -8AA0 -52A0 -52A0 -52A0 -22A0 -22A0 -22A0 -23F0 +50 +00 +70 +88 +F0 +80 +70 ENDCHAR -STARTCHAR U_2168 -ENCODING 8552 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -EEE0 -4440 -4280 -4280 -4100 -4100 -4280 -4280 -4440 -4440 -EEE0 +40 +E0 +40 +70 +48 +48 +48 +08 +10 ENDCHAR -STARTCHAR U_2169 -ENCODING 8553 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 11 2 0 +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -E7 -42 -42 -24 -24 -18 -18 -24 -42 -42 -E7 +10 +20 +00 +F8 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_216A -ENCODING 8554 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -EEE0 -4440 -2840 -2840 -1040 -1040 -1040 -2840 -2840 -4440 -EEE0 +70 +80 +E0 +80 +70 ENDCHAR -STARTCHAR U_216B -ENCODING 8555 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 11 0 0 +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -EFF0 -44A0 -44A0 -28A0 -28A0 -10A0 -10A0 -28A0 -28A0 -44A0 -E7F0 +78 +80 +70 +08 +F0 ENDCHAR -STARTCHAR uni2170 -ENCODING 8560 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 3 9 5 0 +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 BITMAP 40 00 -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 uni2171 -ENCODING 8561 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 9 3 0 +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 -2 BITMAP -48 -00 +10 00 -D8 -48 -48 -48 -48 -FC +30 +10 +10 +10 +90 +60 ENDCHAR -STARTCHAR uni2172 -ENCODING 8562 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 0 +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4900 -0000 -0000 -DB00 -4900 -4900 -4900 -4900 -FF80 +60 +A0 +B0 +A8 +B0 ENDCHAR -STARTCHAR uni2173 -ENCODING 8563 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 0 +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4000 -0000 -0000 -CD80 -4500 -4500 -4500 -4200 -E200 +A0 +A0 +F0 +A8 +B0 ENDCHAR -STARTCHAR uni2174 -ENCODING 8564 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 6 2 0 +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -EE -44 -28 -28 -10 -10 +40 +E0 +40 +70 +48 +48 +48 ENDCHAR -STARTCHAR U_2190 -ENCODING 8592 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 1 0 BITMAP -0000 -0000 -1000 -3000 -7000 -FFE0 -7000 -3000 -1000 -0000 -0000 +20 +40 +00 +90 +A0 +C0 +A0 +90 ENDCHAR -STARTCHAR U_2191 -ENCODING 8593 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 11 4 -1 +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 -20 -20 -20 -20 -20 -20 ENDCHAR -STARTCHAR U_2192 -ENCODING 8594 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 5 0 2 +STARTCHAR uni0460 +ENCODING 1120 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0080 -0040 -FFE0 -0040 -0080 +50 +88 +88 +A8 +A8 +A8 +50 ENDCHAR -STARTCHAR U_2193 -ENCODING 8595 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 11 4 -1 +STARTCHAR uni0461 +ENCODING 1121 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -20 -20 -20 -20 -20 -20 -20 -20 +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 -20 ENDCHAR -STARTCHAR U_2194 -ENCODING 8596 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -2200 -4100 -FF80 -4100 -2200 -0000 -0000 -0000 +40 +40 +F0 +40 +70 +48 +70 ENDCHAR -STARTCHAR U_2195 -ENCODING 8597 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0464 +ENCODING 1124 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -2000 -7000 -A800 -2000 -2000 -A800 -7000 -2000 -0000 -0000 +98 +A0 +A0 +F8 +A0 +A0 +98 ENDCHAR -STARTCHAR U_2196 -ENCODING 8598 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0465 +ENCODING 1125 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -F000 -E000 -E000 -9000 -0800 -0400 -0200 -0100 -0080 -0040 -0020 +98 +A0 +F8 +A0 +98 ENDCHAR -STARTCHAR U_2197 -ENCODING 8599 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0466 +ENCODING 1126 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -01E0 -0060 -00A0 -0120 -0200 -0400 -0800 -1000 -2000 -4000 -8000 +20 +50 +50 +88 +F8 +A8 +A8 ENDCHAR -STARTCHAR U_2198 -ENCODING 8600 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0467 +ENCODING 1127 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -8000 -4000 -2000 -1000 -0800 -0400 -0200 -0120 -00E0 -00E0 -01E0 +20 +50 +50 +88 +F8 +A8 ENDCHAR -STARTCHAR U_2199 -ENCODING 8601 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0468 +ENCODING 1128 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0020 -0040 -0080 -0100 -0200 -0400 -0800 -9000 -E000 -E000 -F000 +90 +90 +B8 +F8 +B8 +B8 +B8 ENDCHAR -STARTCHAR U_219A -ENCODING 8602 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0469 +ENCODING 1129 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -2080 -4100 -FFE0 -4200 -2400 -0000 -0000 -0000 +90 +90 +F8 +B8 +B8 ENDCHAR -STARTCHAR U_219B -ENCODING 8603 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -0100 -0480 -0840 -FFE0 -2040 -4080 -0100 -0000 -0000 +F8 +88 +50 +50 +70 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_219C -ENCODING 8604 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0000 -0000 -F000 -C300 -E780 -BCC0 -9860 -0000 -0000 -0000 -0000 +F8 +88 +50 +70 +A8 +A8 ENDCHAR -STARTCHAR U_219D -ENCODING 8605 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046C +ENCODING 1132 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -0000 -0000 -0000 -03E0 -00E0 -38E0 -6DA0 -C720 -8000 -0000 -0000 +FC +C4 +A8 +90 +F8 +B8 +B8 +A8 ENDCHAR -STARTCHAR U_219E -ENCODING 8606 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046D +ENCODING 1133 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0000 -0000 -1200 -2400 -4800 -FFE0 -4800 -2400 -1200 -0000 -0000 +FC +A8 +90 +F8 +B8 +A8 ENDCHAR -STARTCHAR U_219F -ENCODING 8607 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046E +ENCODING 1134 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 BITMAP -1000 -3800 -5400 -9200 -3800 -5400 -9200 -1000 -1000 -1000 -1000 +50 +20 +00 +70 +88 +08 +30 +08 +08 +70 +80 +70 ENDCHAR -STARTCHAR U_21A0 -ENCODING 8608 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni046F +ENCODING 1135 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0000 -0900 -0480 -0240 -FFE0 -0240 -0480 -0900 -0000 -0000 +50 +20 +00 +70 +88 +30 +08 +70 +80 +70 ENDCHAR -STARTCHAR U_21A1 -ENCODING 8609 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0470 +ENCODING 1136 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1000 -1000 -1000 -9200 -5400 -3800 -1000 -9200 -5400 -3800 -1000 +A8 +A8 +A8 +70 +20 +20 +20 ENDCHAR -STARTCHAR U_21A2 -ENCODING 8610 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0471 +ENCODING 1137 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -1020 -2040 -4080 -FF80 -4080 -2040 -1020 -0000 -0000 +A8 +A8 +70 +20 +20 ENDCHAR -STARTCHAR U_21A3 -ENCODING 8611 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10147 +ENCODING 1138 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -8100 -4080 -2040 -1FE0 -2040 -4080 -8100 -0000 +70 +88 +88 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_21A4 -ENCODING 8612 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10195 +ENCODING 1139 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0020 -1020 -2020 -4020 -FFE0 -4020 -2020 -1020 -0020 -0000 +70 +88 +F8 +88 +70 ENDCHAR -STARTCHAR U_21A5 -ENCODING 8613 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10148 +ENCODING 1140 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0800 -1C00 -2A00 -4900 -0800 -0800 -0800 -0800 -0800 -0800 -FF80 +88 +90 +90 +50 +50 +50 +20 ENDCHAR -STARTCHAR U_21A6 -ENCODING 8614 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10196 +ENCODING 1141 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -C000 -C180 -C0C0 -C060 -FFE0 -C060 -C0C0 -C180 -C000 -0000 +88 +90 +50 +50 +20 ENDCHAR -STARTCHAR U_21A7 -ENCODING 8615 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0476 +ENCODING 1142 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -FE00 -1000 -1000 -1000 -1000 -1000 -1000 -9200 -5400 -3800 -1000 +90 +48 +00 +88 +90 +90 +50 +50 +50 +20 ENDCHAR -STARTCHAR U_21A8 -ENCODING 8616 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0477 +ENCODING 1143 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0800 -1C00 -2A00 -4900 -0800 -0800 -0800 -4900 -2A00 -1C00 -FF80 +90 +48 +00 +88 +90 +50 +50 +20 ENDCHAR -STARTCHAR U_21A9 -ENCODING 8617 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0478 +ENCODING 1144 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -0080 -1040 -2020 -4020 -FFC0 -4000 -2000 -1000 +40 +A0 +A0 +B8 +B8 +B8 +58 +08 +10 ENDCHAR -STARTCHAR U_21AA -ENCODING 8618 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0479 +ENCODING 1145 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -0000 -4000 -8080 -8040 -7FE0 -0040 -0080 -0000 +58 +B8 +B8 +B8 +58 +08 +10 ENDCHAR -STARTCHAR U_21AB -ENCODING 8619 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047A +ENCODING 1146 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -0000 -0000 -0000 -13C0 -2660 -4420 -FFE0 -4400 -2400 -1000 -0000 +20 +70 +A8 +88 +88 +88 +88 +A8 +70 +20 ENDCHAR -STARTCHAR U_21AC -ENCODING 8620 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047B +ENCODING 1147 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -0000 -0000 -0000 -7000 -9880 -C840 -7FE0 -0840 -0880 -0000 -0000 +20 +70 +A8 +88 +88 +A8 +70 +20 ENDCHAR -STARTCHAR U_21AD -ENCODING 8621 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047C +ENCODING 1148 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0000 -0000 -0000 -2080 -4E40 -EAE0 -5140 -2080 -0000 -0000 -0000 +70 +00 +20 +20 +88 +88 +88 +A8 +50 ENDCHAR -STARTCHAR U_21AE -ENCODING 8622 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047D +ENCODING 1149 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -2080 -4240 -8420 -FFE0 -8820 -5040 -2080 -0000 -0000 +70 +00 +20 +A8 +88 +A8 +50 ENDCHAR -STARTCHAR U_21AF -ENCODING 8623 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047E +ENCODING 1150 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -8000 -8200 -8600 -8A00 -9200 -A200 -C200 -9240 -0A80 -0700 -0200 +F8 +A8 +00 +50 +88 +88 +A8 +A8 +A8 +50 ENDCHAR -STARTCHAR U_21B0 -ENCODING 8624 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni047F +ENCODING 1151 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -2000 -4000 -FC00 -4400 -2400 -0400 -0400 -0400 -0400 -0400 +F8 +A8 +00 +50 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_21B1 -ENCODING 8625 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0480 +ENCODING 1152 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -1000 -0800 -FC00 -8800 -9000 -8000 -8000 -8000 -8000 -8000 +70 +88 +88 +80 +80 +80 +80 +70 +10 +10 ENDCHAR -STARTCHAR U_21B2 -ENCODING 8626 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0481 +ENCODING 1153 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 BITMAP -0400 -0400 -0400 -0400 -0400 -0400 -2400 -4400 -FC00 -4000 -2000 +70 +88 +80 +80 +70 +10 +10 ENDCHAR -STARTCHAR U_21B3 -ENCODING 8627 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0482 +ENCODING 1154 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -9000 -8800 -FC00 -0800 -1000 +28 +10 +B0 +48 +40 +A0 ENDCHAR -STARTCHAR U_21B4 -ENCODING 8628 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0483 +ENCODING 1155 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 7 BITMAP -F800 -0800 -0800 -0800 -0800 -0800 -0800 -4900 -2A00 -1C00 -0800 +04 +FC +80 ENDCHAR -STARTCHAR U_21B5 -ENCODING 8629 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0484 +ENCODING 1156 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 BITMAP -0000 -0000 -0000 -0020 -0020 -0020 -2020 -4020 -FFE0 -4000 -2000 +70 +8C ENDCHAR -STARTCHAR U_21B6 -ENCODING 8630 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0485 +ENCODING 1157 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 BITMAP -0000 -0000 -0000 -0000 -0F80 -1DC0 -3060 -2020 -A800 -7000 -2000 +70 +C8 ENDCHAR -STARTCHAR U_21B7 -ENCODING 8631 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0486 +ENCODING 1158 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 2 0 8 BITMAP -0000 -0000 -0000 -0000 -1F00 -3180 -6080 -4080 -C2A0 -01C0 -0080 +70 +98 ENDCHAR -STARTCHAR U_21B8 -ENCODING 8632 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0487 +ENCODING 1159 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 2 0 8 BITMAP -FFE0 -0000 -F000 -C000 -A000 -9000 -0800 -0400 -0200 -0100 -0080 +60 +9C ENDCHAR -STARTCHAR U_21B9 -ENCODING 8633 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0488 +ENCODING 1160 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 BITMAP -9000 -A000 -FFE0 -A000 -9000 -0120 -00A0 -FFE0 -00A0 -0120 -0000 +40 +A0 +08 +14 +00 +00 +00 +00 +40 +A0 +08 +14 ENDCHAR -STARTCHAR U_21BA -ENCODING 8634 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0489 +ENCODING 1161 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 12 0 -2 BITMAP -03C0 -0300 -4280 -8240 -8040 -8040 -4080 -2100 -1E00 -0000 -0000 +40 +84 +C8 +0C +00 +00 +00 +00 +40 +84 +C8 +0C ENDCHAR -STARTCHAR U_21BB -ENCODING 8635 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048A +ENCODING 1162 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 BITMAP -0000 -0000 -0000 -F000 -3000 -5200 -9100 -8100 -8100 -4200 -3C00 +88 +70 +00 +88 +98 +98 +A8 +C8 +C8 +88 +10 +10 ENDCHAR -STARTCHAR U_21BC -ENCODING 8636 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048B +ENCODING 1163 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -1000 -2000 -4000 -FFE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +88 +70 +00 +88 +88 +98 +A8 +C8 +88 +10 +10 ENDCHAR -STARTCHAR U_21BD -ENCODING 8637 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048C +ENCODING 1164 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FFE0 -4000 -2000 -1000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +40 +40 +E0 +40 +70 +48 +48 +70 ENDCHAR -STARTCHAR U_21BE -ENCODING 8638 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048D +ENCODING 1165 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8000 -C000 -A000 -9000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +40 +E0 +40 +70 +48 +48 +70 ENDCHAR -STARTCHAR U_21BF -ENCODING 8639 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048E +ENCODING 1166 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1000 -3000 -5000 -9000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 +F0 +88 +88 +A8 +F0 +88 +80 +80 ENDCHAR -STARTCHAR U_21C0 -ENCODING 8640 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni048F +ENCODING 1167 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -0080 -0040 -FFE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +F0 +88 +88 +A8 +F0 +88 +80 +80 ENDCHAR -STARTCHAR U_21C1 -ENCODING 8641 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -FFE0 -0040 -0080 +08 +08 +F8 +80 +80 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_21C2 -ENCODING 8642 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -A000 -C000 -8000 +08 +08 +F8 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_21C3 -ENCODING 8643 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2000 -2000 -2000 -2000 -2000 -2000 -2000 -2000 -A000 -6000 -2000 +78 +40 +40 +F0 +40 +40 +40 ENDCHAR -STARTCHAR U_21C4 -ENCODING 8644 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0080 -0040 -FFE0 -0040 -2080 -4000 -FFE0 -4000 -2000 -0000 -0000 +78 +40 +F0 +40 +40 ENDCHAR -STARTCHAR U_21C5 -ENCODING 8645 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -2200 -7200 -AA00 -2200 -2200 -2200 -2200 -2200 -2A80 -2700 -2200 +F8 +80 +80 +F0 +88 +88 +88 +88 +10 ENDCHAR -STARTCHAR U_21C6 -ENCODING 8646 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 BITMAP -0000 -0000 -2000 -4000 -FFE0 -4000 -2080 -0040 -FFE0 -0040 -0080 +F8 +80 +F0 +88 +88 +88 +10 ENDCHAR -STARTCHAR U_21C7 -ENCODING 8647 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 BITMAP -2000 -4000 -FFE0 -4000 -2000 -2000 -4000 -FFE0 -4000 -2000 -0000 +A8 +A8 +A8 +70 +A8 +A8 +AC +04 +04 ENDCHAR -STARTCHAR U_21C8 -ENCODING 8648 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 BITMAP -2100 -7380 -AD40 -2100 -2100 -2100 -2100 -2100 -2100 -2100 -2100 +A8 +70 +20 +70 +AC +04 +04 ENDCHAR -STARTCHAR U_21C9 -ENCODING 8649 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0080 -0040 -FFE0 -0040 -0080 -0080 -0040 -FFE0 -0040 -0080 -0000 +70 +88 +08 +10 +08 +08 +88 +70 +20 +40 ENDCHAR -STARTCHAR U_21CA -ENCODING 8650 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -2100 -2100 -2100 -2100 -2100 -2100 -2100 -2100 -AD40 -7380 -2100 +70 +88 +10 +08 +88 +70 +20 +40 ENDCHAR -STARTCHAR U_21CB -ENCODING 8651 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 BITMAP -0000 -2000 -4000 -FFE0 -0000 -FFE0 -0040 -0080 -0000 -0000 -0000 +88 +90 +A0 +C0 +A0 +90 +88 +04 +04 ENDCHAR -STARTCHAR U_21CC -ENCODING 8652 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0100 -0080 -0040 -FFE0 -0000 -FFE0 -4000 -2000 -1000 +90 +A0 +C0 +A0 +90 +08 +08 ENDCHAR -STARTCHAR U_21CD -ENCODING 8653 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -1080 -2100 -7FE0 -8400 -7FE0 -2800 -1000 -0000 -0000 -0000 +A8 +B0 +A0 +C0 +A0 +B0 +A8 ENDCHAR -STARTCHAR U_21CE -ENCODING 8654 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0200 -2280 -7FC0 -8420 -8420 -7FC0 -2880 -0800 -0000 -0000 +A8 +B0 +E0 +B0 +A8 ENDCHAR -STARTCHAR U_21CF -ENCODING 8655 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049E +ENCODING 1182 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0300 -0480 -FFC0 -0820 -1020 -FFC0 -2080 -4100 -0000 -0000 +48 +E8 +50 +60 +50 +48 +48 ENDCHAR -STARTCHAR U_21D0 -ENCODING 8656 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni049F +ENCODING 1183 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -1000 -2000 -7FE0 -8000 -8000 -7FE0 -2000 -1000 -0000 -0000 +40 +40 +E0 +48 +50 +60 +50 +48 ENDCHAR -STARTCHAR U_21D1 -ENCODING 8657 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1800 -2400 -6600 -A500 -2400 -2400 -2400 -2400 -2400 -2400 -2400 +C8 +48 +50 +60 +60 +50 +48 +48 ENDCHAR -STARTCHAR U_21D2 -ENCODING 8658 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0100 -0080 -FFC0 -0020 -FFC0 -0080 -0100 -0000 -0000 -0000 +C8 +50 +60 +50 +48 ENDCHAR -STARTCHAR U_21D3 -ENCODING 8659 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -2800 -2800 -2800 -2800 -2800 -2800 -2800 -AA00 -6C00 -2800 -1000 +90 +90 +90 +F0 +90 +90 +90 +98 +08 +08 ENDCHAR -STARTCHAR U_21D4 -ENCODING 8660 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -2080 -7FC0 -8020 -7FC0 -2080 -0000 -0000 -0000 +90 +90 +F0 +90 +98 +08 +08 ENDCHAR -STARTCHAR U_21D5 -ENCODING 8661 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -3000 -4800 -CC00 -4800 -4800 -4800 -4800 -4800 -CC00 -4800 -3000 +B8 +A0 +A0 +E0 +A0 +A0 +A0 +A0 ENDCHAR -STARTCHAR U_21D6 -ENCODING 8662 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -F800 -9000 -8800 -C400 -A200 -1100 -0880 -0440 -0220 -0100 -0080 +B8 +A0 +E0 +A0 +A0 ENDCHAR -STARTCHAR U_21D7 -ENCODING 8663 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A6 +ENCODING 1190 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -1FE0 -0360 -0620 -0C60 -18E0 -31A0 -6320 -C620 -8C00 -1800 -3000 +E0 +A0 +A0 +B0 +A8 +A8 +A8 +A8 +08 +10 ENDCHAR -STARTCHAR U_21D8 -ENCODING 8664 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A7 +ENCODING 1191 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -2000 -1000 -8800 -4400 -2200 -1100 -08A0 -0460 -0220 -0120 -03E0 +E0 +A0 +B0 +A8 +A8 +08 +10 ENDCHAR -STARTCHAR U_21D9 -ENCODING 8665 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A8 +ENCODING 1192 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0080 -0100 -0220 -0440 -0880 -1100 -A200 -C400 -8800 -9000 -F800 +78 +80 +90 +A8 +A8 +A8 +70 +20 +18 ENDCHAR -STARTCHAR U_21DA -ENCODING 8666 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04A9 +ENCODING 1193 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -1 BITMAP -0000 -0000 -2000 -7FE0 -8000 -FFE0 -8000 -7FE0 -2000 -0000 -0000 +70 +80 +90 +A8 +70 +20 +18 ENDCHAR -STARTCHAR U_21DB -ENCODING 8667 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0000 -0100 -FF80 -0040 -FFE0 -0040 -FF80 -0100 -0000 -0000 +70 +88 +80 +80 +80 +80 +88 +70 +20 +10 ENDCHAR -STARTCHAR U_21DC -ENCODING 8668 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -2000 -4440 -EAA0 -5100 -2000 -0000 -0000 -0000 -0000 +70 +88 +80 +88 +70 +20 +10 ENDCHAR -STARTCHAR U_21DD -ENCODING 8669 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AC +ENCODING 1196 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0000 -0000 -0080 -4440 -AAE0 -1140 -0080 -0000 -0000 -0000 +F8 +20 +20 +20 +20 +20 +20 +30 +10 +10 ENDCHAR -STARTCHAR U_21DE -ENCODING 8670 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AD +ENCODING 1197 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -2000 -7000 -A800 -2000 -2000 -F800 -2000 -F800 -2000 -2000 -2000 +F8 +A8 +20 +20 +30 +10 +10 ENDCHAR -STARTCHAR U_21DF -ENCODING 8671 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1000 -1000 -FE00 -1000 -1000 -FE00 -1000 -9200 -5400 -3800 -1000 +88 +88 +50 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_21E0 -ENCODING 8672 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -2000 -4000 -F760 -4000 -2000 -0000 -0000 -0000 +88 +88 +50 +20 +20 +20 +20 ENDCHAR -STARTCHAR U_21E1 -ENCODING 8673 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1000 -3800 -5400 -9200 -0000 -1000 -1000 -0000 -1000 -1000 -1000 +88 +88 +50 +F8 +20 +20 +20 ENDCHAR -STARTCHAR U_21E2 -ENCODING 8674 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -0000 -0080 -0040 -DBE0 -0040 -0080 -0000 -0000 -0000 +88 +88 +50 +F8 +20 +20 +20 ENDCHAR -STARTCHAR U_21E3 -ENCODING 8675 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 BITMAP -1000 -1000 -0000 -1000 -1000 -0000 -1000 -9200 -5400 -3800 -1000 +88 +88 +50 +20 +50 +88 +88 +04 +04 ENDCHAR -STARTCHAR U_21E4 -ENCODING 8676 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 -2 BITMAP -0000 -0000 -0000 -9000 -A000 -FFE0 -A000 -9000 -0000 -0000 -0000 +88 +50 +20 +50 +88 +04 +04 ENDCHAR -STARTCHAR U_21E5 -ENCODING 8677 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B4 +ENCODING 1204 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0000 -0120 -00A0 -0060 -FFE0 -0060 -00A0 -0120 -0000 -0000 +E8 +48 +48 +48 +48 +48 +48 +78 +08 +08 ENDCHAR -STARTCHAR U_21E6 -ENCODING 8678 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B5 +ENCODING 1205 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -0000 -0000 -1000 -3000 -5FE0 -8020 -5FE0 -3000 -1000 -0000 -0000 +E8 +48 +48 +48 +48 +78 +08 +08 ENDCHAR -STARTCHAR U_21E7 -ENCODING 8679 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -1000 -2800 -4400 -EE00 -2800 -2800 -2800 -2800 -2800 -2800 -3800 +90 +90 +90 +90 +90 +70 +10 +18 +08 +08 ENDCHAR -STARTCHAR U_21E8 -ENCODING 8680 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -0000 -0000 -0100 -0180 -FF40 -8020 -FF40 -0180 -0100 -0000 -0000 +90 +90 +90 +70 +10 +18 +08 +08 ENDCHAR -STARTCHAR U_21E9 -ENCODING 8681 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -3800 -2800 -2800 -2800 -2800 -2800 -2800 -EE00 -4400 -2800 -1000 +88 +88 +A8 +A8 +78 +28 +28 +08 ENDCHAR -STARTCHAR U_21EA -ENCODING 8682 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -1800 -2400 -4200 -E700 -2400 -2400 -3C00 -0000 -3C00 -2400 -3C00 +88 +88 +A8 +78 +28 +08 ENDCHAR -STARTCHAR U_2200 -ENCODING 8704 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8200 -8200 -8200 -4400 -7C00 -4400 -2800 -2800 -2800 -1000 -1000 +80 +80 +F0 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_2201 -ENCODING 8705 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 BITMAP -6000 -9000 -9000 -8000 -8000 -8000 -8000 -8000 -9000 -9000 -6000 +80 +80 +80 +E0 +90 +90 +90 ENDCHAR -STARTCHAR U_2202 -ENCODING 8706 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BC +ENCODING 1212 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -3800 -4400 -0400 -0400 -3C00 -4400 -8800 -9000 -6000 +30 +48 +48 +48 +F8 +40 +48 +30 ENDCHAR -STARTCHAR U_2203 -ENCODING 8707 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BD +ENCODING 1213 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -FC00 -0400 -0400 -0400 -0400 -7C00 -0400 -0400 -0400 -0400 -FC00 +30 +48 +F8 +40 +48 +30 ENDCHAR -STARTCHAR U_2204 -ENCODING 8708 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BE +ENCODING 1214 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0800 -FC00 -1400 -1400 -1400 -7C00 -2400 -2400 -2400 -FC00 -4000 +30 +48 +48 +48 +F8 +40 +48 +30 +20 +10 ENDCHAR -STARTCHAR U_2205 -ENCODING 8709 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04BF +ENCODING 1215 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -0000 -1E40 -2180 -4180 -8240 -8440 -8840 -9040 -6080 -6100 -9E00 +30 +48 +F8 +40 +48 +30 +20 +10 ENDCHAR -STARTCHAR U_2206 -ENCODING 8710 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 1 0 BITMAP -0000 -0000 -1000 -1000 -2800 -2800 -4400 -4400 -8200 -8200 -FE00 +E0 +40 +40 +40 +40 +40 +40 +E0 ENDCHAR -STARTCHAR U_2207 -ENCODING 8711 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -0000 -0000 -FE00 -8200 -8200 -4400 -4400 -2800 -2800 -1000 -1000 +88 +70 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_2208 -ENCODING 8712 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 10 3 0 +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1C -20 -40 -80 -FC -80 -80 -40 +88 +70 +00 +A8 +70 20 -1C -ENDCHAR -STARTCHAR U_2209 -ENCODING 8713 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0400 -3E00 -4800 -8800 -FC00 -9000 -5000 -3E00 -2000 -0000 +70 +A8 ENDCHAR -STARTCHAR U_220A -ENCODING 8714 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C3 +ENCODING 1219 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -0000 -7000 -8000 -F000 -8000 -7000 -0000 -0000 +88 +90 +A0 +C0 +A0 +90 +88 +08 +30 ENDCHAR -STARTCHAR U_220B -ENCODING 8715 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C4 +ENCODING 1220 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 BITMAP -0000 -0000 -F800 -0400 -0200 -FE00 -0200 -0400 -F800 -0000 -0000 +90 +A0 +C0 +A0 +90 +10 +60 ENDCHAR -STARTCHAR U_220C -ENCODING 8716 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C5 +ENCODING 1221 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0400 -FF00 -08C0 -0840 -0820 -FFE0 -1020 -1040 -10C0 -FF00 -2000 +38 +48 +48 +48 +48 +48 +88 +88 +10 +10 ENDCHAR -STARTCHAR U_220D -ENCODING 8717 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C6 +ENCODING 1222 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -7800 -0400 -0200 -0200 -7E00 -0200 -0400 -0800 -F000 +38 +48 +48 +48 +88 +10 +10 ENDCHAR -STARTCHAR U_220E -ENCODING 8718 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C7 +ENCODING 1223 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -0000 +88 +88 +88 +F8 +88 +88 +88 +88 +08 +30 ENDCHAR -STARTCHAR U_220F -ENCODING 8719 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 10 2 0 +STARTCHAR uni04C8 +ENCODING 1224 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -FF80 -4100 -4100 -4100 -4100 -4100 -4100 -4100 -4100 -E380 +88 +88 +F8 +88 +88 +08 +30 ENDCHAR -STARTCHAR U_2210 -ENCODING 8720 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04C9 +ENCODING 1225 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -FE00 +88 +88 +88 +F8 +88 +88 +88 +88 +10 +10 ENDCHAR -STARTCHAR U_2211 -ENCODING 8721 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 2 0 +STARTCHAR uni04CA +ENCODING 1226 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -FF -41 -20 +88 +88 +F8 +88 +88 10 -08 -08 10 -20 -41 -FF ENDCHAR -STARTCHAR U_2212 -ENCODING 8722 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04CB +ENCODING 1227 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0000 -0000 -0000 -0000 -FE00 -0000 -0000 -0000 -0000 -0000 +88 +88 +88 +88 +88 +78 +08 +18 +10 +10 ENDCHAR -STARTCHAR U_2213 -ENCODING 8723 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04CC +ENCODING 1228 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -2 BITMAP -0000 -0000 -F800 -0000 -2000 -2000 -F800 -2000 -2000 -0000 -0000 +88 +88 +88 +78 +08 +18 +10 +10 ENDCHAR -STARTCHAR U_2214 -ENCODING 8724 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04CD +ENCODING 1229 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -1000 -0000 -1000 -1000 -1000 -FE00 -1000 -1000 -1000 -0000 +88 +D8 +D8 +A8 +A8 +88 +88 +88 +10 +10 ENDCHAR -STARTCHAR U_2215 -ENCODING 8725 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 11 3 -1 +STARTCHAR uni04CE +ENCODING 1230 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -04 -08 -08 +88 +D8 +A8 +88 +88 10 10 -20 -20 -40 -40 +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 U_2216 -ENCODING 8726 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0000 -8000 -8000 -4000 -4000 -2000 -2000 -1000 -1000 -0800 -0800 +88 +70 +00 +70 +88 +88 +F8 +88 +88 ENDCHAR -STARTCHAR U_2217 -ENCODING 8727 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -0000 -2000 -A800 -7000 -7000 -A800 -2000 -0000 -0000 +88 +70 +00 +70 +08 +78 +88 +78 ENDCHAR -STARTCHAR U_2218 -ENCODING 8728 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0000 -0000 -0000 -6000 -9000 -9000 -6000 -0000 -0000 -0000 -0000 +50 +00 +70 +88 +88 +F8 +88 +88 +88 ENDCHAR -STARTCHAR U_2219 -ENCODING 8729 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -C000 -C000 -0000 -0000 -0000 -0000 -0000 +50 +00 +70 +08 +78 +88 +78 ENDCHAR -STARTCHAR U_221A -ENCODING 8730 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -03E0 -0200 -0400 -0400 -0800 -0800 -4800 -D000 -5000 -2000 -2000 +78 +A0 +A0 +F0 +A0 +A0 +B8 ENDCHAR -STARTCHAR U_221B -ENCODING 8731 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -CF00 -2800 -4800 -3000 -D000 -1000 -2000 -A000 -A000 -4000 -4000 +70 +28 +70 +A8 +70 ENDCHAR -STARTCHAR U_221C -ENCODING 8732 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -A400 -A400 -F400 -2800 -0800 -0800 -D000 -5000 -5000 -2000 -2000 +88 +70 +00 +F8 +80 +F0 +80 +80 +F8 ENDCHAR -STARTCHAR U_221D -ENCODING 8733 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 6 0 2 +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -3870 -4480 -8300 -8300 -4480 -3870 +88 +70 +00 +70 +88 +F0 +80 +70 ENDCHAR -STARTCHAR U_221E -ENCODING 8734 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 6 0 2 +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -38E0 -4510 -8208 -8208 -4510 -38E0 +70 +88 +08 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_221F -ENCODING 8735 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 1 +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -FFE0 +70 +08 +F8 +88 +70 ENDCHAR -STARTCHAR U_2220 -ENCODING 8736 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 9 1 1 +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0080 -0100 -0200 -0400 -0800 -1000 -2000 -4000 -FF80 +50 +00 +70 +88 +08 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_2221 -ENCODING 8737 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0040 -0080 -0100 -0200 -1C00 -0A00 -1100 -2080 -4080 -FFE0 -0080 +50 +00 +70 +08 +F8 +88 +70 ENDCHAR -STARTCHAR U_2222 -ENCODING 8738 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0020 -02C0 -0300 -0D00 -3080 -C080 -3080 -0D00 -0300 -02C0 -0020 +50 +00 +A8 +A8 +A8 +70 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_2223 -ENCODING 8739 -SWIDTH 1000 0 +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 480 0 DWIDTH 6 0 -BBX 1 12 0 -1 +BBX 5 7 0 0 BITMAP -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 +50 +00 +A8 +70 +20 +70 +A8 ENDCHAR -STARTCHAR U_2224 -ENCODING 8740 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -2000 -2000 -2000 -2800 -3000 -6000 -A000 -2000 -2000 -2000 -2000 +50 +00 +70 +88 +08 +30 +08 +88 +70 ENDCHAR -STARTCHAR U_2225 -ENCODING 8741 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 3 11 4 -1 +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 +50 +00 +70 +88 +30 +88 +70 ENDCHAR -STARTCHAR U_2226 -ENCODING 8742 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04E0 +ENCODING 1248 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2400 -2400 -2400 -2500 -2600 -2C00 -3400 -6400 -A400 -2400 -2400 +F8 +10 +20 +70 +08 +88 +70 ENDCHAR -STARTCHAR U_2227 -ENCODING 8743 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 1 +STARTCHAR uni04E1 +ENCODING 1249 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0800 -0800 -1400 -1400 -2200 -2200 -4100 -4100 -8080 +F8 +10 +20 +70 +08 +88 +70 ENDCHAR -STARTCHAR U_2228 -ENCODING 8744 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 1 1 +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -8080 -4100 -4100 -2200 -2200 -1400 -1400 -0800 -0800 +F8 +00 +88 +88 +98 +A8 +C8 +88 +88 ENDCHAR -STARTCHAR U_2229 -ENCODING 8745 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 10 3 0 +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -38 -44 -82 -82 -82 -82 -82 -82 -82 -82 +F8 +00 +88 +98 +A8 +C8 +88 ENDCHAR -STARTCHAR U_222A -ENCODING 8746 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 0 +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -81 -81 -81 -81 -81 -81 -81 -81 -42 -3C +50 +00 +88 +88 +98 +A8 +C8 +88 +88 ENDCHAR -STARTCHAR U_222B -ENCODING 8747 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 11 4 -1 +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -10 -28 -20 -20 -20 -20 -20 -20 -20 -A0 -40 +50 +00 +88 +98 +A8 +C8 +88 ENDCHAR -STARTCHAR U_222C -ENCODING 8748 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -1B00 -2400 -2400 -2400 -2400 -2400 -2400 -2400 -2400 -A400 -5800 +50 +00 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_222D -ENCODING 8749 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2A00 -5400 -5400 -5400 -5400 -5400 -5400 -5400 -5400 -5400 -A800 +50 +00 +70 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_222E -ENCODING 8750 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 11 3 -1 +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -10 -28 -20 70 -A8 -A8 +88 +88 +F8 +88 +88 70 -20 -20 -A0 -40 ENDCHAR -STARTCHAR U_222F -ENCODING 8751 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -1400 -2800 -2800 -2800 -7C00 -AA00 -AA00 -7C00 -2800 -2800 -5000 +70 +88 +F8 +88 +70 ENDCHAR -STARTCHAR U_2230 -ENCODING 8752 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -1500 -2A80 -2A00 -7F00 -AA80 -AA80 -7F00 -2A00 -2A00 -AA00 -5400 +50 +00 +70 +88 +88 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_2231 -ENCODING 8753 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1800 -2000 -2000 -7000 -A800 -BC00 -2800 -2000 -2000 -2000 -C000 +50 +00 +70 +88 +F8 +88 +70 ENDCHAR -STARTCHAR U_2232 -ENCODING 8754 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0C00 -1000 -3800 -5600 -9700 -9A80 -9200 -5400 -3800 -1000 -6000 +50 +00 +E0 +10 +08 +78 +08 +10 +E0 ENDCHAR -STARTCHAR U_2233 -ENCODING 8755 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 BITMAP -0C00 -1200 -1000 -3800 -5400 -5E00 -5400 -3800 -1000 -9000 -6000 +A0 +00 +E0 +10 +70 +10 +E0 ENDCHAR -STARTCHAR U_2234 -ENCODING 8756 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 8 2 0 +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -1800 -1800 -0000 -0000 -0000 -0000 -C300 -C300 +F8 +00 +88 +88 +98 +68 +08 +88 +70 ENDCHAR -STARTCHAR U_2235 -ENCODING 8757 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 8 2 0 +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -C180 -C180 -0000 -0000 -0000 -0000 -1800 -1800 +F8 +00 +88 +88 +88 +78 +08 +88 +70 ENDCHAR -STARTCHAR U_2236 -ENCODING 8758 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 1 7 5 1 +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -80 -00 -00 -00 +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 -80 +88 +88 +88 +78 +08 +88 +70 ENDCHAR -STARTCHAR U_2237 -ENCODING 8759 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 2 1 +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 0 BITMAP -82 +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 -82 +88 +88 +88 +C8 +A8 +A8 +C8 ENDCHAR -STARTCHAR U_2238 -ENCODING 8760 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -3000 -3000 -0000 -FC00 -0000 -0000 -0000 -0000 -0000 +50 +00 +88 +88 +C8 +A8 +C8 ENDCHAR -STARTCHAR U_2239 -ENCODING 8761 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04FA +ENCODING 1274 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -0100 -0100 -0000 -FC00 -0000 -0100 -0100 -0000 +78 +40 +40 +E0 +40 +40 +60 +20 +40 ENDCHAR -STARTCHAR U_223A -ENCODING 8762 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04FB +ENCODING 1275 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -4040 -4040 -0000 -FFE0 -0000 -4040 -4040 -0000 -0000 +78 +40 +E0 +40 +60 +20 +40 ENDCHAR -STARTCHAR U_223B -ENCODING 8763 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04FC +ENCODING 1276 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0000 -0000 -0000 -0000 -0200 -3800 -C720 -00C0 -0200 -0000 -0000 +88 +88 +50 +20 +50 +88 +88 +08 +10 ENDCHAR -STARTCHAR U_223C -ENCODING 8764 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 3 1 3 +STARTCHAR uni04FD +ENCODING 1277 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -7000 -8C40 -0380 +88 +50 +20 +50 +88 +08 +10 ENDCHAR -STARTCHAR U_223D -ENCODING 8765 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 6 0 2 +STARTCHAR uni04FE +ENCODING 1278 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -20C0 -4120 -8220 -8420 -4840 -3080 +88 +88 +50 +F8 +50 +88 +88 ENDCHAR -STARTCHAR U_223E -ENCODING 8766 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni04FF +ENCODING 1279 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -3080 -4840 -8420 -4240 -2180 -0000 -0000 -0000 +88 +50 +F8 +50 +88 ENDCHAR -STARTCHAR U_223F -ENCODING 8767 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0500 +ENCODING 1280 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2000 -5000 -8800 -8800 -0400 -0400 -0400 -0220 -0220 -0140 -0080 +08 +08 +78 +88 +88 +88 +78 ENDCHAR -STARTCHAR U_2240 -ENCODING 8768 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0501 +ENCODING 1281 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 1 0 BITMAP -8000 -4000 -2000 -2000 -2000 -4000 -8000 -8000 -8000 -4000 -2000 +10 +10 +70 +90 +90 +90 +70 ENDCHAR -STARTCHAR U_2241 -ENCODING 8769 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0502 +ENCODING 1282 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -0100 -7220 -8CC0 -0B00 -1000 -2000 -0000 +20 +20 +60 +A8 +A8 +A8 +70 ENDCHAR -STARTCHAR U_2242 -ENCODING 8770 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0503 +ENCODING 1283 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -FFE0 -0000 -6020 -98C0 -0700 -0000 -0000 +20 +20 +20 +60 +A8 +A8 +70 ENDCHAR -STARTCHAR U_2243 -ENCODING 8771 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0504 +ENCODING 1284 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0000 -7020 -8C40 -0380 -0000 -FFE0 -0000 -0000 +C0 +20 +20 +C0 +28 +28 +10 ENDCHAR -STARTCHAR U_2244 -ENCODING 8772 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0505 +ENCODING 1285 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0000 -0000 -0080 -3120 -4A40 -8780 -0800 -FFE0 -1000 -2000 -0000 +C0 +20 +20 +48 +28 +10 ENDCHAR -STARTCHAR U_2245 -ENCODING 8773 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0506 +ENCODING 1286 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 9 0 -2 BITMAP -0000 -0000 -0000 -0000 -3020 -4C40 -8380 -0000 -FFE0 -0000 -FFE0 +C0 +20 +20 +C0 +20 +20 +30 +10 +10 ENDCHAR -STARTCHAR U_2246 -ENCODING 8774 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0507 +ENCODING 1287 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 8 0 -2 BITMAP -0000 -0000 -0000 -0000 -7840 -8780 -0200 -FFC0 -0400 -FFC0 -0800 +C0 +20 +20 +40 +20 +30 +10 +10 ENDCHAR -STARTCHAR U_2247 -ENCODING 8775 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0508 +ENCODING 1288 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0200 -3A40 -C780 -0400 -FFC0 -0800 -FFC0 -1000 +F8 +A0 +A0 +A8 +A8 +A8 +90 ENDCHAR -STARTCHAR approxequal -ENCODING 8776 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 8 0 1 +STARTCHAR uni0509 +ENCODING 1289 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -3820 -4440 -8380 -0000 -0000 -3820 -4440 -8380 +F8 +A0 +A0 +A8 +90 ENDCHAR -STARTCHAR U_2249 -ENCODING 8777 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni050A +ENCODING 1290 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0100 -0100 -7A60 -8780 -7C60 -8780 -0800 -0800 -0000 +A0 +A0 +A0 +E8 +A8 +A8 +90 ENDCHAR -STARTCHAR U_224A -ENCODING 8778 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni050B +ENCODING 1291 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -7820 -8440 -7BA0 -8440 -0380 -0000 -FFE0 -0000 +A0 +A0 +E8 +A8 +90 ENDCHAR -STARTCHAR U_224B -ENCODING 8779 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni050C +ENCODING 1292 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -3040 -4C80 -B340 -4C80 -B340 -4C80 -8300 -0000 +70 +88 +80 +98 +88 +88 +70 ENDCHAR -STARTCHAR U_224C -ENCODING 8780 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 10 1 0 +STARTCHAR uni050D +ENCODING 1293 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -4380 -8440 -8840 -7080 -0000 -0000 -FF80 -0000 -0000 -FF80 +78 +80 +98 +88 +70 ENDCHAR -STARTCHAR U_224D -ENCODING 8781 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni050E +ENCODING 1294 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -8400 -7800 -0000 -0000 -7800 -8400 -0000 -0000 +F8 +20 +20 +28 +28 +28 +10 ENDCHAR -STARTCHAR U_224E -ENCODING 8782 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni050F +ENCODING 1295 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0C00 -1200 -2100 -E1C0 -0000 -E1C0 -2100 -1200 -0C00 -0000 +F8 +20 +20 +28 +10 ENDCHAR -STARTCHAR U_224F -ENCODING 8783 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0510 +ENCODING 1296 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0C00 -1200 -E1C0 -0000 -FFC0 -0000 -0000 -0000 -0000 +78 +88 +80 +60 +80 +88 +70 ENDCHAR -STARTCHAR U_2250 -ENCODING 8784 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0511 +ENCODING 1297 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0800 -0800 -0000 -FF80 -0000 -FF80 -0000 -0000 -0000 +78 +88 +60 +88 +70 ENDCHAR -STARTCHAR U_2251 -ENCODING 8785 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0512 +ENCODING 1298 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -1000 -0000 -FE00 -0000 -FE00 -0000 -1000 -0000 -0000 +FC +48 +48 +48 +48 +A8 +10 ENDCHAR -STARTCHAR U_2252 -ENCODING 8786 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 0 +STARTCHAR uni0513 +ENCODING 1299 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 BITMAP -6000 -6000 -0000 -FF80 -0000 -FF80 -0000 -0600 -0600 +FC +48 +48 +48 +88 +10 ENDCHAR -STARTCHAR U_2253 -ENCODING 8787 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0514 +ENCODING 1300 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0180 -0180 -0000 -FF80 -0000 -FF80 -0000 -C000 -C000 -0000 +D4 +54 +54 +48 +54 +54 +94 ENDCHAR -STARTCHAR U_2254 -ENCODING 8788 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0515 +ENCODING 1301 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -0000 -0000 -0000 -C000 -DFE0 -0000 -0000 -DFE0 -C000 -0000 -0000 +D4 +54 +48 +54 +94 ENDCHAR -STARTCHAR U_2255 -ENCODING 8789 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0516 +ENCODING 1302 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -0060 -FF60 -0000 -0000 -FF60 -0060 -0000 -0000 +C8 +A8 +B0 +D0 +88 +88 +88 ENDCHAR -STARTCHAR U_2256 -ENCODING 8790 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0517 +ENCODING 1303 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 -1 BITMAP -0000 -0000 -0000 -FF80 -1400 -2200 -2200 -1400 -FF80 -0000 -0000 +C8 +B0 +A0 +D0 +88 +80 ENDCHAR -STARTCHAR U_2257 -ENCODING 8791 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0518 +ENCODING 1304 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -1800 -2400 -2400 -1800 -0000 -FF00 -0000 -0000 -FF00 -0000 +78 +A0 +A0 +70 +A0 +A0 +B8 ENDCHAR -STARTCHAR U_2258 -ENCODING 8792 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0519 +ENCODING 1305 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -3E00 -4100 -0000 -FF80 -0000 -0000 -FF80 -0000 -0000 +70 +A8 +70 +A0 +98 ENDCHAR -STARTCHAR U_2259 -ENCODING 8793 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051A +ENCODING 1306 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0800 -1400 -2200 -0000 -FF80 -0000 -0000 -FF80 -0000 +70 +88 +88 +88 +A8 +90 +68 ENDCHAR -STARTCHAR U_225A -ENCODING 8794 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051B +ENCODING 1307 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -2200 -1400 -1400 -0800 -0000 -FF80 -0000 -0000 -FF80 -0000 -0000 +78 +88 +88 +88 +78 +08 +08 ENDCHAR -STARTCHAR U_225B -ENCODING 8795 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051C +ENCODING 1308 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1000 -1000 -7C00 -3800 -6C00 -0000 -FE00 -0000 -0000 -FE00 -0000 +88 +88 +88 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_225C -ENCODING 8796 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051D +ENCODING 1309 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0800 -1400 -1400 -3E00 -0000 -FF80 -0000 -0000 -FF80 -0000 -0000 +88 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_225D -ENCODING 8797 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051E +ENCODING 1310 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1060 -1680 -79E0 -9F80 -9880 -7780 -0000 -FFE0 -0000 -FFE0 -0000 +A8 +90 +A8 +C0 +A0 +90 +88 ENDCHAR -STARTCHAR U_225E -ENCODING 8798 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni051F +ENCODING 1311 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -B600 -4900 -4900 -4900 -4900 -0000 -FF80 -0000 -0000 -FF80 +A8 +90 +E8 +90 +88 ENDCHAR -STARTCHAR U_225F -ENCODING 8799 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0520 +ENCODING 1312 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -2 BITMAP -3000 -4800 -1000 -1000 -0000 -1000 -0000 -FE00 -0000 -0000 -FE00 +D0 +50 +50 +58 +54 +54 +94 +04 +08 ENDCHAR -STARTCHAR U_2260 -ENCODING 8800 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 7 2 1 +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 -FF 10 -FF -20 -40 ENDCHAR -STARTCHAR U_2261 -ENCODING 8801 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 5 2 2 +STARTCHAR uni0523 +ENCODING 1315 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -FF -00 -FF -00 -FF +A0 +A0 +F0 +A8 +A8 +08 +10 ENDCHAR -STARTCHAR U_2262 -ENCODING 8802 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0531 +ENCODING 1329 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0200 -FF80 -0400 -FF80 -0800 -FF80 -1000 -2000 -0000 -0000 +A0 +A0 +A0 +A0 +A0 +A0 +B0 +48 ENDCHAR -STARTCHAR U_2263 -ENCODING 8803 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0532 +ENCODING 1330 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -FE00 -0000 -0000 -FE00 -0000 -0000 -FE00 -0000 -0000 -FE00 +70 +88 +88 +80 +80 +F0 +88 +80 ENDCHAR -STARTCHAR U_2264 -ENCODING 8804 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 2 0 +STARTCHAR uni0533 +ENCODING 1331 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -03 -0C -30 -C0 -30 -0C -03 -00 -FF -00 +40 +A0 +A0 +A0 +70 +28 +20 +20 ENDCHAR -STARTCHAR U_2265 -ENCODING 8805 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 0 +STARTCHAR uni0534 +ENCODING 1332 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -C0 -30 -0C -03 -0C -30 -C3 -0C +40 +A0 +A0 +20 30 -C0 +28 +20 +20 ENDCHAR -STARTCHAR U_2266 -ENCODING 8806 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 0 +STARTCHAR uni0535 +ENCODING 1333 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0700 -3800 -C000 -7000 -0E00 -0000 -FF80 -0000 -FF80 +80 +80 +F0 +88 +80 +88 +88 +70 ENDCHAR -STARTCHAR U_2267 -ENCODING 8807 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 11 2 -1 +STARTCHAR uni0536 +ENCODING 1334 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -C000 -3800 -0600 -0180 -0600 -3800 -C000 -0000 -FF80 -0000 -FF80 +60 +90 +90 +70 +10 +A0 +F0 +88 ENDCHAR -STARTCHAR U_2268 -ENCODING 8808 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0537 +ENCODING 1335 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -0700 -3800 -C000 -3800 -0700 -0800 -FF00 -1000 -FF00 -2000 +80 +80 +F0 +88 +80 +80 +80 +70 +08 +10 ENDCHAR -STARTCHAR U_2269 -ENCODING 8809 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0538 +ENCODING 1336 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0000 -E000 -1C00 -0380 -1C00 -E000 -0400 -FF80 -0800 -FF80 -1000 +60 +90 +90 +80 +80 +80 +80 +F0 +08 ENDCHAR -STARTCHAR U_226A -ENCODING 8810 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0539 +ENCODING 1337 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0100 -0620 -18C0 -6300 -8C00 -6300 -18C0 -0620 -0100 -0000 +60 +90 +B8 +D0 +D0 +A0 +80 +80 ENDCHAR -STARTCHAR U_226B -ENCODING 8811 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni053A +ENCODING 1338 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -0000 -8800 -6600 -1980 -0660 -1980 -6600 -8800 -0000 +10 +10 +10 +78 +90 +90 +90 +60 ENDCHAR -STARTCHAR U_226C -ENCODING 8812 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni053B +ENCODING 1339 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -5000 -2000 -5000 -5000 -8800 -8800 -8800 -5000 -5000 -2000 -5000 +80 +80 +80 +F0 +88 +88 +80 +80 ENDCHAR -STARTCHAR U_226D -ENCODING 8813 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni053C +ENCODING 1340 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0100 -8120 -62C0 -1F00 -0400 -1F00 -68C0 -9020 -1000 -0000 -0000 +80 +80 +80 +80 +80 +80 +80 +70 +08 +10 ENDCHAR -STARTCHAR U_226E -ENCODING 8814 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 1 0 +STARTCHAR uni053D +ENCODING 1341 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0980 -0E00 -1800 -6800 -8800 -6800 -1800 -0E00 -0980 +80 +80 +E8 +A8 +A8 +90 +80 +80 ENDCHAR -STARTCHAR U_226F -ENCODING 8815 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 1 0 +STARTCHAR uni053E +ENCODING 1342 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -C800 -3800 -0C00 -0B00 -0880 -0B00 -0C00 -3800 -C800 +F8 +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_2271 -ENCODING 8817 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni053F +ENCODING 1343 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0100 -C100 -3A00 -0700 -04C0 -0700 -3800 -C800 -1000 -FFC0 -2000 +80 +88 +88 +88 +88 +78 +08 +08 ENDCHAR -STARTCHAR U_2272 -ENCODING 8818 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0540 +ENCODING 1344 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0000 -0380 -0C00 -3000 -C000 -3000 -0C00 -0380 -0000 -7080 -8F00 +10 +20 +10 +20 +40 +80 +C0 +30 +08 ENDCHAR -STARTCHAR U_2273 -ENCODING 8819 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0541 +ENCODING 1345 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -E000 -1C00 -0380 -0060 -0380 -1C00 -E000 -0000 -7C20 -83C0 +30 +48 +48 +38 +08 +70 +90 +68 ENDCHAR -STARTCHAR U_2274 -ENCODING 8820 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0542 +ENCODING 1346 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0200 -0260 -0780 -3C00 -C400 -3800 -0F00 -08E0 -1000 -7C20 -93C0 +40 +A0 +A0 +20 +20 +20 +20 +30 +08 ENDCHAR -STARTCHAR U_2275 -ENCODING 8821 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0543 +ENCODING 1347 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0200 -C200 -3C00 -0700 -04C0 -0F00 -3800 -C800 -1000 -7840 -9780 +10 +50 +20 +50 +50 +88 +88 +F8 ENDCHAR -STARTCHAR U_2276 -ENCODING 8822 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0544 +ENCODING 1348 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0600 -3800 -C000 -3800 -0600 -C000 -3800 -0600 -3800 -C000 +B8 +A8 +A0 +A0 +A0 +A0 +A0 +40 ENDCHAR -STARTCHAR U_2277 -ENCODING 8823 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0545 +ENCODING 1349 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -C000 -3800 -0600 -3800 -C000 -0600 -3800 -C000 -3800 -0600 +70 +88 +A8 +30 +28 +88 +88 +70 ENDCHAR -STARTCHAR U_2278 -ENCODING 8824 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0546 +ENCODING 1350 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0400 -0B00 -3C00 -C800 -3C00 -D300 -3C00 -1300 -3C00 -E000 -2000 +40 +80 +C0 +40 +40 +40 +48 +30 ENDCHAR -STARTCHAR U_2279 -ENCODING 8825 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0547 +ENCODING 1351 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0200 -E200 -1E00 -0780 -1C00 -EB80 -1C00 -F000 -1C00 -1380 +08 +F0 +40 +80 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_227A -ENCODING 8826 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0548 +ENCODING 1352 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0080 -0100 -0600 -3800 -C000 -3800 -0600 -0100 -0080 -0000 +70 +88 +88 +88 +88 +88 +88 +88 ENDCHAR -STARTCHAR U_227B -ENCODING 8827 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0549 +ENCODING 1353 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -8000 -4000 -3000 -0E00 -0180 -0E00 -3000 -4000 -8000 -0000 +70 +88 +88 +88 +78 +10 +20 +F8 ENDCHAR -STARTCHAR U_227C -ENCODING 8828 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054A +ENCODING 1354 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0080 -0100 -0600 -3800 -C000 -3800 -C600 -3900 -0680 -0100 -0080 +70 +A8 +A8 +A8 +28 +28 +08 +08 ENDCHAR -STARTCHAR U_227D -ENCODING 8829 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054B +ENCODING 1355 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -8000 -4000 -3000 -0E00 -0180 -0E00 -3180 -4E00 -B000 -4000 -8000 +60 +90 +90 +50 +30 +A0 +F0 +88 ENDCHAR -STARTCHAR U_227E -ENCODING 8830 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054C +ENCODING 1356 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -0040 -0180 -1E00 -E000 -1E00 -0180 -0040 -7C40 -8380 +40 +A0 +A0 +B0 +A8 +A8 +A0 +A0 ENDCHAR -STARTCHAR U_227F -ENCODING 8831 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054D +ENCODING 1357 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -8000 -6000 -1C00 -03E0 -1C00 -6000 -8000 -0000 -3020 -4C40 -8380 +88 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_2280 -ENCODING 8832 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054E +ENCODING 1358 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0200 -0220 -02C0 -0300 -1E00 -E200 -1E00 -0300 -02C0 -0220 -0200 +20 +A0 +A0 +A0 +A0 +60 +20 +30 +08 ENDCHAR -STARTCHAR U_2281 -ENCODING 8833 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni054F +ENCODING 1359 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0800 -8800 -4800 -3800 -0E00 -09E0 -0E00 -3800 -4800 -8800 -0800 +70 +88 +80 +70 +08 +08 +88 +70 ENDCHAR -STARTCHAR U_2282 -ENCODING 8834 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0550 +ENCODING 1360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -3F80 -4000 -8000 -8000 -8000 -4000 -3F80 -0000 -0000 +70 +88 +88 +80 +80 +80 +80 +80 ENDCHAR -STARTCHAR U_2283 -ENCODING 8835 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0551 +ENCODING 1361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -FE00 -0100 -0080 -0080 -0080 -0100 -FE00 -0000 -0000 +70 +88 +88 +70 +88 +08 +88 +70 ENDCHAR -STARTCHAR U_2284 -ENCODING 8836 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0552 +ENCODING 1362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0100 -0100 -3F80 -4200 -8200 -8200 -8400 -4400 -3F80 -0800 -0800 +80 +80 +80 +E0 +90 +90 +88 +80 ENDCHAR -STARTCHAR U_2285 -ENCODING 8837 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0553 +ENCODING 1363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 BITMAP -0400 -0400 -FE00 -0900 -0880 -0880 -1080 -1100 -FE00 -2000 -2000 +20 +70 +A8 +A8 +A8 +70 +20 ENDCHAR -STARTCHAR U_2286 -ENCODING 8838 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0554 +ENCODING 1364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -3F80 -4000 -8000 -8000 -8000 -4000 -3F80 -0000 -FF80 +10 +28 +28 +30 +A0 +70 +28 +20 ENDCHAR -STARTCHAR U_2287 -ENCODING 8839 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0555 +ENCODING 1365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -FF00 -0080 -0080 -0080 -0080 -FF00 -0000 -FF80 -0000 +70 +88 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR U_2288 -ENCODING 8840 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0556 +ENCODING 1366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -7F80 -8000 -8000 -8000 -8000 -7F80 -0000 -FF80 -0000 +40 +A0 +A0 +70 +28 +A8 +A8 +70 ENDCHAR -STARTCHAR U_2289 -ENCODING 8841 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0559 +ENCODING 1369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 1 6 BITMAP -0100 -FF00 -0280 -0240 -0440 -0440 -0880 -FF00 -1000 -FFC0 -2000 +40 +80 +80 +40 ENDCHAR -STARTCHAR U_228A -ENCODING 8842 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055A +ENCODING 1370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 3 2 6 BITMAP -0000 -3F80 -4000 -8000 -8000 -8000 -4000 -3F80 -0400 -FF80 -0800 +C0 +40 +80 ENDCHAR -STARTCHAR U_228B -ENCODING 8843 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055B +ENCODING 1371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 BITMAP -0000 -FF00 -0080 -0040 -0040 -0040 -0080 -FF00 -0200 -FF80 -0800 +40 +80 ENDCHAR -STARTCHAR U_228C -ENCODING 8844 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055C +ENCODING 1372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 7 BITMAP -0000 -8100 -8100 -8100 -8900 -9100 -BF00 -9100 -8900 -4200 -3C00 +08 +70 +80 ENDCHAR -STARTCHAR U_228D -ENCODING 8845 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055D +ENCODING 1373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 7 BITMAP -0000 -0000 -8100 -8100 -8100 -8100 -9900 -9900 -8100 -4200 -3C00 +80 +40 ENDCHAR -STARTCHAR U_228E -ENCODING 8846 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055E +ENCODING 1374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 BITMAP -0000 -8080 -8080 -8080 -8880 -8880 -BE80 -8880 -8880 -4100 -3E00 +70 +88 +A8 +A8 +10 ENDCHAR -STARTCHAR U_228F -ENCODING 8847 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni055F +ENCODING 1375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 6 BITMAP -0000 -0000 -FF80 -8000 -8000 -8000 -8000 -8000 -8000 -FF80 -0000 +C0 +88 +70 ENDCHAR -STARTCHAR U_2290 -ENCODING 8848 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0561 +ENCODING 1377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 0 BITMAP -0000 -0000 -FF80 -0080 -0080 -0080 -0080 -0080 -FF80 -0000 -0000 +88 +A8 +A8 +58 ENDCHAR -STARTCHAR U_2291 -ENCODING 8849 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0562 +ENCODING 1378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -FF80 -8000 -8000 -8000 -8000 -8000 -FF80 -0000 -FF80 +F0 +88 +88 +80 +F8 +80 +80 ENDCHAR -STARTCHAR U_2292 -ENCODING 8850 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0563 +ENCODING 1379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -FF80 -0080 -0080 -0080 -0080 -0080 -FF80 -0000 -FF80 +70 +90 +90 +90 +78 +10 +10 ENDCHAR -STARTCHAR U_2293 -ENCODING 8851 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0564 +ENCODING 1380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -0000 -FE00 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 +A0 +D0 +90 +90 +98 +10 +10 ENDCHAR -STARTCHAR U_2294 -ENCODING 8852 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0565 +ENCODING 1381 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -FE00 +80 +80 +80 +F8 +80 +88 +C8 +B0 ENDCHAR -STARTCHAR U_2295 -ENCODING 8853 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 11 1 -1 +STARTCHAR uni0566 +ENCODING 1382 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -3E00 -4900 -8880 -8880 -FF80 -8880 -8880 -4900 -3E00 -0000 +70 +90 +90 +90 +70 +10 +18 ENDCHAR -STARTCHAR U_2296 -ENCODING 8854 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0567 +ENCODING 1383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0000 -3E00 -4100 -8080 -8080 -BE80 -8080 -8080 -4100 -3E00 -0000 +80 +80 +80 +F8 +80 +80 +80 +70 +08 ENDCHAR -STARTCHAR U_2297 -ENCODING 8855 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0568 +ENCODING 1384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0E00 -3180 -4040 -5140 -8A20 -8420 -8A20 -5140 -4040 -3180 -0E00 +B0 +C8 +88 +88 +88 +80 +F8 ENDCHAR -STARTCHAR U_2299 -ENCODING 8857 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 11 1 -1 +STARTCHAR uni0569 +ENCODING 1385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -1E00 -2100 -4080 -8040 -8C40 -8C40 -8040 -8040 -4080 -2100 -1E00 +A0 +D0 +90 +B8 +D0 +A0 +80 ENDCHAR -STARTCHAR U_229A -ENCODING 8858 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056A +ENCODING 1386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1E00 -6180 -4080 -8C40 -9240 -9240 -8C40 -4080 -6180 -1E00 -0000 +10 +10 +10 +78 +90 +90 +90 +60 ENDCHAR -STARTCHAR U_229B -ENCODING 8859 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056B +ENCODING 1387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 10 0 -2 BITMAP -1F00 -60C0 -4440 -9520 -8E20 -8420 -8E20 -9520 -4440 -60C0 -1F00 +80 +80 +80 +A0 +D0 +90 +90 +90 +80 +80 ENDCHAR -STARTCHAR U_229C -ENCODING 8860 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056C +ENCODING 1388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 -2 BITMAP -0E00 -3180 -4040 -4040 -9F20 -8020 -9F20 -4040 -4040 -3180 -0E00 +C0 +40 +40 +40 +40 +40 +30 ENDCHAR -STARTCHAR U_229D -ENCODING 8861 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056D +ENCODING 1389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -0E00 -3180 -4040 -4040 -8020 -9F20 -8020 -4040 -4040 -3180 -0E00 +80 +80 +E8 +A8 +A8 +A8 +90 +80 +80 ENDCHAR -STARTCHAR U_229E -ENCODING 8862 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056E +ENCODING 1390 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -FF80 -8080 -8880 -8880 -BE80 -8880 -8880 -8080 -FF80 -0000 +80 +40 +20 +78 +90 +90 +90 +60 ENDCHAR -STARTCHAR U_229F -ENCODING 8863 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni056F +ENCODING 1391 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -2 BITMAP -0000 -FFC0 -8040 -8040 -8040 -BF40 -8040 -8040 -8040 -8040 -FFC0 +80 +80 +80 +88 +88 +88 +88 +78 +08 +08 ENDCHAR -STARTCHAR U_22A0 -ENCODING 8864 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0570 +ENCODING 1392 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FFE0 -8020 -A0A0 -9120 -8A20 -8420 -8A20 -9120 -A0A0 -8020 -FFE0 +80 +80 +80 +B0 +C8 +88 +88 +88 ENDCHAR -STARTCHAR U_22A1 -ENCODING 8865 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0571 +ENCODING 1393 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -FFC0 -8040 -8040 -8040 -8C40 -8C40 -8040 -8040 -8040 -FFC0 +20 +40 +20 +78 +88 +88 +88 +78 ENDCHAR -STARTCHAR U_22A2 -ENCODING 8866 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0572 +ENCODING 1394 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 -2 BITMAP -0000 -8000 -8000 -8000 -8000 -FFC0 -8000 -8000 -8000 -8000 -0000 +A0 +D0 +90 +90 +90 +10 +18 ENDCHAR -STARTCHAR U_22A3 -ENCODING 8867 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0573 +ENCODING 1395 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0040 -0040 -0040 -0040 -FFC0 -0040 -0040 -0040 -0040 -0000 +30 +48 +40 +F8 +48 +48 +58 +28 ENDCHAR -STARTCHAR U_22A4 -ENCODING 8868 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni0574 +ENCODING 1396 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FF80 -0800 -0800 -0800 -0800 -0800 -0800 -0800 -0800 -0800 -0000 +08 +10 +10 +90 +90 +90 +B0 +50 ENDCHAR -STARTCHAR U_22A5 -ENCODING 8869 +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 9 1 1 +BBX 9 5 1 5 BITMAP -0800 -0800 -0800 -0800 -0800 -0800 -0800 -0800 FF80 +0080 +0080 +0080 +0080 ENDCHAR -STARTCHAR U_22A6 -ENCODING 8870 +STARTCHAR U_1101 +ENCODING 4353 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 5 0 5 BITMAP -8000 -8000 -8000 -8000 -8000 -FC00 -8000 -8000 -8000 -8000 -8000 +FBE0 +0820 +0820 +0820 +0820 ENDCHAR -STARTCHAR U_22A7 -ENCODING 8871 +STARTCHAR U_1102 +ENCODING 4354 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 5 1 5 BITMAP -0000 -8000 -8000 8000 -FE00 -8000 -8000 -FE00 8000 8000 8000 +FF80 ENDCHAR -STARTCHAR U_22A8 -ENCODING 8872 +STARTCHAR U_1103 +ENCODING 4355 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 4 0 6 BITMAP -0000 -8000 -8000 -8000 -FFC0 -8000 FFC0 -8000 -8000 -8000 -0000 +4000 +4000 +7FC0 ENDCHAR -STARTCHAR U_22A9 -ENCODING 8873 +STARTCHAR U_1104 +ENCODING 4356 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 5 0 5 BITMAP -0000 -0000 -9000 -9000 -9000 -9000 -9FE0 -9000 -9000 -9000 -9000 +FBE0 +4200 +4200 +5A00 +63E0 ENDCHAR -STARTCHAR U_22AA -ENCODING 8874 +STARTCHAR U_1105 +ENCODING 4357 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 5 1 5 BITMAP -A800 -A800 -A800 -A800 -AFE0 -A800 -A800 -A800 -A800 -0000 -0000 +FF80 +0080 +FF80 +4000 +7F80 ENDCHAR -STARTCHAR U_22AB -ENCODING 8875 +STARTCHAR U_1106 +ENCODING 4358 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 4 0 6 BITMAP -0000 -A000 -A000 -A000 -BF80 -A000 -BF80 -A000 -A000 -A000 -0000 +FFE0 +4040 +4040 +7FC0 ENDCHAR -STARTCHAR U_22AC -ENCODING 8876 +STARTCHAR U_1107 +ENCODING 4359 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 4 1 6 BITMAP -0000 -0000 -8200 -8400 -8400 -8800 +8080 +FF80 +8080 FF80 -9000 -9000 -A000 -A000 ENDCHAR -STARTCHAR U_22AD -ENCODING 8877 +STARTCHAR U_1108 +ENCODING 4360 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 5 0 5 BITMAP -0000 -8100 -8100 -8200 -FF80 -8400 -8400 -FF80 -8800 -9000 -9000 +8A20 +FBE0 +8A20 +8A20 +FBE0 ENDCHAR -STARTCHAR U_22AE -ENCODING 8878 +STARTCHAR U_1109 +ENCODING 4361 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 5 0 5 BITMAP -0000 -0000 -A080 -A080 -A100 -A100 -BF80 -A200 -A400 -A400 -A800 +0400 +0400 +0A00 +3180 +C060 ENDCHAR -STARTCHAR U_22AF -ENCODING 8879 +STARTCHAR U_110A +ENCODING 4362 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 5 0 5 BITMAP -0000 -0000 -A080 -A080 -A100 -BF80 -A200 -BF80 -A400 -A400 -A800 +1100 +1100 +2A80 +4440 +8840 ENDCHAR -STARTCHAR U_22B0 -ENCODING 8880 +STARTCHAR U_110B +ENCODING 4363 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 4 1 6 BITMAP -0000 -0000 -0400 -0200 -0600 -3800 -C000 -3800 -0600 -0200 -0400 +7F00 +8080 +8080 +7F00 ENDCHAR -STARTCHAR U_22B1 -ENCODING 8881 +STARTCHAR U_110C +ENCODING 4364 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 5 1 5 BITMAP -0000 -0000 -4000 -8000 -6000 -1C00 -0300 -1C00 -6000 -8000 -4000 +FF80 +0100 +0600 +1980 +E040 ENDCHAR -STARTCHAR U_22B2 -ENCODING 8882 +STARTCHAR U_110D +ENCODING 4365 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 5 0 5 BITMAP -0000 -0080 -0380 -0C80 -3080 -C080 -3080 -0C80 -0380 -0080 -0000 +7FC0 +1100 +2A80 +4440 +8800 ENDCHAR -STARTCHAR U_22B3 -ENCODING 8883 +STARTCHAR U_110E +ENCODING 4366 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 4 BITMAP +3F80 0000 -0000 -8000 -E000 -9800 -8600 -8180 -8600 -9800 -E000 -8000 +FFE0 +0200 +0D80 +F040 ENDCHAR -STARTCHAR U_22B4 -ENCODING 8884 +STARTCHAR U_110F +ENCODING 4367 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 5 1 5 BITMAP +FF80 0080 -0380 -0C80 -3080 -C080 -3080 -0C80 -0380 0080 -0000 -FF80 -ENDCHAR -STARTCHAR U_22B5 -ENCODING 8885 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -8000 -E000 -9800 -8600 -8180 -8600 -9800 -E000 -8000 -0000 FF80 +0080 ENDCHAR -STARTCHAR U_22B6 -ENCODING 8886 +STARTCHAR U_1110 +ENCODING 4368 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 5 0 5 BITMAP -0000 -0000 -0000 -0000 -6040 -90E0 -8FE0 -90E0 -6040 -0000 -0000 +FFC0 +4000 +7F80 +4000 +7FC0 ENDCHAR -STARTCHAR U_22B7 -ENCODING 8887 +STARTCHAR U_1111 +ENCODING 4369 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 4 1 6 BITMAP -0000 -0000 -0000 -0000 -40C0 -E120 -FF20 -E120 -40C0 -0000 -0000 +FF80 +2200 +2200 +FF80 ENDCHAR -STARTCHAR U_22B8 -ENCODING 8888 +STARTCHAR U_1112 +ENCODING 4370 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 8 0 2 BITMAP +3F00 0000 +FFC0 0000 -0000 -00C0 -0120 -FF20 -0120 -00C0 -0000 -0000 -0000 +3F00 +4080 +4080 +3F00 ENDCHAR -STARTCHAR U_22B9 -ENCODING 8889 +STARTCHAR U_1113 +ENCODING 4371 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 4 1 6 BITMAP -0400 -0400 -0400 -0400 -0000 -F1E0 -0000 -0400 -0400 -0400 -0400 +8F80 +8080 +8080 +F080 ENDCHAR -STARTCHAR U_22BA -ENCODING 8890 +STARTCHAR U_1114 +ENCODING 4372 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 4 1 6 BITMAP -FE00 -1000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 +8400 +8400 +B400 +C780 ENDCHAR -STARTCHAR U_22BB -ENCODING 8891 +STARTCHAR U_112C +ENCODING 4396 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 11 0 -1 BITMAP -4200 -4200 -2400 -2400 -2400 -1800 -1800 -0000 -FF00 -0000 +9480 +9480 +F780 +9480 +F780 0000 +3E00 +6300 +4100 +6300 +3E00 ENDCHAR -STARTCHAR U_22BC -ENCODING 8892 +STARTCHAR U_112D +ENCODING 4397 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 7 0 2 BITMAP -FF80 -0000 -0800 -0800 -1400 -1400 -2200 -2200 -4100 -4100 -8080 +13E0 +1020 +1020 +1020 +2820 +4420 +8220 ENDCHAR -STARTCHAR U_22BD -ENCODING 8893 +STARTCHAR U_1133 +ENCODING 4403 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 1 BITMAP -FC00 -0000 -8400 -8400 -4800 -4800 -4800 -3000 -3000 -0000 -0000 +4AE0 +4A20 +4E20 +AA20 +AA20 +AE20 ENDCHAR -STARTCHAR U_22BE -ENCODING 8894 +STARTCHAR U_1134 +ENCODING 4404 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 5 0 2 BITMAP -0000 -0000 -0000 -8000 -8000 -E000 -9000 -8800 -8400 -8400 -FF00 +4440 +4440 +4440 +AAA0 +AAA0 ENDCHAR -STARTCHAR U_22BF -ENCODING 8895 +STARTCHAR U_1135 +ENCODING 4405 SWIDTH 1000 0 DWIDTH 12 0 -BBX 9 9 1 1 +BBX 11 6 0 1 BITMAP -0080 -0180 -0280 -0480 -0880 -1080 -2080 -4080 -FF80 +21C0 +2220 +2220 +5220 +5220 +89C0 ENDCHAR -STARTCHAR U_22C0 -ENCODING 8896 +STARTCHAR U_113B +ENCODING 4411 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 1 BITMAP -0800 -1400 -1400 -2200 -2200 -4100 -4100 -8080 -8080 -0000 -0000 +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 U_22C1 -ENCODING 8897 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29C8 +ENCODING 10696 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -8080 -4100 -4100 -2200 -2200 -2200 -1400 -1400 -0800 -0000 -0000 +FC +FC +CC +CC +FC +FC ENDCHAR -STARTCHAR U_22C2 -ENCODING 8898 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29C9 +ENCODING 10697 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0000 -3800 -4400 -8200 -8200 -8200 -8200 -8200 -8200 -8200 -8200 +F0 +90 +BC +E4 +24 +3C ENDCHAR -STARTCHAR U_22C3 -ENCODING 8899 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CA +ENCODING 10698 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -8200 -8200 -8200 -8200 -8200 -8200 -8200 -4400 -3800 -0000 -0000 +20 +00 +20 +50 +50 +88 +F8 ENDCHAR -STARTCHAR U_22C4 -ENCODING 8900 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CB +ENCODING 10699 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -1000 -2800 -2800 -4400 -4400 -8200 -4400 -4400 -2800 -2800 -1000 +20 +50 +50 +88 +F8 +00 +F8 ENDCHAR -STARTCHAR U_22C5 -ENCODING 8901 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CC +ENCODING 10700 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -C000 -C000 -0000 -0000 -0000 -0000 +30 +48 +B4 +A4 +94 +B4 +84 +FC ENDCHAR -STARTCHAR U_22C6 -ENCODING 8902 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CD +ENCODING 10701 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0000 -2000 -2000 -F800 -7000 -7000 -8800 -0000 -0000 -0000 -0000 +20 +50 +50 +88 +88 +FC ENDCHAR -STARTCHAR U_22C7 -ENCODING 8903 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CE +ENCODING 10702 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -0000 -0000 -8C40 -4C80 -2100 -FFC0 -2100 -4C80 -8C40 -0000 -0000 +C0 +B0 +88 +B0 +C0 +18 +68 +88 +68 +18 ENDCHAR -STARTCHAR U_22C8 -ENCODING 8904 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29CF +ENCODING 10703 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -8040 -C0C0 -A140 -9240 -8C40 -8C40 -9240 -A140 -C0C0 -8040 +14 +34 +54 +94 +54 +34 +14 ENDCHAR -STARTCHAR U_22C9 -ENCODING 8905 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29D0 +ENCODING 10704 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -8080 -C100 -A200 -9400 -8800 -9400 -A200 -C100 -8080 -0000 +A0 +B0 +A8 +A4 +A8 +B0 +A0 ENDCHAR -STARTCHAR U_22CA -ENCODING 8906 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29D1 +ENCODING 10705 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -8080 -4180 -2280 -1480 -0880 -1480 -2280 -4180 -8080 -0000 +88 +D8 +E8 +D8 +88 ENDCHAR -STARTCHAR U_22CB -ENCODING 8907 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29D2 +ENCODING 10706 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -C000 -3000 -0C00 -0B00 -10C0 -2020 -4000 -0000 +88 +D8 +B8 +D8 +88 ENDCHAR -STARTCHAR U_22CC -ENCODING 8908 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29D3 +ENCODING 10707 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0020 -0040 -0080 -0100 -0200 -0400 -0A00 -1100 -2080 -4040 -8020 +88 +D8 +F8 +D8 +88 ENDCHAR -STARTCHAR U_22CD -ENCODING 8909 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni29D4 +ENCODING 10708 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -8780 -7840 -0000 -FFC0 -0000 +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 U_22CE -ENCODING 8910 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A72 +ENCODING 10866 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0000 -0000 -0000 -0000 -0000 -8200 -4400 -2800 -2800 -1000 -1000 +20 +20 +F8 +20 +20 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_22CF -ENCODING 8911 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A73 +ENCODING 10867 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -1000 -1000 -2800 -2800 -4400 -4400 -8200 -0000 -0000 -0000 -0000 +F8 +00 +F8 +00 +68 +B0 ENDCHAR -STARTCHAR U_22D0 -ENCODING 8912 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A74 +ENCODING 10868 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0000 -3F80 -6000 -4F80 -9800 -9000 -9000 -9800 -CF80 -6000 -3F80 +AC +00 +AC ENDCHAR -STARTCHAR U_22D1 -ENCODING 8913 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A75 +ENCODING 10869 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 BITMAP -0000 -0000 -FC00 -0200 -F900 -0500 -0500 -F900 -0200 -FC00 -0000 +D8 +00 +D8 ENDCHAR -STARTCHAR U_22D2 -ENCODING 8914 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A76 +ENCODING 10870 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 BITMAP -3F00 -6180 -C0C0 -9E40 -B340 -A140 -A140 -A140 -A140 -0000 -0000 +A8 +00 +A8 ENDCHAR -STARTCHAR U_22D3 -ENCODING 8915 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A77 +ENCODING 10871 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -0000 -A140 -A140 -A140 -B340 -9E40 -C0C0 -6180 -3F00 +50 +00 +F8 +00 +F8 +00 +50 ENDCHAR -STARTCHAR U_22D4 -ENCODING 8916 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A78 +ENCODING 10872 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0000 -0000 -1000 -1000 -3800 -5400 -9200 -9200 -9200 -9200 -0000 +A8 +00 +F8 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_22D5 -ENCODING 8917 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A79 +ENCODING 10873 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -4800 -4800 -4800 -FC00 -4800 -4800 -FC00 -4800 -4800 -4800 +10 +20 +48 +94 +48 +20 +10 ENDCHAR -STARTCHAR U_22D6 -ENCODING 8918 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A7A +ENCODING 10874 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -0000 -0300 -0C00 -3000 -C300 -3000 -0C00 -0300 -0000 +20 +10 +48 +A4 +48 +10 +20 ENDCHAR -STARTCHAR U_22D7 -ENCODING 8919 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A7B +ENCODING 10875 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 BITMAP -0000 -C000 -3000 -0C00 -C300 -C300 -0C00 -3000 -C000 -0000 -0000 +C0 +20 +40 +00 +40 +0C +30 +C0 +30 +0C ENDCHAR -STARTCHAR U_22D8 -ENCODING 8920 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A7C +ENCODING 10876 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 0 BITMAP -0000 -0000 -1240 -2480 -4900 -9200 -4900 -2480 -1240 -0000 -0000 +18 +04 +08 +00 +08 +C0 +30 +0C +30 +C0 ENDCHAR -STARTCHAR U_22D9 -ENCODING 8921 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A7D +ENCODING 10877 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0000 -0000 -9200 -4900 -2480 -1240 -2480 -4900 -9200 -0000 -0000 +0C +30 +C0 +30 +CC +30 +0C ENDCHAR -STARTCHAR U_22DC -ENCODING 8924 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A7E +ENCODING 10878 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -00C0 -0300 -0CC0 -3300 -CC00 -3000 -C000 -3000 -0C00 -0300 -00C0 +C0 +30 +0C +30 +CC +30 +C0 ENDCHAR -STARTCHAR U_22DD -ENCODING 8925 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 17 0 -1 +STARTCHAR uni2A7F +ENCODING 10879 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -1800 -C600 -3180 -0C60 -0318 -00C6 -0031 -000C -0003 -000C -0030 -00C0 -0300 -0C00 -3000 -C000 -0000 +0C +30 +C4 +30 +CC +30 +0C ENDCHAR -STARTCHAR U_22DE -ENCODING 8926 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 17 0 -1 +STARTCHAR uni2A80 +ENCODING 10880 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -000C -0031 -00C6 -0718 -1860 -6380 -8C00 -3000 -C000 -3000 -0C00 -0380 -0060 -0018 -0006 -0001 -0000 +C0 +30 +8C +30 +CC +30 +C0 ENDCHAR -STARTCHAR U_22DF -ENCODING 8927 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 17 0 -1 +STARTCHAR uni2A81 +ENCODING 10881 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -1800 -8600 -6180 -1860 -0618 -0186 -0071 -000C -0003 -000C -0070 -0180 -0600 -1800 -6000 -8000 -0000 +40 +0C +30 +C0 +30 +CC +30 +0C ENDCHAR -STARTCHAR U_22E0 -ENCODING 8928 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 17 0 -1 +STARTCHAR uni2A82 +ENCODING 10882 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -002C -0031 -00C6 -0358 -1C60 -6180 -8E80 -3080 -C100 -3100 -0E00 -0180 -0260 -0218 -0406 -0401 -0000 +08 +C0 +30 +0C +30 +CC +30 +C0 ENDCHAR -STARTCHAR U_22E4 -ENCODING 8932 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A83 +ENCODING 10883 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 BITMAP -0000 -0000 -0000 -FF80 -8000 -8000 -8000 -FF80 -0400 -FF80 -0800 +04 +00 +0C +30 +C0 +30 +CC +30 +0C ENDCHAR -STARTCHAR U_22E5 -ENCODING 8933 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A84 +ENCODING 10884 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 0 BITMAP -0000 -0000 -0000 -FF80 -0080 -0080 -0080 -FF80 -0400 -FF80 -0800 +80 +00 +C0 +30 +0C +30 +CC +30 +C0 ENDCHAR -STARTCHAR U_22E8 -ENCODING 8936 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A85 +ENCODING 10885 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0000 -0100 -0600 -3800 -C000 -3800 -0600 -0500 -7900 -9E00 -2000 +38 +C0 +38 +00 +68 +B0 +00 +68 +B0 ENDCHAR -STARTCHAR U_22EC -ENCODING 8940 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A86 +ENCODING 10886 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 0 BITMAP -0100 -0780 -1A80 -6480 -8480 -6880 -1880 -1780 -2000 -FF80 -4000 +E0 +18 +E0 +00 +68 +B0 +00 +68 +B0 ENDCHAR -STARTCHAR U_22ED -ENCODING 8941 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A87 +ENCODING 10887 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -0000 -E400 -9C00 -8E00 -8980 -9600 -9800 -E000 -2000 -FF80 -4000 +0C +30 +C0 +30 +0C +00 +10 +FC +40 ENDCHAR -STARTCHAR U_22EE -ENCODING 8942 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A88 +ENCODING 10888 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -0000 -8000 -8000 -0000 -0000 -8000 -8000 -0000 -0000 -8000 -8000 +C0 +30 +0C +30 +C0 +00 +10 +FC +40 ENDCHAR -STARTCHAR U_22EF -ENCODING 8943 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A89 +ENCODING 10889 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -0000 -0000 -0000 -0000 -CCC0 -CCC0 -0000 -0000 -0000 -0000 -0000 +38 +C0 +38 +00 +10 +78 +B0 +20 +68 +F0 +40 ENDCHAR -STARTCHAR U_22F0 -ENCODING 8944 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A8A +ENCODING 10890 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -0000 -0000 -0000 -0300 -0300 -0000 -1800 -1800 -0000 -C000 -C000 +E0 +18 +E0 +00 +10 +78 +B0 +20 +68 +F0 +40 ENDCHAR -STARTCHAR U_22F1 -ENCODING 8945 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A8B +ENCODING 10891 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -C000 -C000 -0000 -0000 -1800 -1800 -0000 -0000 -0300 -0300 -0000 +38 +C0 +38 +00 +F8 +00 +F8 +00 +E0 +18 +E0 ENDCHAR -STARTCHAR U_2312 -ENCODING 8978 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 5 0 3 +STARTCHAR uni2A8C +ENCODING 10892 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -2 BITMAP -0E00 -3180 -4040 -8020 -8020 +E0 +18 +E0 +00 +F8 +00 +F8 +00 +38 +C0 +38 ENDCHAR -STARTCHAR U_2460 -ENCODING 9312 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A8D +ENCODING 10893 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1F00 -2080 -4440 -8C20 -8420 -8420 -8420 -8420 -4440 -2080 -1F00 +38 +C0 +38 +00 +68 +B0 +00 +F8 ENDCHAR -STARTCHAR U_2461 -ENCODING 9313 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A8E +ENCODING 10894 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1F00 -2080 -4E40 -9120 -8120 -8620 -8820 -9020 -5F40 -2080 -1F00 +E0 +18 +E0 +00 +68 +B0 +00 +F8 ENDCHAR -STARTCHAR U_2462 -ENCODING 9314 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A8F +ENCODING 10895 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -1F00 -2080 -4E40 -9120 -8120 -8620 -8120 -9120 -4E40 -2080 -1F00 +38 +C0 +38 +00 +68 +B0 +00 +E0 +18 +E0 ENDCHAR -STARTCHAR U_2463 -ENCODING 9315 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A90 +ENCODING 10896 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -1F00 -2080 -4440 -8C20 -9420 -A420 -BF20 -8420 -4E40 -2080 -1F00 +E0 +18 +E0 +00 +68 +B0 +00 +38 +C0 +38 ENDCHAR -STARTCHAR U_2464 -ENCODING 9316 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A91 +ENCODING 10897 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -1F00 -2080 -5F40 -9020 -9020 -9E20 -8120 -8120 -5E40 -2080 -1F00 +38 +C0 +38 +E0 +18 +E0 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_2465 -ENCODING 9317 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A92 +ENCODING 10898 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -1F00 -2080 -4E40 -9120 -9020 -9E20 -9120 -9120 -4E40 -2080 -1F00 +E0 +18 +E0 +38 +C0 +38 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_2466 -ENCODING 9318 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A93 +ENCODING 10899 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 BITMAP -1F00 -2080 -5F40 -9120 -8220 -8220 -8420 -8420 -4440 -2080 -1F00 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 ENDCHAR -STARTCHAR U_2467 -ENCODING 9319 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A94 +ENCODING 10900 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 10 0 -1 BITMAP -1F00 -2080 -4E40 -9120 -9120 -8E20 -9120 -9120 -4E40 -2080 -1F00 +E0 +1C +E0 +1C +E0 +1C +E0 +1C +E0 +1C ENDCHAR -STARTCHAR U_2468 -ENCODING 9320 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A95 +ENCODING 10901 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -1F00 -2080 -4640 -8920 -8920 -8720 -8120 -8920 -4640 -2080 -1F00 +0C +30 +CC +30 +C0 +30 +0C ENDCHAR -STARTCHAR U_2469 -ENCODING 9321 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A96 +ENCODING 10902 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -1F00 -2080 -5240 -B520 -9520 -9520 -9520 -9520 -5240 -2080 -1F00 +C0 +30 +CC +30 +0C +30 +C0 ENDCHAR -STARTCHAR U_246A -ENCODING 9322 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A97 +ENCODING 10903 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -1F00 -2080 -5140 -B320 -9120 -9120 -9120 -9120 -5140 -2080 -1F00 +0C +30 +CC +30 +C4 +30 +0C ENDCHAR -STARTCHAR U_246B -ENCODING 9323 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A98 +ENCODING 10904 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -1F00 -2080 -5340 -B4A0 -90A0 -90A0 -9320 -9420 -57C0 -2080 -1F00 +C0 +30 +CC +30 +8C +30 +C0 ENDCHAR -STARTCHAR U_2474 -ENCODING 9332 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A99 +ENCODING 10905 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2080 -4440 -8C20 -8420 -8420 -8420 -8420 -8420 -8420 -4E40 -2080 +F8 +00 +F8 +00 +E0 +18 +E0 ENDCHAR -STARTCHAR U_2475 -ENCODING 9333 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9A +ENCODING 10906 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2080 -4E40 -9120 -9120 -8120 -8220 -8420 -8820 -9120 -5F40 -2080 +F8 +00 +F8 +00 +E0 +18 +E0 ENDCHAR -STARTCHAR U_2476 -ENCODING 9334 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9B +ENCODING 10907 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -2080 -4E40 -9120 -8120 -8220 -8620 -8120 -8120 -9120 -4E40 -2080 +0C +30 +CC +30 +CC +30 +C0 +30 +0C ENDCHAR -STARTCHAR U_2477 -ENCODING 9335 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9C +ENCODING 10908 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -2080 -4240 -8620 -8620 -8A20 -8A20 -9220 -9F20 -8220 -4740 -2080 +C0 +30 +CC +30 +CC +30 +0C +30 +C0 ENDCHAR -STARTCHAR U_2478 -ENCODING 9336 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9D +ENCODING 10909 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -2080 -5F40 -9020 -9020 -9020 -9E20 -8120 -8120 -9120 -4E40 -2080 +68 +B0 +00 +38 +C0 +38 ENDCHAR -STARTCHAR U_2479 -ENCODING 9337 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9E +ENCODING 10910 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -2080 -4E40 -9120 -9020 -9020 -9620 -9920 -9120 -9120 -4E40 -2080 +68 +B0 +00 +E0 +18 +E0 ENDCHAR -STARTCHAR U_247A -ENCODING 9338 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2A9F +ENCODING 10911 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -2080 -5F40 -9120 -8120 -8220 -8220 -8420 -8420 -8420 -4440 -2080 +68 +B0 +00 +38 +C0 +38 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_247B -ENCODING 9339 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA0 +ENCODING 10912 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -2080 -4E40 -9120 -9120 -9120 -8E20 -9120 -9120 -9120 -4E40 -2080 +68 +B0 +00 +E0 +18 +E0 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_247C -ENCODING 9340 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA1 +ENCODING 10913 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2080 -4E40 -9120 -9120 -9120 -8F20 -8120 -8120 -9120 -4E40 -2080 +10 +20 +48 +90 +48 +20 +10 ENDCHAR -STARTCHAR U_247D -ENCODING 9341 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA2 +ENCODING 10914 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -2080 -5240 -B520 -9520 -9520 -9520 -9520 -9520 -9520 -7A40 -2080 +40 +20 +90 +48 +90 +20 +40 ENDCHAR -STARTCHAR U_247E -ENCODING 9342 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA3 +ENCODING 10915 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -2080 -4940 -9B20 -8920 -8920 -8920 -8920 -8920 -8920 -5FC0 -2080 +24 +48 +90 +48 +24 +00 +FC ENDCHAR -STARTCHAR U_247F -ENCODING 9343 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA4 +ENCODING 10916 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5340 -B4A0 -94A0 -90A0 -9120 -9220 -9420 -94A0 -7FC0 -2080 +CC +30 +48 +30 +CC ENDCHAR -STARTCHAR U_2480 -ENCODING 9344 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA5 +ENCODING 10917 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5340 -B4A0 -90A0 -90A0 -9320 -90A0 -90A0 -94A0 -7B40 -2080 +84 +48 +30 +48 +84 ENDCHAR -STARTCHAR U_2481 -ENCODING 9345 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA6 +ENCODING 10918 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5140 -B320 -9320 -9520 -9520 -9520 -97A0 -9120 -7BC0 -2080 +08 +34 +C4 +34 +08 ENDCHAR -STARTCHAR U_2482 -ENCODING 9346 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA7 +ENCODING 10919 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5740 -B420 -9420 -9520 -96A0 -90A0 -90A0 -94A0 -7B40 -2080 +40 +B0 +8C +B0 +40 ENDCHAR -STARTCHAR U_2483 -ENCODING 9347 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA8 +ENCODING 10920 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -2080 -5340 -B4A0 -9420 -9420 -9720 -94A0 -94A0 -94A0 -7B40 -2080 +08 +34 +C4 +34 +C8 +30 +0C ENDCHAR -STARTCHAR U_2484 -ENCODING 9348 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AA9 +ENCODING 10921 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -2080 -57C0 -B4A0 -90A0 -9120 -9120 -9220 -9220 -9220 -7A40 -2080 +40 +B0 +8C +B0 +4C +30 +C0 ENDCHAR -STARTCHAR U_2485 -ENCODING 9349 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AAA +ENCODING 10922 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5340 -B4A0 -94A0 -94A0 -9320 -94A0 -94A0 -94A0 -7B40 -2080 +0C +30 +FC +30 +0C ENDCHAR -STARTCHAR U_2486 -ENCODING 9350 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AAB +ENCODING 10923 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -2080 -5340 -B4A0 -94A0 -94A0 -93A0 -90A0 -90A0 -94A0 -7B40 -2080 +C0 +30 +FC +30 +C0 ENDCHAR -STARTCHAR U_2487 -ENCODING 9351 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AAC +ENCODING 10924 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -4040 -5140 -AAA0 -AAA0 -8AA0 -92A0 -92A0 -A2A0 -AAA0 -7940 -4040 +0C +30 +FC +30 +0C +00 +FC ENDCHAR -STARTCHAR U_2488 -ENCODING 9352 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 10 5 -1 +STARTCHAR uni2AAD +ENCODING 10925 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -40 C0 -40 -40 -40 -40 -40 -40 -E0 -04 +30 +FC +30 +C0 +00 +FC ENDCHAR -STARTCHAR U_2489 -ENCODING 9353 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AAE +ENCODING 10926 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -70 -88 -88 -08 -10 20 -40 -88 +D8 +00 +F8 +00 F8 -01 ENDCHAR -STARTCHAR U_248A -ENCODING 9354 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AAF +ENCODING 10927 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -70 -88 -08 -08 -70 08 +30 +C0 +30 08 -88 -70 -01 +00 +F8 ENDCHAR -STARTCHAR U_248B -ENCODING 9355 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB0 +ENCODING 10928 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -10 -30 -50 -50 -90 -90 +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 -38 -01 +F8 +40 ENDCHAR -STARTCHAR U_248C -ENCODING 9356 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 10 4 -1 +STARTCHAR uni2AB2 +ENCODING 10930 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -F0 80 +60 +18 +60 80 -F0 -88 +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 -88 -70 -02 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_248D -ENCODING 9357 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB4 +ENCODING 10932 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -70 -88 80 -B0 -C8 -88 -88 -88 -70 -01 +60 +18 +60 +80 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_248E -ENCODING 9358 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB5 +ENCODING 10933 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -FC -88 -88 -10 +08 +30 +C0 +30 +08 10 +F8 20 -20 -20 -20 -01 +F8 +40 ENDCHAR -STARTCHAR U_248F -ENCODING 9359 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB6 +ENCODING 10934 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP -70 -88 -88 -88 -70 -88 -88 -88 -70 -01 +80 +60 +18 +60 +80 +10 +F8 +20 +F8 +40 ENDCHAR -STARTCHAR U_2490 -ENCODING 9360 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB7 +ENCODING 10935 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 BITMAP -70 -88 -88 -88 -98 -68 08 -88 -70 -01 -ENDCHAR -STARTCHAR U_2491 -ENCODING 9361 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 -BITMAP -4C -D2 -52 -52 -52 -52 -52 -52 -EC -01 -ENDCHAR -STARTCHAR U_2492 -ENCODING 9362 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 10 2 -1 -BITMAP -4400 -CC00 -4400 -4400 -4400 -4400 -4400 -4400 -EE00 -0080 +30 +C0 +30 +08 +00 +68 +B0 +00 +68 +B0 ENDCHAR -STARTCHAR U_2493 -ENCODING 9363 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB8 +ENCODING 10936 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 11 0 -1 BITMAP -4C -D2 -42 -42 -44 -48 -50 -52 -FE -01 +80 +60 +18 +60 +80 +00 +B0 +68 +00 +B0 +68 ENDCHAR -STARTCHAR U_2494 -ENCODING 9364 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2AB9 +ENCODING 10937 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 BITMAP -4C -D2 -42 -42 -4C -42 -42 -52 -EC -01 +08 +30 +C0 +30 +08 +10 +78 +B0 +20 +68 +F0 +40 ENDCHAR -STARTCHAR U_2495 -ENCODING 9365 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2ABA +ENCODING 10938 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 12 0 -2 BITMAP -44 -C4 -4C -54 -54 -54 -5E -44 -E6 -01 +80 +60 +18 +60 +80 +10 +78 +B0 +20 +68 +F0 +40 ENDCHAR -STARTCHAR U_2496 -ENCODING 9366 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2ABB +ENCODING 10939 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -5C -D0 +28 +28 50 -5C -54 -42 -42 -52 -EC -01 -ENDCHAR -STARTCHAR U_2497 -ENCODING 9367 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 -BITMAP -4C -D2 +A0 50 -54 -5A -52 -52 -52 -EC -01 -ENDCHAR -STARTCHAR U_2498 -ENCODING 9368 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 -BITMAP -5E -D2 -52 -44 -44 -48 -48 -48 -E8 -01 -ENDCHAR -STARTCHAR U_2499 -ENCODING 9369 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 -BITMAP -4C -D2 -52 -52 -4C -52 -52 -52 -EC -01 +28 +28 ENDCHAR -STARTCHAR U_249A -ENCODING 9370 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 10 3 -1 +STARTCHAR uni2ABC +ENCODING 10940 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -4C -D2 -52 -52 -56 -4A -42 -52 -EC -01 +A0 +A0 +50 +28 +50 +A0 +A0 ENDCHAR -STARTCHAR U_249B -ENCODING 9371 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 10 2 -1 +STARTCHAR uni2ABD +ENCODING 10941 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 BITMAP -4400 -AA00 -AA00 -2A00 -2A00 -4A00 -8A00 -AA00 -E400 -0080 +78 +80 +A0 +80 +78 ENDCHAR -STARTCHAR U_24E7 -ENCODING 9447 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2ABE +ENCODING 10942 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 BITMAP -0E00 -3180 -4040 -5140 -8A20 -8420 -8A20 -5140 -4040 -3180 -0E00 +F0 +08 +28 +08 +F0 ENDCHAR -STARTCHAR U_24EB -ENCODING 9451 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 12 -1 +STARTCHAR uni2ABF +ENCODING 10943 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +78 +80 +80 +78 +00 +20 +70 +20 ENDCHAR -STARTCHAR U_24EC -ENCODING 9452 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AC0 +ENCODING 10944 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1F00 -3F80 -58C0 -9760 -DF60 -DEE0 -DDE0 -DBE0 -5040 -3F80 -1F00 +F0 +08 +08 +F0 +00 +20 +70 +20 ENDCHAR -STARTCHAR U_24ED -ENCODING 9453 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AC1 +ENCODING 10945 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1F00 -3F80 -6CC0 -CB60 -EF60 -EEE0 -EF60 -EB60 -6CC0 -3F80 -1F00 +78 +80 +80 +78 +00 +50 +20 +50 ENDCHAR -STARTCHAR U_24EE -ENCODING 9454 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2AC2 +ENCODING 10946 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -1F00 -3F80 -6EC0 -CDE0 -EAE0 -EAE0 -E860 -EEE0 -6EC0 -3F80 -1F00 +F0 +08 +08 +F0 +00 +50 +20 +50 ENDCHAR -STARTCHAR SF100000 -ENCODING 9472 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 1 0 4 +STARTCHAR uni2AC3 +ENCODING 10947 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FFF0 +20 +00 +78 +80 +80 +78 +00 +F8 ENDCHAR -STARTCHAR U_2501 -ENCODING 9473 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 2 0 4 +STARTCHAR uni2AC4 +ENCODING 10948 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FFF0 -FFF0 +20 +00 +F0 +08 +08 +F0 +00 +F8 ENDCHAR -STARTCHAR SF110000 -ENCODING 9474 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 1 12 6 -1 +STARTCHAR uni2AC5 +ENCODING 10949 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP +78 80 80 -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 +78 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_2503 -ENCODING 9475 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 12 5 -1 +STARTCHAR uni2AC6 +ENCODING 10950 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 +F0 +08 +08 +F0 +00 +F8 +00 +F8 ENDCHAR -STARTCHAR U_2504 -ENCODING 9476 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 1 0 4 +STARTCHAR uni2AC7 +ENCODING 10951 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -EE70 -ENDCHAR -STARTCHAR U_2505 -ENCODING 9477 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 2 0 4 +78 +80 +80 +78 +00 +68 +B0 +ENDCHAR +STARTCHAR uni2AC8 +ENCODING 10952 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -EE70 -EE70 +F0 +08 +08 +F0 +00 +68 +B0 ENDCHAR -STARTCHAR U_2506 -ENCODING 9478 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 1 12 6 -1 +STARTCHAR uni2AC9 +ENCODING 10953 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 10 0 -1 BITMAP +78 80 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 -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 -80 +F0 ENDCHAR -STARTCHAR U_2507 -ENCODING 9479 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 12 5 -1 +STARTCHAR uni2ACE +ENCODING 10958 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 BITMAP -C0 -C0 -C0 -00 -00 -C0 -C0 -C0 -00 -C0 -C0 -C0 +FC +04 +04 +3C ENDCHAR -STARTCHAR U_2508 -ENCODING 9480 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 1 0 4 +STARTCHAR uni2ACF +ENCODING 10959 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -DB60 +38 +48 +88 +88 +88 +48 +38 ENDCHAR -STARTCHAR U_2509 -ENCODING 9481 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 2 0 4 +STARTCHAR uni2AD0 +ENCODING 10960 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -DB60 -DB60 +E0 +90 +88 +88 +88 +90 +E0 ENDCHAR -STARTCHAR U_250A -ENCODING 9482 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 1 11 6 0 +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 -00 +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 U_250B -ENCODING 9483 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 11 5 0 +STARTCHAR uni2AD6 +ENCODING 10966 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -C0 -C0 -00 -C0 -C0 -00 -C0 -C0 +F0 +08 +08 +F0 00 -C0 -C0 +F0 +08 +08 +F0 ENDCHAR -STARTCHAR SF010000 -ENCODING 9484 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 6 6 -1 +STARTCHAR uni2AD7 +ENCODING 10967 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 1 BITMAP -FC -80 -80 -80 -80 -80 +CC +30 +30 +CC ENDCHAR -STARTCHAR U_250D -ENCODING 9485 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 -1 +STARTCHAR uni2AD8 +ENCODING 10968 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 1 BITMAP -FC -FC -80 -80 -80 -80 -80 +CC +30 +78 +30 +CC ENDCHAR -STARTCHAR U_250E -ENCODING 9486 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 6 6 -1 +STARTCHAR uni2AD9 +ENCODING 10969 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FC -C0 -C0 -C0 -C0 -C0 +70 +A8 +A8 +A8 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_250F -ENCODING 9487 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 5 -1 +STARTCHAR uni2ADA +ENCODING 10970 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -FE -FE -C0 -C0 -C0 -C0 -C0 +70 +20 +70 +A8 +A8 +A8 +A8 +A8 ENDCHAR -STARTCHAR SF030000 -ENCODING 9488 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 -1 +STARTCHAR uni2ADB +ENCODING 10971 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FE -02 -02 -02 -02 -02 -02 +20 +70 +A8 +A8 +A8 +A8 +20 ENDCHAR -STARTCHAR U_2511 -ENCODING 9489 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 8 0 -1 +STARTCHAR uni2ADC +ENCODING 10972 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -FE -FE -02 -02 -02 -02 -02 -02 +20 +28 +30 +A8 +E8 +F0 ENDCHAR -STARTCHAR U_2512 -ENCODING 9490 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 7 0 -1 +STARTCHAR uni2ADD +ENCODING 10973 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -FF -03 -03 -03 -03 -03 -03 +20 +20 +20 +A8 +A8 +70 ENDCHAR -STARTCHAR U_2513 -ENCODING 9491 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 8 0 -1 +STARTCHAR uni2ADE +ENCODING 10974 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 7 0 0 BITMAP -FF -FF -03 -03 -03 -03 -03 -03 +10 +10 +10 +F0 +10 +10 +10 ENDCHAR -STARTCHAR SF020000 -ENCODING 9492 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 4 +STARTCHAR uni2ADF +ENCODING 10975 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 BITMAP -80 -80 -80 -80 -80 -80 +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 U_2515 -ENCODING 9493 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 4 +STARTCHAR uni2AE2 +ENCODING 10978 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP 80 +F8 80 +F8 80 +F8 80 -80 -FC -FC ENDCHAR -STARTCHAR U_2516 -ENCODING 9494 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 5 4 +STARTCHAR uni2AE3 +ENCODING 10979 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C0 -C0 -C0 -C0 -C0 -C0 -FE +28 +28 +28 +E8 +28 +28 +28 ENDCHAR -STARTCHAR U_2517 -ENCODING 9495 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 8 5 3 +STARTCHAR uni2AE4 +ENCODING 10980 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C0 -C0 -C0 -C0 -C0 -C0 -FE -FE +08 +08 +F8 +08 +F8 +08 +08 ENDCHAR -STARTCHAR SF040000 -ENCODING 9496 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 4 +STARTCHAR uni2AE5 +ENCODING 10981 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -02 -02 -02 -02 -02 -02 -FE +28 +28 +E8 +28 +E8 +28 +28 ENDCHAR -STARTCHAR U_2519 -ENCODING 9497 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 8 0 3 +STARTCHAR uni2AE6 +ENCODING 10982 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -02 -02 -02 -02 -02 -02 -FE -FE +A0 +A0 +A0 +F8 +A0 +A0 +A0 ENDCHAR -STARTCHAR U_251A -ENCODING 9498 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 7 0 4 +STARTCHAR uni2AE7 +ENCODING 10983 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -03 -03 -03 -03 -03 -03 -FF +F8 +00 +F8 +20 +20 +20 ENDCHAR -STARTCHAR U_251B -ENCODING 9499 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 8 0 3 +STARTCHAR uni2AE8 +ENCODING 10984 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -03 -03 -03 -03 -03 -03 -FF -FF +20 +20 +20 +F8 +00 +F8 ENDCHAR -STARTCHAR SF080000 -ENCODING 9500 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AE9 +ENCODING 10985 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -80 -80 -80 -80 -80 -80 -FC -80 -80 -80 -80 -80 +20 +20 +F8 +00 +F8 +20 +20 ENDCHAR -STARTCHAR U_251D -ENCODING 9501 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AEA +ENCODING 10986 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -80 -80 -80 -80 -80 -FC -FC -80 -80 -80 -80 -80 +F8 +50 +50 +50 +50 +50 +50 ENDCHAR -STARTCHAR U_251E -ENCODING 9502 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AEB +ENCODING 10987 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C0 -C0 -C0 -C0 -C0 -C0 -FC -80 -80 -80 -80 -80 +50 +50 +50 +50 +50 +50 +F8 ENDCHAR -STARTCHAR U_251F -ENCODING 9503 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +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 -80 -80 -80 -80 -FC -C0 -C0 -C0 -C0 -C0 ENDCHAR -STARTCHAR U_2520 -ENCODING 9504 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 5 -1 +STARTCHAR uni2AEE +ENCODING 10990 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP +40 +40 C0 -C0 -C0 -C0 -C0 -C0 -FE -C0 -C0 -C0 -C0 -C0 +40 +60 +40 +40 ENDCHAR -STARTCHAR U_2521 -ENCODING 9505 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AEF +ENCODING 10991 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -C0 -C0 -C0 -C0 -C0 -FC -FC -80 -80 -80 -80 -80 +40 +A0 +40 +40 +40 +40 +40 ENDCHAR -STARTCHAR U_2522 -ENCODING 9506 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AF0 +ENCODING 10992 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -80 -80 -80 -80 -80 -FC -FC -80 -80 -80 -80 -80 +40 +40 +40 +40 +40 +A0 +40 ENDCHAR -STARTCHAR U_2523 -ENCODING 9507 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2AF1 +ENCODING 10993 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -C0 -C0 -C0 -C0 -C0 -FC +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 -C0 -C0 -C0 -C0 -C0 +A8 +A8 +A8 ENDCHAR -STARTCHAR SF090000 -ENCODING 9508 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AF6 +ENCODING 10998 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 1 5 2 1 BITMAP -02 -02 -02 -02 -02 -02 -FE -02 -02 -02 -02 -02 +80 +00 +80 +00 +80 ENDCHAR -STARTCHAR U_2525 -ENCODING 9509 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AF7 +ENCODING 10999 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 BITMAP -02 -02 -02 -02 -02 -FE -FE -02 -02 -02 -02 -02 +54 +A8 +54 ENDCHAR -STARTCHAR U_2526 -ENCODING 9510 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AF8 +ENCODING 11000 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 2 BITMAP -06 -06 -06 -06 -06 -06 -FE -02 -02 -02 -02 -02 +A8 +54 +A8 ENDCHAR -STARTCHAR U_2527 -ENCODING 9511 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AF9 +ENCODING 11001 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -02 -02 -02 -02 -02 -02 -FE -06 -06 -06 -06 -06 +0C +30 +C0 +30 +CC +30 +CC +30 +0C ENDCHAR -STARTCHAR U_2528 -ENCODING 9512 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 12 0 -1 +STARTCHAR uni2AFA +ENCODING 11002 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -03 -03 -03 -03 -03 -03 -FF -03 -03 -03 -03 -03 +C0 +30 +0C +30 +CC +30 +CC +30 +C0 ENDCHAR -STARTCHAR U_2529 -ENCODING 9513 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AFB +ENCODING 11003 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 0 BITMAP -06 -06 -06 -06 -06 -06 -FE -02 -02 -02 -02 -02 +54 +54 +54 +54 +A8 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_252A -ENCODING 9514 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AFC +ENCODING 11004 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -02 -02 -02 -02 -02 -FE -FE -06 -06 -06 -06 -06 +A8 +A8 +A8 +A8 +A8 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_252B -ENCODING 9515 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2AFD +ENCODING 11005 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 0 BITMAP -06 -06 -06 -06 -06 -FE -FE -06 -06 -06 -06 -06 +48 +48 +48 +48 +90 +90 +90 +90 ENDCHAR -STARTCHAR SF060000 -ENCODING 9516 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2AFE +ENCODING 11006 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 BITMAP -FFF0 -0200 -0200 -0200 -0200 -0200 +E0 +A0 +A0 +A0 +A0 +E0 ENDCHAR -STARTCHAR U_252D -ENCODING 9517 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2AFF +ENCODING 11007 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 9 1 0 BITMAP -FFF0 -FE00 -0200 -0200 -0200 -0200 +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 ENDCHAR -STARTCHAR U_252E -ENCODING 9518 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B00 +ENCODING 11008 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -FFF0 -03F0 -0200 -0200 -0200 -0200 +1C +14 +2C +50 +A0 +40 ENDCHAR -STARTCHAR U_252F -ENCODING 9519 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B01 +ENCODING 11009 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -FFF0 -FFF0 -0200 -0200 -0200 -0200 +E0 +A0 +D0 +28 +14 +08 ENDCHAR -STARTCHAR U_2530 -ENCODING 9520 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B02 +ENCODING 11010 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -FFF0 -0300 -0300 -0300 -0300 -0300 +40 +A0 +50 +2C +14 +1C ENDCHAR -STARTCHAR U_2531 -ENCODING 9521 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B03 +ENCODING 11011 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -FFF0 -FE00 -0600 -0600 -0600 -0600 +08 +14 +28 +D0 +A0 +E0 ENDCHAR -STARTCHAR U_2532 -ENCODING 9522 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B04 +ENCODING 11012 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -FFF0 -03F0 -0300 -0300 -0300 -0300 +48 +B4 +84 +B4 +48 ENDCHAR -STARTCHAR U_2533 -ENCODING 9523 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B05 +ENCODING 11013 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -FFF0 -FFF0 -0300 -0300 -0300 -0300 +20 +60 +F8 +F8 +60 +20 ENDCHAR -STARTCHAR SF070000 -ENCODING 9524 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B06 +ENCODING 11014 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -FFF0 +30 +78 +FC +30 +30 +30 +30 ENDCHAR -STARTCHAR U_2535 -ENCODING 9525 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B07 +ENCODING 11015 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -FE00 -FFF0 +30 +30 +30 +30 +FC +78 +30 ENDCHAR -STARTCHAR U_2536 -ENCODING 9526 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B08 +ENCODING 11016 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -03F0 -FFF0 +1C +1C +3C +70 +E0 +40 ENDCHAR -STARTCHAR U_2537 -ENCODING 9527 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B09 +ENCODING 11017 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -FFF0 -FFF0 +E0 +E0 +F0 +38 +1C +08 ENDCHAR -STARTCHAR U_2538 -ENCODING 9528 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B0A +ENCODING 11018 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -0600 -FFF0 +40 +E0 +70 +3C +1C +1C ENDCHAR -STARTCHAR U_2539 -ENCODING 9529 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B0B +ENCODING 11019 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -FE00 -FFF0 +08 +1C +38 +F0 +E0 +E0 ENDCHAR -STARTCHAR U_253A -ENCODING 9530 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B0C +ENCODING 11020 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0300 -0300 -0300 -0300 -0300 -03F0 -FFF0 +48 +FC +48 ENDCHAR -STARTCHAR U_253B -ENCODING 9531 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B0D +ENCODING 11021 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 9 0 -1 BITMAP -0300 -0300 -0300 -0300 -0300 -FFF0 -FFF0 +30 +78 +FC +30 +30 +30 +FC +78 +30 ENDCHAR -STARTCHAR SF050000 -ENCODING 9532 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B0E +ENCODING 11022 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -FFF0 -0200 -0200 -0200 -0200 -0200 +E0 +20 +20 +A8 +70 +20 ENDCHAR -STARTCHAR U_253D -ENCODING 9533 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B0F +ENCODING 11023 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -FE00 -FFF0 -0200 -0200 -0200 -0200 -0200 +20 +70 +A8 +20 +20 +E0 ENDCHAR -STARTCHAR U_253E -ENCODING 9534 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B10 +ENCODING 11024 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -03F0 -FFF0 -0200 -0200 -0200 -0200 -0200 +38 +20 +20 +A8 +70 +20 ENDCHAR -STARTCHAR U_253F -ENCODING 9535 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B11 +ENCODING 11025 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -FFF0 -FFF0 -0200 -0200 -0200 -0200 -0200 +20 +70 +A8 +20 +20 +38 ENDCHAR -STARTCHAR U_2540 -ENCODING 9536 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B12 +ENCODING 11026 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -0600 -FFF0 -0200 -0200 -0200 -0200 -0200 +F8 +F8 +F8 +88 +88 +F8 ENDCHAR -STARTCHAR U_2541 -ENCODING 9537 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B13 +ENCODING 11027 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -FFF0 -0600 -0600 -0600 -0600 -0600 +F8 +88 +88 +F8 +F8 +F8 ENDCHAR -STARTCHAR U_2542 -ENCODING 9538 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B14 +ENCODING 11028 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -0600 -FFF0 -0600 -0600 -0600 -0600 -0600 +F8 +B8 +98 +88 +F8 ENDCHAR -STARTCHAR U_2543 -ENCODING 9539 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B15 +ENCODING 11029 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -FE00 -FFF0 -0200 -0200 -0200 -0200 -0200 +F8 +88 +C8 +E8 +F8 ENDCHAR -STARTCHAR U_2544 -ENCODING 9540 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B16 +ENCODING 11030 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -0300 -0300 -0300 -0300 -0300 -03F0 -FFF0 -0200 -0200 -0200 -0200 -0200 +30 +68 +EC +68 +30 ENDCHAR -STARTCHAR U_2545 -ENCODING 9541 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B17 +ENCODING 11031 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -FFF0 -FE00 -0600 -0600 -0600 -0600 +30 +58 +9C +58 +30 ENDCHAR -STARTCHAR U_2546 -ENCODING 9542 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B18 +ENCODING 11032 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -FFF0 -03F0 -0300 -0300 -0300 -0300 +20 +70 +F8 +88 +50 +20 ENDCHAR -STARTCHAR U_2547 -ENCODING 9543 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B19 +ENCODING 11033 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0300 -0300 -0300 -0300 -0300 -FFF0 -FFF0 -0200 -0200 -0200 -0200 -0200 +20 +50 +88 +F8 +70 +20 ENDCHAR -STARTCHAR U_2548 -ENCODING 9544 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B1A +ENCODING 11034 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0200 -0200 -0200 -0200 -0200 -FFF0 -FFF0 -0200 -0200 -0200 -0200 -0200 +A8 +00 +88 +00 +A8 ENDCHAR -STARTCHAR U_2549 -ENCODING 9545 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B1B +ENCODING 11035 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0600 -0600 -0600 -0600 -0600 -FE00 -FFF0 -0600 -0600 -0600 -0600 -0600 +F8 +F8 +F8 +F8 +F8 ENDCHAR -STARTCHAR U_254A -ENCODING 9546 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B1C +ENCODING 11036 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -0300 -0300 -0300 -0300 -0300 -03F0 -FFF0 -0300 -0300 -0300 -0300 -0300 +F8 +88 +88 +88 +F8 ENDCHAR -STARTCHAR U_254B -ENCODING 9547 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B1D +ENCODING 11037 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 2 2 2 BITMAP -0300 -0300 -0300 -0300 -0300 -FFF0 -FFF0 -0300 -0300 -0300 -0300 -0300 +C0 +C0 ENDCHAR -STARTCHAR U_254C -ENCODING 9548 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2B1E +ENCODING 11038 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 3 1 1 BITMAP -0000 -0000 -0000 -0000 -0000 -FBF0 -0000 -0000 -0000 -0000 -0000 +E0 +A0 +E0 ENDCHAR -STARTCHAR U_254D -ENCODING 9549 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2B1F +ENCODING 11039 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -FBF0 -FBF0 -0000 -0000 -0000 -0000 +20 +70 +F8 +F8 +70 +70 ENDCHAR -STARTCHAR U_254E -ENCODING 9550 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 12 0 -1 +STARTCHAR uni2B20 +ENCODING 11040 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -8000 -8000 -8000 -8000 -8000 -0000 -8000 -8000 -8000 -8000 -8000 -8000 +20 +50 +88 +88 +50 +70 ENDCHAR -STARTCHAR U_254F -ENCODING 9551 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 12 0 -1 +STARTCHAR uni2B21 +ENCODING 11041 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C000 -C000 -C000 -C000 -C000 -0000 -C000 -C000 -C000 -C000 -C000 -C000 +20 +50 +88 +88 +88 +50 +20 ENDCHAR -STARTCHAR SF430000 -ENCODING 9552 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 3 0 3 +STARTCHAR uni2B22 +ENCODING 11042 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFF0 -0000 -FFF0 +20 +70 +F8 +F8 +F8 +70 +20 ENDCHAR -STARTCHAR SF240000 -ENCODING 9553 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 3 12 5 -1 +STARTCHAR uni2B23 +ENCODING 11043 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 3 0 1 BITMAP -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 -A0 +70 +F8 +70 ENDCHAR -STARTCHAR SF510000 -ENCODING 9554 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 -1 +STARTCHAR uni2B24 +ENCODING 11044 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 0 BITMAP +78 FC -80 FC -80 -80 -80 -80 +FC +FC +78 ENDCHAR -STARTCHAR SF520000 -ENCODING 9555 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 6 5 -1 +STARTCHAR uni2B25 +ENCODING 11045 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 BITMAP -FE -A0 -A0 -A0 -A0 -A0 +20 +70 +F8 +70 +20 ENDCHAR -STARTCHAR SF390000 -ENCODING 9556 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 5 -1 +STARTCHAR uni2B26 +ENCODING 11046 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 BITMAP -FE -80 -BE -A0 -A0 -A0 -A0 +20 +50 +88 +50 +20 ENDCHAR -STARTCHAR SF220000 -ENCODING 9557 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 -1 +STARTCHAR uni2B27 +ENCODING 11047 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 1 0 BITMAP -FE -02 -FE -02 -02 -02 -02 +40 +40 +E0 +E0 +40 +40 ENDCHAR -STARTCHAR SF210000 -ENCODING 9558 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 6 0 -1 +STARTCHAR uni2B28 +ENCODING 11048 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -FE -0A -0A -0A -0A -0A +20 +50 +50 +88 +88 +50 +50 +20 ENDCHAR -STARTCHAR SF250000 -ENCODING 9559 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 -1 +STARTCHAR uni2B29 +ENCODING 11049 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 1 BITMAP -FE -02 -FA -0A -0A -0A -0A +20 +70 +F8 +70 +20 ENDCHAR -STARTCHAR SF500000 -ENCODING 9560 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 4 +STARTCHAR uni2B2A +ENCODING 11050 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 1 1 BITMAP -80 -80 -80 -80 -FC -80 -FC +40 +40 +E0 +40 +40 ENDCHAR -STARTCHAR SF490000 -ENCODING 9561 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 5 4 +STARTCHAR uni2B2B +ENCODING 11051 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -A0 -A0 -A0 -A0 -A0 -A0 -FE +20 +50 +50 +88 +50 +50 +20 ENDCHAR -STARTCHAR SF380000 -ENCODING 9562 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 5 4 +STARTCHAR uni2B2C +ENCODING 11052 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 BITMAP -A0 -A0 -A0 -A0 -BE -80 -FE +70 +F8 +F8 +70 ENDCHAR -STARTCHAR SF280000 -ENCODING 9563 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 4 +STARTCHAR uni2B2D +ENCODING 11053 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 1 BITMAP -02 -02 -02 -02 -FE -02 -FE +70 +88 +88 +70 ENDCHAR -STARTCHAR SF270000 -ENCODING 9564 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 4 +STARTCHAR uni2B2E +ENCODING 11054 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0A -0A -0A -0A -0A -0A -FE +70 +F8 +F8 +F8 +F8 +F8 +70 ENDCHAR -STARTCHAR SF260000 -ENCODING 9565 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 4 +STARTCHAR uni2B2F +ENCODING 11055 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -0A -0A -0A -0A -FA -02 -FE +70 +88 +88 +88 +88 +88 +70 ENDCHAR -STARTCHAR SF360000 -ENCODING 9566 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 6 -1 +STARTCHAR uni2B30 +ENCODING 11056 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -80 -80 -80 -80 -80 +58 FC -80 +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 -80 -80 -80 -80 +58 ENDCHAR -STARTCHAR SF370000 -ENCODING 9567 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 5 -1 +STARTCHAR uni2B33 +ENCODING 11059 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -A0 -A0 -A0 -A0 -A0 -A0 -BE -A0 -A0 -A0 -A0 -A0 +54 +E8 +40 ENDCHAR -STARTCHAR SF420000 -ENCODING 9568 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 5 -1 +STARTCHAR uni2B34 +ENCODING 11060 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -A0 -A0 -A0 -A0 -A0 -BE -80 -BE -A0 -A0 -A0 -A0 +08 +68 +FC +68 +08 ENDCHAR -STARTCHAR SF190000 -ENCODING 9569 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2B35 +ENCODING 11061 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -02 -02 -02 -02 -FE -02 -FE -02 -02 -02 -02 -02 +18 +78 +FC +78 +18 ENDCHAR -STARTCHAR SF200000 -ENCODING 9570 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 12 0 -1 +STARTCHAR uni2B36 +ENCODING 11062 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -05 -05 -05 -05 -05 -05 -FD -05 -05 -05 -05 -05 +08 +68 +F8 +68 +08 ENDCHAR -STARTCHAR SF230000 -ENCODING 9571 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 12 0 -1 +STARTCHAR uni2B37 +ENCODING 11063 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0A -0A -0A -0A -0A -FA -02 -FA -0A -0A -0A -0A +64 +D8 +64 ENDCHAR -STARTCHAR SF470000 -ENCODING 9572 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 -1 +STARTCHAR uni2B38 +ENCODING 11064 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -FFF0 -0000 -FFF0 -0200 -0200 -0200 -0200 +20 +40 +A8 +40 +20 ENDCHAR -STARTCHAR SF480000 -ENCODING 9573 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2B39 +ENCODING 11065 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -FFF0 -0500 -0500 -0500 -0500 -0500 +10 +54 +F8 +54 +10 ENDCHAR -STARTCHAR SF410000 -ENCODING 9574 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 -1 +STARTCHAR uni2B3A +ENCODING 11066 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -FFF0 -0000 -FDF0 -0500 -0500 -0500 -0500 +30 +74 +F8 +74 +30 ENDCHAR -STARTCHAR SF450000 -ENCODING 9575 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B3B +ENCODING 11067 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0200 -0200 -0200 -0200 -FFF0 -0000 -FFF0 +64 +F8 +64 ENDCHAR -STARTCHAR SF460000 -ENCODING 9576 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 7 0 4 +STARTCHAR uni2B3C +ENCODING 11068 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -0500 -0500 -0500 -0500 -0500 -0500 -FFF0 +10 +74 +F8 +74 +10 ENDCHAR -STARTCHAR SF400000 -ENCODING 9577 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 8 0 3 +STARTCHAR uni2B3D +ENCODING 11069 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -0500 -0500 -0500 -0500 -0500 -FDF0 -0000 -FFF0 +18 +7C +F8 +7C +18 ENDCHAR -STARTCHAR SF540000 -ENCODING 9578 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B3E +ENCODING 11070 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0200 -0200 -0200 -0200 -0200 -FFF0 -0000 -FFF0 -0200 -0200 -0200 -0200 +58 +FC +58 ENDCHAR -STARTCHAR SF530000 -ENCODING 9579 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B3F +ENCODING 11071 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 3 0 1 BITMAP -0A00 -0A00 -0A00 -0A00 -0A00 -0A00 -FBF0 -0A00 -0A00 -0A00 -0A00 -0A00 +48 +F4 +40 ENDCHAR -STARTCHAR SF440000 -ENCODING 9580 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B40 +ENCODING 11072 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 1 BITMAP -0500 -0500 -0500 -0500 -0500 -FDF0 -0000 -FDF0 -0500 -0500 -0500 -0500 +38 +00 +38 +00 +40 +F8 +40 ENDCHAR -STARTCHAR U_256D -ENCODING 9581 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 -1 +STARTCHAR uni2B41 +ENCODING 11073 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 BITMAP -0C -30 +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 -80 +40 +28 +FC +28 +40 80 ENDCHAR -STARTCHAR U_256E -ENCODING 9582 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 0 -1 +STARTCHAR uni2B44 +ENCODING 11076 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP C0 -30 +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 -04 -04 -04 +F0 +20 ENDCHAR -STARTCHAR U_256F -ENCODING 9583 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 7 0 4 +STARTCHAR uni2B47 +ENCODING 11079 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 1 BITMAP -02 -02 -04 -04 -08 +68 +B0 +00 +10 +F8 10 -E0 ENDCHAR -STARTCHAR U_2570 -ENCODING 9584 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 7 6 4 +STARTCHAR uni2B48 +ENCODING 11080 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -80 -80 -80 +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 -30 -0C ENDCHAR -STARTCHAR U_2571 -ENCODING 9585 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 10 1 0 +STARTCHAR uni2B4A +ENCODING 11082 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -1 BITMAP -0040 -0080 -0100 -0200 -0400 -0800 -1000 -2000 -4000 -8000 +40 +F8 +40 +00 +68 +B0 +00 +68 +B0 ENDCHAR -STARTCHAR U_2572 -ENCODING 9586 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2B4B +ENCODING 11083 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -8000 -4000 -2000 -1000 -0800 -0400 -0200 -0100 -0080 -0040 -0020 +40 +F8 +40 +00 +68 +B0 ENDCHAR -STARTCHAR U_2573 -ENCODING 9587 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2B4C +ENCODING 11084 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 6 0 0 BITMAP -8010 -4020 -2040 -1080 -0900 -0600 -0600 -0900 -1080 -2040 -4020 -8010 +10 +F8 +10 +00 +68 +B0 ENDCHAR -STARTCHAR U_2574 -ENCODING 9588 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 1 0 9 +STARTCHAR uni2C60 +ENCODING 11360 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFF0 +40 +40 +E0 +40 +E0 +40 +78 ENDCHAR -STARTCHAR U_2581 -ENCODING 9601 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 2 0 -1 +STARTCHAR uni2C61 +ENCODING 11361 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 7 1 0 BITMAP -FFF0 -FFF0 +40 +C0 +40 +E0 +40 +E0 +40 ENDCHAR -STARTCHAR U_2582 -ENCODING 9602 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 3 0 -1 +STARTCHAR uni2C62 +ENCODING 11362 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFF0 -FFF0 -FFF0 +20 +20 +68 +B0 +20 +20 +38 ENDCHAR -STARTCHAR U_2583 -ENCODING 9603 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 5 0 -1 +STARTCHAR uni2C63 +ENCODING 11363 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +70 +48 +E8 +48 +70 +40 +40 ENDCHAR -STARTCHAR dnblock -ENCODING 9604 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 6 0 -1 +STARTCHAR uni2C64 +ENCODING 11364 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +F0 +88 +88 +F0 +A0 +90 +88 +A0 +40 ENDCHAR -STARTCHAR U_2585 -ENCODING 9605 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 8 0 -1 +STARTCHAR uni2C65 +ENCODING 11365 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +08 +08 +70 +18 +78 +A8 +78 +40 ENDCHAR -STARTCHAR U_2586 -ENCODING 9606 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 9 0 -1 +STARTCHAR uni2C66 +ENCODING 11366 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 8 0 -1 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +28 +28 +F8 +30 +20 +20 +58 +40 ENDCHAR -STARTCHAR U_2587 -ENCODING 9607 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 11 0 -1 +STARTCHAR uni2C67 +ENCODING 11367 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +88 +88 +88 +F8 +88 +88 +8C +04 ENDCHAR -STARTCHAR block -ENCODING 9608 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2C68 +ENCODING 11368 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 -FFF0 +80 +80 +F0 +88 +88 +88 +8C +04 ENDCHAR -STARTCHAR U_2589 -ENCODING 9609 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 12 0 -1 +STARTCHAR uni2C69 +ENCODING 11369 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 +88 +90 +A0 +C0 +A0 +90 +8C +04 ENDCHAR -STARTCHAR U_258A -ENCODING 9610 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 12 0 -1 +STARTCHAR uni2C6A +ENCODING 11370 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 -FF80 +80 +80 +88 +90 +E0 +90 +8C +04 ENDCHAR -STARTCHAR U_258B -ENCODING 9611 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 8 12 0 -1 +STARTCHAR uni2C6B +ENCODING 11371 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 8 0 -1 BITMAP -FF -FF -FF -FF -FF -FF -FF -FF -FF -FF -FF -FF +F8 +08 +10 +20 +40 +80 +FC +04 ENDCHAR -STARTCHAR lfblock -ENCODING 9612 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 6 12 0 -1 +STARTCHAR uni2C6C +ENCODING 11372 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 BITMAP +F8 +10 +20 +40 FC -FC -FC -FC -FC -FC -FC -FC -FC -FC -FC -FC +04 ENDCHAR -STARTCHAR U_258D -ENCODING 9613 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 5 12 0 -1 +STARTCHAR uni2C6D +ENCODING 11373 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -F8 -F8 -F8 -F8 -F8 -F8 -F8 -F8 -F8 -F8 -F8 -F8 +68 +98 +88 +88 +88 +88 +74 ENDCHAR -STARTCHAR U_258E -ENCODING 9614 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 3 12 0 -1 +STARTCHAR uni2C6E +ENCODING 11374 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 9 0 -2 BITMAP -E0 -E0 -E0 -E0 -E0 -E0 -E0 -E0 -E0 -E0 -E0 -E0 +88 +D8 +A8 +88 +88 +88 +88 +28 +10 ENDCHAR -STARTCHAR U_258F -ENCODING 9615 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 2 12 0 -1 +STARTCHAR uni2C6F +ENCODING 11375 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 7 0 0 BITMAP -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 -C0 +88 +88 +88 +F8 +88 +88 +70 ENDCHAR -STARTCHAR U_2591 -ENCODING 9617 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2C71 +ENCODING 11377 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -9240 -0000 -4920 -0000 -9240 -0000 -4920 -0000 -9240 -0000 -4920 +84 +88 +88 +50 +20 ENDCHAR -STARTCHAR U_2592 -ENCODING 9618 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 12 0 -1 +STARTCHAR uni2C72 +ENCODING 11378 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 7 0 0 BITMAP -AAA0 -5550 -AAA0 -5550 -AAA0 -5550 -AAA0 -5550 -AAA0 -5550 -AAA0 -5550 +84 +88 +88 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR dkshade -ENCODING 9619 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 10 1 0 +STARTCHAR uni2C73 +ENCODING 11379 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 0 BITMAP -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 +84 +88 +A8 +A8 +50 ENDCHAR -STARTCHAR U_2594 -ENCODING 9620 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 1 0 9 +STARTCHAR uni2C74 +ENCODING 11380 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -FFF0 +48 +A8 +C8 +50 +20 ENDCHAR -STARTCHAR U_2595 -ENCODING 9621 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 1 12 11 -1 +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 -80 -80 -ENDCHAR -STARTCHAR filledbox -ENCODING 9632 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 10 1 0 -BITMAP -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -FFC0 -ENDCHAR -STARTCHAR H22073 -ENCODING 9633 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 10 11 1 -1 -BITMAP -FFC0 -8040 -8040 -8040 -8040 -8040 -8040 -8040 -8040 -8040 -FFC0 -ENDCHAR -STARTCHAR U_25A2 -ENCODING 9634 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -4040 -8020 -8020 -8020 -8020 -8020 -8020 -8020 -4040 -3F80 -ENDCHAR -STARTCHAR U_25A3 -ENCODING 9635 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -FFE0 -8020 -8020 -9F20 -9F20 -9F20 -9F20 -9F20 -8020 -8020 -FFE0 ENDCHAR -STARTCHAR U_25A4 -ENCODING 9636 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2C77 +ENCODING 11383 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -FFE0 -8020 -FFE0 -8020 -FFE0 -8020 -FFE0 -8020 -FFE0 -8020 -FFE0 +10 +A8 +A8 +A8 +70 ENDCHAR -STARTCHAR triagup -ENCODING 9650 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2C78 +ENCODING 11384 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 6 0 -1 BITMAP -0400 -0E00 -0E00 -1F00 -1F00 -3F80 -3F80 -7FC0 -7FC0 -FFE0 +70 +88 +F0 +80 +74 +18 ENDCHAR -STARTCHAR U_25B3 -ENCODING 9651 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2C79 +ENCODING 11385 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 2 4 2 0 BITMAP -0400 -0A00 -0A00 -1100 -1100 -2080 -2080 -4040 -4040 -FFE0 +40 +40 +40 +C0 ENDCHAR -STARTCHAR triagdn -ENCODING 9660 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2C7A +ENCODING 11386 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 0 BITMAP -FFE0 -7FC0 -7FC0 -3F80 -3F80 -1F00 -1F00 -0E00 -0E00 -0400 +70 +88 +A8 +D8 +70 ENDCHAR -STARTCHAR U_25BD -ENCODING 9661 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2C7B +ENCODING 11387 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 1 0 BITMAP -FFE0 -4040 -4040 -2080 -2080 -1100 -1100 -0A00 -0A00 -0400 +F0 +10 +70 +10 +F0 ENDCHAR -STARTCHAR U_25C6 -ENCODING 9670 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2C7C +ENCODING 11388 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 8 0 -2 BITMAP -0400 -0E00 -1F00 -3F80 -7FC0 -FFE0 -7FC0 -3F80 -1F00 -0E00 -0400 +20 +00 +60 +20 +20 +20 +A0 +40 ENDCHAR -STARTCHAR U_25C7 -ENCODING 9671 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2C7D +ENCODING 11389 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 4 BITMAP -0400 -0A00 -1100 -2080 -4040 -8020 -4040 -2080 -1100 -0A00 -0400 +88 +88 +88 +50 +20 ENDCHAR -STARTCHAR circle -ENCODING 9675 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DE0 +ENCODING 11744 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 BITMAP -1F00 -2080 -4040 -8020 -8020 -8020 -8020 -8020 -4040 -2080 -1F00 +60 +C0 +A0 +A0 +40 ENDCHAR -STARTCHAR U_25CE -ENCODING 9678 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2DE1 +ENCODING 11745 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 BITMAP -0F00 -30C0 -4020 -4620 -8910 -9090 -9090 -8910 -4620 -4020 -30C0 -0F00 +C0 +A0 +C0 +A0 +C0 ENDCHAR -STARTCHAR H18533 -ENCODING 9679 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DE2 +ENCODING 11746 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -1F00 -3F80 -7FC0 -FFE0 -FFE0 -FFE0 -FFE0 -FFE0 -7FC0 -3F80 -1F00 +E0 +80 +80 +80 ENDCHAR -STARTCHAR U_25E2 -ENCODING 9698 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 -1 +STARTCHAR uni2DE3 +ENCODING 11747 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 BITMAP -0020 -0060 -00E0 -01E0 -03E0 -07E0 -0FE0 -1FE0 -3FE0 -7FE0 -FFE0 +70 +50 +50 +F0 ENDCHAR -STARTCHAR U_25E3 -ENCODING 9699 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2DE4 +ENCODING 11748 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 BITMAP -8000 -C000 -E000 -F000 -F800 -FC00 -FE00 -FF00 -FF80 -FFC0 -FFE0 -FFF0 +A8 +70 +A8 +A8 ENDCHAR -STARTCHAR U_25E4 -ENCODING 9700 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 12 12 0 -1 +STARTCHAR uni2DE5 +ENCODING 11749 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 BITMAP -FFF0 -FFE0 -FFC0 -FF80 -FF00 -FE00 -FC00 -F800 -F000 -E000 -C000 -8000 +C0 +20 +40 +20 +C0 ENDCHAR -STARTCHAR U_25E5 -ENCODING 9701 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 1 0 +STARTCHAR uni2DE6 +ENCODING 11750 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -FFE0 -7FE0 -3FE0 -1FE0 -0FE0 -07E0 -03E0 -01E0 -00E0 -0060 -0020 +A0 +C0 +A0 +A0 ENDCHAR -STARTCHAR U_25EE -ENCODING 9710 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DE7 +ENCODING 11751 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 BITMAP -0400 -0E00 -0E00 -1700 -1700 -2780 -2780 -47C0 -47C0 -87E0 -FFE0 +70 +50 +50 +90 ENDCHAR -STARTCHAR U_25F3 -ENCODING 9715 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DE8 +ENCODING 11752 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -FFE0 -8420 -8420 -8420 -8420 -87E0 -8020 -8020 -8020 -8020 -FFE0 +A0 +E0 +A0 +A0 ENDCHAR -STARTCHAR U_2600 -ENCODING 9728 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DE9 +ENCODING 11753 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 BITMAP -0400 -4440 -2080 -0E00 -1F00 -DF60 -1F00 -0E00 -2080 -4440 -0400 +90 +F0 +90 +90 ENDCHAR -STARTCHAR U_2601 -ENCODING 9729 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DEA +ENCODING 11754 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 BITMAP -0000 -0000 -0F00 -1080 -70C0 -8920 -8020 -8020 -7FC0 -0000 -0000 +60 +90 +90 +60 ENDCHAR -STARTCHAR U_2605 -ENCODING 9733 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2DEB +ENCODING 11755 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -0400 -0400 -0E00 -FFE0 -3F80 -1F00 -1F00 -1B00 -3180 -2080 +A0 +A0 +A0 +A0 ENDCHAR -STARTCHAR U_2606 -ENCODING 9734 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 10 0 0 +STARTCHAR uni2DEC +ENCODING 11756 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -0400 -0400 -0E00 -FBE0 -2080 -1100 -1500 -1B00 -3180 -2080 +C0 +A0 +C0 +80 ENDCHAR -STARTCHAR U_2609 -ENCODING 9737 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 1 0 +STARTCHAR uni2DED +ENCODING 11757 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -3E00 -4100 -8080 -8080 -8880 -8080 -8080 -4100 -3E00 +60 +80 +80 +60 ENDCHAR -STARTCHAR U_260E -ENCODING 9742 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DEE +ENCODING 11758 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -0000 -0000 -7FC0 -D160 -D160 -1F00 -7180 -60C0 -71C0 -FFE0 -0000 +E0 +40 +40 +40 ENDCHAR -STARTCHAR U_2610 -ENCODING 9744 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DEF +ENCODING 11759 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -0000 -0000 -0000 -0000 -0000 -FC00 -8400 -8400 -8400 -FC00 -0000 +A0 +40 +A0 +A0 ENDCHAR -STARTCHAR U_262D -ENCODING 9773 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF0 +ENCODING 11760 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 5 0 5 BITMAP -0300 -00C0 -0C40 -1E20 -3C20 -1620 -0320 -31C0 -68C0 -E760 -4020 +A0 +A0 +A0 +B0 +10 ENDCHAR -STARTCHAR U_262F -ENCODING 9775 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF1 +ENCODING 11761 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -0E00 -3180 -4040 -4040 -9020 -A920 -FC60 -7EE0 -7FC0 -3F80 -0E00 +A0 +60 +20 +20 ENDCHAR -STARTCHAR U_2630 -ENCODING 9776 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF2 +ENCODING 11762 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 4 0 6 BITMAP -FFC0 -FFC0 -0000 -0000 -FFC0 -FFC0 -0000 -0000 -FFC0 -FFC0 -0000 +A8 +A8 +A8 +A8 ENDCHAR -STARTCHAR U_2631 -ENCODING 9777 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF3 +ENCODING 11763 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 BITMAP -F1E0 -F1E0 -0000 -0000 -FFE0 -FFE0 -0000 -0000 -FFE0 -FFE0 -0000 +A8 +A8 +A8 +AC +04 ENDCHAR -STARTCHAR U_2632 -ENCODING 9778 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF4 +ENCODING 11764 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 4 0 6 BITMAP -FFE0 -FFE0 -0000 -0000 -F1E0 -F1E0 -0000 -0000 -FFE0 -FFE0 -0000 +60 +D0 +B0 +60 ENDCHAR -STARTCHAR U_2633 -ENCODING 9779 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF5 +ENCODING 11765 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 4 0 6 BITMAP -F1E0 -F1E0 -0000 -0000 -F1E0 -F1E0 -0000 -0000 -FFE0 -FFE0 -0000 +7C +88 +88 +68 ENDCHAR -STARTCHAR U_2634 -ENCODING 9780 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF6 +ENCODING 11766 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -FFE0 -FFE0 -0000 -0000 -FFE0 -FFE0 -0000 -0000 -F1E0 -F1E0 -0000 +C0 +60 +A0 +60 ENDCHAR -STARTCHAR U_2635 -ENCODING 9781 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF7 +ENCODING 11767 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 4 0 6 BITMAP -F1E0 -F1E0 -0000 -0000 -FFE0 -FFE0 -0000 -0000 -F1E0 -F1E0 -0000 +60 +A0 +C0 +E0 ENDCHAR -STARTCHAR U_2636 -ENCODING 9782 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF8 +ENCODING 11768 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 5 0 5 BITMAP -FFE0 -FFE0 -0000 -0000 -F1E0 -F1E0 -0000 -0000 -F1E0 -F1E0 -0000 +40 +E0 +40 +A0 +A0 ENDCHAR -STARTCHAR U_2637 -ENCODING 9783 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DF9 +ENCODING 11769 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 3 6 0 4 BITMAP -F1E0 -F1E0 -0000 -0000 -F1E0 -F1E0 -0000 -0000 -F1E0 -F1E0 -0000 +20 +A0 +A0 +40 +A0 +40 ENDCHAR -STARTCHAR U_263A -ENCODING 9786 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DFA +ENCODING 11770 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 4 6 0 4 BITMAP -0000 -3F00 -4080 -8040 -9240 -8040 -8040 -A140 -9E40 -4080 -3F00 +40 +E0 +40 +60 +50 +60 ENDCHAR -STARTCHAR U_263C -ENCODING 9788 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DFB +ENCODING 11771 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 BITMAP -0400 -4440 -2E80 -1100 -2080 -E0E0 -2080 -1100 -2E80 -4440 -0400 +98 +A4 +E4 +A4 +98 ENDCHAR -STARTCHAR U_263F -ENCODING 9791 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 +STARTCHAR uni2DFC +ENCODING 11772 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 BITMAP -8200 -4400 -7C00 -8200 -8200 -8200 -7C00 -1000 -FE00 -1000 -1000 +B0 +88 +F8 +A8 +98 ENDCHAR -STARTCHAR U_2640 -ENCODING 9792 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 11 1 -1 +STARTCHAR uni2DFD +ENCODING 11773 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 BITMAP -1C00 -2200 -4100 -4100 -2200 -1C00 -0800 -FF80 -0800 -0800 -0800 +20 +50 +F8 +A8 +A8 ENDCHAR -STARTCHAR U_2641 -ENCODING 9793 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 9 9 2 0 +STARTCHAR uni2DFE +ENCODING 11774 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 5 5 0 5 BITMAP -3E00 -4900 -8880 -8880 -FF80 -8880 -8880 -4900 -3E00 +F8 +50 +70 +A8 +A8 ENDCHAR -STARTCHAR U_2642 -ENCODING 9794 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 7 11 2 -1 +STARTCHAR uni2DFF +ENCODING 11775 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 5 0 5 BITMAP -10 -38 -54 -92 -10 -38 -44 -82 -82 -44 -38 +FC +A8 +B8 +D4 +D4 ENDCHAR + + STARTCHAR U_2E80 ENCODING 11904 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 6 7 2 1 BITMAP -0000 -0000 -6000 -1800 -0400 -C000 -3000 -0800 -0400 -0000 -0000 +60 +18 +04 +C0 +30 +08 +04 ENDCHAR STARTCHAR U_2E81 ENCODING 11905 @@ -24193,45 +64503,38 @@ STARTCHAR U_2E82 ENCODING 11906 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 5 1 2 BITMAP -0000 -0000 -0000 FF80 0080 0080 0100 0100 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2E83 ENCODING 11907 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 11 2 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8200 -8200 -7E00 +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 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FF00 0100 0100 @@ -24247,45 +64550,43 @@ STARTCHAR U_2E85 ENCODING 11909 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -1000 -1000 -1000 -2000 -6000 -A000 -2000 -2000 -2000 -2000 -2000 +10 +10 +10 +20 +60 +A0 +20 +20 +20 +20 +20 ENDCHAR STARTCHAR U_2E86 ENCODING 11910 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 10 1 -1 BITMAP -0000 -3F00 -2100 -2100 -2100 -2100 -2100 -2100 -4100 -4100 -8700 +3F +21 +21 +21 +21 +21 +21 +41 +41 +87 ENDCHAR STARTCHAR U_2E87 ENCODING 11911 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 3F80 2080 2080 @@ -24301,66 +64602,57 @@ STARTCHAR U_2E88 ENCODING 11912 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 6 1 4 BITMAP -1000 -1000 -3F00 -2200 -4400 -8000 -0000 -0000 -0000 -0000 -0000 +10 +10 +3F +22 +44 +80 ENDCHAR STARTCHAR U_2E89 ENCODING 11913 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 4 -1 +BBX 4 11 4 -1 BITMAP -1000 -1000 -9000 -9000 -9000 -9000 -9000 -9000 -9000 -1000 -3000 +10 +10 +90 +90 +90 +90 +90 +90 +90 +10 +30 ENDCHAR STARTCHAR U_2E8A ENCODING 11914 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 4 -1 +BBX 5 11 4 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -F800 -8000 -8000 -8000 -8000 -8000 +80 +80 +80 +80 +80 +F8 +80 +80 +80 +80 +80 ENDCHAR STARTCHAR U_2E8B ENCODING 11915 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 9 7 2 -1 BITMAP -0000 -0000 -0000 -0000 FE00 8200 8200 @@ -24373,46 +64665,30 @@ STARTCHAR U_2E8C ENCODING 11916 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 4 1 6 BITMAP 0800 8880 4900 0800 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2E8D ENCODING 11917 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 4 1 6 BITMAP 0080 9080 4900 4A00 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2E8E ENCODING 11918 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 9 0 -1 BITMAP -0000 -0000 FFE0 1200 1200 @@ -24481,10 +64757,8 @@ STARTCHAR U_2E92 ENCODING 11922 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 9 9 2 -1 BITMAP -0000 -0000 FE00 8200 8200 @@ -24499,7 +64773,7 @@ STARTCHAR U_2E93 ENCODING 11923 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 11 1 -1 BITMAP 0800 1000 @@ -24517,9 +64791,8 @@ STARTCHAR U_2E94 ENCODING 11924 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 10 1 -1 BITMAP -0000 1000 1000 1F00 @@ -24535,9 +64808,8 @@ STARTCHAR U_2E95 ENCODING 11925 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 10 0 -1 BITMAP -0000 FFC0 0040 0040 @@ -24553,31 +64825,26 @@ STARTCHAR U_2E96 ENCODING 11926 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 11 0 -1 BITMAP -1000 -1000 -1000 -5800 -5400 -9000 -1000 -1000 -1000 -1000 -1000 +10 +10 +10 +58 +54 +90 +10 +10 +10 +10 +10 ENDCHAR STARTCHAR U_2E97 ENCODING 11927 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 6 1 -1 BITMAP -0000 -0000 -0000 -0000 -0000 0800 4A80 4940 @@ -24589,25 +64856,25 @@ STARTCHAR U_2E98 ENCODING 11928 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 5 11 0 -1 BITMAP -2000 -2000 -F800 -2000 -2000 -3800 -E000 -2000 -2000 -2000 -6000 +20 +20 +F8 +20 +20 +38 +E0 +20 +20 +20 +60 ENDCHAR STARTCHAR U_2E99 ENCODING 11929 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 11 1 -1 BITMAP 1000 1000 @@ -24625,37 +64892,31 @@ STARTCHAR U_2E9C ENCODING 11932 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 5 1 5 BITMAP FF80 8080 BE80 8080 BE80 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2E9D ENCODING 11933 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 6 11 2 -1 BITMAP -FC00 -8400 -8400 -FC00 -8400 -8400 -FC00 -8400 -8400 -8400 -8C00 +FC +84 +84 +FC +84 +84 +FC +84 +84 +84 +8C ENDCHAR STARTCHAR U_2E9F ENCODING 11935 @@ -24679,9 +64940,8 @@ STARTCHAR U_2EA0 ENCODING 11936 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 10 1 -1 BITMAP -0000 FF00 8100 8100 @@ -24697,25 +64957,18 @@ STARTCHAR U_2EA4 ENCODING 11940 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 4 1 6 BITMAP 03C0 FC80 4880 2500 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EA5 ENCODING 11941 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 6 1 4 BITMAP 0780 7900 @@ -24723,53 +64976,39 @@ BITMAP 4900 8880 8040 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EA7 ENCODING 11943 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 4 0 6 BITMAP 2400 7FC0 8400 7FE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EAA ENCODING 11946 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 5 9 0 0 BITMAP -0000 -F800 -1000 -2000 -A000 -B000 -A000 -A000 -B000 -C000 -0000 +F8 +10 +20 +A0 +B0 +A0 +A0 +B0 +C0 ENDCHAR STARTCHAR U_2EAC ENCODING 11948 SWIDTH 1000 0 DWIDTH 6 0 -BBX 6 12 0 -1 +BBX 6 11 0 0 BITMAP 7C 00 @@ -24782,13 +65021,12 @@ FC 54 94 10 -00 ENDCHAR STARTCHAR U_2EAE ENCODING 11950 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 4 BITMAP 4100 4100 @@ -24796,37 +65034,24 @@ BITMAP 5140 4940 8A20 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EB0 ENCODING 11952 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 4 0 5 BITMAP -0000 FFE0 B1A0 8E20 B1A0 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EB5 ENCODING 11957 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 9 1 0 BITMAP -0000 FF80 9480 9480 @@ -24836,7 +65061,6 @@ FF80 9480 9480 8080 -0000 ENDCHAR STARTCHAR U_2EB6 ENCODING 11958 @@ -24860,9 +65084,8 @@ STARTCHAR U_2EB7 ENCODING 11959 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 8 1 1 BITMAP -0000 2200 1400 1400 @@ -24871,8 +65094,6 @@ BITMAP 3E00 0800 FF80 -0000 -0000 ENDCHAR STARTCHAR U_2EB8 ENCODING 11960 @@ -24896,7 +65117,7 @@ STARTCHAR U_2EBB ENCODING 11963 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 8 0 2 BITMAP 0400 7FC0 @@ -24906,33 +65127,29 @@ FFE0 7FC0 0400 FFE0 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EBC ENCODING 11964 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 10 1 -1 BITMAP -0000 -3F00 -2100 -2900 -2500 -2100 -2300 -2500 -5900 -4100 -8300 +3F +21 +29 +25 +21 +23 +25 +59 +41 +83 ENDCHAR STARTCHAR U_2EBD ENCODING 11965 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 11 1 -1 BITMAP 1000 2780 @@ -24950,27 +65167,19 @@ STARTCHAR U_2EBF ENCODING 11967 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 4 0 6 BITMAP 2080 2080 FBE0 2080 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2EC4 ENCODING 11972 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FFE0 0A00 7FC0 @@ -24986,7 +65195,7 @@ STARTCHAR U_2EC7 ENCODING 11975 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 11 1 -1 BITMAP 2000 3F00 @@ -25004,19 +65213,19 @@ STARTCHAR U_2ECA ENCODING 11978 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 11 0 -1 BITMAP -7C00 -4400 -4400 -7C00 -1000 -5C00 -5000 -5000 -5000 -5C00 -E000 +7C +44 +44 +7C +10 +5C +50 +50 +50 +5C +E0 ENDCHAR STARTCHAR U_2ECD ENCODING 11981 @@ -25058,43 +65267,43 @@ STARTCHAR U_2ECF ENCODING 11983 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 7 -1 +BBX 4 11 7 -1 BITMAP -F000 -9000 -A000 -C000 -A000 -9000 -9000 -D000 -A000 -8000 -8000 +F0 +90 +A0 +C0 +A0 +90 +90 +D0 +A0 +80 +80 ENDCHAR STARTCHAR U_2ED6 ENCODING 11990 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -F000 -9000 -A000 -C000 -A000 -9000 -9000 -9000 -E000 -8000 -8000 +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 11 0 -1 +BBX 11 6 0 4 BITMAP 7FC0 0400 @@ -25102,11 +65311,6 @@ FFE0 A4A0 9520 64C0 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_2ED8 ENCODING 11992 @@ -25130,7 +65334,7 @@ STARTCHAR U_2ED9 ENCODING 11993 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 11 1 -1 BITMAP 0800 FFC0 @@ -29194,37 +69398,19 @@ STARTCHAR U_3000 ENCODING 12288 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 1 1 10 -1 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +00 ENDCHAR STARTCHAR U_3001 ENCODING 12289 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 3 3 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 -8000 -6000 -2000 -0000 +80 +60 +20 ENDCHAR STARTCHAR U_3002 ENCODING 12290 @@ -29252,7 +69438,7 @@ STARTCHAR U_3004 ENCODING 12292 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 10 0 0 BITMAP 1800 2100 @@ -29264,7 +69450,6 @@ A440 5080 2900 1200 -0000 ENDCHAR STARTCHAR U_3005 ENCODING 12293 @@ -29287,7 +69472,7 @@ STARTCHAR U_3006 ENCODING 12294 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 9 0 1 BITMAP 0100 0080 @@ -29298,14 +69483,12 @@ BITMAP 9000 A000 C000 -0000 -0000 ENDCHAR STARTCHAR U_3007 ENCODING 12295 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 10 0 0 BITMAP 1E00 2100 @@ -29317,7 +69500,6 @@ BITMAP 4080 2100 1E00 -0000 ENDCHAR STARTCHAR U_3008 ENCODING 12296 @@ -29361,9 +69543,8 @@ STARTCHAR U_300A ENCODING 12298 SWIDTH 1000 0 DWIDTH 12 0 -BBX 6 12 5 -2 +BBX 6 10 5 -1 BITMAP -00 24 24 48 @@ -29374,25 +69555,23 @@ BITMAP 48 24 24 -00 ENDCHAR STARTCHAR U_300B ENCODING 12299 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 10 0 -1 BITMAP -0000 -9000 -9000 -4800 -4800 -2400 -2400 -4800 -4800 -9000 -9000 +90 +90 +48 +48 +24 +24 +48 +48 +90 +90 ENDCHAR STARTCHAR U_300C ENCODING 12300 @@ -29565,9 +69744,8 @@ STARTCHAR U_3016 ENCODING 12310 SWIDTH 1000 0 DWIDTH 12 0 -BBX 5 12 6 -1 +BBX 5 11 6 -1 BITMAP -00 F8 90 A0 @@ -29602,91 +69780,83 @@ STARTCHAR U_3018 ENCODING 12312 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -3000 -E000 -A000 -A000 -A000 -A000 -A000 -A000 -A000 -E000 -3000 +30 +E0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +E0 +30 ENDCHAR STARTCHAR U_3019 ENCODING 12313 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -C000 -7000 -5000 -5000 -5000 -5000 -5000 -5000 -5000 -7000 -C000 +C0 +70 +50 +50 +50 +50 +50 +50 +50 +70 +C0 ENDCHAR STARTCHAR U_301A ENCODING 12314 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -F000 -A000 -A000 -A000 -A000 -A000 -A000 -A000 -A000 -A000 -F000 +F0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +F0 ENDCHAR STARTCHAR U_301B ENCODING 12315 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 11 0 -1 BITMAP -F000 -5000 -5000 -5000 -5000 -5000 -5000 -5000 -5000 -5000 -F000 +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 11 0 -1 +BBX 11 3 0 3 BITMAP -0000 -0000 -0000 -0000 03C0 8420 7800 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_301D ENCODING 12317 @@ -29710,27 +69880,18 @@ STARTCHAR U_301F ENCODING 12319 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 5 3 0 -1 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -4800 -9000 -9000 +48 +90 +90 ENDCHAR STARTCHAR U_3020 ENCODING 12320 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 7FC0 0000 7FC0 @@ -29746,19 +69907,19 @@ STARTCHAR U_3021 ENCODING 12321 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 2 11 0 -1 BITMAP -C000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +C0 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 ENDCHAR STARTCHAR U_3022 ENCODING 12322 @@ -29802,24 +69963,24 @@ STARTCHAR U_3024 ENCODING 12324 SWIDTH 1000 0 DWIDTH 12 0 -BBX 9 10 2 0 +BBX 8 10 2 0 BITMAP -0100 -4100 -2200 -1200 -0C00 -0400 -0A00 -1100 -2100 -C000 +01 +41 +22 +12 +0C +04 +0A +11 +21 +C0 ENDCHAR STARTCHAR U_3025 ENCODING 12325 SWIDTH 1000 0 DWIDTH 12 0 -BBX 8 12 3 -1 +BBX 7 12 3 -1 BITMAP 22 42 @@ -29848,9 +70009,8 @@ STARTCHAR U_3027 ENCODING 12327 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 7 0 2 BITMAP -0000 0800 0800 0800 @@ -29858,9 +70018,6 @@ FF80 0000 0000 FF80 -0000 -0000 -0000 ENDCHAR STARTCHAR U_3028 ENCODING 12328 @@ -29883,127 +70040,119 @@ STARTCHAR U_3029 ENCODING 12329 SWIDTH 1000 0 DWIDTH 12 0 -BBX 9 11 2 -1 +BBX 8 11 2 -1 BITMAP -2000 -2000 -7F00 -4200 -A200 -1400 -0C00 -0C00 -1200 -2200 -C000 +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 11 0 -1 +BBX 11 3 0 3 BITMAP -0000 -0000 -0000 -0000 6180 9240 0C20 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_3031 ENCODING 12337 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 5 11 0 -1 BITMAP -1000 -1800 -2000 -4000 -8000 -8000 -4000 -2000 -2000 -1000 -1000 +10 +18 +20 +40 +80 +80 +40 +20 +20 +10 +10 ENDCHAR STARTCHAR U_3032 ENCODING 12338 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 11 0 -1 BITMAP -1000 -1800 -2200 -4100 -8400 -8200 -4000 -2000 -2000 -1000 -1000 +10 +18 +22 +41 +84 +82 +40 +20 +20 +10 +10 ENDCHAR STARTCHAR U_3033 ENCODING 12339 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 5 11 0 -1 BITMAP -1000 -1800 -1000 -2000 -2000 -2000 -4000 -4000 -4000 -8000 -8000 +10 +18 +10 +20 +20 +20 +40 +40 +40 +80 +80 ENDCHAR STARTCHAR U_3034 ENCODING 12340 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 11 0 -1 BITMAP -1000 -1A00 -1100 -2400 -2200 -2000 -4000 -4000 -4000 -8000 -8000 +10 +1A +11 +24 +22 +20 +40 +40 +40 +80 +80 ENDCHAR STARTCHAR U_3035 ENCODING 12341 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 11 0 -1 BITMAP -8000 -4000 -2000 -2000 -1000 -1000 -0800 -0800 -0400 -0400 -0400 +80 +40 +20 +20 +10 +10 +08 +08 +04 +04 +04 ENDCHAR STARTCHAR U_3036 ENCODING 12342 @@ -31520,7 +71669,7 @@ STARTCHAR U_3094 ENCODING 12436 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 11 0 -1 BITMAP 1000 0C80 @@ -31538,57 +71687,35 @@ STARTCHAR U_3099 ENCODING 12441 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 3 0 7 BITMAP -2000 -9000 -4000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +20 +90 +40 ENDCHAR STARTCHAR U_309B ENCODING 12443 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 3 0 6 BITMAP -0000 -2000 -9000 -4000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +20 +90 +40 ENDCHAR STARTCHAR U_309C ENCODING 12444 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 3 3 0 6 BITMAP -0000 -4000 -A000 -4000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +40 +A0 +40 ENDCHAR -STARTCHAR uni00A0 + + +STARTCHAR u30A0 ENCODING 12448 SWIDTH 545 0 DWIDTH 6 0 @@ -31598,7 +71725,7 @@ F8 00 F8 ENDCHAR -STARTCHAR exclamdown +STARTCHAR u30A1 ENCODING 12449 SWIDTH 545 0 DWIDTH 6 0 @@ -31609,7 +71736,7 @@ F0 60 40 ENDCHAR -STARTCHAR cent +STARTCHAR u30A2 ENCODING 12450 SWIDTH 545 0 DWIDTH 6 0 @@ -31622,7 +71749,7 @@ F8 20 40 ENDCHAR -STARTCHAR sterling +STARTCHAR u30A3 ENCODING 12451 SWIDTH 545 0 DWIDTH 6 0 @@ -31633,7 +71760,7 @@ BITMAP C0 40 ENDCHAR -STARTCHAR currency +STARTCHAR u30A4 ENCODING 12452 SWIDTH 545 0 DWIDTH 6 0 @@ -31646,7 +71773,7 @@ A0 20 20 ENDCHAR -STARTCHAR yen +STARTCHAR u30A5 ENCODING 12453 SWIDTH 545 0 DWIDTH 6 0 @@ -31657,7 +71784,7 @@ F0 90 20 ENDCHAR -STARTCHAR brokenbar +STARTCHAR u30A6 ENCODING 12454 SWIDTH 545 0 DWIDTH 6 0 @@ -31670,7 +71797,7 @@ F8 10 20 ENDCHAR -STARTCHAR section +STARTCHAR u30A7 ENCODING 12455 SWIDTH 545 0 DWIDTH 6 0 @@ -31681,7 +71808,7 @@ E0 40 E0 ENDCHAR -STARTCHAR dieresis +STARTCHAR u30A8 ENCODING 12456 SWIDTH 545 0 DWIDTH 6 0 @@ -31693,7 +71820,7 @@ F8 20 F8 ENDCHAR -STARTCHAR copyright +STARTCHAR u30A9 ENCODING 12457 SWIDTH 545 0 DWIDTH 6 0 @@ -31704,7 +71831,7 @@ F0 60 A0 ENDCHAR -STARTCHAR ordfeminine +STARTCHAR u30AA ENCODING 12458 SWIDTH 545 0 DWIDTH 6 0 @@ -31717,7 +71844,7 @@ F8 90 10 ENDCHAR -STARTCHAR guillemotleft +STARTCHAR u30AB ENCODING 12459 SWIDTH 545 0 DWIDTH 6 0 @@ -31730,7 +71857,7 @@ F8 48 90 ENDCHAR -STARTCHAR logicalnot +STARTCHAR u30AC ENCODING 12460 SWIDTH 545 0 DWIDTH 6 0 @@ -31745,7 +71872,7 @@ F8 48 90 ENDCHAR -STARTCHAR uni00AD +STARTCHAR u30AD ENCODING 12461 SWIDTH 545 0 DWIDTH 6 0 @@ -31758,7 +71885,7 @@ F8 20 20 ENDCHAR -STARTCHAR registered +STARTCHAR u30AE ENCODING 12462 SWIDTH 545 0 DWIDTH 6 0 @@ -31773,7 +71900,7 @@ F8 20 20 ENDCHAR -STARTCHAR macron +STARTCHAR u30AF ENCODING 12463 SWIDTH 545 0 DWIDTH 6 0 @@ -31785,7 +71912,7 @@ BITMAP 20 C0 ENDCHAR -STARTCHAR degree +STARTCHAR u30B0 ENCODING 12464 SWIDTH 545 0 DWIDTH 6 0 @@ -31799,7 +71926,7 @@ BITMAP 20 C0 ENDCHAR -STARTCHAR plusminus +STARTCHAR u30B1 ENCODING 12465 SWIDTH 545 0 DWIDTH 6 0 @@ -31812,7 +71939,7 @@ BITMAP 10 20 ENDCHAR -STARTCHAR uni00B2 +STARTCHAR u30B2 ENCODING 12466 SWIDTH 545 0 DWIDTH 6 0 @@ -31827,7 +71954,7 @@ BITMAP 10 20 ENDCHAR -STARTCHAR uni00B3 +STARTCHAR u30BB3 ENCODING 12467 SWIDTH 545 0 DWIDTH 6 0 @@ -31839,7 +71966,7 @@ F8 08 F8 ENDCHAR -STARTCHAR acute +STARTCHAR u30B4 ENCODING 12468 SWIDTH 545 0 DWIDTH 6 0 @@ -31853,7 +71980,7 @@ F8 08 F8 ENDCHAR -STARTCHAR uni00B5 +STARTCHAR u30BB5 ENCODING 12469 SWIDTH 545 0 DWIDTH 6 0 @@ -31866,7 +71993,7 @@ F8 20 40 ENDCHAR -STARTCHAR paragraph +STARTCHAR u30B6 ENCODING 12470 SWIDTH 545 0 DWIDTH 6 0 @@ -31881,7 +72008,7 @@ F8 20 40 ENDCHAR -STARTCHAR periodcentered +STARTCHAR u30B7 ENCODING 12471 SWIDTH 545 0 DWIDTH 6 0 @@ -31893,7 +72020,7 @@ C8 10 E0 ENDCHAR -STARTCHAR cedilla +STARTCHAR u30B8 ENCODING 12472 SWIDTH 545 0 DWIDTH 6 0 @@ -31907,7 +72034,7 @@ C8 10 E0 ENDCHAR -STARTCHAR uni00B9 +STARTCHAR u30B9 ENCODING 12473 SWIDTH 545 0 DWIDTH 6 0 @@ -31919,7 +72046,7 @@ F8 50 88 ENDCHAR -STARTCHAR ordmasculine +STARTCHAR u30BA ENCODING 12474 SWIDTH 545 0 DWIDTH 6 0 @@ -31933,7 +72060,7 @@ F8 50 88 ENDCHAR -STARTCHAR guillemotright +STARTCHAR u30BB ENCODING 12475 SWIDTH 545 0 DWIDTH 6 0 @@ -31946,7 +72073,7 @@ F8 40 38 ENDCHAR -STARTCHAR onequarter +STARTCHAR u30BC ENCODING 12476 SWIDTH 545 0 DWIDTH 6 0 @@ -31961,7 +72088,7 @@ F8 40 38 ENDCHAR -STARTCHAR onehalf +STARTCHAR u30BD ENCODING 12477 SWIDTH 545 0 DWIDTH 6 0 @@ -31973,7 +72100,7 @@ BITMAP 10 60 ENDCHAR -STARTCHAR threequarters +STARTCHAR u30BE ENCODING 12478 SWIDTH 545 0 DWIDTH 6 0 @@ -31987,7 +72114,7 @@ BITMAP 10 60 ENDCHAR -STARTCHAR questiondown +STARTCHAR u30BF ENCODING 12479 SWIDTH 545 0 DWIDTH 6 0 @@ -31999,7 +72126,7 @@ A8 10 60 ENDCHAR -STARTCHAR Agrave +STARTCHAR u30C0 ENCODING 12480 SWIDTH 545 0 DWIDTH 6 0 @@ -32013,7 +72140,7 @@ A8 10 60 ENDCHAR -STARTCHAR Aacute +STARTCHAR u30C1 ENCODING 12481 SWIDTH 545 0 DWIDTH 6 0 @@ -32026,7 +72153,7 @@ F8 20 40 ENDCHAR -STARTCHAR Acircumflex +STARTCHAR u30C2 ENCODING 12482 SWIDTH 545 0 DWIDTH 6 0 @@ -32041,7 +72168,7 @@ F8 20 40 ENDCHAR -STARTCHAR Atilde +STARTCHAR u30C3 ENCODING 12483 SWIDTH 545 0 DWIDTH 6 0 @@ -32052,7 +72179,7 @@ A8 08 30 ENDCHAR -STARTCHAR Adieresis +STARTCHAR u30C4 ENCODING 12484 SWIDTH 545 0 DWIDTH 6 0 @@ -32064,7 +72191,7 @@ A8 10 20 ENDCHAR -STARTCHAR Aring +STARTCHAR u30C5 ENCODING 12485 SWIDTH 545 0 DWIDTH 6 0 @@ -32078,7 +72205,7 @@ A8 10 20 ENDCHAR -STARTCHAR AE +STARTCHAR u30C6 ENCODING 12486 SWIDTH 545 0 DWIDTH 6 0 @@ -32091,7 +72218,7 @@ F8 20 40 ENDCHAR -STARTCHAR Ccedilla +STARTCHAR u30C7 ENCODING 12487 SWIDTH 545 0 DWIDTH 6 0 @@ -32106,7 +72233,7 @@ F8 20 40 ENDCHAR -STARTCHAR Egrave +STARTCHAR u30C8 ENCODING 12488 SWIDTH 545 0 DWIDTH 6 0 @@ -32119,7 +72246,7 @@ A0 80 80 ENDCHAR -STARTCHAR Eacute +STARTCHAR u30C9 ENCODING 12489 SWIDTH 545 0 DWIDTH 6 0 @@ -32134,7 +72261,7 @@ A0 80 80 ENDCHAR -STARTCHAR Ecircumflex +STARTCHAR u30CA ENCODING 12490 SWIDTH 545 0 DWIDTH 6 0 @@ -32147,7 +72274,7 @@ F8 40 80 ENDCHAR -STARTCHAR Edieresis +STARTCHAR u30CB ENCODING 12491 SWIDTH 545 0 DWIDTH 6 0 @@ -32159,7 +72286,7 @@ BITMAP 00 F8 ENDCHAR -STARTCHAR Igrave +STARTCHAR u30CC ENCODING 12492 SWIDTH 545 0 DWIDTH 6 0 @@ -32171,7 +72298,7 @@ F8 20 D0 ENDCHAR -STARTCHAR Iacute +STARTCHAR u30CD ENCODING 12493 SWIDTH 545 0 DWIDTH 6 0 @@ -32184,7 +72311,7 @@ F8 70 A8 ENDCHAR -STARTCHAR Icircumflex +STARTCHAR u30CE ENCODING 12494 SWIDTH 545 0 DWIDTH 6 0 @@ -32197,7 +72324,7 @@ BITMAP 40 80 ENDCHAR -STARTCHAR Idieresis +STARTCHAR u30CF ENCODING 12495 SWIDTH 545 0 DWIDTH 6 0 @@ -32209,7 +72336,7 @@ BITMAP 88 88 ENDCHAR -STARTCHAR Eth +STARTCHAR u30D0 ENCODING 12496 SWIDTH 545 0 DWIDTH 6 0 @@ -32223,7 +72350,7 @@ BITMAP 88 88 ENDCHAR -STARTCHAR Ntilde +STARTCHAR u30D1 ENCODING 12497 SWIDTH 545 0 DWIDTH 6 0 @@ -32238,7 +72365,7 @@ BITMAP 88 88 ENDCHAR -STARTCHAR Ograve +STARTCHAR u30D2 ENCODING 12498 SWIDTH 545 0 DWIDTH 6 0 @@ -32251,7 +72378,7 @@ F8 80 78 ENDCHAR -STARTCHAR Oacute +STARTCHAR u30D3 ENCODING 12499 SWIDTH 545 0 DWIDTH 6 0 @@ -32265,7 +72392,7 @@ F8 80 78 ENDCHAR -STARTCHAR Ocircumflex +STARTCHAR u30D4 ENCODING 12500 SWIDTH 545 0 DWIDTH 6 0 @@ -32279,7 +72406,7 @@ F8 80 78 ENDCHAR -STARTCHAR Otilde +STARTCHAR u30D5 ENCODING 12501 SWIDTH 545 0 DWIDTH 6 0 @@ -32291,7 +72418,7 @@ F8 10 60 ENDCHAR -STARTCHAR Odieresis +STARTCHAR u30D6 ENCODING 12502 SWIDTH 545 0 DWIDTH 6 0 @@ -32305,7 +72432,7 @@ F8 10 60 ENDCHAR -STARTCHAR multiply +STARTCHAR u30D7 ENCODING 12503 SWIDTH 545 0 DWIDTH 6 0 @@ -32320,7 +72447,7 @@ F8 10 60 ENDCHAR -STARTCHAR Oslash +STARTCHAR u30D8 ENCODING 12504 SWIDTH 545 0 DWIDTH 6 0 @@ -32331,7 +72458,7 @@ A0 10 08 ENDCHAR -STARTCHAR Ugrave +STARTCHAR u30D9 ENCODING 12505 SWIDTH 545 0 DWIDTH 6 0 @@ -32344,7 +72471,7 @@ A0 10 08 ENDCHAR -STARTCHAR Uacute +STARTCHAR u30DA ENCODING 12506 SWIDTH 545 0 DWIDTH 6 0 @@ -32357,7 +72484,7 @@ A0 10 08 ENDCHAR -STARTCHAR Ucircumflex +STARTCHAR u30DB ENCODING 12507 SWIDTH 545 0 DWIDTH 6 0 @@ -32370,7 +72497,7 @@ A8 A8 20 ENDCHAR -STARTCHAR Udieresis +STARTCHAR u30DC ENCODING 12508 SWIDTH 545 0 DWIDTH 6 0 @@ -32385,7 +72512,7 @@ A8 A8 20 ENDCHAR -STARTCHAR Yacute +STARTCHAR u30DD ENCODING 12509 SWIDTH 545 0 DWIDTH 6 0 @@ -32400,7 +72527,7 @@ A8 A8 20 ENDCHAR -STARTCHAR Thorn +STARTCHAR u30DE ENCODING 12510 SWIDTH 545 0 DWIDTH 6 0 @@ -32412,7 +72539,7 @@ F8 20 10 ENDCHAR -STARTCHAR germandbls +STARTCHAR u30DF ENCODING 12511 SWIDTH 545 0 DWIDTH 6 0 @@ -32424,7 +72551,7 @@ E0 00 F0 ENDCHAR -STARTCHAR agrave +STARTCHAR u30E0 ENCODING 12512 SWIDTH 545 0 DWIDTH 6 0 @@ -32436,7 +72563,7 @@ BITMAP F8 08 ENDCHAR -STARTCHAR aacute +STARTCHAR u30E1 ENCODING 12513 SWIDTH 545 0 DWIDTH 6 0 @@ -32448,7 +72575,7 @@ BITMAP 28 C0 ENDCHAR -STARTCHAR acircumflex +STARTCHAR u30E2 ENCODING 12514 SWIDTH 545 0 DWIDTH 6 0 @@ -32460,7 +72587,7 @@ F8 40 38 ENDCHAR -STARTCHAR atilde +STARTCHAR u30E3 ENCODING 12515 SWIDTH 545 0 DWIDTH 6 0 @@ -32471,7 +72598,7 @@ F8 50 40 ENDCHAR -STARTCHAR adieresis +STARTCHAR u30E4 ENCODING 12516 SWIDTH 545 0 DWIDTH 6 0 @@ -32484,7 +72611,7 @@ F8 40 40 ENDCHAR -STARTCHAR aring +STARTCHAR u30E5 ENCODING 12517 SWIDTH 545 0 DWIDTH 6 0 @@ -32495,7 +72622,7 @@ BITMAP 20 F0 ENDCHAR -STARTCHAR ae +STARTCHAR u30E6 ENCODING 12518 SWIDTH 545 0 DWIDTH 6 0 @@ -32507,7 +72634,7 @@ BITMAP 10 F8 ENDCHAR -STARTCHAR ccedilla +STARTCHAR u30E7 ENCODING 12519 SWIDTH 545 0 DWIDTH 6 0 @@ -32519,7 +72646,7 @@ F0 10 F0 ENDCHAR -STARTCHAR egrave +STARTCHAR u30E8 ENCODING 12520 SWIDTH 545 0 DWIDTH 6 0 @@ -32531,7 +72658,7 @@ F8 08 F8 ENDCHAR -STARTCHAR eacute +STARTCHAR u30E9 ENCODING 12521 SWIDTH 545 0 DWIDTH 6 0 @@ -32544,7 +72671,7 @@ F8 10 20 ENDCHAR -STARTCHAR ecircumflex +STARTCHAR u30EA ENCODING 12522 SWIDTH 545 0 DWIDTH 6 0 @@ -32557,7 +72684,7 @@ BITMAP 10 20 ENDCHAR -STARTCHAR edieresis +STARTCHAR u30EB ENCODING 12523 SWIDTH 545 0 DWIDTH 6 0 @@ -32569,7 +72696,7 @@ A8 A8 B0 ENDCHAR -STARTCHAR igrave +STARTCHAR u30EC ENCODING 12524 SWIDTH 545 0 DWIDTH 6 0 @@ -32581,7 +72708,7 @@ BITMAP A0 C0 ENDCHAR -STARTCHAR iacute +STARTCHAR u30ED ENCODING 12525 SWIDTH 545 0 DWIDTH 6 0 @@ -32593,7 +72720,7 @@ F8 88 F8 ENDCHAR -STARTCHAR icircumflex +STARTCHAR u30EE ENCODING 12526 SWIDTH 545 0 DWIDTH 6 0 @@ -32604,7 +72731,7 @@ F0 10 20 ENDCHAR -STARTCHAR idieresis +STARTCHAR u30EF ENCODING 12527 SWIDTH 545 0 DWIDTH 6 0 @@ -32616,7 +72743,7 @@ F8 10 20 ENDCHAR -STARTCHAR eth +STARTCHAR u30F0 ENCODING 12528 SWIDTH 545 0 DWIDTH 6 0 @@ -32629,7 +72756,7 @@ F8 F8 10 ENDCHAR -STARTCHAR ntilde +STARTCHAR u30F1 ENCODING 12529 SWIDTH 545 0 DWIDTH 6 0 @@ -32641,7 +72768,7 @@ F8 20 F8 ENDCHAR -STARTCHAR ograve +STARTCHAR u30F2 ENCODING 12530 SWIDTH 545 0 DWIDTH 6 0 @@ -32653,7 +72780,7 @@ F8 08 30 ENDCHAR -STARTCHAR oacute +STARTCHAR u30F3 ENCODING 12531 SWIDTH 545 0 DWIDTH 6 0 @@ -32665,7 +72792,7 @@ C0 10 E0 ENDCHAR -STARTCHAR ocircumflex +STARTCHAR u30F4 ENCODING 12532 SWIDTH 545 0 DWIDTH 6 0 @@ -32680,7 +72807,7 @@ F8 10 20 ENDCHAR -STARTCHAR otilde +STARTCHAR u30F5 ENCODING 12533 SWIDTH 545 0 DWIDTH 6 0 @@ -32691,7 +72818,7 @@ F0 50 A0 ENDCHAR -STARTCHAR odieresis +STARTCHAR u30F6 ENCODING 12534 SWIDTH 545 0 DWIDTH 6 0 @@ -32702,7 +72829,7 @@ F0 20 40 ENDCHAR -STARTCHAR divide +STARTCHAR u30F7 ENCODING 12535 SWIDTH 545 0 DWIDTH 6 0 @@ -32716,7 +72843,7 @@ F8 10 60 ENDCHAR -STARTCHAR oslash +STARTCHAR u30F8 ENCODING 12536 SWIDTH 545 0 DWIDTH 6 0 @@ -32731,7 +72858,7 @@ F8 F8 10 ENDCHAR -STARTCHAR ugrave +STARTCHAR u30F9 ENCODING 12537 SWIDTH 545 0 DWIDTH 6 0 @@ -32745,7 +72872,7 @@ F8 20 F8 ENDCHAR -STARTCHAR uacute +STARTCHAR u30FA ENCODING 12538 SWIDTH 545 0 DWIDTH 6 0 @@ -32759,7 +72886,7 @@ F8 08 30 ENDCHAR -STARTCHAR ucircumflex +STARTCHAR u30FB ENCODING 12539 SWIDTH 545 0 DWIDTH 6 0 @@ -32768,7 +72895,7 @@ BITMAP C0 C0 ENDCHAR -STARTCHAR udieresis +STARTCHAR u30FC ENCODING 12540 SWIDTH 545 0 DWIDTH 6 0 @@ -32776,7 +72903,7 @@ BBX 5 1 0 2 BITMAP F8 ENDCHAR -STARTCHAR yacute +STARTCHAR u30FD ENCODING 12541 SWIDTH 545 0 DWIDTH 6 0 @@ -32787,7 +72914,7 @@ BITMAP 10 08 ENDCHAR -STARTCHAR thorn +STARTCHAR u30FE ENCODING 12542 SWIDTH 545 0 DWIDTH 6 0 @@ -32799,7 +72926,7 @@ BITMAP 10 08 ENDCHAR -STARTCHAR ydieresis +STARTCHAR u30FF ENCODING 12543 SWIDTH 545 0 DWIDTH 6 0 @@ -32813,6 +72940,7 @@ F8 08 ENDCHAR + STARTCHAR U_3105 ENCODING 12549 SWIDTH 1000 0 @@ -33376,19 +73504,19 @@ STARTCHAR U_3127 ENCODING 12583 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 5 -1 +BBX 1 11 5 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 ENDCHAR STARTCHAR U_3128 ENCODING 12584 @@ -33427,9 +73555,8 @@ STARTCHAR U_312A ENCODING 12586 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FFE0 0800 0800 @@ -33445,9 +73572,8 @@ STARTCHAR U_312B ENCODING 12587 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FFE0 1200 1200 @@ -33481,9 +73607,8 @@ STARTCHAR U_312D ENCODING 12589 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FFE0 0400 0400 @@ -33499,10 +73624,8 @@ STARTCHAR U_3131 ENCODING 12593 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 8 0 0 BITMAP -0000 -0000 FF80 0080 0080 @@ -33511,17 +73634,13 @@ FF80 0080 0080 0080 -0000 ENDCHAR STARTCHAR U_3132 ENCODING 12594 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 7 0 0 BITMAP -0000 -0000 -0000 F780 1080 1080 @@ -33529,17 +73648,13 @@ F780 1080 1080 1080 -0000 ENDCHAR STARTCHAR U_3133 ENCODING 12595 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 7 0 0 BITMAP -0000 -0000 -0000 F100 1100 1100 @@ -33547,25 +73662,19 @@ F100 1280 1440 1820 -0000 ENDCHAR STARTCHAR U_3134 ENCODING 12596 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 6 0 1 BITMAP -0000 -0000 -0000 -8000 -8000 -8000 -8000 -8000 -FF00 -0000 -0000 +80 +80 +80 +80 +80 +FF ENDCHAR STARTCHAR U_3135 ENCODING 12597 @@ -33589,46 +73698,34 @@ STARTCHAR U_3137 ENCODING 12599 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 5 0 2 BITMAP -0000 -0000 -0000 -FE00 -8000 -8000 -8000 -FE00 -0000 -0000 -0000 +FE +80 +80 +80 +FE ENDCHAR STARTCHAR U_3139 ENCODING 12601 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 7 0 1 BITMAP -0000 -0000 -FE00 -0200 -0200 -FE00 -8000 -8000 -FE00 -0000 -0000 +FE +02 +02 +FE +80 +80 +FE ENDCHAR STARTCHAR U_313A ENCODING 12602 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 9 0 -1 BITMAP -0000 -0000 FBE0 0820 0820 @@ -33643,10 +73740,8 @@ STARTCHAR U_313B ENCODING 12603 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 7 0 1 BITMAP -0000 -0000 F1C0 0A20 0A20 @@ -33654,8 +73749,6 @@ F1C0 8220 8220 79C0 -0000 -0000 ENDCHAR STARTCHAR U_313C ENCODING 12604 @@ -33697,47 +73790,35 @@ STARTCHAR U_3141 ENCODING 12609 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 1 BITMAP -0000 -0000 -0000 -FE00 -8200 -8200 -8200 -8200 -FE00 -0000 -0000 +FE +82 +82 +82 +82 +FE ENDCHAR STARTCHAR U_3142 ENCODING 12610 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 7 0 1 BITMAP -0000 -0000 -8200 -8200 -8200 -FE00 -8200 -8200 -FE00 -0000 -0000 +82 +82 +82 +FE +82 +82 +FE ENDCHAR STARTCHAR U_3143 ENCODING 12611 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 8 0 -1 BITMAP -0000 -0000 -0000 8A20 8A20 8A20 @@ -33751,27 +73832,21 @@ STARTCHAR U_3144 ENCODING 12612 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 1 BITMAP -0000 -0000 -0000 8880 8880 F880 8880 8940 7220 -0000 -0000 ENDCHAR STARTCHAR U_3145 ENCODING 12613 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 8 0 1 BITMAP -0000 0400 0400 0400 @@ -33780,17 +73855,13 @@ BITMAP 1100 2080 C060 -0000 -0000 ENDCHAR STARTCHAR U_3147 ENCODING 12615 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 7 0 1 BITMAP -0000 -0000 3F80 4040 8020 @@ -33798,34 +73869,26 @@ BITMAP 8020 4040 3F80 -0000 -0000 ENDCHAR STARTCHAR U_3148 ENCODING 12616 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 6 0 1 BITMAP -0000 -0000 -0000 FFE0 0400 0A00 1100 2080 C060 -0000 -0000 ENDCHAR STARTCHAR U_314C ENCODING 12620 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 8 0 1 BITMAP -0000 FFC0 8000 8000 @@ -33834,124 +73897,103 @@ FFC0 8000 8000 FFC0 -0000 -0000 ENDCHAR STARTCHAR U_3151 ENCODING 12625 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 3 9 0 0 BITMAP -0000 -8000 -8000 -E000 -8000 -E000 -8000 -8000 -8000 -8000 -0000 +80 +80 +E0 +80 +E0 +80 +80 +80 +80 ENDCHAR STARTCHAR U_3152 ENCODING 12626 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 4 9 0 0 BITMAP -0000 -9000 -9000 -F000 -9000 -F000 -9000 -9000 -9000 -9000 -0000 +90 +90 +F0 +90 +F0 +90 +90 +90 +90 ENDCHAR STARTCHAR U_3154 ENCODING 12628 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 9 0 0 BITMAP -0000 -2200 -2200 -2200 -E200 -2200 -2200 -2200 -2200 -2200 -0000 +22 +22 +22 +E2 +22 +22 +22 +22 +22 ENDCHAR STARTCHAR U_3155 ENCODING 12629 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 3 9 0 0 BITMAP -0000 -2000 -2000 -E000 -2000 -E000 -2000 -2000 -2000 -2000 -0000 +20 +20 +E0 +20 +E0 +20 +20 +20 +20 ENDCHAR STARTCHAR U_3158 ENCODING 12632 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 9 0 0 BITMAP -0000 -0200 -0200 -0300 -0200 -0200 -2200 -2200 -FE00 -0200 -0000 +02 +02 +03 +02 +02 +22 +22 +FE +02 ENDCHAR STARTCHAR U_315B ENCODING 12635 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 3 0 0 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 1400 1400 FF80 -0000 ENDCHAR STARTCHAR U_3162 ENCODING 12642 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 9 0 0 BITMAP -0000 0080 0080 0080 @@ -33961,15 +74003,13 @@ BITMAP 0080 FF80 0080 -0000 ENDCHAR STARTCHAR U_3179 ENCODING 12665 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 9 1 0 BITMAP -0000 9480 F780 9480 @@ -33979,16 +74019,13 @@ F780 8080 8080 7F00 -0000 ENDCHAR STARTCHAR U_317A ENCODING 12666 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 7 0 1 BITMAP -0000 -0000 13E0 1020 1020 @@ -33996,17 +74033,13 @@ BITMAP 2820 4420 8220 -0000 -0000 ENDCHAR STARTCHAR U_317D ENCODING 12669 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 7 1 1 BITMAP -0000 -0000 2440 2440 27C0 @@ -34014,18 +74047,13 @@ BITMAP 2440 5440 8B80 -0000 -0000 ENDCHAR STARTCHAR U_317F ENCODING 12671 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 7 0 0 BITMAP -0000 -0000 -0000 0800 1400 2200 @@ -34033,16 +74061,13 @@ BITMAP 4100 8080 FF80 -0000 ENDCHAR STARTCHAR U_3180 ENCODING 12672 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 8 0 0 BITMAP -0000 -0000 2080 2080 71C0 @@ -34051,15 +74076,13 @@ BITMAP 8A20 8A20 71C0 -0000 ENDCHAR STARTCHAR U_3181 ENCODING 12673 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 8 1 1 BITMAP -0000 0800 0800 1C00 @@ -34068,16 +74091,13 @@ BITMAP 8080 6300 1C00 -0000 -0000 ENDCHAR STARTCHAR U_318C ENCODING 12684 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 9 0 0 BITMAP -0000 0080 0080 0080 @@ -34087,447 +74107,338 @@ FC80 4880 4880 8880 -0000 ENDCHAR STARTCHAR U_318D ENCODING 12685 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 2 2 0 2 BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -C000 -C000 -0000 -0000 -0000 +C0 +C0 ENDCHAR STARTCHAR U_318E ENCODING 12686 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 9 0 0 BITMAP -0000 -0400 -0400 -0400 -C400 -C400 -0400 -0400 -0400 -0400 -0000 +04 +04 +04 +C4 +C4 +04 +04 +04 +04 ENDCHAR STARTCHAR U_3192 ENCODING 12690 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 1 0 7 BITMAP -0000 -0000 FF80 -0000 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_3193 ENCODING 12691 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 4 0 5 BITMAP -0000 -7E00 -0000 -0000 -FF00 -0000 -0000 -0000 -0000 -0000 -0000 +7E +00 +00 +FF ENDCHAR STARTCHAR U_3194 ENCODING 12692 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 5 0 4 BITMAP -0000 -7E00 -0000 -3C00 -0000 -FF00 -0000 -0000 -0000 -0000 -0000 +7E +00 +3C +00 +FF ENDCHAR STARTCHAR U_3195 ENCODING 12693 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 5 0 4 BITMAP -0000 -FE00 -AA00 -CE00 -8200 -FE00 -0000 -0000 -0000 -0000 -0000 +FE +AA +CE +82 +FE ENDCHAR STARTCHAR U_3196 ENCODING 12694 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -1000 -1000 -1C00 -1000 -1000 -FE00 -0000 -0000 -0000 -0000 -0000 +10 +10 +1C +10 +10 +FE ENDCHAR STARTCHAR U_3197 ENCODING 12695 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 6 7 0 3 BITMAP -2000 -2000 -FC00 -A400 -FC00 -2000 -2000 -0000 -0000 -0000 -0000 +20 +20 +FC +A4 +FC +20 +20 ENDCHAR STARTCHAR U_3198 ENCODING 12696 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -FE00 -1000 -1800 -1400 -1000 -1000 -0000 -0000 -0000 -0000 -0000 +FE +10 +18 +14 +10 +10 ENDCHAR STARTCHAR U_3199 ENCODING 12697 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 7 0 3 BITMAP -FE00 -9200 -FE00 -9200 -FE00 -1000 -1000 -0000 -0000 -0000 -0000 +FE +92 +FE +92 +FE +10 +10 ENDCHAR STARTCHAR U_319A ENCODING 12698 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -FC00 -1800 -2000 -4000 -8200 -7E00 -0000 -0000 -0000 -0000 -0000 +FC +18 +20 +40 +82 +7E ENDCHAR STARTCHAR U_319B ENCODING 12699 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -7C00 -1000 -FE00 -9200 -AA00 -8600 -0000 -0000 -0000 -0000 -0000 +7C +10 +FE +92 +AA +86 ENDCHAR STARTCHAR U_319C ENCODING 12700 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -FE00 -1000 -1000 -1000 -1000 -3000 -0000 -0000 -0000 -0000 -0000 +FE +10 +10 +10 +10 +30 ENDCHAR STARTCHAR U_319D ENCODING 12701 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 7 6 0 4 BITMAP -7C00 -1000 -FE00 -1000 -2800 -C600 -0000 -0000 -0000 -0000 -0000 +7C +10 +FE +10 +28 +C6 ENDCHAR STARTCHAR U_319E ENCODING 12702 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 7 0 3 BITMAP -4400 -5400 -FF00 -5500 -5600 -7100 -9F00 -0000 -0000 -0000 -0000 +44 +54 +FF +55 +56 +71 +9F ENDCHAR STARTCHAR U_319F ENCODING 12703 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 8 6 0 4 BITMAP -1000 -1000 -1000 -2800 -4400 -8300 -0000 -0000 -0000 -0000 -0000 +10 +10 +10 +28 +44 +83 ENDCHAR STARTCHAR U_31C0 ENCODING 12736 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 3 1 3 BITMAP -0000 -0000 -0000 -0000 -0300 -1C00 -E000 -0000 -0000 -0000 -0000 +03 +1C +E0 ENDCHAR STARTCHAR U_31C1 ENCODING 12737 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 4 -1 +BBX 3 11 4 -1 BITMAP -8000 -4000 -2000 -2000 -2000 -2000 -2000 -2000 -2000 -A000 -4000 +80 +40 +20 +20 +20 +20 +20 +20 +20 +A0 +40 ENDCHAR STARTCHAR U_31C2 ENCODING 12738 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 11 1 -1 BITMAP -8000 -8000 -4000 -4000 -2000 -2000 -1000 -1000 -0800 -0500 -0200 +80 +80 +40 +40 +20 +20 +10 +10 +08 +05 +02 ENDCHAR STARTCHAR U_31C3 ENCODING 12739 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 5 0 2 BITMAP -0000 -0000 -0000 8000 4000 2040 1840 07C0 -0000 -0000 -0000 ENDCHAR STARTCHAR U_31C4 ENCODING 12740 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 6 9 2 0 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -FC00 -0000 +80 +80 +80 +80 +80 +80 +80 +80 +FC ENDCHAR STARTCHAR U_31C5 ENCODING 12741 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 9 2 0 BITMAP -0000 -F000 -1000 -1000 -1000 -1000 -1000 -1000 -1000 -1E00 -0000 +F0 +10 +10 +10 +10 +10 +10 +10 +1E ENDCHAR STARTCHAR U_31C6 ENCODING 12742 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 10 1 -1 BITMAP -0000 -FF00 -0100 -0100 -0100 -0100 -0100 -0100 -0100 -0500 -0200 +FF +01 +01 +01 +01 +01 +01 +01 +05 +02 ENDCHAR STARTCHAR U_31C7 ENCODING 12743 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 10 2 -1 BITMAP -0000 -FE00 -0200 -0200 -0200 -0400 -0400 -0800 -0800 -1000 -2000 +FE +02 +02 +02 +04 +04 +08 +08 +10 +20 ENDCHAR STARTCHAR U_31C8 ENCODING 12744 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 9 10 0 -1 BITMAP -0000 F800 0800 0800 @@ -34543,7 +74454,7 @@ STARTCHAR U_31C9 ENCODING 12745 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 11 1 -1 BITMAP 8000 8000 @@ -34561,333 +74472,280 @@ STARTCHAR U_31CA ENCODING 12746 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 6 8 1 0 BITMAP -0000 -0000 -F000 -1000 -1000 -1000 -1000 -1400 -1800 -1000 -0000 +F0 +10 +10 +10 +10 +14 +18 +10 ENDCHAR STARTCHAR U_31CB ENCODING 12747 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 10 1 -1 BITMAP -0000 -FE00 -0400 -0800 -0F00 -0100 -0100 -0200 -0200 -0400 -1800 +FE +04 +08 +0F +01 +01 +02 +02 +04 +18 ENDCHAR STARTCHAR U_31CC ENCODING 12748 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 3 -1 +BBX 5 10 3 -1 BITMAP -0000 -F800 -0800 -1000 -2000 -1000 -0800 -0800 -0800 -0800 -3000 +F8 +08 +10 +20 +10 +08 +08 +08 +08 +30 ENDCHAR STARTCHAR U_31CD ENCODING 12749 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 6 1 2 BITMAP -0000 -0000 F800 0800 0800 0800 0800 0780 -0000 -0000 -0000 ENDCHAR STARTCHAR U_31CE ENCODING 12750 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 10 1 -1 BITMAP -0000 -F800 -0800 -0800 -0800 -0F00 -0100 -0100 -0100 -0100 -0100 +F8 +08 +08 +08 +0F +01 +01 +01 +01 +01 ENDCHAR STARTCHAR U_31CF ENCODING 12751 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 8 11 2 -1 BITMAP -8000 -8000 -4000 -4000 -2000 -2000 -1000 -1000 -0800 -0700 -0200 +80 +80 +40 +40 +20 +20 +10 +10 +08 +07 +02 ENDCHAR STARTCHAR U_31D0 ENCODING 12752 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 1 1 5 BITMAP -0000 -0000 -0000 -0000 FF80 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_31D1 ENCODING 12753 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 5 -1 +BBX 1 11 5 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 ENDCHAR STARTCHAR U_31D2 ENCODING 12754 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 7 1 2 BITMAP -0000 -0100 -0100 -0200 -0400 -0800 -1000 -E000 -0000 -0000 -0000 +01 +01 +02 +04 +08 +10 +E0 ENDCHAR STARTCHAR U_31D3 ENCODING 12755 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 4 11 2 -1 BITMAP -1000 -1000 -1000 -1000 -1000 -1000 -1000 -2000 -2000 -4000 -8000 +10 +10 +10 +10 +10 +10 +10 +20 +20 +40 +80 ENDCHAR STARTCHAR U_31D4 ENCODING 12756 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 3 -1 +BBX 4 5 3 3 BITMAP -0000 -0000 -8000 -4000 -2000 -1000 -1000 -0000 -0000 -0000 -0000 +80 +40 +20 +10 +10 ENDCHAR STARTCHAR U_31D5 ENCODING 12757 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 7 2 1 BITMAP -0000 -0000 -FE00 -0200 -0200 -0200 -0200 -0200 -0200 -0000 -0000 +FE +02 +02 +02 +02 +02 +02 ENDCHAR STARTCHAR U_31D6 ENCODING 12758 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 3 0 4 BITMAP -0000 -0000 -0000 FFE0 0040 0080 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_31D7 ENCODING 12759 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 8 2 1 BITMAP -0000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -FE00 -0000 -0000 +80 +80 +80 +80 +80 +80 +80 +FE ENDCHAR STARTCHAR U_31D8 ENCODING 12760 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 8 8 1 1 BITMAP -0000 -0100 -0100 -0100 -0100 -0100 -0100 -0100 -FF00 -0000 -0000 +01 +01 +01 +01 +01 +01 +01 +FF ENDCHAR STARTCHAR U_31D9 ENCODING 12761 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 4 -1 +BBX 3 10 4 0 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -A000 -C000 -8000 -0000 +80 +80 +80 +80 +80 +80 +80 +A0 +C0 +80 ENDCHAR STARTCHAR U_31DA ENCODING 12762 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 4 -1 +BBX 3 11 4 -1 BITMAP -2000 -2000 -2000 -2000 -2000 -2000 -2000 -2000 -2000 -A000 -4000 +20 +20 +20 +20 +20 +20 +20 +20 +20 +A0 +40 ENDCHAR STARTCHAR U_31DB ENCODING 12763 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 3 -1 +BBX 4 9 3 0 BITMAP -0000 -1000 -1000 -2000 -4000 -8000 -4000 -2000 -1000 -1000 -0000 +10 +10 +20 +40 +80 +40 +20 +10 +10 ENDCHAR STARTCHAR U_31DC ENCODING 12764 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 7 1 2 BITMAP -0000 0800 0800 1000 @@ -34895,17 +74753,13 @@ BITMAP 2000 4000 FF80 -0000 -0000 -0000 ENDCHAR STARTCHAR U_31DD ENCODING 12765 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 2000 2000 5000 @@ -34921,45 +74775,42 @@ STARTCHAR U_31DE ENCODING 12766 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 2 -1 +BBX 7 9 2 0 BITMAP -0000 -8000 -8000 -8000 -8000 -FE00 -0200 -0200 -0200 -0200 -0000 +80 +80 +80 +80 +FE +02 +02 +02 +02 ENDCHAR STARTCHAR U_31DF ENCODING 12767 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 3 -1 +BBX 6 11 3 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8400 -8400 -7C00 +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 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FF80 0100 0200 @@ -34975,9 +74826,8 @@ STARTCHAR U_31E1 ENCODING 12769 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 10 10 1 -1 BITMAP -0000 FF80 0100 0200 @@ -34993,9 +74843,8 @@ STARTCHAR U_31E2 ENCODING 12770 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 9 1 0 BITMAP -0000 0080 0080 0100 @@ -35005,16 +74854,13 @@ BITMAP 8800 5000 2000 -0000 ENDCHAR STARTCHAR U_31E3 ENCODING 12771 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 7 1 1 BITMAP -0000 -0000 7F00 8080 8080 @@ -35022,8 +74868,6 @@ BITMAP 8080 8080 7F00 -0000 -0000 ENDCHAR STARTCHAR U_3200 ENCODING 12800 @@ -35047,9 +74891,8 @@ STARTCHAR U_3202 ENCODING 12802 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 1 -1 +BBX 9 9 1 0 BITMAP -0000 4100 8080 BE80 @@ -35059,7 +74902,6 @@ BE80 8080 8080 4100 -0000 ENDCHAR STARTCHAR U_3214 ENCODING 12820 @@ -36415,9 +76257,8 @@ STARTCHAR U_337E ENCODING 13182 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 3A40 E940 AC40 @@ -36632,9 +76473,8 @@ STARTCHAR U_33E0 ENCODING 13280 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 10 10 0 -1 BITMAP -0000 47C0 C440 4440 @@ -36650,9 +76490,8 @@ STARTCHAR U_33E1 ENCODING 13281 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 73E0 8A20 8A20 @@ -36668,9 +76507,8 @@ STARTCHAR U_33E2 ENCODING 13282 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 73E0 8A20 8A20 @@ -36686,9 +76524,8 @@ STARTCHAR U_33E3 ENCODING 13283 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 13E0 1220 3220 @@ -36704,9 +76541,8 @@ STARTCHAR U_33E4 ENCODING 13284 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FBE0 8220 8220 @@ -36722,9 +76558,8 @@ STARTCHAR U_33E5 ENCODING 13285 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 73E0 8A20 8A20 @@ -36740,9 +76575,8 @@ STARTCHAR U_33E6 ENCODING 13286 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 FBE0 8A20 0A20 @@ -36758,9 +76592,8 @@ STARTCHAR U_33E7 ENCODING 13287 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 73E0 8A20 8A20 @@ -36776,9 +76609,8 @@ STARTCHAR U_33E8 ENCODING 13288 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 73E0 8A20 8A20 @@ -36794,9 +76626,8 @@ STARTCHAR U_33E9 ENCODING 13289 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 4CE0 D2A0 52A0 @@ -36812,9 +76643,8 @@ STARTCHAR U_33EA ENCODING 13290 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D920 4920 @@ -36830,9 +76660,8 @@ STARTCHAR U_33EB ENCODING 13291 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D520 5520 @@ -36848,9 +76677,8 @@ STARTCHAR U_33EC ENCODING 13292 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D520 5520 @@ -36866,9 +76694,8 @@ STARTCHAR U_33ED ENCODING 13293 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 C4A0 4CA0 @@ -36884,9 +76711,8 @@ STARTCHAR U_33EE ENCODING 13294 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 5DE0 D120 5120 @@ -36902,9 +76728,8 @@ STARTCHAR U_33EF ENCODING 13295 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D520 5520 @@ -36920,9 +76745,8 @@ STARTCHAR U_33F0 ENCODING 13296 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 5EE0 D2A0 42A0 @@ -36938,9 +76762,8 @@ STARTCHAR U_33F1 ENCODING 13297 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D520 5520 @@ -36956,9 +76779,8 @@ STARTCHAR U_33F2 ENCODING 13298 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 49E0 D520 5520 @@ -36974,9 +76796,8 @@ STARTCHAR U_33F3 ENCODING 13299 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -36992,9 +76813,8 @@ STARTCHAR U_33F4 ENCODING 13300 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 45E0 AD20 A520 @@ -37010,9 +76830,8 @@ STARTCHAR U_33F5 ENCODING 13301 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37028,9 +76847,8 @@ STARTCHAR U_33F6 ENCODING 13302 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37046,9 +76864,8 @@ STARTCHAR U_33F7 ENCODING 13303 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 42E0 A2A0 A6A0 @@ -37064,9 +76881,8 @@ STARTCHAR U_33F8 ENCODING 13304 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 4EE0 A8A0 A8A0 @@ -37082,9 +76898,8 @@ STARTCHAR U_33F9 ENCODING 13305 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37100,9 +76915,8 @@ STARTCHAR U_33FA ENCODING 13306 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 4EE0 AAA0 A2A0 @@ -37118,9 +76932,8 @@ STARTCHAR U_33FB ENCODING 13307 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37136,9 +76949,8 @@ STARTCHAR U_33FC ENCODING 13308 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37154,9 +76966,8 @@ STARTCHAR U_33FD ENCODING 13309 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 44E0 AAA0 AAA0 @@ -37172,9 +76983,8 @@ STARTCHAR U_33FE ENCODING 13310 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 +BBX 11 10 0 -1 BITMAP -0000 62E0 96A0 92A0 @@ -37190,9 +77000,8 @@ STARTCHAR U_3400 ENCODING 13312 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 1100 1100 1100 @@ -37209,7 +77018,7 @@ ENCODING 13313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0400 @@ -37227,7 +77036,7 @@ ENCODING 13314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 7C00 @@ -37245,7 +77054,7 @@ ENCODING 13315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -37263,7 +77072,7 @@ ENCODING 13316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -37280,26 +77089,25 @@ STARTCHAR U_3405 ENCODING 13317 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0080 -2080 +BBX 9 10 1 0 +BITMAP +0100 +4100 +2200 +1200 +0C00 +0400 +0A00 1100 -0900 -0600 -0200 -0500 -0880 -1040 -6040 -0000 +2080 +C080 ENDCHAR STARTCHAR U_3406 ENCODING 13318 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 0 -1 +BITMAP 3F00 2000 3F00 @@ -37317,7 +77125,7 @@ ENCODING 13319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 7F00 @@ -37335,7 +77143,7 @@ ENCODING 13320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0400 0A00 @@ -37352,9 +77160,8 @@ STARTCHAR U_3409 ENCODING 13321 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0200 0200 @@ -37371,7 +77178,7 @@ ENCODING 13322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -37389,7 +77196,7 @@ ENCODING 13323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 3FC0 @@ -37407,7 +77214,7 @@ ENCODING 13324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FC0 4400 @@ -37424,26 +77231,26 @@ STARTCHAR U_340D ENCODING 13325 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -01C0 +BBX 10 11 1 -1 +BITMAP +0380 +1C00 +E880 +4480 +2500 +FF80 +0100 0E00 -7440 -2240 -1280 +7040 +8040 7FC0 -0080 -0700 -3820 -4020 -3FE0 ENDCHAR STARTCHAR U_340E ENCODING 13326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -37461,7 +77268,7 @@ ENCODING 13327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -37479,7 +77286,7 @@ ENCODING 13328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 4A40 @@ -37497,7 +77304,7 @@ ENCODING 13329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 5100 0E00 @@ -37515,7 +77322,7 @@ ENCODING 13330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1040 2080 @@ -37533,7 +77340,7 @@ ENCODING 13331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0080 3C80 @@ -37550,26 +77357,26 @@ STARTCHAR U_3414 ENCODING 13332 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 +BBX 9 11 1 -1 +BITMAP +0800 +FF80 0000 -1F00 -1100 -1F00 +3E00 +2200 +3E00 0000 -7F00 -0400 -0840 -0FC0 +FE00 +0800 +1080 +1F80 ENDCHAR STARTCHAR U_3415 ENCODING 13333 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 7FC0 4440 @@ -37587,7 +77394,7 @@ ENCODING 13334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 FD00 @@ -37605,7 +77412,7 @@ ENCODING 13335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 1F80 0500 @@ -37623,7 +77430,7 @@ ENCODING 13336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -37641,7 +77448,7 @@ ENCODING 13337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2080 3F80 @@ -37659,7 +77466,7 @@ ENCODING 13338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -37677,7 +77484,7 @@ ENCODING 13339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2FE0 E400 @@ -37695,7 +77502,7 @@ ENCODING 13340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2100 FBC0 @@ -37713,7 +77520,7 @@ ENCODING 13341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 F7E0 2820 @@ -37731,7 +77538,7 @@ ENCODING 13342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -37749,7 +77556,7 @@ ENCODING 13343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 F3C0 1200 @@ -37767,7 +77574,7 @@ ENCODING 13344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 5480 FC80 @@ -37785,7 +77592,7 @@ ENCODING 13345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 FFE0 @@ -37803,7 +77610,7 @@ ENCODING 13346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 8FC0 @@ -37821,7 +77628,7 @@ ENCODING 13347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -37839,7 +77646,7 @@ ENCODING 13348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -37857,7 +77664,7 @@ ENCODING 13349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 AE80 5BE0 @@ -37875,7 +77682,7 @@ ENCODING 13350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4840 6EC0 @@ -37893,7 +77700,7 @@ ENCODING 13351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 1A00 0A00 @@ -37911,7 +77718,7 @@ ENCODING 13352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1040 5140 @@ -37929,7 +77736,7 @@ ENCODING 13353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 5140 FBE0 @@ -37947,7 +77754,7 @@ ENCODING 13354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -37965,7 +77772,7 @@ ENCODING 13355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -37983,7 +77790,7 @@ ENCODING 13356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1000 @@ -38001,7 +77808,7 @@ ENCODING 13357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -38019,7 +77826,7 @@ ENCODING 13358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4A40 @@ -38037,7 +77844,7 @@ ENCODING 13359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3F80 @@ -38055,7 +77862,7 @@ ENCODING 13360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 2420 @@ -38073,7 +77880,7 @@ ENCODING 13361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 1400 @@ -38091,7 +77898,7 @@ ENCODING 13362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -38109,7 +77916,7 @@ ENCODING 13363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2280 @@ -38127,7 +77934,7 @@ ENCODING 13364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 27E0 @@ -38144,9 +77951,8 @@ STARTCHAR U_3435 ENCODING 13365 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 17C0 2100 2100 @@ -38163,7 +77969,7 @@ ENCODING 13366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -38181,7 +77987,7 @@ ENCODING 13367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1040 2440 @@ -38199,7 +78005,7 @@ ENCODING 13368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -38217,7 +78023,7 @@ ENCODING 13369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 17E0 2400 @@ -38235,7 +78041,7 @@ ENCODING 13370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4880 @@ -38253,7 +78059,7 @@ ENCODING 13371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -38271,7 +78077,7 @@ ENCODING 13372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 1640 2240 @@ -38289,7 +78095,7 @@ ENCODING 13373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -38307,7 +78113,7 @@ ENCODING 13374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1000 2000 @@ -38325,7 +78131,7 @@ ENCODING 13375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -38343,7 +78149,7 @@ ENCODING 13376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 4200 @@ -38361,7 +78167,7 @@ ENCODING 13377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1920 2920 @@ -38379,7 +78185,7 @@ ENCODING 13378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 6100 @@ -38397,7 +78203,7 @@ ENCODING 13379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1480 29E0 @@ -38415,7 +78221,7 @@ ENCODING 13380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 4A40 @@ -38433,7 +78239,7 @@ ENCODING 13381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -38451,7 +78257,7 @@ ENCODING 13382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -38469,7 +78275,7 @@ ENCODING 13383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13C0 2440 @@ -38487,7 +78293,7 @@ ENCODING 13384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -38505,7 +78311,7 @@ ENCODING 13385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 6FC0 @@ -38523,7 +78329,7 @@ ENCODING 13386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 6280 @@ -38541,7 +78347,7 @@ ENCODING 13387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1280 2280 @@ -38559,7 +78365,7 @@ ENCODING 13388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 6BE0 @@ -38577,7 +78383,7 @@ ENCODING 13389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -38595,7 +78401,7 @@ ENCODING 13390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12A0 1540 2A80 @@ -38613,7 +78419,7 @@ ENCODING 13391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2820 @@ -38631,7 +78437,7 @@ ENCODING 13392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 21C0 @@ -38640,7 +78446,7 @@ A100 2FE0 2100 2540 -2520 +2540 2920 2300 ENDCHAR @@ -38649,7 +78455,7 @@ ENCODING 13393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1400 2FE0 @@ -38667,7 +78473,7 @@ ENCODING 13394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3180 @@ -38685,7 +78491,7 @@ ENCODING 13395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2200 6440 @@ -38703,7 +78509,7 @@ ENCODING 13396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2200 @@ -38720,8 +78526,8 @@ STARTCHAR U_3455 ENCODING 13397 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1100 1540 2540 @@ -38739,7 +78545,7 @@ ENCODING 13398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1480 2880 @@ -38757,7 +78563,7 @@ ENCODING 13399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2440 @@ -38775,7 +78581,7 @@ ENCODING 13400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10A0 1080 2FE0 @@ -38793,7 +78599,7 @@ ENCODING 13401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2A00 6E80 @@ -38811,7 +78617,7 @@ ENCODING 13402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4AA0 CAA0 @@ -38829,7 +78635,7 @@ ENCODING 13403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -38847,7 +78653,7 @@ ENCODING 13404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1460 1580 2F00 @@ -38865,7 +78671,7 @@ ENCODING 13405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1100 27E0 @@ -38883,7 +78689,7 @@ ENCODING 13406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1540 2100 @@ -38901,7 +78707,7 @@ ENCODING 13407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 1600 2400 @@ -38919,7 +78725,7 @@ ENCODING 13408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1BE0 2AA0 @@ -38937,7 +78743,7 @@ ENCODING 13409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 6AA0 @@ -38955,7 +78761,7 @@ ENCODING 13410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14E0 24A0 7FA0 @@ -38973,7 +78779,7 @@ ENCODING 13411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 2480 7FE0 @@ -38991,7 +78797,7 @@ ENCODING 13412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1FE0 2240 @@ -39009,7 +78815,7 @@ ENCODING 13413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 27C0 @@ -39027,7 +78833,7 @@ ENCODING 13414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2E00 6800 @@ -39045,7 +78851,7 @@ ENCODING 13415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 4FE0 @@ -39063,7 +78869,7 @@ ENCODING 13416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -39081,7 +78887,7 @@ ENCODING 13417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2AA0 @@ -39099,7 +78905,7 @@ ENCODING 13418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -39117,7 +78923,7 @@ ENCODING 13419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1300 1480 @@ -39135,7 +78941,7 @@ ENCODING 13420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 4BE0 @@ -39153,7 +78959,7 @@ ENCODING 13421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1540 27C0 @@ -39171,7 +78977,7 @@ ENCODING 13422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1420 2100 @@ -39189,7 +78995,7 @@ ENCODING 13423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1200 27C0 @@ -39207,7 +79013,7 @@ ENCODING 13424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 4440 @@ -39225,7 +79031,7 @@ ENCODING 13425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 2100 @@ -39243,7 +79049,7 @@ ENCODING 13426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -39261,7 +79067,7 @@ ENCODING 13427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 5AA0 @@ -39279,7 +79085,7 @@ ENCODING 13428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2FC0 4080 @@ -39297,7 +79103,7 @@ ENCODING 13429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17E0 2400 @@ -39315,7 +79121,7 @@ ENCODING 13430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 5000 @@ -39333,7 +79139,7 @@ ENCODING 13431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 3280 5EE0 @@ -39351,7 +79157,7 @@ ENCODING 13432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -39369,7 +79175,7 @@ ENCODING 13433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1B00 E0E0 @@ -39387,7 +79193,7 @@ ENCODING 13434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 5880 @@ -39405,7 +79211,7 @@ ENCODING 13435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2A20 @@ -39423,7 +79229,7 @@ ENCODING 13436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2360 5FA0 @@ -39441,7 +79247,7 @@ ENCODING 13437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 2FE0 @@ -39459,7 +79265,7 @@ ENCODING 13438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2DE0 5240 @@ -39477,7 +79283,7 @@ ENCODING 13439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 2540 @@ -39495,7 +79301,7 @@ ENCODING 13440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -39513,7 +79319,7 @@ ENCODING 13441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 6FE0 @@ -39531,7 +79337,7 @@ ENCODING 13442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1EE0 2440 @@ -39549,7 +79355,7 @@ ENCODING 13443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 4100 @@ -39567,7 +79373,7 @@ ENCODING 13444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28C0 28A0 4E80 @@ -39585,7 +79391,7 @@ ENCODING 13445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2200 @@ -39603,7 +79409,7 @@ ENCODING 13446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 3CE0 4FC0 @@ -39621,7 +79427,7 @@ ENCODING 13447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 5540 @@ -39639,8 +79445,8 @@ ENCODING 13448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -2E80 +BITMAP +3E80 2480 7FE0 D540 @@ -39657,7 +79463,7 @@ ENCODING 13449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 5FE0 @@ -39675,7 +79481,7 @@ ENCODING 13450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2AA0 5BA0 @@ -39693,7 +79499,7 @@ ENCODING 13451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A60 3F80 4A80 @@ -39711,7 +79517,7 @@ ENCODING 13452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3540 4EE0 @@ -39729,25 +79535,25 @@ ENCODING 13453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -2500 -4F80 -C900 -5340 -5DC0 -4400 -4F00 -4680 +BITMAP +2480 4FC0 -4200 -4A80 +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 +BITMAP 2F80 2200 5FC0 @@ -39765,7 +79571,7 @@ ENCODING 13455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 54A0 @@ -39783,7 +79589,7 @@ ENCODING 13456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EE0 5540 @@ -39801,7 +79607,7 @@ ENCODING 13457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 3140 5A40 @@ -39819,7 +79625,7 @@ ENCODING 13458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AA0 46C0 @@ -39837,7 +79643,7 @@ ENCODING 13459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2BE0 4080 @@ -39855,7 +79661,7 @@ ENCODING 13460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4FE0 @@ -39873,7 +79679,7 @@ ENCODING 13461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4940 @@ -39891,14 +79697,14 @@ ENCODING 13462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -2880 -3FC0 -4880 -CF80 -4A80 -4F80 -4A80 +BITMAP +2480 +3FE0 +4480 +CFC0 +4A40 +4FC0 +4A40 5FE0 52A0 57A0 @@ -39909,7 +79715,7 @@ ENCODING 13463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 4480 @@ -39927,7 +79733,7 @@ ENCODING 13464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 34A0 5EA0 @@ -39945,7 +79751,7 @@ ENCODING 13465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2BE0 5220 @@ -39963,7 +79769,7 @@ ENCODING 13466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 5FE0 @@ -39981,7 +79787,7 @@ ENCODING 13467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 4AA0 @@ -39999,7 +79805,7 @@ ENCODING 13468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E60 2BA0 4E60 @@ -40017,7 +79823,7 @@ ENCODING 13469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 3DC0 4500 @@ -40035,7 +79841,7 @@ ENCODING 13470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 4500 @@ -40053,7 +79859,7 @@ ENCODING 13471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4900 @@ -40071,7 +79877,7 @@ ENCODING 13472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 16E0 24A0 2F40 @@ -40089,7 +79895,7 @@ ENCODING 13473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2C80 22E0 @@ -40107,7 +79913,7 @@ ENCODING 13474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2700 2A80 5FC0 @@ -40125,7 +79931,7 @@ ENCODING 13475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 5540 @@ -40143,7 +79949,7 @@ ENCODING 13476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2880 4F80 @@ -40161,7 +79967,7 @@ ENCODING 13477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AA0 7FE0 6AA0 @@ -40179,7 +79985,7 @@ ENCODING 13478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 4A80 4F80 @@ -40197,7 +80003,7 @@ ENCODING 13479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 5D40 4B00 @@ -40215,7 +80021,7 @@ ENCODING 13480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3A60 57A0 5DE0 @@ -40233,7 +80039,7 @@ ENCODING 13481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 5FE0 @@ -40251,7 +80057,7 @@ ENCODING 13482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0600 1980 6060 @@ -40268,9 +80074,8 @@ STARTCHAR U_34AB ENCODING 13483 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3FC0 2000 3F80 @@ -40286,9 +80091,8 @@ STARTCHAR U_34AC ENCODING 13484 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 73E0 0080 0080 @@ -40304,9 +80108,8 @@ STARTCHAR U_34AD ENCODING 13485 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FBE0 8A20 8A20 @@ -40322,9 +80125,8 @@ STARTCHAR U_34AE ENCODING 13486 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 03C0 7100 06A0 @@ -40341,7 +80143,7 @@ ENCODING 13487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 B440 @@ -40359,7 +80161,7 @@ ENCODING 13488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3800 0400 0A00 @@ -40377,7 +80179,7 @@ ENCODING 13489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0400 0A00 @@ -40395,7 +80197,7 @@ ENCODING 13490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0400 0A00 @@ -40413,7 +80215,7 @@ ENCODING 13491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 8420 @@ -40431,7 +80233,7 @@ ENCODING 13492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0600 1900 @@ -40448,8 +80250,8 @@ STARTCHAR U_34B5 ENCODING 13493 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 1000 7F80 @@ -40467,7 +80269,7 @@ ENCODING 13494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1100 1100 @@ -40485,7 +80287,7 @@ ENCODING 13495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2480 @@ -40503,7 +80305,7 @@ ENCODING 13496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 FFE0 @@ -40521,7 +80323,7 @@ ENCODING 13497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -40539,7 +80341,7 @@ ENCODING 13498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 8A20 @@ -40556,26 +80358,26 @@ STARTCHAR U_34BB ENCODING 13499 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4040 -5F40 -4040 -3F80 -2080 -3F80 -2080 -3F80 -1120 -61E0 +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 +BITMAP 1100 FFE0 1100 @@ -40593,7 +80395,7 @@ ENCODING 13501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 5F40 @@ -40611,7 +80413,7 @@ ENCODING 13502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 5F40 @@ -40629,7 +80431,7 @@ ENCODING 13503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 5F40 @@ -40647,7 +80449,7 @@ ENCODING 13504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 8440 @@ -40664,26 +80466,21 @@ STARTCHAR U_34C1 ENCODING 13505 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 6 0 3 +BITMAP 7FE0 4040 9100 1080 2040 4040 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_34C2 ENCODING 13506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 B920 @@ -40701,7 +80498,7 @@ ENCODING 13507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9020 78C0 @@ -40719,7 +80516,7 @@ ENCODING 13508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4BE0 FAA0 @@ -40736,9 +80533,8 @@ STARTCHAR U_34C5 ENCODING 13509 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 4FE0 2100 2100 @@ -40755,7 +80551,7 @@ ENCODING 13510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2500 @@ -40773,7 +80569,7 @@ ENCODING 13511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 8F00 4200 @@ -40790,9 +80586,8 @@ STARTCHAR U_34C8 ENCODING 13512 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 9FE0 4200 0200 @@ -40809,7 +80604,7 @@ ENCODING 13513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 8F00 4200 @@ -40827,7 +80622,7 @@ ENCODING 13514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 2BA0 @@ -40845,7 +80640,7 @@ ENCODING 13515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4480 2FC0 @@ -40863,7 +80658,7 @@ ENCODING 13516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4200 2500 @@ -40881,7 +80676,7 @@ ENCODING 13517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 2400 @@ -40899,7 +80694,7 @@ ENCODING 13518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4040 2FE0 @@ -40917,7 +80712,7 @@ ENCODING 13519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5020 54A0 @@ -40935,7 +80730,7 @@ ENCODING 13520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 2100 @@ -40953,7 +80748,7 @@ ENCODING 13521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 2100 @@ -40971,7 +80766,7 @@ ENCODING 13522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 22E0 1F00 @@ -40989,7 +80784,7 @@ ENCODING 13523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 2100 @@ -41007,7 +80802,7 @@ ENCODING 13524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4E40 2BE0 @@ -41025,7 +80820,7 @@ ENCODING 13525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 4FE0 2880 @@ -41043,7 +80838,7 @@ ENCODING 13526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5240 5FC0 @@ -41061,7 +80856,7 @@ ENCODING 13527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 85E0 5EA0 44A0 @@ -41079,7 +80874,7 @@ ENCODING 13528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5F40 4840 @@ -41097,7 +80892,7 @@ ENCODING 13529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 8420 BFA0 @@ -41115,7 +80910,7 @@ ENCODING 13530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 7C20 1120 @@ -41132,9 +80927,8 @@ STARTCHAR U_34DB ENCODING 13531 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 03E0 7D20 1120 @@ -41151,7 +80945,7 @@ ENCODING 13532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 4920 @@ -41169,7 +80963,7 @@ ENCODING 13533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 2920 7D20 @@ -41187,7 +80981,7 @@ ENCODING 13534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3920 E120 @@ -41205,7 +80999,7 @@ ENCODING 13535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 7E20 4AA0 @@ -41223,7 +81017,7 @@ ENCODING 13536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2020 3D20 @@ -41241,7 +81035,7 @@ ENCODING 13537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6020 4020 7EA0 @@ -41259,7 +81053,7 @@ ENCODING 13538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 4020 7EA0 @@ -41277,7 +81071,7 @@ ENCODING 13539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1020 2920 @@ -41295,7 +81089,7 @@ ENCODING 13540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1020 10A0 @@ -41313,7 +81107,7 @@ ENCODING 13541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2420 AD20 @@ -41331,7 +81125,7 @@ ENCODING 13542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 1020 2120 @@ -41349,7 +81143,7 @@ ENCODING 13543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1820 24A0 @@ -41367,7 +81161,7 @@ ENCODING 13544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1020 FEA0 @@ -41385,7 +81179,7 @@ ENCODING 13545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3C20 48A0 @@ -41403,7 +81197,7 @@ ENCODING 13546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 8920 @@ -41421,7 +81215,7 @@ ENCODING 13547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 28A0 @@ -41439,7 +81233,7 @@ ENCODING 13548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 5420 FEA0 @@ -41457,7 +81251,7 @@ ENCODING 13549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 44A0 7CA0 @@ -41475,7 +81269,7 @@ ENCODING 13550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 9220 BAA0 @@ -41493,7 +81287,7 @@ ENCODING 13551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 2A20 5420 @@ -41511,7 +81305,7 @@ ENCODING 13552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF20 1020 7CA0 @@ -41529,7 +81323,7 @@ ENCODING 13553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 2820 C6A0 @@ -41547,7 +81341,7 @@ ENCODING 13554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E20 7020 40A0 @@ -41565,7 +81359,7 @@ ENCODING 13555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 7CA0 @@ -41583,7 +81377,7 @@ ENCODING 13556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 2020 FEA0 @@ -41601,7 +81395,7 @@ ENCODING 13557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 AA20 EEA0 @@ -41619,7 +81413,7 @@ ENCODING 13558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E20 EA20 4AA0 @@ -41637,7 +81431,7 @@ ENCODING 13559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 7C20 44A0 @@ -41655,7 +81449,7 @@ ENCODING 13560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 AA20 AAA0 @@ -41673,7 +81467,7 @@ ENCODING 13561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F20 4820 6AA0 @@ -41691,7 +81485,7 @@ ENCODING 13562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E20 0820 7EA0 @@ -41709,7 +81503,7 @@ ENCODING 13563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 AA20 AAA0 @@ -41727,7 +81521,7 @@ ENCODING 13564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FF20 38A0 @@ -41745,7 +81539,7 @@ ENCODING 13565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 FE20 10A0 @@ -41763,7 +81557,7 @@ ENCODING 13566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 4220 7EA0 @@ -41781,7 +81575,7 @@ ENCODING 13567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C20 0820 FFA0 @@ -41799,7 +81593,7 @@ ENCODING 13568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E20 2220 3EA0 @@ -41817,7 +81611,7 @@ ENCODING 13569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A6A0 4320 @@ -41835,7 +81629,7 @@ ENCODING 13570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 5420 FEA0 @@ -41853,7 +81647,7 @@ ENCODING 13571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 9120 F7E0 @@ -41871,7 +81665,7 @@ ENCODING 13572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 2820 FEA0 @@ -41889,7 +81683,7 @@ ENCODING 13573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 7C20 1420 @@ -41907,7 +81701,7 @@ ENCODING 13574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 EE20 AAA0 @@ -41925,7 +81719,7 @@ ENCODING 13575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA20 2CA0 ABA0 @@ -41943,7 +81737,7 @@ ENCODING 13576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 FE20 28A0 @@ -41961,7 +81755,7 @@ ENCODING 13577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 4220 7EA0 @@ -41979,7 +81773,7 @@ ENCODING 13578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 00A0 @@ -41997,7 +81791,7 @@ ENCODING 13579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F420 A720 F420 @@ -42015,7 +81809,7 @@ ENCODING 13580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 A220 EAA0 @@ -42033,7 +81827,7 @@ ENCODING 13581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7720 AAA0 @@ -42051,7 +81845,7 @@ ENCODING 13582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 FBE0 4140 @@ -42069,7 +81863,7 @@ ENCODING 13583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF20 2020 7EA0 @@ -42087,7 +81881,7 @@ ENCODING 13584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7BA0 A520 @@ -42105,7 +81899,7 @@ ENCODING 13585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FBE0 5100 @@ -42123,7 +81917,7 @@ ENCODING 13586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 FE20 48A0 @@ -42141,7 +81935,7 @@ ENCODING 13587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 F080 13E0 @@ -42159,7 +81953,7 @@ ENCODING 13588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 2520 @@ -42177,7 +81971,7 @@ ENCODING 13589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D00 83E0 @@ -42195,7 +81989,7 @@ ENCODING 13590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 2520 @@ -42213,7 +82007,7 @@ ENCODING 13591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 FE80 @@ -42231,7 +82025,7 @@ ENCODING 13592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 A900 @@ -42249,7 +82043,7 @@ ENCODING 13593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4880 FC80 @@ -42266,8 +82060,8 @@ STARTCHAR U_351A ENCODING 13594 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 0840 3040 5080 @@ -42278,14 +82072,13 @@ FBE0 4A40 3A40 24C0 -0000 ENDCHAR STARTCHAR U_351B ENCODING 13595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -42303,25 +82096,25 @@ ENCODING 13596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -0C40 -3040 -D480 -54A0 -3DE0 -44A0 -0B20 -3D40 -C940 -2A40 -18C0 +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 +BITMAP FE80 1080 11E0 @@ -42339,7 +82132,7 @@ ENCODING 13598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 E080 11E0 @@ -42357,7 +82150,7 @@ ENCODING 13599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7FC0 9140 @@ -42375,7 +82168,7 @@ ENCODING 13600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 8480 FC80 @@ -42393,7 +82186,7 @@ ENCODING 13601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 FE80 ABE0 @@ -42411,7 +82204,7 @@ ENCODING 13602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 9440 63E0 @@ -42429,7 +82222,7 @@ ENCODING 13603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5480 7DE0 @@ -42447,7 +82240,7 @@ ENCODING 13604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 8280 @@ -42465,7 +82258,7 @@ ENCODING 13605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FE80 @@ -42483,7 +82276,7 @@ ENCODING 13606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FC80 2080 @@ -42501,7 +82294,7 @@ ENCODING 13607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C80 2080 FE80 @@ -42519,7 +82312,7 @@ ENCODING 13608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8A20 3BA0 @@ -42537,7 +82330,7 @@ ENCODING 13609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4420 @@ -42555,7 +82348,7 @@ ENCODING 13610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4820 @@ -42573,7 +82366,7 @@ ENCODING 13611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 FFE0 @@ -42591,7 +82384,7 @@ ENCODING 13612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 7E00 4020 @@ -42609,7 +82402,7 @@ ENCODING 13613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 8440 87C0 @@ -42627,7 +82420,7 @@ ENCODING 13614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FA60 5540 @@ -42645,7 +82438,7 @@ ENCODING 13615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8000 9F80 @@ -42663,7 +82456,7 @@ ENCODING 13616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 9100 @@ -42681,7 +82474,7 @@ ENCODING 13617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8A00 B2C0 @@ -42699,7 +82492,7 @@ ENCODING 13618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 A900 @@ -42717,7 +82510,7 @@ ENCODING 13619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9000 AB80 @@ -42735,7 +82528,7 @@ ENCODING 13620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A480 BF80 @@ -42753,7 +82546,7 @@ ENCODING 13621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A540 BDC0 @@ -42771,7 +82564,7 @@ ENCODING 13622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 FDC0 @@ -42789,7 +82582,7 @@ ENCODING 13623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8000 BFC0 @@ -42807,7 +82600,7 @@ ENCODING 13624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8040 BF80 @@ -42825,7 +82618,7 @@ ENCODING 13625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -42843,7 +82636,7 @@ ENCODING 13626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -42861,7 +82654,7 @@ ENCODING 13627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0200 0400 @@ -42879,7 +82672,7 @@ ENCODING 13628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 F7E0 2C80 @@ -42897,7 +82690,7 @@ ENCODING 13629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0F80 0800 @@ -42914,26 +82707,26 @@ STARTCHAR U_353E ENCODING 13630 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7F80 -4080 -4080 -4080 -4080 -4280 -4100 -4000 -4020 -4020 -3FE0 +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 +BITMAP FFE0 2080 2080 @@ -42950,26 +82743,26 @@ STARTCHAR U_3540 ENCODING 13632 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 -4440 -7FC0 -4440 -7FC0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +8880 +FF80 +8880 +FF80 0000 -7F80 -4080 -4120 -3FE0 +FF00 +8100 +8240 +7FC0 ENDCHAR STARTCHAR U_3541 ENCODING 13633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 85E0 4920 3120 @@ -42987,7 +82780,7 @@ ENCODING 13634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4500 @@ -43005,7 +82798,7 @@ ENCODING 13635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FE0 @@ -43023,7 +82816,7 @@ ENCODING 13636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FE0 @@ -43041,7 +82834,7 @@ ENCODING 13637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FC0 @@ -43059,7 +82852,7 @@ ENCODING 13638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4200 @@ -43077,7 +82870,7 @@ ENCODING 13639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4400 4200 @@ -43095,7 +82888,7 @@ ENCODING 13640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4400 4200 @@ -43113,7 +82906,7 @@ ENCODING 13641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4500 @@ -43131,7 +82924,7 @@ ENCODING 13642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4240 7FE0 @@ -43149,7 +82942,7 @@ ENCODING 13643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4500 @@ -43167,7 +82960,7 @@ ENCODING 13644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FC0 @@ -43184,8 +82977,8 @@ STARTCHAR U_354D ENCODING 13645 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 4000 4A00 @@ -43203,7 +82996,7 @@ ENCODING 13646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4F80 @@ -43221,7 +83014,7 @@ ENCODING 13647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5C40 @@ -43239,7 +83032,7 @@ ENCODING 13648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4400 59C0 @@ -43257,7 +83050,7 @@ ENCODING 13649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 4840 @@ -43275,7 +83068,7 @@ ENCODING 13650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 5FC0 @@ -43293,7 +83086,7 @@ ENCODING 13651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5240 5540 @@ -43311,7 +83104,7 @@ ENCODING 13652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54C0 5FE0 @@ -43328,26 +83121,26 @@ STARTCHAR U_3555 ENCODING 13653 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0800 -1100 -2080 -7FC0 -0420 +BBX 10 11 1 -1 +BITMAP 0800 -1100 -2080 -7FC0 -0020 +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 +BITMAP 0800 1200 3F00 @@ -43365,7 +83158,7 @@ ENCODING 13655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 FE00 1080 @@ -43383,7 +83176,7 @@ ENCODING 13656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3F80 2080 @@ -43401,7 +83194,7 @@ ENCODING 13657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 51C0 FA40 @@ -43418,9 +83211,8 @@ STARTCHAR U_355A ENCODING 13658 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 2840 2480 @@ -43437,7 +83229,7 @@ ENCODING 13659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0080 3100 @@ -43454,26 +83246,26 @@ STARTCHAR U_355C ENCODING 13660 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 -4440 -4440 -7FC0 -0400 -7FC0 -2080 -1100 -0E00 -71C0 +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 +BITMAP 0400 FFE0 0400 @@ -43491,7 +83283,7 @@ ENCODING 13662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E00 42E0 7EA0 @@ -43509,7 +83301,7 @@ ENCODING 13663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1E00 11E0 @@ -43527,7 +83319,7 @@ ENCODING 13664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 4FE0 3900 @@ -43545,7 +83337,7 @@ ENCODING 13665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3800 23E0 FD20 @@ -43563,7 +83355,7 @@ ENCODING 13666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 2020 FD20 @@ -43581,7 +83373,7 @@ ENCODING 13667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0900 0900 @@ -43599,7 +83391,7 @@ ENCODING 13668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 F200 @@ -43617,7 +83409,7 @@ ENCODING 13669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F100 @@ -43635,7 +83427,7 @@ ENCODING 13670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -43653,7 +83445,7 @@ ENCODING 13671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 9420 @@ -43671,7 +83463,7 @@ ENCODING 13672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0480 F480 @@ -43689,7 +83481,7 @@ ENCODING 13673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FFE0 @@ -43707,7 +83499,7 @@ ENCODING 13674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 EFE0 @@ -43725,7 +83517,7 @@ ENCODING 13675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 F400 @@ -43743,7 +83535,7 @@ ENCODING 13676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 0280 F240 @@ -43761,7 +83553,7 @@ ENCODING 13677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0300 ED00 @@ -43779,7 +83571,7 @@ ENCODING 13678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0440 E820 @@ -43796,26 +83588,26 @@ STARTCHAR U_356F ENCODING 13679 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 1 -1 +BITMAP +1000 0800 -0400 -7FC0 -4A40 -5140 -7FC0 -5140 -5140 -5F40 -4140 -40C0 +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 +BITMAP 01C0 1E00 E200 @@ -43833,7 +83625,7 @@ ENCODING 13681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F240 9FE0 @@ -43851,7 +83643,7 @@ ENCODING 13682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F100 @@ -43869,7 +83661,7 @@ ENCODING 13683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 08A0 EAA0 @@ -43887,7 +83679,7 @@ ENCODING 13684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1020 E780 @@ -43905,7 +83697,7 @@ ENCODING 13685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0100 F100 @@ -43923,7 +83715,7 @@ ENCODING 13686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E200 A200 @@ -43941,7 +83733,7 @@ ENCODING 13687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0200 F7E0 @@ -43959,7 +83751,7 @@ ENCODING 13688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 E000 @@ -43977,7 +83769,7 @@ ENCODING 13689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F240 9FE0 @@ -43995,7 +83787,7 @@ ENCODING 13690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -44013,7 +83805,7 @@ ENCODING 13691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -44031,7 +83823,7 @@ ENCODING 13692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7E0 A820 @@ -44049,7 +83841,7 @@ ENCODING 13693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 0840 EC40 @@ -44067,7 +83859,7 @@ ENCODING 13694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1500 2480 @@ -44085,7 +83877,7 @@ ENCODING 13695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0400 @@ -44103,7 +83895,7 @@ ENCODING 13696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 07C0 F140 @@ -44121,7 +83913,7 @@ ENCODING 13697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0640 0180 E240 @@ -44139,7 +83931,7 @@ ENCODING 13698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A920 @@ -44157,7 +83949,7 @@ ENCODING 13699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A800 @@ -44175,7 +83967,7 @@ ENCODING 13700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 E920 A920 @@ -44193,7 +83985,7 @@ ENCODING 13701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 0080 EFE0 @@ -44211,7 +84003,7 @@ ENCODING 13702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0280 EFE0 @@ -44229,7 +84021,7 @@ ENCODING 13703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0200 E400 @@ -44247,7 +84039,7 @@ ENCODING 13704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 3E80 0500 @@ -44265,7 +84057,7 @@ ENCODING 13705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 A280 @@ -44283,7 +84075,7 @@ ENCODING 13706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E040 A7C0 @@ -44301,7 +84093,7 @@ ENCODING 13707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3180 @@ -44319,7 +84111,7 @@ ENCODING 13708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2200 6F80 @@ -44337,7 +84129,7 @@ ENCODING 13709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 4900 21E0 @@ -44355,7 +84147,7 @@ ENCODING 13710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4B80 4A20 @@ -44373,7 +84165,7 @@ ENCODING 13711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0440 F7C0 @@ -44391,7 +84183,7 @@ ENCODING 13712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -44409,7 +84201,7 @@ ENCODING 13713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 00A0 EFE0 @@ -44427,7 +84219,7 @@ ENCODING 13714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0280 EFE0 @@ -44445,7 +84237,7 @@ ENCODING 13715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 0680 E900 @@ -44463,7 +84255,7 @@ ENCODING 13716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E200 AFC0 @@ -44481,7 +84273,7 @@ ENCODING 13717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -44499,7 +84291,7 @@ ENCODING 13718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -44517,7 +84309,7 @@ ENCODING 13719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E920 AFE0 @@ -44535,7 +84327,7 @@ ENCODING 13720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0800 EFC0 @@ -44552,8 +84344,8 @@ STARTCHAR U_3599 ENCODING 13721 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 1000 7DE0 1520 @@ -44564,14 +84356,13 @@ BITMAP 4A80 4B20 7BE0 -0000 ENDCHAR STARTCHAR U_359A ENCODING 13722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 27E0 6480 @@ -44588,44 +84379,44 @@ STARTCHAR U_359B ENCODING 13723 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 +BBX 10 11 1 -1 +BITMAP 0800 -3F80 -2080 -3F80 +FF80 +1000 +7F00 +4100 +7F00 0000 -7A40 -4B80 -4A20 -7BE0 +F480 +9700 +9440 +F7C0 ENDCHAR STARTCHAR U_359C ENCODING 13724 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 0000 -3F80 -2080 -3F80 +7F00 +4100 +7F00 0000 -7A40 -4B80 -4A20 -7BE0 +F480 +9700 +9440 +F7C0 ENDCHAR STARTCHAR U_359D ENCODING 13725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0400 @@ -44642,26 +84433,26 @@ STARTCHAR U_359E ENCODING 13726 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -03C0 -0240 -7240 -53C0 -5100 -57E0 -5520 -75A0 -4660 -0420 -0460 +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 +BITMAP 0080 0300 EC20 @@ -44679,7 +84470,7 @@ ENCODING 13728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -44697,7 +84488,7 @@ ENCODING 13729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 E480 @@ -44715,7 +84506,7 @@ ENCODING 13730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AA80 @@ -44733,7 +84524,7 @@ ENCODING 13731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E100 AFE0 @@ -44749,10 +84540,9 @@ ENDCHAR STARTCHAR U_35A4 ENCODING 13732 SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +DWIDTH 12 0 +BBX 11 10 0 -1 +BITMAP 07C0 E080 A920 @@ -44768,9 +84558,8 @@ STARTCHAR U_35A5 ENCODING 13733 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 0FE0 E8A0 AF20 @@ -44787,7 +84576,7 @@ ENCODING 13734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -44805,7 +84594,7 @@ ENCODING 13735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 0900 EFE0 @@ -44823,7 +84612,7 @@ ENCODING 13736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E040 A7C0 @@ -44841,7 +84630,7 @@ ENCODING 13737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 EAE0 AAA0 @@ -44859,7 +84648,7 @@ ENCODING 13738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 E0A0 BFE0 @@ -44877,7 +84666,7 @@ ENCODING 13739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 07C0 E100 @@ -44895,7 +84684,7 @@ ENCODING 13740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E820 AEE0 @@ -44912,9 +84701,8 @@ STARTCHAR U_35AD ENCODING 13741 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 0FC0 E200 A200 @@ -44931,7 +84719,7 @@ ENCODING 13742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0300 E480 @@ -44948,44 +84736,44 @@ STARTCHAR U_35AF ENCODING 13743 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4040 -7FC0 -5140 -5F40 -40C0 -0200 -7AC0 -4B00 -4A40 -7BC0 +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 11 11 0 -1 -BITMAP -7D20 -4540 -4580 -7D20 -45E0 +BBX 10 11 1 -1 +BITMAP +FA40 +8A80 +8B00 +FA40 +8BC0 0000 -7FE0 -4020 -5FA0 -4920 -4F60 +FFC0 +8040 +BF40 +9240 +9EC0 ENDCHAR STARTCHAR U_35B1 ENCODING 13745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1200 @@ -45003,7 +84791,7 @@ ENCODING 13746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 4920 @@ -45021,7 +84809,7 @@ ENCODING 13747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 8240 @@ -45039,7 +84827,7 @@ ENCODING 13748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -45057,7 +84845,7 @@ ENCODING 13749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -45075,7 +84863,7 @@ ENCODING 13750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0280 EFE0 @@ -45093,7 +84881,7 @@ ENCODING 13751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -45111,7 +84899,7 @@ ENCODING 13752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 E100 AFE0 @@ -45129,7 +84917,7 @@ ENCODING 13753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E880 B040 @@ -45147,7 +84935,7 @@ ENCODING 13754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -45165,7 +84953,7 @@ ENCODING 13755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E480 BFE0 @@ -45183,7 +84971,7 @@ ENCODING 13756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E440 @@ -45201,7 +84989,7 @@ ENCODING 13757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F100 97E0 @@ -45219,7 +85007,7 @@ ENCODING 13758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -45237,7 +85025,7 @@ ENCODING 13759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 EAA0 AAA0 @@ -45255,7 +85043,7 @@ ENCODING 13760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0920 EDA0 @@ -45273,7 +85061,7 @@ ENCODING 13761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -45291,7 +85079,7 @@ ENCODING 13762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0540 E5A0 @@ -45309,7 +85097,7 @@ ENCODING 13763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 0840 EFC0 @@ -45327,7 +85115,7 @@ ENCODING 13764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0AA0 EFE0 @@ -45345,7 +85133,7 @@ ENCODING 13765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 E4A0 AEA0 @@ -45363,7 +85151,7 @@ ENCODING 13766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E440 @@ -45381,7 +85169,7 @@ ENCODING 13767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EA20 AA20 @@ -45399,7 +85187,7 @@ ENCODING 13768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 0280 EFE0 @@ -45417,7 +85205,7 @@ ENCODING 13769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F8A0 20A0 @@ -45434,26 +85222,25 @@ STARTCHAR U_35CA ENCODING 13770 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7BC0 -4A40 -4A40 -7BC0 +BBX 9 10 1 -1 +BITMAP +F780 +9480 +9480 +F780 0000 -7BC0 -4A40 -4A40 -7BC0 -4A40 +F780 +9480 +9480 +F780 +9480 ENDCHAR STARTCHAR U_35CB ENCODING 13771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 E480 AFE0 @@ -45471,7 +85258,7 @@ ENCODING 13772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -45489,7 +85276,7 @@ ENCODING 13773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A100 @@ -45507,7 +85294,7 @@ ENCODING 13774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1EE0 EAA0 @@ -45525,7 +85312,7 @@ ENCODING 13775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 A300 @@ -45543,7 +85330,7 @@ ENCODING 13776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 AFE0 @@ -45561,7 +85348,7 @@ ENCODING 13777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1BE0 E880 @@ -45579,7 +85366,7 @@ ENCODING 13778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FE0 E000 @@ -45597,7 +85384,7 @@ ENCODING 13779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 0900 EBC0 @@ -45615,7 +85402,7 @@ ENCODING 13780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 F100 97E0 @@ -45633,7 +85420,7 @@ ENCODING 13781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A280 @@ -45651,7 +85438,7 @@ ENCODING 13782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0300 EC20 @@ -45669,7 +85456,7 @@ ENCODING 13783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 9540 @@ -45687,7 +85474,7 @@ ENCODING 13784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0120 EFE0 A540 @@ -45705,7 +85492,7 @@ ENCODING 13785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07E0 EAA0 @@ -45723,7 +85510,7 @@ ENCODING 13786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -45741,7 +85528,7 @@ ENCODING 13787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 07E0 EA40 @@ -45759,7 +85546,7 @@ ENCODING 13788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 E240 @@ -45777,7 +85564,7 @@ ENCODING 13789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0280 EFE0 @@ -45795,7 +85582,7 @@ ENCODING 13790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 3E40 11E0 @@ -45812,26 +85599,26 @@ STARTCHAR U_35DF ENCODING 13791 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4100 -2FE0 -0100 -67C0 -1100 -6FE0 -2240 -7A80 -4B00 -7A20 -4BE0 +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 +BITMAP 2080 F940 4BE0 @@ -45848,8 +85635,8 @@ STARTCHAR U_35E1 ENCODING 13793 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1100 FFC0 1200 @@ -45867,7 +85654,7 @@ ENCODING 13794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 0880 FE80 @@ -45885,7 +85672,7 @@ ENCODING 13795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 EFE0 A540 @@ -45903,7 +85690,7 @@ ENCODING 13796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7FE0 4900 @@ -45921,7 +85708,7 @@ ENCODING 13797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0EE0 E0A0 @@ -45939,7 +85726,7 @@ ENCODING 13798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 2AE0 EAA0 @@ -45957,7 +85744,7 @@ ENCODING 13799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AAA0 @@ -45975,7 +85762,7 @@ ENCODING 13800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A140 BE60 @@ -45993,7 +85780,7 @@ ENCODING 13801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E220 AAA0 @@ -46011,7 +85798,7 @@ ENCODING 13802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 EBC0 AA80 @@ -46029,7 +85816,7 @@ ENCODING 13803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 EEE0 AAA0 @@ -46047,7 +85834,7 @@ ENCODING 13804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 A0A0 @@ -46065,7 +85852,7 @@ ENCODING 13805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 EF00 A540 @@ -46083,7 +85870,7 @@ ENCODING 13806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 77E0 9500 @@ -46101,7 +85888,7 @@ ENCODING 13807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 7F80 0500 @@ -46119,7 +85906,7 @@ ENCODING 13808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 0940 F6A0 @@ -46137,7 +85924,7 @@ ENCODING 13809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0BE0 F900 @@ -46155,7 +85942,7 @@ ENCODING 13810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 07C0 E140 @@ -46173,7 +85960,7 @@ ENCODING 13811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0EE0 F540 @@ -46191,7 +85978,7 @@ ENCODING 13812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 0AA0 EEE0 @@ -46209,7 +85996,7 @@ ENCODING 13813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 1D00 EBE0 @@ -46227,7 +86014,7 @@ ENCODING 13814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EC0 0B60 E4C0 @@ -46245,7 +86032,7 @@ ENCODING 13815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0FE0 EAA0 @@ -46263,7 +86050,7 @@ ENCODING 13816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EAE0 B700 @@ -46281,7 +86068,7 @@ ENCODING 13817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 0BE0 F880 @@ -46299,7 +86086,7 @@ ENCODING 13818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E100 AFE0 @@ -46317,7 +86104,7 @@ ENCODING 13819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 0920 E1E0 @@ -46335,7 +86122,7 @@ ENCODING 13820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 06C0 EFE0 @@ -46353,7 +86140,7 @@ ENCODING 13821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 5EE0 F2A0 @@ -46371,7 +86158,7 @@ ENCODING 13822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15C0 FF40 B540 @@ -46389,7 +86176,7 @@ ENCODING 13823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 0AA0 EEE0 @@ -46407,7 +86194,7 @@ ENCODING 13824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0EE0 E820 @@ -46425,7 +86212,7 @@ ENCODING 13825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0AA0 EFE0 @@ -46443,7 +86230,7 @@ ENCODING 13826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E440 @@ -46461,7 +86248,7 @@ ENCODING 13827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E200 @@ -46479,7 +86266,7 @@ ENCODING 13828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 EAA0 BEA0 @@ -46497,7 +86284,7 @@ ENCODING 13829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 6AE0 1100 @@ -46515,7 +86302,7 @@ ENCODING 13830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 E100 @@ -46533,7 +86320,7 @@ ENCODING 13831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 1DC0 0880 @@ -46551,7 +86338,7 @@ ENCODING 13832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 EE40 A880 @@ -46569,7 +86356,7 @@ ENCODING 13833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 1EE0 E540 @@ -46587,7 +86374,7 @@ ENCODING 13834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 0200 FFE0 @@ -46605,7 +86392,7 @@ ENCODING 13835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0AA0 EFA0 @@ -46623,7 +86410,7 @@ ENCODING 13836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E20 0820 FF20 @@ -46641,7 +86428,7 @@ ENCODING 13837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0E60 F540 @@ -46659,7 +86446,7 @@ ENCODING 13838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 1020 EEA0 @@ -46677,7 +86464,7 @@ ENCODING 13839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP C480 1FE0 C400 @@ -46695,7 +86482,7 @@ ENCODING 13840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 0AE0 EFA0 @@ -46713,7 +86500,7 @@ ENCODING 13841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 1DE0 E8A0 @@ -46731,7 +86518,7 @@ ENCODING 13842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1860 E380 2080 @@ -46749,7 +86536,7 @@ ENCODING 13843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 0AA0 EEE0 @@ -46767,7 +86554,7 @@ ENCODING 13844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 0AA0 @@ -46785,7 +86572,7 @@ ENCODING 13845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E440 @@ -46803,7 +86590,7 @@ ENCODING 13846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1FE0 F280 @@ -46821,7 +86608,7 @@ ENCODING 13847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 0AA0 EEE0 @@ -46839,7 +86626,7 @@ ENCODING 13848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4E80 F1E0 @@ -46857,7 +86644,7 @@ ENCODING 13849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DC0 1540 FFE0 @@ -46875,7 +86662,7 @@ ENCODING 13850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3DE0 2520 FDE0 @@ -46893,7 +86680,7 @@ ENCODING 13851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 1860 EFC0 @@ -46911,7 +86698,7 @@ ENCODING 13852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 A540 FFE0 @@ -46929,7 +86716,7 @@ ENCODING 13853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 BF20 @@ -46947,7 +86734,7 @@ ENCODING 13854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 8420 @@ -46965,7 +86752,7 @@ ENCODING 13855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 8920 @@ -46983,7 +86770,7 @@ ENCODING 13856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8820 8520 @@ -47001,7 +86788,7 @@ ENCODING 13857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 BFA0 @@ -47019,7 +86806,7 @@ ENCODING 13858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 A4A0 @@ -47037,7 +86824,7 @@ ENCODING 13859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 9F20 @@ -47055,7 +86842,7 @@ ENCODING 13860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 D560 @@ -47073,7 +86860,7 @@ ENCODING 13861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 BDA0 EAA0 @@ -47091,7 +86878,7 @@ ENCODING 13862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2100 27E0 @@ -47109,7 +86896,7 @@ ENCODING 13863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 2280 @@ -47127,7 +86914,7 @@ ENCODING 13864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4100 4FE0 @@ -47145,7 +86932,7 @@ ENCODING 13865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 4880 4880 @@ -47163,7 +86950,7 @@ ENCODING 13866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -47181,7 +86968,7 @@ ENCODING 13867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2FE0 @@ -47199,7 +86986,7 @@ ENCODING 13868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4400 4FE0 @@ -47217,7 +87004,7 @@ ENCODING 13869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25E0 2420 @@ -47235,7 +87022,7 @@ ENCODING 13870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2440 @@ -47253,7 +87040,7 @@ ENCODING 13871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -47271,7 +87058,7 @@ ENCODING 13872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 2280 @@ -47289,7 +87076,7 @@ ENCODING 13873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -47307,7 +87094,7 @@ ENCODING 13874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 4840 @@ -47325,7 +87112,7 @@ ENCODING 13875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0A60 FB80 @@ -47343,7 +87130,7 @@ ENCODING 13876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7480 5480 @@ -47361,7 +87148,7 @@ ENCODING 13877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 5FE0 @@ -47379,7 +87166,7 @@ ENCODING 13878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3BE0 4880 @@ -47397,7 +87184,7 @@ ENCODING 13879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -47415,7 +87202,7 @@ ENCODING 13880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2200 7A40 @@ -47433,7 +87220,7 @@ ENCODING 13881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1120 5D40 @@ -47451,7 +87238,7 @@ ENCODING 13882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 4280 44E0 @@ -47469,7 +87256,7 @@ ENCODING 13883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2920 @@ -47487,7 +87274,7 @@ ENCODING 13884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27A0 F140 @@ -47505,7 +87292,7 @@ ENCODING 13885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7D20 1100 @@ -47523,7 +87310,7 @@ ENCODING 13886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -47541,7 +87328,7 @@ ENCODING 13887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -47559,7 +87346,7 @@ ENCODING 13888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 4AA0 @@ -47577,7 +87364,7 @@ ENCODING 13889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 47E0 4800 @@ -47595,7 +87382,7 @@ ENCODING 13890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 4440 4820 @@ -47613,7 +87400,7 @@ ENCODING 13891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 4700 4400 @@ -47631,7 +87418,7 @@ ENCODING 13892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 4EE0 4880 @@ -47648,26 +87435,26 @@ STARTCHAR U_3645 ENCODING 13893 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27C0 -2440 -2440 -77C0 -2100 -2FE0 -2100 -3540 -2520 -4920 -0100 +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 +BITMAP 0100 2FE0 2820 @@ -47685,17 +87472,17 @@ ENCODING 13895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -1FC0 -4200 -4400 -4A40 -E380 -4500 -4D80 -62C0 -C6A0 -1880 +BITMAP +27C0 +2100 +FB20 +24C0 +2380 +2B80 +34C0 +C1C0 +02A0 +0C80 0100 ENDCHAR STARTCHAR U_3648 @@ -47703,7 +87490,7 @@ ENCODING 13896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 41C0 4100 @@ -47721,7 +87508,7 @@ ENCODING 13897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 4500 5FC0 @@ -47739,7 +87526,7 @@ ENCODING 13898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 4400 4780 @@ -47757,7 +87544,7 @@ ENCODING 13899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 4480 4FC0 @@ -47775,7 +87562,7 @@ ENCODING 13900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 47C0 4140 @@ -47793,7 +87580,7 @@ ENCODING 13901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 4220 4B40 @@ -47811,7 +87598,7 @@ ENCODING 13902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 5FE0 F080 @@ -47829,7 +87616,7 @@ ENCODING 13903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 47E0 5800 @@ -47847,7 +87634,7 @@ ENCODING 13904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4920 4FE0 @@ -47865,7 +87652,7 @@ ENCODING 13905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 3F80 @@ -47883,7 +87670,7 @@ ENCODING 13906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A940 A880 @@ -47901,7 +87688,7 @@ ENCODING 13907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -47919,7 +87706,7 @@ ENCODING 13908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4780 4280 @@ -47937,7 +87724,7 @@ ENCODING 13909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 4920 4FE0 @@ -47955,7 +87742,7 @@ ENCODING 13910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 4E00 4200 @@ -47973,7 +87760,7 @@ ENCODING 13911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 4540 47C0 @@ -47991,7 +87778,7 @@ ENCODING 13912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 4280 4FE0 @@ -48009,7 +87796,7 @@ ENCODING 13913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8240 5FE0 0480 @@ -48027,7 +87814,7 @@ ENCODING 13914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 4FE0 4100 @@ -48045,7 +87832,7 @@ ENCODING 13915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 4FE0 4100 @@ -48062,8 +87849,8 @@ STARTCHAR U_365C ENCODING 13916 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 FF80 2200 @@ -48081,25 +87868,25 @@ ENCODING 13917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 -47C0 -4240 -EEC0 -4560 +4FC0 +4440 +FFE0 4AA0 -5760 -63C0 +57E0 +4440 +67C0 8440 -0740 -08C0 +07C0 +0440 ENDCHAR STARTCHAR U_365E ENCODING 13918 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0200 4F80 4880 @@ -48117,7 +87904,7 @@ ENCODING 13919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4EE0 4AA0 @@ -48135,7 +87922,7 @@ ENCODING 13920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A140 BA20 @@ -48153,7 +87940,7 @@ ENCODING 13921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 4940 F540 @@ -48170,26 +87957,25 @@ STARTCHAR U_3662 ENCODING 13922 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0280 -07C0 -2280 -7100 -2FE0 -3920 -4BA0 -0D60 -0960 -0100 -0000 +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 +BITMAP 5DE0 4500 45C0 @@ -48207,7 +87993,7 @@ ENCODING 13924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 4100 4FE0 @@ -48225,7 +88011,7 @@ ENCODING 13925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -48243,7 +88029,7 @@ ENCODING 13926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5180 FA80 @@ -48261,7 +88047,7 @@ ENCODING 13927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 2280 2EE0 @@ -48279,7 +88065,7 @@ ENCODING 13928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 4940 5DE0 @@ -48297,7 +88083,7 @@ ENCODING 13929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4AA0 @@ -48315,7 +88101,7 @@ ENCODING 13930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4100 @@ -48333,7 +88119,7 @@ ENCODING 13931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 5FE0 4900 @@ -48351,7 +88137,7 @@ ENCODING 13932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10A0 FFE0 5480 @@ -48369,7 +88155,7 @@ ENCODING 13933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 5540 52E0 @@ -48387,7 +88173,7 @@ ENCODING 13934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 4EE0 5540 @@ -48405,7 +88191,7 @@ ENCODING 13935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 23C0 @@ -48423,7 +88209,7 @@ ENCODING 13936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73E0 9120 FA60 @@ -48441,7 +88227,7 @@ ENCODING 13937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 5100 FFE0 @@ -48459,7 +88245,7 @@ ENCODING 13938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 5FE0 4480 @@ -48477,7 +88263,7 @@ ENCODING 13939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 5FE0 5080 @@ -48495,7 +88281,7 @@ ENCODING 13940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4480 EFE0 @@ -48513,7 +88299,7 @@ ENCODING 13941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 4280 @@ -48531,7 +88317,7 @@ ENCODING 13942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -48549,7 +88335,7 @@ ENCODING 13943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 EFE0 @@ -48567,7 +88353,7 @@ ENCODING 13944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 4B60 5940 @@ -48585,7 +88371,7 @@ ENCODING 13945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5CE0 4480 @@ -48603,7 +88389,7 @@ ENCODING 13946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 5100 57C0 @@ -48621,7 +88407,7 @@ ENCODING 13947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F540 @@ -48639,7 +88425,7 @@ ENCODING 13948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 4540 47C0 @@ -48657,7 +88443,7 @@ ENCODING 13949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4200 5FE0 @@ -48675,7 +88461,7 @@ ENCODING 13950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 06C0 4540 46C0 @@ -48693,7 +88479,7 @@ ENCODING 13951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 5FE0 4100 @@ -48711,7 +88497,7 @@ ENCODING 13952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0640 4460 5FE0 @@ -48729,7 +88515,7 @@ ENCODING 13953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 71C0 2080 @@ -48747,7 +88533,7 @@ ENCODING 13954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 4540 @@ -48765,7 +88551,7 @@ ENCODING 13955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -48783,7 +88569,7 @@ ENCODING 13956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -48801,7 +88587,7 @@ ENCODING 13957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 7100 0E00 @@ -48819,7 +88605,7 @@ ENCODING 13958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -48837,7 +88623,7 @@ ENCODING 13959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 4640 5940 @@ -48855,7 +88641,7 @@ ENCODING 13960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3C80 4480 @@ -48873,7 +88659,7 @@ ENCODING 13961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 10E0 2820 @@ -48891,7 +88677,7 @@ ENCODING 13962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 C880 @@ -48909,7 +88695,7 @@ ENCODING 13963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7920 9BA0 @@ -48927,7 +88713,7 @@ ENCODING 13964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F540 57C0 @@ -48945,7 +88731,7 @@ ENCODING 13965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 D540 @@ -48963,7 +88749,7 @@ ENCODING 13966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0840 FFE0 @@ -48981,7 +88767,7 @@ ENCODING 13967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1100 @@ -48999,7 +88785,7 @@ ENCODING 13968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -49017,7 +88803,7 @@ ENCODING 13969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -49035,7 +88821,7 @@ ENCODING 13970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -49053,7 +88839,7 @@ ENCODING 13971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -49071,7 +88857,7 @@ ENCODING 13972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -49089,7 +88875,7 @@ ENCODING 13973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -49107,7 +88893,7 @@ ENCODING 13974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 4040 @@ -49125,7 +88911,7 @@ ENCODING 13975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -49143,7 +88929,7 @@ ENCODING 13976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2080 @@ -49161,7 +88947,7 @@ ENCODING 13977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2A20 @@ -49179,7 +88965,7 @@ ENCODING 13978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -49197,7 +88983,7 @@ ENCODING 13979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -49215,7 +89001,7 @@ ENCODING 13980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -49233,7 +89019,7 @@ ENCODING 13981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -49251,7 +89037,7 @@ ENCODING 13982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -49269,7 +89055,7 @@ ENCODING 13983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2200 7F80 @@ -49287,7 +89073,7 @@ ENCODING 13984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -49305,7 +89091,7 @@ ENCODING 13985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 5140 @@ -49323,7 +89109,7 @@ ENCODING 13986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -49341,7 +89127,7 @@ ENCODING 13987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -49359,7 +89145,7 @@ ENCODING 13988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 2100 @@ -49377,7 +89163,7 @@ ENCODING 13989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2080 @@ -49395,7 +89181,7 @@ ENCODING 13990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2140 @@ -49413,7 +89199,7 @@ ENCODING 13991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 23E0 @@ -49431,7 +89217,7 @@ ENCODING 13992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2780 2280 @@ -49449,7 +89235,7 @@ ENCODING 13993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 2240 @@ -49467,7 +89253,7 @@ ENCODING 13994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2100 @@ -49485,7 +89271,7 @@ ENCODING 13995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FC0 2440 @@ -49503,7 +89289,7 @@ ENCODING 13996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -49521,7 +89307,7 @@ ENCODING 13997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 2100 @@ -49539,7 +89325,7 @@ ENCODING 13998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2420 @@ -49557,7 +89343,7 @@ ENCODING 13999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 24C0 @@ -49575,7 +89361,7 @@ ENCODING 14000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2100 @@ -49593,7 +89379,7 @@ ENCODING 14001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2300 2200 @@ -49611,7 +89397,7 @@ ENCODING 14002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -49629,7 +89415,7 @@ ENCODING 14003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2780 @@ -49647,7 +89433,7 @@ ENCODING 14004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 27E0 @@ -49665,7 +89451,7 @@ ENCODING 14005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 23E0 @@ -49683,7 +89469,7 @@ ENCODING 14006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -49701,7 +89487,7 @@ ENCODING 14007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2280 @@ -49719,7 +89505,7 @@ ENCODING 14008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2020 @@ -49737,7 +89523,7 @@ ENCODING 14009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2CE0 2AA0 @@ -49755,7 +89541,7 @@ ENCODING 14010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2780 2280 @@ -49772,26 +89558,26 @@ STARTCHAR U_36BB ENCODING 14011 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2480 -3F80 -2480 -3F80 -0400 -7FC0 -0900 -1E00 -0700 -78C0 +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 +BITMAP 2000 23E0 22A0 @@ -49809,7 +89595,7 @@ ENCODING 14013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 23E0 @@ -49827,7 +89613,7 @@ ENCODING 14014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2440 @@ -49845,7 +89631,7 @@ ENCODING 14015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -49863,7 +89649,7 @@ ENCODING 14016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 2120 @@ -49881,7 +89667,7 @@ ENCODING 14017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2100 @@ -49899,7 +89685,7 @@ ENCODING 14018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2400 @@ -49917,7 +89703,7 @@ ENCODING 14019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 10A0 @@ -49935,7 +89721,7 @@ ENCODING 14020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -49953,7 +89739,7 @@ ENCODING 14021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 2240 @@ -49971,7 +89757,7 @@ ENCODING 14022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 22E0 @@ -49989,7 +89775,7 @@ ENCODING 14023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -50007,7 +89793,7 @@ ENCODING 14024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2120 @@ -50025,7 +89811,7 @@ ENCODING 14025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 4280 @@ -50043,7 +89829,7 @@ ENCODING 14026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 2240 @@ -50061,7 +89847,7 @@ ENCODING 14027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2280 @@ -50079,7 +89865,7 @@ ENCODING 14028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 2240 @@ -50097,7 +89883,7 @@ ENCODING 14029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -50115,7 +89901,7 @@ ENCODING 14030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 2240 @@ -50133,7 +89919,7 @@ ENCODING 14031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 2FE0 @@ -50151,7 +89937,7 @@ ENCODING 14032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4100 47C0 @@ -50169,7 +89955,7 @@ ENCODING 14033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1DE0 5120 @@ -50187,7 +89973,7 @@ ENCODING 14034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4000 F000 @@ -50205,7 +89991,7 @@ ENCODING 14035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4660 4180 4660 @@ -50223,7 +90009,7 @@ ENCODING 14036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47C0 4C40 @@ -50241,7 +90027,7 @@ ENCODING 14037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 4440 @@ -50259,7 +90045,7 @@ ENCODING 14038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4240 47C0 @@ -50277,7 +90063,7 @@ ENCODING 14039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 4540 @@ -50295,7 +90081,7 @@ ENCODING 14040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 4100 @@ -50313,7 +90099,7 @@ ENCODING 14041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 4FE0 @@ -50331,7 +90117,7 @@ ENCODING 14042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4040 4380 @@ -50349,7 +90135,7 @@ ENCODING 14043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43C0 4240 @@ -50367,7 +90153,7 @@ ENCODING 14044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 43E0 D640 @@ -50385,7 +90171,7 @@ ENCODING 14045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 2240 @@ -50403,7 +90189,7 @@ ENCODING 14046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4100 47C0 @@ -50421,7 +90207,7 @@ ENCODING 14047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -50439,7 +90225,7 @@ ENCODING 14048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 45E0 E820 @@ -50457,7 +90243,7 @@ ENCODING 14049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 4FE0 @@ -50475,7 +90261,7 @@ ENCODING 14050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 27E0 @@ -50493,7 +90279,7 @@ ENCODING 14051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 47C0 @@ -50511,7 +90297,7 @@ ENCODING 14052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4000 FEE0 @@ -50529,7 +90315,7 @@ ENCODING 14053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4120 4FC0 @@ -50547,7 +90333,7 @@ ENCODING 14054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4480 4FE0 @@ -50565,7 +90351,7 @@ ENCODING 14055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 4540 @@ -50583,7 +90369,7 @@ ENCODING 14056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 47C0 @@ -50601,7 +90387,7 @@ ENCODING 14057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4240 @@ -50619,7 +90405,7 @@ ENCODING 14058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4280 @@ -50637,7 +90423,7 @@ ENCODING 14059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 47C0 @@ -50655,7 +90441,7 @@ ENCODING 14060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -50673,7 +90459,7 @@ ENCODING 14061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 47C0 @@ -50691,7 +90477,7 @@ ENCODING 14062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4920 @@ -50709,7 +90495,7 @@ ENCODING 14063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5E80 E4E0 @@ -50727,7 +90513,7 @@ ENCODING 14064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 47C0 @@ -50745,7 +90531,7 @@ ENCODING 14065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -50763,7 +90549,7 @@ ENCODING 14066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4100 47C0 @@ -50781,7 +90567,7 @@ ENCODING 14067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2080 @@ -50799,7 +90585,7 @@ ENCODING 14068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 4540 4280 @@ -50817,7 +90603,7 @@ ENCODING 14069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 4F80 4A20 @@ -50835,7 +90621,7 @@ ENCODING 14070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4120 47E0 @@ -50853,7 +90639,7 @@ ENCODING 14071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 1120 FFE0 @@ -50871,7 +90657,7 @@ ENCODING 14072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 47E0 @@ -50889,7 +90675,7 @@ ENCODING 14073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4BE0 4880 @@ -50907,7 +90693,7 @@ ENCODING 14074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -50925,7 +90711,7 @@ ENCODING 14075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 F280 @@ -50943,7 +90729,7 @@ ENCODING 14076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 4100 @@ -50961,7 +90747,7 @@ ENCODING 14077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F820 @@ -50979,7 +90765,7 @@ ENCODING 14078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 4080 4FE0 @@ -50997,7 +90783,7 @@ ENCODING 14079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 4540 4FE0 @@ -51015,7 +90801,7 @@ ENCODING 14080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 44E0 5FA0 @@ -51033,7 +90819,7 @@ ENCODING 14081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2380 @@ -51051,7 +90837,7 @@ ENCODING 14082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 73E0 2040 @@ -51069,7 +90855,7 @@ ENCODING 14083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 5480 FFE0 @@ -51087,7 +90873,7 @@ ENCODING 14084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 44C0 5740 @@ -51105,7 +90891,7 @@ ENCODING 14085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F100 @@ -51123,7 +90909,7 @@ ENCODING 14086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 51C0 EBE0 @@ -51141,7 +90927,7 @@ ENCODING 14087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 57C0 F100 @@ -51159,7 +90945,7 @@ ENCODING 14088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 1240 F9C0 @@ -51177,7 +90963,7 @@ ENCODING 14089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 4540 52A0 @@ -51195,7 +90981,7 @@ ENCODING 14090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 57E0 @@ -51213,7 +90999,7 @@ ENCODING 14091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 5FE0 @@ -51231,7 +91017,7 @@ ENCODING 14092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -51249,7 +91035,7 @@ ENCODING 14093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E900 @@ -51267,7 +91053,7 @@ ENCODING 14094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 5520 F2C0 @@ -51285,7 +91071,7 @@ ENCODING 14095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 5240 F7E0 @@ -51303,7 +91089,7 @@ ENCODING 14096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 57C0 @@ -51321,7 +91107,7 @@ ENCODING 14097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2FE0 8540 @@ -51339,7 +91125,7 @@ ENCODING 14098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42E0 4420 5660 @@ -51357,7 +91143,7 @@ ENCODING 14099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5EE0 F540 @@ -51375,7 +91161,7 @@ ENCODING 14100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 5280 @@ -51393,7 +91179,7 @@ ENCODING 14101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 47E0 F2A0 @@ -51411,7 +91197,7 @@ ENCODING 14102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 5FE0 4AA0 @@ -51429,7 +91215,7 @@ ENCODING 14103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 4AA0 @@ -51447,7 +91233,7 @@ ENCODING 14104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 EFE0 @@ -51465,7 +91251,7 @@ ENCODING 14105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 EA80 @@ -51483,7 +91269,7 @@ ENCODING 14106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E820 @@ -51501,7 +91287,7 @@ ENCODING 14107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 4440 @@ -51519,7 +91305,7 @@ ENCODING 14108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5EE0 E5A0 @@ -51537,7 +91323,7 @@ ENCODING 14109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 5D60 @@ -51555,7 +91341,7 @@ ENCODING 14110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 2200 @@ -51573,7 +91359,7 @@ ENCODING 14111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4D00 4500 FFE0 @@ -51591,7 +91377,7 @@ ENCODING 14112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4920 FFE0 @@ -51609,7 +91395,7 @@ ENCODING 14113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 4940 F6A0 @@ -51627,7 +91413,7 @@ ENCODING 14114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F540 @@ -51645,7 +91431,7 @@ ENCODING 14115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4EC0 F2A0 @@ -51663,7 +91449,7 @@ ENCODING 14116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 EFE0 @@ -51681,7 +91467,7 @@ ENCODING 14117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 FFE0 @@ -51699,7 +91485,7 @@ ENCODING 14118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4040 EFE0 @@ -51717,7 +91503,7 @@ ENCODING 14119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4D40 FA60 @@ -51735,7 +91521,7 @@ ENCODING 14120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 EFE0 @@ -51753,7 +91539,7 @@ ENCODING 14121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 EB60 @@ -51771,7 +91557,7 @@ ENCODING 14122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FD80 4900 @@ -51789,7 +91575,7 @@ ENCODING 14123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 5A80 EFE0 @@ -51807,7 +91593,7 @@ ENCODING 14124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4480 EFE0 @@ -51825,7 +91611,7 @@ ENCODING 14125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4540 FFE0 @@ -51843,7 +91629,7 @@ ENCODING 14126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 4A40 FFE0 @@ -51861,7 +91647,7 @@ ENCODING 14127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 EFA0 @@ -51879,7 +91665,7 @@ ENCODING 14128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 4BC0 FEE0 @@ -51897,7 +91683,7 @@ ENCODING 14129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4880 EFE0 @@ -51915,7 +91701,7 @@ ENCODING 14130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 5400 @@ -51933,7 +91719,7 @@ ENCODING 14131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 EAA0 @@ -51951,7 +91737,7 @@ ENCODING 14132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4EE0 E280 @@ -51969,7 +91755,7 @@ ENCODING 14133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 E480 @@ -51987,7 +91773,7 @@ ENCODING 14134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 45E0 EC20 @@ -52005,7 +91791,7 @@ ENCODING 14135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 2540 EFE0 @@ -52023,7 +91809,7 @@ ENCODING 14136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 4080 @@ -52041,7 +91827,7 @@ ENCODING 14137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 EEE0 @@ -52059,7 +91845,7 @@ ENCODING 14138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 5FE0 4440 @@ -52077,7 +91863,7 @@ ENCODING 14139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 53C0 ECA0 @@ -52095,7 +91881,7 @@ ENCODING 14140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 E7C0 @@ -52113,7 +91899,7 @@ ENCODING 14141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 4480 2240 @@ -52131,7 +91917,7 @@ ENCODING 14142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 1300 2480 @@ -52141,15 +91927,15 @@ F200 A480 2480 2480 -E480 -2880 +A480 +4880 ENDCHAR STARTCHAR U_373F ENCODING 14143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 2080 4300 @@ -52167,7 +91953,7 @@ ENCODING 14144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 6840 5880 @@ -52185,7 +91971,7 @@ ENCODING 14145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 5120 9F20 @@ -52203,7 +91989,7 @@ ENCODING 14146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F460 2580 5F00 @@ -52221,7 +92007,7 @@ ENCODING 14147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 23C0 2480 @@ -52239,7 +92025,7 @@ ENCODING 14148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 4BE0 @@ -52257,7 +92043,7 @@ ENCODING 14149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -52275,7 +92061,7 @@ ENCODING 14150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2100 @@ -52293,7 +92079,7 @@ ENCODING 14151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 0000 @@ -52311,7 +92097,7 @@ ENCODING 14152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5EA0 E1C0 @@ -52328,9 +92114,8 @@ STARTCHAR U_3749 ENCODING 14153 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 8 0 1 +BITMAP 0800 0400 FFE0 @@ -52339,15 +92124,13 @@ FFE0 0000 0000 7FC0 -0000 -0000 ENDCHAR STARTCHAR U_374A ENCODING 14154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8040 @@ -52365,7 +92148,7 @@ ENCODING 14155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FE0 4040 @@ -52383,7 +92166,7 @@ ENCODING 14156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -52401,7 +92184,7 @@ ENCODING 14157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9040 @@ -52419,7 +92202,7 @@ ENCODING 14158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4220 7FE0 @@ -52437,7 +92220,7 @@ ENCODING 14159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FE0 4040 @@ -52455,7 +92238,7 @@ ENCODING 14160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -52473,7 +92256,7 @@ ENCODING 14161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8820 @@ -52491,7 +92274,7 @@ ENCODING 14162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8020 @@ -52509,7 +92292,7 @@ ENCODING 14163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52526,8 +92309,8 @@ STARTCHAR U_3754 ENCODING 14164 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 0400 FFC0 @@ -52544,8 +92327,8 @@ STARTCHAR U_3755 ENCODING 14165 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 FFC0 9040 @@ -52563,7 +92346,7 @@ ENCODING 14166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -52581,7 +92364,7 @@ ENCODING 14167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -52599,7 +92382,7 @@ ENCODING 14168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52617,7 +92400,7 @@ ENCODING 14169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8040 @@ -52635,7 +92418,7 @@ ENCODING 14170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8040 @@ -52653,7 +92436,7 @@ ENCODING 14171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 9040 @@ -52671,7 +92454,7 @@ ENCODING 14172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 A140 @@ -52689,7 +92472,7 @@ ENCODING 14173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52707,7 +92490,7 @@ ENCODING 14174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52725,7 +92508,7 @@ ENCODING 14175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 BFA0 @@ -52743,7 +92526,7 @@ ENCODING 14176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52761,7 +92544,7 @@ ENCODING 14177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52779,7 +92562,7 @@ ENCODING 14178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 80A0 @@ -52797,25 +92580,25 @@ ENCODING 14179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A020 -77C0 +7BC0 2140 -7240 +FA40 24C0 0400 FFE0 -0A00 -71C0 +1100 +E0E0 ENDCHAR STARTCHAR U_3764 ENCODING 14180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5120 @@ -52833,7 +92616,7 @@ ENCODING 14181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 8020 @@ -52851,7 +92634,7 @@ ENCODING 14182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 9220 @@ -52869,7 +92652,7 @@ ENCODING 14183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -52887,7 +92670,7 @@ ENCODING 14184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -52905,7 +92688,7 @@ ENCODING 14185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -52923,7 +92706,7 @@ ENCODING 14186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -52941,7 +92724,7 @@ ENCODING 14187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -52959,7 +92742,7 @@ ENCODING 14188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 A5E0 @@ -52977,7 +92760,7 @@ ENCODING 14189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -52995,7 +92778,7 @@ ENCODING 14190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -53013,7 +92796,7 @@ ENCODING 14191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -53031,7 +92814,7 @@ ENCODING 14192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -53049,7 +92832,7 @@ ENCODING 14193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 82A0 @@ -53067,7 +92850,7 @@ ENCODING 14194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 82A0 @@ -53085,7 +92868,7 @@ ENCODING 14195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -53103,7 +92886,7 @@ ENCODING 14196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 7040 07E0 @@ -53121,7 +92904,7 @@ ENCODING 14197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 2880 @@ -53139,7 +92922,7 @@ ENCODING 14198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -53157,7 +92940,7 @@ ENCODING 14199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -53175,7 +92958,7 @@ ENCODING 14200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2580 D460 @@ -53193,7 +92976,7 @@ ENCODING 14201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 C740 @@ -53211,7 +92994,7 @@ ENCODING 14202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FC80 5080 @@ -53229,7 +93012,7 @@ ENCODING 14203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FC80 5080 @@ -53247,7 +93030,7 @@ ENCODING 14204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 43C0 F880 @@ -53265,7 +93048,7 @@ ENCODING 14205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 F880 @@ -53283,7 +93066,7 @@ ENCODING 14206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 FBE0 @@ -53301,7 +93084,7 @@ ENCODING 14207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 FD40 @@ -53319,7 +93102,7 @@ ENCODING 14208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 4FE0 @@ -53337,7 +93120,7 @@ ENCODING 14209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 47C0 @@ -53355,7 +93138,7 @@ ENCODING 14210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4640 FD40 @@ -53373,7 +93156,7 @@ ENCODING 14211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 4920 8500 @@ -53391,7 +93174,7 @@ ENCODING 14212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4540 @@ -53409,7 +93192,7 @@ ENCODING 14213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 FFC0 @@ -53427,7 +93210,7 @@ ENCODING 14214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 4280 @@ -53445,7 +93228,7 @@ ENCODING 14215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 FFC0 @@ -53463,7 +93246,7 @@ ENCODING 14216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 FC20 @@ -53481,7 +93264,7 @@ ENCODING 14217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 F900 @@ -53499,7 +93282,7 @@ ENCODING 14218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 F900 AFE0 @@ -53517,7 +93300,7 @@ ENCODING 14219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53535,7 +93318,7 @@ ENCODING 14220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53553,7 +93336,7 @@ ENCODING 14221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53571,7 +93354,7 @@ ENCODING 14222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53589,7 +93372,7 @@ ENCODING 14223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53607,7 +93390,7 @@ ENCODING 14224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53625,7 +93408,7 @@ ENCODING 14225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -53643,7 +93426,7 @@ ENCODING 14226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -53661,7 +93444,7 @@ ENCODING 14227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -53679,7 +93462,7 @@ ENCODING 14228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53697,7 +93480,7 @@ ENCODING 14229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53715,7 +93498,7 @@ ENCODING 14230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53733,7 +93516,7 @@ ENCODING 14231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53751,7 +93534,7 @@ ENCODING 14232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53769,7 +93552,7 @@ ENCODING 14233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53787,7 +93570,7 @@ ENCODING 14234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53805,7 +93588,7 @@ ENCODING 14235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53823,7 +93606,7 @@ ENCODING 14236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53841,7 +93624,7 @@ ENCODING 14237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7FE0 4D00 @@ -53859,7 +93642,7 @@ ENCODING 14238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53877,7 +93660,7 @@ ENCODING 14239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -53895,7 +93678,7 @@ ENCODING 14240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -53913,7 +93696,7 @@ ENCODING 14241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -53931,7 +93714,7 @@ ENCODING 14242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 4440 @@ -53949,7 +93732,7 @@ ENCODING 14243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -53967,7 +93750,7 @@ ENCODING 14244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -53985,7 +93768,7 @@ ENCODING 14245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54003,7 +93786,7 @@ ENCODING 14246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2280 2280 @@ -54021,7 +93804,7 @@ ENCODING 14247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54039,7 +93822,7 @@ ENCODING 14248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 2080 @@ -54057,7 +93840,7 @@ ENCODING 14249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54075,7 +93858,7 @@ ENCODING 14250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -54093,7 +93876,7 @@ ENCODING 14251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54111,7 +93894,7 @@ ENCODING 14252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54129,7 +93912,7 @@ ENCODING 14253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -54146,8 +93929,8 @@ STARTCHAR U_37AE ENCODING 14254 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 4440 4440 @@ -54165,7 +93948,7 @@ ENCODING 14255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 0040 FFC0 @@ -54183,7 +93966,7 @@ ENCODING 14256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 21E0 @@ -54201,7 +93984,7 @@ ENCODING 14257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 8420 8420 @@ -54219,7 +94002,7 @@ ENCODING 14258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2080 @@ -54237,7 +94020,7 @@ ENCODING 14259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 2280 @@ -54255,7 +94038,7 @@ ENCODING 14260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 AA80 @@ -54273,7 +94056,7 @@ ENCODING 14261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 8420 8420 @@ -54291,7 +94074,7 @@ ENCODING 14262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -54309,7 +94092,7 @@ ENCODING 14263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54327,7 +94110,7 @@ ENCODING 14264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54345,7 +94128,7 @@ ENCODING 14265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2040 2040 @@ -54363,7 +94146,7 @@ ENCODING 14266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -54381,7 +94164,7 @@ ENCODING 14267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -54399,7 +94182,7 @@ ENCODING 14268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0200 0420 @@ -54417,7 +94200,7 @@ ENCODING 14269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 2FE0 @@ -54435,7 +94218,7 @@ ENCODING 14270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 2220 @@ -54453,7 +94236,7 @@ ENCODING 14271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -54471,7 +94254,7 @@ ENCODING 14272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -54489,7 +94272,7 @@ ENCODING 14273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 2200 @@ -54507,7 +94290,7 @@ ENCODING 14274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 22C0 @@ -54525,7 +94308,7 @@ ENCODING 14275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2020 23A0 @@ -54543,7 +94326,7 @@ ENCODING 14276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -54561,7 +94344,7 @@ ENCODING 14277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 A920 @@ -54579,7 +94362,7 @@ ENCODING 14278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22A0 26C0 @@ -54597,7 +94380,7 @@ ENCODING 14279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 2540 @@ -54615,7 +94398,7 @@ ENCODING 14280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 A7E0 @@ -54633,7 +94416,7 @@ ENCODING 14281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 AA20 @@ -54651,7 +94434,7 @@ ENCODING 14282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 24A0 @@ -54669,7 +94452,7 @@ ENCODING 14283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 27C0 @@ -54687,7 +94470,7 @@ ENCODING 14284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 AA00 @@ -54705,7 +94488,7 @@ ENCODING 14285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 23E0 @@ -54723,7 +94506,7 @@ ENCODING 14286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2700 2920 @@ -54741,7 +94524,7 @@ ENCODING 14287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2240 @@ -54759,7 +94542,7 @@ ENCODING 14288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -54777,7 +94560,7 @@ ENCODING 14289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A100 @@ -54795,7 +94578,7 @@ ENCODING 14290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -54813,7 +94596,7 @@ ENCODING 14291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2180 A660 @@ -54831,7 +94614,7 @@ ENCODING 14292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -54849,7 +94632,7 @@ ENCODING 14293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -54867,7 +94650,7 @@ ENCODING 14294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -54885,7 +94668,7 @@ ENCODING 14295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2500 B5A0 @@ -54903,7 +94686,7 @@ ENCODING 14296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0820 2920 @@ -54921,7 +94704,7 @@ ENCODING 14297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -54939,7 +94722,7 @@ ENCODING 14298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -54957,7 +94740,7 @@ ENCODING 14299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 3F80 @@ -54974,26 +94757,26 @@ STARTCHAR U_37DC ENCODING 14300 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0800 +8880 +FF80 0400 -2480 -3F80 -0200 -F7E0 -1820 -F100 -8540 -F920 -1100 -6300 +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 +BITMAP 2080 27E0 2220 @@ -55011,7 +94794,7 @@ ENCODING 14302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 AA40 @@ -55029,7 +94812,7 @@ ENCODING 14303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1100 @@ -55047,7 +94830,7 @@ ENCODING 14304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 AC60 @@ -55065,7 +94848,7 @@ ENCODING 14305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 1500 @@ -55083,7 +94866,7 @@ ENCODING 14306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0400 @@ -55101,7 +94884,7 @@ ENCODING 14307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2540 2F40 @@ -55119,7 +94902,7 @@ ENCODING 14308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0100 @@ -55137,7 +94920,7 @@ ENCODING 14309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0A00 @@ -55155,7 +94938,7 @@ ENCODING 14310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0000 @@ -55173,7 +94956,7 @@ ENCODING 14311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -55191,7 +94974,7 @@ ENCODING 14312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 AFE0 @@ -55209,7 +94992,7 @@ ENCODING 14313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 8BE0 FA40 @@ -55227,7 +95010,7 @@ ENCODING 14314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 ABE0 @@ -55245,7 +95028,7 @@ ENCODING 14315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -55262,26 +95045,26 @@ STARTCHAR U_37EC ENCODING 14316 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -7FC0 +BBX 9 11 1 -1 +BITMAP +8880 +FF80 0000 -75C0 -4440 -75C0 -4440 -7FC0 -3180 -1E00 -73C0 +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 +BITMAP 03E0 0220 23E0 @@ -55299,7 +95082,7 @@ ENCODING 14318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 A7E0 @@ -55317,7 +95100,7 @@ ENCODING 14319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0400 @@ -55335,7 +95118,7 @@ ENCODING 14320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 A7C0 @@ -55353,7 +95136,7 @@ ENCODING 14321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 A7E0 @@ -55371,7 +95154,7 @@ ENCODING 14322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 ABE0 @@ -55389,7 +95172,7 @@ ENCODING 14323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -55407,7 +95190,7 @@ ENCODING 14324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 A520 @@ -55425,7 +95208,7 @@ ENCODING 14325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -55443,7 +95226,7 @@ ENCODING 14326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -55461,7 +95244,7 @@ ENCODING 14327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 A440 @@ -55479,7 +95262,7 @@ ENCODING 14328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 AC40 @@ -55497,7 +95280,7 @@ ENCODING 14329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E80 2B60 2AA0 @@ -55515,7 +95298,7 @@ ENCODING 14330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2480 @@ -55533,7 +95316,7 @@ ENCODING 14331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FD80 1100 @@ -55551,7 +95334,7 @@ ENCODING 14332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2100 @@ -55569,7 +95352,7 @@ ENCODING 14333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -55587,7 +95370,7 @@ ENCODING 14334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FC0 A940 @@ -55605,7 +95388,7 @@ ENCODING 14335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 A440 @@ -55623,7 +95406,7 @@ ENCODING 14336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -55641,7 +95424,7 @@ ENCODING 14337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 D780 @@ -55659,7 +95442,7 @@ ENCODING 14338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 A500 @@ -55677,7 +95460,7 @@ ENCODING 14339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A440 @@ -55695,7 +95478,7 @@ ENCODING 14340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -55713,7 +95496,7 @@ ENCODING 14341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2400 @@ -55731,7 +95514,7 @@ ENCODING 14342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 DEE0 @@ -55749,7 +95532,7 @@ ENCODING 14343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2000 @@ -55767,7 +95550,7 @@ ENCODING 14344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -55785,7 +95568,7 @@ ENCODING 14345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A440 @@ -55803,7 +95586,7 @@ ENCODING 14346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 AFE0 @@ -55821,7 +95604,7 @@ ENCODING 14347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1100 @@ -55839,7 +95622,7 @@ ENCODING 14348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 4900 @@ -55857,7 +95640,7 @@ ENCODING 14349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1200 @@ -55875,7 +95658,7 @@ ENCODING 14350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 2880 @@ -55893,7 +95676,7 @@ ENCODING 14351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 A440 @@ -55911,7 +95694,7 @@ ENCODING 14352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0180 @@ -55929,7 +95712,7 @@ ENCODING 14353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0000 @@ -55947,7 +95730,7 @@ ENCODING 14354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FA0 2520 2FA0 @@ -55965,7 +95748,7 @@ ENCODING 14355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2A40 @@ -55983,7 +95766,7 @@ ENCODING 14356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 3F80 @@ -56000,26 +95783,26 @@ STARTCHAR U_3815 ENCODING 14357 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -7FC0 -0200 -77C0 -5540 -57C0 -5540 -57C0 -72A0 -44C0 -48E0 +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 +BITMAP 4440 7FC0 1100 @@ -56037,7 +95820,7 @@ ENCODING 14359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2B60 @@ -56055,7 +95838,7 @@ ENCODING 14360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 4860 @@ -56073,7 +95856,7 @@ ENCODING 14361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2A40 @@ -56091,7 +95874,7 @@ ENCODING 14362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 3B40 2A40 @@ -56109,7 +95892,7 @@ ENCODING 14363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 2A80 @@ -56127,7 +95910,7 @@ ENCODING 14364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2C40 2880 @@ -56145,7 +95928,7 @@ ENCODING 14365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2A40 @@ -56163,7 +95946,7 @@ ENCODING 14366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 55E0 BFA0 @@ -56181,7 +95964,7 @@ ENCODING 14367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 22E0 2720 @@ -56199,7 +95982,7 @@ ENCODING 14368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 2100 2FE0 @@ -56217,7 +96000,7 @@ ENCODING 14369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2FE0 2280 @@ -56235,7 +96018,7 @@ ENCODING 14370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2480 @@ -56253,7 +96036,7 @@ ENCODING 14371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 2920 2A40 @@ -56271,7 +96054,7 @@ ENCODING 14372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2FE0 2AA0 @@ -56289,7 +96072,7 @@ ENCODING 14373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 2540 27C0 @@ -56307,7 +96090,7 @@ ENCODING 14374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 2FE0 2AA0 @@ -56325,7 +96108,7 @@ ENCODING 14375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA40 @@ -56343,7 +96126,7 @@ ENCODING 14376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 2EE0 2540 @@ -56361,7 +96144,7 @@ ENCODING 14377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4400 4A00 @@ -56379,7 +96162,7 @@ ENCODING 14378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 FFE0 0400 @@ -56397,7 +96180,7 @@ ENCODING 14379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2340 @@ -56415,7 +96198,7 @@ ENCODING 14380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2220 3A20 @@ -56433,7 +96216,7 @@ ENCODING 14381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 2080 @@ -56451,7 +96234,7 @@ ENCODING 14382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 29E0 FE80 @@ -56468,26 +96251,26 @@ STARTCHAR U_382F ENCODING 14383 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7F80 -0080 -4080 -7F80 -4000 -4000 -7FC0 -4040 -4040 -7FC0 -4000 +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 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 FBC0 2A40 @@ -56505,7 +96288,7 @@ ENCODING 14385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0080 3F80 @@ -56523,7 +96306,7 @@ ENCODING 14386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FA60 @@ -56541,7 +96324,7 @@ ENCODING 14387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0400 1B00 @@ -56559,7 +96342,7 @@ ENCODING 14388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -56577,7 +96360,7 @@ ENCODING 14389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -56595,7 +96378,7 @@ ENCODING 14390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 FB80 @@ -56613,7 +96396,7 @@ ENCODING 14391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FA80 @@ -56631,7 +96414,7 @@ ENCODING 14392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBC0 @@ -56649,7 +96432,7 @@ ENCODING 14393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -56667,7 +96450,7 @@ ENCODING 14394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F8C0 @@ -56685,7 +96468,7 @@ ENCODING 14395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 3FC0 0500 @@ -56703,7 +96486,7 @@ ENCODING 14396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2300 FA00 @@ -56721,7 +96504,7 @@ ENCODING 14397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC40 @@ -56739,7 +96522,7 @@ ENCODING 14398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3A40 4AC0 @@ -56757,7 +96540,7 @@ ENCODING 14399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5AC0 5300 @@ -56775,7 +96558,7 @@ ENCODING 14400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1480 1500 @@ -56793,7 +96576,7 @@ ENCODING 14401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F980 @@ -56811,7 +96594,7 @@ ENCODING 14402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 4120 7D20 @@ -56829,7 +96612,7 @@ ENCODING 14403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FAA0 @@ -56847,7 +96630,7 @@ ENCODING 14404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FFE0 @@ -56865,7 +96648,7 @@ ENCODING 14405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 21E0 FB20 @@ -56883,7 +96666,7 @@ ENCODING 14406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA00 @@ -56901,7 +96684,7 @@ ENCODING 14407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A80 FA80 @@ -56919,7 +96702,7 @@ ENCODING 14408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2240 FC80 @@ -56937,7 +96720,7 @@ ENCODING 14409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2240 FBE0 @@ -56955,7 +96738,7 @@ ENCODING 14410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21C0 FA40 @@ -56973,7 +96756,7 @@ ENCODING 14411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 F940 @@ -56991,7 +96774,7 @@ ENCODING 14412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 A7E0 @@ -57009,7 +96792,7 @@ ENCODING 14413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3F80 2680 @@ -57027,7 +96810,7 @@ ENCODING 14414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 F900 @@ -57045,7 +96828,7 @@ ENCODING 14415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -57063,7 +96846,7 @@ ENCODING 14416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -57081,7 +96864,7 @@ ENCODING 14417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3880 E4A0 22A0 @@ -57099,7 +96882,7 @@ ENCODING 14418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F880 @@ -57117,7 +96900,7 @@ ENCODING 14419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -57135,7 +96918,7 @@ ENCODING 14420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 11E0 FF20 @@ -57153,7 +96936,7 @@ ENCODING 14421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 A540 @@ -57171,7 +96954,7 @@ ENCODING 14422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2080 FFE0 @@ -57189,7 +96972,7 @@ ENCODING 14423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2F00 F9C0 @@ -57207,7 +96990,7 @@ ENCODING 14424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 FA80 @@ -57225,7 +97008,7 @@ ENCODING 14425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -57243,7 +97026,7 @@ ENCODING 14426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 F940 @@ -57261,7 +97044,7 @@ ENCODING 14427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -57279,7 +97062,7 @@ ENCODING 14428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2760 FDA0 @@ -57297,7 +97080,7 @@ ENCODING 14429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 25A0 FA40 @@ -57315,7 +97098,7 @@ ENCODING 14430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 FAA0 @@ -57333,7 +97116,7 @@ ENCODING 14431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -57351,7 +97134,7 @@ ENCODING 14432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 25A0 FAC0 @@ -57369,7 +97152,7 @@ ENCODING 14433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 FF20 @@ -57387,7 +97170,7 @@ ENCODING 14434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -57405,7 +97188,7 @@ ENCODING 14435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FD00 49E0 @@ -57423,7 +97206,7 @@ ENCODING 14436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 FFE0 @@ -57441,7 +97224,7 @@ ENCODING 14437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FBE0 @@ -57459,7 +97242,7 @@ ENCODING 14438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -57477,7 +97260,7 @@ ENCODING 14439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -57495,7 +97278,7 @@ ENCODING 14440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2560 FAC0 @@ -57513,7 +97296,7 @@ ENCODING 14441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 EEE0 4040 @@ -57531,7 +97314,7 @@ ENCODING 14442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FFE0 @@ -57549,7 +97332,7 @@ ENCODING 14443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 2440 27C0 @@ -57567,7 +97350,7 @@ ENCODING 14444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 54A0 E5C0 @@ -57585,7 +97368,7 @@ ENCODING 14445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 A940 B9C0 @@ -57603,7 +97386,7 @@ ENCODING 14446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 FEE0 5500 @@ -57621,7 +97404,7 @@ ENCODING 14447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4080 @@ -57639,7 +97422,7 @@ ENCODING 14448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57657,7 +97440,7 @@ ENCODING 14449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57675,7 +97458,7 @@ ENCODING 14450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4280 @@ -57693,7 +97476,7 @@ ENCODING 14451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57711,7 +97494,7 @@ ENCODING 14452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -57729,7 +97512,7 @@ ENCODING 14453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -57747,7 +97530,7 @@ ENCODING 14454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57765,7 +97548,7 @@ ENCODING 14455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57783,7 +97566,7 @@ ENCODING 14456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -57801,7 +97584,7 @@ ENCODING 14457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57819,7 +97602,7 @@ ENCODING 14458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -57837,7 +97620,7 @@ ENCODING 14459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -57855,7 +97638,7 @@ ENCODING 14460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -57873,7 +97656,7 @@ ENCODING 14461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -57891,7 +97674,7 @@ ENCODING 14462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -57909,7 +97692,7 @@ ENCODING 14463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5040 @@ -57927,7 +97710,7 @@ ENCODING 14464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -57945,7 +97728,7 @@ ENCODING 14465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2200 @@ -57963,7 +97746,7 @@ ENCODING 14466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2200 @@ -57981,7 +97764,7 @@ ENCODING 14467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2400 @@ -57999,7 +97782,7 @@ ENCODING 14468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -58017,7 +97800,7 @@ ENCODING 14469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -58035,7 +97818,7 @@ ENCODING 14470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5240 @@ -58053,7 +97836,7 @@ ENCODING 14471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2100 @@ -58071,7 +97854,7 @@ ENCODING 14472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4900 @@ -58089,7 +97872,7 @@ ENCODING 14473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -58107,7 +97890,7 @@ ENCODING 14474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2100 @@ -58125,7 +97908,7 @@ ENCODING 14475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2480 @@ -58143,7 +97926,7 @@ ENCODING 14476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -58161,7 +97944,7 @@ ENCODING 14477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -58179,7 +97962,7 @@ ENCODING 14478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -58197,7 +97980,7 @@ ENCODING 14479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -58215,7 +97998,7 @@ ENCODING 14480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -58233,7 +98016,7 @@ ENCODING 14481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -58251,7 +98034,7 @@ ENCODING 14482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4500 @@ -58269,7 +98052,7 @@ ENCODING 14483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -58287,7 +98070,7 @@ ENCODING 14484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4A40 @@ -58305,7 +98088,7 @@ ENCODING 14485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4940 @@ -58323,7 +98106,7 @@ ENCODING 14486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -58341,7 +98124,7 @@ ENCODING 14487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -58359,7 +98142,7 @@ ENCODING 14488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -58377,7 +98160,7 @@ ENCODING 14489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5480 @@ -58395,7 +98178,7 @@ ENCODING 14490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -58413,7 +98196,7 @@ ENCODING 14491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -58431,7 +98214,7 @@ ENCODING 14492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -58449,7 +98232,7 @@ ENCODING 14493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9C40 @@ -58467,7 +98250,7 @@ ENCODING 14494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 6940 @@ -58485,7 +98268,7 @@ ENCODING 14495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2100 @@ -58503,7 +98286,7 @@ ENCODING 14496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 2BA0 @@ -58521,7 +98304,7 @@ ENCODING 14497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 7AA0 09C0 @@ -58539,7 +98322,7 @@ ENCODING 14498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5500 FFE0 @@ -58557,7 +98340,7 @@ ENCODING 14499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EF00 29E0 7F40 @@ -58575,7 +98358,7 @@ ENCODING 14500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1140 7D20 @@ -58593,7 +98376,7 @@ ENCODING 14501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEC0 82A0 FE80 @@ -58611,7 +98394,7 @@ ENCODING 14502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 0920 E900 @@ -58628,26 +98411,26 @@ STARTCHAR U_38A7 ENCODING 14503 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 +BBX 10 11 1 -1 +BITMAP +7F80 +0080 +0080 +3F80 +2000 +4000 +7FC0 0040 +FE40 0040 -1FC0 -1000 -2000 -3FE0 -0020 -7F20 -0020 -03C0 +0780 ENDCHAR STARTCHAR U_38A8 ENCODING 14504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1100 1100 @@ -58665,7 +98448,7 @@ ENCODING 14505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 1200 13E0 @@ -58683,7 +98466,7 @@ ENCODING 14506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1000 1000 @@ -58701,7 +98484,7 @@ ENCODING 14507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 1080 1080 @@ -58719,7 +98502,7 @@ ENCODING 14508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 1FE0 @@ -58737,7 +98520,7 @@ ENCODING 14509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 11C0 @@ -58755,7 +98538,7 @@ ENCODING 14510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 1400 1FE0 @@ -58773,7 +98556,7 @@ ENCODING 14511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1420 1420 @@ -58791,7 +98574,7 @@ ENCODING 14512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 2FE0 @@ -58809,7 +98592,7 @@ ENCODING 14513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 1200 @@ -58827,7 +98610,7 @@ ENCODING 14514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 0840 7BC0 @@ -58845,7 +98628,7 @@ ENCODING 14515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 17E0 @@ -58862,26 +98645,26 @@ STARTCHAR U_38B4 ENCODING 14516 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0040 -3FC0 -4000 -7FE0 -2320 -3520 -2B20 -3520 -3F20 -00C0 +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 +BITMAP F100 1100 1280 @@ -58899,7 +98682,7 @@ ENCODING 14518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 1200 @@ -58917,7 +98700,7 @@ ENCODING 14519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 14A0 14A0 @@ -58935,7 +98718,7 @@ ENCODING 14520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D900 4900 D9E0 @@ -58953,7 +98736,7 @@ ENCODING 14521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 1440 @@ -58971,7 +98754,7 @@ ENCODING 14522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 F440 @@ -58989,7 +98772,7 @@ ENCODING 14523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 1700 7100 @@ -59007,7 +98790,7 @@ ENCODING 14524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F520 1340 @@ -59025,7 +98808,7 @@ ENCODING 14525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0E0 3F20 2A20 @@ -59043,7 +98826,7 @@ ENCODING 14526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2280 2FE0 @@ -59061,7 +98844,7 @@ ENCODING 14527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EB80 2880 2FE0 @@ -59079,7 +98862,7 @@ ENCODING 14528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 1100 @@ -59097,7 +98880,7 @@ ENCODING 14529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7C0 1280 @@ -59115,7 +98898,7 @@ ENCODING 14530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 27C0 E440 @@ -59133,7 +98916,7 @@ ENCODING 14531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 3F20 EAE0 @@ -59151,7 +98934,7 @@ ENCODING 14532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E9E0 25C0 E920 @@ -59169,7 +98952,7 @@ ENCODING 14533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 3540 3FE0 @@ -59187,7 +98970,7 @@ ENCODING 14534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2540 2FE0 @@ -59205,7 +98988,7 @@ ENCODING 14535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 1080 @@ -59223,7 +99006,7 @@ ENCODING 14536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39C0 4A40 FFE0 @@ -59241,7 +99024,7 @@ ENCODING 14537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 FC40 1080 @@ -59259,7 +99042,7 @@ ENCODING 14538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0F80 1900 @@ -59277,7 +99060,7 @@ ENCODING 14539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 FE40 4480 @@ -59295,7 +99078,7 @@ ENCODING 14540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2080 3900 @@ -59313,7 +99096,7 @@ ENCODING 14541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2040 4080 @@ -59331,7 +99114,7 @@ ENCODING 14542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 6080 3F80 @@ -59349,7 +99132,7 @@ ENCODING 14543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE40 2480 @@ -59367,7 +99150,7 @@ ENCODING 14544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FC80 8500 @@ -59385,7 +99168,7 @@ ENCODING 14545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE40 8880 @@ -59403,7 +99186,7 @@ ENCODING 14546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 FE20 D640 @@ -59421,7 +99204,7 @@ ENCODING 14547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3820 2740 7D80 @@ -59439,7 +99222,7 @@ ENCODING 14548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2FE0 4080 @@ -59457,7 +99240,7 @@ ENCODING 14549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 9200 @@ -59475,7 +99258,7 @@ ENCODING 14550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 C100 @@ -59493,7 +99276,7 @@ ENCODING 14551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 47E0 @@ -59511,7 +99294,7 @@ ENCODING 14552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 43E0 @@ -59529,7 +99312,7 @@ ENCODING 14553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -59547,7 +99330,7 @@ ENCODING 14554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4820 @@ -59565,7 +99348,7 @@ ENCODING 14555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4280 9440 @@ -59583,7 +99366,7 @@ ENCODING 14556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 5F20 8A20 @@ -59601,7 +99384,7 @@ ENCODING 14557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 4120 9FE0 @@ -59619,7 +99402,7 @@ ENCODING 14558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 4440 9A20 @@ -59637,7 +99420,7 @@ ENCODING 14559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 9FE0 @@ -59655,7 +99438,7 @@ ENCODING 14560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 43C0 9440 @@ -59673,7 +99456,7 @@ ENCODING 14561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4880 9880 @@ -59691,7 +99474,7 @@ ENCODING 14562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 47E0 @@ -59709,7 +99492,7 @@ ENCODING 14563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -59727,7 +99510,7 @@ ENCODING 14564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 4140 @@ -59745,7 +99528,7 @@ ENCODING 14565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4880 9FE0 @@ -59763,7 +99546,7 @@ ENCODING 14566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 4FE0 @@ -59781,7 +99564,7 @@ ENCODING 14567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 4A80 9C80 @@ -59799,7 +99582,7 @@ ENCODING 14568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 4840 8BE0 @@ -59817,7 +99600,7 @@ ENCODING 14569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4480 @@ -59835,7 +99618,7 @@ ENCODING 14570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 4E20 9540 @@ -59853,7 +99636,7 @@ ENCODING 14571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4100 9FE0 @@ -59871,7 +99654,7 @@ ENCODING 14572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 43C0 @@ -59889,7 +99672,7 @@ ENCODING 14573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 4920 8AA0 @@ -59907,7 +99690,7 @@ ENCODING 14574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 4FE0 @@ -59925,7 +99708,7 @@ ENCODING 14575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4840 9FC0 @@ -59943,7 +99726,7 @@ ENCODING 14576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2920 4540 @@ -59961,7 +99744,7 @@ ENCODING 14577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4100 @@ -59979,7 +99762,7 @@ ENCODING 14578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5680 @@ -59997,7 +99780,7 @@ ENCODING 14579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 4FC0 @@ -60015,7 +99798,7 @@ ENCODING 14580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 4480 @@ -60033,7 +99816,7 @@ ENCODING 14581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 33E0 4880 @@ -60051,7 +99834,7 @@ ENCODING 14582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4440 @@ -60069,7 +99852,7 @@ ENCODING 14583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4920 @@ -60087,7 +99870,7 @@ ENCODING 14584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2C40 2D40 5EC0 @@ -60105,7 +99888,7 @@ ENCODING 14585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5540 @@ -60122,8 +99905,8 @@ STARTCHAR U_38FA ENCODING 14586 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 1000 1000 @@ -60141,7 +99924,7 @@ ENCODING 14587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 1900 0600 @@ -60159,7 +99942,7 @@ ENCODING 14588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2220 2220 @@ -60177,7 +99960,7 @@ ENCODING 14589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0880 FFE0 @@ -60195,7 +99978,7 @@ ENCODING 14590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 A540 @@ -60213,7 +99996,7 @@ ENCODING 14591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 A3E0 @@ -60231,7 +100014,7 @@ ENCODING 14592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C00 4200 4500 @@ -60249,7 +100032,7 @@ ENCODING 14593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -60267,7 +100050,7 @@ ENCODING 14594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1100 13C0 @@ -60285,7 +100068,7 @@ ENCODING 14595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -60303,7 +100086,7 @@ ENCODING 14596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60321,7 +100104,7 @@ ENCODING 14597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 4400 @@ -60339,7 +100122,7 @@ ENCODING 14598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 A400 @@ -60357,7 +100140,7 @@ ENCODING 14599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 2100 @@ -60375,7 +100158,7 @@ ENCODING 14600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2100 A080 @@ -60393,7 +100176,7 @@ ENCODING 14601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 A080 @@ -60411,7 +100194,7 @@ ENCODING 14602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2240 A180 @@ -60429,7 +100212,7 @@ ENCODING 14603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 A280 @@ -60447,7 +100230,7 @@ ENCODING 14604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 A7E0 @@ -60465,7 +100248,7 @@ ENCODING 14605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F900 23E0 @@ -60483,7 +100266,7 @@ ENCODING 14606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 2520 @@ -60501,7 +100284,7 @@ ENCODING 14607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 A420 @@ -60519,7 +100302,7 @@ ENCODING 14608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 0400 @@ -60537,7 +100320,7 @@ ENCODING 14609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60555,7 +100338,7 @@ ENCODING 14610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60573,7 +100356,7 @@ ENCODING 14611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60591,7 +100374,7 @@ ENCODING 14612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 A240 @@ -60609,7 +100392,7 @@ ENCODING 14613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2920 @@ -60627,7 +100410,7 @@ ENCODING 14614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -60645,7 +100428,7 @@ ENCODING 14615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0400 @@ -60663,7 +100446,7 @@ ENCODING 14616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 B240 @@ -60681,7 +100464,7 @@ ENCODING 14617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7E40 @@ -60699,7 +100482,7 @@ ENCODING 14618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25C0 A800 @@ -60717,7 +100500,7 @@ ENCODING 14619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2240 B380 @@ -60735,7 +100518,7 @@ ENCODING 14620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 AFE0 @@ -60753,7 +100536,7 @@ ENCODING 14621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -60771,7 +100554,7 @@ ENCODING 14622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 BFE0 @@ -60789,7 +100572,7 @@ ENCODING 14623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0A00 7FC0 @@ -60807,7 +100590,7 @@ ENCODING 14624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 2020 3920 @@ -60825,7 +100608,7 @@ ENCODING 14625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F20 2420 A4A0 @@ -60843,7 +100626,7 @@ ENCODING 14626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60861,7 +100644,7 @@ ENCODING 14627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -60879,7 +100662,7 @@ ENCODING 14628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 BFE0 @@ -60897,7 +100680,7 @@ ENCODING 14629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -60915,7 +100698,7 @@ ENCODING 14630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -60933,7 +100716,7 @@ ENCODING 14631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2700 B400 @@ -60951,7 +100734,7 @@ ENCODING 14632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 B240 @@ -60969,7 +100752,7 @@ ENCODING 14633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 A080 1F00 @@ -60987,7 +100770,7 @@ ENCODING 14634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2000 7BC0 @@ -61005,7 +100788,7 @@ ENCODING 14635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1000 @@ -61023,7 +100806,7 @@ ENCODING 14636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B7C0 @@ -61041,7 +100824,7 @@ ENCODING 14637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 B100 @@ -61059,7 +100842,7 @@ ENCODING 14638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 3100 E100 @@ -61077,7 +100860,7 @@ ENCODING 14639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 BAA0 @@ -61095,7 +100878,7 @@ ENCODING 14640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 23E0 6600 @@ -61113,7 +100896,7 @@ ENCODING 14641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 B7C0 @@ -61131,7 +100914,7 @@ ENCODING 14642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -61149,7 +100932,7 @@ ENCODING 14643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2380 @@ -61167,7 +100950,7 @@ ENCODING 14644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 A500 @@ -61185,7 +100968,7 @@ ENCODING 14645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 11E0 2240 @@ -61203,7 +100986,7 @@ ENCODING 14646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 A220 @@ -61221,7 +101004,7 @@ ENCODING 14647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 B440 @@ -61239,7 +101022,7 @@ ENCODING 14648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B100 @@ -61257,7 +101040,7 @@ ENCODING 14649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 B100 @@ -61275,7 +101058,7 @@ ENCODING 14650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -61293,7 +101076,7 @@ ENCODING 14651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 C220 AAA0 @@ -61311,7 +101094,7 @@ ENCODING 14652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 AE80 @@ -61329,7 +101112,7 @@ ENCODING 14653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A100 @@ -61347,7 +101130,7 @@ ENCODING 14654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 A280 @@ -61365,7 +101148,7 @@ ENCODING 14655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A280 @@ -61383,7 +101166,7 @@ ENCODING 14656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -61401,7 +101184,7 @@ ENCODING 14657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0800 @@ -61419,7 +101202,7 @@ ENCODING 14658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -61437,7 +101220,7 @@ ENCODING 14659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -61455,7 +101238,7 @@ ENCODING 14660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -61473,7 +101256,7 @@ ENCODING 14661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 2540 @@ -61491,7 +101274,7 @@ ENCODING 14662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 3140 @@ -61509,7 +101292,7 @@ ENCODING 14663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -61527,7 +101310,7 @@ ENCODING 14664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F8E0 A880 @@ -61545,7 +101328,7 @@ ENCODING 14665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -61563,7 +101346,7 @@ ENCODING 14666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2AA0 @@ -61581,7 +101364,7 @@ ENCODING 14667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 C200 @@ -61599,7 +101382,7 @@ ENCODING 14668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2A20 @@ -61617,7 +101400,7 @@ ENCODING 14669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2440 2FE0 @@ -61635,7 +101418,7 @@ ENCODING 14670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 FD20 @@ -61653,7 +101436,7 @@ ENCODING 14671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2FE0 @@ -61671,7 +101454,7 @@ ENCODING 14672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 CE60 @@ -61689,7 +101472,7 @@ ENCODING 14673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 3F80 @@ -61707,7 +101490,7 @@ ENCODING 14674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2F20 2540 @@ -61725,7 +101508,7 @@ ENCODING 14675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -61743,7 +101526,7 @@ ENCODING 14676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -61761,7 +101544,7 @@ ENCODING 14677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 0A00 @@ -61779,7 +101562,7 @@ ENCODING 14678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4A40 6A20 @@ -61797,7 +101580,7 @@ ENCODING 14679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -61815,7 +101598,7 @@ ENCODING 14680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25E0 2EA0 @@ -61833,7 +101616,7 @@ ENCODING 14681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -61851,7 +101634,7 @@ ENCODING 14682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2960 2920 @@ -61869,7 +101652,7 @@ ENCODING 14683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 2700 @@ -61887,7 +101670,7 @@ ENCODING 14684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 27E0 @@ -61905,7 +101688,7 @@ ENCODING 14685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 22A0 22A0 @@ -61923,7 +101706,7 @@ ENCODING 14686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -61941,7 +101724,7 @@ ENCODING 14687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2440 2780 @@ -61959,7 +101742,7 @@ ENCODING 14688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 35C0 @@ -61977,7 +101760,7 @@ ENCODING 14689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 37E0 @@ -61995,7 +101778,7 @@ ENCODING 14690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 3280 @@ -62013,7 +101796,7 @@ ENCODING 14691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 2480 @@ -62031,7 +101814,7 @@ ENCODING 14692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2940 FEA0 @@ -62049,7 +101832,7 @@ ENCODING 14693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -62067,7 +101850,7 @@ ENCODING 14694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4400 7FC0 @@ -62085,7 +101868,7 @@ ENCODING 14695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 3FE0 @@ -62103,7 +101886,7 @@ ENCODING 14696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFC0 5100 @@ -62121,7 +101904,7 @@ ENCODING 14697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FA0 3240 @@ -62139,7 +101922,7 @@ ENCODING 14698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2380 2FE0 @@ -62157,7 +101940,7 @@ ENCODING 14699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2000 @@ -62175,7 +101958,7 @@ ENCODING 14700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -62193,7 +101976,7 @@ ENCODING 14701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 3100 @@ -62211,7 +101994,7 @@ ENCODING 14702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 2920 @@ -62229,7 +102012,7 @@ ENCODING 14703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 4880 2500 @@ -62247,7 +102030,7 @@ ENCODING 14704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2560 2920 2D60 @@ -62265,7 +102048,7 @@ ENCODING 14705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 2F60 @@ -62283,7 +102066,7 @@ ENCODING 14706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0800 @@ -62301,7 +102084,7 @@ ENCODING 14707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 2BC0 @@ -62319,7 +102102,7 @@ ENCODING 14708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 5D40 57E0 @@ -62337,7 +102120,7 @@ ENCODING 14709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -62355,7 +102138,7 @@ ENCODING 14710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -62373,7 +102156,7 @@ ENCODING 14711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 4200 @@ -62391,7 +102174,7 @@ ENCODING 14712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 9540 @@ -62409,7 +102192,7 @@ ENCODING 14713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 7240 2420 @@ -62427,7 +102210,7 @@ ENCODING 14714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -62445,7 +102228,7 @@ ENCODING 14715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7FE0 4100 @@ -62463,7 +102246,7 @@ ENCODING 14716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 25C0 @@ -62481,7 +102264,7 @@ ENCODING 14717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -62499,7 +102282,7 @@ ENCODING 14718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 2FE0 @@ -62517,7 +102300,7 @@ ENCODING 14719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23E0 @@ -62535,7 +102318,7 @@ ENCODING 14720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 57C0 4A80 @@ -62553,7 +102336,7 @@ ENCODING 14721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 7FE0 D240 @@ -62571,7 +102354,7 @@ ENCODING 14722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 A0A0 @@ -62589,7 +102372,7 @@ ENCODING 14723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 3140 @@ -62607,7 +102390,7 @@ ENCODING 14724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -62625,7 +102408,7 @@ ENCODING 14725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 3280 @@ -62643,7 +102426,7 @@ ENCODING 14726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 6200 @@ -62661,7 +102444,7 @@ ENCODING 14727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 3A80 @@ -62679,7 +102462,7 @@ ENCODING 14728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -62697,7 +102480,7 @@ ENCODING 14729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 3100 @@ -62715,7 +102498,7 @@ ENCODING 14730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 3440 @@ -62733,7 +102516,7 @@ ENCODING 14731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 3440 @@ -62751,7 +102534,7 @@ ENCODING 14732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFC0 @@ -62769,7 +102552,7 @@ ENCODING 14733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -62787,7 +102570,7 @@ ENCODING 14734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 3240 @@ -62805,7 +102588,7 @@ ENCODING 14735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 3EE0 @@ -62823,7 +102606,7 @@ ENCODING 14736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 2FE0 7080 @@ -62841,7 +102624,7 @@ ENCODING 14737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2280 22E0 @@ -62859,7 +102642,7 @@ ENCODING 14738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -62877,7 +102660,7 @@ ENCODING 14739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EA0 2BE0 @@ -62895,7 +102678,7 @@ ENCODING 14740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A8A0 FBE0 @@ -62913,7 +102696,7 @@ ENCODING 14741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2B20 AAC0 @@ -62931,7 +102714,7 @@ ENCODING 14742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -62949,7 +102732,7 @@ ENCODING 14743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -62967,7 +102750,7 @@ ENCODING 14744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F9E0 AB40 @@ -62985,7 +102768,7 @@ ENCODING 14745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -63003,7 +102786,7 @@ ENCODING 14746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 F1E0 A8A0 @@ -63021,7 +102804,7 @@ ENCODING 14747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 69C0 4E40 68C0 @@ -63039,7 +102822,7 @@ ENCODING 14748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2280 B480 @@ -63057,7 +102840,7 @@ ENCODING 14749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EBE0 5220 @@ -63075,7 +102858,7 @@ ENCODING 14750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -63093,7 +102876,7 @@ ENCODING 14751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 D540 37C0 @@ -63111,7 +102894,7 @@ ENCODING 14752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2520 2DA0 @@ -63129,7 +102912,7 @@ ENCODING 14753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 4BC0 46A0 @@ -63147,7 +102930,7 @@ ENCODING 14754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2FE0 3540 @@ -63165,7 +102948,7 @@ ENCODING 14755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 9F60 4900 @@ -63183,7 +102966,7 @@ ENCODING 14756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2540 @@ -63201,7 +102984,7 @@ ENCODING 14757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A920 @@ -63219,7 +103002,7 @@ ENCODING 14758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -63237,7 +103020,7 @@ ENCODING 14759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 2A40 @@ -63255,7 +103038,7 @@ ENCODING 14760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AAA0 @@ -63273,7 +103056,7 @@ ENCODING 14761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFC0 @@ -63291,7 +103074,7 @@ ENCODING 14762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 A440 @@ -63309,7 +103092,7 @@ ENCODING 14763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 2FE0 2280 @@ -63327,7 +103110,7 @@ ENCODING 14764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -63345,7 +103128,7 @@ ENCODING 14765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -63363,7 +103146,7 @@ ENCODING 14766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 7FC0 @@ -63381,7 +103164,7 @@ ENCODING 14767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 FFE0 @@ -63399,7 +103182,7 @@ ENCODING 14768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 2920 5500 @@ -63417,7 +103200,7 @@ ENCODING 14769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7120 0100 @@ -63435,7 +103218,7 @@ ENCODING 14770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1140 7D20 @@ -63453,7 +103236,7 @@ ENCODING 14771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7D20 1100 @@ -63471,7 +103254,7 @@ ENCODING 14772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 FFE0 @@ -63489,7 +103272,7 @@ ENCODING 14773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 5120 7D00 @@ -63507,7 +103290,7 @@ ENCODING 14774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 FFE0 @@ -63525,7 +103308,7 @@ ENCODING 14775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 1140 6120 @@ -63543,7 +103326,7 @@ ENCODING 14776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3940 2120 @@ -63561,7 +103344,7 @@ ENCODING 14777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4940 7920 @@ -63579,7 +103362,7 @@ ENCODING 14778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 8140 FD20 @@ -63597,7 +103380,7 @@ ENCODING 14779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2540 B520 @@ -63615,7 +103398,7 @@ ENCODING 14780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D40 1120 @@ -63633,7 +103416,7 @@ ENCODING 14781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F8A0 27E0 @@ -63651,7 +103434,7 @@ ENCODING 14782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 7FC0 @@ -63669,7 +103452,7 @@ ENCODING 14783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 7FC0 @@ -63687,7 +103470,7 @@ ENCODING 14784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -63705,7 +103488,7 @@ ENCODING 14785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -63723,7 +103506,7 @@ ENCODING 14786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FE0 @@ -63741,7 +103524,7 @@ ENCODING 14787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2420 2420 @@ -63759,7 +103542,7 @@ ENCODING 14788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2420 2420 @@ -63777,7 +103560,7 @@ ENCODING 14789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2120 @@ -63795,7 +103578,7 @@ ENCODING 14790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 EFE0 @@ -63813,7 +103596,7 @@ ENCODING 14791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 E820 @@ -63831,7 +103614,7 @@ ENCODING 14792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 F020 @@ -63849,7 +103632,7 @@ ENCODING 14793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FC0 E800 @@ -63867,7 +103650,7 @@ ENCODING 14794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 EFE0 @@ -63885,7 +103668,7 @@ ENCODING 14795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 4120 E100 @@ -63903,7 +103686,7 @@ ENCODING 14796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -63921,7 +103704,7 @@ ENCODING 14797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 EFE0 @@ -63939,7 +103722,7 @@ ENCODING 14798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 E080 @@ -63957,7 +103740,7 @@ ENCODING 14799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 E820 @@ -63975,7 +103758,7 @@ ENCODING 14800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4EE0 E2A0 @@ -63993,7 +103776,7 @@ ENCODING 14801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2500 F100 @@ -64011,7 +103794,7 @@ ENCODING 14802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -64029,7 +103812,7 @@ ENCODING 14803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 4F00 EA80 @@ -64047,7 +103830,7 @@ ENCODING 14804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 4120 EFE0 @@ -64065,7 +103848,7 @@ ENCODING 14805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 44E0 EAA0 @@ -64083,7 +103866,7 @@ ENCODING 14806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E820 @@ -64101,7 +103884,7 @@ ENCODING 14807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 E280 @@ -64119,7 +103902,7 @@ ENCODING 14808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5DE0 5100 @@ -64137,7 +103920,7 @@ ENCODING 14809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 40A0 E220 @@ -64155,7 +103938,7 @@ ENCODING 14810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 5FE0 E400 @@ -64173,7 +103956,7 @@ ENCODING 14811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 53E0 5480 @@ -64191,7 +103974,7 @@ ENCODING 14812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 F880 @@ -64209,7 +103992,7 @@ ENCODING 14813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7DE0 2520 @@ -64227,7 +104010,7 @@ ENCODING 14814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4E00 E200 @@ -64245,7 +104028,7 @@ ENCODING 14815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4500 E100 @@ -64263,7 +104046,7 @@ ENCODING 14816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 F440 @@ -64281,7 +104064,7 @@ ENCODING 14817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 EFE0 @@ -64299,7 +104082,7 @@ ENCODING 14818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 F920 @@ -64317,7 +104100,7 @@ ENCODING 14819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4900 EFE0 @@ -64335,7 +104118,7 @@ ENCODING 14820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -64353,7 +104136,7 @@ ENCODING 14821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -64371,7 +104154,7 @@ ENCODING 14822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 F7E0 @@ -64389,7 +104172,7 @@ ENCODING 14823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 EFE0 @@ -64407,7 +104190,7 @@ ENCODING 14824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4F00 E800 @@ -64425,7 +104208,7 @@ ENCODING 14825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5040 FFC0 @@ -64443,7 +104226,7 @@ ENCODING 14826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 E480 @@ -64461,7 +104244,7 @@ ENCODING 14827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F200 @@ -64479,7 +104262,7 @@ ENCODING 14828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 4440 4540 @@ -64497,7 +104280,7 @@ ENCODING 14829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 2120 2140 @@ -64515,7 +104298,7 @@ ENCODING 14830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2400 F8E0 @@ -64533,7 +104316,7 @@ ENCODING 14831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F120 @@ -64551,7 +104334,7 @@ ENCODING 14832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4F00 E800 @@ -64569,7 +104352,7 @@ ENCODING 14833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 5080 @@ -64587,7 +104370,7 @@ ENCODING 14834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 EFE0 @@ -64605,7 +104388,7 @@ ENCODING 14835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 EC60 47C0 @@ -64623,7 +104406,7 @@ ENCODING 14836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42C0 4CA0 E480 @@ -64641,7 +104424,7 @@ ENCODING 14837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 F100 @@ -64659,7 +104442,7 @@ ENCODING 14838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F440 @@ -64677,7 +104460,7 @@ ENCODING 14839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F100 @@ -64695,7 +104478,7 @@ ENCODING 14840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F000 @@ -64713,7 +104496,7 @@ ENCODING 14841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 EFC0 @@ -64731,7 +104514,7 @@ ENCODING 14842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5D20 E5C0 @@ -64749,7 +104532,7 @@ ENCODING 14843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F200 @@ -64767,7 +104550,7 @@ ENCODING 14844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -64785,7 +104568,7 @@ ENCODING 14845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F920 @@ -64803,7 +104586,7 @@ ENCODING 14846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 EAA0 @@ -64821,7 +104604,7 @@ ENCODING 14847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 EAA0 @@ -64839,7 +104622,7 @@ ENCODING 14848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2100 F7E0 @@ -64857,7 +104640,7 @@ ENCODING 14849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -64875,7 +104658,7 @@ ENCODING 14850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -64893,7 +104676,7 @@ ENCODING 14851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -64911,7 +104694,7 @@ ENCODING 14852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FBA0 @@ -64929,7 +104712,7 @@ ENCODING 14853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -64947,7 +104730,7 @@ ENCODING 14854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 EEE0 @@ -64964,26 +104747,26 @@ STARTCHAR U_3A07 ENCODING 14855 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27C0 -5540 -2680 -0500 -6A80 -1F00 -0400 -1F00 -7FC0 -0400 -0C00 +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 +BITMAP 2100 2FE0 F280 @@ -65001,7 +104784,7 @@ ENCODING 14857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 F7E0 @@ -65019,7 +104802,7 @@ ENCODING 14858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F200 @@ -65037,7 +104820,7 @@ ENCODING 14859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27E0 F140 @@ -65055,7 +104838,7 @@ ENCODING 14860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 F9C0 7140 @@ -65073,7 +104856,7 @@ ENCODING 14861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 77E0 2040 @@ -65091,7 +104874,7 @@ ENCODING 14862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -65109,7 +104892,7 @@ ENCODING 14863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 F7E0 @@ -65127,7 +104910,7 @@ ENCODING 14864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 4A20 EA20 @@ -65145,7 +104928,7 @@ ENCODING 14865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 4920 EAA0 @@ -65163,7 +104946,7 @@ ENCODING 14866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E440 @@ -65181,7 +104964,7 @@ ENCODING 14867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 EAA0 @@ -65199,7 +104982,7 @@ ENCODING 14868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 4080 EFE0 @@ -65217,7 +105000,7 @@ ENCODING 14869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 4840 E860 @@ -65235,7 +105018,7 @@ ENCODING 14870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 4900 E9E0 @@ -65253,7 +105036,7 @@ ENCODING 14871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 4100 E7C0 @@ -65271,7 +105054,7 @@ ENCODING 14872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 E540 @@ -65289,7 +105072,7 @@ ENCODING 14873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F300 @@ -65307,7 +105090,7 @@ ENCODING 14874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 F240 @@ -65325,7 +105108,7 @@ ENCODING 14875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 EEE0 @@ -65343,7 +105126,7 @@ ENCODING 14876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 EFE0 @@ -65361,7 +105144,7 @@ ENCODING 14877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 EFE0 @@ -65379,7 +105162,7 @@ ENCODING 14878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E7C0 @@ -65397,7 +105180,7 @@ ENCODING 14879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4920 EFE0 @@ -65415,7 +105198,7 @@ ENCODING 14880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 F7C0 @@ -65433,7 +105216,7 @@ ENCODING 14881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -65451,7 +105234,7 @@ ENCODING 14882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48A0 52C0 FF80 @@ -65469,7 +105252,7 @@ ENCODING 14883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2540 @@ -65487,7 +105270,7 @@ ENCODING 14884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4940 E9E0 @@ -65505,7 +105288,7 @@ ENCODING 14885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4880 EBE0 @@ -65523,7 +105306,7 @@ ENCODING 14886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4BE0 F880 @@ -65541,7 +105324,7 @@ ENCODING 14887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 F7E0 @@ -65559,7 +105342,7 @@ ENCODING 14888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4DE0 E8A0 @@ -65577,7 +105360,7 @@ ENCODING 14889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E800 @@ -65595,7 +105378,7 @@ ENCODING 14890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 E7C0 @@ -65613,7 +105396,7 @@ ENCODING 14891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 5500 F5E0 @@ -65631,7 +105414,7 @@ ENCODING 14892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -65649,7 +105432,7 @@ ENCODING 14893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E820 @@ -65667,7 +105450,7 @@ ENCODING 14894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4560 4BA0 EAA0 @@ -65685,7 +105468,7 @@ ENCODING 14895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 5FA0 EEA0 @@ -65703,7 +105486,7 @@ ENCODING 14896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -65721,7 +105504,7 @@ ENCODING 14897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47C0 E940 @@ -65739,7 +105522,7 @@ ENCODING 14898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -65757,7 +105540,7 @@ ENCODING 14899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -65775,7 +105558,7 @@ ENCODING 14900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 5E80 E9E0 @@ -65793,7 +105576,7 @@ ENCODING 14901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 EA00 @@ -65811,7 +105594,7 @@ ENCODING 14902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC40 @@ -65829,7 +105612,7 @@ ENCODING 14903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 F240 @@ -65847,7 +105630,7 @@ ENCODING 14904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 EA20 @@ -65865,7 +105648,7 @@ ENCODING 14905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4EE0 F440 @@ -65883,7 +105666,7 @@ ENCODING 14906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -65901,7 +105684,7 @@ ENCODING 14907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 AA00 @@ -65918,26 +105701,26 @@ STARTCHAR U_3A3C ENCODING 14908 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -03C0 -7E40 -5580 -7E60 -5540 -7DC0 -0F00 -0200 -7FE0 -0200 -0E00 +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 +BITMAP 5F20 4020 EE20 @@ -65955,7 +105738,7 @@ ENCODING 14910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4BA0 E7C0 @@ -65973,7 +105756,7 @@ ENCODING 14911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2080 F7E0 @@ -65991,7 +105774,7 @@ ENCODING 14912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 EFE0 @@ -66009,7 +105792,7 @@ ENCODING 14913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -66027,7 +105810,7 @@ ENCODING 14914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 4E40 52C0 @@ -66045,7 +105828,7 @@ ENCODING 14915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -66063,7 +105846,7 @@ ENCODING 14916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 27C0 F000 @@ -66081,7 +105864,7 @@ ENCODING 14917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2EE0 @@ -66099,7 +105882,7 @@ ENCODING 14918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 48A0 FE80 @@ -66117,7 +105900,7 @@ ENCODING 14919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F140 @@ -66135,7 +105918,7 @@ ENCODING 14920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -66153,7 +105936,7 @@ ENCODING 14921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F7C0 @@ -66171,7 +105954,7 @@ ENCODING 14922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2F80 F540 @@ -66189,7 +105972,7 @@ ENCODING 14923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F140 @@ -66207,7 +105990,7 @@ ENCODING 14924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 F2A0 @@ -66225,7 +106008,7 @@ ENCODING 14925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FA40 @@ -66243,7 +106026,7 @@ ENCODING 14926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EC0 2AA0 FE80 @@ -66261,7 +106044,7 @@ ENCODING 14927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -66279,7 +106062,7 @@ ENCODING 14928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EE0 F540 @@ -66297,7 +106080,7 @@ ENCODING 14929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -66315,7 +106098,7 @@ ENCODING 14930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -66333,7 +106116,7 @@ ENCODING 14931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BC0 8A40 DDE0 @@ -66351,7 +106134,7 @@ ENCODING 14932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5140 FF40 @@ -66369,7 +106152,7 @@ ENCODING 14933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -66387,7 +106170,7 @@ ENCODING 14934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F7C0 @@ -66405,7 +106188,7 @@ ENCODING 14935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 F480 @@ -66423,7 +106206,7 @@ ENCODING 14936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F100 @@ -66441,7 +106224,7 @@ ENCODING 14937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -66459,7 +106242,7 @@ ENCODING 14938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -66477,7 +106260,7 @@ ENCODING 14939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5120 FFE0 @@ -66495,7 +106278,7 @@ ENCODING 14940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 5480 FEE0 @@ -66513,7 +106296,7 @@ ENCODING 14941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -66531,7 +106314,7 @@ ENCODING 14942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 27E0 F240 @@ -66549,7 +106332,7 @@ ENCODING 14943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -66567,7 +106350,7 @@ ENCODING 14944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 FA80 @@ -66585,7 +106368,7 @@ ENCODING 14945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F200 @@ -66603,7 +106386,7 @@ ENCODING 14946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 F280 @@ -66621,7 +106404,7 @@ ENCODING 14947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2660 FAA0 @@ -66639,7 +106422,7 @@ ENCODING 14948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5E80 E480 @@ -66657,7 +106440,7 @@ ENCODING 14949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 4EA0 E480 @@ -66675,7 +106458,7 @@ ENCODING 14950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 47E0 E900 @@ -66693,7 +106476,7 @@ ENCODING 14951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 EFC0 @@ -66711,7 +106494,7 @@ ENCODING 14952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4EE0 E440 @@ -66729,7 +106512,7 @@ ENCODING 14953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 4E40 E8E0 @@ -66747,7 +106530,7 @@ ENCODING 14954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 4480 E9E0 @@ -66765,7 +106548,7 @@ ENCODING 14955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4660 4880 EFE0 @@ -66783,7 +106566,7 @@ ENCODING 14956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4640 4440 FFE0 @@ -66801,7 +106584,7 @@ ENCODING 14957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4D60 4AA0 ED60 @@ -66819,7 +106602,7 @@ ENCODING 14958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5B60 5220 FB60 @@ -66837,7 +106620,7 @@ ENCODING 14959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 51E0 FF40 @@ -66855,7 +106638,7 @@ ENCODING 14960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 F380 @@ -66873,7 +106656,7 @@ ENCODING 14961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 FFE0 @@ -66891,7 +106674,7 @@ ENCODING 14962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 F6C0 @@ -66909,7 +106692,7 @@ ENCODING 14963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 5FE0 EA80 @@ -66927,7 +106710,7 @@ ENCODING 14964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -66945,7 +106728,7 @@ ENCODING 14965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4740 4460 FF40 @@ -66963,7 +106746,7 @@ ENCODING 14966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4EE0 F540 @@ -66981,7 +106764,7 @@ ENCODING 14967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F4A0 @@ -66999,7 +106782,7 @@ ENCODING 14968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -67016,8 +106799,8 @@ STARTCHAR U_3A79 ENCODING 14969 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4F80 4A80 EF80 @@ -67035,7 +106818,7 @@ ENCODING 14970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 93E0 9080 @@ -67053,7 +106836,7 @@ ENCODING 14971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7080 A7E0 @@ -67071,7 +106854,7 @@ ENCODING 14972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 97E0 @@ -67089,7 +106872,7 @@ ENCODING 14973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23E0 @@ -67107,7 +106890,7 @@ ENCODING 14974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 E080 2080 @@ -67125,7 +106908,7 @@ ENCODING 14975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7A00 @@ -67143,7 +106926,7 @@ ENCODING 14976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 23E0 @@ -67161,7 +106944,7 @@ ENCODING 14977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 28E0 @@ -67179,7 +106962,7 @@ ENCODING 14978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 80E0 @@ -67197,7 +106980,7 @@ ENCODING 14979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 08E0 @@ -67215,7 +106998,7 @@ ENCODING 14980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FD00 55E0 @@ -67233,7 +107016,7 @@ ENCODING 14981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0200 7FE0 @@ -67251,7 +107034,7 @@ ENCODING 14982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F080 90E0 @@ -67269,7 +107052,7 @@ ENCODING 14983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 7DE0 @@ -67287,7 +107070,7 @@ ENCODING 14984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 70E0 @@ -67305,7 +107088,7 @@ ENCODING 14985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 53E0 @@ -67323,7 +107106,7 @@ ENCODING 14986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2880 FCE0 @@ -67341,7 +107124,7 @@ ENCODING 14987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8880 F8E0 @@ -67359,7 +107142,7 @@ ENCODING 14988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5080 20E0 @@ -67377,7 +107160,7 @@ ENCODING 14989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 21E0 @@ -67395,7 +107178,7 @@ ENCODING 14990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 11E0 @@ -67413,7 +107196,7 @@ ENCODING 14991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F880 A8E0 @@ -67431,7 +107214,7 @@ ENCODING 14992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 84E0 @@ -67449,7 +107232,7 @@ ENCODING 14993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 50E0 @@ -67467,7 +107250,7 @@ ENCODING 14994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 9C80 84E0 @@ -67485,7 +107268,7 @@ ENCODING 14995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 E080 20E0 @@ -67503,7 +107286,7 @@ ENCODING 14996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4880 FCE0 @@ -67521,7 +107304,7 @@ ENCODING 14997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3880 20E0 @@ -67539,7 +107322,7 @@ ENCODING 14998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 48E0 @@ -67557,7 +107340,7 @@ ENCODING 14999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FCE0 @@ -67575,7 +107358,7 @@ ENCODING 15000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 29E0 @@ -67593,7 +107376,7 @@ ENCODING 15001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A900 F9E0 @@ -67611,7 +107394,7 @@ ENCODING 15002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 51E0 @@ -67629,7 +107412,7 @@ ENCODING 15003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FC80 48E0 @@ -67647,7 +107430,7 @@ ENCODING 15004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 9280 92E0 @@ -67665,7 +107448,7 @@ ENCODING 15005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 10E0 @@ -67683,7 +107466,7 @@ ENCODING 15006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 8480 A4E0 @@ -67701,7 +107484,7 @@ ENCODING 15007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 01E0 @@ -67719,7 +107502,7 @@ ENCODING 15008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FC80 50E0 @@ -67737,7 +107520,7 @@ ENCODING 15009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 92E0 @@ -67755,7 +107538,7 @@ ENCODING 15010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 9280 D6E0 @@ -67773,7 +107556,7 @@ ENCODING 15011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 44E0 @@ -67791,7 +107574,7 @@ ENCODING 15012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 9280 FE80 @@ -67809,7 +107592,7 @@ ENCODING 15013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3880 20E0 @@ -67827,7 +107610,7 @@ ENCODING 15014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 85E0 @@ -67845,7 +107628,7 @@ ENCODING 15015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2880 7CE0 @@ -67863,7 +107646,7 @@ ENCODING 15016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3080 FEE0 @@ -67881,7 +107664,7 @@ ENCODING 15017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 28E0 @@ -67899,7 +107682,7 @@ ENCODING 15018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 2080 F8E0 @@ -67917,7 +107700,7 @@ ENCODING 15019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3880 2080 FCE0 @@ -67935,7 +107718,7 @@ ENCODING 15020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 B480 6CE0 @@ -67953,7 +107736,7 @@ ENCODING 15021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3880 2080 FCE0 @@ -67971,7 +107754,7 @@ ENCODING 15022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 1080 FCE0 @@ -67989,7 +107772,7 @@ ENCODING 15023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 7FC0 @@ -68007,7 +107790,7 @@ ENCODING 15024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -68025,7 +107808,7 @@ ENCODING 15025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 F480 @@ -68043,7 +107826,7 @@ ENCODING 15026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 1200 4200 @@ -68061,7 +107844,7 @@ ENCODING 15027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 1200 4A00 @@ -68079,7 +107862,7 @@ ENCODING 15028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7280 0180 @@ -68097,7 +107880,7 @@ ENCODING 15029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AA80 7180 @@ -68115,7 +107898,7 @@ ENCODING 15030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FA80 2180 @@ -68133,7 +107916,7 @@ ENCODING 15031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F840 0240 F940 @@ -68151,7 +107934,7 @@ ENCODING 15032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 FD40 48C0 @@ -68169,7 +107952,7 @@ ENCODING 15033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 7D40 D6C0 @@ -68187,7 +107970,7 @@ ENCODING 15034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FD40 20C0 @@ -68205,7 +107988,7 @@ ENCODING 15035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 8E80 6A60 @@ -68223,7 +108006,7 @@ ENCODING 15036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC60 0B80 0A00 @@ -68241,7 +108024,7 @@ ENCODING 15037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0000 F0E0 @@ -68259,7 +108042,7 @@ ENCODING 15038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 3B80 4A00 @@ -68277,7 +108060,7 @@ ENCODING 15039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 AB80 AA00 @@ -68295,7 +108078,7 @@ ENCODING 15040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4980 7900 @@ -68313,7 +108096,7 @@ ENCODING 15041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A460 C980 A500 @@ -68331,7 +108114,7 @@ ENCODING 15042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FD80 8100 @@ -68349,7 +108132,7 @@ ENCODING 15043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FC80 @@ -68367,7 +108150,7 @@ ENCODING 15044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 FFE0 @@ -68385,7 +108168,7 @@ ENCODING 15045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 4220 @@ -68403,7 +108186,7 @@ ENCODING 15046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 4140 @@ -68421,7 +108204,7 @@ ENCODING 15047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 4220 @@ -68439,7 +108222,7 @@ ENCODING 15048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 4220 @@ -68457,7 +108240,7 @@ ENCODING 15049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 F480 @@ -68475,7 +108258,7 @@ ENCODING 15050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 F400 @@ -68493,7 +108276,7 @@ ENCODING 15051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 F400 @@ -68511,7 +108294,7 @@ ENCODING 15052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -68529,7 +108312,7 @@ ENCODING 15053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 F7E0 @@ -68547,7 +108330,7 @@ ENCODING 15054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27E0 F400 @@ -68565,7 +108348,7 @@ ENCODING 15055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 F800 @@ -68582,26 +108365,26 @@ STARTCHAR U_3AD0 ENCODING 15056 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7F80 -4080 -7F80 -4080 -7F80 +BBX 9 11 1 -1 +BITMAP +FF00 +8100 +FF00 +8100 +FF00 0000 -4700 -7840 -4040 -4040 -7FC0 +8E00 +F080 +8080 +8080 +FF80 ENDCHAR STARTCHAR U_3AD1 ENCODING 15057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 8BE0 @@ -68619,7 +108402,7 @@ ENCODING 15058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -68637,7 +108420,7 @@ ENCODING 15059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F900 8BE0 @@ -68655,7 +108438,7 @@ ENCODING 15060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -68673,7 +108456,7 @@ ENCODING 15061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -68691,7 +108474,7 @@ ENCODING 15062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0780 0400 @@ -68709,7 +108492,7 @@ ENCODING 15063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -68727,7 +108510,7 @@ ENCODING 15064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0C00 1400 @@ -68745,7 +108528,7 @@ ENCODING 15065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -68763,7 +108546,7 @@ ENCODING 15066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FE0 8920 @@ -68781,7 +108564,7 @@ ENCODING 15067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -68799,7 +108582,7 @@ ENCODING 15068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -68817,7 +108600,7 @@ ENCODING 15069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A900 @@ -68835,7 +108618,7 @@ ENCODING 15070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F540 9540 @@ -68853,7 +108636,7 @@ ENCODING 15071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -68871,7 +108654,7 @@ ENCODING 15072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 9540 @@ -68888,8 +108671,8 @@ STARTCHAR U_3AE1 ENCODING 15073 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 5C40 4740 @@ -68907,7 +108690,7 @@ ENCODING 15074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -68924,26 +108707,26 @@ STARTCHAR U_3AE3 ENCODING 15075 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -7FC0 -4440 -7FC0 -4440 -7FC0 -0420 -07E0 +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 +BITMAP 7FC0 5C40 4740 @@ -68961,7 +108744,7 @@ ENCODING 15077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 91E0 @@ -68979,7 +108762,7 @@ ENCODING 15078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 27C0 4C40 @@ -68996,8 +108779,8 @@ STARTCHAR U_3AE7 ENCODING 15079 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 3F80 3C80 2780 @@ -69015,7 +108798,7 @@ ENCODING 15080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 97E0 @@ -69033,7 +108816,7 @@ ENCODING 15081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -69051,7 +108834,7 @@ ENCODING 15082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 0800 @@ -69069,7 +108852,7 @@ ENCODING 15083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2C80 2680 @@ -69087,7 +108870,7 @@ ENCODING 15084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -69104,26 +108887,26 @@ STARTCHAR U_3AED ENCODING 15085 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2480 -3F80 -0400 -7FC0 -0100 -3FC0 -1100 -0B00 +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 +BITMAP 1100 1100 5DE0 @@ -69141,7 +108924,7 @@ ENCODING 15087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -69159,7 +108942,7 @@ ENCODING 15088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7E0 9420 @@ -69177,7 +108960,7 @@ ENCODING 15089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2C80 2680 @@ -69195,7 +108978,7 @@ ENCODING 15090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -69213,7 +108996,7 @@ ENCODING 15091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5C00 4380 @@ -69231,7 +109014,7 @@ ENCODING 15092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9140 @@ -69249,7 +109032,7 @@ ENCODING 15093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9EE0 @@ -69267,7 +109050,7 @@ ENCODING 15094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F040 9FE0 @@ -69285,7 +109068,7 @@ ENCODING 15095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -69303,7 +109086,7 @@ ENCODING 15096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9140 @@ -69321,7 +109104,7 @@ ENCODING 15097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -69339,7 +109122,7 @@ ENCODING 15098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 6180 9A60 @@ -69357,7 +109140,7 @@ ENCODING 15099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -69375,7 +109158,7 @@ ENCODING 15100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A20 EFA0 B220 @@ -69393,7 +109176,7 @@ ENCODING 15101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F380 9480 @@ -69411,7 +109194,7 @@ ENCODING 15102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 9540 @@ -69429,7 +109212,7 @@ ENCODING 15103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F280 9440 @@ -69447,7 +109230,7 @@ ENCODING 15104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 9FE0 @@ -69465,7 +109248,7 @@ ENCODING 15105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -69483,7 +109266,7 @@ ENCODING 15106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 AFE0 @@ -69500,26 +109283,26 @@ STARTCHAR U_3B03 ENCODING 15107 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FE0 -3FE0 -1040 -3FE0 +BBX 9 11 2 -1 +BITMAP +FF80 +FF80 +4100 +FF80 0000 -3FE0 -3FE0 -1240 -0D80 -18C0 -2020 +FF80 +FF80 +4900 +3600 +6300 +8080 ENDCHAR STARTCHAR U_3B04 ENCODING 15108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -69537,7 +109320,7 @@ ENCODING 15109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 7FC0 @@ -69554,8 +109337,8 @@ STARTCHAR U_3B06 ENCODING 15110 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0FC0 E840 AFC0 @@ -69573,7 +109356,7 @@ ENCODING 15111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F380 9480 @@ -69591,7 +109374,7 @@ ENCODING 15112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 E880 AF80 @@ -69609,7 +109392,7 @@ ENCODING 15113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 AFE0 @@ -69627,7 +109410,7 @@ ENCODING 15114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2880 2480 @@ -69645,7 +109428,7 @@ ENCODING 15115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E5C0 A840 @@ -69663,7 +109446,7 @@ ENCODING 15116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -69681,7 +109464,7 @@ ENCODING 15117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0FE0 E100 @@ -69699,7 +109482,7 @@ ENCODING 15118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -69717,7 +109500,7 @@ ENCODING 15119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 EFE0 A000 @@ -69735,7 +109518,7 @@ ENCODING 15120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AAA0 @@ -69753,7 +109536,7 @@ ENCODING 15121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1FE0 EAA0 @@ -69771,7 +109554,7 @@ ENCODING 15122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 A400 @@ -69789,7 +109572,7 @@ ENCODING 15123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -69807,7 +109590,7 @@ ENCODING 15124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 A660 @@ -69825,9 +109608,9 @@ ENCODING 15125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -0CA0 -E1E0 +BITMAP +08A0 +E5E0 BE40 A440 E4E0 @@ -69843,7 +109626,7 @@ ENCODING 15126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EEE0 AAA0 @@ -69861,7 +109644,7 @@ ENCODING 15127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08C0 0EA0 EA80 @@ -69879,7 +109662,7 @@ ENCODING 15128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A140 @@ -69897,7 +109680,7 @@ ENCODING 15129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 EFC0 AAC0 @@ -69915,7 +109698,7 @@ ENCODING 15130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 A940 @@ -69933,7 +109716,7 @@ ENCODING 15131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E6C0 ABA0 @@ -69951,7 +109734,7 @@ ENCODING 15132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5140 FBE0 @@ -69969,7 +109752,7 @@ ENCODING 15133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 E280 AFE0 @@ -69987,7 +109770,7 @@ ENCODING 15134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 EFE0 A440 @@ -70005,7 +109788,7 @@ ENCODING 15135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 7FE0 @@ -70023,7 +109806,7 @@ ENCODING 15136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 EEE0 B5A0 @@ -70041,7 +109824,7 @@ ENCODING 15137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E100 AFE0 @@ -70059,7 +109842,7 @@ ENCODING 15138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 A100 @@ -70077,7 +109860,7 @@ ENCODING 15139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 FB40 AA40 @@ -70095,7 +109878,7 @@ ENCODING 15140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E940 AA40 @@ -70113,7 +109896,7 @@ ENCODING 15141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -70131,7 +109914,7 @@ ENCODING 15142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EEE0 A280 @@ -70149,7 +109932,7 @@ ENCODING 15143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -70167,7 +109950,7 @@ ENCODING 15144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EEE0 A440 @@ -70185,7 +109968,7 @@ ENCODING 15145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E440 AFE0 @@ -70203,7 +109986,7 @@ ENCODING 15146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 7FC0 @@ -70221,7 +110004,7 @@ ENCODING 15147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 2A80 @@ -70239,7 +110022,7 @@ ENCODING 15148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -70257,7 +110040,7 @@ ENCODING 15149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E540 AFE0 @@ -70275,7 +110058,7 @@ ENCODING 15150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -70293,7 +110076,7 @@ ENCODING 15151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A400 @@ -70311,7 +110094,7 @@ ENCODING 15152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0600 0400 7FC0 @@ -70329,7 +110112,7 @@ ENCODING 15153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A280 FBE0 2480 @@ -70347,7 +110130,7 @@ ENCODING 15154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 2140 FBE0 @@ -70365,7 +110148,7 @@ ENCODING 15155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 57C0 5500 @@ -70383,7 +110166,7 @@ ENCODING 15156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5280 @@ -70401,7 +110184,7 @@ ENCODING 15157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7300 5100 5FE0 @@ -70419,7 +110202,7 @@ ENCODING 15158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 53E0 @@ -70437,7 +110220,7 @@ ENCODING 15159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5520 5520 @@ -70455,7 +110238,7 @@ ENCODING 15160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 57E0 5240 @@ -70473,7 +110256,7 @@ ENCODING 15161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 5740 5280 @@ -70491,7 +110274,7 @@ ENCODING 15162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5380 57C0 @@ -70509,7 +110292,7 @@ ENCODING 15163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 57E0 5240 @@ -70527,7 +110310,7 @@ ENCODING 15164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FBE0 4200 @@ -70545,7 +110328,7 @@ ENCODING 15165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 57E0 @@ -70563,7 +110346,7 @@ ENCODING 15166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 9140 FA60 @@ -70581,7 +110364,7 @@ ENCODING 15167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BF80 AAE0 @@ -70599,7 +110382,7 @@ ENCODING 15168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7480 57E0 5D40 @@ -70617,7 +110400,7 @@ ENCODING 15169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FA40 @@ -70635,7 +110418,7 @@ ENCODING 15170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 F900 @@ -70653,7 +110436,7 @@ ENCODING 15171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2100 FA00 @@ -70671,7 +110454,7 @@ ENCODING 15172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2F80 F280 @@ -70689,7 +110472,7 @@ ENCODING 15173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2000 F7C0 @@ -70707,7 +110490,7 @@ ENCODING 15174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0900 13C0 @@ -70725,7 +110508,7 @@ ENCODING 15175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F900 @@ -70743,7 +110526,7 @@ ENCODING 15176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -70761,7 +110544,7 @@ ENCODING 15177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FC0 @@ -70779,7 +110562,7 @@ ENCODING 15178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2220 FA20 @@ -70797,7 +110580,7 @@ ENCODING 15179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 20E0 FB80 @@ -70815,7 +110598,7 @@ ENCODING 15180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 F480 @@ -70833,7 +110616,7 @@ ENCODING 15181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3100 01E0 @@ -70851,7 +110634,7 @@ ENCODING 15182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FE60 @@ -70869,7 +110652,7 @@ ENCODING 15183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 F900 @@ -70887,7 +110670,7 @@ ENCODING 15184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0A00 @@ -70905,7 +110688,7 @@ ENCODING 15185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBC0 @@ -70923,7 +110706,7 @@ ENCODING 15186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -70941,7 +110724,7 @@ ENCODING 15187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 FA40 @@ -70959,7 +110742,7 @@ ENCODING 15188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 FCA0 @@ -70977,7 +110760,7 @@ ENCODING 15189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7E0 @@ -70995,7 +110778,7 @@ ENCODING 15190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22C0 F4A0 @@ -71013,7 +110796,7 @@ ENCODING 15191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -71031,7 +110814,7 @@ ENCODING 15192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F280 @@ -71049,7 +110832,7 @@ ENCODING 15193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -71067,7 +110850,7 @@ ENCODING 15194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F7E0 @@ -71085,7 +110868,7 @@ ENCODING 15195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 F8E0 @@ -71103,7 +110886,7 @@ ENCODING 15196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -71121,7 +110904,7 @@ ENCODING 15197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 3180 @@ -71139,7 +110922,7 @@ ENCODING 15198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 F560 @@ -71157,7 +110940,7 @@ ENCODING 15199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -71175,7 +110958,7 @@ ENCODING 15200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -71193,7 +110976,7 @@ ENCODING 15201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 F7E0 @@ -71211,7 +110994,7 @@ ENCODING 15202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 5F20 EA20 @@ -71229,7 +111012,7 @@ ENCODING 15203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 22E0 F820 @@ -71247,7 +111030,7 @@ ENCODING 15204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 F7C0 @@ -71265,7 +111048,7 @@ ENCODING 15205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F440 @@ -71283,7 +111066,7 @@ ENCODING 15206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -71301,7 +111084,7 @@ ENCODING 15207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2480 @@ -71319,7 +111102,7 @@ ENCODING 15208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -71337,7 +111120,7 @@ ENCODING 15209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 F540 @@ -71355,7 +111138,7 @@ ENCODING 15210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2100 2FE0 @@ -71373,7 +111156,7 @@ ENCODING 15211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F540 @@ -71391,7 +111174,7 @@ ENCODING 15212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FA20 @@ -71409,7 +111192,7 @@ ENCODING 15213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 2A20 FAA0 @@ -71427,7 +111210,7 @@ ENCODING 15214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 FAA0 @@ -71445,7 +111228,7 @@ ENCODING 15215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4A80 FA80 @@ -71463,7 +111246,7 @@ ENCODING 15216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5DE0 5100 @@ -71481,7 +111264,7 @@ ENCODING 15217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 F7E0 @@ -71499,7 +111282,7 @@ ENCODING 15218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2280 F440 @@ -71517,7 +111300,7 @@ ENCODING 15219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23A0 F940 @@ -71535,7 +111318,7 @@ ENCODING 15220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2160 25A0 F540 @@ -71553,7 +111336,7 @@ ENCODING 15221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2100 FA00 @@ -71571,7 +111354,7 @@ ENCODING 15222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -71589,7 +111372,7 @@ ENCODING 15223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -71607,7 +111390,7 @@ ENCODING 15224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FA40 @@ -71625,7 +111408,7 @@ ENCODING 15225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2680 FBE0 @@ -71643,7 +111426,7 @@ ENCODING 15226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -71661,7 +111444,7 @@ ENCODING 15227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FB80 @@ -71679,7 +111462,7 @@ ENCODING 15228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2120 FD40 @@ -71697,7 +111480,7 @@ ENCODING 15229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -71715,7 +111498,7 @@ ENCODING 15230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -71733,7 +111516,7 @@ ENCODING 15231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -71751,7 +111534,7 @@ ENCODING 15232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2080 @@ -71769,7 +111552,7 @@ ENCODING 15233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2380 FD40 @@ -71787,7 +111570,7 @@ ENCODING 15234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -71805,7 +111588,7 @@ ENCODING 15235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2700 F100 @@ -71823,7 +111606,7 @@ ENCODING 15236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2000 FFE0 @@ -71841,7 +111624,7 @@ ENCODING 15237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1480 @@ -71859,7 +111642,7 @@ ENCODING 15238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -71877,7 +111660,7 @@ ENCODING 15239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -71895,7 +111678,7 @@ ENCODING 15240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7E0 @@ -71913,7 +111696,7 @@ ENCODING 15241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2480 F7E0 @@ -71931,7 +111714,7 @@ ENCODING 15242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2280 F5E0 @@ -71949,7 +111732,7 @@ ENCODING 15243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2F60 F4A0 @@ -71967,7 +111750,7 @@ ENCODING 15244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FA00 @@ -71985,7 +111768,7 @@ ENCODING 15245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4840 @@ -72003,7 +111786,7 @@ ENCODING 15246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F180 @@ -72021,7 +111804,7 @@ ENCODING 15247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F380 @@ -72039,7 +111822,7 @@ ENCODING 15248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2340 F560 @@ -72057,7 +111840,7 @@ ENCODING 15249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 F100 @@ -72075,7 +111858,7 @@ ENCODING 15250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -72093,7 +111876,7 @@ ENCODING 15251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25E0 F480 @@ -72111,7 +111894,7 @@ ENCODING 15252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 F8E0 @@ -72129,7 +111912,7 @@ ENCODING 15253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -72147,7 +111930,7 @@ ENCODING 15254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 F9C0 @@ -72165,7 +111948,7 @@ ENCODING 15255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 2940 12A0 @@ -72183,7 +111966,7 @@ ENCODING 15256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 22E0 F500 @@ -72201,7 +111984,7 @@ ENCODING 15257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 F7E0 @@ -72219,7 +112002,7 @@ ENCODING 15258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0780 0400 @@ -72237,7 +112020,7 @@ ENCODING 15259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F540 @@ -72255,7 +112038,7 @@ ENCODING 15260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 F940 @@ -72273,7 +112056,7 @@ ENCODING 15261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 4AA0 E9A0 @@ -72291,7 +112074,7 @@ ENCODING 15262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2DE0 F220 @@ -72309,7 +112092,7 @@ ENCODING 15263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 5E80 E9E0 @@ -72327,7 +112110,7 @@ ENCODING 15264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -72345,7 +112128,7 @@ ENCODING 15265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 AA00 73C0 @@ -72363,7 +112146,7 @@ ENCODING 15266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 2440 F7E0 @@ -72381,7 +112164,7 @@ ENCODING 15267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 8A40 FA80 @@ -72399,7 +112182,7 @@ ENCODING 15268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 A4A0 @@ -72417,7 +112200,7 @@ ENCODING 15269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 F7E0 @@ -72435,7 +112218,7 @@ ENCODING 15270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -72453,7 +112236,7 @@ ENCODING 15271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -72471,7 +112254,7 @@ ENCODING 15272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -72489,7 +112272,7 @@ ENCODING 15273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -72507,7 +112290,7 @@ ENCODING 15274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DC0 4940 E9C0 @@ -72525,7 +112308,7 @@ ENCODING 15275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -72543,7 +112326,7 @@ ENCODING 15276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2540 FAA0 @@ -72561,7 +112344,7 @@ ENCODING 15277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 F100 @@ -72579,7 +112362,7 @@ ENCODING 15278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 22A0 F7A0 @@ -72597,7 +112380,7 @@ ENCODING 15279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -72615,7 +112398,7 @@ ENCODING 15280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 FFC0 @@ -72633,7 +112416,7 @@ ENCODING 15281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -72651,7 +112434,7 @@ ENCODING 15282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 FD20 @@ -72669,7 +112452,7 @@ ENCODING 15283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EA0 FAE0 @@ -72687,7 +112470,7 @@ ENCODING 15284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2340 2520 FF60 @@ -72705,7 +112488,7 @@ ENCODING 15285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25E0 FE00 @@ -72723,7 +112506,7 @@ ENCODING 15286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 22E0 FFA0 @@ -72741,7 +112524,7 @@ ENCODING 15287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 F900 @@ -72759,7 +112542,7 @@ ENCODING 15288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2940 F7E0 @@ -72777,7 +112560,7 @@ ENCODING 15289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2240 F560 @@ -72795,7 +112578,7 @@ ENCODING 15290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -72813,7 +112596,7 @@ ENCODING 15291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FA80 @@ -72831,7 +112614,7 @@ ENCODING 15292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -72849,7 +112632,7 @@ ENCODING 15293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FD40 @@ -72867,7 +112650,7 @@ ENCODING 15294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 4BC0 @@ -72885,7 +112668,7 @@ ENCODING 15295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -72903,7 +112686,7 @@ ENCODING 15296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2500 F1E0 @@ -72921,7 +112704,7 @@ ENCODING 15297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 5480 F7E0 @@ -72939,7 +112722,7 @@ ENCODING 15298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26C0 2FE0 F6C0 @@ -72957,7 +112740,7 @@ ENCODING 15299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FB80 @@ -72975,7 +112758,7 @@ ENCODING 15300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -72993,7 +112776,7 @@ ENCODING 15301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 F900 @@ -73011,7 +112794,7 @@ ENCODING 15302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FA40 @@ -73029,7 +112812,7 @@ ENCODING 15303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 F280 @@ -73047,7 +112830,7 @@ ENCODING 15304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 4880 E3E0 @@ -73065,7 +112848,7 @@ ENCODING 15305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 FFE0 @@ -73083,7 +112866,7 @@ ENCODING 15306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F5C0 @@ -73101,7 +112884,7 @@ ENCODING 15307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 F100 87C0 @@ -73119,7 +112902,7 @@ ENCODING 15308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2880 F4C0 @@ -73137,7 +112920,7 @@ ENCODING 15309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AE0 FB20 @@ -73155,7 +112938,7 @@ ENCODING 15310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2480 FFE0 @@ -73173,7 +112956,7 @@ ENCODING 15311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 1260 @@ -73191,7 +112974,7 @@ ENCODING 15312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 C7E0 @@ -73209,7 +112992,7 @@ ENCODING 15313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 4500 E5E0 @@ -73227,7 +113010,7 @@ ENCODING 15314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 F540 @@ -73245,7 +113028,7 @@ ENCODING 15315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F560 @@ -73263,7 +113046,7 @@ ENCODING 15316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 0400 7FC0 @@ -73281,7 +113064,7 @@ ENCODING 15317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A60 2F80 FA80 @@ -73299,7 +113082,7 @@ ENCODING 15318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F200 @@ -73317,7 +113100,7 @@ ENCODING 15319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 FAA0 @@ -73335,7 +113118,7 @@ ENCODING 15320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5D00 E9E0 @@ -73353,7 +113136,7 @@ ENCODING 15321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2F80 F4E0 @@ -73371,7 +113154,7 @@ ENCODING 15322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EE0 F540 @@ -73389,7 +113172,7 @@ ENCODING 15323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -73407,7 +113190,7 @@ ENCODING 15324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -73425,7 +113208,7 @@ ENCODING 15325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 52E0 F3A0 @@ -73443,7 +113226,7 @@ ENCODING 15326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 FAE0 @@ -73461,7 +113244,7 @@ ENCODING 15327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -73479,7 +113262,7 @@ ENCODING 15328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F940 @@ -73497,7 +113280,7 @@ ENCODING 15329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 E400 4BE0 @@ -73515,7 +113298,7 @@ ENCODING 15330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 25A0 F7E0 @@ -73533,7 +113316,7 @@ ENCODING 15331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 F240 @@ -73551,7 +113334,7 @@ ENCODING 15332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -73569,7 +113352,7 @@ ENCODING 15333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -73587,7 +113370,7 @@ ENCODING 15334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -73605,7 +113388,7 @@ ENCODING 15335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2EA0 F4A0 @@ -73623,7 +113406,7 @@ ENCODING 15336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -73641,7 +113424,7 @@ ENCODING 15337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 53E0 2080 @@ -73659,7 +113442,7 @@ ENCODING 15338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -73677,7 +113460,7 @@ ENCODING 15339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 FFE0 @@ -73695,7 +113478,7 @@ ENCODING 15340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -73713,7 +113496,7 @@ ENCODING 15341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 FFE0 @@ -73731,7 +113514,7 @@ ENCODING 15342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -73749,7 +113532,7 @@ ENCODING 15343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2C40 F380 @@ -73767,7 +113550,7 @@ ENCODING 15344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -73785,7 +113568,7 @@ ENCODING 15345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -73803,7 +113586,7 @@ ENCODING 15346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -73821,7 +113604,7 @@ ENCODING 15347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3F80 EAE0 @@ -73839,7 +113622,7 @@ ENCODING 15348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -73857,7 +113640,7 @@ ENCODING 15349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2280 F7C0 @@ -73875,7 +113658,7 @@ ENCODING 15350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2D60 FAA0 @@ -73893,7 +113676,7 @@ ENCODING 15351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2940 FFE0 @@ -73911,7 +113694,7 @@ ENCODING 15352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 FFE0 @@ -73929,7 +113712,7 @@ ENCODING 15353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 4A20 FFE0 @@ -73947,7 +113730,7 @@ ENCODING 15354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 FD00 @@ -73965,7 +113748,7 @@ ENCODING 15355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -73983,7 +113766,7 @@ ENCODING 15356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 F440 @@ -74001,7 +113784,7 @@ ENCODING 15357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F020 @@ -74019,7 +113802,7 @@ ENCODING 15358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 23E0 F140 @@ -74037,7 +113820,7 @@ ENCODING 15359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 FAA0 @@ -74055,7 +113838,7 @@ ENCODING 15360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EE0 F560 @@ -74073,7 +113856,7 @@ ENCODING 15361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBC0 @@ -74091,7 +113874,7 @@ ENCODING 15362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FBA0 @@ -74109,7 +113892,7 @@ ENCODING 15363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 4FC0 FAA0 @@ -74127,7 +113910,7 @@ ENCODING 15364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EA0 2AE0 FB80 @@ -74145,7 +113928,7 @@ ENCODING 15365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 57E0 E940 @@ -74163,7 +113946,7 @@ ENCODING 15366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -74181,7 +113964,7 @@ ENCODING 15367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 4FA0 F4E0 @@ -74199,7 +113982,7 @@ ENCODING 15368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -74217,7 +114000,7 @@ ENCODING 15369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 5FE0 E880 @@ -74235,7 +114018,7 @@ ENCODING 15370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5DA0 EAC0 @@ -74253,7 +114036,7 @@ ENCODING 15371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 4480 F7E0 @@ -74271,7 +114054,7 @@ ENCODING 15372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4200 FFE0 @@ -74289,7 +114072,7 @@ ENCODING 15373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA00 53C0 @@ -74307,7 +114090,7 @@ ENCODING 15374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 F480 @@ -74325,7 +114108,7 @@ ENCODING 15375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 F920 @@ -74343,7 +114126,7 @@ ENCODING 15376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 5DE0 F480 @@ -74361,7 +114144,7 @@ ENCODING 15377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 54A0 E380 @@ -74379,7 +114162,7 @@ ENCODING 15378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C60 4AA0 4D60 @@ -74397,7 +114180,7 @@ ENCODING 15379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 54E0 5A80 @@ -74415,7 +114198,7 @@ ENCODING 15380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 7760 58C0 @@ -74433,7 +114216,7 @@ ENCODING 15381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4F80 4200 @@ -74451,7 +114234,7 @@ ENCODING 15382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 54E0 5A80 @@ -74469,7 +114252,7 @@ ENCODING 15383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 FAA0 @@ -74487,7 +114270,7 @@ ENCODING 15384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2240 FFE0 @@ -74505,7 +114288,7 @@ ENCODING 15385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 5540 FFE0 @@ -74523,7 +114306,7 @@ ENCODING 15386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5F40 EBE0 @@ -74541,7 +114324,7 @@ ENCODING 15387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -74559,7 +114342,7 @@ ENCODING 15388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2E40 F4E0 @@ -74577,7 +114360,7 @@ ENCODING 15389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 8BE0 @@ -74595,7 +114378,7 @@ ENCODING 15390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -74613,7 +114396,7 @@ ENCODING 15391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D00 41E0 @@ -74631,7 +114414,7 @@ ENCODING 15392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2A00 FBE0 @@ -74649,7 +114432,7 @@ ENCODING 15393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 53E0 @@ -74667,7 +114450,7 @@ ENCODING 15394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 5200 53E0 @@ -74685,7 +114468,7 @@ ENCODING 15395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A00 2A00 ABE0 @@ -74703,7 +114486,7 @@ ENCODING 15396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FE00 0BE0 @@ -74721,7 +114504,7 @@ ENCODING 15397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A00 AA00 ABE0 @@ -74739,7 +114522,7 @@ ENCODING 15398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -74757,7 +114540,7 @@ ENCODING 15399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 53E0 @@ -74775,7 +114558,7 @@ ENCODING 15400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8A00 8BE0 @@ -74793,7 +114576,7 @@ ENCODING 15401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -74811,7 +114594,7 @@ ENCODING 15402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -74829,7 +114612,7 @@ ENCODING 15403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 79E0 @@ -74847,7 +114630,7 @@ ENCODING 15404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7DE0 @@ -74865,7 +114648,7 @@ ENCODING 15405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 51E0 @@ -74883,7 +114666,7 @@ ENCODING 15406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4100 7DE0 @@ -74901,7 +114684,7 @@ ENCODING 15407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 0100 7BE0 @@ -74919,7 +114702,7 @@ ENCODING 15408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 FDE0 @@ -74937,7 +114720,7 @@ ENCODING 15409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 2200 FBE0 @@ -74955,7 +114738,7 @@ ENCODING 15410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0D00 0900 FDE0 @@ -74973,7 +114756,7 @@ ENCODING 15411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 53E0 @@ -74991,7 +114774,7 @@ ENCODING 15412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -75009,7 +114792,7 @@ ENCODING 15413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 53E0 @@ -75027,7 +114810,7 @@ ENCODING 15414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 7500 95E0 @@ -75045,7 +114828,7 @@ ENCODING 15415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 4BE0 @@ -75063,7 +114846,7 @@ ENCODING 15416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 8BE0 @@ -75081,7 +114864,7 @@ ENCODING 15417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0D00 0900 FDE0 @@ -75099,7 +114882,7 @@ ENCODING 15418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ED00 A500 A5E0 @@ -75117,7 +114900,7 @@ ENCODING 15419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 23E0 @@ -75135,7 +114918,7 @@ ENCODING 15420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 9100 FDE0 @@ -75153,7 +114936,7 @@ ENCODING 15421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 A900 BBE0 @@ -75171,7 +114954,7 @@ ENCODING 15422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F900 89E0 @@ -75189,7 +114972,7 @@ ENCODING 15423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A900 53E0 @@ -75207,7 +114990,7 @@ ENCODING 15424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F900 A9E0 @@ -75225,7 +115008,7 @@ ENCODING 15425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 ABE0 @@ -75243,7 +115026,7 @@ ENCODING 15426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 5100 @@ -75261,7 +115044,7 @@ ENCODING 15427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 6900 9500 @@ -75279,7 +115062,7 @@ ENCODING 15428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5500 7DE0 @@ -75297,7 +115080,7 @@ ENCODING 15429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -75315,7 +115098,7 @@ ENCODING 15430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 1100 7FE0 @@ -75333,7 +115116,7 @@ ENCODING 15431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 55E0 @@ -75351,7 +115134,7 @@ ENCODING 15432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FD00 29E0 @@ -75369,7 +115152,7 @@ ENCODING 15433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ED00 2900 FDE0 @@ -75387,7 +115170,7 @@ ENCODING 15434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2100 F9E0 @@ -75405,7 +115188,7 @@ ENCODING 15435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 1100 FDE0 @@ -75423,7 +115206,7 @@ ENCODING 15436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4900 79E0 @@ -75441,7 +115224,7 @@ ENCODING 15437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 4A80 9CE0 @@ -75459,7 +115242,7 @@ ENCODING 15438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FFE0 @@ -75477,7 +115260,7 @@ ENCODING 15439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0000 FFE0 @@ -75495,7 +115278,7 @@ ENCODING 15440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7C40 0040 @@ -75513,7 +115296,7 @@ ENCODING 15441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2780 2400 @@ -75531,7 +115314,7 @@ ENCODING 15442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 47C0 4400 @@ -75549,7 +115332,7 @@ ENCODING 15443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1100 1280 @@ -75567,7 +115350,7 @@ ENCODING 15444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5200 5FE0 @@ -75585,7 +115368,7 @@ ENCODING 15445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 23C0 @@ -75603,7 +115386,7 @@ ENCODING 15446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2100 2FE0 @@ -75621,7 +115404,7 @@ ENCODING 15447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 27C0 2540 @@ -75639,7 +115422,7 @@ ENCODING 15448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 52C0 5EA0 @@ -75657,7 +115440,7 @@ ENCODING 15449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4100 4100 @@ -75675,7 +115458,7 @@ ENCODING 15450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2220 2220 @@ -75693,7 +115476,7 @@ ENCODING 15451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2200 2200 @@ -75711,7 +115494,7 @@ ENCODING 15452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 4080 @@ -75729,7 +115512,7 @@ ENCODING 15453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 4880 @@ -75747,7 +115530,7 @@ ENCODING 15454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 4FE0 @@ -75765,7 +115548,7 @@ ENCODING 15455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FBE0 22A0 @@ -75783,7 +115566,7 @@ ENCODING 15456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 2080 @@ -75801,7 +115584,7 @@ ENCODING 15457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 25C0 @@ -75819,7 +115602,7 @@ ENCODING 15458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 47C0 @@ -75837,7 +115620,7 @@ ENCODING 15459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 FFA0 42A0 @@ -75855,7 +115638,7 @@ ENCODING 15460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F460 4580 4F00 @@ -75873,7 +115656,7 @@ ENCODING 15461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4100 @@ -75891,7 +115674,7 @@ ENCODING 15462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4100 @@ -75909,7 +115692,7 @@ ENCODING 15463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4820 @@ -75927,7 +115710,7 @@ ENCODING 15464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 4FE0 @@ -75945,7 +115728,7 @@ ENCODING 15465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4100 @@ -75963,7 +115746,7 @@ ENCODING 15466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 47C0 @@ -75981,7 +115764,7 @@ ENCODING 15467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4100 @@ -75999,7 +115782,7 @@ ENCODING 15468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FD40 47C0 @@ -76017,7 +115800,7 @@ ENCODING 15469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F4A0 44A0 @@ -76035,7 +115818,7 @@ ENCODING 15470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4540 @@ -76053,7 +115836,7 @@ ENCODING 15471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F540 47C0 @@ -76071,7 +115854,7 @@ ENCODING 15472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4920 @@ -76089,7 +115872,7 @@ ENCODING 15473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FC00 47C0 @@ -76107,7 +115890,7 @@ ENCODING 15474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 27E0 @@ -76125,7 +115908,7 @@ ENCODING 15475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1100 3F80 @@ -76143,7 +115926,7 @@ ENCODING 15476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4100 @@ -76161,7 +115944,7 @@ ENCODING 15477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4540 @@ -76179,7 +115962,7 @@ ENCODING 15478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FF20 4240 @@ -76197,7 +115980,7 @@ ENCODING 15479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 4480 @@ -76215,7 +115998,7 @@ ENCODING 15480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F740 45E0 @@ -76233,7 +116016,7 @@ ENCODING 15481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4480 4760 @@ -76251,7 +116034,7 @@ ENCODING 15482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 F900 47E0 @@ -76269,7 +116052,7 @@ ENCODING 15483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4400 @@ -76287,7 +116070,7 @@ ENCODING 15484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F480 9480 @@ -76305,7 +116088,7 @@ ENCODING 15485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FA40 @@ -76323,7 +116106,7 @@ ENCODING 15486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -76341,7 +116124,7 @@ ENCODING 15487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2240 @@ -76359,7 +116142,7 @@ ENCODING 15488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 4140 7940 @@ -76377,7 +116160,7 @@ ENCODING 15489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 1140 7D40 @@ -76395,7 +116178,7 @@ ENCODING 15490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 AA40 7240 @@ -76413,7 +116196,7 @@ ENCODING 15491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3BC0 2240 @@ -76431,7 +116214,7 @@ ENCODING 15492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2240 @@ -76449,7 +116232,7 @@ ENCODING 15493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FD40 A540 @@ -76467,7 +116250,7 @@ ENCODING 15494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 57E0 @@ -76485,7 +116268,7 @@ ENCODING 15495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 57E0 @@ -76503,7 +116286,7 @@ ENCODING 15496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 57E0 @@ -76521,7 +116304,7 @@ ENCODING 15497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDC0 2140 @@ -76539,7 +116322,7 @@ ENCODING 15498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39C0 2140 FD40 @@ -76557,7 +116340,7 @@ ENCODING 15499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F00 2200 @@ -76575,7 +116358,7 @@ ENCODING 15500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E780 2280 @@ -76593,7 +116376,7 @@ ENCODING 15501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -76611,7 +116394,7 @@ ENCODING 15502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 E700 2100 @@ -76629,7 +116412,7 @@ ENCODING 15503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 5700 5100 @@ -76647,7 +116430,7 @@ ENCODING 15504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 A280 @@ -76665,7 +116448,7 @@ ENCODING 15505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 A740 @@ -76683,7 +116466,7 @@ ENCODING 15506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 7900 @@ -76701,7 +116484,7 @@ ENCODING 15507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 E0A0 27E0 @@ -76719,7 +116502,7 @@ ENCODING 15508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 8900 @@ -76737,7 +116520,7 @@ ENCODING 15509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C60 E780 A480 @@ -76755,7 +116538,7 @@ ENCODING 15510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A8E0 7380 2080 @@ -76773,7 +116556,7 @@ ENCODING 15511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1CE0 E780 A880 @@ -76791,7 +116574,7 @@ ENCODING 15512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78E0 4B80 4880 @@ -76809,7 +116592,7 @@ ENCODING 15513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 EFE0 2200 @@ -76827,7 +116610,7 @@ ENCODING 15514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 4B40 1520 @@ -76845,7 +116628,7 @@ ENCODING 15515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9120 7DE0 @@ -76863,7 +116646,7 @@ ENCODING 15516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AB00 7100 @@ -76881,7 +116664,7 @@ ENCODING 15517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 E500 27C0 @@ -76899,7 +116682,7 @@ ENCODING 15518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 1380 FC80 @@ -76917,7 +116700,7 @@ ENCODING 15519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28C0 FF80 2880 @@ -76935,7 +116718,7 @@ ENCODING 15520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1340 @@ -76953,7 +116736,7 @@ ENCODING 15521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 FF80 3880 @@ -76971,7 +116754,7 @@ ENCODING 15522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 7F80 4280 @@ -76989,7 +116772,7 @@ ENCODING 15523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 60C0 BB80 A880 @@ -77007,7 +116790,7 @@ ENCODING 15524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 1380 FC80 @@ -77025,7 +116808,7 @@ ENCODING 15525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 7F80 5480 @@ -77043,7 +116826,7 @@ ENCODING 15526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 4CE0 @@ -77061,7 +116844,7 @@ ENCODING 15527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 C540 4280 @@ -77079,7 +116862,7 @@ ENCODING 15528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 FF80 4880 @@ -77097,7 +116880,7 @@ ENCODING 15529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E440 27C0 @@ -77115,7 +116898,7 @@ ENCODING 15530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E8C0 B780 5880 @@ -77133,7 +116916,7 @@ ENCODING 15531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CCC0 4B80 FC80 @@ -77151,7 +116934,7 @@ ENCODING 15532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 50E0 7F80 D080 @@ -77169,7 +116952,7 @@ ENCODING 15533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9460 5580 5880 @@ -77187,7 +116970,7 @@ ENCODING 15534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6FE0 CAA0 4380 @@ -77205,7 +116988,7 @@ ENCODING 15535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 A980 EC80 @@ -77223,7 +117006,7 @@ ENCODING 15536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FE80 9280 @@ -77241,7 +117024,7 @@ ENCODING 15537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 EA80 2540 @@ -77259,7 +117042,7 @@ ENCODING 15538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5480 FE80 @@ -77277,7 +117060,7 @@ ENCODING 15539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 F280 93E0 @@ -77295,7 +117078,7 @@ ENCODING 15540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4000 @@ -77313,7 +117096,7 @@ ENCODING 15541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 4000 BF80 @@ -77331,7 +117114,7 @@ ENCODING 15542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 4000 FF80 @@ -77349,7 +117132,7 @@ ENCODING 15543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 BFC0 @@ -77367,7 +117150,7 @@ ENCODING 15544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FC0 0040 @@ -77385,7 +117168,7 @@ ENCODING 15545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 0480 @@ -77403,7 +117186,7 @@ ENCODING 15546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 1200 0200 @@ -77421,7 +117204,7 @@ ENCODING 15547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2240 @@ -77439,7 +117222,7 @@ ENCODING 15548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2440 0440 @@ -77457,7 +117240,7 @@ ENCODING 15549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 0220 @@ -77475,7 +117258,7 @@ ENCODING 15550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -77493,7 +117276,7 @@ ENCODING 15551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0800 @@ -77511,7 +117294,7 @@ ENCODING 15552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2280 0240 @@ -77529,7 +117312,7 @@ ENCODING 15553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0900 @@ -77547,7 +117330,7 @@ ENCODING 15554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 0280 @@ -77565,7 +117348,7 @@ ENCODING 15555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0FC0 @@ -77583,7 +117366,7 @@ ENCODING 15556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2440 07C0 @@ -77601,7 +117384,7 @@ ENCODING 15557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0100 @@ -77619,7 +117402,7 @@ ENCODING 15558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2480 0280 @@ -77637,7 +117420,7 @@ ENCODING 15559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2480 0440 @@ -77655,7 +117438,7 @@ ENCODING 15560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 1FE0 @@ -77673,7 +117456,7 @@ ENCODING 15561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 0420 @@ -77691,7 +117474,7 @@ ENCODING 15562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 07E0 @@ -77709,7 +117492,7 @@ ENCODING 15563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 0800 @@ -77727,7 +117510,7 @@ ENCODING 15564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0920 @@ -77745,7 +117528,7 @@ ENCODING 15565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 1FE0 @@ -77763,7 +117546,7 @@ ENCODING 15566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2400 0840 @@ -77781,7 +117564,7 @@ ENCODING 15567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0FE0 @@ -77799,7 +117582,7 @@ ENCODING 15568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 0480 @@ -77816,8 +117599,8 @@ STARTCHAR U_3CD1 ENCODING 15569 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 4000 2FC0 1540 @@ -77828,14 +117611,13 @@ BITMAP D540 5540 5FE0 -0000 ENDCHAR STARTCHAR U_3CD2 ENCODING 15570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0FE0 @@ -77853,7 +117635,7 @@ ENCODING 15571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0100 @@ -77871,7 +117653,7 @@ ENCODING 15572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2040 0E40 @@ -77889,7 +117671,7 @@ ENCODING 15573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0280 @@ -77907,7 +117689,7 @@ ENCODING 15574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -77925,7 +117707,7 @@ ENCODING 15575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2520 04C0 @@ -77943,7 +117725,7 @@ ENCODING 15576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -77961,7 +117743,7 @@ ENCODING 15577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 0440 @@ -77979,7 +117761,7 @@ ENCODING 15578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 0FE0 @@ -77997,7 +117779,7 @@ ENCODING 15579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 0960 @@ -78015,7 +117797,7 @@ ENCODING 15580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 0480 @@ -78033,7 +117815,7 @@ ENCODING 15581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 25E0 0880 @@ -78051,7 +117833,7 @@ ENCODING 15582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 0880 @@ -78069,7 +117851,7 @@ ENCODING 15583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -78087,7 +117869,7 @@ ENCODING 15584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2480 03E0 @@ -78105,7 +117887,7 @@ ENCODING 15585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2840 0440 @@ -78123,7 +117905,7 @@ ENCODING 15586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 0100 @@ -78141,7 +117923,7 @@ ENCODING 15587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 07C0 @@ -78159,7 +117941,7 @@ ENCODING 15588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2A80 0680 @@ -78177,7 +117959,7 @@ ENCODING 15589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 07C0 @@ -78195,7 +117977,7 @@ ENCODING 15590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 1FE0 @@ -78213,7 +117995,7 @@ ENCODING 15591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2A80 0A80 @@ -78231,7 +118013,7 @@ ENCODING 15592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 2A40 0520 @@ -78249,7 +118031,7 @@ ENCODING 15593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 3E40 0B40 @@ -78267,7 +118049,7 @@ ENCODING 15594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0300 @@ -78285,7 +118067,7 @@ ENCODING 15595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7640 1580 @@ -78303,7 +118085,7 @@ ENCODING 15596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0800 @@ -78321,7 +118103,7 @@ ENCODING 15597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0440 @@ -78339,7 +118121,7 @@ ENCODING 15598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3020 1020 @@ -78357,7 +118139,7 @@ ENCODING 15599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -78375,7 +118157,7 @@ ENCODING 15600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0200 @@ -78393,7 +118175,7 @@ ENCODING 15601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0AA0 @@ -78411,7 +118193,7 @@ ENCODING 15602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2900 0100 @@ -78429,7 +118211,7 @@ ENCODING 15603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0FE0 @@ -78447,7 +118229,7 @@ ENCODING 15604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2540 14A0 @@ -78465,7 +118247,7 @@ ENCODING 15605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2700 0100 @@ -78483,7 +118265,7 @@ ENCODING 15606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 3980 1680 @@ -78501,7 +118283,7 @@ ENCODING 15607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2FE0 0AA0 @@ -78519,7 +118301,7 @@ ENCODING 15608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 0FE0 @@ -78537,7 +118319,7 @@ ENCODING 15609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 25E0 0440 @@ -78555,7 +118337,7 @@ ENCODING 15610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 1EE0 @@ -78573,7 +118355,7 @@ ENCODING 15611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 27C0 0280 @@ -78591,7 +118373,7 @@ ENCODING 15612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 4A40 @@ -78609,7 +118391,7 @@ ENCODING 15613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 2500 05E0 @@ -78627,7 +118409,7 @@ ENCODING 15614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -78645,7 +118427,7 @@ ENCODING 15615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0200 @@ -78662,8 +118444,8 @@ STARTCHAR U_3D00 ENCODING 15616 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 4440 2EE0 0000 @@ -78674,14 +118456,13 @@ BITMAP C100 4600 49E0 -0000 ENDCHAR STARTCHAR U_3D01 ENCODING 15617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2200 1FE0 @@ -78699,7 +118480,7 @@ ENCODING 15618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 1BE0 @@ -78717,7 +118498,7 @@ ENCODING 15619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2800 0FE0 @@ -78735,7 +118516,7 @@ ENCODING 15620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0AA0 @@ -78753,7 +118534,7 @@ ENCODING 15621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7700 1500 @@ -78771,7 +118552,7 @@ ENCODING 15622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 1FE0 @@ -78789,7 +118570,7 @@ ENCODING 15623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 24A0 @@ -78807,7 +118588,7 @@ ENCODING 15624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2400 07C0 @@ -78825,7 +118606,7 @@ ENCODING 15625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2480 0BC0 @@ -78843,7 +118624,7 @@ ENCODING 15626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5120 2AA0 1FA0 @@ -78861,7 +118642,7 @@ ENCODING 15627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2F80 0280 @@ -78878,8 +118659,8 @@ STARTCHAR U_3D0C ENCODING 15628 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 10 0 0 +BITMAP 4880 2880 09C0 @@ -78890,14 +118671,13 @@ BE80 C940 5540 22C0 -0000 ENDCHAR STARTCHAR U_3D0D ENCODING 15629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2080 0120 @@ -78914,8 +118694,8 @@ STARTCHAR U_3D0E ENCODING 15630 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 4100 2FE0 0280 @@ -78926,14 +118706,13 @@ BITMAP C100 4540 4920 -0000 ENDCHAR STARTCHAR U_3D0F ENCODING 15631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -78951,7 +118730,7 @@ ENCODING 15632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 1C80 @@ -78969,7 +118748,7 @@ ENCODING 15633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0800 @@ -78987,7 +118766,7 @@ ENCODING 15634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -79005,7 +118784,7 @@ ENCODING 15635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0920 @@ -79023,7 +118802,7 @@ ENCODING 15636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2780 0880 @@ -79041,7 +118820,7 @@ ENCODING 15637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0440 @@ -79059,7 +118838,7 @@ ENCODING 15638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0440 @@ -79077,7 +118856,7 @@ ENCODING 15639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 0FE0 @@ -79095,7 +118874,7 @@ ENCODING 15640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -79113,7 +118892,7 @@ ENCODING 15641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 0FE0 @@ -79131,7 +118910,7 @@ ENCODING 15642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -79149,7 +118928,7 @@ ENCODING 15643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 2480 0AE0 @@ -79166,8 +118945,8 @@ STARTCHAR U_3D1C ENCODING 15644 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 9FC0 5000 1FC0 @@ -79185,7 +118964,7 @@ ENCODING 15645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C20 10A0 FEA0 @@ -79203,7 +118982,7 @@ ENCODING 15646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2620 1940 @@ -79221,7 +119000,7 @@ ENCODING 15647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0BE0 @@ -79239,7 +119018,7 @@ ENCODING 15648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 4080 2100 @@ -79257,7 +119036,7 @@ ENCODING 15649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 0100 @@ -79275,7 +119054,7 @@ ENCODING 15650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A480 5480 0880 @@ -79293,7 +119072,7 @@ ENCODING 15651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 2BE0 2880 @@ -79311,7 +119090,7 @@ ENCODING 15652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2440 0400 @@ -79329,7 +119108,7 @@ ENCODING 15653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 25C0 2480 @@ -79347,7 +119126,7 @@ ENCODING 15654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 1FE0 @@ -79365,7 +119144,7 @@ ENCODING 15655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 17C0 8440 @@ -79383,7 +119162,7 @@ ENCODING 15656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F20 2AC0 2A00 @@ -79401,7 +119180,7 @@ ENCODING 15657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 2A40 0520 @@ -79419,7 +119198,7 @@ ENCODING 15658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 0540 @@ -79437,7 +119216,7 @@ ENCODING 15659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 2AA0 1FA0 @@ -79455,7 +119234,7 @@ ENCODING 15660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2E40 0A40 @@ -79473,7 +119252,7 @@ ENCODING 15661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2AA0 @@ -79491,7 +119270,7 @@ ENCODING 15662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -79509,7 +119288,7 @@ ENCODING 15663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 2A80 0AE0 @@ -79527,7 +119306,7 @@ ENCODING 15664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3280 1EE0 @@ -79545,7 +119324,7 @@ ENCODING 15665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 14A0 @@ -79563,7 +119342,7 @@ ENCODING 15666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 3D00 17E0 @@ -79581,7 +119360,7 @@ ENCODING 15667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 2920 0BE0 @@ -79599,7 +119378,7 @@ ENCODING 15668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2AA0 0CC0 @@ -79617,7 +119396,7 @@ ENCODING 15669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2540 14A0 @@ -79635,7 +119414,7 @@ ENCODING 15670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0A20 @@ -79653,7 +119432,7 @@ ENCODING 15671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 3E80 1480 @@ -79671,7 +119450,7 @@ ENCODING 15672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -79689,7 +119468,7 @@ ENCODING 15673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 22A0 09C0 @@ -79707,7 +119486,7 @@ ENCODING 15674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2900 0FE0 @@ -79725,7 +119504,7 @@ ENCODING 15675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 3E40 0040 @@ -79743,7 +119522,7 @@ ENCODING 15676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 1020 @@ -79761,7 +119540,7 @@ ENCODING 15677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2F40 0580 @@ -79779,7 +119558,7 @@ ENCODING 15678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2E80 0480 @@ -79797,7 +119576,7 @@ ENCODING 15679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 3D00 0BC0 @@ -79815,7 +119594,7 @@ ENCODING 15680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2480 00E0 @@ -79833,7 +119612,7 @@ ENCODING 15681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 2480 @@ -79851,7 +119630,7 @@ ENCODING 15682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2A40 @@ -79869,7 +119648,7 @@ ENCODING 15683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2880 0BE0 @@ -79887,7 +119666,7 @@ ENCODING 15684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 3FE0 @@ -79905,7 +119684,7 @@ ENCODING 15685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2640 1920 @@ -79923,7 +119702,7 @@ ENCODING 15686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 3D40 15E0 @@ -79941,7 +119720,7 @@ ENCODING 15687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46A0 2CA0 04A0 @@ -79959,7 +119738,7 @@ ENCODING 15688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 2A40 0240 @@ -79977,7 +119756,7 @@ ENCODING 15689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 2A80 0280 @@ -79995,7 +119774,7 @@ ENCODING 15690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -80013,7 +119792,7 @@ ENCODING 15691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 2FE0 @@ -80031,7 +119810,7 @@ ENCODING 15692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2A40 13E0 @@ -80049,7 +119828,7 @@ ENCODING 15693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 2EE0 @@ -80067,7 +119846,7 @@ ENCODING 15694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 2EE0 @@ -80085,7 +119864,7 @@ ENCODING 15695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 2480 @@ -80103,7 +119882,7 @@ ENCODING 15696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3A00 1480 @@ -80121,7 +119900,7 @@ ENCODING 15697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 3EE0 0AA0 @@ -80139,7 +119918,7 @@ ENCODING 15698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 22A0 @@ -80157,7 +119936,7 @@ ENCODING 15699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1020 @@ -80175,7 +119954,7 @@ ENCODING 15700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -80193,7 +119972,7 @@ ENCODING 15701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FC0 0900 @@ -80211,7 +119990,7 @@ ENCODING 15702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 3EE0 0AA0 @@ -80229,7 +120008,7 @@ ENCODING 15703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 67E0 1480 07C0 @@ -80247,7 +120026,7 @@ ENCODING 15704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 EF20 73C0 @@ -80265,7 +120044,7 @@ ENCODING 15705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -80283,7 +120062,7 @@ ENCODING 15706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2AA0 0380 @@ -80301,7 +120080,7 @@ ENCODING 15707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0100 @@ -80319,7 +120098,7 @@ ENCODING 15708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2FE0 0200 @@ -80337,7 +120116,7 @@ ENCODING 15709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 0520 @@ -80355,7 +120134,7 @@ ENCODING 15710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 2480 1EA0 @@ -80373,7 +120152,7 @@ ENCODING 15711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 7580 5FE0 @@ -80391,7 +120170,7 @@ ENCODING 15712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 14A0 @@ -80409,7 +120188,7 @@ ENCODING 15713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2200 1FE0 @@ -80427,7 +120206,7 @@ ENCODING 15714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 0FE0 @@ -80445,7 +120224,7 @@ ENCODING 15715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 3280 1E80 @@ -80463,7 +120242,7 @@ ENCODING 15716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0660 @@ -80481,7 +120260,7 @@ ENCODING 15717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 14A0 @@ -80499,7 +120278,7 @@ ENCODING 15718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 37E0 0940 @@ -80517,7 +120296,7 @@ ENCODING 15719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -80535,7 +120314,7 @@ ENCODING 15720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4FE0 7A40 @@ -80553,7 +120332,7 @@ ENCODING 15721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0480 @@ -80571,7 +120350,7 @@ ENCODING 15722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0100 @@ -80589,7 +120368,7 @@ ENCODING 15723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2080 0FE0 @@ -80607,7 +120386,7 @@ ENCODING 15724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 3540 1560 @@ -80625,7 +120404,7 @@ ENCODING 15725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0140 @@ -80643,7 +120422,7 @@ ENCODING 15726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0480 @@ -80661,7 +120440,7 @@ ENCODING 15727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -80679,7 +120458,7 @@ ENCODING 15728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4CC0 3440 1FC0 @@ -80697,7 +120476,7 @@ ENCODING 15729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F40 2A40 1F40 @@ -80715,7 +120494,7 @@ ENCODING 15730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 3FE0 0AA0 @@ -80733,7 +120512,7 @@ ENCODING 15731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2B60 @@ -80751,7 +120530,7 @@ ENCODING 15732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 2FE0 @@ -80769,7 +120548,7 @@ ENCODING 15733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 2AE0 0EA0 @@ -80787,7 +120566,7 @@ ENCODING 15734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 2EA0 0480 @@ -80805,7 +120584,7 @@ ENCODING 15735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2440 F3E0 @@ -80823,7 +120602,7 @@ ENCODING 15736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 0440 @@ -80841,7 +120620,7 @@ ENCODING 15737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 2BE0 0940 @@ -80859,7 +120638,7 @@ ENCODING 15738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 3540 2200 @@ -80877,7 +120656,7 @@ ENCODING 15739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP B980 6AE0 2AA0 @@ -80895,7 +120674,7 @@ ENCODING 15740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0440 @@ -80913,7 +120692,7 @@ ENCODING 15741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 07C0 @@ -80931,7 +120710,7 @@ ENCODING 15742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3EA0 04E0 @@ -80949,7 +120728,7 @@ ENCODING 15743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 0540 @@ -80967,7 +120746,7 @@ ENCODING 15744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 35A0 1760 @@ -80985,7 +120764,7 @@ ENCODING 15745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46E0 3880 2BE0 @@ -81003,7 +120782,7 @@ ENCODING 15746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 2FE0 0140 @@ -81021,7 +120800,7 @@ ENCODING 15747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5400 2C00 07E0 @@ -81039,7 +120818,7 @@ ENCODING 15748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 3520 1DE0 @@ -81057,7 +120836,7 @@ ENCODING 15749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4CC0 2AC0 0D40 @@ -81075,7 +120854,7 @@ ENCODING 15750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3DE0 00A0 @@ -81093,7 +120872,7 @@ ENCODING 15751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 2BE0 0940 @@ -81111,7 +120890,7 @@ ENCODING 15752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2BA0 06C0 @@ -81129,7 +120908,7 @@ ENCODING 15753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4680 3BC0 1540 @@ -81147,7 +120926,7 @@ ENCODING 15754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 3E40 14E0 @@ -81165,7 +120944,7 @@ ENCODING 15755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 3B40 0AC0 @@ -81183,7 +120962,7 @@ ENCODING 15756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D40 3680 17E0 @@ -81201,7 +120980,7 @@ ENCODING 15757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48A0 2EA0 0A40 @@ -81219,7 +120998,7 @@ ENCODING 15758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 32A0 0BE0 @@ -81237,7 +121016,7 @@ ENCODING 15759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 36A0 17E0 @@ -81255,7 +121034,7 @@ ENCODING 15760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 9FE0 5540 @@ -81273,7 +121052,7 @@ ENCODING 15761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2A80 31E0 @@ -81291,7 +121070,7 @@ ENCODING 15762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 32A0 1EE0 @@ -81309,7 +121088,7 @@ ENCODING 15763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 04A0 @@ -81327,7 +121106,7 @@ ENCODING 15764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 3540 1FC0 @@ -81345,7 +121124,7 @@ ENCODING 15765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2EE0 1540 @@ -81363,7 +121142,7 @@ ENCODING 15766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 29E0 1320 @@ -81381,7 +121160,7 @@ ENCODING 15767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 A7E0 7D40 @@ -81399,7 +121178,7 @@ ENCODING 15768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2EE0 1540 @@ -81417,7 +121196,7 @@ ENCODING 15769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA00 5B40 0AC0 @@ -81435,7 +121214,7 @@ ENCODING 15770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2500 1FE0 @@ -81453,7 +121232,7 @@ ENCODING 15771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 4BE0 3C00 @@ -81471,7 +121250,7 @@ ENCODING 15772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFA0 64A0 3FA0 @@ -81489,7 +121268,7 @@ ENCODING 15773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2FE0 0A80 @@ -81507,7 +121286,7 @@ ENCODING 15774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2940 1FE0 @@ -81525,7 +121304,7 @@ ENCODING 15775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 0FE0 @@ -81543,7 +121322,7 @@ ENCODING 15776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3560 1FE0 @@ -81561,7 +121340,7 @@ ENCODING 15777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2480 @@ -81579,7 +121358,7 @@ ENCODING 15778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 0A00 @@ -81597,7 +121376,7 @@ ENCODING 15779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 0400 @@ -81615,7 +121394,7 @@ ENCODING 15780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 A9E0 @@ -81633,7 +121412,7 @@ ENCODING 15781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2100 @@ -81651,7 +121430,7 @@ ENCODING 15782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 A980 @@ -81669,7 +121448,7 @@ ENCODING 15783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -81687,7 +121466,7 @@ ENCODING 15784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7FC0 0400 @@ -81705,7 +121484,7 @@ ENCODING 15785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -81723,7 +121502,7 @@ ENCODING 15786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0C00 3580 @@ -81741,7 +121520,7 @@ ENCODING 15787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4480 @@ -81759,7 +121538,7 @@ ENCODING 15788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -81777,7 +121556,7 @@ ENCODING 15789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 2480 @@ -81795,7 +121574,7 @@ ENCODING 15790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 7FC0 @@ -81813,7 +121592,7 @@ ENCODING 15791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2600 28E0 2AA0 @@ -81831,7 +121610,7 @@ ENCODING 15792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1240 1240 @@ -81849,7 +121628,7 @@ ENCODING 15793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2900 2900 @@ -81867,25 +121646,25 @@ ENCODING 15794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 -2520 -AFE0 -AD20 +2D20 B7E0 +A520 +A7E0 2520 -3520 -4D20 -4520 -8860 +2520 +5520 +8D20 +8460 ENDCHAR STARTCHAR U_3DB3 ENCODING 15795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0480 @@ -81903,7 +121682,7 @@ ENCODING 15796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 21E0 AF20 @@ -81921,7 +121700,7 @@ ENCODING 15797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 2700 6100 @@ -81939,7 +121718,7 @@ ENCODING 15798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -81957,7 +121736,7 @@ ENCODING 15799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -81975,7 +121754,7 @@ ENCODING 15800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2240 @@ -81993,7 +121772,7 @@ ENCODING 15801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2100 @@ -82011,7 +121790,7 @@ ENCODING 15802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2100 @@ -82029,7 +121808,7 @@ ENCODING 15803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 3100 1F00 @@ -82047,7 +121826,7 @@ ENCODING 15804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 AFC0 @@ -82065,7 +121844,7 @@ ENCODING 15805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AC40 @@ -82083,7 +121862,7 @@ ENCODING 15806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -82101,7 +121880,7 @@ ENCODING 15807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -82119,7 +121898,7 @@ ENCODING 15808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5540 3B80 @@ -82137,7 +121916,7 @@ ENCODING 15809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 2180 @@ -82155,7 +121934,7 @@ ENCODING 15810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 A3E0 F920 @@ -82173,7 +121952,7 @@ ENCODING 15811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 1B00 @@ -82191,7 +121970,7 @@ ENCODING 15812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 A7C0 @@ -82209,7 +121988,7 @@ ENCODING 15813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 5BC0 6A40 @@ -82227,7 +122006,7 @@ ENCODING 15814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -82245,7 +122024,7 @@ ENCODING 15815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7A00 CFE0 @@ -82263,7 +122042,7 @@ ENCODING 15816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -82281,7 +122060,7 @@ ENCODING 15817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 4440 7C40 @@ -82299,7 +122078,7 @@ ENCODING 15818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 FFE0 @@ -82317,7 +122096,7 @@ ENCODING 15819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 22A0 21C0 @@ -82335,7 +122114,7 @@ ENCODING 15820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 ABC0 @@ -82353,7 +122132,7 @@ ENCODING 15821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -82371,7 +122150,7 @@ ENCODING 15822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -82389,7 +122168,7 @@ ENCODING 15823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 13C0 FC80 @@ -82407,7 +122186,7 @@ ENCODING 15824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2C60 2820 @@ -82425,7 +122204,7 @@ ENCODING 15825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4A80 3F80 @@ -82443,7 +122222,7 @@ ENCODING 15826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -82461,7 +122240,7 @@ ENCODING 15827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -82479,7 +122258,7 @@ ENCODING 15828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 AD20 @@ -82497,7 +122276,7 @@ ENCODING 15829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2880 FEA0 @@ -82515,7 +122294,7 @@ ENCODING 15830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8920 F920 @@ -82533,7 +122312,7 @@ ENCODING 15831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5520 5D20 @@ -82551,7 +122330,7 @@ ENCODING 15832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2000 @@ -82569,7 +122348,7 @@ ENCODING 15833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 AFE0 @@ -82587,7 +122366,7 @@ ENCODING 15834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2000 @@ -82605,7 +122384,7 @@ ENCODING 15835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 27C0 @@ -82623,7 +122402,7 @@ ENCODING 15836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -82641,7 +122420,7 @@ ENCODING 15837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -82659,7 +122438,7 @@ ENCODING 15838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 25C0 @@ -82677,7 +122456,7 @@ ENCODING 15839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2900 25E0 @@ -82695,7 +122474,7 @@ ENCODING 15840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1F00 1100 @@ -82713,7 +122492,7 @@ ENCODING 15841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 F7C0 @@ -82731,7 +122510,7 @@ ENCODING 15842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 0800 @@ -82749,7 +122528,7 @@ ENCODING 15843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 A100 @@ -82767,7 +122546,7 @@ ENCODING 15844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -82785,7 +122564,7 @@ ENCODING 15845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 A840 7080 @@ -82803,7 +122582,7 @@ ENCODING 15846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 4CA0 7AA0 @@ -82821,7 +122600,7 @@ ENCODING 15847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 ABE0 @@ -82839,7 +122618,7 @@ ENCODING 15848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 2440 @@ -82857,7 +122636,7 @@ ENCODING 15849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 5420 5EE0 @@ -82875,7 +122654,7 @@ ENCODING 15850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 AC80 @@ -82893,7 +122672,7 @@ ENCODING 15851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2460 @@ -82911,7 +122690,7 @@ ENCODING 15852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -82929,7 +122708,7 @@ ENCODING 15853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2C40 F380 @@ -82947,7 +122726,7 @@ ENCODING 15854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -82965,7 +122744,7 @@ ENCODING 15855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7100 @@ -82983,7 +122762,7 @@ ENCODING 15856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAC0 @@ -83001,7 +122780,7 @@ ENCODING 15857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4880 FBE0 @@ -83019,7 +122798,7 @@ ENCODING 15858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2280 AF80 @@ -83037,7 +122816,7 @@ ENCODING 15859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A80 57E0 @@ -83055,7 +122834,7 @@ ENCODING 15860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4CC0 7B80 @@ -83073,7 +122852,7 @@ ENCODING 15861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -83091,7 +122870,7 @@ ENCODING 15862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 2FE0 6480 @@ -83109,7 +122888,7 @@ ENCODING 15863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -83127,7 +122906,7 @@ ENCODING 15864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 2640 @@ -83145,7 +122924,7 @@ ENCODING 15865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -83163,7 +122942,7 @@ ENCODING 15866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 99E0 8B40 @@ -83181,7 +122960,7 @@ ENCODING 15867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -83199,7 +122978,7 @@ ENCODING 15868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -83217,7 +122996,7 @@ ENCODING 15869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2100 @@ -83235,7 +123014,7 @@ ENCODING 15870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 27E0 @@ -83253,7 +123032,7 @@ ENCODING 15871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 AC40 @@ -83271,7 +123050,7 @@ ENCODING 15872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -83289,7 +123068,7 @@ ENCODING 15873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26C0 2280 2FE0 @@ -83307,7 +123086,7 @@ ENCODING 15874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0240 @@ -83325,7 +123104,7 @@ ENCODING 15875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5480 7CE0 @@ -83343,7 +123122,7 @@ ENCODING 15876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -83361,7 +123140,7 @@ ENCODING 15877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2FE0 AA40 @@ -83379,7 +123158,7 @@ ENCODING 15878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 27C0 A900 @@ -83397,7 +123176,7 @@ ENCODING 15879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 2440 @@ -83415,7 +123194,7 @@ ENCODING 15880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5280 @@ -83433,7 +123212,7 @@ ENCODING 15881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 BFA0 6AC0 @@ -83451,7 +123230,7 @@ ENCODING 15882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22E0 2F40 @@ -83469,7 +123248,7 @@ ENCODING 15883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3FA0 EAC0 @@ -83487,7 +123266,7 @@ ENCODING 15884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FE0 @@ -83505,7 +123284,7 @@ ENCODING 15885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2340 2260 2F40 @@ -83523,7 +123302,7 @@ ENCODING 15886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 ABC0 @@ -83541,7 +123320,7 @@ ENCODING 15887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -83559,7 +123338,7 @@ ENCODING 15888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FD40 2BE0 @@ -83577,7 +123356,7 @@ ENCODING 15889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 5140 7FC0 @@ -83595,7 +123374,7 @@ ENCODING 15890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 7880 2480 @@ -83612,26 +123391,26 @@ STARTCHAR U_3E13 ENCODING 15891 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -07C0 -7880 -4480 -2500 +BBX 9 11 1 -1 +BITMAP +0F80 +F100 +8900 +4A00 0000 -7FC0 -4040 -7FC0 -4040 -7FC0 -4040 +FF80 +8080 +FF80 +8080 +FF80 +8080 ENDCHAR STARTCHAR U_3E14 ENCODING 15892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C80 2500 @@ -83649,7 +123428,7 @@ ENCODING 15893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D40 77E0 5540 @@ -83667,7 +123446,7 @@ ENCODING 15894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 4BC0 4640 @@ -83685,7 +123464,7 @@ ENCODING 15895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B00 71C0 0E00 @@ -83703,7 +123482,7 @@ ENCODING 15896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B00 71C0 0E00 @@ -83721,7 +123500,7 @@ ENCODING 15897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B00 71C0 0E00 @@ -83739,7 +123518,7 @@ ENCODING 15898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CB20 30C0 30C0 @@ -83757,7 +123536,7 @@ ENCODING 15899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 4BE0 4920 @@ -83775,7 +123554,7 @@ ENCODING 15900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5080 57E0 @@ -83793,7 +123572,7 @@ ENCODING 15901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 5100 @@ -83811,7 +123590,7 @@ ENCODING 15902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5280 5280 @@ -83829,7 +123608,7 @@ ENCODING 15903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5260 5380 @@ -83847,7 +123626,7 @@ ENCODING 15904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 5280 5AA0 @@ -83865,7 +123644,7 @@ ENCODING 15905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5500 57C0 @@ -83883,7 +123662,7 @@ ENCODING 15906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 53E0 5140 @@ -83901,7 +123680,7 @@ ENCODING 15907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1360 5140 57E0 @@ -83919,7 +123698,7 @@ ENCODING 15908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4A40 EAE0 @@ -83937,7 +123716,7 @@ ENCODING 15909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 5280 57E0 @@ -83955,7 +123734,7 @@ ENCODING 15910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2400 4400 @@ -83973,7 +123752,7 @@ ENCODING 15911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1440 57C0 @@ -83991,7 +123770,7 @@ ENCODING 15912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 5220 5220 @@ -84009,7 +123788,7 @@ ENCODING 15913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 53E0 5080 @@ -84027,7 +123806,7 @@ ENCODING 15914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1220 5220 52A0 @@ -84045,7 +123824,7 @@ ENCODING 15915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 A400 @@ -84063,7 +123842,7 @@ ENCODING 15916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -84081,7 +123860,7 @@ ENCODING 15917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 A540 @@ -84099,7 +123878,7 @@ ENCODING 15918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 A240 @@ -84117,7 +123896,7 @@ ENCODING 15919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 A280 @@ -84135,7 +123914,7 @@ ENCODING 15920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5080 7BE0 @@ -84153,7 +123932,7 @@ ENCODING 15921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5200 53E0 @@ -84171,7 +123950,7 @@ ENCODING 15922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 A7E0 @@ -84189,7 +123968,7 @@ ENCODING 15923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 A440 @@ -84207,7 +123986,7 @@ ENCODING 15924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1000 3F80 @@ -84225,7 +124004,7 @@ ENCODING 15925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 A7E0 @@ -84243,7 +124022,7 @@ ENCODING 15926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 A420 @@ -84261,7 +124040,7 @@ ENCODING 15927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2120 @@ -84279,7 +124058,7 @@ ENCODING 15928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 A400 @@ -84297,7 +124076,7 @@ ENCODING 15929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 A720 FD20 @@ -84315,7 +124094,7 @@ ENCODING 15930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 9540 4960 @@ -84333,7 +124112,7 @@ ENCODING 15931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 A3E0 @@ -84351,7 +124130,7 @@ ENCODING 15932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2640 A180 @@ -84369,7 +124148,7 @@ ENCODING 15933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 A440 @@ -84387,7 +124166,7 @@ ENCODING 15934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A120 FB20 @@ -84405,7 +124184,7 @@ ENCODING 15935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A080 @@ -84423,7 +124202,7 @@ ENCODING 15936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 53E0 7880 @@ -84441,7 +124220,7 @@ ENCODING 15937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 57E0 7800 @@ -84459,7 +124238,7 @@ ENCODING 15938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9240 E980 @@ -84477,7 +124256,7 @@ ENCODING 15939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7BC0 0A00 @@ -84495,7 +124274,7 @@ ENCODING 15940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 A7C0 @@ -84513,7 +124292,7 @@ ENCODING 15941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 A7E0 FAA0 @@ -84531,7 +124310,7 @@ ENCODING 15942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A920 FFC0 @@ -84549,7 +124328,7 @@ ENCODING 15943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -84567,7 +124346,7 @@ ENCODING 15944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 79E0 1340 @@ -84585,7 +124364,7 @@ ENCODING 15945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 A5E0 @@ -84603,7 +124382,7 @@ ENCODING 15946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 F920 @@ -84621,7 +124400,7 @@ ENCODING 15947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 25E0 A920 @@ -84639,7 +124418,7 @@ ENCODING 15948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A240 @@ -84657,7 +124436,7 @@ ENCODING 15949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A440 @@ -84675,7 +124454,7 @@ ENCODING 15950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A540 FFC0 @@ -84693,7 +124472,7 @@ ENCODING 15951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 A7E0 FA40 @@ -84711,7 +124490,7 @@ ENCODING 15952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3480 CB60 3100 @@ -84729,7 +124508,7 @@ ENCODING 15953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 AFE0 F080 @@ -84747,7 +124526,7 @@ ENCODING 15954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26C0 A280 FFE0 @@ -84765,7 +124544,7 @@ ENCODING 15955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A100 @@ -84783,7 +124562,7 @@ ENCODING 15956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A540 F7C0 @@ -84801,7 +124580,7 @@ ENCODING 15957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 0200 FFC0 @@ -84819,7 +124598,7 @@ ENCODING 15958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 A100 @@ -84837,7 +124616,7 @@ ENCODING 15959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A100 @@ -84855,7 +124634,7 @@ ENCODING 15960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 AFE0 @@ -84873,7 +124652,7 @@ ENCODING 15961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 A7C0 F540 @@ -84891,7 +124670,7 @@ ENCODING 15962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 27C0 A540 @@ -84909,7 +124688,7 @@ ENCODING 15963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A100 FBE0 @@ -84927,7 +124706,7 @@ ENCODING 15964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2940 2520 @@ -84945,7 +124724,7 @@ ENCODING 15965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 91C0 5680 2480 @@ -84963,7 +124742,7 @@ ENCODING 15966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 91C0 5600 2400 @@ -84981,7 +124760,7 @@ ENCODING 15967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 27C0 @@ -84999,7 +124778,7 @@ ENCODING 15968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 2FE0 @@ -85017,7 +124796,7 @@ ENCODING 15969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5100 2FE0 @@ -85035,7 +124814,7 @@ ENCODING 15970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A800 4800 7EE0 @@ -85053,7 +124832,7 @@ ENCODING 15971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9400 57C0 2440 @@ -85071,7 +124850,7 @@ ENCODING 15972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 27C0 @@ -85089,7 +124868,7 @@ ENCODING 15973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5100 2FE0 @@ -85107,7 +124886,7 @@ ENCODING 15974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 57E0 2120 @@ -85125,7 +124904,7 @@ ENCODING 15975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 27C0 @@ -85143,7 +124922,7 @@ ENCODING 15976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 2100 @@ -85161,7 +124940,7 @@ ENCODING 15977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5440 2280 @@ -85179,7 +124958,7 @@ ENCODING 15978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AEE0 6AA0 4AA0 @@ -85197,7 +124976,7 @@ ENCODING 15979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 57E0 2100 @@ -85215,7 +124994,7 @@ ENCODING 15980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 5080 27E0 @@ -85233,7 +125012,7 @@ ENCODING 15981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 27C0 @@ -85251,7 +125030,7 @@ ENCODING 15982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5100 2200 @@ -85269,7 +125048,7 @@ ENCODING 15983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5280 2480 @@ -85287,7 +125066,7 @@ ENCODING 15984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5540 2540 @@ -85305,7 +125084,7 @@ ENCODING 15985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5440 2440 @@ -85323,7 +125102,7 @@ ENCODING 15986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 57C0 2240 @@ -85341,7 +125120,7 @@ ENCODING 15987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5100 27C0 @@ -85359,7 +125138,7 @@ ENCODING 15988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5100 27C0 @@ -85377,7 +125156,7 @@ ENCODING 15989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 52A0 2540 @@ -85395,7 +125174,7 @@ ENCODING 15990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A000 6060 3DC0 @@ -85413,7 +125192,7 @@ ENCODING 15991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CC80 30C0 CCA0 @@ -85431,7 +125210,7 @@ ENCODING 15992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 57C0 2440 @@ -85449,7 +125228,7 @@ ENCODING 15993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 57E0 2500 @@ -85467,7 +125246,7 @@ ENCODING 15994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5120 2F40 @@ -85485,7 +125264,7 @@ ENCODING 15995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 91C0 5700 2100 @@ -85503,7 +125282,7 @@ ENCODING 15996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9400 5400 27E0 @@ -85521,7 +125300,7 @@ ENCODING 15997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9140 57E0 2140 @@ -85539,7 +125318,7 @@ ENCODING 15998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9440 5740 2560 @@ -85557,7 +125336,7 @@ ENCODING 15999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 53C0 2200 @@ -85575,7 +125354,7 @@ ENCODING 16000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9400 57E0 2AA0 @@ -85593,7 +125372,7 @@ ENCODING 16001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 92A0 5540 2540 @@ -85611,7 +125390,7 @@ ENCODING 16002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 90C0 50A0 27E0 @@ -85629,7 +125408,7 @@ ENCODING 16003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5FE0 2280 @@ -85647,7 +125426,7 @@ ENCODING 16004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A300 6480 2840 @@ -85665,7 +125444,7 @@ ENCODING 16005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5380 2480 @@ -85683,7 +125462,7 @@ ENCODING 16006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9440 5240 2EE0 @@ -85701,7 +125480,7 @@ ENCODING 16007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 5EC0 34A0 @@ -85719,7 +125498,7 @@ ENCODING 16008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5540 27C0 @@ -85737,7 +125516,7 @@ ENCODING 16009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2240 @@ -85755,7 +125534,7 @@ ENCODING 16010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9440 5280 2FE0 @@ -85773,7 +125552,7 @@ ENCODING 16011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5440 29A0 @@ -85791,7 +125570,7 @@ ENCODING 16012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 57E0 2280 @@ -85809,7 +125588,7 @@ ENCODING 16013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5FE0 2820 @@ -85827,7 +125606,7 @@ ENCODING 16014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 57E0 2540 @@ -85845,7 +125624,7 @@ ENCODING 16015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 57C0 2540 @@ -85863,7 +125642,7 @@ ENCODING 16016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A540 6A80 4540 @@ -85881,7 +125660,7 @@ ENCODING 16017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 57E0 2520 @@ -85899,7 +125678,7 @@ ENCODING 16018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 55A0 2360 @@ -85917,7 +125696,7 @@ ENCODING 16019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 57E0 2100 @@ -85935,7 +125714,7 @@ ENCODING 16020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 5540 2380 @@ -85953,7 +125732,7 @@ ENCODING 16021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 90E0 5F40 2540 @@ -85971,7 +125750,7 @@ ENCODING 16022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A680 6280 5FE0 @@ -85989,7 +125768,7 @@ ENCODING 16023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 5AA0 2FE0 @@ -86007,7 +125786,7 @@ ENCODING 16024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 57E0 2C80 @@ -86025,7 +125804,7 @@ ENCODING 16025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5FE0 2820 @@ -86043,7 +125822,7 @@ ENCODING 16026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8080 53E0 2880 @@ -86061,7 +125840,7 @@ ENCODING 16027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5480 27C0 @@ -86079,7 +125858,7 @@ ENCODING 16028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 5FE0 2AA0 @@ -86097,7 +125876,7 @@ ENCODING 16029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F40 5A40 2F60 @@ -86115,7 +125894,7 @@ ENCODING 16030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5660 2BA0 @@ -86133,7 +125912,7 @@ ENCODING 16031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 55A0 2360 @@ -86151,7 +125930,7 @@ ENCODING 16032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 34A0 @@ -86169,7 +125948,7 @@ ENCODING 16033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 54A0 27C0 @@ -86187,7 +125966,7 @@ ENCODING 16034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5100 2FE0 @@ -86205,7 +125984,7 @@ ENCODING 16035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 96C0 54A0 3E80 @@ -86223,7 +126002,7 @@ ENCODING 16036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AC0 55A0 3FE0 @@ -86241,7 +126020,7 @@ ENCODING 16037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9380 5480 27C0 @@ -86259,7 +126038,7 @@ ENCODING 16038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9D40 5540 36A0 @@ -86277,7 +126056,7 @@ ENCODING 16039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 5AA0 2FE0 @@ -86295,7 +126074,7 @@ ENCODING 16040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2100 @@ -86313,7 +126092,7 @@ ENCODING 16041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 1220 1220 @@ -86331,7 +126110,7 @@ ENCODING 16042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2100 @@ -86349,7 +126128,7 @@ ENCODING 16043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 FC20 1020 @@ -86367,7 +126146,7 @@ ENCODING 16044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F480 4480 @@ -86385,7 +126164,7 @@ ENCODING 16045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2040 2080 @@ -86403,7 +126182,7 @@ ENCODING 16046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2000 2000 @@ -86421,7 +126200,7 @@ ENCODING 16047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -86439,7 +126218,7 @@ ENCODING 16048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F880 2080 @@ -86457,7 +126236,7 @@ ENCODING 16049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4480 C5C0 @@ -86475,7 +126254,7 @@ ENCODING 16050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F240 4240 @@ -86493,7 +126272,7 @@ ENCODING 16051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 41E0 @@ -86511,7 +126290,7 @@ ENCODING 16052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 0140 F900 @@ -86529,7 +126308,7 @@ ENCODING 16053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 F7E0 @@ -86547,7 +126326,7 @@ ENCODING 16054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 0280 F180 @@ -86565,7 +126344,7 @@ ENCODING 16055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 F7E0 @@ -86583,7 +126362,7 @@ ENCODING 16056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 2480 E680 @@ -86601,7 +126380,7 @@ ENCODING 16057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA40 2420 @@ -86619,7 +126398,7 @@ ENCODING 16058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 4420 @@ -86637,7 +126416,7 @@ ENCODING 16059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 4FE0 @@ -86655,7 +126434,7 @@ ENCODING 16060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F120 4140 @@ -86673,7 +126452,7 @@ ENCODING 16061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 4100 @@ -86691,7 +126470,7 @@ ENCODING 16062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 4820 @@ -86709,7 +126488,7 @@ ENCODING 16063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F900 4900 @@ -86727,7 +126506,7 @@ ENCODING 16064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F7C0 @@ -86745,7 +126524,7 @@ ENCODING 16065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 2820 @@ -86763,7 +126542,7 @@ ENCODING 16066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 F240 27E0 @@ -86781,7 +126560,7 @@ ENCODING 16067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7FC0 7FC0 @@ -86799,7 +126578,7 @@ ENCODING 16068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 F700 2000 @@ -86817,7 +126596,7 @@ ENCODING 16069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 F300 @@ -86835,7 +126614,7 @@ ENCODING 16070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0240 F420 @@ -86853,7 +126632,7 @@ ENCODING 16071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2280 @@ -86871,7 +126650,7 @@ ENCODING 16072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 F700 2400 @@ -86889,7 +126668,7 @@ ENCODING 16073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 25C0 @@ -86907,7 +126686,7 @@ ENCODING 16074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F380 2480 @@ -86925,7 +126704,7 @@ ENCODING 16075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2FE0 @@ -86943,7 +126722,7 @@ ENCODING 16076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 2440 @@ -86961,7 +126740,7 @@ ENCODING 16077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -86979,7 +126758,7 @@ ENCODING 16078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -86997,7 +126776,7 @@ ENCODING 16079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F040 27C0 @@ -87015,7 +126794,7 @@ ENCODING 16080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F240 27E0 @@ -87033,7 +126812,7 @@ ENCODING 16081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 2FE0 @@ -87051,7 +126830,7 @@ ENCODING 16082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F8A0 2B20 @@ -87069,7 +126848,7 @@ ENCODING 16083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 EAE0 4AA0 @@ -87087,7 +126866,7 @@ ENCODING 16084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 2FE0 @@ -87105,7 +126884,7 @@ ENCODING 16085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 27E0 @@ -87123,7 +126902,7 @@ ENCODING 16086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2140 @@ -87141,7 +126920,7 @@ ENCODING 16087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 F1E0 1100 @@ -87159,7 +126938,7 @@ ENCODING 16088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -87177,7 +126956,7 @@ ENCODING 16089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2240 @@ -87195,7 +126974,7 @@ ENCODING 16090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 2AA0 @@ -87213,7 +126992,7 @@ ENCODING 16091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -87231,7 +127010,7 @@ ENCODING 16092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F240 24C0 @@ -87249,7 +127028,7 @@ ENCODING 16093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FFA0 2260 @@ -87267,7 +127046,7 @@ ENCODING 16094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2420 @@ -87285,7 +127064,7 @@ ENCODING 16095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2200 @@ -87303,7 +127082,7 @@ ENCODING 16096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 03E0 FA20 @@ -87321,7 +127100,7 @@ ENCODING 16097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 0FE0 E540 @@ -87339,7 +127118,7 @@ ENCODING 16098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 0EE0 E500 @@ -87357,7 +127136,7 @@ ENCODING 16099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 2240 @@ -87375,7 +127154,7 @@ ENCODING 16100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 2240 @@ -87393,7 +127172,7 @@ ENCODING 16101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 2FE0 @@ -87411,7 +127190,7 @@ ENCODING 16102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 2FE0 @@ -87429,7 +127208,7 @@ ENCODING 16103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F740 25E0 @@ -87447,7 +127226,7 @@ ENCODING 16104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A2A0 FD40 @@ -87465,7 +127244,7 @@ ENCODING 16105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E500 5FE0 @@ -87483,7 +127262,7 @@ ENCODING 16106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F7E0 2C80 @@ -87501,7 +127280,7 @@ ENCODING 16107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 4FE0 @@ -87519,7 +127298,7 @@ ENCODING 16108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 2FE0 @@ -87537,7 +127316,7 @@ ENCODING 16109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4100 @@ -87555,7 +127334,7 @@ ENCODING 16110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EFE0 4920 @@ -87573,7 +127352,7 @@ ENCODING 16111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 E100 5FE0 @@ -87591,7 +127370,7 @@ ENCODING 16112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EEE0 4440 @@ -87609,7 +127388,7 @@ ENCODING 16113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E9C0 4340 @@ -87627,7 +127406,7 @@ ENCODING 16114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 4D60 @@ -87645,7 +127424,7 @@ ENCODING 16115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFE0 4480 @@ -87663,7 +127442,7 @@ ENCODING 16116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 47C0 @@ -87681,7 +127460,7 @@ ENCODING 16117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 4FE0 @@ -87699,7 +127478,7 @@ ENCODING 16118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0FE0 F540 @@ -87717,7 +127496,7 @@ ENCODING 16119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E480 @@ -87735,7 +127514,7 @@ ENCODING 16120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 1540 F540 @@ -87753,7 +127532,7 @@ ENCODING 16121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2140 3A80 @@ -87771,7 +127550,7 @@ ENCODING 16122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5DC0 4880 @@ -87789,7 +127568,7 @@ ENCODING 16123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1F80 E080 @@ -87807,7 +127586,7 @@ ENCODING 16124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0280 EFE0 @@ -87825,7 +127604,7 @@ ENCODING 16125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0FE0 E900 @@ -87843,7 +127622,7 @@ ENCODING 16126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1280 @@ -87861,7 +127640,7 @@ ENCODING 16127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0AA0 EFE0 @@ -87879,7 +127658,7 @@ ENCODING 16128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0BC0 E100 @@ -87897,7 +127676,7 @@ ENCODING 16129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 2100 @@ -87915,7 +127694,7 @@ ENCODING 16130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 36C0 4440 77C0 @@ -87933,7 +127712,7 @@ ENCODING 16131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 F540 22A0 @@ -87951,7 +127730,7 @@ ENCODING 16132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 2540 @@ -87969,7 +127748,7 @@ ENCODING 16133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2A40 @@ -87987,7 +127766,7 @@ ENCODING 16134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 F7C0 2540 @@ -88005,7 +127784,7 @@ ENCODING 16135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04A0 F7E0 2280 @@ -88023,7 +127802,7 @@ ENCODING 16136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2FE0 @@ -88041,7 +127820,7 @@ ENCODING 16137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 7880 5BE0 @@ -88059,7 +127838,7 @@ ENCODING 16138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 FD40 @@ -88077,7 +127856,7 @@ ENCODING 16139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 4740 FD40 @@ -88095,7 +127874,7 @@ ENCODING 16140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78E0 A740 B540 @@ -88113,7 +127892,7 @@ ENCODING 16141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 FF40 2540 @@ -88131,7 +127910,7 @@ ENCODING 16142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 7480 57E0 @@ -88149,7 +127928,7 @@ ENCODING 16143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 38E0 CF40 B540 @@ -88167,7 +127946,7 @@ ENCODING 16144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FFC0 8D40 @@ -88185,7 +127964,7 @@ ENCODING 16145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 FF40 1540 @@ -88203,7 +127982,7 @@ ENCODING 16146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DC0 7540 55C0 @@ -88221,7 +128000,7 @@ ENCODING 16147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 AFE0 AA80 @@ -88239,7 +128018,7 @@ ENCODING 16148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9740 F540 @@ -88257,7 +128036,7 @@ ENCODING 16149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 A7C0 FD40 @@ -88275,7 +128054,7 @@ ENCODING 16150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3B80 F480 AFE0 @@ -88293,7 +128072,7 @@ ENCODING 16151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FA00 2200 @@ -88311,7 +128090,7 @@ ENCODING 16152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 2100 @@ -88329,7 +128108,7 @@ ENCODING 16153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2100 @@ -88347,7 +128126,7 @@ ENCODING 16154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 2100 @@ -88365,7 +128144,7 @@ ENCODING 16155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4900 4900 @@ -88383,7 +128162,7 @@ ENCODING 16156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -88401,7 +128180,7 @@ ENCODING 16157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 CA40 32A0 @@ -88419,7 +128198,7 @@ ENCODING 16158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2100 A900 @@ -88437,7 +128216,7 @@ ENCODING 16159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 4FE0 F200 @@ -88455,7 +128234,7 @@ ENCODING 16160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F900 @@ -88473,7 +128252,7 @@ ENCODING 16161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 57E0 7900 @@ -88491,7 +128270,7 @@ ENCODING 16162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 9100 @@ -88509,7 +128288,7 @@ ENCODING 16163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 2100 @@ -88527,7 +128306,7 @@ ENCODING 16164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 1120 @@ -88545,7 +128324,7 @@ ENCODING 16165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 7900 @@ -88563,7 +128342,7 @@ ENCODING 16166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2340 3AC0 @@ -88581,7 +128360,7 @@ ENCODING 16167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5100 2100 @@ -88599,7 +128378,7 @@ ENCODING 16168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57C0 AA00 @@ -88617,7 +128396,7 @@ ENCODING 16169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 17E0 1100 @@ -88635,7 +128414,7 @@ ENCODING 16170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -88653,7 +128432,7 @@ ENCODING 16171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A900 F900 @@ -88671,7 +128450,7 @@ ENCODING 16172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77E0 2100 @@ -88689,7 +128468,7 @@ ENCODING 16173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 F900 23E0 @@ -88707,7 +128486,7 @@ ENCODING 16174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -88725,7 +128504,7 @@ ENCODING 16175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -88743,7 +128522,7 @@ ENCODING 16176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 FA00 AA00 @@ -88761,7 +128540,7 @@ ENCODING 16177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B80 0A20 FBE0 @@ -88779,7 +128558,7 @@ ENCODING 16178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2200 FE00 @@ -88797,7 +128576,7 @@ ENCODING 16179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 6BE0 B500 @@ -88815,7 +128594,7 @@ ENCODING 16180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A900 F900 @@ -88833,7 +128612,7 @@ ENCODING 16181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 4BE0 7900 @@ -88851,7 +128630,7 @@ ENCODING 16182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BC0 4500 @@ -88869,7 +128648,7 @@ ENCODING 16183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABE0 A900 @@ -88887,7 +128666,7 @@ ENCODING 16184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 8500 @@ -88905,7 +128684,7 @@ ENCODING 16185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 FFE0 4900 @@ -88923,7 +128702,7 @@ ENCODING 16186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FE0 5100 @@ -88941,7 +128720,7 @@ ENCODING 16187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3280 CD60 3500 @@ -88959,7 +128738,7 @@ ENCODING 16188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5100 F900 @@ -88977,7 +128756,7 @@ ENCODING 16189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 FD00 @@ -88995,7 +128774,7 @@ ENCODING 16190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FE0 5500 @@ -89013,7 +128792,7 @@ ENCODING 16191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 8900 @@ -89031,7 +128810,7 @@ ENCODING 16192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 FFE0 2900 @@ -89049,7 +128828,7 @@ ENCODING 16193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4CC0 4880 @@ -89067,7 +128846,7 @@ ENCODING 16194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 4BE0 B500 @@ -89085,7 +128864,7 @@ ENCODING 16195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 ABE0 F900 @@ -89103,7 +128882,7 @@ ENCODING 16196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49C0 FD00 59E0 @@ -89121,7 +128900,7 @@ ENCODING 16197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EBE0 B500 5900 @@ -89139,7 +128918,7 @@ ENCODING 16198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A400 6BE0 F900 @@ -89157,7 +128936,7 @@ ENCODING 16199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B80 2480 3B80 @@ -89175,7 +128954,7 @@ ENCODING 16200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 59E0 6040 7BE0 @@ -89193,7 +128972,7 @@ ENCODING 16201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 9480 EBE0 @@ -89211,7 +128990,7 @@ ENCODING 16202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5400 FFE0 5500 @@ -89229,7 +129008,7 @@ ENCODING 16203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 4480 FFE0 @@ -89247,7 +129026,7 @@ ENCODING 16204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 1100 FF00 @@ -89265,7 +129044,7 @@ ENCODING 16205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 4900 @@ -89283,7 +129062,7 @@ ENCODING 16206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FC80 4BE0 @@ -89301,7 +129080,7 @@ ENCODING 16207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 9280 47C0 @@ -89319,7 +129098,7 @@ ENCODING 16208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 57E0 FA80 @@ -89337,7 +129116,7 @@ ENCODING 16209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 5280 FFC0 @@ -89355,7 +129134,7 @@ ENCODING 16210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 AA80 FFE0 @@ -89373,7 +129152,7 @@ ENCODING 16211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3F80 4400 @@ -89391,7 +129170,7 @@ ENCODING 16212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 D880 5280 @@ -89409,7 +129188,7 @@ ENCODING 16213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -89427,7 +129206,7 @@ ENCODING 16214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F900 @@ -89445,7 +129224,7 @@ ENCODING 16215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F900 @@ -89463,7 +129242,7 @@ ENCODING 16216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 FFE0 @@ -89481,7 +129260,7 @@ ENCODING 16217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FA40 @@ -89499,7 +129278,7 @@ ENCODING 16218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -89517,7 +129296,7 @@ ENCODING 16219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FBE0 @@ -89535,7 +129314,7 @@ ENCODING 16220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 8A40 @@ -89552,8 +129331,8 @@ STARTCHAR U_3F5D ENCODING 16221 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FC40 2140 3940 @@ -89570,26 +129349,25 @@ STARTCHAR U_3F5E ENCODING 16222 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7BC0 -4A40 -4A40 -7BC0 +BBX 9 10 1 -1 +BITMAP +F780 +9480 +9480 +F780 0000 -3F80 -2480 -3F80 -2480 -3F80 +7F00 +4900 +7F00 +4900 +7F00 ENDCHAR STARTCHAR U_3F5F ENCODING 16223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 0700 FAA0 @@ -89607,7 +129385,7 @@ ENCODING 16224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FFE0 @@ -89625,7 +129403,7 @@ ENCODING 16225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 03E0 FAA0 @@ -89643,7 +129421,7 @@ ENCODING 16226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 07E0 F940 @@ -89661,7 +129439,7 @@ ENCODING 16227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 00A0 FFE0 @@ -89679,7 +129457,7 @@ ENCODING 16228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07E0 F920 @@ -89697,7 +129475,7 @@ ENCODING 16229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F880 AFE0 @@ -89715,7 +129493,7 @@ ENCODING 16230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3B80 2A80 @@ -89733,7 +129511,7 @@ ENCODING 16231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 07E0 FA40 @@ -89751,7 +129529,7 @@ ENCODING 16232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 07E0 F900 @@ -89769,7 +129547,7 @@ ENCODING 16233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0240 FBC0 @@ -89787,7 +129565,7 @@ ENCODING 16234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0FE0 F920 @@ -89805,7 +129583,7 @@ ENCODING 16235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 5280 @@ -89823,7 +129601,7 @@ ENCODING 16236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0000 F3C0 @@ -89841,7 +129619,7 @@ ENCODING 16237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 AFE0 @@ -89859,7 +129637,7 @@ ENCODING 16238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -89877,7 +129655,7 @@ ENCODING 16239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 07E0 FA80 @@ -89894,9 +129672,8 @@ STARTCHAR U_3F70 ENCODING 16240 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7DE0 5460 5440 @@ -89913,7 +129690,7 @@ ENCODING 16241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -89931,7 +129708,7 @@ ENCODING 16242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -89949,7 +129726,7 @@ ENCODING 16243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -89967,7 +129744,7 @@ ENCODING 16244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A080 @@ -89985,7 +129762,7 @@ ENCODING 16245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90003,7 +129780,7 @@ ENCODING 16246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90021,7 +129798,7 @@ ENCODING 16247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90039,7 +129816,7 @@ ENCODING 16248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90057,7 +129834,7 @@ ENCODING 16249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90075,7 +129852,7 @@ ENCODING 16250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90093,7 +129870,7 @@ ENCODING 16251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90111,7 +129888,7 @@ ENCODING 16252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90129,7 +129906,7 @@ ENCODING 16253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90147,7 +129924,7 @@ ENCODING 16254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90165,7 +129942,7 @@ ENCODING 16255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90183,7 +129960,7 @@ ENCODING 16256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90201,7 +129978,7 @@ ENCODING 16257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -90219,7 +129996,7 @@ ENCODING 16258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A200 @@ -90237,7 +130014,7 @@ ENCODING 16259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -90255,7 +130032,7 @@ ENCODING 16260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90273,7 +130050,7 @@ ENCODING 16261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90291,7 +130068,7 @@ ENCODING 16262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90309,7 +130086,7 @@ ENCODING 16263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90327,7 +130104,7 @@ ENCODING 16264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90345,7 +130122,7 @@ ENCODING 16265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90363,7 +130140,7 @@ ENCODING 16266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90381,7 +130158,7 @@ ENCODING 16267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90399,7 +130176,7 @@ ENCODING 16268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -90417,7 +130194,7 @@ ENCODING 16269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90435,7 +130212,7 @@ ENCODING 16270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90453,7 +130230,7 @@ ENCODING 16271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90471,7 +130248,7 @@ ENCODING 16272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90489,7 +130266,7 @@ ENCODING 16273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A300 @@ -90507,7 +130284,7 @@ ENCODING 16274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -90525,7 +130302,7 @@ ENCODING 16275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AFC0 @@ -90543,7 +130320,7 @@ ENCODING 16276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90561,7 +130338,7 @@ ENCODING 16277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90579,7 +130356,7 @@ ENCODING 16278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AFE0 @@ -90597,7 +130374,7 @@ ENCODING 16279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90615,7 +130392,7 @@ ENCODING 16280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90633,7 +130410,7 @@ ENCODING 16281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AC40 @@ -90651,7 +130428,7 @@ ENCODING 16282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -90669,7 +130446,7 @@ ENCODING 16283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A040 @@ -90687,7 +130464,7 @@ ENCODING 16284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90705,7 +130482,7 @@ ENCODING 16285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90723,7 +130500,7 @@ ENCODING 16286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90741,7 +130518,7 @@ ENCODING 16287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90759,7 +130536,7 @@ ENCODING 16288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90777,7 +130554,7 @@ ENCODING 16289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -90795,7 +130572,7 @@ ENCODING 16290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90813,7 +130590,7 @@ ENCODING 16291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -90831,7 +130608,7 @@ ENCODING 16292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90849,7 +130626,7 @@ ENCODING 16293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -90867,7 +130644,7 @@ ENCODING 16294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90885,7 +130662,7 @@ ENCODING 16295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AFE0 @@ -90903,7 +130680,7 @@ ENCODING 16296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90921,7 +130698,7 @@ ENCODING 16297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A0C0 @@ -90939,7 +130716,7 @@ ENCODING 16298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -90957,7 +130734,7 @@ ENCODING 16299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -90975,7 +130752,7 @@ ENCODING 16300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -90993,7 +130770,7 @@ ENCODING 16301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -91011,7 +130788,7 @@ ENCODING 16302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A7C0 @@ -91029,7 +130806,7 @@ ENCODING 16303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -91047,7 +130824,7 @@ ENCODING 16304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -91065,7 +130842,7 @@ ENCODING 16305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -91083,7 +130860,7 @@ ENCODING 16306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 A500 @@ -91101,7 +130878,7 @@ ENCODING 16307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -91119,7 +130896,7 @@ ENCODING 16308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -91137,7 +130914,7 @@ ENCODING 16309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2100 3FE0 @@ -91155,7 +130932,7 @@ ENCODING 16310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -91173,7 +130950,7 @@ ENCODING 16311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -91191,7 +130968,7 @@ ENCODING 16312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2100 @@ -91209,7 +130986,7 @@ ENCODING 16313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 2280 @@ -91227,7 +131004,7 @@ ENCODING 16314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2900 @@ -91245,7 +131022,7 @@ ENCODING 16315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4080 @@ -91263,7 +131040,7 @@ ENCODING 16316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2240 @@ -91281,7 +131058,7 @@ ENCODING 16317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2080 @@ -91299,7 +131076,7 @@ ENCODING 16318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2480 @@ -91317,7 +131094,7 @@ ENCODING 16319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -91335,7 +131112,7 @@ ENCODING 16320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4100 @@ -91353,7 +131130,7 @@ ENCODING 16321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -91371,7 +131148,7 @@ ENCODING 16322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4500 @@ -91389,7 +131166,7 @@ ENCODING 16323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 D540 @@ -91407,7 +131184,7 @@ ENCODING 16324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -91425,7 +131202,7 @@ ENCODING 16325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2480 @@ -91443,7 +131220,7 @@ ENCODING 16326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -91461,7 +131238,7 @@ ENCODING 16327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -91479,7 +131256,7 @@ ENCODING 16328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -91497,7 +131274,7 @@ ENCODING 16329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -91515,7 +131292,7 @@ ENCODING 16330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -91533,7 +131310,7 @@ ENCODING 16331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -91551,7 +131328,7 @@ ENCODING 16332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -91569,7 +131346,7 @@ ENCODING 16333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -91587,7 +131364,7 @@ ENCODING 16334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -91605,7 +131382,7 @@ ENCODING 16335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -91623,7 +131400,7 @@ ENCODING 16336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4480 @@ -91641,7 +131418,7 @@ ENCODING 16337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -91659,7 +131436,7 @@ ENCODING 16338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -91677,7 +131454,7 @@ ENCODING 16339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -91695,7 +131472,7 @@ ENCODING 16340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A540 @@ -91713,7 +131490,7 @@ ENCODING 16341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -91731,7 +131508,7 @@ ENCODING 16342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -91749,7 +131526,7 @@ ENCODING 16343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -91767,7 +131544,7 @@ ENCODING 16344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 6AA0 @@ -91785,7 +131562,7 @@ ENCODING 16345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A540 @@ -91803,7 +131580,7 @@ ENCODING 16346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -91821,7 +131598,7 @@ ENCODING 16347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -91839,7 +131616,7 @@ ENCODING 16348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -91856,26 +131633,26 @@ STARTCHAR U_3FDD ENCODING 16349 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -1000 -3FC0 -2040 -3FC0 -2040 -3FC0 +BBX 10 11 1 -1 +BITMAP 1000 -2040 -4060 -3FA0 +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 +BITMAP 21C0 4700 F100 @@ -91893,7 +131670,7 @@ ENCODING 16351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4100 F7E0 @@ -91911,7 +131688,7 @@ ENCODING 16352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4920 F540 @@ -91929,7 +131706,7 @@ ENCODING 16353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -91946,26 +131723,26 @@ STARTCHAR U_3FE2 ENCODING 16354 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -4A40 -7BC0 -4A40 -7BC0 -0640 -3F80 -2080 -3F80 -2080 -3F80 +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 +BITMAP 27C0 4440 F7C0 @@ -91983,7 +131760,7 @@ ENCODING 16356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 F100 @@ -92001,7 +131778,7 @@ ENCODING 16357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 F920 @@ -92019,7 +131796,7 @@ ENCODING 16358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2260 @@ -92037,7 +131814,7 @@ ENCODING 16359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 8100 @@ -92055,7 +131832,7 @@ ENCODING 16360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 8920 EEC0 @@ -92073,7 +131850,7 @@ ENCODING 16361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 4FE0 8AA0 @@ -92091,7 +131868,7 @@ ENCODING 16362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBC0 @@ -92109,7 +131886,7 @@ ENCODING 16363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BC0 4220 @@ -92127,7 +131904,7 @@ ENCODING 16364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 AAA0 @@ -92145,7 +131922,7 @@ ENCODING 16365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 6080 43E0 @@ -92163,7 +131940,7 @@ ENCODING 16366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -92181,7 +131958,7 @@ ENCODING 16367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 E0E0 3F80 @@ -92199,7 +131976,7 @@ ENCODING 16368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 52A0 @@ -92217,7 +131994,7 @@ ENCODING 16369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FB00 23E0 @@ -92235,7 +132012,7 @@ ENCODING 16370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -92253,7 +132030,7 @@ ENCODING 16371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 22A0 FD40 @@ -92271,7 +132048,7 @@ ENCODING 16372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -92289,7 +132066,7 @@ ENCODING 16373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -92307,7 +132084,7 @@ ENCODING 16374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 53E0 @@ -92325,7 +132102,7 @@ ENCODING 16375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 23E0 @@ -92343,7 +132120,7 @@ ENCODING 16376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FB40 AA40 @@ -92361,7 +132138,7 @@ ENCODING 16377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 A880 @@ -92379,7 +132156,7 @@ ENCODING 16378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 FBE0 8AA0 @@ -92397,7 +132174,7 @@ ENCODING 16379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -92415,7 +132192,7 @@ ENCODING 16380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1100 1100 @@ -92433,7 +132210,7 @@ ENCODING 16381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5F40 8820 @@ -92451,7 +132228,7 @@ ENCODING 16382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -92468,9 +132245,8 @@ STARTCHAR U_3FFF ENCODING 16383 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0440 2700 @@ -92487,7 +132263,7 @@ ENCODING 16384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8540 @@ -92505,7 +132281,7 @@ ENCODING 16385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0800 @@ -92523,7 +132299,7 @@ ENCODING 16386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4420 @@ -92541,7 +132317,7 @@ ENCODING 16387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 7580 @@ -92559,7 +132335,7 @@ ENCODING 16388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4A40 @@ -92577,7 +132353,7 @@ ENCODING 16389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F100 17C0 @@ -92595,7 +132371,7 @@ ENCODING 16390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7F80 0480 @@ -92613,7 +132389,7 @@ ENCODING 16391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 F7C0 2900 @@ -92631,7 +132407,7 @@ ENCODING 16392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8880 FA80 @@ -92649,7 +132425,7 @@ ENCODING 16393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 0400 FFE0 @@ -92667,7 +132443,7 @@ ENCODING 16394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 8660 @@ -92685,7 +132461,7 @@ ENCODING 16395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2500 F9E0 @@ -92703,7 +132479,7 @@ ENCODING 16396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0480 @@ -92721,7 +132497,7 @@ ENCODING 16397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFC0 5480 @@ -92739,7 +132515,7 @@ ENCODING 16398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F200 9200 @@ -92757,7 +132533,7 @@ ENCODING 16399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 2020 @@ -92775,7 +132551,7 @@ ENCODING 16400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 F840 8B80 @@ -92792,9 +132568,8 @@ STARTCHAR U_4011 ENCODING 16401 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP EFC0 A240 E940 @@ -92811,7 +132586,7 @@ ENCODING 16402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -92829,7 +132604,7 @@ ENCODING 16403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 9200 @@ -92847,7 +132622,7 @@ ENCODING 16404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F120 9120 @@ -92865,7 +132640,7 @@ ENCODING 16405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0720 F120 9720 @@ -92883,7 +132658,7 @@ ENCODING 16406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9100 @@ -92901,7 +132676,7 @@ ENCODING 16407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97C0 @@ -92919,7 +132694,7 @@ ENCODING 16408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F280 9280 @@ -92937,7 +132712,7 @@ ENCODING 16409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 F4A0 94A0 @@ -92954,26 +132729,26 @@ STARTCHAR U_401A ENCODING 16410 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -3480 -2A80 -3F80 -1000 -63C0 -4A40 -4A40 -6AC0 -1200 -6200 +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 +BITMAP 0400 F400 97E0 @@ -92990,8 +132765,8 @@ STARTCHAR U_401C ENCODING 16412 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 0 -1 +BITMAP 2000 3F80 4A80 @@ -93009,7 +132784,7 @@ ENCODING 16413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 9520 @@ -93027,7 +132802,7 @@ ENCODING 16414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F480 9280 @@ -93045,7 +132820,7 @@ ENCODING 16415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 97E0 @@ -93063,7 +132838,7 @@ ENCODING 16416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 9420 @@ -93081,7 +132856,7 @@ ENCODING 16417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 91E0 @@ -93099,7 +132874,7 @@ ENCODING 16418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F400 97C0 @@ -93117,7 +132892,7 @@ ENCODING 16419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F140 9240 @@ -93135,7 +132910,7 @@ ENCODING 16420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3D00 2540 @@ -93153,7 +132928,7 @@ ENCODING 16421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0700 F400 @@ -93171,7 +132946,7 @@ ENCODING 16422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9100 @@ -93189,7 +132964,7 @@ ENCODING 16423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 97C0 @@ -93207,7 +132982,7 @@ ENCODING 16424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -93225,7 +133000,7 @@ ENCODING 16425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7C0 9840 @@ -93243,7 +133018,7 @@ ENCODING 16426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E5C0 A800 @@ -93261,7 +133036,7 @@ ENCODING 16427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -93279,7 +133054,7 @@ ENCODING 16428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F280 @@ -93297,7 +133072,7 @@ ENCODING 16429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -93315,7 +133090,7 @@ ENCODING 16430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 FFE0 @@ -93333,7 +133108,7 @@ ENCODING 16431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 F140 9FE0 @@ -93351,7 +133126,7 @@ ENCODING 16432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9440 @@ -93369,7 +133144,7 @@ ENCODING 16433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7C0 AC40 @@ -93387,7 +133162,7 @@ ENCODING 16434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7E0 A800 @@ -93405,7 +133180,7 @@ ENCODING 16435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -93423,7 +133198,7 @@ ENCODING 16436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E540 AA80 @@ -93441,7 +133216,7 @@ ENCODING 16437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E480 AFC0 @@ -93458,8 +133233,8 @@ STARTCHAR U_4036 ENCODING 16438 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP E100 AFC0 A840 @@ -93477,7 +133252,7 @@ ENCODING 16439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 AE80 @@ -93495,7 +133270,7 @@ ENCODING 16440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA00 23E0 @@ -93513,7 +133288,7 @@ ENCODING 16441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -93531,7 +133306,7 @@ ENCODING 16442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 11E0 2B40 @@ -93549,7 +133324,7 @@ ENCODING 16443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A540 @@ -93567,7 +133342,7 @@ ENCODING 16444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A800 AF80 @@ -93585,7 +133360,7 @@ ENCODING 16445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 EDC0 A440 @@ -93603,7 +133378,7 @@ ENCODING 16446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2140 7880 @@ -93621,7 +133396,7 @@ ENCODING 16447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E460 AF80 @@ -93639,7 +133414,7 @@ ENCODING 16448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -93657,7 +133432,7 @@ ENCODING 16449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A000 @@ -93675,7 +133450,7 @@ ENCODING 16450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A240 F280 @@ -93693,7 +133468,7 @@ ENCODING 16451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -93711,7 +133486,7 @@ ENCODING 16452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EF80 A200 @@ -93729,7 +133504,7 @@ ENCODING 16453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A080 A100 @@ -93747,7 +133522,7 @@ ENCODING 16454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 BFC0 A500 @@ -93765,7 +133540,7 @@ ENCODING 16455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 94A0 @@ -93783,7 +133558,7 @@ ENCODING 16456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 4540 @@ -93801,7 +133576,7 @@ ENCODING 16457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7FE0 4940 @@ -93819,7 +133594,7 @@ ENCODING 16458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A280 A100 @@ -93837,7 +133612,7 @@ ENCODING 16459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 BFE0 AA80 @@ -93855,7 +133630,7 @@ ENCODING 16460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A920 AFE0 @@ -93873,7 +133648,7 @@ ENCODING 16461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 EFE0 A880 @@ -93891,7 +133666,7 @@ ENCODING 16462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A000 @@ -93909,7 +133684,7 @@ ENCODING 16463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A280 AFE0 @@ -93927,7 +133702,7 @@ ENCODING 16464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFC0 A480 @@ -93945,7 +133720,7 @@ ENCODING 16465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 AA40 A940 @@ -93963,7 +133738,7 @@ ENCODING 16466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A7C0 @@ -93981,7 +133756,7 @@ ENCODING 16467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 A920 AAA0 @@ -93999,7 +133774,7 @@ ENCODING 16468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1E0 AEA0 A540 @@ -94017,7 +133792,7 @@ ENCODING 16469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A840 AFC0 @@ -94035,7 +133810,7 @@ ENCODING 16470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A540 AFE0 @@ -94053,7 +133828,7 @@ ENCODING 16471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 AF80 A000 @@ -94071,7 +133846,7 @@ ENCODING 16472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0C0 BF20 A540 @@ -94089,7 +133864,7 @@ ENCODING 16473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A540 A4C0 @@ -94107,7 +133882,7 @@ ENCODING 16474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9240 97E0 @@ -94125,7 +133900,7 @@ ENCODING 16475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AF80 AA80 @@ -94143,7 +133918,7 @@ ENCODING 16476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A7C0 @@ -94161,7 +133936,7 @@ ENCODING 16477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 71C0 2080 @@ -94179,7 +133954,7 @@ ENCODING 16478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2940 1080 @@ -94197,7 +133972,7 @@ ENCODING 16479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 A280 AFC0 @@ -94215,7 +133990,7 @@ ENCODING 16480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 EFC0 A500 @@ -94233,7 +134008,7 @@ ENCODING 16481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -94251,7 +134026,7 @@ ENCODING 16482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E880 BEE0 @@ -94269,7 +134044,7 @@ ENCODING 16483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A540 @@ -94287,7 +134062,7 @@ ENCODING 16484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -94305,7 +134080,7 @@ ENCODING 16485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AA80 AFC0 @@ -94323,7 +134098,7 @@ ENCODING 16486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E180 A100 AFE0 @@ -94340,8 +134115,8 @@ STARTCHAR U_4067 ENCODING 16487 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0500 EF80 A200 @@ -94359,7 +134134,7 @@ ENCODING 16488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EEE0 A0A0 @@ -94377,7 +134152,7 @@ ENCODING 16489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E780 A900 @@ -94395,7 +134170,7 @@ ENCODING 16490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 EEC0 A480 @@ -94413,7 +134188,7 @@ ENCODING 16491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 AAC0 AF40 @@ -94431,7 +134206,7 @@ ENCODING 16492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 AD60 @@ -94449,7 +134224,7 @@ ENCODING 16493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFC0 A200 @@ -94467,7 +134242,7 @@ ENCODING 16494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 F540 AEE0 @@ -94485,7 +134260,7 @@ ENCODING 16495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E280 A7C0 @@ -94503,7 +134278,7 @@ ENCODING 16496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1E0 BC80 ABE0 @@ -94521,7 +134296,7 @@ ENCODING 16497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 A7C0 A540 @@ -94539,7 +134314,7 @@ ENCODING 16498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AAA0 AFE0 @@ -94557,7 +134332,7 @@ ENCODING 16499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFE0 A480 @@ -94575,7 +134350,7 @@ ENCODING 16500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A440 @@ -94593,7 +134368,7 @@ ENCODING 16501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -94611,7 +134386,7 @@ ENCODING 16502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EE80 AAE0 @@ -94629,7 +134404,7 @@ ENCODING 16503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 4440 6AC0 @@ -94647,7 +134422,7 @@ ENCODING 16504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 AAA0 @@ -94665,7 +134440,7 @@ ENCODING 16505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E080 AFE0 AAA0 @@ -94683,7 +134458,7 @@ ENCODING 16506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AAA0 AFE0 @@ -94701,7 +134476,7 @@ ENCODING 16507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA40 AF40 B580 @@ -94719,7 +134494,7 @@ ENCODING 16508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 ED60 ABA0 @@ -94737,7 +134512,7 @@ ENCODING 16509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 EA80 A540 @@ -94755,7 +134530,7 @@ ENCODING 16510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 AFE0 A480 @@ -94773,7 +134548,7 @@ ENCODING 16511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 54C0 7CA0 @@ -94791,7 +134566,7 @@ ENCODING 16512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFC0 A200 @@ -94809,7 +134584,7 @@ ENCODING 16513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7C0 9C40 @@ -94827,7 +134602,7 @@ ENCODING 16514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -94845,7 +134620,7 @@ ENCODING 16515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 EE20 A540 @@ -94863,7 +134638,7 @@ ENCODING 16516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -94881,7 +134656,7 @@ ENCODING 16517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 EF80 B4A0 @@ -94898,8 +134673,8 @@ STARTCHAR U_4086 ENCODING 16518 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F200 1200 53C0 @@ -94917,7 +134692,7 @@ ENCODING 16519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1140 5140 @@ -94935,7 +134710,7 @@ ENCODING 16520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 5100 @@ -94953,7 +134728,7 @@ ENCODING 16521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 13C0 5440 @@ -94971,7 +134746,7 @@ ENCODING 16522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 13C0 5240 @@ -94989,7 +134764,7 @@ ENCODING 16523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F140 2080 @@ -95007,7 +134782,7 @@ ENCODING 16524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 17E0 5240 @@ -95025,7 +134800,7 @@ ENCODING 16525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1640 5540 @@ -95043,7 +134818,7 @@ ENCODING 16526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 1FE0 5540 @@ -95061,7 +134836,7 @@ ENCODING 16527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7920 @@ -95079,7 +134854,7 @@ ENCODING 16528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7520 @@ -95097,7 +134872,7 @@ ENCODING 16529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4480 7C80 @@ -95115,7 +134890,7 @@ ENCODING 16530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7BE0 @@ -95133,7 +134908,7 @@ ENCODING 16531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7FC0 @@ -95151,7 +134926,7 @@ ENCODING 16532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7900 @@ -95169,7 +134944,7 @@ ENCODING 16533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43C0 7A40 @@ -95186,9 +134961,8 @@ STARTCHAR U_4096 ENCODING 16534 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0900 @@ -95205,7 +134979,7 @@ ENCODING 16535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FE00 2200 @@ -95222,9 +134996,8 @@ STARTCHAR U_4098 ENCODING 16536 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFC0 2440 2540 @@ -95241,7 +135014,7 @@ ENCODING 16537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FA20 2240 @@ -95259,7 +135032,7 @@ ENCODING 16538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA40 2180 @@ -95277,7 +135050,7 @@ ENCODING 16539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F840 2280 @@ -95295,7 +135068,7 @@ ENCODING 16540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -95313,7 +135086,7 @@ ENCODING 16541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0180 FD40 @@ -95331,7 +135104,7 @@ ENCODING 16542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 1F80 @@ -95348,8 +135121,8 @@ STARTCHAR U_409F ENCODING 16543 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 7BC0 2A40 @@ -95367,7 +135140,7 @@ ENCODING 16544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23C0 @@ -95385,7 +135158,7 @@ ENCODING 16545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FB00 2200 @@ -95403,7 +135176,7 @@ ENCODING 16546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBC0 2440 @@ -95421,7 +135194,7 @@ ENCODING 16547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F940 2140 @@ -95439,7 +135212,7 @@ ENCODING 16548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F940 2240 @@ -95457,7 +135230,7 @@ ENCODING 16549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 27C0 @@ -95475,7 +135248,7 @@ ENCODING 16550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2280 @@ -95493,7 +135266,7 @@ ENCODING 16551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FC00 27E0 @@ -95511,7 +135284,7 @@ ENCODING 16552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF00 2400 @@ -95529,7 +135302,7 @@ ENCODING 16553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 2520 @@ -95547,7 +135320,7 @@ ENCODING 16554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FA80 2280 @@ -95565,7 +135338,7 @@ ENCODING 16555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 03E0 FE20 @@ -95583,7 +135356,7 @@ ENCODING 16556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 2480 2680 @@ -95601,7 +135374,7 @@ ENCODING 16557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 FFE0 @@ -95619,7 +135392,7 @@ ENCODING 16558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2120 @@ -95637,7 +135410,7 @@ ENCODING 16559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -95655,7 +135428,7 @@ ENCODING 16560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01A0 0E20 F2A0 @@ -95673,7 +135446,7 @@ ENCODING 16561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 2000 @@ -95691,7 +135464,7 @@ ENCODING 16562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7080 23E0 @@ -95709,7 +135482,7 @@ ENCODING 16563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FD40 @@ -95727,7 +135500,7 @@ ENCODING 16564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 2FE0 @@ -95745,7 +135518,7 @@ ENCODING 16565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 2100 @@ -95763,7 +135536,7 @@ ENCODING 16566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0480 FF80 @@ -95781,7 +135554,7 @@ ENCODING 16567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 0700 F100 @@ -95799,7 +135572,7 @@ ENCODING 16568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 F100 @@ -95817,7 +135590,7 @@ ENCODING 16569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 23E0 @@ -95835,7 +135608,7 @@ ENCODING 16570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0540 FFC0 @@ -95853,7 +135626,7 @@ ENCODING 16571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC00 27C0 @@ -95871,7 +135644,7 @@ ENCODING 16572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2280 @@ -95889,7 +135662,7 @@ ENCODING 16573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 01E0 F900 @@ -95907,7 +135680,7 @@ ENCODING 16574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 FFE0 @@ -95925,7 +135698,7 @@ ENCODING 16575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 2740 @@ -95943,7 +135716,7 @@ ENCODING 16576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2100 @@ -95961,7 +135734,7 @@ ENCODING 16577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 2280 @@ -95979,7 +135752,7 @@ ENCODING 16578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 27E0 @@ -95997,7 +135770,7 @@ ENCODING 16579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2920 @@ -96015,7 +135788,7 @@ ENCODING 16580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 F000 @@ -96033,7 +135806,7 @@ ENCODING 16581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F180 27E0 @@ -96051,7 +135824,7 @@ ENCODING 16582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 07E0 F240 @@ -96069,7 +135842,7 @@ ENCODING 16583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 07C0 F440 @@ -96087,7 +135860,7 @@ ENCODING 16584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 07E0 F480 @@ -96105,7 +135878,7 @@ ENCODING 16585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0440 F7C0 @@ -96123,7 +135896,7 @@ ENCODING 16586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 F440 @@ -96141,7 +135914,7 @@ ENCODING 16587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0280 F440 @@ -96159,7 +135932,7 @@ ENCODING 16588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 2FE0 @@ -96177,7 +135950,7 @@ ENCODING 16589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 0300 FFE0 @@ -96195,7 +135968,7 @@ ENCODING 16590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F7E0 @@ -96213,7 +135986,7 @@ ENCODING 16591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 2FE0 @@ -96231,7 +136004,7 @@ ENCODING 16592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 FFE0 @@ -96249,7 +136022,7 @@ ENCODING 16593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 08A0 FEA0 @@ -96267,7 +136040,7 @@ ENCODING 16594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F800 23C0 @@ -96285,7 +136058,7 @@ ENCODING 16595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFC0 2280 @@ -96303,7 +136076,7 @@ ENCODING 16596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2420 @@ -96321,7 +136094,7 @@ ENCODING 16597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 39C0 5280 @@ -96339,7 +136112,7 @@ ENCODING 16598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2440 @@ -96357,7 +136130,7 @@ ENCODING 16599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E20 F220 2E20 @@ -96375,7 +136148,7 @@ ENCODING 16600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2FA0 @@ -96393,7 +136166,7 @@ ENCODING 16601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2540 @@ -96411,7 +136184,7 @@ ENCODING 16602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F280 2FE0 @@ -96429,7 +136202,7 @@ ENCODING 16603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FBE0 2480 @@ -96447,7 +136220,7 @@ ENCODING 16604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 A140 B940 @@ -96465,7 +136238,7 @@ ENCODING 16605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0780 F2E0 @@ -96483,7 +136256,7 @@ ENCODING 16606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 4940 @@ -96501,7 +136274,7 @@ ENCODING 16607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 1F80 EAE0 @@ -96519,7 +136292,7 @@ ENCODING 16608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F4E0 4E80 @@ -96537,7 +136310,7 @@ ENCODING 16609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FA40 4FE0 @@ -96555,7 +136328,7 @@ ENCODING 16610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FA80 51E0 @@ -96573,7 +136346,7 @@ ENCODING 16611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F300 4F80 @@ -96591,7 +136364,7 @@ ENCODING 16612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4140 @@ -96609,7 +136382,7 @@ ENCODING 16613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4440 @@ -96627,7 +136400,7 @@ ENCODING 16614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFE0 4A40 @@ -96645,7 +136418,7 @@ ENCODING 16615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 ABA0 @@ -96663,7 +136436,7 @@ ENCODING 16616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DE0 E520 45E0 @@ -96681,7 +136454,7 @@ ENCODING 16617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 4AA0 @@ -96699,7 +136472,7 @@ ENCODING 16618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4440 @@ -96717,7 +136490,7 @@ ENCODING 16619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 47E0 @@ -96735,7 +136508,7 @@ ENCODING 16620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 F7E0 4200 @@ -96753,7 +136526,7 @@ ENCODING 16621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 F7E0 4480 @@ -96771,7 +136544,7 @@ ENCODING 16622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F3E0 4880 @@ -96789,7 +136562,7 @@ ENCODING 16623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBA0 46C0 @@ -96807,7 +136580,7 @@ ENCODING 16624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4820 @@ -96825,7 +136598,7 @@ ENCODING 16625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FF60 4240 @@ -96843,7 +136616,7 @@ ENCODING 16626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FEE0 4AA0 @@ -96861,7 +136634,7 @@ ENCODING 16627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 F540 42A0 @@ -96879,7 +136652,7 @@ ENCODING 16628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0480 FFE0 @@ -96897,7 +136670,7 @@ ENCODING 16629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4280 @@ -96915,7 +136688,7 @@ ENCODING 16630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4000 @@ -96933,7 +136706,7 @@ ENCODING 16631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4400 @@ -96951,7 +136724,7 @@ ENCODING 16632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 F560 4AC0 @@ -96969,7 +136742,7 @@ ENCODING 16633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 4AA0 @@ -96987,7 +136760,7 @@ ENCODING 16634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7E0 4540 @@ -97005,7 +136778,7 @@ ENCODING 16635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 4FE0 @@ -97023,7 +136796,7 @@ ENCODING 16636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 F900 @@ -97041,7 +136814,7 @@ ENCODING 16637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F100 @@ -97059,7 +136832,7 @@ ENCODING 16638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 F480 @@ -97077,7 +136850,7 @@ ENCODING 16639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F100 @@ -97095,7 +136868,7 @@ ENCODING 16640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 FFE0 @@ -97113,7 +136886,7 @@ ENCODING 16641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2540 F540 @@ -97131,7 +136904,7 @@ ENCODING 16642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -97149,7 +136922,7 @@ ENCODING 16643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F7C0 @@ -97167,7 +136940,7 @@ ENCODING 16644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 F920 @@ -97185,7 +136958,7 @@ ENCODING 16645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 3F80 0800 @@ -97203,7 +136976,7 @@ ENCODING 16646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F100 @@ -97221,7 +136994,7 @@ ENCODING 16647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F440 @@ -97239,7 +137012,7 @@ ENCODING 16648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 F7C0 @@ -97257,7 +137030,7 @@ ENCODING 16649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EC0 24A0 F480 @@ -97275,7 +137048,7 @@ ENCODING 16650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -97293,7 +137066,7 @@ ENCODING 16651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F280 @@ -97311,7 +137084,7 @@ ENCODING 16652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 25A0 F240 @@ -97329,7 +137102,7 @@ ENCODING 16653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 F7C0 @@ -97347,7 +137120,7 @@ ENCODING 16654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F100 @@ -97365,7 +137138,7 @@ ENCODING 16655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 F440 @@ -97383,7 +137156,7 @@ ENCODING 16656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABC0 FA40 @@ -97401,7 +137174,7 @@ ENCODING 16657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F700 1500 @@ -97419,7 +137192,7 @@ ENCODING 16658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -97437,7 +137210,7 @@ ENCODING 16659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 F7E0 @@ -97455,7 +137228,7 @@ ENCODING 16660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F100 @@ -97473,7 +137246,7 @@ ENCODING 16661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2120 F540 @@ -97491,7 +137264,7 @@ ENCODING 16662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 1440 @@ -97508,8 +137281,8 @@ STARTCHAR U_4117 ENCODING 16663 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4540 2540 F540 @@ -97527,7 +137300,7 @@ ENCODING 16664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 F7C0 @@ -97545,7 +137318,7 @@ ENCODING 16665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F820 17E0 @@ -97563,7 +137336,7 @@ ENCODING 16666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 F280 @@ -97581,7 +137354,7 @@ ENCODING 16667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 FD60 @@ -97599,7 +137372,7 @@ ENCODING 16668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 F540 @@ -97617,7 +137390,7 @@ ENCODING 16669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -97635,7 +137408,7 @@ ENCODING 16670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2360 F5A0 @@ -97653,7 +137426,7 @@ ENCODING 16671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 3C00 17C0 @@ -97671,7 +137444,7 @@ ENCODING 16672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -97689,7 +137462,7 @@ ENCODING 16673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2480 FFE0 @@ -97707,7 +137480,7 @@ ENCODING 16674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F480 @@ -97725,7 +137498,7 @@ ENCODING 16675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -97743,7 +137516,7 @@ ENCODING 16676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42E0 2F60 F2A0 @@ -97761,7 +137534,7 @@ ENCODING 16677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 FFE0 @@ -97779,7 +137552,7 @@ ENCODING 16678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E7E0 2040 @@ -97797,7 +137570,7 @@ ENCODING 16679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E240 2240 @@ -97815,7 +137588,7 @@ ENCODING 16680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 E3E0 2080 @@ -97833,7 +137606,7 @@ ENCODING 16681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 E280 2240 @@ -97851,7 +137624,7 @@ ENCODING 16682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E100 23E0 @@ -97869,7 +137642,7 @@ ENCODING 16683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 E7C0 2040 @@ -97887,7 +137660,7 @@ ENCODING 16684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E500 2500 @@ -97905,7 +137678,7 @@ ENCODING 16685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 30C0 E700 2100 @@ -97923,7 +137696,7 @@ ENCODING 16686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E100 27C0 @@ -97941,7 +137714,7 @@ ENCODING 16687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3800 E7E0 2240 @@ -97959,7 +137732,7 @@ ENCODING 16688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 63E0 2040 @@ -97977,7 +137750,7 @@ ENCODING 16689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 6080 27E0 @@ -97995,7 +137768,7 @@ ENCODING 16690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 6100 2100 @@ -98013,7 +137786,7 @@ ENCODING 16691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 6080 2080 @@ -98031,7 +137804,7 @@ ENCODING 16692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 63E0 2220 @@ -98049,7 +137822,7 @@ ENCODING 16693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 3C00 0400 @@ -98067,7 +137840,7 @@ ENCODING 16694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A80 67E0 22A0 @@ -98085,7 +137858,7 @@ ENCODING 16695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 67E0 2100 @@ -98103,7 +137876,7 @@ ENCODING 16696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 6100 27E0 @@ -98121,7 +137894,7 @@ ENCODING 16697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 3C00 0400 @@ -98139,7 +137912,7 @@ ENCODING 16698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 67E0 2100 @@ -98157,7 +137930,7 @@ ENCODING 16699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A80 6280 2AA0 @@ -98175,7 +137948,7 @@ ENCODING 16700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 6080 2080 @@ -98193,7 +137966,7 @@ ENCODING 16701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 6280 2FE0 @@ -98211,7 +137984,7 @@ ENCODING 16702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18A0 67E0 2080 @@ -98229,7 +138002,7 @@ ENCODING 16703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 67E0 2520 @@ -98247,7 +138020,7 @@ ENCODING 16704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3020 EF20 2420 @@ -98265,7 +138038,7 @@ ENCODING 16705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -98283,7 +138056,7 @@ ENCODING 16706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 E200 27C0 @@ -98301,7 +138074,7 @@ ENCODING 16707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2340 @@ -98319,7 +138092,7 @@ ENCODING 16708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 E200 27C0 @@ -98337,7 +138110,7 @@ ENCODING 16709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 27C0 @@ -98355,7 +138128,7 @@ ENCODING 16710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E100 29E0 @@ -98373,7 +138146,7 @@ ENCODING 16711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -98391,7 +138164,7 @@ ENCODING 16712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 7F80 0400 @@ -98409,7 +138182,7 @@ ENCODING 16713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E7E0 2280 @@ -98427,7 +138200,7 @@ ENCODING 16714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E7E0 2400 @@ -98445,7 +138218,7 @@ ENCODING 16715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 E380 2480 @@ -98463,7 +138236,7 @@ ENCODING 16716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33C0 E240 23C0 @@ -98481,7 +138254,7 @@ ENCODING 16717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 EE60 22C0 @@ -98499,7 +138272,7 @@ ENCODING 16718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 30C0 E700 2100 @@ -98517,7 +138290,7 @@ ENCODING 16719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E440 27C0 @@ -98535,7 +138308,7 @@ ENCODING 16720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E440 27C0 @@ -98553,7 +138326,7 @@ ENCODING 16721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18E0 E720 24A0 @@ -98571,7 +138344,7 @@ ENCODING 16722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A40 E240 27E0 @@ -98589,7 +138362,7 @@ ENCODING 16723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3400 E5E0 2EA0 @@ -98607,7 +138380,7 @@ ENCODING 16724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3AA0 E2A0 2540 @@ -98625,7 +138398,7 @@ ENCODING 16725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E420 27E0 @@ -98643,7 +138416,7 @@ ENCODING 16726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2280 @@ -98661,7 +138434,7 @@ ENCODING 16727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 19C0 E700 2100 @@ -98679,7 +138452,7 @@ ENCODING 16728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 27E0 @@ -98697,7 +138470,7 @@ ENCODING 16729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E440 27C0 @@ -98715,7 +138488,7 @@ ENCODING 16730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3920 E540 27E0 @@ -98733,7 +138506,7 @@ ENCODING 16731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 E440 27C0 @@ -98751,7 +138524,7 @@ ENCODING 16732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 30C0 E700 2100 @@ -98769,7 +138542,7 @@ ENCODING 16733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 E100 2FE0 @@ -98787,7 +138560,7 @@ ENCODING 16734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E540 2640 @@ -98805,7 +138578,7 @@ ENCODING 16735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A80 E440 27C0 @@ -98823,7 +138596,7 @@ ENCODING 16736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BC0 E240 23C0 @@ -98841,7 +138614,7 @@ ENCODING 16737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 E100 27C0 @@ -98859,25 +138632,25 @@ ENCODING 16738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2920 FFE0 2920 6FE0 -7640 -A5C0 -24C0 -2740 -28C0 +B440 +A7C0 +2440 +27C0 +2440 ENDCHAR STARTCHAR U_4163 ENCODING 16739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E7C0 24C0 @@ -98895,7 +138668,7 @@ ENCODING 16740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E100 2140 @@ -98913,7 +138686,7 @@ ENCODING 16741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E440 27C0 @@ -98931,7 +138704,7 @@ ENCODING 16742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3240 E7E0 2240 @@ -98949,7 +138722,7 @@ ENCODING 16743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2440 @@ -98967,7 +138740,7 @@ ENCODING 16744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 31C0 E700 2100 @@ -98985,7 +138758,7 @@ ENCODING 16745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2100 @@ -99003,7 +138776,7 @@ ENCODING 16746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E7C0 2540 @@ -99021,7 +138794,7 @@ ENCODING 16747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2000 @@ -99039,7 +138812,7 @@ ENCODING 16748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 E280 2FE0 @@ -99057,7 +138830,7 @@ ENCODING 16749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2440 @@ -99075,7 +138848,7 @@ ENCODING 16750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E280 27C0 @@ -99093,7 +138866,7 @@ ENCODING 16751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2940 @@ -99111,7 +138884,7 @@ ENCODING 16752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 E520 27E0 @@ -99129,7 +138902,7 @@ ENCODING 16753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E540 27C0 @@ -99147,7 +138920,7 @@ ENCODING 16754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E7C0 2140 @@ -99165,7 +138938,7 @@ ENCODING 16755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 64A0 22A0 @@ -99183,7 +138956,7 @@ ENCODING 16756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2100 @@ -99201,7 +138974,7 @@ ENCODING 16757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 E280 2FE0 @@ -99219,7 +138992,7 @@ ENCODING 16758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E800 2FC0 @@ -99237,7 +139010,7 @@ ENCODING 16759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 EEE0 2540 @@ -99255,7 +139028,7 @@ ENCODING 16760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 EEE0 2440 @@ -99273,7 +139046,7 @@ ENCODING 16761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 E7C0 2540 @@ -99291,7 +139064,7 @@ ENCODING 16762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E280 2FE0 @@ -99309,7 +139082,7 @@ ENCODING 16763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2280 @@ -99327,7 +139100,7 @@ ENCODING 16764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E4C0 2740 @@ -99345,7 +139118,7 @@ ENCODING 16765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 1220 @@ -99363,7 +139136,7 @@ ENCODING 16766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 E540 2FE0 @@ -99381,7 +139154,7 @@ ENCODING 16767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 EEE0 2440 @@ -99399,7 +139172,7 @@ ENCODING 16768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 ED60 2BA0 @@ -99417,7 +139190,7 @@ ENCODING 16769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 EAA0 2D60 @@ -99435,7 +139208,7 @@ ENCODING 16770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2A40 @@ -99453,7 +139226,7 @@ ENCODING 16771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8500 5FC0 EA80 @@ -99471,7 +139244,7 @@ ENCODING 16772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3140 EFE0 2440 @@ -99489,7 +139262,7 @@ ENCODING 16773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EDE0 2280 @@ -99507,7 +139280,7 @@ ENCODING 16774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3380 E280 2380 @@ -99525,7 +139298,7 @@ ENCODING 16775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 EA40 2F40 @@ -99543,7 +139316,7 @@ ENCODING 16776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 C420 57E0 @@ -99561,7 +139334,7 @@ ENCODING 16777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 EAA0 2FE0 @@ -99579,7 +139352,7 @@ ENCODING 16778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EEE0 2280 @@ -99597,7 +139370,7 @@ ENCODING 16779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3780 E900 2EE0 @@ -99615,7 +139388,7 @@ ENCODING 16780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EA0 E5E0 2E80 @@ -99633,7 +139406,7 @@ ENCODING 16781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 34E0 EF80 2AE0 @@ -99651,7 +139424,7 @@ ENCODING 16782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AC0 CAA0 5580 @@ -99669,7 +139442,7 @@ ENCODING 16783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 EFE0 2540 @@ -99687,7 +139460,7 @@ ENCODING 16784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -99705,7 +139478,7 @@ ENCODING 16785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -99723,7 +139496,7 @@ ENCODING 16786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 9140 @@ -99741,7 +139514,7 @@ ENCODING 16787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99759,7 +139532,7 @@ ENCODING 16788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99777,7 +139550,7 @@ ENCODING 16789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 9140 @@ -99795,7 +139568,7 @@ ENCODING 16790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -99813,7 +139586,7 @@ ENCODING 16791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99831,7 +139604,7 @@ ENCODING 16792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 9120 @@ -99849,7 +139622,7 @@ ENCODING 16793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99867,7 +139640,7 @@ ENCODING 16794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -99885,7 +139658,7 @@ ENCODING 16795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 A0A0 @@ -99903,7 +139676,7 @@ ENCODING 16796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -99921,7 +139694,7 @@ ENCODING 16797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99939,7 +139712,7 @@ ENCODING 16798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -99957,7 +139730,7 @@ ENCODING 16799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99975,7 +139748,7 @@ ENCODING 16800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -99993,7 +139766,7 @@ ENCODING 16801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -100011,7 +139784,7 @@ ENCODING 16802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100029,7 +139802,7 @@ ENCODING 16803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100047,7 +139820,7 @@ ENCODING 16804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 A4A0 @@ -100065,7 +139838,7 @@ ENCODING 16805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -100083,7 +139856,7 @@ ENCODING 16806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 A120 @@ -100101,7 +139874,7 @@ ENCODING 16807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -100119,7 +139892,7 @@ ENCODING 16808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 B2A0 @@ -100137,7 +139910,7 @@ ENCODING 16809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 B5A0 @@ -100155,7 +139928,7 @@ ENCODING 16810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7540 @@ -100173,7 +139946,7 @@ ENCODING 16811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -100191,7 +139964,7 @@ ENCODING 16812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100209,7 +139982,7 @@ ENCODING 16813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100227,7 +140000,7 @@ ENCODING 16814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100245,7 +140018,7 @@ ENCODING 16815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100263,7 +140036,7 @@ ENCODING 16816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100281,7 +140054,7 @@ ENCODING 16817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100299,7 +140072,7 @@ ENCODING 16818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A8A0 @@ -100317,7 +140090,7 @@ ENCODING 16819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100335,7 +140108,7 @@ ENCODING 16820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 AB20 @@ -100353,7 +140126,7 @@ ENCODING 16821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -100371,7 +140144,7 @@ ENCODING 16822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -100389,7 +140162,7 @@ ENCODING 16823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100407,7 +140180,7 @@ ENCODING 16824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100425,7 +140198,7 @@ ENCODING 16825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9920 @@ -100443,7 +140216,7 @@ ENCODING 16826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 7FE0 90A0 @@ -100461,7 +140234,7 @@ ENCODING 16827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -100479,7 +140252,7 @@ ENCODING 16828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100497,7 +140270,7 @@ ENCODING 16829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -100515,7 +140288,7 @@ ENCODING 16830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100533,7 +140306,7 @@ ENCODING 16831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -100551,7 +140324,7 @@ ENCODING 16832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 9120 @@ -100569,7 +140342,7 @@ ENCODING 16833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -100587,7 +140360,7 @@ ENCODING 16834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 7FC0 @@ -100604,9 +140377,8 @@ STARTCHAR U_41C3 ENCODING 16835 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 43C0 2240 FA40 @@ -100623,7 +140395,7 @@ ENCODING 16836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2240 FBE0 @@ -100641,7 +140413,7 @@ ENCODING 16837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2140 F920 @@ -100659,7 +140431,7 @@ ENCODING 16838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 4280 2180 @@ -100677,7 +140449,7 @@ ENCODING 16839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 47E0 2420 @@ -100695,7 +140467,7 @@ ENCODING 16840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 4240 2280 @@ -100713,7 +140485,7 @@ ENCODING 16841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 47E0 2100 @@ -100731,7 +140503,7 @@ ENCODING 16842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4480 27E0 @@ -100749,7 +140521,7 @@ ENCODING 16843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 41C0 2640 @@ -100767,7 +140539,7 @@ ENCODING 16844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 44A0 22A0 @@ -100785,7 +140557,7 @@ ENCODING 16845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 4220 2220 @@ -100803,7 +140575,7 @@ ENCODING 16846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 43E0 2140 @@ -100821,7 +140593,7 @@ ENCODING 16847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 2000 @@ -100839,7 +140611,7 @@ ENCODING 16848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0140 @@ -100857,7 +140629,7 @@ ENCODING 16849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27E0 04A0 @@ -100875,7 +140647,7 @@ ENCODING 16850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 B280 D480 @@ -100893,7 +140665,7 @@ ENCODING 16851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 C100 37C0 @@ -100911,7 +140683,7 @@ ENCODING 16852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -100929,7 +140701,7 @@ ENCODING 16853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0FE0 @@ -100947,7 +140719,7 @@ ENCODING 16854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5280 @@ -100965,7 +140737,7 @@ ENCODING 16855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5280 @@ -100983,7 +140755,7 @@ ENCODING 16856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 9480 @@ -101001,7 +140773,7 @@ ENCODING 16857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 A280 @@ -101019,7 +140791,7 @@ ENCODING 16858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5280 @@ -101037,7 +140809,7 @@ ENCODING 16859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5280 @@ -101055,7 +140827,7 @@ ENCODING 16860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -101073,7 +140845,7 @@ ENCODING 16861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -101091,7 +140863,7 @@ ENCODING 16862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101109,7 +140881,7 @@ ENCODING 16863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5280 @@ -101127,7 +140899,7 @@ ENCODING 16864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101145,7 +140917,7 @@ ENCODING 16865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9280 @@ -101163,7 +140935,7 @@ ENCODING 16866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 A280 @@ -101181,7 +140953,7 @@ ENCODING 16867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -101199,7 +140971,7 @@ ENCODING 16868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101217,7 +140989,7 @@ ENCODING 16869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101235,7 +141007,7 @@ ENCODING 16870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9280 @@ -101253,7 +141025,7 @@ ENCODING 16871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101271,7 +141043,7 @@ ENCODING 16872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -101289,7 +141061,7 @@ ENCODING 16873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -101307,7 +141079,7 @@ ENCODING 16874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -101325,7 +141097,7 @@ ENCODING 16875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 A280 @@ -101343,7 +141115,7 @@ ENCODING 16876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5280 @@ -101361,7 +141133,7 @@ ENCODING 16877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -101379,7 +141151,7 @@ ENCODING 16878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5280 @@ -101397,7 +141169,7 @@ ENCODING 16879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -101415,7 +141187,7 @@ ENCODING 16880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -101433,7 +141205,7 @@ ENCODING 16881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 9480 @@ -101451,7 +141223,7 @@ ENCODING 16882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -101469,7 +141241,7 @@ ENCODING 16883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9680 @@ -101487,7 +141259,7 @@ ENCODING 16884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -101505,7 +141277,7 @@ ENCODING 16885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -101523,7 +141295,7 @@ ENCODING 16886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -101541,7 +141313,7 @@ ENCODING 16887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -101559,7 +141331,7 @@ ENCODING 16888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9240 3F80 @@ -101577,7 +141349,7 @@ ENCODING 16889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 D240 3F80 @@ -101595,7 +141367,7 @@ ENCODING 16890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9240 @@ -101613,7 +141385,7 @@ ENCODING 16891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 9280 7FC0 @@ -101631,7 +141403,7 @@ ENCODING 16892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 5140 @@ -101649,7 +141421,7 @@ ENCODING 16893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9280 @@ -101667,7 +141439,7 @@ ENCODING 16894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9280 @@ -101685,7 +141457,7 @@ ENCODING 16895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -101703,7 +141475,7 @@ ENCODING 16896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -101721,7 +141493,7 @@ ENCODING 16897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -101739,7 +141511,7 @@ ENCODING 16898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -101757,7 +141529,7 @@ ENCODING 16899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -101775,7 +141547,7 @@ ENCODING 16900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9240 @@ -101793,7 +141565,7 @@ ENCODING 16901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -101811,7 +141583,7 @@ ENCODING 16902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9280 3FC0 @@ -101829,7 +141601,7 @@ ENCODING 16903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -101847,7 +141619,7 @@ ENCODING 16904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -101865,7 +141637,7 @@ ENCODING 16905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -101883,7 +141655,7 @@ ENCODING 16906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -101901,7 +141673,7 @@ ENCODING 16907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 A680 @@ -101919,7 +141691,7 @@ ENCODING 16908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -101937,7 +141709,7 @@ ENCODING 16909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 9480 @@ -101955,7 +141727,7 @@ ENCODING 16910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -101973,7 +141745,7 @@ ENCODING 16911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -101991,7 +141763,7 @@ ENCODING 16912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102009,7 +141781,7 @@ ENCODING 16913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -102027,7 +141799,7 @@ ENCODING 16914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 9480 @@ -102045,7 +141817,7 @@ ENCODING 16915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -102063,7 +141835,7 @@ ENCODING 16916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -102081,7 +141853,7 @@ ENCODING 16917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -102099,7 +141871,7 @@ ENCODING 16918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102117,7 +141889,7 @@ ENCODING 16919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102135,7 +141907,7 @@ ENCODING 16920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -102153,7 +141925,7 @@ ENCODING 16921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -102171,7 +141943,7 @@ ENCODING 16922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9500 @@ -102189,7 +141961,7 @@ ENCODING 16923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102207,7 +141979,7 @@ ENCODING 16924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -102225,7 +141997,7 @@ ENCODING 16925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -102243,7 +142015,7 @@ ENCODING 16926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102261,7 +142033,7 @@ ENCODING 16927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -102279,7 +142051,7 @@ ENCODING 16928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102297,7 +142069,7 @@ ENCODING 16929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -102315,7 +142087,7 @@ ENCODING 16930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 9480 @@ -102333,7 +142105,7 @@ ENCODING 16931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -102351,7 +142123,7 @@ ENCODING 16932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9280 @@ -102369,7 +142141,7 @@ ENCODING 16933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -102387,7 +142159,7 @@ ENCODING 16934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 AA80 @@ -102405,7 +142177,7 @@ ENCODING 16935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -102423,7 +142195,7 @@ ENCODING 16936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -102441,7 +142213,7 @@ ENCODING 16937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 A680 @@ -102459,7 +142231,7 @@ ENCODING 16938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 9480 @@ -102477,7 +142249,7 @@ ENCODING 16939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9280 @@ -102495,7 +142267,7 @@ ENCODING 16940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -102513,7 +142285,7 @@ ENCODING 16941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 CA80 @@ -102531,7 +142303,7 @@ ENCODING 16942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -102549,7 +142321,7 @@ ENCODING 16943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D480 @@ -102567,7 +142339,7 @@ ENCODING 16944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102585,7 +142357,7 @@ ENCODING 16945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102603,7 +142375,7 @@ ENCODING 16946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102621,7 +142393,7 @@ ENCODING 16947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102639,7 +142411,7 @@ ENCODING 16948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5500 @@ -102657,7 +142429,7 @@ ENCODING 16949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102675,7 +142447,7 @@ ENCODING 16950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102693,7 +142465,7 @@ ENCODING 16951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102711,7 +142483,7 @@ ENCODING 16952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102729,7 +142501,7 @@ ENCODING 16953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102747,7 +142519,7 @@ ENCODING 16954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102765,7 +142537,7 @@ ENCODING 16955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4AA0 @@ -102783,7 +142555,7 @@ ENCODING 16956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102801,7 +142573,7 @@ ENCODING 16957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102819,7 +142591,7 @@ ENCODING 16958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -102837,7 +142609,7 @@ ENCODING 16959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102855,7 +142627,7 @@ ENCODING 16960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102873,7 +142645,7 @@ ENCODING 16961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102891,7 +142663,7 @@ ENCODING 16962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102909,7 +142681,7 @@ ENCODING 16963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102927,7 +142699,7 @@ ENCODING 16964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -102945,7 +142717,7 @@ ENCODING 16965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A40 @@ -102963,7 +142735,7 @@ ENCODING 16966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102981,7 +142753,7 @@ ENCODING 16967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -102999,7 +142771,7 @@ ENCODING 16968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103017,7 +142789,7 @@ ENCODING 16969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103035,7 +142807,7 @@ ENCODING 16970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103053,7 +142825,7 @@ ENCODING 16971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -103071,7 +142843,7 @@ ENCODING 16972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103089,7 +142861,7 @@ ENCODING 16973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103107,7 +142879,7 @@ ENCODING 16974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 6480 @@ -103125,7 +142897,7 @@ ENCODING 16975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -103143,7 +142915,7 @@ ENCODING 16976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103161,7 +142933,7 @@ ENCODING 16977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103179,7 +142951,7 @@ ENCODING 16978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 A480 @@ -103197,7 +142969,7 @@ ENCODING 16979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103215,7 +142987,7 @@ ENCODING 16980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -103233,7 +143005,7 @@ ENCODING 16981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103251,7 +143023,7 @@ ENCODING 16982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103269,7 +143041,7 @@ ENCODING 16983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -103287,7 +143059,7 @@ ENCODING 16984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -103305,7 +143077,7 @@ ENCODING 16985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 A480 @@ -103323,7 +143095,7 @@ ENCODING 16986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103341,7 +143113,7 @@ ENCODING 16987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103359,7 +143131,7 @@ ENCODING 16988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103377,7 +143149,7 @@ ENCODING 16989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103395,7 +143167,7 @@ ENCODING 16990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103413,7 +143185,7 @@ ENCODING 16991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -103431,7 +143203,7 @@ ENCODING 16992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 A480 @@ -103449,7 +143221,7 @@ ENCODING 16993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103467,7 +143239,7 @@ ENCODING 16994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103485,7 +143257,7 @@ ENCODING 16995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103503,7 +143275,7 @@ ENCODING 16996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103521,7 +143293,7 @@ ENCODING 16997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 A480 @@ -103539,7 +143311,7 @@ ENCODING 16998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 5FE0 @@ -103557,7 +143329,7 @@ ENCODING 16999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 A480 @@ -103575,7 +143347,7 @@ ENCODING 17000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103593,7 +143365,7 @@ ENCODING 17001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103611,7 +143383,7 @@ ENCODING 17002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9280 3F80 @@ -103629,7 +143401,7 @@ ENCODING 17003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103647,7 +143419,7 @@ ENCODING 17004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103665,7 +143437,7 @@ ENCODING 17005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 2900 @@ -103683,7 +143455,7 @@ ENCODING 17006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103701,7 +143473,7 @@ ENCODING 17007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103719,7 +143491,7 @@ ENCODING 17008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103737,7 +143509,7 @@ ENCODING 17009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9680 @@ -103755,7 +143527,7 @@ ENCODING 17010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103773,7 +143545,7 @@ ENCODING 17011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103791,7 +143563,7 @@ ENCODING 17012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103809,7 +143581,7 @@ ENCODING 17013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A480 3F80 @@ -103827,7 +143599,7 @@ ENCODING 17014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9480 @@ -103845,7 +143617,7 @@ ENCODING 17015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 D680 39C0 @@ -103863,7 +143635,7 @@ ENCODING 17016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -103881,7 +143653,7 @@ ENCODING 17017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -103899,7 +143671,7 @@ ENCODING 17018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 A800 77C0 @@ -103917,7 +143689,7 @@ ENCODING 17019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AF80 7480 @@ -103935,7 +143707,7 @@ ENCODING 17020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AF00 7400 @@ -103953,7 +143725,7 @@ ENCODING 17021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AAA0 71C0 @@ -103971,7 +143743,7 @@ ENCODING 17022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7BC0 0A00 @@ -103989,7 +143761,7 @@ ENCODING 17023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AB80 72A0 @@ -104007,7 +143779,7 @@ ENCODING 17024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7100 @@ -104025,7 +143797,7 @@ ENCODING 17025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AD00 77C0 @@ -104043,7 +143815,7 @@ ENCODING 17026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 77E0 @@ -104061,7 +143833,7 @@ ENCODING 17027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AFC0 7440 @@ -104079,7 +143851,7 @@ ENCODING 17028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2340 @@ -104097,7 +143869,7 @@ ENCODING 17029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AA00 73C0 @@ -104115,7 +143887,7 @@ ENCODING 17030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 63C0 4040 @@ -104133,7 +143905,7 @@ ENCODING 17031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 A920 77E0 @@ -104151,7 +143923,7 @@ ENCODING 17032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 AFE0 7000 @@ -104169,7 +143941,7 @@ ENCODING 17033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A880 77E0 @@ -104187,7 +143959,7 @@ ENCODING 17034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 AC20 77E0 @@ -104205,7 +143977,7 @@ ENCODING 17035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 AD40 7540 @@ -104223,7 +143995,7 @@ ENCODING 17036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7800 @@ -104241,7 +144013,7 @@ ENCODING 17037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 13E0 FD20 @@ -104259,7 +144031,7 @@ ENCODING 17038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 AB40 77E0 @@ -104277,7 +144049,7 @@ ENCODING 17039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AAA0 71C0 @@ -104295,7 +144067,7 @@ ENCODING 17040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AC40 77C0 @@ -104313,7 +144085,7 @@ ENCODING 17041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A920 7540 @@ -104331,7 +144103,7 @@ ENCODING 17042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AA80 77E0 @@ -104349,7 +144121,7 @@ ENCODING 17043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 AA40 73C0 @@ -104367,7 +144139,7 @@ ENCODING 17044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -104385,7 +144157,7 @@ ENCODING 17045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A9E0 7EA0 @@ -104403,7 +144175,7 @@ ENCODING 17046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7FE0 @@ -104421,7 +144193,7 @@ ENCODING 17047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFC0 7540 @@ -104439,7 +144211,7 @@ ENCODING 17048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7520 @@ -104457,7 +144229,7 @@ ENCODING 17049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2240 47E0 @@ -104475,7 +144247,7 @@ ENCODING 17050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A900 75E0 @@ -104493,7 +144265,7 @@ ENCODING 17051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 AD40 7540 @@ -104511,7 +144283,7 @@ ENCODING 17052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7540 @@ -104529,7 +144301,7 @@ ENCODING 17053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 AF20 7540 @@ -104547,7 +144319,7 @@ ENCODING 17054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7440 @@ -104565,7 +144337,7 @@ ENCODING 17055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AFE0 7440 @@ -104583,7 +144355,7 @@ ENCODING 17056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FA80 @@ -104601,7 +144373,7 @@ ENCODING 17057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 ACC0 7540 @@ -104619,7 +144391,7 @@ ENCODING 17058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 73C0 1540 @@ -104637,7 +144409,7 @@ ENCODING 17059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -104655,7 +144427,7 @@ ENCODING 17060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AA80 7FE0 @@ -104673,7 +144445,7 @@ ENCODING 17061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFC0 7140 @@ -104691,7 +144463,7 @@ ENCODING 17062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7100 @@ -104709,7 +144481,7 @@ ENCODING 17063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 72A0 @@ -104727,7 +144499,7 @@ ENCODING 17064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4000 @@ -104745,7 +144517,7 @@ ENCODING 17065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 AF20 7540 @@ -104763,7 +144535,7 @@ ENCODING 17066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -104781,7 +144553,7 @@ ENCODING 17067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AAA0 7FE0 @@ -104799,7 +144571,7 @@ ENCODING 17068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 2540 FFC0 @@ -104817,7 +144589,7 @@ ENCODING 17069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7100 @@ -104835,7 +144607,7 @@ ENCODING 17070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 ADA0 7360 @@ -104853,7 +144625,7 @@ ENCODING 17071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7A80 @@ -104871,7 +144643,7 @@ ENCODING 17072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A8A0 75E0 @@ -104889,7 +144661,7 @@ ENCODING 17073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 AD60 7AC0 @@ -104907,7 +144679,7 @@ ENCODING 17074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2BE0 FF40 @@ -104925,7 +144697,7 @@ ENCODING 17075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AFE0 7540 @@ -104943,7 +144715,7 @@ ENCODING 17076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AFE0 7540 @@ -104961,7 +144733,7 @@ ENCODING 17077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 9F80 @@ -104979,7 +144751,7 @@ ENCODING 17078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 9500 @@ -104997,7 +144769,7 @@ ENCODING 17079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 4040 9040 @@ -105015,7 +144787,7 @@ ENCODING 17080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 4000 9000 @@ -105033,7 +144805,7 @@ ENCODING 17081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 4700 9100 @@ -105051,7 +144823,7 @@ ENCODING 17082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47E0 9100 @@ -105069,7 +144841,7 @@ ENCODING 17083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 4400 97E0 @@ -105087,7 +144859,7 @@ ENCODING 17084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4080 9080 @@ -105105,7 +144877,7 @@ ENCODING 17085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 97C0 @@ -105123,7 +144895,7 @@ ENCODING 17086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 9100 @@ -105141,7 +144913,7 @@ ENCODING 17087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 97E0 @@ -105159,7 +144931,7 @@ ENCODING 17088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -105177,7 +144949,7 @@ ENCODING 17089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -105195,7 +144967,7 @@ ENCODING 17090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2640 4180 9340 @@ -105213,7 +144985,7 @@ ENCODING 17091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 4700 9100 @@ -105231,7 +145003,7 @@ ENCODING 17092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4420 9420 @@ -105249,7 +145021,7 @@ ENCODING 17093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 9500 @@ -105267,7 +145039,7 @@ ENCODING 17094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4100 97E0 @@ -105285,7 +145057,7 @@ ENCODING 17095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47C0 9440 @@ -105303,7 +145075,7 @@ ENCODING 17096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BC0 FE40 4980 @@ -105321,7 +145093,7 @@ ENCODING 17097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4100 9FE0 @@ -105339,7 +145111,7 @@ ENCODING 17098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 4FE0 9100 @@ -105357,7 +145129,7 @@ ENCODING 17099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4420 97E0 @@ -105375,7 +145147,7 @@ ENCODING 17100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4400 9400 @@ -105393,7 +145165,7 @@ ENCODING 17101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 4FE0 9040 @@ -105411,7 +145183,7 @@ ENCODING 17102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47C0 9440 @@ -105429,7 +145201,7 @@ ENCODING 17103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 93E0 @@ -105447,7 +145219,7 @@ ENCODING 17104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 4100 @@ -105465,7 +145237,7 @@ ENCODING 17105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4100 @@ -105483,7 +145255,7 @@ ENCODING 17106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 4180 @@ -105501,7 +145273,7 @@ ENCODING 17107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 43E0 @@ -105519,7 +145291,7 @@ ENCODING 17108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4080 @@ -105537,7 +145309,7 @@ ENCODING 17109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2100 6FE0 @@ -105555,7 +145327,7 @@ ENCODING 17110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4140 @@ -105573,7 +145345,7 @@ ENCODING 17111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 4480 @@ -105591,7 +145363,7 @@ ENCODING 17112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2780 4100 @@ -105609,7 +145381,7 @@ ENCODING 17113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 4440 @@ -105627,7 +145399,7 @@ ENCODING 17114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 4AA0 @@ -105645,7 +145417,7 @@ ENCODING 17115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 4380 @@ -105663,7 +145435,7 @@ ENCODING 17116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 8220 F140 @@ -105681,7 +145453,7 @@ ENCODING 17117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2920 4540 @@ -105699,7 +145471,7 @@ ENCODING 17118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4820 @@ -105717,7 +145489,7 @@ ENCODING 17119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 47C0 @@ -105735,7 +145507,7 @@ ENCODING 17120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 4100 @@ -105753,7 +145525,7 @@ ENCODING 17121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 4440 @@ -105771,7 +145543,7 @@ ENCODING 17122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 23E0 @@ -105789,7 +145561,7 @@ ENCODING 17123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7900 8240 @@ -105807,7 +145579,7 @@ ENCODING 17124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23E0 @@ -105825,7 +145597,7 @@ ENCODING 17125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 47C0 @@ -105843,7 +145615,7 @@ ENCODING 17126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 4800 @@ -105861,7 +145633,7 @@ ENCODING 17127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 4420 @@ -105879,7 +145651,7 @@ ENCODING 17128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -105897,7 +145669,7 @@ ENCODING 17129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 26C0 4440 @@ -105915,7 +145687,7 @@ ENCODING 17130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E00 2BE0 4A40 @@ -105933,7 +145705,7 @@ ENCODING 17131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 4880 @@ -105951,7 +145723,7 @@ ENCODING 17132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4100 @@ -105969,7 +145741,7 @@ ENCODING 17133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4200 @@ -105987,7 +145759,7 @@ ENCODING 17134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 4440 @@ -106005,7 +145777,7 @@ ENCODING 17135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3140 47E0 7100 @@ -106023,7 +145795,7 @@ ENCODING 17136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -106041,7 +145813,7 @@ ENCODING 17137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -106059,7 +145831,7 @@ ENCODING 17138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -106077,7 +145849,7 @@ ENCODING 17139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 4280 @@ -106095,7 +145867,7 @@ ENCODING 17140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2140 4080 @@ -106113,7 +145885,7 @@ ENCODING 17141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -106130,8 +145902,8 @@ STARTCHAR U_42F6 ENCODING 17142 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2FC0 2200 4FC0 @@ -106149,7 +145921,7 @@ ENCODING 17143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 13E0 FD40 @@ -106167,7 +145939,7 @@ ENCODING 17144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 47E0 @@ -106185,7 +145957,7 @@ ENCODING 17145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 43C0 @@ -106203,7 +145975,7 @@ ENCODING 17146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2340 2C40 4440 @@ -106221,7 +145993,7 @@ ENCODING 17147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -106239,7 +146011,7 @@ ENCODING 17148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2480 45E0 @@ -106257,7 +146029,7 @@ ENCODING 17149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2E40 45E0 @@ -106275,7 +146047,7 @@ ENCODING 17150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4440 @@ -106293,7 +146065,7 @@ ENCODING 17151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 47C0 @@ -106311,7 +146083,7 @@ ENCODING 17152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2C40 4540 @@ -106329,7 +146101,7 @@ ENCODING 17153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4FE0 @@ -106347,7 +146119,7 @@ ENCODING 17154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 47E0 @@ -106365,7 +146137,7 @@ ENCODING 17155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 3520 4EA0 @@ -106383,7 +146155,7 @@ ENCODING 17156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4FE0 @@ -106401,7 +146173,7 @@ ENCODING 17157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4900 @@ -106419,7 +146191,7 @@ ENCODING 17158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4A40 @@ -106437,7 +146209,7 @@ ENCODING 17159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4100 @@ -106455,7 +146227,7 @@ ENCODING 17160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -106473,7 +146245,7 @@ ENCODING 17161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4AA0 @@ -106491,7 +146263,7 @@ ENCODING 17162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 4A80 @@ -106509,7 +146281,7 @@ ENCODING 17163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -106527,7 +146299,7 @@ ENCODING 17164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4660 @@ -106545,7 +146317,7 @@ ENCODING 17165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 4440 @@ -106563,7 +146335,7 @@ ENCODING 17166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7E0 9A40 @@ -106581,7 +146353,7 @@ ENCODING 17167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4920 @@ -106599,7 +146371,7 @@ ENCODING 17168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 4540 @@ -106617,7 +146389,7 @@ ENCODING 17169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4FA0 @@ -106635,7 +146407,7 @@ ENCODING 17170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4540 @@ -106653,7 +146425,7 @@ ENCODING 17171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 D540 7E20 @@ -106671,7 +146443,7 @@ ENCODING 17172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 4BC0 @@ -106689,7 +146461,7 @@ ENCODING 17173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -106707,7 +146479,7 @@ ENCODING 17174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2440 4FE0 @@ -106725,7 +146497,7 @@ ENCODING 17175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 4FE0 @@ -106743,7 +146515,7 @@ ENCODING 17176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 73E0 FD40 @@ -106761,7 +146533,7 @@ ENCODING 17177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -106779,7 +146551,7 @@ ENCODING 17178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4FE0 @@ -106797,7 +146569,7 @@ ENCODING 17179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7900 5240 @@ -106815,7 +146587,7 @@ ENCODING 17180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AA0 46C0 @@ -106833,7 +146605,7 @@ ENCODING 17181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -106851,7 +146623,7 @@ ENCODING 17182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 4440 @@ -106869,7 +146641,7 @@ ENCODING 17183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2E40 4BE0 @@ -106887,7 +146659,7 @@ ENCODING 17184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 7DE0 52A0 @@ -106905,7 +146677,7 @@ ENCODING 17185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4AA0 @@ -106923,7 +146695,7 @@ ENCODING 17186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 4FE0 @@ -106941,7 +146713,7 @@ ENCODING 17187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26E0 4D40 @@ -106959,7 +146731,7 @@ ENCODING 17188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 4920 @@ -106977,7 +146749,7 @@ ENCODING 17189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 4FE0 @@ -106995,7 +146767,7 @@ ENCODING 17190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 4360 @@ -107013,7 +146785,7 @@ ENCODING 17191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -107031,7 +146803,7 @@ ENCODING 17192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 4440 @@ -107049,7 +146821,7 @@ ENCODING 17193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -107067,7 +146839,7 @@ ENCODING 17194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EE0 @@ -107085,7 +146857,7 @@ ENCODING 17195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2A40 4F60 @@ -107103,7 +146875,7 @@ ENCODING 17196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EE0 4A80 @@ -107121,7 +146893,7 @@ ENCODING 17197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -107139,7 +146911,7 @@ ENCODING 17198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 4FE0 @@ -107157,7 +146929,7 @@ ENCODING 17199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -107175,7 +146947,7 @@ ENCODING 17200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4440 @@ -107193,7 +146965,7 @@ ENCODING 17201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 4400 @@ -107211,7 +146983,7 @@ ENCODING 17202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -107229,7 +147001,7 @@ ENCODING 17203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4FE0 @@ -107247,7 +147019,7 @@ ENCODING 17204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 4400 @@ -107265,7 +147037,7 @@ ENCODING 17205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 47E0 @@ -107283,7 +147055,7 @@ ENCODING 17206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 4080 @@ -107301,7 +147073,7 @@ ENCODING 17207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -107319,7 +147091,7 @@ ENCODING 17208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 47C0 @@ -107337,7 +147109,7 @@ ENCODING 17209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4820 @@ -107355,7 +147127,7 @@ ENCODING 17210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 4440 @@ -107373,7 +147145,7 @@ ENCODING 17211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2220 4220 @@ -107391,7 +147163,7 @@ ENCODING 17212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 47C0 @@ -107409,7 +147181,7 @@ ENCODING 17213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 4A40 @@ -107427,7 +147199,7 @@ ENCODING 17214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -107445,7 +147217,7 @@ ENCODING 17215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 43C0 @@ -107463,7 +147235,7 @@ ENCODING 17216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2A80 4AE0 @@ -107481,7 +147253,7 @@ ENCODING 17217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2940 47E0 @@ -107499,7 +147271,7 @@ ENCODING 17218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 7900 @@ -107517,7 +147289,7 @@ ENCODING 17219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FC40 4880 @@ -107535,7 +147307,7 @@ ENCODING 17220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 78E0 @@ -107553,7 +147325,7 @@ ENCODING 17221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7A80 @@ -107571,7 +147343,7 @@ ENCODING 17222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -107589,7 +147361,7 @@ ENCODING 17223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 4700 7900 @@ -107607,7 +147379,7 @@ ENCODING 17224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 7900 @@ -107625,7 +147397,7 @@ ENCODING 17225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 43E0 7A20 @@ -107643,7 +147415,7 @@ ENCODING 17226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 7FE0 @@ -107661,7 +147433,7 @@ ENCODING 17227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7900 @@ -107679,7 +147451,7 @@ ENCODING 17228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -107697,7 +147469,7 @@ ENCODING 17229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -107715,7 +147487,7 @@ ENCODING 17230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 7A40 @@ -107732,8 +147504,8 @@ STARTCHAR U_434F ENCODING 17231 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 9240 9240 @@ -107751,7 +147523,7 @@ ENCODING 17232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 4A40 @@ -107769,7 +147541,7 @@ ENCODING 17233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 AAA0 @@ -107786,8 +147558,8 @@ STARTCHAR U_4352 ENCODING 17234 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 9240 FFC0 @@ -107805,7 +147577,7 @@ ENCODING 17235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5240 7FC0 @@ -107823,7 +147595,7 @@ ENCODING 17236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -107840,26 +147612,26 @@ STARTCHAR U_4355 ENCODING 17237 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -5240 -7FC0 +BBX 10 11 1 -1 +BITMAP +FF80 +A480 +FF80 0000 -7FC0 -4400 -4400 -7FE0 -4200 -5520 -62E0 +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 +BITMAP FFC0 9240 FFC0 @@ -107877,7 +147649,7 @@ ENCODING 17239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -107895,7 +147667,7 @@ ENCODING 17240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5240 5240 @@ -107913,7 +147685,7 @@ ENCODING 17241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -107931,7 +147703,7 @@ ENCODING 17242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -107949,7 +147721,7 @@ ENCODING 17243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8920 FFE0 @@ -107967,7 +147739,7 @@ ENCODING 17244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -107985,7 +147757,7 @@ ENCODING 17245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 FFE0 @@ -108003,7 +147775,7 @@ ENCODING 17246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AAA0 9120 @@ -108021,7 +147793,7 @@ ENCODING 17247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -108039,7 +147811,7 @@ ENCODING 17248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108057,7 +147829,7 @@ ENCODING 17249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108075,7 +147847,7 @@ ENCODING 17250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108093,7 +147865,7 @@ ENCODING 17251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108111,7 +147883,7 @@ ENCODING 17252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108129,7 +147901,7 @@ ENCODING 17253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108147,7 +147919,7 @@ ENCODING 17254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -108165,7 +147937,7 @@ ENCODING 17255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 AFE0 @@ -108183,7 +147955,7 @@ ENCODING 17256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6100 F7E0 @@ -108201,7 +147973,7 @@ ENCODING 17257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5200 FBE0 @@ -108219,7 +147991,7 @@ ENCODING 17258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6100 FFE0 @@ -108237,7 +148009,7 @@ ENCODING 17259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6080 F7E0 @@ -108255,7 +148027,7 @@ ENCODING 17260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 67C0 F100 @@ -108273,7 +148045,7 @@ ENCODING 17261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 67C0 F440 @@ -108291,7 +148063,7 @@ ENCODING 17262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 6280 FAA0 @@ -108309,7 +148081,7 @@ ENCODING 17263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 63C0 F480 @@ -108327,7 +148099,7 @@ ENCODING 17264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 67E0 F4A0 @@ -108345,7 +148117,7 @@ ENCODING 17265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6100 F280 @@ -108363,7 +148135,7 @@ ENCODING 17266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 64C0 F440 @@ -108381,7 +148153,7 @@ ENCODING 17267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 6EE0 FAA0 @@ -108399,7 +148171,7 @@ ENCODING 17268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 90C0 6700 F100 @@ -108417,7 +148189,7 @@ ENCODING 17269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 63C0 F480 @@ -108435,7 +148207,7 @@ ENCODING 17270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6FE0 F100 @@ -108453,7 +148225,7 @@ ENCODING 17271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 67C0 F240 @@ -108471,7 +148243,7 @@ ENCODING 17272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9140 6FE0 F100 @@ -108489,7 +148261,7 @@ ENCODING 17273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 67C0 F440 @@ -108507,7 +148279,7 @@ ENCODING 17274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 67C0 F540 @@ -108525,7 +148297,7 @@ ENCODING 17275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 65A0 F7E0 @@ -108543,7 +148315,7 @@ ENCODING 17276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9000 6FE0 FA40 @@ -108561,7 +148333,7 @@ ENCODING 17277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 6400 F7E0 @@ -108579,7 +148351,7 @@ ENCODING 17278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5120 5120 @@ -108597,7 +148369,7 @@ ENCODING 17279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 28A0 @@ -108615,7 +148387,7 @@ ENCODING 17280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 28A0 ABE0 @@ -108633,7 +148405,7 @@ ENCODING 17281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 F920 @@ -108651,7 +148423,7 @@ ENCODING 17282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2BE0 AA20 @@ -108669,7 +148441,7 @@ ENCODING 17283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 7CA0 @@ -108686,9 +148458,8 @@ STARTCHAR U_4384 ENCODING 17284 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 5120 55A0 @@ -108705,7 +148476,7 @@ ENCODING 17285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47E0 F120 @@ -108723,7 +148494,7 @@ ENCODING 17286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 28A0 @@ -108741,7 +148512,7 @@ ENCODING 17287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 2120 7920 @@ -108759,7 +148530,7 @@ ENCODING 17288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2880 2BE0 @@ -108777,7 +148548,7 @@ ENCODING 17289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 28A0 ABE0 @@ -108795,7 +148566,7 @@ ENCODING 17290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 8920 @@ -108813,7 +148584,7 @@ ENCODING 17291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 A7E0 F920 @@ -108831,7 +148602,7 @@ ENCODING 17292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2520 2520 @@ -108849,7 +148620,7 @@ ENCODING 17293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 2BE0 2880 @@ -108867,7 +148638,7 @@ ENCODING 17294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5540 5540 @@ -108885,7 +148656,7 @@ ENCODING 17295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53E0 68A0 @@ -108903,7 +148674,7 @@ ENCODING 17296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 F7E0 2120 @@ -108921,7 +148692,7 @@ ENCODING 17297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2840 ABC0 @@ -108939,7 +148710,7 @@ ENCODING 17298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 2FE0 A900 @@ -108957,7 +148728,7 @@ ENCODING 17299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2BA0 A9C0 @@ -108975,7 +148746,7 @@ ENCODING 17300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 2FE0 A880 @@ -108993,7 +148764,7 @@ ENCODING 17301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 5500 2A80 @@ -109011,7 +148782,7 @@ ENCODING 17302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 57E0 F920 @@ -109029,7 +148800,7 @@ ENCODING 17303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 23E0 FCA0 @@ -109047,7 +148818,7 @@ ENCODING 17304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2920 @@ -109065,7 +148836,7 @@ ENCODING 17305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 84A0 @@ -109083,7 +148854,7 @@ ENCODING 17306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 2FE0 2A40 @@ -109101,7 +148872,7 @@ ENCODING 17307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3E80 0900 @@ -109119,7 +148890,7 @@ ENCODING 17308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7BC0 @@ -109137,7 +148908,7 @@ ENCODING 17309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3E80 0900 @@ -109155,7 +148926,7 @@ ENCODING 17310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3E80 0500 @@ -109173,7 +148944,7 @@ ENCODING 17311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 F900 @@ -109191,7 +148962,7 @@ ENCODING 17312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 4200 @@ -109209,7 +148980,7 @@ ENCODING 17313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 7FC0 @@ -109227,7 +148998,7 @@ ENCODING 17314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2400 @@ -109245,7 +149016,7 @@ ENCODING 17315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FA40 2540 @@ -109263,7 +149034,7 @@ ENCODING 17316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -109281,7 +149052,7 @@ ENCODING 17317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA40 2420 @@ -109299,7 +149070,7 @@ ENCODING 17318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FAA0 22A0 @@ -109317,7 +149088,7 @@ ENCODING 17319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 27E0 @@ -109335,7 +149106,7 @@ ENCODING 17320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2280 @@ -109353,7 +149124,7 @@ ENCODING 17321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FD40 2A80 @@ -109371,7 +149142,7 @@ ENCODING 17322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -109389,7 +149160,7 @@ ENCODING 17323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FCA0 2560 @@ -109407,7 +149178,7 @@ ENCODING 17324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 26A0 @@ -109425,7 +149196,7 @@ ENCODING 17325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F5E0 2340 @@ -109443,7 +149214,7 @@ ENCODING 17326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2140 @@ -109461,7 +149232,7 @@ ENCODING 17327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -109479,7 +149250,7 @@ ENCODING 17328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 FFC0 2A80 @@ -109497,7 +149268,7 @@ ENCODING 17329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 FAA0 2FE0 @@ -109515,7 +149286,7 @@ ENCODING 17330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 5040 5080 @@ -109533,7 +149304,7 @@ ENCODING 17331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 4920 4920 @@ -109551,7 +149322,7 @@ ENCODING 17332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 5240 @@ -109569,7 +149340,7 @@ ENCODING 17333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F940 5040 @@ -109587,7 +149358,7 @@ ENCODING 17334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 57E0 @@ -109605,7 +149376,7 @@ ENCODING 17335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 57C0 @@ -109623,7 +149394,7 @@ ENCODING 17336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5100 57C0 @@ -109641,7 +149412,7 @@ ENCODING 17337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 1500 FFC0 @@ -109659,7 +149430,7 @@ ENCODING 17338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FA20 5FA0 @@ -109677,7 +149448,7 @@ ENCODING 17339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 52A0 53E0 @@ -109695,7 +149466,7 @@ ENCODING 17340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5040 53C0 @@ -109713,7 +149484,7 @@ ENCODING 17341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5280 53E0 @@ -109731,7 +149502,7 @@ ENCODING 17342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 5440 @@ -109749,7 +149520,7 @@ ENCODING 17343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FC80 5480 @@ -109767,7 +149538,7 @@ ENCODING 17344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FA20 5FA0 @@ -109785,7 +149556,7 @@ ENCODING 17345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 5FE0 @@ -109803,7 +149574,7 @@ ENCODING 17346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 FD60 5520 @@ -109821,7 +149592,7 @@ ENCODING 17347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5420 53C0 @@ -109839,7 +149610,7 @@ ENCODING 17348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 5AA0 @@ -109857,7 +149628,7 @@ ENCODING 17349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 57E0 55A0 @@ -109875,7 +149646,7 @@ ENCODING 17350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 5280 @@ -109893,7 +149664,7 @@ ENCODING 17351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5280 5FE0 @@ -109911,7 +149682,7 @@ ENCODING 17352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 5480 @@ -109929,7 +149700,7 @@ ENCODING 17353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5520 57E0 @@ -109947,7 +149718,7 @@ ENCODING 17354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FAE0 5F80 @@ -109965,7 +149736,7 @@ ENCODING 17355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0480 FFE0 @@ -109983,7 +149754,7 @@ ENCODING 17356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1200 2100 @@ -110000,26 +149771,26 @@ STARTCHAR U_43CD ENCODING 17357 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0900 -1080 -7FC0 -0040 -3F80 -2080 -2C80 -2380 -2C80 -2180 +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 +BITMAP F780 9480 9480 @@ -110037,7 +149808,7 @@ ENCODING 17359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4880 4880 @@ -110055,7 +149826,7 @@ ENCODING 17360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4BC0 @@ -110072,8 +149843,8 @@ STARTCHAR U_43D1 ENCODING 17361 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 1F80 2900 @@ -110091,7 +149862,7 @@ ENCODING 17362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 4A80 4A80 @@ -110109,7 +149880,7 @@ ENCODING 17363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 4BC0 6800 @@ -110127,7 +149898,7 @@ ENCODING 17364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4940 4940 @@ -110145,7 +149916,7 @@ ENCODING 17365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 4880 @@ -110163,7 +149934,7 @@ ENCODING 17366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BA0 48A0 48A0 @@ -110181,7 +149952,7 @@ ENCODING 17367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4BC0 4C00 @@ -110199,7 +149970,7 @@ ENCODING 17368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9540 9540 @@ -110217,7 +149988,7 @@ ENCODING 17369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4FE0 @@ -110235,7 +150006,7 @@ ENCODING 17370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4900 @@ -110253,7 +150024,7 @@ ENCODING 17371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4BE0 6A20 @@ -110271,7 +150042,7 @@ ENCODING 17372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 6A40 @@ -110289,7 +150060,7 @@ ENCODING 17373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FC0 4900 @@ -110307,7 +150078,7 @@ ENCODING 17374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 6BC0 @@ -110325,7 +150096,7 @@ ENCODING 17375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9080 92A0 @@ -110343,7 +150114,7 @@ ENCODING 17376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5100 5FE0 @@ -110361,7 +150132,7 @@ ENCODING 17377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4800 4800 @@ -110379,7 +150150,7 @@ ENCODING 17378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 5080 57E0 @@ -110397,7 +150168,7 @@ ENCODING 17379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -110415,7 +150186,7 @@ ENCODING 17380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4820 4820 @@ -110433,7 +150204,7 @@ ENCODING 17381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7100 57C0 @@ -110451,7 +150222,7 @@ ENCODING 17382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70C0 5700 5100 @@ -110469,7 +150240,7 @@ ENCODING 17383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 49C0 4A40 @@ -110487,7 +150258,7 @@ ENCODING 17384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BE0 4A20 @@ -110505,7 +150276,7 @@ ENCODING 17385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4980 4A40 @@ -110523,7 +150294,7 @@ ENCODING 17386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A40 4A40 @@ -110541,7 +150312,7 @@ ENCODING 17387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5480 @@ -110559,7 +150330,7 @@ ENCODING 17388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5280 5440 @@ -110577,7 +150348,7 @@ ENCODING 17389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5500 57C0 @@ -110595,7 +150366,7 @@ ENCODING 17390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 5FE0 @@ -110613,7 +150384,7 @@ ENCODING 17391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 5FE0 @@ -110631,7 +150402,7 @@ ENCODING 17392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5120 5520 @@ -110649,7 +150420,7 @@ ENCODING 17393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -110667,7 +150438,7 @@ ENCODING 17394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5280 57C0 @@ -110685,7 +150456,7 @@ ENCODING 17395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7420 55C0 5F00 @@ -110703,7 +150474,7 @@ ENCODING 17396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 54A0 52C0 @@ -110721,7 +150492,7 @@ ENCODING 17397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5240 5FE0 @@ -110739,7 +150510,7 @@ ENCODING 17398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7480 5480 57E0 @@ -110757,7 +150528,7 @@ ENCODING 17399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -110775,7 +150546,7 @@ ENCODING 17400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 57C0 @@ -110793,7 +150564,7 @@ ENCODING 17401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -110811,7 +150582,7 @@ ENCODING 17402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5C40 5380 @@ -110829,7 +150600,7 @@ ENCODING 17403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 57C0 @@ -110847,7 +150618,7 @@ ENCODING 17404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 4A40 4FE0 @@ -110865,7 +150636,7 @@ ENCODING 17405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5100 5FE0 @@ -110883,7 +150654,7 @@ ENCODING 17406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5100 @@ -110901,7 +150672,7 @@ ENCODING 17407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 7BE0 4E40 @@ -110919,7 +150690,7 @@ ENCODING 17408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -110937,7 +150708,7 @@ ENCODING 17409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5100 5100 @@ -110955,7 +150726,7 @@ ENCODING 17410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53C0 5440 @@ -110973,7 +150744,7 @@ ENCODING 17411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 54E0 @@ -110991,7 +150762,7 @@ ENCODING 17412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53C0 5240 @@ -111009,7 +150780,7 @@ ENCODING 17413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -111027,7 +150798,7 @@ ENCODING 17414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70E0 5720 5920 @@ -111045,7 +150816,7 @@ ENCODING 17415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 57E0 5AA0 @@ -111063,7 +150834,7 @@ ENCODING 17416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5200 @@ -111081,7 +150852,7 @@ ENCODING 17417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 72A0 5540 5540 @@ -111099,7 +150870,7 @@ ENCODING 17418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -111117,7 +150888,7 @@ ENCODING 17419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 5240 5420 @@ -111135,7 +150906,7 @@ ENCODING 17420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 3F80 2A80 @@ -111153,7 +150924,7 @@ ENCODING 17421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -111171,7 +150942,7 @@ ENCODING 17422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -111189,7 +150960,7 @@ ENCODING 17423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -111207,7 +150978,7 @@ ENCODING 17424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7340 5E40 5340 @@ -111225,7 +150996,7 @@ ENCODING 17425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5FE0 5540 @@ -111243,7 +151014,7 @@ ENCODING 17426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -111261,7 +151032,7 @@ ENCODING 17427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5200 57C0 @@ -111279,7 +151050,7 @@ ENCODING 17428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A800 AFE0 @@ -111297,7 +151068,7 @@ ENCODING 17429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 5FE0 @@ -111315,7 +151086,7 @@ ENCODING 17430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -111333,7 +151104,7 @@ ENCODING 17431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 57C0 5240 @@ -111351,7 +151122,7 @@ ENCODING 17432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5520 5280 @@ -111369,7 +151140,7 @@ ENCODING 17433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5FE0 5440 @@ -111387,7 +151158,7 @@ ENCODING 17434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AAA0 @@ -111405,7 +151176,7 @@ ENCODING 17435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5240 @@ -111423,7 +151194,7 @@ ENCODING 17436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5200 @@ -111441,7 +151212,7 @@ ENCODING 17437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 57C0 @@ -111459,7 +151230,7 @@ ENCODING 17438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EE0 5220 56E0 @@ -111477,7 +151248,7 @@ ENCODING 17439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -111495,7 +151266,7 @@ ENCODING 17440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5FE0 5440 @@ -111513,7 +151284,7 @@ ENCODING 17441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A40 @@ -111531,7 +151302,7 @@ ENCODING 17442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 57E0 5AA0 @@ -111549,7 +151320,7 @@ ENCODING 17443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -111567,7 +151338,7 @@ ENCODING 17444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 5FE0 5100 @@ -111585,7 +151356,7 @@ ENCODING 17445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5440 5A20 @@ -111603,7 +151374,7 @@ ENCODING 17446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFC0 A100 @@ -111621,7 +151392,7 @@ ENCODING 17447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5000 @@ -111639,7 +151410,7 @@ ENCODING 17448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FE40 1240 @@ -111657,7 +151428,7 @@ ENCODING 17449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5540 57C0 @@ -111675,7 +151446,7 @@ ENCODING 17450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7480 57E0 5C80 @@ -111693,7 +151464,7 @@ ENCODING 17451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 A940 B2A0 @@ -111711,7 +151482,7 @@ ENCODING 17452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 A280 @@ -111729,7 +151500,7 @@ ENCODING 17453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAA0 BFE0 AAA0 @@ -111747,7 +151518,7 @@ ENCODING 17454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A440 @@ -111765,7 +151536,7 @@ ENCODING 17455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5540 57C0 @@ -111783,7 +151554,7 @@ ENCODING 17456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 A4E0 A9A0 @@ -111801,7 +151572,7 @@ ENCODING 17457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A280 @@ -111819,7 +151590,7 @@ ENCODING 17458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5220 5BA0 @@ -111837,7 +151608,7 @@ ENCODING 17459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53C0 5480 @@ -111855,25 +151626,25 @@ ENCODING 17460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AA80 FFE0 -9280 -FCE0 -0000 +9180 +AAA0 +CC60 3F80 -2880 -2680 -3880 -4180 +2080 +3F80 +2080 +2180 ENDCHAR STARTCHAR U_4435 ENCODING 17461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -111891,7 +151662,7 @@ ENCODING 17462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AAA0 BFE0 @@ -111909,7 +151680,7 @@ ENCODING 17463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5540 57C0 @@ -111927,7 +151698,7 @@ ENCODING 17464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5140 5FE0 @@ -111945,7 +151716,7 @@ ENCODING 17465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AFC0 A240 @@ -111963,7 +151734,7 @@ ENCODING 17466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -111981,7 +151752,7 @@ ENCODING 17467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -111999,7 +151770,7 @@ ENCODING 17468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54A0 5EA0 @@ -112017,7 +151788,7 @@ ENCODING 17469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 AFE0 A440 @@ -112035,7 +151806,7 @@ ENCODING 17470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AAA0 AFE0 @@ -112053,7 +151824,7 @@ ENCODING 17471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 AFE0 AB60 @@ -112071,7 +151842,7 @@ ENCODING 17472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 7740 55E0 @@ -112089,25 +151860,25 @@ ENCODING 17473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 75C0 4A40 75C0 4A40 FFE0 -A8A0 -2480 -2280 -4C80 -8180 +A0A0 +3F80 +2080 +3F80 +2080 ENDCHAR STARTCHAR U_4442 ENCODING 17474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E600 AAC0 AB40 @@ -112125,7 +151896,7 @@ ENCODING 17475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 77C0 5280 @@ -112143,7 +151914,7 @@ ENCODING 17476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7780 5480 @@ -112161,7 +151932,7 @@ ENCODING 17477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 57C0 5280 @@ -112179,7 +151950,7 @@ ENCODING 17478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 77C0 5100 @@ -112197,7 +151968,7 @@ ENCODING 17479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 7480 57E0 @@ -112215,7 +151986,7 @@ ENCODING 17480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 77A0 5AC0 @@ -112233,7 +152004,7 @@ ENCODING 17481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FE0 5400 @@ -112251,7 +152022,7 @@ ENCODING 17482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 73C0 5AC0 @@ -112269,7 +152040,7 @@ ENCODING 17483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FE0 56C0 @@ -112287,7 +152058,7 @@ ENCODING 17484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -112305,7 +152076,7 @@ ENCODING 17485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -112323,7 +152094,7 @@ ENCODING 17486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAA0 B580 BFE0 @@ -112341,7 +152112,7 @@ ENCODING 17487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5EE0 56C0 @@ -112359,7 +152130,7 @@ ENCODING 17488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 A3E0 @@ -112377,7 +152148,7 @@ ENCODING 17489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 06C0 F280 AFE0 @@ -112395,7 +152166,7 @@ ENCODING 17490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 27E0 4120 @@ -112413,7 +152184,7 @@ ENCODING 17491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -112431,7 +152202,7 @@ ENCODING 17492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4080 9FE0 @@ -112449,7 +152220,7 @@ ENCODING 17493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 4040 7BC0 @@ -112467,7 +152238,7 @@ ENCODING 17494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47E0 9940 @@ -112485,7 +152256,7 @@ ENCODING 17495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 4240 9BC0 @@ -112503,7 +152274,7 @@ ENCODING 17496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 47E0 9900 @@ -112521,7 +152292,7 @@ ENCODING 17497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 E240 2240 @@ -112539,7 +152310,7 @@ ENCODING 17498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 E220 2220 @@ -112557,7 +152328,7 @@ ENCODING 17499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1860 E3C0 2240 @@ -112575,7 +152346,7 @@ ENCODING 17500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 EFE0 2540 @@ -112593,7 +152364,7 @@ ENCODING 17501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -112611,7 +152382,7 @@ ENCODING 17502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5500 4E00 @@ -112629,7 +152400,7 @@ ENCODING 17503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 E5E0 A960 @@ -112647,7 +152418,7 @@ ENCODING 17504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 4820 @@ -112665,7 +152436,7 @@ ENCODING 17505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FC0 5440 @@ -112683,25 +152454,25 @@ ENCODING 17506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77E0 -5240 -7240 -5240 -FA40 -5240 -7240 -5240 -5440 -9860 +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 +BITMAP 2040 7880 4B00 @@ -112719,7 +152490,7 @@ ENCODING 17508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4A80 @@ -112737,7 +152508,7 @@ ENCODING 17509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77C0 5440 @@ -112755,7 +152526,7 @@ ENCODING 17510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 7400 57E0 @@ -112773,7 +152544,7 @@ ENCODING 17511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7440 5C40 @@ -112791,7 +152562,7 @@ ENCODING 17512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 7400 57E0 @@ -112809,7 +152580,7 @@ ENCODING 17513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 5100 @@ -112827,7 +152598,7 @@ ENCODING 17514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 5280 @@ -112845,7 +152616,7 @@ ENCODING 17515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 7240 57E0 @@ -112863,7 +152634,7 @@ ENCODING 17516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7280 5280 @@ -112881,7 +152652,7 @@ ENCODING 17517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 72E0 5040 @@ -112899,7 +152670,7 @@ ENCODING 17518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7240 5240 @@ -112917,7 +152688,7 @@ ENCODING 17519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 7280 57C0 @@ -112935,7 +152706,7 @@ ENCODING 17520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7500 55C0 @@ -112953,7 +152724,7 @@ ENCODING 17521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5420 @@ -112971,7 +152742,7 @@ ENCODING 17522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 71C0 5100 @@ -112989,7 +152760,7 @@ ENCODING 17523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7A80 4C40 @@ -113007,7 +152778,7 @@ ENCODING 17524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7240 57E0 @@ -113025,7 +152796,7 @@ ENCODING 17525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7220 52E0 @@ -113043,7 +152814,7 @@ ENCODING 17526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5100 @@ -113061,7 +152832,7 @@ ENCODING 17527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5420 @@ -113079,7 +152850,7 @@ ENCODING 17528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5420 @@ -113097,7 +152868,7 @@ ENCODING 17529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5920 @@ -113115,7 +152886,7 @@ ENCODING 17530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7440 57C0 @@ -113133,7 +152904,7 @@ ENCODING 17531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7280 50E0 @@ -113151,7 +152922,7 @@ ENCODING 17532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 77E0 5AA0 @@ -113169,7 +152940,7 @@ ENCODING 17533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7440 57C0 @@ -113187,7 +152958,7 @@ ENCODING 17534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 77E0 5C80 @@ -113205,7 +152976,7 @@ ENCODING 17535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5420 @@ -113223,7 +152994,7 @@ ENCODING 17536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 77E0 5540 @@ -113241,7 +153012,7 @@ ENCODING 17537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 7AA0 5660 @@ -113259,7 +153030,7 @@ ENCODING 17538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7560 55A0 @@ -113277,7 +153048,7 @@ ENCODING 17539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7940 55E0 @@ -113295,7 +153066,7 @@ ENCODING 17540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FE0 5020 @@ -113313,7 +153084,7 @@ ENCODING 17541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 7FE0 5100 @@ -113331,7 +153102,7 @@ ENCODING 17542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7280 5FE0 @@ -113349,7 +153120,7 @@ ENCODING 17543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5020 @@ -113367,7 +153138,7 @@ ENCODING 17544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5540 @@ -113385,7 +153156,7 @@ ENCODING 17545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 7FE0 5540 @@ -113403,7 +153174,7 @@ ENCODING 17546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 49E0 8640 @@ -113421,7 +153192,7 @@ ENCODING 17547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21C0 FA40 @@ -113439,7 +153210,7 @@ ENCODING 17548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 85E0 7A40 @@ -113457,7 +153228,7 @@ ENCODING 17549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9C0 5640 @@ -113475,7 +153246,7 @@ ENCODING 17550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FDC0 5240 @@ -113493,7 +153264,7 @@ ENCODING 17551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 51C0 FA40 @@ -113511,7 +153282,7 @@ ENCODING 17552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ED00 29E0 FE40 @@ -113528,10 +153299,8 @@ STARTCHAR U_4491 ENCODING 17553 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 +BBX 11 8 0 0 +BITMAP 4040 2040 2080 @@ -113540,14 +153309,13 @@ BITMAP 0000 0040 FFE0 -0000 ENDCHAR STARTCHAR U_4492 ENCODING 17554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113565,7 +153333,7 @@ ENCODING 17555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113583,7 +153351,7 @@ ENCODING 17556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113601,7 +153369,7 @@ ENCODING 17557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113619,7 +153387,7 @@ ENCODING 17558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113637,7 +153405,7 @@ ENCODING 17559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113655,7 +153423,7 @@ ENCODING 17560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113673,7 +153441,7 @@ ENCODING 17561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -113691,7 +153459,7 @@ ENCODING 17562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -113709,7 +153477,7 @@ ENCODING 17563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113727,7 +153495,7 @@ ENCODING 17564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113745,7 +153513,7 @@ ENCODING 17565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113763,7 +153531,7 @@ ENCODING 17566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113781,7 +153549,7 @@ ENCODING 17567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113799,7 +153567,7 @@ ENCODING 17568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113817,7 +153585,7 @@ ENCODING 17569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113835,7 +153603,7 @@ ENCODING 17570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113853,7 +153621,7 @@ ENCODING 17571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113871,7 +153639,7 @@ ENCODING 17572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113889,7 +153657,7 @@ ENCODING 17573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113907,7 +153675,7 @@ ENCODING 17574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113925,7 +153693,7 @@ ENCODING 17575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113943,7 +153711,7 @@ ENCODING 17576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113961,7 +153729,7 @@ ENCODING 17577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FBE0 1080 @@ -113979,7 +153747,7 @@ ENCODING 17578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -113997,7 +153765,7 @@ ENCODING 17579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114015,7 +153783,7 @@ ENCODING 17580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114033,7 +153801,7 @@ ENCODING 17581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114051,7 +153819,7 @@ ENCODING 17582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114069,7 +153837,7 @@ ENCODING 17583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114087,7 +153855,7 @@ ENCODING 17584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1100 7FC0 @@ -114105,7 +153873,7 @@ ENCODING 17585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -114123,7 +153891,7 @@ ENCODING 17586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114141,7 +153909,7 @@ ENCODING 17587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114159,7 +153927,7 @@ ENCODING 17588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2480 @@ -114177,7 +153945,7 @@ ENCODING 17589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114195,7 +153963,7 @@ ENCODING 17590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2480 @@ -114213,7 +153981,7 @@ ENCODING 17591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114231,7 +153999,7 @@ ENCODING 17592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114249,7 +154017,7 @@ ENCODING 17593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114267,7 +154035,7 @@ ENCODING 17594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114285,7 +154053,7 @@ ENCODING 17595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114303,7 +154071,7 @@ ENCODING 17596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114321,7 +154089,7 @@ ENCODING 17597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114339,7 +154107,7 @@ ENCODING 17598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114357,7 +154125,7 @@ ENCODING 17599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114375,7 +154143,7 @@ ENCODING 17600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114393,7 +154161,7 @@ ENCODING 17601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114411,7 +154179,7 @@ ENCODING 17602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114429,7 +154197,7 @@ ENCODING 17603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114447,7 +154215,7 @@ ENCODING 17604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114465,7 +154233,7 @@ ENCODING 17605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114483,7 +154251,7 @@ ENCODING 17606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114501,7 +154269,7 @@ ENCODING 17607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114519,7 +154287,7 @@ ENCODING 17608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114537,7 +154305,7 @@ ENCODING 17609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114555,7 +154323,7 @@ ENCODING 17610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114573,7 +154341,7 @@ ENCODING 17611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114591,7 +154359,7 @@ ENCODING 17612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114609,7 +154377,7 @@ ENCODING 17613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114627,7 +154395,7 @@ ENCODING 17614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114645,7 +154413,7 @@ ENCODING 17615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114663,7 +154431,7 @@ ENCODING 17616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114681,7 +154449,7 @@ ENCODING 17617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114699,7 +154467,7 @@ ENCODING 17618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114717,7 +154485,7 @@ ENCODING 17619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114735,7 +154503,7 @@ ENCODING 17620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -114753,7 +154521,7 @@ ENCODING 17621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114771,7 +154539,7 @@ ENCODING 17622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114789,7 +154557,7 @@ ENCODING 17623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114807,7 +154575,7 @@ ENCODING 17624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FBE0 1100 @@ -114825,7 +154593,7 @@ ENCODING 17625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114843,7 +154611,7 @@ ENCODING 17626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114861,7 +154629,7 @@ ENCODING 17627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114879,7 +154647,7 @@ ENCODING 17628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114897,7 +154665,7 @@ ENCODING 17629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114915,7 +154683,7 @@ ENCODING 17630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114933,7 +154701,7 @@ ENCODING 17631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -114951,7 +154719,7 @@ ENCODING 17632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FBE0 1500 @@ -114969,7 +154737,7 @@ ENCODING 17633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -114987,7 +154755,7 @@ ENCODING 17634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115005,7 +154773,7 @@ ENCODING 17635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115023,7 +154791,7 @@ ENCODING 17636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115041,7 +154809,7 @@ ENCODING 17637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 F1E0 1100 @@ -115059,7 +154827,7 @@ ENCODING 17638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115077,7 +154845,7 @@ ENCODING 17639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115095,7 +154863,7 @@ ENCODING 17640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115113,7 +154881,7 @@ ENCODING 17641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115131,7 +154899,7 @@ ENCODING 17642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115149,7 +154917,7 @@ ENCODING 17643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115167,7 +154935,7 @@ ENCODING 17644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115185,7 +154953,7 @@ ENCODING 17645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115203,7 +154971,7 @@ ENCODING 17646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115221,7 +154989,7 @@ ENCODING 17647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -115239,7 +155007,7 @@ ENCODING 17648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115257,7 +155025,7 @@ ENCODING 17649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115275,7 +155043,7 @@ ENCODING 17650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115293,7 +155061,7 @@ ENCODING 17651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115311,7 +155079,7 @@ ENCODING 17652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115329,7 +155097,7 @@ ENCODING 17653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115347,7 +155115,7 @@ ENCODING 17654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115365,7 +155133,7 @@ ENCODING 17655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115383,7 +155151,7 @@ ENCODING 17656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115401,7 +155169,7 @@ ENCODING 17657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115419,7 +155187,7 @@ ENCODING 17658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115437,7 +155205,7 @@ ENCODING 17659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115455,7 +155223,7 @@ ENCODING 17660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115473,7 +155241,7 @@ ENCODING 17661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115491,7 +155259,7 @@ ENCODING 17662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115509,7 +155277,7 @@ ENCODING 17663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115527,7 +155295,7 @@ ENCODING 17664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -115545,7 +155313,7 @@ ENCODING 17665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115563,7 +155331,7 @@ ENCODING 17666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2480 @@ -115581,7 +155349,7 @@ ENCODING 17667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115599,7 +155367,7 @@ ENCODING 17668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2880 @@ -115617,7 +155385,7 @@ ENCODING 17669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115635,7 +155403,7 @@ ENCODING 17670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115653,7 +155421,7 @@ ENCODING 17671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2480 @@ -115671,7 +155439,7 @@ ENCODING 17672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115689,7 +155457,7 @@ ENCODING 17673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115707,7 +155475,7 @@ ENCODING 17674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -115725,7 +155493,7 @@ ENCODING 17675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115743,7 +155511,7 @@ ENCODING 17676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0900 @@ -115761,7 +155529,7 @@ ENCODING 17677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115779,7 +155547,7 @@ ENCODING 17678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115797,7 +155565,7 @@ ENCODING 17679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115815,7 +155583,7 @@ ENCODING 17680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115833,7 +155601,7 @@ ENCODING 17681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -115851,7 +155619,7 @@ ENCODING 17682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115869,7 +155637,7 @@ ENCODING 17683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115887,7 +155655,7 @@ ENCODING 17684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115905,7 +155673,7 @@ ENCODING 17685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -115923,7 +155691,7 @@ ENCODING 17686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115941,7 +155709,7 @@ ENCODING 17687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115959,7 +155727,7 @@ ENCODING 17688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115977,7 +155745,7 @@ ENCODING 17689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -115995,7 +155763,7 @@ ENCODING 17690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116013,7 +155781,7 @@ ENCODING 17691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116031,7 +155799,7 @@ ENCODING 17692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116049,7 +155817,7 @@ ENCODING 17693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -116067,7 +155835,7 @@ ENCODING 17694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -116085,7 +155853,7 @@ ENCODING 17695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116103,7 +155871,7 @@ ENCODING 17696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116121,7 +155889,7 @@ ENCODING 17697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116139,7 +155907,7 @@ ENCODING 17698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116157,7 +155925,7 @@ ENCODING 17699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116175,7 +155943,7 @@ ENCODING 17700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116193,7 +155961,7 @@ ENCODING 17701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -116211,7 +155979,7 @@ ENCODING 17702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -116229,7 +155997,7 @@ ENCODING 17703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116247,7 +156015,7 @@ ENCODING 17704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116265,7 +156033,7 @@ ENCODING 17705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2100 @@ -116283,7 +156051,7 @@ ENCODING 17706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -116301,7 +156069,7 @@ ENCODING 17707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116319,7 +156087,7 @@ ENCODING 17708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116337,7 +156105,7 @@ ENCODING 17709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116355,7 +156123,7 @@ ENCODING 17710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4900 @@ -116373,7 +156141,7 @@ ENCODING 17711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116391,7 +156159,7 @@ ENCODING 17712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1E0 2480 FFE0 @@ -116409,7 +156177,7 @@ ENCODING 17713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -116427,7 +156195,7 @@ ENCODING 17714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116445,7 +156213,7 @@ ENCODING 17715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116463,7 +156231,7 @@ ENCODING 17716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116481,7 +156249,7 @@ ENCODING 17717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116499,7 +156267,7 @@ ENCODING 17718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116517,7 +156285,7 @@ ENCODING 17719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116535,7 +156303,7 @@ ENCODING 17720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116553,7 +156321,7 @@ ENCODING 17721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116571,7 +156339,7 @@ ENCODING 17722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116589,7 +156357,7 @@ ENCODING 17723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -116607,7 +156375,7 @@ ENCODING 17724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116625,7 +156393,7 @@ ENCODING 17725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116643,7 +156411,7 @@ ENCODING 17726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116661,7 +156429,7 @@ ENCODING 17727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116679,7 +156447,7 @@ ENCODING 17728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116697,7 +156465,7 @@ ENCODING 17729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116715,7 +156483,7 @@ ENCODING 17730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116733,7 +156501,7 @@ ENCODING 17731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116751,7 +156519,7 @@ ENCODING 17732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116769,7 +156537,7 @@ ENCODING 17733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116787,7 +156555,7 @@ ENCODING 17734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116805,7 +156573,7 @@ ENCODING 17735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2480 7FE0 @@ -116823,7 +156591,7 @@ ENCODING 17736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -116841,7 +156609,7 @@ ENCODING 17737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116859,7 +156627,7 @@ ENCODING 17738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -116877,7 +156645,7 @@ ENCODING 17739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116895,7 +156663,7 @@ ENCODING 17740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116913,7 +156681,7 @@ ENCODING 17741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -116931,7 +156699,7 @@ ENCODING 17742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116949,7 +156717,7 @@ ENCODING 17743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116967,7 +156735,7 @@ ENCODING 17744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -116985,7 +156753,7 @@ ENCODING 17745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117003,7 +156771,7 @@ ENCODING 17746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -117021,7 +156789,7 @@ ENCODING 17747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1480 @@ -117039,7 +156807,7 @@ ENCODING 17748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117057,7 +156825,7 @@ ENCODING 17749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117075,7 +156843,7 @@ ENCODING 17750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117093,7 +156861,7 @@ ENCODING 17751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2480 @@ -117111,7 +156879,7 @@ ENCODING 17752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117129,7 +156897,7 @@ ENCODING 17753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117147,7 +156915,7 @@ ENCODING 17754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1100 7FC0 @@ -117165,7 +156933,7 @@ ENCODING 17755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117183,7 +156951,7 @@ ENCODING 17756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117201,7 +156969,7 @@ ENCODING 17757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1040 @@ -117219,7 +156987,7 @@ ENCODING 17758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -117237,7 +157005,7 @@ ENCODING 17759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2100 5FC0 @@ -117255,7 +157023,7 @@ ENCODING 17760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2480 7FE0 @@ -117273,7 +157041,7 @@ ENCODING 17761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -117291,7 +157059,7 @@ ENCODING 17762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117309,7 +157077,7 @@ ENCODING 17763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117327,7 +157095,7 @@ ENCODING 17764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117345,7 +157113,7 @@ ENCODING 17765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5140 @@ -117363,7 +157131,7 @@ ENCODING 17766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2480 FFE0 @@ -117381,7 +157149,7 @@ ENCODING 17767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117399,7 +157167,7 @@ ENCODING 17768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117417,7 +157185,7 @@ ENCODING 17769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117435,7 +157203,7 @@ ENCODING 17770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117453,7 +157221,7 @@ ENCODING 17771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117471,7 +157239,7 @@ ENCODING 17772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117489,7 +157257,7 @@ ENCODING 17773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -117507,7 +157275,7 @@ ENCODING 17774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -117525,7 +157293,7 @@ ENCODING 17775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117543,7 +157311,7 @@ ENCODING 17776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117561,7 +157329,7 @@ ENCODING 17777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117579,7 +157347,7 @@ ENCODING 17778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -117597,7 +157365,7 @@ ENCODING 17779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117615,7 +157383,7 @@ ENCODING 17780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117633,7 +157401,7 @@ ENCODING 17781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117651,7 +157419,7 @@ ENCODING 17782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4280 @@ -117669,7 +157437,7 @@ ENCODING 17783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2480 7FE0 @@ -117687,7 +157455,7 @@ ENCODING 17784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117705,7 +157473,7 @@ ENCODING 17785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117723,7 +157491,7 @@ ENCODING 17786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5140 @@ -117741,7 +157509,7 @@ ENCODING 17787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117759,7 +157527,7 @@ ENCODING 17788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117777,7 +157545,7 @@ ENCODING 17789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117795,7 +157563,7 @@ ENCODING 17790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117813,7 +157581,7 @@ ENCODING 17791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -117831,7 +157599,7 @@ ENCODING 17792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -117849,7 +157617,7 @@ ENCODING 17793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FFE0 4940 @@ -117867,7 +157635,7 @@ ENCODING 17794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5540 @@ -117885,7 +157653,7 @@ ENCODING 17795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 1500 FFE0 @@ -117903,7 +157671,7 @@ ENCODING 17796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -117921,7 +157689,7 @@ ENCODING 17797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -117939,7 +157707,7 @@ ENCODING 17798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -117957,7 +157725,7 @@ ENCODING 17799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2480 @@ -117975,7 +157743,7 @@ ENCODING 17800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -117993,7 +157761,7 @@ ENCODING 17801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0700 0400 7FE0 @@ -118011,7 +157779,7 @@ ENCODING 17802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 1100 97E0 @@ -118029,7 +157797,7 @@ ENCODING 17803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 1080 7C80 @@ -118047,7 +157815,7 @@ ENCODING 17804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C20 1020 7E20 @@ -118065,7 +157833,7 @@ ENCODING 17805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0F80 0800 @@ -118083,7 +157851,7 @@ ENCODING 17806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 E100 AFE0 @@ -118101,7 +157869,7 @@ ENCODING 17807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -118119,7 +157887,7 @@ ENCODING 17808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 61C0 4100 @@ -118137,7 +157905,7 @@ ENCODING 17809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1DE0 1120 @@ -118155,7 +157923,7 @@ ENCODING 17810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 0800 7FE0 @@ -118173,7 +157941,7 @@ ENCODING 17811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2080 ABE0 @@ -118191,7 +157959,7 @@ ENCODING 17812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 27E0 @@ -118209,7 +157977,7 @@ ENCODING 17813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 11C0 7D40 @@ -118227,7 +157995,7 @@ ENCODING 17814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 13E0 7EA0 @@ -118245,7 +158013,7 @@ ENCODING 17815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0700 0400 7FE0 @@ -118263,7 +158031,7 @@ ENCODING 17816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 11C0 7E40 @@ -118281,7 +158049,7 @@ ENCODING 17817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 9080 ED40 @@ -118299,15 +158067,15 @@ ENCODING 17818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -1900 +BITMAP +1D00 13C0 7E40 53C0 7E00 53C0 4E00 -53E0 +5BE0 54A0 56A0 A460 @@ -118317,7 +158085,7 @@ ENCODING 17819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 27E0 F900 @@ -118335,7 +158103,7 @@ ENCODING 17820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39C0 2100 7FE0 @@ -118353,7 +158121,7 @@ ENCODING 17821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 7C00 0400 @@ -118371,7 +158139,7 @@ ENCODING 17822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 F840 @@ -118389,7 +158157,7 @@ ENCODING 17823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -118407,7 +158175,7 @@ ENCODING 17824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -118425,7 +158193,7 @@ ENCODING 17825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 2140 @@ -118443,7 +158211,7 @@ ENCODING 17826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2080 @@ -118461,7 +158229,7 @@ ENCODING 17827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 FD40 @@ -118479,7 +158247,7 @@ ENCODING 17828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 B2C0 @@ -118497,7 +158265,7 @@ ENCODING 17829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 0900 0600 @@ -118515,7 +158283,7 @@ ENCODING 17830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 22A0 22A0 @@ -118533,7 +158301,7 @@ ENCODING 17831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -118551,7 +158319,7 @@ ENCODING 17832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -118569,7 +158337,7 @@ ENCODING 17833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 20C0 @@ -118587,7 +158355,7 @@ ENCODING 17834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5E60 5380 @@ -118605,7 +158373,7 @@ ENCODING 17835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FC40 @@ -118623,7 +158391,7 @@ ENCODING 17836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FAA0 @@ -118641,7 +158409,7 @@ ENCODING 17837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7F80 @@ -118659,7 +158427,7 @@ ENCODING 17838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 FBE0 @@ -118677,7 +158445,7 @@ ENCODING 17839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -118695,7 +158463,7 @@ ENCODING 17840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 2860 @@ -118713,7 +158481,7 @@ ENCODING 17841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2200 @@ -118731,7 +158499,7 @@ ENCODING 17842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -118749,7 +158517,7 @@ ENCODING 17843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -118767,7 +158535,7 @@ ENCODING 17844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FAA0 @@ -118785,7 +158553,7 @@ ENCODING 17845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2080 @@ -118803,7 +158571,7 @@ ENCODING 17846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -118821,7 +158589,7 @@ ENCODING 17847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2180 F980 @@ -118839,7 +158607,7 @@ ENCODING 17848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 1240 FFE0 @@ -118857,7 +158625,7 @@ ENCODING 17849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 26E0 FA80 @@ -118875,7 +158643,7 @@ ENCODING 17850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 4440 @@ -118893,7 +158661,7 @@ ENCODING 17851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -118911,7 +158679,7 @@ ENCODING 17852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 22E0 FAA0 @@ -118929,7 +158697,7 @@ ENCODING 17853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 1120 FD20 @@ -118947,7 +158715,7 @@ ENCODING 17854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -118965,7 +158733,7 @@ ENCODING 17855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 23E0 FCA0 @@ -118983,7 +158751,7 @@ ENCODING 17856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -119001,7 +158769,7 @@ ENCODING 17857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2280 @@ -119019,7 +158787,7 @@ ENCODING 17858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2080 FBE0 @@ -119037,7 +158805,7 @@ ENCODING 17859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 27E0 @@ -119055,7 +158823,7 @@ ENCODING 17860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2C60 2280 @@ -119073,7 +158841,7 @@ ENCODING 17861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2200 FBC0 @@ -119091,7 +158859,7 @@ ENCODING 17862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -119109,7 +158877,7 @@ ENCODING 17863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -119127,7 +158895,7 @@ ENCODING 17864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -119145,7 +158913,7 @@ ENCODING 17865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -119163,7 +158931,7 @@ ENCODING 17866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 22A0 FAC0 @@ -119181,7 +158949,7 @@ ENCODING 17867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -119199,7 +158967,7 @@ ENCODING 17868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -119217,7 +158985,7 @@ ENCODING 17869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1200 FFE0 @@ -119235,7 +159003,7 @@ ENCODING 17870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2280 @@ -119253,7 +159021,7 @@ ENCODING 17871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -119271,7 +159039,7 @@ ENCODING 17872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 43E0 @@ -119289,7 +159057,7 @@ ENCODING 17873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -119307,7 +159075,7 @@ ENCODING 17874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 27E0 @@ -119325,7 +159093,7 @@ ENCODING 17875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FAA0 @@ -119343,7 +159111,7 @@ ENCODING 17876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 2240 FFE0 @@ -119361,7 +159129,7 @@ ENCODING 17877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A020 @@ -119379,7 +159147,7 @@ ENCODING 17878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 2540 @@ -119397,7 +159165,7 @@ ENCODING 17879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 23E0 2540 @@ -119415,7 +159183,7 @@ ENCODING 17880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -119433,7 +159201,7 @@ ENCODING 17881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 9120 @@ -119451,7 +159219,7 @@ ENCODING 17882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 27E0 FAA0 @@ -119469,7 +159237,7 @@ ENCODING 17883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 25E0 28A0 @@ -119487,7 +159255,7 @@ ENCODING 17884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2260 2360 @@ -119505,7 +159273,7 @@ ENCODING 17885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 03E0 FEA0 @@ -119523,7 +159291,7 @@ ENCODING 17886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -119541,7 +159309,7 @@ ENCODING 17887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A240 FDE0 @@ -119559,7 +159327,7 @@ ENCODING 17888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 44A0 @@ -119577,7 +159345,7 @@ ENCODING 17889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 22C0 @@ -119595,7 +159363,7 @@ ENCODING 17890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2140 25E0 @@ -119613,7 +159381,7 @@ ENCODING 17891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -119631,7 +159399,7 @@ ENCODING 17892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2940 @@ -119649,7 +159417,7 @@ ENCODING 17893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 3940 2540 @@ -119667,7 +159435,7 @@ ENCODING 17894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 24A0 FA40 @@ -119685,7 +159453,7 @@ ENCODING 17895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 2280 @@ -119703,7 +159471,7 @@ ENCODING 17896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21C0 FA40 @@ -119721,7 +159489,7 @@ ENCODING 17897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 2FE0 @@ -119739,7 +159507,7 @@ ENCODING 17898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -119757,7 +159525,7 @@ ENCODING 17899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -119775,7 +159543,7 @@ ENCODING 17900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FA80 2D60 @@ -119793,7 +159561,7 @@ ENCODING 17901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EA0 2AC0 24A0 @@ -119811,7 +159579,7 @@ ENCODING 17902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -119829,7 +159597,7 @@ ENCODING 17903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2140 25E0 @@ -119847,7 +159615,7 @@ ENCODING 17904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 27E0 @@ -119865,7 +159633,7 @@ ENCODING 17905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -119883,7 +159651,7 @@ ENCODING 17906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2380 27E0 @@ -119901,7 +159669,7 @@ ENCODING 17907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2520 @@ -119919,7 +159687,7 @@ ENCODING 17908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 2940 @@ -119937,7 +159705,7 @@ ENCODING 17909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 23E0 @@ -119955,7 +159723,7 @@ ENCODING 17910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -119973,7 +159741,7 @@ ENCODING 17911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2140 @@ -119991,7 +159759,7 @@ ENCODING 17912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -120009,7 +159777,7 @@ ENCODING 17913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 27E0 @@ -120027,7 +159795,7 @@ ENCODING 17914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71E0 1700 61C0 @@ -120045,7 +159813,7 @@ ENCODING 17915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 2940 @@ -120063,7 +159831,7 @@ ENCODING 17916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 2100 @@ -120081,7 +159849,7 @@ ENCODING 17917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 5480 EFE0 @@ -120099,7 +159867,7 @@ ENCODING 17918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 27E0 @@ -120117,7 +159885,7 @@ ENCODING 17919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2520 @@ -120135,7 +159903,7 @@ ENCODING 17920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F00 2100 @@ -120153,7 +159921,7 @@ ENCODING 17921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 1120 FFE0 @@ -120171,7 +159939,7 @@ ENCODING 17922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 22A0 @@ -120189,7 +159957,7 @@ ENCODING 17923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2D60 @@ -120207,7 +159975,7 @@ ENCODING 17924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 3F80 0500 @@ -120225,7 +159993,7 @@ ENCODING 17925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 4B00 FBE0 @@ -120243,7 +160011,7 @@ ENCODING 17926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2920 @@ -120261,7 +160029,7 @@ ENCODING 17927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -120279,7 +160047,7 @@ ENCODING 17928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A80 2FC0 @@ -120297,7 +160065,7 @@ ENCODING 17929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -120315,7 +160083,7 @@ ENCODING 17930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 2AA0 @@ -120333,7 +160101,7 @@ ENCODING 17931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2580 2AA0 2FE0 @@ -120351,7 +160119,7 @@ ENCODING 17932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 BFC0 @@ -120369,7 +160137,7 @@ ENCODING 17933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2080 @@ -120387,7 +160155,7 @@ ENCODING 17934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2BA0 2D40 @@ -120405,7 +160173,7 @@ ENCODING 17935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 20A0 FEA0 @@ -120423,7 +160191,7 @@ ENCODING 17936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 2140 4140 @@ -120441,7 +160209,7 @@ ENCODING 17937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2080 2380 @@ -120459,7 +160227,7 @@ ENCODING 17938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2140 4220 @@ -120477,7 +160245,7 @@ ENCODING 17939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 21C0 4240 @@ -120495,7 +160263,7 @@ ENCODING 17940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 23E0 4220 @@ -120513,7 +160281,7 @@ ENCODING 17941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 44E0 9E00 @@ -120531,7 +160299,7 @@ ENCODING 17942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 5EE0 9400 @@ -120549,7 +160317,7 @@ ENCODING 17943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 55E0 9F00 @@ -120567,7 +160335,7 @@ ENCODING 17944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 5EE0 A400 @@ -120585,7 +160353,7 @@ ENCODING 17945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 5EE0 8A00 @@ -120603,7 +160371,7 @@ ENCODING 17946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1440 @@ -120621,7 +160389,7 @@ ENCODING 17947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2780 F480 @@ -120639,7 +160407,7 @@ ENCODING 17948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 F7E0 @@ -120657,7 +160425,7 @@ ENCODING 17949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2140 F120 @@ -120675,7 +160443,7 @@ ENCODING 17950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 F240 @@ -120693,7 +160461,7 @@ ENCODING 17951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F140 @@ -120711,7 +160479,7 @@ ENCODING 17952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 FFE0 @@ -120729,7 +160497,7 @@ ENCODING 17953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 FBC0 8200 @@ -120747,7 +160515,7 @@ ENCODING 17954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -120765,7 +160533,7 @@ ENCODING 17955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 F280 @@ -120783,7 +160551,7 @@ ENCODING 17956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 F7E0 @@ -120801,7 +160569,7 @@ ENCODING 17957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 22A0 F3E0 @@ -120819,7 +160587,7 @@ ENCODING 17958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F420 @@ -120837,7 +160605,7 @@ ENCODING 17959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F100 @@ -120855,7 +160623,7 @@ ENCODING 17960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -120873,7 +160641,7 @@ ENCODING 17961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 F7E0 @@ -120891,7 +160659,7 @@ ENCODING 17962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -120909,7 +160677,7 @@ ENCODING 17963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 FDE0 4920 @@ -120927,7 +160695,7 @@ ENCODING 17964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 F080 @@ -120945,7 +160713,7 @@ ENCODING 17965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F100 @@ -120963,7 +160731,7 @@ ENCODING 17966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -120981,7 +160749,7 @@ ENCODING 17967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 22A0 F1C0 @@ -120999,7 +160767,7 @@ ENCODING 17968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8060 41C0 FC40 @@ -121017,7 +160785,7 @@ ENCODING 17969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -121035,7 +160803,7 @@ ENCODING 17970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2040 F3C0 @@ -121053,7 +160821,7 @@ ENCODING 17971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 F440 @@ -121071,7 +160839,7 @@ ENCODING 17972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 E540 2520 @@ -121089,7 +160857,7 @@ ENCODING 17973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2040 F3C0 @@ -121107,7 +160875,7 @@ ENCODING 17974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F080 @@ -121125,7 +160893,7 @@ ENCODING 17975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 24A0 F2A0 @@ -121143,7 +160911,7 @@ ENCODING 17976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 F7E0 @@ -121161,7 +160929,7 @@ ENCODING 17977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -121179,7 +160947,7 @@ ENCODING 17978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -121197,7 +160965,7 @@ ENCODING 17979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F240 @@ -121215,7 +160983,7 @@ ENCODING 17980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -121233,7 +161001,7 @@ ENCODING 17981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2460 F420 @@ -121251,7 +161019,7 @@ ENCODING 17982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -121269,7 +161037,7 @@ ENCODING 17983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F820 @@ -121287,7 +161055,7 @@ ENCODING 17984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2EE0 FAA0 @@ -121305,7 +161073,7 @@ ENCODING 17985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 F7E0 @@ -121323,7 +161091,7 @@ ENCODING 17986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2440 FA20 @@ -121341,7 +161109,7 @@ ENCODING 17987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 F200 @@ -121359,7 +161127,7 @@ ENCODING 17988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2100 F7E0 @@ -121377,7 +161145,7 @@ ENCODING 17989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F280 @@ -121395,7 +161163,7 @@ ENCODING 17990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EA0 2AC0 F6A0 @@ -121413,7 +161181,7 @@ ENCODING 17991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F200 @@ -121431,7 +161199,7 @@ ENCODING 17992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 F440 @@ -121449,7 +161217,7 @@ ENCODING 17993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2480 F7E0 @@ -121467,7 +161235,7 @@ ENCODING 17994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 F540 @@ -121485,7 +161253,7 @@ ENCODING 17995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F820 @@ -121503,7 +161271,7 @@ ENCODING 17996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F540 @@ -121521,7 +161289,7 @@ ENCODING 17997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2060 F640 @@ -121539,7 +161307,7 @@ ENCODING 17998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2520 F100 @@ -121557,7 +161325,7 @@ ENCODING 17999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2FE0 F540 @@ -121575,7 +161343,7 @@ ENCODING 18000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 F7C0 @@ -121593,7 +161361,7 @@ ENCODING 18001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F000 @@ -121611,7 +161379,7 @@ ENCODING 18002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -121629,7 +161397,7 @@ ENCODING 18003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 FAA0 @@ -121647,7 +161415,7 @@ ENCODING 18004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 F5C0 @@ -121665,7 +161433,7 @@ ENCODING 18005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2940 F2A0 @@ -121683,7 +161451,7 @@ ENCODING 18006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 FFE0 @@ -121701,7 +161469,7 @@ ENCODING 18007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F440 @@ -121719,7 +161487,7 @@ ENCODING 18008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 80A0 40A0 EFE0 @@ -121737,7 +161505,7 @@ ENCODING 18009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 F7C0 @@ -121755,7 +161523,7 @@ ENCODING 18010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F00 2500 @@ -121773,7 +161541,7 @@ ENCODING 18011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -121791,7 +161559,7 @@ ENCODING 18012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2340 F9C0 @@ -121809,7 +161577,7 @@ ENCODING 18013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2100 @@ -121827,7 +161595,7 @@ ENCODING 18014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 25A0 F240 @@ -121845,7 +161613,7 @@ ENCODING 18015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 FFA0 @@ -121863,7 +161631,7 @@ ENCODING 18016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5080 FA80 @@ -121881,7 +161649,7 @@ ENCODING 18017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F540 @@ -121899,7 +161667,7 @@ ENCODING 18018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 FFE0 @@ -121917,7 +161685,7 @@ ENCODING 18019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 FFE0 @@ -121935,7 +161703,7 @@ ENCODING 18020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 5440 F5C0 @@ -121953,7 +161721,7 @@ ENCODING 18021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 EFE0 @@ -121971,7 +161739,7 @@ ENCODING 18022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 F280 @@ -121989,7 +161757,7 @@ ENCODING 18023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 FFE0 @@ -122007,7 +161775,7 @@ ENCODING 18024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 F7C0 @@ -122025,7 +161793,7 @@ ENCODING 18025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 F440 @@ -122043,7 +161811,7 @@ ENCODING 18026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 2480 FDE0 @@ -122061,7 +161829,7 @@ ENCODING 18027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 2EC0 F2A0 @@ -122079,7 +161847,7 @@ ENCODING 18028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 FEE0 @@ -122097,7 +161865,7 @@ ENCODING 18029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 FAA0 @@ -122115,7 +161883,7 @@ ENCODING 18030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 F480 @@ -122133,7 +161901,7 @@ ENCODING 18031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2FE0 FA80 @@ -122151,7 +161919,7 @@ ENCODING 18032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 FF20 25E0 @@ -122169,7 +161937,7 @@ ENCODING 18033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 FFE0 @@ -122187,7 +161955,7 @@ ENCODING 18034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -122205,7 +161973,7 @@ ENCODING 18035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -122223,12 +161991,12 @@ ENCODING 18036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 5140 -5F40 +7FC0 0400 FFE0 2040 @@ -122241,7 +162009,7 @@ ENCODING 18037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -122259,7 +162027,7 @@ ENCODING 18038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 2FE0 @@ -122277,7 +162045,7 @@ ENCODING 18039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2580 2A80 @@ -122295,7 +162063,7 @@ ENCODING 18040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9080 FFE0 @@ -122313,7 +162081,7 @@ ENCODING 18041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5240 53C0 @@ -122331,7 +162099,7 @@ ENCODING 18042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -122349,7 +162117,7 @@ ENCODING 18043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3A40 E3C0 @@ -122367,7 +162135,7 @@ ENCODING 18044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2BC0 @@ -122385,7 +162153,7 @@ ENCODING 18045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4A40 @@ -122403,7 +162171,7 @@ ENCODING 18046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -122421,7 +162189,7 @@ ENCODING 18047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77C0 2440 @@ -122439,7 +162207,7 @@ ENCODING 18048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BC0 4A40 @@ -122457,7 +162225,7 @@ ENCODING 18049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 43C0 FA40 @@ -122475,7 +162243,7 @@ ENCODING 18050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 7440 @@ -122493,7 +162261,7 @@ ENCODING 18051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7780 4480 @@ -122511,25 +162279,25 @@ ENCODING 18052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -4000 -7F80 -D480 -2780 -FC80 -2780 -AC80 -7780 -AB00 -2520 -69E0 +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 +BITMAP 2000 27C0 FC40 @@ -122547,7 +162315,7 @@ ENCODING 18054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FF80 5480 @@ -122565,7 +162333,7 @@ ENCODING 18055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77C0 AC40 @@ -122583,7 +162351,7 @@ ENCODING 18056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 23C0 FA40 @@ -122601,7 +162369,7 @@ ENCODING 18057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 FDC0 5540 @@ -122619,7 +162387,7 @@ ENCODING 18058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BC0 5240 FBC0 @@ -122637,7 +162405,7 @@ ENCODING 18059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 FBC0 @@ -122655,7 +162423,7 @@ ENCODING 18060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BC0 4A40 @@ -122673,7 +162441,7 @@ ENCODING 18061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 73C0 2240 @@ -122691,7 +162459,7 @@ ENCODING 18062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DC0 1140 @@ -122709,7 +162477,7 @@ ENCODING 18063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABC0 FA40 @@ -122727,7 +162495,7 @@ ENCODING 18064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 FDC0 5540 @@ -122744,9 +162512,8 @@ STARTCHAR U_4691 ENCODING 18065 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FBC0 AA40 FBC0 @@ -122763,7 +162530,7 @@ ENCODING 18066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 5240 @@ -122781,7 +162548,7 @@ ENCODING 18067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 23C0 FA40 @@ -122799,7 +162566,7 @@ ENCODING 18068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 8A40 @@ -122817,7 +162584,7 @@ ENCODING 18069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D800 03C0 FA40 @@ -122835,7 +162602,7 @@ ENCODING 18070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 23C0 FA40 @@ -122853,7 +162620,7 @@ ENCODING 18071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9280 @@ -122871,7 +162638,7 @@ ENCODING 18072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 4EE0 9400 @@ -122889,7 +162656,7 @@ ENCODING 18073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 9000 @@ -122907,7 +162674,7 @@ ENCODING 18074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 93E0 @@ -122925,7 +162692,7 @@ ENCODING 18075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 93E0 @@ -122943,7 +162710,7 @@ ENCODING 18076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 92A0 @@ -122961,7 +162728,7 @@ ENCODING 18077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9000 @@ -122979,7 +162746,7 @@ ENCODING 18078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9100 @@ -122997,7 +162764,7 @@ ENCODING 18079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9220 @@ -123015,7 +162782,7 @@ ENCODING 18080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7000 53E0 9220 @@ -123033,7 +162800,7 @@ ENCODING 18081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 92A0 @@ -123051,7 +162818,7 @@ ENCODING 18082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 72A0 57E0 92A0 @@ -123069,7 +162836,7 @@ ENCODING 18083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 93C0 @@ -123087,7 +162854,7 @@ ENCODING 18084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 72A0 93E0 @@ -123105,7 +162872,7 @@ ENCODING 18085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7120 AF60 @@ -123123,7 +162890,7 @@ ENCODING 18086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 5F00 A9C0 @@ -123141,7 +162908,7 @@ ENCODING 18087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 75A0 9360 @@ -123159,7 +162926,7 @@ ENCODING 18088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4740 75A0 9240 @@ -123177,7 +162944,7 @@ ENCODING 18089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7100 97E0 @@ -123195,7 +162962,7 @@ ENCODING 18090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7AA0 AFE0 @@ -123213,7 +162980,7 @@ ENCODING 18091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FBE0 AD40 @@ -123231,7 +162998,7 @@ ENCODING 18092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 AFE0 @@ -123249,7 +163016,7 @@ ENCODING 18093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4760 7140 93E0 @@ -123267,7 +163034,7 @@ ENCODING 18094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2F80 F480 @@ -123285,7 +163052,7 @@ ENCODING 18095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 1020 FE20 @@ -123303,7 +163070,7 @@ ENCODING 18096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 1200 FE00 @@ -123321,7 +163088,7 @@ ENCODING 18097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FC80 @@ -123339,7 +163106,7 @@ ENCODING 18098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 1020 FCC0 @@ -123357,7 +163124,7 @@ ENCODING 18099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -123375,7 +163142,7 @@ ENCODING 18100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 13E0 FE20 @@ -123393,7 +163160,7 @@ ENCODING 18101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2280 F880 @@ -123411,7 +163178,7 @@ ENCODING 18102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F900 @@ -123429,7 +163196,7 @@ ENCODING 18103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2240 FC20 @@ -123447,7 +163214,7 @@ ENCODING 18104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -123465,7 +163232,7 @@ ENCODING 18105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 FC80 @@ -123483,7 +163250,7 @@ ENCODING 18106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -123500,8 +163267,8 @@ STARTCHAR U_46BB ENCODING 18107 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0F80 1500 6A00 @@ -123519,7 +163286,7 @@ ENCODING 18108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 FA40 @@ -123537,7 +163304,7 @@ ENCODING 18109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F900 @@ -123555,7 +163322,7 @@ ENCODING 18110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 2780 F880 @@ -123573,7 +163340,7 @@ ENCODING 18111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 F7E0 @@ -123591,7 +163358,7 @@ ENCODING 18112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 FC00 @@ -123609,7 +163376,7 @@ ENCODING 18113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23C0 F240 @@ -123627,7 +163394,7 @@ ENCODING 18114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2340 FD40 @@ -123645,7 +163412,7 @@ ENCODING 18115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F000 @@ -123663,7 +163430,7 @@ ENCODING 18116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4400 EFE0 @@ -123681,7 +163448,7 @@ ENCODING 18117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 24A0 F4A0 @@ -123699,7 +163466,7 @@ ENCODING 18118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 0080 @@ -123717,25 +163484,25 @@ ENCODING 18119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -4080 -2280 -F240 -0240 -F420 -0800 -F3C0 +BITMAP +43C0 +FA40 0240 F240 -9240 -F3C0 +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 +BITMAP 4400 27E0 F500 @@ -123753,7 +163520,7 @@ ENCODING 18121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F440 @@ -123771,7 +163538,7 @@ ENCODING 18122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 FE20 @@ -123789,7 +163556,7 @@ ENCODING 18123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 20A0 F080 @@ -123807,7 +163574,7 @@ ENCODING 18124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 F3E0 @@ -123825,7 +163592,7 @@ ENCODING 18125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 FFE0 @@ -123843,7 +163610,7 @@ ENCODING 18126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F420 @@ -123861,7 +163628,7 @@ ENCODING 18127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 F220 @@ -123879,7 +163646,7 @@ ENCODING 18128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0040 3FC0 @@ -123897,7 +163664,7 @@ ENCODING 18129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 F540 @@ -123915,7 +163682,7 @@ ENCODING 18130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2100 FBE0 @@ -123933,7 +163700,7 @@ ENCODING 18131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 93E0 9480 @@ -123951,7 +163718,7 @@ ENCODING 18132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 FFE0 0100 @@ -123969,7 +163736,7 @@ ENCODING 18133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 F7E0 @@ -123987,7 +163754,7 @@ ENCODING 18134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -124005,7 +163772,7 @@ ENCODING 18135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 A7E0 @@ -124023,7 +163790,7 @@ ENCODING 18136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 24E0 FF80 @@ -124041,7 +163808,7 @@ ENCODING 18137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2480 FC80 @@ -124059,7 +163826,7 @@ ENCODING 18138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1120 7920 @@ -124077,7 +163844,7 @@ ENCODING 18139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 FFE0 0820 @@ -124095,7 +163862,7 @@ ENCODING 18140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F200 0FE0 @@ -124113,7 +163880,7 @@ ENCODING 18141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F240 0240 @@ -124131,7 +163898,7 @@ ENCODING 18142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -124149,7 +163916,7 @@ ENCODING 18143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -124167,7 +163934,7 @@ ENCODING 18144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 F7C0 @@ -124185,7 +163952,7 @@ ENCODING 18145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2780 F480 @@ -124203,7 +163970,7 @@ ENCODING 18146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2780 F100 @@ -124221,7 +163988,7 @@ ENCODING 18147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F540 @@ -124239,7 +164006,7 @@ ENCODING 18148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 F440 @@ -124257,7 +164024,7 @@ ENCODING 18149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4300 E480 @@ -124275,7 +164042,7 @@ ENCODING 18150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 F440 @@ -124293,7 +164060,7 @@ ENCODING 18151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4D40 EB80 @@ -124311,7 +164078,7 @@ ENCODING 18152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F440 @@ -124329,7 +164096,7 @@ ENCODING 18153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 F280 @@ -124347,7 +164114,7 @@ ENCODING 18154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FAA0 @@ -124365,7 +164132,7 @@ ENCODING 18155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4400 F7C0 @@ -124383,7 +164150,7 @@ ENCODING 18156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 F420 @@ -124401,7 +164168,7 @@ ENCODING 18157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F100 @@ -124419,7 +164186,7 @@ ENCODING 18158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4EC0 FAA0 @@ -124437,7 +164204,7 @@ ENCODING 18159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 E820 @@ -124455,7 +164222,7 @@ ENCODING 18160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 F7E0 @@ -124473,7 +164240,7 @@ ENCODING 18161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F540 @@ -124491,7 +164258,7 @@ ENCODING 18162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 E440 @@ -124509,7 +164276,7 @@ ENCODING 18163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 E280 @@ -124527,7 +164294,7 @@ ENCODING 18164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 E280 @@ -124545,7 +164312,7 @@ ENCODING 18165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4E40 EA40 @@ -124563,7 +164330,7 @@ ENCODING 18166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0100 @@ -124581,7 +164348,7 @@ ENCODING 18167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 FFE0 @@ -124599,7 +164366,7 @@ ENCODING 18168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 EFE0 @@ -124617,7 +164384,7 @@ ENCODING 18169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 E440 @@ -124635,7 +164402,7 @@ ENCODING 18170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 EFE0 @@ -124653,7 +164420,7 @@ ENCODING 18171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4900 EFE0 @@ -124671,7 +164438,7 @@ ENCODING 18172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4CE0 E820 @@ -124689,7 +164456,7 @@ ENCODING 18173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 E100 @@ -124707,7 +164474,7 @@ ENCODING 18174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 E7C0 @@ -124725,7 +164492,7 @@ ENCODING 18175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4000 E7C0 @@ -124743,7 +164510,7 @@ ENCODING 18176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4AA0 FBA0 @@ -124761,7 +164528,7 @@ ENCODING 18177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45C0 4480 F7E0 @@ -124779,7 +164546,7 @@ ENCODING 18178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F440 @@ -124797,7 +164564,7 @@ ENCODING 18179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F7E0 0C80 @@ -124815,7 +164582,7 @@ ENCODING 18180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 F7E0 @@ -124833,7 +164600,7 @@ ENCODING 18181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 FFE0 @@ -124851,7 +164618,7 @@ ENCODING 18182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -124869,7 +164636,7 @@ ENCODING 18183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F280 @@ -124887,7 +164654,7 @@ ENCODING 18184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 2A40 FFE0 @@ -124905,7 +164672,7 @@ ENCODING 18185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F380 @@ -124923,7 +164690,7 @@ ENCODING 18186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 FFE0 @@ -124941,7 +164708,7 @@ ENCODING 18187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F540 @@ -124959,7 +164726,7 @@ ENCODING 18188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4E40 5080 @@ -124977,7 +164744,7 @@ ENCODING 18189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 FAA0 @@ -124995,7 +164762,7 @@ ENCODING 18190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4AE0 F740 @@ -125013,7 +164780,7 @@ ENCODING 18191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4FE0 EA80 @@ -125031,7 +164798,7 @@ ENCODING 18192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 6280 @@ -125049,7 +164816,7 @@ ENCODING 18193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 EEE0 @@ -125067,7 +164834,7 @@ ENCODING 18194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 ED60 @@ -125085,7 +164852,7 @@ ENCODING 18195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4EE0 F440 @@ -125103,7 +164870,7 @@ ENCODING 18196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 4900 E7E0 @@ -125121,7 +164888,7 @@ ENCODING 18197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 E480 @@ -125139,7 +164906,7 @@ ENCODING 18198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 EFE0 @@ -125157,7 +164924,7 @@ ENCODING 18199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 80A0 5FE0 F080 @@ -125175,7 +164942,7 @@ ENCODING 18200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 FB80 0AE0 @@ -125193,7 +164960,7 @@ ENCODING 18201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 F840 0FC0 @@ -125211,7 +164978,7 @@ ENCODING 18202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 5AA0 EFE0 @@ -125229,7 +164996,7 @@ ENCODING 18203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4500 F7C0 @@ -125247,7 +165014,7 @@ ENCODING 18204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 EFE0 @@ -125265,7 +165032,7 @@ ENCODING 18205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4A40 EDA0 @@ -125283,7 +165050,7 @@ ENCODING 18206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F280 @@ -125301,7 +165068,7 @@ ENCODING 18207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 4EA0 E480 @@ -125319,7 +165086,7 @@ ENCODING 18208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 F880 0FE0 @@ -125337,7 +165104,7 @@ ENCODING 18209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F100 07C0 @@ -125355,7 +165122,7 @@ ENCODING 18210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F920 07C0 @@ -125373,7 +165140,7 @@ ENCODING 18211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 4700 2400 @@ -125391,7 +165158,7 @@ ENCODING 18212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 4480 2480 @@ -125408,9 +165175,8 @@ STARTCHAR U_4725 ENCODING 18213 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 9DE0 4520 09E0 @@ -125427,7 +165193,7 @@ ENCODING 18214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 5FE0 2480 @@ -125444,9 +165210,8 @@ STARTCHAR U_4727 ENCODING 18215 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 9FE0 4AA0 1BA0 @@ -125463,7 +165228,7 @@ ENCODING 18216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 87C0 4540 @@ -125481,7 +165246,7 @@ ENCODING 18217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 9FE0 4480 @@ -125499,7 +165264,7 @@ ENCODING 18218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 5100 4BC0 @@ -125517,7 +165282,7 @@ ENCODING 18219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 4800 4FC0 @@ -125535,7 +165300,7 @@ ENCODING 18220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 5080 4BE0 @@ -125553,7 +165318,7 @@ ENCODING 18221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 FFE0 @@ -125571,7 +165336,7 @@ ENCODING 18222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 57E0 4C20 @@ -125589,7 +165354,7 @@ ENCODING 18223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 53E0 4C20 @@ -125607,7 +165372,7 @@ ENCODING 18224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 5240 4BC0 @@ -125625,7 +165390,7 @@ ENCODING 18225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 4A40 4BC0 @@ -125643,7 +165408,7 @@ ENCODING 18226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 4D40 4AA0 @@ -125661,7 +165426,7 @@ ENCODING 18227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0000 3FC0 @@ -125679,7 +165444,7 @@ ENCODING 18228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 01C0 7100 @@ -125697,7 +165462,7 @@ ENCODING 18229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 07E0 74A0 @@ -125715,7 +165480,7 @@ ENCODING 18230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 03C0 7640 @@ -125733,7 +165498,7 @@ ENCODING 18231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 0040 77E0 @@ -125751,7 +165516,7 @@ ENCODING 18232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 0220 73E0 @@ -125769,7 +165534,7 @@ ENCODING 18233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 0FE0 7100 @@ -125787,7 +165552,7 @@ ENCODING 18234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 07E0 7240 @@ -125805,7 +165570,7 @@ ENCODING 18235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 0240 73C0 @@ -125823,7 +165588,7 @@ ENCODING 18236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 29E0 FD20 @@ -125841,7 +165606,7 @@ ENCODING 18237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 0280 E440 @@ -125859,7 +165624,7 @@ ENCODING 18238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 07C0 7280 @@ -125877,7 +165642,7 @@ ENCODING 18239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 51E0 7D00 @@ -125895,7 +165660,7 @@ ENCODING 18240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 F4E0 06A0 @@ -125913,7 +165678,7 @@ ENCODING 18241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 71C0 8A20 @@ -125931,7 +165696,7 @@ ENCODING 18242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 B240 CDE0 @@ -125949,7 +165714,7 @@ ENCODING 18243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 04A0 F520 @@ -125967,7 +165732,7 @@ ENCODING 18244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 0D40 @@ -125985,7 +165750,7 @@ ENCODING 18245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 2080 @@ -126003,7 +165768,7 @@ ENCODING 18246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FC0 4A40 @@ -126021,7 +165786,7 @@ ENCODING 18247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 4FE0 8900 @@ -126039,7 +165804,7 @@ ENCODING 18248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF00 2400 @@ -126057,7 +165822,7 @@ ENCODING 18249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A80 FFE0 @@ -126075,7 +165840,7 @@ ENCODING 18250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -126093,7 +165858,7 @@ ENCODING 18251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 2420 @@ -126111,7 +165876,7 @@ ENCODING 18252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FAA0 22A0 @@ -126129,7 +165894,7 @@ ENCODING 18253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 27C0 @@ -126147,7 +165912,7 @@ ENCODING 18254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FAA0 23E0 @@ -126165,7 +165930,7 @@ ENCODING 18255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2540 @@ -126183,7 +165948,7 @@ ENCODING 18256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 4A80 @@ -126201,7 +165966,7 @@ ENCODING 18257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2440 @@ -126219,7 +165984,7 @@ ENCODING 18258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 FAE0 2EA0 @@ -126237,7 +166002,7 @@ ENCODING 18259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 FD40 22A0 @@ -126255,7 +166020,7 @@ ENCODING 18260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 4280 @@ -126273,7 +166038,7 @@ ENCODING 18261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FAC0 2340 @@ -126291,7 +166056,7 @@ ENCODING 18262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 2740 DD40 @@ -126309,7 +166074,7 @@ ENCODING 18263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 6900 D100 @@ -126327,7 +166092,7 @@ ENCODING 18264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 2240 D240 @@ -126345,7 +166110,7 @@ ENCODING 18265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 27E0 DC00 @@ -126363,7 +166128,7 @@ ENCODING 18266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 DC40 @@ -126381,7 +166146,7 @@ ENCODING 18267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2080 DFE0 @@ -126399,7 +166164,7 @@ ENCODING 18268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2240 D7E0 @@ -126417,7 +166182,7 @@ ENCODING 18269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 27E0 DA80 @@ -126435,7 +166200,7 @@ ENCODING 18270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 2100 DFE0 @@ -126453,7 +166218,7 @@ ENCODING 18271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 27E0 DAA0 @@ -126471,7 +166236,7 @@ ENCODING 18272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5C80 D5E0 @@ -126489,7 +166254,7 @@ ENCODING 18273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 6FE0 D240 @@ -126507,7 +166272,7 @@ ENCODING 18274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 EC40 57C0 @@ -126525,7 +166290,7 @@ ENCODING 18275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 6980 D6E0 @@ -126543,7 +166308,7 @@ ENCODING 18276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 6FE0 9540 @@ -126561,7 +166326,7 @@ ENCODING 18277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 B4A0 @@ -126579,7 +166344,7 @@ ENCODING 18278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 6AA0 9FE0 @@ -126597,7 +166362,7 @@ ENCODING 18279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -126615,7 +166380,7 @@ ENCODING 18280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 9240 9180 @@ -126633,7 +166398,7 @@ ENCODING 18281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -126651,7 +166416,7 @@ ENCODING 18282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 F140 @@ -126669,7 +166434,7 @@ ENCODING 18283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 F7E0 @@ -126687,7 +166452,7 @@ ENCODING 18284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -126705,7 +166470,7 @@ ENCODING 18285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F400 97E0 @@ -126723,7 +166488,7 @@ ENCODING 18286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -126741,7 +166506,7 @@ ENCODING 18287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F400 97E0 @@ -126759,7 +166524,7 @@ ENCODING 18288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -126777,7 +166542,7 @@ ENCODING 18289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1F80 2480 @@ -126795,7 +166560,7 @@ ENCODING 18290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 F7C0 @@ -126813,7 +166578,7 @@ ENCODING 18291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DE0 5120 7D40 @@ -126831,7 +166596,7 @@ ENCODING 18292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -126849,7 +166614,7 @@ ENCODING 18293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F120 97E0 @@ -126867,7 +166632,7 @@ ENCODING 18294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -126885,7 +166650,7 @@ ENCODING 18295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7DE0 9120 @@ -126903,7 +166668,7 @@ ENCODING 18296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 9480 @@ -126921,7 +166686,7 @@ ENCODING 18297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 E820 @@ -126939,7 +166704,7 @@ ENCODING 18298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 4A40 @@ -126957,7 +166722,7 @@ ENCODING 18299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 9420 @@ -126975,7 +166740,7 @@ ENCODING 18300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -126993,7 +166758,7 @@ ENCODING 18301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9480 F5E0 @@ -127011,7 +166776,7 @@ ENCODING 18302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 0240 FFE0 @@ -127029,7 +166794,7 @@ ENCODING 18303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 35C0 4440 75C0 @@ -127047,7 +166812,7 @@ ENCODING 18304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F440 9FE0 @@ -127065,7 +166830,7 @@ ENCODING 18305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 F5C0 @@ -127083,7 +166848,7 @@ ENCODING 18306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A200 EFE0 @@ -127101,7 +166866,7 @@ ENCODING 18307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FF80 A4E0 @@ -127119,7 +166884,7 @@ ENCODING 18308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFE0 4280 @@ -127137,7 +166902,7 @@ ENCODING 18309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 95C0 @@ -127155,7 +166920,7 @@ ENCODING 18310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 F100 @@ -127173,7 +166938,7 @@ ENCODING 18311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1140 @@ -127191,25 +166956,25 @@ ENCODING 18312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -F500 -9500 -FF80 -9280 +BITMAP +F7E0 +9540 +F7C0 +9480 97C0 F440 -9FE0 -F120 -4520 -5420 -90C0 +97E0 +F420 +0560 +AAA0 +9060 ENDCHAR STARTCHAR U_4789 ENCODING 18313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9FE0 F100 @@ -127227,7 +166992,7 @@ ENCODING 18314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1C0 A100 EFE0 @@ -127245,7 +167010,7 @@ ENCODING 18315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 BFA0 AAE0 @@ -127263,7 +167028,7 @@ ENCODING 18316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 8B80 A880 @@ -127281,7 +167046,7 @@ ENCODING 18317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FE0 A900 @@ -127299,7 +167064,7 @@ ENCODING 18318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8A40 ABC0 @@ -127317,7 +167082,7 @@ ENCODING 18319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8AA0 AAA0 @@ -127335,7 +167100,7 @@ ENCODING 18320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 8900 @@ -127353,7 +167118,7 @@ ENCODING 18321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 7C80 @@ -127371,7 +167136,7 @@ ENCODING 18322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 7BE0 @@ -127389,7 +167154,7 @@ ENCODING 18323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 10A0 7D40 @@ -127407,7 +167172,7 @@ ENCODING 18324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 7BE0 @@ -127425,7 +167190,7 @@ ENCODING 18325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 7FE0 @@ -127443,7 +167208,7 @@ ENCODING 18326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1140 7D20 @@ -127461,7 +167226,7 @@ ENCODING 18327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 1040 7BE0 @@ -127479,7 +167244,7 @@ ENCODING 18328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 7C00 @@ -127497,7 +167262,7 @@ ENCODING 18329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 7BE0 @@ -127515,7 +167280,7 @@ ENCODING 18330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7FE0 @@ -127533,7 +167298,7 @@ ENCODING 18331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 7EE0 @@ -127551,7 +167316,7 @@ ENCODING 18332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 7C80 @@ -127569,7 +167334,7 @@ ENCODING 18333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 7C80 @@ -127587,7 +167352,7 @@ ENCODING 18334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 17E0 7AA0 @@ -127605,7 +167370,7 @@ ENCODING 18335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1100 7BE0 @@ -127623,7 +167388,7 @@ ENCODING 18336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 7C80 @@ -127641,7 +167406,7 @@ ENCODING 18337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 7E40 @@ -127659,7 +167424,7 @@ ENCODING 18338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7BE0 @@ -127677,7 +167442,7 @@ ENCODING 18339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1380 7E00 @@ -127695,7 +167460,7 @@ ENCODING 18340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 7C20 @@ -127713,7 +167478,7 @@ ENCODING 18341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7FE0 @@ -127731,7 +167496,7 @@ ENCODING 18342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13E0 7D40 @@ -127749,7 +167514,7 @@ ENCODING 18343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 10E0 7F00 @@ -127767,7 +167532,7 @@ ENCODING 18344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7DE0 @@ -127785,7 +167550,7 @@ ENCODING 18345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1180 7A40 @@ -127803,7 +167568,7 @@ ENCODING 18346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1400 7DE0 @@ -127821,7 +167586,7 @@ ENCODING 18347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1140 7FE0 @@ -127839,7 +167604,7 @@ ENCODING 18348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1380 7C80 @@ -127857,7 +167622,7 @@ ENCODING 18349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1240 7FE0 @@ -127875,7 +167640,7 @@ ENCODING 18350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1140 7A20 @@ -127893,7 +167658,7 @@ ENCODING 18351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1320 7AA0 @@ -127911,7 +167676,7 @@ ENCODING 18352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FC0 @@ -127929,7 +167694,7 @@ ENCODING 18353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1240 7C20 @@ -127947,7 +167712,7 @@ ENCODING 18354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 16A0 7A80 @@ -127965,7 +167730,7 @@ ENCODING 18355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17E0 7A40 @@ -127983,7 +167748,7 @@ ENCODING 18356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 12A0 7BE0 @@ -128001,7 +167766,7 @@ ENCODING 18357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 7EA0 @@ -128019,7 +167784,7 @@ ENCODING 18358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 12C0 7B40 @@ -128037,7 +167802,7 @@ ENCODING 18359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 7FE0 @@ -128055,7 +167820,7 @@ ENCODING 18360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 1000 7BE0 @@ -128073,7 +167838,7 @@ ENCODING 18361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 11C0 7D40 @@ -128091,7 +167856,7 @@ ENCODING 18362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1480 7FE0 @@ -128109,7 +167874,7 @@ ENCODING 18363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1140 7FE0 @@ -128127,7 +167892,7 @@ ENCODING 18364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 1140 7B80 @@ -128145,7 +167910,7 @@ ENCODING 18365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 13E0 7C80 @@ -128163,7 +167928,7 @@ ENCODING 18366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1780 7CE0 @@ -128181,7 +167946,7 @@ ENCODING 18367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -128199,7 +167964,7 @@ ENCODING 18368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 17E0 7880 @@ -128217,7 +167982,7 @@ ENCODING 18369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12A0 1540 7AA0 @@ -128235,7 +168000,7 @@ ENCODING 18370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 7FC0 @@ -128253,7 +168018,7 @@ ENCODING 18371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 13E0 7D20 @@ -128271,7 +168036,7 @@ ENCODING 18372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17E0 7900 @@ -128289,7 +168054,7 @@ ENCODING 18373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5500 7DE0 @@ -128307,7 +168072,7 @@ ENCODING 18374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 12A0 7FE0 @@ -128325,7 +168090,7 @@ ENCODING 18375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12A0 15C0 7AA0 @@ -128343,7 +168108,7 @@ ENCODING 18376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12C0 17A0 7A80 @@ -128361,7 +168126,7 @@ ENCODING 18377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 12A0 7FE0 @@ -128379,7 +168144,7 @@ ENCODING 18378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1080 7FE0 @@ -128397,7 +168162,7 @@ ENCODING 18379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1480 7FE0 @@ -128415,7 +168180,7 @@ ENCODING 18380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 17E0 7A40 @@ -128433,7 +168198,7 @@ ENCODING 18381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 7A40 @@ -128451,7 +168216,7 @@ ENCODING 18382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 17E0 7A40 @@ -128469,7 +168234,7 @@ ENCODING 18383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2BA0 FEE0 @@ -128487,7 +168252,7 @@ ENCODING 18384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 F7E0 @@ -128505,7 +168270,7 @@ ENCODING 18385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -128523,7 +168288,7 @@ ENCODING 18386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FEE0 @@ -128541,7 +168306,7 @@ ENCODING 18387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8880 8880 @@ -128558,8 +168323,8 @@ STARTCHAR U_47D4 ENCODING 18388 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FA00 8A00 8A00 @@ -128577,7 +168342,7 @@ ENCODING 18389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 8FE0 8A20 @@ -128595,7 +168360,7 @@ ENCODING 18390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 8900 @@ -128613,7 +168378,7 @@ ENCODING 18391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9780 9480 @@ -128631,7 +168396,7 @@ ENCODING 18392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8900 8FE0 @@ -128649,7 +168414,7 @@ ENCODING 18393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F5E0 94A0 @@ -128667,7 +168432,7 @@ ENCODING 18394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8800 8800 @@ -128685,7 +168450,7 @@ ENCODING 18395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -128703,7 +168468,7 @@ ENCODING 18396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 8FE0 @@ -128721,7 +168486,7 @@ ENCODING 18397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F240 9240 @@ -128739,7 +168504,7 @@ ENCODING 18398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 8900 @@ -128757,7 +168522,7 @@ ENCODING 18399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 6220 4220 @@ -128775,7 +168540,7 @@ ENCODING 18400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 88A0 8880 @@ -128793,7 +168558,7 @@ ENCODING 18401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 9780 9480 @@ -128811,7 +168576,7 @@ ENCODING 18402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 93E0 @@ -128829,7 +168594,7 @@ ENCODING 18403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 8900 8FE0 @@ -128847,7 +168612,7 @@ ENCODING 18404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 88A0 8A20 @@ -128865,7 +168630,7 @@ ENCODING 18405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 8880 8A80 @@ -128883,7 +168648,7 @@ ENCODING 18406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 F700 9100 @@ -128901,7 +168666,7 @@ ENCODING 18407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 97E0 9520 @@ -128919,7 +168684,7 @@ ENCODING 18408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 9420 @@ -128937,7 +168702,7 @@ ENCODING 18409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 8FC0 @@ -128955,7 +168720,7 @@ ENCODING 18410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8E0 8F00 8900 @@ -128973,7 +168738,7 @@ ENCODING 18411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FE0 @@ -128991,7 +168756,7 @@ ENCODING 18412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 91C0 9600 @@ -129009,7 +168774,7 @@ ENCODING 18413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8A00 8BE0 @@ -129027,7 +168792,7 @@ ENCODING 18414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F2C0 92A0 @@ -129045,7 +168810,7 @@ ENCODING 18415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 8F00 8900 @@ -129063,7 +168828,7 @@ ENCODING 18416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 92E0 9500 @@ -129081,7 +168846,7 @@ ENCODING 18417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9100 @@ -129099,7 +168864,7 @@ ENCODING 18418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 97E0 9100 @@ -129117,7 +168882,7 @@ ENCODING 18419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 4DA0 @@ -129135,7 +168900,7 @@ ENCODING 18420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 95C0 @@ -129153,7 +168918,7 @@ ENCODING 18421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F140 9120 9FE0 @@ -129171,7 +168936,7 @@ ENCODING 18422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9540 9540 @@ -129189,7 +168954,7 @@ ENCODING 18423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F460 9580 9F00 @@ -129207,7 +168972,7 @@ ENCODING 18424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 93E0 9540 @@ -129225,7 +168990,7 @@ ENCODING 18425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9700 9020 @@ -129243,7 +169008,7 @@ ENCODING 18426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 8BE0 @@ -129261,7 +169026,7 @@ ENCODING 18427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 9440 @@ -129279,7 +169044,7 @@ ENCODING 18428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F040 9760 9040 @@ -129297,7 +169062,7 @@ ENCODING 18429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -129315,7 +169080,7 @@ ENCODING 18430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9120 95A0 @@ -129333,7 +169098,7 @@ ENCODING 18431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 97C0 @@ -129351,7 +169116,7 @@ ENCODING 18432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F540 9380 @@ -129369,7 +169134,7 @@ ENCODING 18433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 F240 97E0 @@ -129387,7 +169152,7 @@ ENCODING 18434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -129405,7 +169170,7 @@ ENCODING 18435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9100 @@ -129423,7 +169188,7 @@ ENCODING 18436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 97C0 @@ -129441,7 +169206,7 @@ ENCODING 18437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 94A0 9720 @@ -129459,7 +169224,7 @@ ENCODING 18438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 97C0 @@ -129477,7 +169242,7 @@ ENCODING 18439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -129495,7 +169260,7 @@ ENCODING 18440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9140 @@ -129513,7 +169278,7 @@ ENCODING 18441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 F7E0 @@ -129531,7 +169296,7 @@ ENCODING 18442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9EE0 @@ -129549,7 +169314,7 @@ ENCODING 18443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9540 @@ -129567,25 +169332,25 @@ ENCODING 18444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -F000 -97E0 -9120 -F5A0 -2360 -25A0 -B120 -A5A0 -C240 -A000 -9FE0 +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 +BITMAP F7E0 9520 9520 @@ -129603,7 +169368,7 @@ ENCODING 18446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -129621,7 +169386,7 @@ ENCODING 18447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEA0 92C0 96A0 @@ -129639,7 +169404,7 @@ ENCODING 18448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -129657,7 +169422,7 @@ ENCODING 18449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -129675,7 +169440,7 @@ ENCODING 18450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 A4E0 A4A0 @@ -129693,7 +169458,7 @@ ENCODING 18451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 9FE0 @@ -129711,7 +169476,7 @@ ENCODING 18452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 9FE0 @@ -129728,9 +169493,8 @@ STARTCHAR U_4815 ENCODING 18453 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP E240 AB60 AA40 @@ -129747,7 +169511,7 @@ ENCODING 18454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EBE0 A220 @@ -129765,7 +169529,7 @@ ENCODING 18455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 9540 @@ -129783,7 +169547,7 @@ ENCODING 18456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9660 @@ -129801,7 +169565,7 @@ ENCODING 18457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A440 @@ -129819,7 +169583,7 @@ ENCODING 18458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -129836,8 +169600,8 @@ STARTCHAR U_481B ENCODING 18459 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0200 E7C0 AA80 @@ -129855,7 +169619,7 @@ ENCODING 18460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FEE0 9440 @@ -129873,7 +169637,7 @@ ENCODING 18461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9240 97E0 @@ -129891,7 +169655,7 @@ ENCODING 18462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 E080 AFE0 @@ -129909,7 +169673,7 @@ ENCODING 18463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 23C0 F940 @@ -129927,7 +169691,7 @@ ENCODING 18464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 FFE0 4A40 @@ -129945,7 +169709,7 @@ ENCODING 18465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 E080 AFE0 @@ -129963,7 +169727,7 @@ ENCODING 18466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 5140 7FC0 @@ -129981,7 +169745,7 @@ ENCODING 18467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -129999,7 +169763,7 @@ ENCODING 18468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -130017,7 +169781,7 @@ ENCODING 18469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 B540 AE80 @@ -130035,7 +169799,7 @@ ENCODING 18470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EFE0 B2A0 @@ -130053,7 +169817,7 @@ ENCODING 18471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -130071,7 +169835,7 @@ ENCODING 18472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E3C0 A480 AFE0 @@ -130089,7 +169853,7 @@ ENCODING 18473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 AFE0 A080 @@ -130107,7 +169871,7 @@ ENCODING 18474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EA40 ADA0 @@ -130125,7 +169889,7 @@ ENCODING 18475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EF00 A5E0 A7A0 @@ -130143,7 +169907,7 @@ ENCODING 18476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DD60 AAA0 BBA0 @@ -130161,25 +169925,25 @@ ENCODING 18477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -E5E0 +BITMAP +E4E0 +AF20 +A4E0 +EEA0 +2AE0 +2EA0 +B4E0 AEA0 -A500 -EEE0 -2AA0 -2EE0 -B4A0 -AEE0 -B5A0 -A440 -C4A0 +B5E0 +A4A0 +C520 ENDCHAR STARTCHAR U_482E ENCODING 18478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 AFE0 A200 @@ -130197,7 +169961,7 @@ ENCODING 18479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 A480 AB40 @@ -130215,7 +169979,7 @@ ENCODING 18480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -130233,7 +169997,7 @@ ENCODING 18481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -130251,7 +170015,7 @@ ENCODING 18482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7280 5440 @@ -130269,7 +170033,7 @@ ENCODING 18483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7520 5520 @@ -130287,7 +170051,7 @@ ENCODING 18484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7080 57E0 @@ -130305,7 +170069,7 @@ ENCODING 18485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7240 5440 @@ -130323,7 +170087,7 @@ ENCODING 18486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7200 53E0 @@ -130341,7 +170105,7 @@ ENCODING 18487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7280 5AA0 @@ -130359,7 +170123,7 @@ ENCODING 18488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5280 @@ -130377,7 +170141,7 @@ ENCODING 18489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FE0 4900 @@ -130395,7 +170159,7 @@ ENCODING 18490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 E3E0 A820 @@ -130413,7 +170177,7 @@ ENCODING 18491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5AA0 @@ -130431,7 +170195,7 @@ ENCODING 18492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 E280 A440 @@ -130449,7 +170213,7 @@ ENCODING 18493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7540 57C0 @@ -130467,7 +170231,7 @@ ENCODING 18494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 EAA0 AEE0 @@ -130485,7 +170249,7 @@ ENCODING 18495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77C0 5540 @@ -130503,7 +170267,7 @@ ENCODING 18496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 A000 @@ -130521,7 +170285,7 @@ ENCODING 18497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 DF80 AAE0 @@ -130538,8 +170302,8 @@ STARTCHAR U_4842 ENCODING 18498 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2040 FA40 2240 @@ -130557,7 +170321,7 @@ ENCODING 18499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 F900 2100 @@ -130575,7 +170339,7 @@ ENCODING 18500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FB80 2280 @@ -130593,7 +170357,7 @@ ENCODING 18501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 FA20 22A0 @@ -130611,7 +170375,7 @@ ENCODING 18502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 F940 2140 @@ -130629,7 +170393,7 @@ ENCODING 18503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2000 @@ -130647,7 +170411,7 @@ ENCODING 18504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 F940 2080 @@ -130665,7 +170429,7 @@ ENCODING 18505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 27E0 @@ -130683,7 +170447,7 @@ ENCODING 18506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 2200 @@ -130701,7 +170465,7 @@ ENCODING 18507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -130719,7 +170483,7 @@ ENCODING 18508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 27E0 @@ -130737,7 +170501,7 @@ ENCODING 18509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -130755,7 +170519,7 @@ ENCODING 18510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 2200 @@ -130773,7 +170537,7 @@ ENCODING 18511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 F940 2140 @@ -130791,7 +170555,7 @@ ENCODING 18512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 23E0 @@ -130809,7 +170573,7 @@ ENCODING 18513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2220 @@ -130827,7 +170591,7 @@ ENCODING 18514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 22A0 @@ -130845,7 +170609,7 @@ ENCODING 18515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3F60 4400 @@ -130863,7 +170627,7 @@ ENCODING 18516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBC0 2440 @@ -130881,7 +170645,7 @@ ENCODING 18517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F840 2080 @@ -130899,7 +170663,7 @@ ENCODING 18518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F800 2140 @@ -130917,7 +170681,7 @@ ENCODING 18519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 2240 3740 @@ -130935,7 +170699,7 @@ ENCODING 18520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2420 @@ -130953,7 +170717,7 @@ ENCODING 18521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2220 @@ -130971,7 +170735,7 @@ ENCODING 18522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F900 23E0 @@ -130989,7 +170753,7 @@ ENCODING 18523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -131007,7 +170771,7 @@ ENCODING 18524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -131025,7 +170789,7 @@ ENCODING 18525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2420 @@ -131043,7 +170807,7 @@ ENCODING 18526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2880 2480 @@ -131061,7 +170825,7 @@ ENCODING 18527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F900 23E0 @@ -131079,7 +170843,7 @@ ENCODING 18528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 F880 23E0 @@ -131097,7 +170861,7 @@ ENCODING 18529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FBE0 2280 @@ -131115,7 +170879,7 @@ ENCODING 18530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FA00 23E0 @@ -131133,7 +170897,7 @@ ENCODING 18531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 2080 @@ -131151,7 +170915,7 @@ ENCODING 18532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 3F40 0480 @@ -131169,7 +170933,7 @@ ENCODING 18533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2440 @@ -131187,7 +170951,7 @@ ENCODING 18534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F940 2080 @@ -131205,7 +170969,7 @@ ENCODING 18535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2220 @@ -131223,7 +170987,7 @@ ENCODING 18536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 0400 @@ -131241,7 +171005,7 @@ ENCODING 18537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -131259,7 +171023,7 @@ ENCODING 18538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FA00 23E0 @@ -131277,7 +171041,7 @@ ENCODING 18539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FD20 22A0 @@ -131295,7 +171059,7 @@ ENCODING 18540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 23C0 @@ -131313,7 +171077,7 @@ ENCODING 18541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FFE0 2080 @@ -131331,7 +171095,7 @@ ENCODING 18542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FAA0 24A0 @@ -131349,7 +171113,7 @@ ENCODING 18543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 26A0 @@ -131367,7 +171131,7 @@ ENCODING 18544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 1220 @@ -131385,7 +171149,7 @@ ENCODING 18545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 22E0 @@ -131403,7 +171167,7 @@ ENCODING 18546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 23E0 @@ -131421,7 +171185,7 @@ ENCODING 18547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FAA0 27C0 @@ -131439,7 +171203,7 @@ ENCODING 18548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2140 @@ -131457,7 +171221,7 @@ ENCODING 18549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 FBE0 2680 @@ -131475,7 +171239,7 @@ ENCODING 18550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 FDE0 2500 @@ -131493,7 +171257,7 @@ ENCODING 18551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -131511,7 +171275,7 @@ ENCODING 18552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FBE0 2140 @@ -131529,7 +171293,7 @@ ENCODING 18553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -131547,7 +171311,7 @@ ENCODING 18554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -131565,7 +171329,7 @@ ENCODING 18555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2240 @@ -131583,7 +171347,7 @@ ENCODING 18556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 27E0 @@ -131601,7 +171365,7 @@ ENCODING 18557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -131619,7 +171383,7 @@ ENCODING 18558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFC0 2A60 @@ -131637,7 +171401,7 @@ ENCODING 18559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 F100 2FE0 @@ -131655,7 +171419,7 @@ ENCODING 18560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 F200 47E0 @@ -131672,8 +171436,8 @@ STARTCHAR U_4881 ENCODING 18561 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 F7C0 4440 @@ -131691,7 +171455,7 @@ ENCODING 18562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 F100 4FE0 @@ -131709,7 +171473,7 @@ ENCODING 18563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 7A80 @@ -131727,7 +171491,7 @@ ENCODING 18564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F7E0 0280 @@ -131745,7 +171509,7 @@ ENCODING 18565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 4040 7BC0 @@ -131763,7 +171527,7 @@ ENCODING 18566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 8DC0 @@ -131781,7 +171545,7 @@ ENCODING 18567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 FDC0 @@ -131799,7 +171563,7 @@ ENCODING 18568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 7FC0 @@ -131817,7 +171581,7 @@ ENCODING 18569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 5F40 7BC0 @@ -131835,7 +171599,7 @@ ENCODING 18570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2040 2080 @@ -131853,7 +171617,7 @@ ENCODING 18571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2000 2FE0 @@ -131871,7 +171635,7 @@ ENCODING 18572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2FE0 @@ -131889,7 +171653,7 @@ ENCODING 18573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 2FE0 @@ -131907,7 +171671,7 @@ ENCODING 18574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 2280 @@ -131925,7 +171689,7 @@ ENCODING 18575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 2280 @@ -131943,7 +171707,7 @@ ENCODING 18576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 8880 4880 @@ -131961,7 +171725,7 @@ ENCODING 18577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2680 2480 @@ -131979,7 +171743,7 @@ ENCODING 18578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 2FE0 @@ -131997,7 +171761,7 @@ ENCODING 18579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2820 @@ -132015,7 +171779,7 @@ ENCODING 18580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 2440 @@ -132033,7 +171797,7 @@ ENCODING 18581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 27E0 @@ -132051,7 +171815,7 @@ ENCODING 18582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2140 @@ -132069,7 +171833,7 @@ ENCODING 18583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 2FE0 @@ -132087,7 +171851,7 @@ ENCODING 18584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 28A0 @@ -132105,7 +171869,7 @@ ENCODING 18585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 2440 @@ -132123,7 +171887,7 @@ ENCODING 18586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 27C0 @@ -132141,7 +171905,7 @@ ENCODING 18587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 2AA0 @@ -132159,7 +171923,7 @@ ENCODING 18588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 27C0 @@ -132177,7 +171941,7 @@ ENCODING 18589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 2280 @@ -132195,7 +171959,7 @@ ENCODING 18590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 3FE0 @@ -132213,7 +171977,7 @@ ENCODING 18591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2480 3EE0 @@ -132231,25 +171995,25 @@ ENCODING 18592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -4940 -2540 -2580 +BITMAP +4100 +2520 +2940 0280 -E440 -2AA0 -2280 +EC60 +2240 2FE0 -2280 -3C80 -C3E0 +2240 +2440 +5840 +8FE0 ENDCHAR STARTCHAR U_48A1 ENCODING 18593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 2540 @@ -132267,7 +172031,7 @@ ENCODING 18594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2540 2FE0 @@ -132285,7 +172049,7 @@ ENCODING 18595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 27C0 2240 @@ -132303,7 +172067,7 @@ ENCODING 18596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46C0 2CA0 2480 @@ -132321,7 +172085,7 @@ ENCODING 18597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 25C0 @@ -132339,7 +172103,7 @@ ENCODING 18598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2AA0 @@ -132357,7 +172121,7 @@ ENCODING 18599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 2660 @@ -132375,7 +172139,7 @@ ENCODING 18600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2940 36A0 @@ -132393,7 +172157,7 @@ ENCODING 18601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 2880 3EE0 @@ -132411,7 +172175,7 @@ ENCODING 18602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2200 2FE0 @@ -132429,7 +172193,7 @@ ENCODING 18603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 2BE0 2C80 @@ -132447,7 +172211,7 @@ ENCODING 18604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E40 2A80 @@ -132465,7 +172229,7 @@ ENCODING 18605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 2100 @@ -132483,7 +172247,7 @@ ENCODING 18606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 27E0 @@ -132501,7 +172265,7 @@ ENCODING 18607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2380 2D60 @@ -132519,7 +172283,7 @@ ENCODING 18608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3DE0 94A0 4C60 @@ -132537,7 +172301,7 @@ ENCODING 18609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4FE0 2100 @@ -132555,7 +172319,7 @@ ENCODING 18610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 4AA0 2EE0 @@ -132573,7 +172337,7 @@ ENCODING 18611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 4920 4940 @@ -132590,9 +172354,8 @@ STARTCHAR U_48B4 ENCODING 18612 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP 1BC0 E240 2280 @@ -132609,7 +172372,7 @@ ENCODING 18613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 F920 0140 @@ -132627,7 +172390,7 @@ ENCODING 18614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1120 FD40 @@ -132645,7 +172408,7 @@ ENCODING 18615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 6540 @@ -132663,7 +172426,7 @@ ENCODING 18616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 4540 @@ -132681,7 +172444,7 @@ ENCODING 18617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 8120 8120 @@ -132699,7 +172462,7 @@ ENCODING 18618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 9520 9520 @@ -132717,7 +172480,7 @@ ENCODING 18619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 9120 9140 @@ -132735,7 +172498,7 @@ ENCODING 18620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4920 FD40 @@ -132753,7 +172516,7 @@ ENCODING 18621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FC0 2080 @@ -132771,7 +172534,7 @@ ENCODING 18622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 5120 7D40 @@ -132789,7 +172552,7 @@ ENCODING 18623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FD20 8540 @@ -132807,7 +172570,7 @@ ENCODING 18624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 3EA0 44A0 @@ -132825,7 +172588,7 @@ ENCODING 18625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 22A0 AAA0 @@ -132843,7 +172606,7 @@ ENCODING 18626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15E0 7920 1120 @@ -132861,7 +172624,7 @@ ENCODING 18627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 7CA0 90A0 @@ -132879,7 +172642,7 @@ ENCODING 18628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 28A0 44A0 @@ -132897,7 +172660,7 @@ ENCODING 18629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EE0 40A0 7CA0 @@ -132915,7 +172678,7 @@ ENCODING 18630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 0120 5520 @@ -132933,7 +172696,7 @@ ENCODING 18631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14E0 12A0 FEA0 @@ -132951,7 +172714,7 @@ ENCODING 18632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8A40 FBC0 @@ -132969,7 +172732,7 @@ ENCODING 18633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 AA80 5340 @@ -132987,7 +172750,7 @@ ENCODING 18634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 92E0 54A0 10A0 @@ -133005,7 +172768,7 @@ ENCODING 18635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 54A0 48A0 @@ -133023,7 +172786,7 @@ ENCODING 18636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 7FA0 40A0 @@ -133041,7 +172804,7 @@ ENCODING 18637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 FEA0 34A0 @@ -133059,7 +172822,7 @@ ENCODING 18638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55E0 5520 A920 @@ -133077,7 +172840,7 @@ ENCODING 18639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 2AA0 2AA0 @@ -133095,7 +172858,7 @@ ENCODING 18640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 FFE0 2920 @@ -133113,7 +172876,7 @@ ENCODING 18641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4120 7D40 @@ -133131,7 +172894,7 @@ ENCODING 18642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 5520 @@ -133149,7 +172912,7 @@ ENCODING 18643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FCE0 00A0 7CA0 @@ -133167,7 +172930,7 @@ ENCODING 18644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9400 59E0 FD20 @@ -133185,7 +172948,7 @@ ENCODING 18645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5120 7D40 @@ -133203,7 +172966,7 @@ ENCODING 18646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5240 7A40 @@ -133221,7 +172984,7 @@ ENCODING 18647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 4520 @@ -133239,7 +173002,7 @@ ENCODING 18648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 95E0 5920 FD40 @@ -133257,7 +173020,7 @@ ENCODING 18649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 92E0 FEA0 @@ -133275,7 +173038,7 @@ ENCODING 18650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 5520 @@ -133293,7 +173056,7 @@ ENCODING 18651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 3920 @@ -133311,7 +173074,7 @@ ENCODING 18652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 10E0 7EA0 @@ -133329,7 +173092,7 @@ ENCODING 18653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EE0 42A0 7EA0 @@ -133347,7 +173110,7 @@ ENCODING 18654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 EEA0 @@ -133365,7 +173128,7 @@ ENCODING 18655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 A520 FF40 @@ -133383,7 +173146,7 @@ ENCODING 18656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 EF20 4520 @@ -133401,7 +173164,7 @@ ENCODING 18657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 FD20 2140 @@ -133419,7 +173182,7 @@ ENCODING 18658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AE0 FFA0 4AC0 @@ -133437,7 +173200,7 @@ ENCODING 18659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 54E0 FEA0 AAA0 @@ -133455,7 +173218,7 @@ ENCODING 18660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 EEA0 @@ -133473,7 +173236,7 @@ ENCODING 18661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 2200 FA00 @@ -133491,7 +173254,7 @@ ENCODING 18662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 27E0 @@ -133509,7 +173272,7 @@ ENCODING 18663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 2120 2100 @@ -133527,7 +173290,7 @@ ENCODING 18664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 F9C0 @@ -133545,7 +173308,7 @@ ENCODING 18665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2080 27E0 @@ -133563,7 +173326,7 @@ ENCODING 18666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 23E0 F880 @@ -133581,7 +173344,7 @@ ENCODING 18667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2080 FBE0 @@ -133599,7 +173362,7 @@ ENCODING 18668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 2120 27E0 @@ -133617,7 +173380,7 @@ ENCODING 18669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 20A0 F880 @@ -133635,7 +173398,7 @@ ENCODING 18670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 2120 27E0 @@ -133653,7 +173416,7 @@ ENCODING 18671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2240 @@ -133671,7 +173434,7 @@ ENCODING 18672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2200 FA00 @@ -133689,7 +173452,7 @@ ENCODING 18673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 2200 27E0 @@ -133707,7 +173470,7 @@ ENCODING 18674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2240 27E0 @@ -133725,7 +173488,7 @@ ENCODING 18675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2020 2020 @@ -133743,7 +173506,7 @@ ENCODING 18676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 2360 22A0 @@ -133761,7 +173524,7 @@ ENCODING 18677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2240 FA40 @@ -133779,7 +173542,7 @@ ENCODING 18678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 F880 @@ -133797,7 +173560,7 @@ ENCODING 18679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FA80 23C0 @@ -133815,7 +173578,7 @@ ENCODING 18680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 E100 3FE0 @@ -133833,7 +173596,7 @@ ENCODING 18681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 22A0 2680 @@ -133851,7 +173614,7 @@ ENCODING 18682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2220 FBE0 @@ -133869,7 +173632,7 @@ ENCODING 18683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2280 27C0 @@ -133887,7 +173650,7 @@ ENCODING 18684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 23E0 F800 @@ -133905,7 +173668,7 @@ ENCODING 18685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 A3C0 FA40 @@ -133923,7 +173686,7 @@ ENCODING 18686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2080 FBE0 @@ -133941,7 +173704,7 @@ ENCODING 18687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2080 27E0 @@ -133959,7 +173722,7 @@ ENCODING 18688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2240 @@ -133977,7 +173740,7 @@ ENCODING 18689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 FFE0 2140 @@ -133995,7 +173758,7 @@ ENCODING 18690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 23E0 F940 @@ -134013,7 +173776,7 @@ ENCODING 18691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 FA40 @@ -134031,7 +173794,7 @@ ENCODING 18692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2200 2400 @@ -134049,7 +173812,7 @@ ENCODING 18693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2440 @@ -134067,7 +173830,7 @@ ENCODING 18694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEA0 2AC0 26A0 @@ -134085,7 +173848,7 @@ ENCODING 18695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 24A0 @@ -134103,7 +173866,7 @@ ENCODING 18696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FA40 2420 @@ -134121,7 +173884,7 @@ ENCODING 18697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F940 24A0 @@ -134139,7 +173902,7 @@ ENCODING 18698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 27E0 FA40 @@ -134157,7 +173920,7 @@ ENCODING 18699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 50A0 FFE0 @@ -134175,7 +173938,7 @@ ENCODING 18700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 FA40 25A0 @@ -134193,7 +173956,7 @@ ENCODING 18701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 27E0 FA40 @@ -134211,7 +173974,7 @@ ENCODING 18702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2140 FFE0 @@ -134229,7 +173992,7 @@ ENCODING 18703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF60 2140 2760 @@ -134247,7 +174010,7 @@ ENCODING 18704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2540 27E0 @@ -134265,7 +174028,7 @@ ENCODING 18705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 23E0 2140 @@ -134283,7 +174046,7 @@ ENCODING 18706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 2540 @@ -134301,7 +174064,7 @@ ENCODING 18707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2240 @@ -134319,7 +174082,7 @@ ENCODING 18708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 BF80 6AE0 @@ -134337,7 +174100,7 @@ ENCODING 18709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FDC0 2AA0 @@ -134355,7 +174118,7 @@ ENCODING 18710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 22A0 FBE0 @@ -134373,7 +174136,7 @@ ENCODING 18711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDC0 4740 @@ -134391,7 +174154,7 @@ ENCODING 18712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AC0 FAA0 2580 @@ -134409,7 +174172,7 @@ ENCODING 18713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 FA80 27E0 @@ -134427,7 +174190,7 @@ ENCODING 18714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 97C0 @@ -134444,8 +174207,8 @@ STARTCHAR U_491B ENCODING 18715 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2040 5240 8A40 @@ -134463,7 +174226,7 @@ ENCODING 18716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 88E0 @@ -134481,7 +174244,7 @@ ENCODING 18717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 34E0 4CA0 @@ -134499,7 +174262,7 @@ ENCODING 18718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 30C0 48A0 @@ -134517,7 +174280,7 @@ ENCODING 18719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57E0 8C40 @@ -134535,7 +174298,7 @@ ENCODING 18720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -134553,7 +174316,7 @@ ENCODING 18721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4BE0 @@ -134571,7 +174334,7 @@ ENCODING 18722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3220 4A20 @@ -134589,7 +174352,7 @@ ENCODING 18723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4880 @@ -134607,7 +174370,7 @@ ENCODING 18724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4880 @@ -134625,7 +174388,7 @@ ENCODING 18725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 31E0 4A40 @@ -134643,7 +174406,7 @@ ENCODING 18726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 32C0 4AA0 @@ -134661,7 +174424,7 @@ ENCODING 18727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4A20 @@ -134679,7 +174442,7 @@ ENCODING 18728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4C60 @@ -134697,7 +174460,7 @@ ENCODING 18729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4C20 @@ -134715,7 +174478,7 @@ ENCODING 18730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3240 4A40 @@ -134733,7 +174496,7 @@ ENCODING 18731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3540 4D40 @@ -134751,7 +174514,7 @@ ENCODING 18732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3280 4880 @@ -134769,7 +174532,7 @@ ENCODING 18733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2640 31C0 4E20 @@ -134787,7 +174550,7 @@ ENCODING 18734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 32E0 4A80 @@ -134805,7 +174568,7 @@ ENCODING 18735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 32A0 4AC0 @@ -134823,7 +174586,7 @@ ENCODING 18736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 24A0 @@ -134841,7 +174604,7 @@ ENCODING 18737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 32A0 4BE0 @@ -134859,7 +174622,7 @@ ENCODING 18738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4BE0 @@ -134877,7 +174640,7 @@ ENCODING 18739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4940 @@ -134895,7 +174658,7 @@ ENCODING 18740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3040 4880 @@ -134913,7 +174676,7 @@ ENCODING 18741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3140 4B60 @@ -134931,7 +174694,7 @@ ENCODING 18742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 33C0 4900 @@ -134949,7 +174712,7 @@ ENCODING 18743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3520 4DE0 @@ -134967,7 +174730,7 @@ ENCODING 18744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 31C0 4940 @@ -134985,7 +174748,7 @@ ENCODING 18745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 33E0 4AA0 @@ -135003,7 +174766,7 @@ ENCODING 18746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 37C0 4A80 @@ -135021,7 +174784,7 @@ ENCODING 18747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4A80 @@ -135039,7 +174802,7 @@ ENCODING 18748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 33E0 4A20 @@ -135057,7 +174820,7 @@ ENCODING 18749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3520 47E0 @@ -135075,7 +174838,7 @@ ENCODING 18750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4AA0 @@ -135093,7 +174856,7 @@ ENCODING 18751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 37A0 4AA0 @@ -135111,7 +174874,7 @@ ENCODING 18752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 32A0 4BE0 @@ -135129,7 +174892,7 @@ ENCODING 18753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3040 4880 @@ -135147,7 +174910,7 @@ ENCODING 18754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3420 4BC0 @@ -135165,7 +174928,7 @@ ENCODING 18755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4D20 @@ -135183,7 +174946,7 @@ ENCODING 18756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3540 4FE0 @@ -135201,7 +174964,7 @@ ENCODING 18757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -135219,7 +174982,7 @@ ENCODING 18758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -135237,7 +175000,7 @@ ENCODING 18759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4C20 @@ -135255,7 +175018,7 @@ ENCODING 18760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 37E0 4A40 @@ -135273,7 +175036,7 @@ ENCODING 18761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4C20 @@ -135291,7 +175054,7 @@ ENCODING 18762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 33E0 4880 @@ -135309,7 +175072,7 @@ ENCODING 18763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4A40 @@ -135327,7 +175090,7 @@ ENCODING 18764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 AAA0 @@ -135345,7 +175108,7 @@ ENCODING 18765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 73C0 2140 @@ -135363,7 +175126,7 @@ ENCODING 18766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3400 4FE0 @@ -135381,7 +175144,7 @@ ENCODING 18767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 6BE0 96A0 @@ -135399,7 +175162,7 @@ ENCODING 18768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 5340 FC80 @@ -135417,7 +175180,7 @@ ENCODING 18769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4D40 @@ -135435,7 +175198,7 @@ ENCODING 18770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1240 F7E0 @@ -135453,7 +175216,7 @@ ENCODING 18771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 8AC0 @@ -135471,7 +175234,7 @@ ENCODING 18772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5240 8FE0 @@ -135489,7 +175252,7 @@ ENCODING 18773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 8BE0 @@ -135507,7 +175270,7 @@ ENCODING 18774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5FE0 8280 @@ -135525,7 +175288,7 @@ ENCODING 18775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5F80 84E0 @@ -135543,7 +175306,7 @@ ENCODING 18776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 5140 8AA0 @@ -135561,7 +175324,7 @@ ENCODING 18777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 5EC0 8A00 @@ -135579,7 +175342,7 @@ ENCODING 18778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5540 5DC0 @@ -135597,7 +175360,7 @@ ENCODING 18779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 52A0 8FA0 @@ -135615,7 +175378,7 @@ ENCODING 18780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8EE0 @@ -135633,7 +175396,7 @@ ENCODING 18781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -135651,7 +175414,7 @@ ENCODING 18782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2E80 5A80 @@ -135669,7 +175432,7 @@ ENCODING 18783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 3540 4FC0 @@ -135687,7 +175450,7 @@ ENCODING 18784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 8A80 @@ -135705,7 +175468,7 @@ ENCODING 18785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 5BE0 8AA0 @@ -135723,7 +175486,7 @@ ENCODING 18786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 4880 @@ -135741,7 +175504,7 @@ ENCODING 18787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BC0 8A40 DFE0 @@ -135759,7 +175522,7 @@ ENCODING 18788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5100 8FE0 @@ -135777,7 +175540,7 @@ ENCODING 18789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8A40 @@ -135795,7 +175558,7 @@ ENCODING 18790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53E0 8940 @@ -135813,7 +175576,7 @@ ENCODING 18791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5100 8FE0 @@ -135831,7 +175594,7 @@ ENCODING 18792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8EE0 @@ -135849,7 +175612,7 @@ ENCODING 18793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 5A80 AAE0 @@ -135867,7 +175630,7 @@ ENCODING 18794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 54C0 8D40 @@ -135885,7 +175648,7 @@ ENCODING 18795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5FC0 84A0 @@ -135903,7 +175666,7 @@ ENCODING 18796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5FE0 8540 @@ -135921,7 +175684,7 @@ ENCODING 18797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28A0 FFE0 AAA0 @@ -135939,7 +175702,7 @@ ENCODING 18798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5280 8FE0 @@ -135957,7 +175720,7 @@ ENCODING 18799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FE0 @@ -135975,7 +175738,7 @@ ENCODING 18800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -135993,7 +175756,7 @@ ENCODING 18801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -136011,7 +175774,7 @@ ENCODING 18802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5F80 8AE0 @@ -136029,7 +175792,7 @@ ENCODING 18803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5200 8FC0 @@ -136047,7 +175810,7 @@ ENCODING 18804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 57E0 8280 @@ -136065,7 +175828,7 @@ ENCODING 18805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 BFE0 1480 @@ -136083,7 +175846,7 @@ ENCODING 18806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5400 8FE0 @@ -136101,7 +175864,7 @@ ENCODING 18807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 6F20 9A20 @@ -136119,7 +175882,7 @@ ENCODING 18808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2540 CFE0 @@ -136137,7 +175900,7 @@ ENCODING 18809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 52A0 8FA0 @@ -136155,7 +175918,7 @@ ENCODING 18810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 7840 @@ -136173,7 +175936,7 @@ ENCODING 18811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 7900 @@ -136191,7 +175954,7 @@ ENCODING 18812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 7FE0 @@ -136209,7 +175972,7 @@ ENCODING 18813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 7520 @@ -136227,7 +175990,7 @@ ENCODING 18814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7200 @@ -136245,7 +176008,7 @@ ENCODING 18815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7800 @@ -136263,7 +176026,7 @@ ENCODING 18816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7920 @@ -136281,7 +176044,7 @@ ENCODING 18817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 42E0 7FA0 @@ -136299,7 +176062,7 @@ ENCODING 18818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7820 @@ -136317,7 +176080,7 @@ ENCODING 18819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 7280 @@ -136335,7 +176098,7 @@ ENCODING 18820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7540 @@ -136353,7 +176116,7 @@ ENCODING 18821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 7FC0 @@ -136371,7 +176134,7 @@ ENCODING 18822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 7EE0 @@ -136389,7 +176152,7 @@ ENCODING 18823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4240 7A40 @@ -136407,7 +176170,7 @@ ENCODING 18824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4100 7FE0 @@ -136425,7 +176188,7 @@ ENCODING 18825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 8AA0 EAA0 @@ -136443,7 +176206,7 @@ ENCODING 18826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4100 79C0 @@ -136461,7 +176224,7 @@ ENCODING 18827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 9E80 E5E0 @@ -136479,7 +176242,7 @@ ENCODING 18828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136497,7 +176260,7 @@ ENCODING 18829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136515,7 +176278,7 @@ ENCODING 18830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136533,7 +176296,7 @@ ENCODING 18831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136551,7 +176314,7 @@ ENCODING 18832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136569,7 +176332,7 @@ ENCODING 18833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136587,7 +176350,7 @@ ENCODING 18834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136605,7 +176368,7 @@ ENCODING 18835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136623,7 +176386,7 @@ ENCODING 18836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AA60 CAA0 @@ -136641,7 +176404,7 @@ ENCODING 18837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AB20 CAA0 @@ -136659,7 +176422,7 @@ ENCODING 18838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -136677,7 +176440,7 @@ ENCODING 18839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136695,7 +176458,7 @@ ENCODING 18840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -136713,7 +176476,7 @@ ENCODING 18841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -136731,7 +176494,7 @@ ENCODING 18842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AA60 CAA0 @@ -136749,7 +176512,7 @@ ENCODING 18843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -136767,7 +176530,7 @@ ENCODING 18844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136785,7 +176548,7 @@ ENCODING 18845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -136803,7 +176566,7 @@ ENCODING 18846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -136821,7 +176584,7 @@ ENCODING 18847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136838,8 +176601,8 @@ STARTCHAR U_49A0 ENCODING 18848 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F3C0 9240 F3C0 @@ -136856,8 +176619,8 @@ STARTCHAR U_49A1 ENCODING 18849 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F3C0 9240 F3C0 @@ -136874,8 +176637,8 @@ STARTCHAR U_49A2 ENCODING 18850 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F3C0 9240 F3C0 @@ -136893,7 +176656,7 @@ ENCODING 18851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -136911,7 +176674,7 @@ ENCODING 18852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136929,7 +176692,7 @@ ENCODING 18853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -136947,7 +176710,7 @@ ENCODING 18854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -136965,7 +176728,7 @@ ENCODING 18855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -136983,7 +176746,7 @@ ENCODING 18856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -137001,7 +176764,7 @@ ENCODING 18857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -137019,7 +176782,7 @@ ENCODING 18858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137037,7 +176800,7 @@ ENCODING 18859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -137055,7 +176818,7 @@ ENCODING 18860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137073,7 +176836,7 @@ ENCODING 18861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 F3E0 @@ -137091,7 +176854,7 @@ ENCODING 18862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137109,7 +176872,7 @@ ENCODING 18863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -137127,7 +176890,7 @@ ENCODING 18864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137145,7 +176908,7 @@ ENCODING 18865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137163,7 +176926,7 @@ ENCODING 18866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FFE0 @@ -137181,7 +176944,7 @@ ENCODING 18867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -137199,7 +176962,7 @@ ENCODING 18868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 CB20 @@ -137217,7 +176980,7 @@ ENCODING 18869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -137235,7 +176998,7 @@ ENCODING 18870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2420 8F20 @@ -137253,7 +177016,7 @@ ENCODING 18871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 8020 @@ -137271,7 +177034,7 @@ ENCODING 18872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 5FE0 4020 @@ -137289,7 +177052,7 @@ ENCODING 18873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A100 @@ -137307,7 +177070,7 @@ ENCODING 18874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 97E0 A080 @@ -137325,7 +177088,7 @@ ENCODING 18875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 A080 @@ -137343,7 +177106,7 @@ ENCODING 18876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 AFC0 @@ -137361,7 +177124,7 @@ ENCODING 18877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 A280 @@ -137379,7 +177142,7 @@ ENCODING 18878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4280 F440 @@ -137397,7 +177160,7 @@ ENCODING 18879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A7E0 @@ -137415,7 +177178,7 @@ ENCODING 18880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 AFE0 @@ -137433,7 +177196,7 @@ ENCODING 18881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 9400 A7E0 @@ -137451,7 +177214,7 @@ ENCODING 18882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9220 A220 @@ -137469,7 +177232,7 @@ ENCODING 18883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 97E0 A4A0 @@ -137487,7 +177250,7 @@ ENCODING 18884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97C0 A440 @@ -137505,7 +177268,7 @@ ENCODING 18885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A100 @@ -137523,7 +177286,7 @@ ENCODING 18886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9280 A280 @@ -137541,7 +177304,7 @@ ENCODING 18887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 AFE0 @@ -137559,7 +177322,7 @@ ENCODING 18888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 A280 @@ -137577,7 +177340,7 @@ ENCODING 18889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 A7C0 @@ -137595,7 +177358,7 @@ ENCODING 18890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9500 A7C0 @@ -137613,7 +177376,7 @@ ENCODING 18891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -137631,7 +177394,7 @@ ENCODING 18892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9F20 A520 @@ -137649,7 +177412,7 @@ ENCODING 18893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9440 A920 @@ -137667,7 +177430,7 @@ ENCODING 18894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 A7E0 @@ -137685,7 +177448,7 @@ ENCODING 18895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 A780 A880 @@ -137703,7 +177466,7 @@ ENCODING 18896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A440 @@ -137721,7 +177484,7 @@ ENCODING 18897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A820 @@ -137739,7 +177502,7 @@ ENCODING 18898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A100 @@ -137757,7 +177520,7 @@ ENCODING 18899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A920 ABA0 @@ -137775,7 +177538,7 @@ ENCODING 18900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A500 A880 @@ -137793,7 +177556,7 @@ ENCODING 18901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E080 A0A0 BFE0 @@ -137811,7 +177574,7 @@ ENCODING 18902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E500 AFC0 A480 @@ -137829,7 +177592,7 @@ ENCODING 18903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 AFE0 B840 @@ -137847,7 +177610,7 @@ ENCODING 18904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A3C0 A480 @@ -137865,7 +177628,7 @@ ENCODING 18905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AA40 AFC0 @@ -137883,7 +177646,7 @@ ENCODING 18906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A280 @@ -137901,7 +177664,7 @@ ENCODING 18907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A280 @@ -137919,7 +177682,7 @@ ENCODING 18908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A940 @@ -137937,7 +177700,7 @@ ENCODING 18909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 A7C0 A100 @@ -137955,7 +177718,7 @@ ENCODING 18910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A900 AFC0 @@ -137973,7 +177736,7 @@ ENCODING 18911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1C0 AE00 A920 @@ -137991,7 +177754,7 @@ ENCODING 18912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A540 @@ -138009,7 +177772,7 @@ ENCODING 18913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A940 @@ -138027,7 +177790,7 @@ ENCODING 18914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A800 AB80 @@ -138045,7 +177808,7 @@ ENCODING 18915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -138063,7 +177826,7 @@ ENCODING 18916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAA0 AFE0 A440 @@ -138081,7 +177844,7 @@ ENCODING 18917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 BFC0 AA80 @@ -138099,7 +177862,7 @@ ENCODING 18918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1C0 AE00 A540 @@ -138117,7 +177880,7 @@ ENCODING 18919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E500 BFC0 A200 @@ -138135,7 +177898,7 @@ ENCODING 18920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAA0 A280 AFE0 @@ -138153,7 +177916,7 @@ ENCODING 18921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 A280 BEE0 @@ -138171,7 +177934,7 @@ ENCODING 18922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFC0 A900 @@ -138189,7 +177952,7 @@ ENCODING 18923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A280 @@ -138207,7 +177970,7 @@ ENCODING 18924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A920 @@ -138225,7 +177988,7 @@ ENCODING 18925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 AFC0 AA40 @@ -138243,7 +178006,7 @@ ENCODING 18926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A920 @@ -138261,7 +178024,7 @@ ENCODING 18927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E780 A900 BFC0 @@ -138279,7 +178042,7 @@ ENCODING 18928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E880 BC80 A540 @@ -138297,7 +178060,7 @@ ENCODING 18929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4480 F7E0 @@ -138315,7 +178078,7 @@ ENCODING 18930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 7240 27E0 @@ -138333,7 +178096,7 @@ ENCODING 18931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2200 A3E0 @@ -138351,7 +178114,7 @@ ENCODING 18932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2100 FBE0 @@ -138369,7 +178132,7 @@ ENCODING 18933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2200 FBE0 @@ -138387,7 +178150,7 @@ ENCODING 18934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 6100 @@ -138405,7 +178168,7 @@ ENCODING 18935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4280 F440 @@ -138423,7 +178186,7 @@ ENCODING 18936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2280 2440 @@ -138441,7 +178204,7 @@ ENCODING 18937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A80 @@ -138459,7 +178222,7 @@ ENCODING 18938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 F7E0 @@ -138477,7 +178240,7 @@ ENCODING 18939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 2120 @@ -138495,7 +178258,7 @@ ENCODING 18940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A140 FA20 @@ -138513,7 +178276,7 @@ ENCODING 18941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1940 E120 ABE0 @@ -138531,7 +178294,7 @@ ENCODING 18942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 53E0 @@ -138549,7 +178312,7 @@ ENCODING 18943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 4920 FDE0 @@ -138567,7 +178330,7 @@ ENCODING 18944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2180 5240 @@ -138585,7 +178348,7 @@ ENCODING 18945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 13E0 FD40 @@ -138603,7 +178366,7 @@ ENCODING 18946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 22A0 FDC0 @@ -138621,7 +178384,7 @@ ENCODING 18947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4940 79E0 @@ -138639,7 +178402,7 @@ ENCODING 18948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 5540 @@ -138657,7 +178420,7 @@ ENCODING 18949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F940 ABE0 @@ -138675,7 +178438,7 @@ ENCODING 18950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 73E0 FA40 @@ -138693,7 +178456,7 @@ ENCODING 18951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5280 @@ -138711,7 +178474,7 @@ ENCODING 18952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA40 8FE0 @@ -138729,7 +178492,7 @@ ENCODING 18953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 B540 DDE0 @@ -138747,7 +178510,7 @@ ENCODING 18954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 3FC0 5100 @@ -138765,7 +178528,7 @@ ENCODING 18955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138783,7 +178546,7 @@ ENCODING 18956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138801,7 +178564,7 @@ ENCODING 18957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138819,7 +178582,7 @@ ENCODING 18958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138837,7 +178600,7 @@ ENCODING 18959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138855,7 +178618,7 @@ ENCODING 18960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138873,7 +178636,7 @@ ENCODING 18961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138891,7 +178654,7 @@ ENCODING 18962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138909,7 +178672,7 @@ ENCODING 18963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138927,7 +178690,7 @@ ENCODING 18964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138945,7 +178708,7 @@ ENCODING 18965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -138963,7 +178726,7 @@ ENCODING 18966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 7FE0 @@ -138981,7 +178744,7 @@ ENCODING 18967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -138999,7 +178762,7 @@ ENCODING 18968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139017,7 +178780,7 @@ ENCODING 18969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139035,7 +178798,7 @@ ENCODING 18970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139053,7 +178816,7 @@ ENCODING 18971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 7FE0 @@ -139071,7 +178834,7 @@ ENCODING 18972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139089,7 +178852,7 @@ ENCODING 18973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139107,7 +178870,7 @@ ENCODING 18974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 FFE0 A4A0 @@ -139125,7 +178888,7 @@ ENCODING 18975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 7FE0 @@ -139143,7 +178906,7 @@ ENCODING 18976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 7FE0 @@ -139161,7 +178924,7 @@ ENCODING 18977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139179,7 +178942,7 @@ ENCODING 18978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139197,7 +178960,7 @@ ENCODING 18979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139215,7 +178978,7 @@ ENCODING 18980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139233,7 +178996,7 @@ ENCODING 18981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139251,7 +179014,7 @@ ENCODING 18982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 0400 FFE0 @@ -139269,7 +179032,7 @@ ENCODING 18983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139287,7 +179050,7 @@ ENCODING 18984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139305,7 +179068,7 @@ ENCODING 18985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139323,7 +179086,7 @@ ENCODING 18986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139341,7 +179104,7 @@ ENCODING 18987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139359,7 +179122,7 @@ ENCODING 18988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139377,7 +179140,7 @@ ENCODING 18989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 22A0 FAA0 @@ -139395,7 +179158,7 @@ ENCODING 18990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139413,7 +179176,7 @@ ENCODING 18991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139431,7 +179194,7 @@ ENCODING 18992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139449,7 +179212,7 @@ ENCODING 18993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139467,7 +179230,7 @@ ENCODING 18994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 2140 FA40 @@ -139485,7 +179248,7 @@ ENCODING 18995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139503,7 +179266,7 @@ ENCODING 18996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139521,7 +179284,7 @@ ENCODING 18997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139539,7 +179302,7 @@ ENCODING 18998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139557,7 +179320,7 @@ ENCODING 18999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139575,7 +179338,7 @@ ENCODING 19000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -139593,7 +179356,7 @@ ENCODING 19001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139611,7 +179374,7 @@ ENCODING 19002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139629,7 +179392,7 @@ ENCODING 19003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 2080 FBE0 @@ -139647,7 +179410,7 @@ ENCODING 19004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FB60 2140 @@ -139664,26 +179427,26 @@ STARTCHAR U_4A3D ENCODING 19005 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0A00 -7BC0 -0A00 -7BC0 -0A00 +BBX 10 11 1 -1 +BITMAP +1400 +F780 +1400 +F780 +1400 +FF80 +0100 +FF00 +8040 +8040 7FC0 -0080 -7F80 -4020 -4020 -3FE0 ENDCHAR STARTCHAR U_4A3E ENCODING 19006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -139701,7 +179464,7 @@ ENCODING 19007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -139719,7 +179482,7 @@ ENCODING 19008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A00 7BC0 @@ -139737,7 +179500,7 @@ ENCODING 19009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 73C0 1D00 @@ -139755,7 +179518,7 @@ ENCODING 19010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 2140 4220 @@ -139773,7 +179536,7 @@ ENCODING 19011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 2280 4280 @@ -139791,7 +179554,7 @@ ENCODING 19012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2220 42A0 @@ -139809,7 +179572,7 @@ ENCODING 19013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 42A0 @@ -139827,7 +179590,7 @@ ENCODING 19014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 FE80 11E0 @@ -139845,7 +179608,7 @@ ENCODING 19015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FE80 20E0 @@ -139863,7 +179626,7 @@ ENCODING 19016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 4400 @@ -139881,7 +179644,7 @@ ENCODING 19017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FCC0 20A0 43E0 @@ -139899,7 +179662,7 @@ ENCODING 19018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 4220 @@ -139917,7 +179680,7 @@ ENCODING 19019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 2FE0 4A80 @@ -139935,7 +179698,7 @@ ENCODING 19020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 43E0 @@ -139953,7 +179716,7 @@ ENCODING 19021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2A40 @@ -139971,7 +179734,7 @@ ENCODING 19022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2440 @@ -139989,7 +179752,7 @@ ENCODING 19023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 27E0 4140 @@ -140007,7 +179770,7 @@ ENCODING 19024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F9E0 5200 @@ -140025,7 +179788,7 @@ ENCODING 19025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5020 FBE0 5020 @@ -140043,7 +179806,7 @@ ENCODING 19026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBE0 5080 @@ -140061,7 +179824,7 @@ ENCODING 19027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 53E0 @@ -140079,7 +179842,7 @@ ENCODING 19028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29C0 FD40 2940 @@ -140097,7 +179860,7 @@ ENCODING 19029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F900 72E0 @@ -140115,7 +179878,7 @@ ENCODING 19030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 52A0 @@ -140133,7 +179896,7 @@ ENCODING 19031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 F9E0 5120 @@ -140151,7 +179914,7 @@ ENCODING 19032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBE0 5080 @@ -140169,7 +179932,7 @@ ENCODING 19033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F880 57E0 @@ -140187,7 +179950,7 @@ ENCODING 19034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 50E0 FB80 5280 @@ -140205,7 +179968,7 @@ ENCODING 19035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F8A0 5020 @@ -140223,7 +179986,7 @@ ENCODING 19036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 5080 @@ -140241,7 +180004,7 @@ ENCODING 19037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5060 FFC0 5540 @@ -140259,7 +180022,7 @@ ENCODING 19038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 5080 @@ -140277,7 +180040,7 @@ ENCODING 19039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5080 @@ -140295,7 +180058,7 @@ ENCODING 19040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 F820 5740 @@ -140313,7 +180076,7 @@ ENCODING 19041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 F920 57E0 @@ -140331,7 +180094,7 @@ ENCODING 19042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FA60 5280 @@ -140349,7 +180112,7 @@ ENCODING 19043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 5140 @@ -140367,7 +180130,7 @@ ENCODING 19044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBC0 5240 @@ -140385,7 +180148,7 @@ ENCODING 19045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 F8E0 5740 @@ -140403,7 +180166,7 @@ ENCODING 19046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 D680 5180 @@ -140421,7 +180184,7 @@ ENCODING 19047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F880 57E0 @@ -140439,7 +180202,7 @@ ENCODING 19048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA00 53C0 @@ -140457,7 +180220,7 @@ ENCODING 19049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5420 @@ -140475,7 +180238,7 @@ ENCODING 19050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5420 @@ -140493,7 +180256,7 @@ ENCODING 19051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 F880 53E0 @@ -140511,7 +180274,7 @@ ENCODING 19052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 5080 @@ -140529,7 +180292,7 @@ ENCODING 19053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F7E0 5180 @@ -140547,7 +180310,7 @@ ENCODING 19054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FFC0 5440 @@ -140565,7 +180328,7 @@ ENCODING 19055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 57E0 F900 @@ -140583,7 +180346,7 @@ ENCODING 19056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FA40 53C0 @@ -140601,7 +180364,7 @@ ENCODING 19057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FA80 5440 @@ -140619,7 +180382,7 @@ ENCODING 19058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5540 @@ -140637,7 +180400,7 @@ ENCODING 19059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 52A0 @@ -140655,7 +180418,7 @@ ENCODING 19060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FAE0 57A0 @@ -140673,7 +180436,7 @@ ENCODING 19061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FAA0 5080 @@ -140691,7 +180454,7 @@ ENCODING 19062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 FAA0 53E0 @@ -140709,7 +180472,7 @@ ENCODING 19063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5240 @@ -140727,7 +180490,7 @@ ENCODING 19064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFE0 5240 @@ -140745,7 +180508,7 @@ ENCODING 19065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 F800 53C0 @@ -140763,7 +180526,7 @@ ENCODING 19066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FA40 5520 @@ -140781,7 +180544,7 @@ ENCODING 19067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FE80 53C0 @@ -140799,7 +180562,7 @@ ENCODING 19068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5040 FAC0 5120 @@ -140817,7 +180580,7 @@ ENCODING 19069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FC00 55C0 @@ -140835,7 +180598,7 @@ ENCODING 19070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5400 @@ -140853,7 +180616,7 @@ ENCODING 19071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5540 @@ -140871,7 +180634,7 @@ ENCODING 19072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5420 @@ -140889,7 +180652,7 @@ ENCODING 19073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 FAC0 57E0 @@ -140907,7 +180670,7 @@ ENCODING 19074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5280 @@ -140925,7 +180688,7 @@ ENCODING 19075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFC0 5040 @@ -140943,7 +180706,7 @@ ENCODING 19076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 FBE0 5140 @@ -140961,7 +180724,7 @@ ENCODING 19077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FD20 57E0 @@ -140979,7 +180742,7 @@ ENCODING 19078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 52A0 @@ -140997,7 +180760,7 @@ ENCODING 19079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFE0 5240 @@ -141015,7 +180778,7 @@ ENCODING 19080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5040 FAE0 56A0 @@ -141033,7 +180796,7 @@ ENCODING 19081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 FD40 52A0 @@ -141051,7 +180814,7 @@ ENCODING 19082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 54E0 FF80 52E0 @@ -141069,7 +180832,7 @@ ENCODING 19083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 56A0 @@ -141087,7 +180850,7 @@ ENCODING 19084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FC80 57E0 @@ -141105,7 +180868,7 @@ ENCODING 19085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 4EE0 @@ -141123,7 +180886,7 @@ ENCODING 19086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 54A0 FFE0 5240 @@ -141141,7 +180904,7 @@ ENCODING 19087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 2BE0 @@ -141159,7 +180922,7 @@ ENCODING 19088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F0A0 5220 @@ -141177,7 +180940,7 @@ ENCODING 19089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 2BE0 @@ -141195,7 +180958,7 @@ ENCODING 19090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 2BE0 @@ -141213,7 +180976,7 @@ ENCODING 19091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 48E0 @@ -141231,7 +180994,7 @@ ENCODING 19092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 78A0 4BE0 @@ -141249,7 +181012,7 @@ ENCODING 19093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7A00 4BE0 @@ -141267,7 +181030,7 @@ ENCODING 19094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79E0 2B20 @@ -141285,7 +181048,7 @@ ENCODING 19095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 F760 5520 @@ -141303,7 +181066,7 @@ ENCODING 19096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 2BE0 @@ -141321,7 +181084,7 @@ ENCODING 19097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 2880 @@ -141339,7 +181102,7 @@ ENCODING 19098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2BC0 @@ -141357,7 +181120,7 @@ ENCODING 19099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 2AA0 @@ -141375,7 +181138,7 @@ ENCODING 19100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 7BE0 2EA0 @@ -141393,25 +181156,25 @@ ENCODING 19101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -2140 -F360 -5140 -F940 -03E0 -7640 +BITMAP +2240 +F7E0 5240 -2000 -F9C0 -8080 -2140 +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 +BITMAP 1F00 0400 7FC0 @@ -141429,7 +181192,7 @@ ENCODING 19103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FA80 @@ -141447,7 +181210,7 @@ ENCODING 19104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 92A0 @@ -141465,7 +181228,7 @@ ENCODING 19105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F5E0 A2A0 @@ -141483,7 +181246,7 @@ ENCODING 19106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 35E0 E0A0 @@ -141501,7 +181264,7 @@ ENCODING 19107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FDE0 22A0 @@ -141519,7 +181282,7 @@ ENCODING 19108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5060 5F80 D540 @@ -141537,7 +181300,7 @@ ENCODING 19109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3A20 2140 @@ -141555,7 +181318,7 @@ ENCODING 19110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 4880 @@ -141573,7 +181336,7 @@ ENCODING 19111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 4A80 @@ -141591,7 +181354,7 @@ ENCODING 19112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 4BE0 @@ -141609,7 +181372,7 @@ ENCODING 19113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 5140 @@ -141627,7 +181390,7 @@ ENCODING 19114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FDE0 2520 @@ -141645,7 +181408,7 @@ ENCODING 19115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F940 52A0 @@ -141663,7 +181426,7 @@ ENCODING 19116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 5080 @@ -141681,7 +181444,7 @@ ENCODING 19117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 5240 @@ -141699,7 +181462,7 @@ ENCODING 19118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FBE0 9520 @@ -141717,7 +181480,7 @@ ENCODING 19119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 71C0 5140 @@ -141735,7 +181498,7 @@ ENCODING 19120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 9440 @@ -141753,7 +181516,7 @@ ENCODING 19121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0900 0BE0 @@ -141771,7 +181534,7 @@ ENCODING 19122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FD00 53E0 @@ -141789,7 +181552,7 @@ ENCODING 19123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2900 FFE0 @@ -141807,7 +181570,7 @@ ENCODING 19124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 ABC0 @@ -141825,7 +181588,7 @@ ENCODING 19125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5100 53E0 @@ -141843,7 +181606,7 @@ ENCODING 19126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 7880 4BE0 @@ -141861,7 +181624,7 @@ ENCODING 19127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7C80 45E0 @@ -141879,7 +181642,7 @@ ENCODING 19128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8880 8BE0 @@ -141897,7 +181660,7 @@ ENCODING 19129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 FBE0 2080 @@ -141915,7 +181678,7 @@ ENCODING 19130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2100 FBE0 @@ -141932,8 +181695,8 @@ STARTCHAR U_4ABB ENCODING 19131 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 47C0 5200 @@ -141951,7 +181714,7 @@ ENCODING 19132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A880 A900 @@ -141969,7 +181732,7 @@ ENCODING 19133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 7BE0 @@ -141987,7 +181750,7 @@ ENCODING 19134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 FAC0 @@ -142005,7 +181768,7 @@ ENCODING 19135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2080 FBE0 @@ -142023,7 +181786,7 @@ ENCODING 19136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8880 8BE0 @@ -142041,7 +181804,7 @@ ENCODING 19137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 4080 FBE0 @@ -142059,7 +181822,7 @@ ENCODING 19138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7880 93E0 @@ -142077,7 +181840,7 @@ ENCODING 19139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8080 F3E0 @@ -142095,7 +181858,7 @@ ENCODING 19140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BE0 5080 0100 @@ -142113,7 +181876,7 @@ ENCODING 19141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 8BE0 @@ -142131,7 +181894,7 @@ ENCODING 19142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 0A80 7DE0 @@ -142149,7 +181912,7 @@ ENCODING 19143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0900 F3E0 @@ -142167,7 +181930,7 @@ ENCODING 19144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A880 FBE0 @@ -142185,7 +181948,7 @@ ENCODING 19145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 A880 53E0 @@ -142203,7 +181966,7 @@ ENCODING 19146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1080 23E0 @@ -142221,7 +181984,7 @@ ENCODING 19147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 2100 FBC0 @@ -142239,7 +182002,7 @@ ENCODING 19148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 F900 ABE0 @@ -142257,7 +182020,7 @@ ENCODING 19149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2900 EFE0 @@ -142275,7 +182038,7 @@ ENCODING 19150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 B480 49E0 @@ -142293,7 +182056,7 @@ ENCODING 19151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 FD00 4BE0 @@ -142311,7 +182074,7 @@ ENCODING 19152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 4900 FFE0 @@ -142329,7 +182092,7 @@ ENCODING 19153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 23E0 @@ -142347,7 +182110,7 @@ ENCODING 19154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A100 FBE0 @@ -142365,7 +182128,7 @@ ENCODING 19155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2100 FBE0 @@ -142383,7 +182146,7 @@ ENCODING 19156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 FC80 55E0 @@ -142401,7 +182164,7 @@ ENCODING 19157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F900 53E0 @@ -142419,7 +182182,7 @@ ENCODING 19158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 FC80 49E0 @@ -142437,7 +182200,7 @@ ENCODING 19159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EDE0 A480 A7E0 @@ -142455,7 +182218,7 @@ ENCODING 19160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 79E0 @@ -142473,7 +182236,7 @@ ENCODING 19161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 23E0 @@ -142491,7 +182254,7 @@ ENCODING 19162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4480 75E0 @@ -142509,7 +182272,7 @@ ENCODING 19163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 3C80 45E0 @@ -142527,7 +182290,7 @@ ENCODING 19164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 A880 BBE0 @@ -142545,7 +182308,7 @@ ENCODING 19165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 E100 23E0 @@ -142563,7 +182326,7 @@ ENCODING 19166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BE0 5080 FBE0 @@ -142581,7 +182344,7 @@ ENCODING 19167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4900 7BE0 @@ -142599,7 +182362,7 @@ ENCODING 19168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 5080 ABE0 @@ -142617,7 +182380,7 @@ ENCODING 19169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 51E0 FC80 51E0 @@ -142635,7 +182398,7 @@ ENCODING 19170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9080 BFE0 @@ -142653,7 +182416,7 @@ ENCODING 19171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 C900 ABE0 @@ -142671,7 +182434,7 @@ ENCODING 19172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4240 BDE0 @@ -142689,25 +182452,25 @@ ENCODING 19173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -43E0 +BITMAP +47E0 F900 -ABE0 -FA20 -ABE0 -FA20 -2BE0 -4A20 -77E0 -6D40 -9A20 +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 +BITMAP 23E0 F900 23E0 @@ -142725,7 +182488,7 @@ ENCODING 19175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F900 8BE0 @@ -142743,25 +182506,25 @@ ENCODING 19176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -6820 -48E0 -EF40 -51E0 -EAE0 -4AA0 -E4E0 -4AA0 -7AE0 -9A40 -B1A0 +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 +BITMAP 23E0 7880 49E0 @@ -142779,7 +182542,7 @@ ENCODING 19178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FE80 11E0 @@ -142797,7 +182560,7 @@ ENCODING 19179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 ABC0 @@ -142815,7 +182578,7 @@ ENCODING 19180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 A880 FFE0 @@ -142833,7 +182596,7 @@ ENCODING 19181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7C80 55E0 @@ -142851,7 +182614,7 @@ ENCODING 19182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 0880 FFE0 @@ -142869,7 +182632,7 @@ ENCODING 19183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 2F40 F4E0 @@ -142887,7 +182650,7 @@ ENCODING 19184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 4540 FFE0 @@ -142905,7 +182668,7 @@ ENCODING 19185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 2040 FEE0 @@ -142923,7 +182686,7 @@ ENCODING 19186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15E0 7E80 51E0 @@ -142941,7 +182704,7 @@ ENCODING 19187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AA80 FFE0 @@ -142959,7 +182722,7 @@ ENCODING 19188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 FE80 75E0 @@ -142977,7 +182740,7 @@ ENCODING 19189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 A5E0 @@ -142995,7 +182758,7 @@ ENCODING 19190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42E0 EF40 52E0 @@ -143013,7 +182776,7 @@ ENCODING 19191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2080 F9E0 @@ -143031,7 +182794,7 @@ ENCODING 19192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 42A0 @@ -143049,7 +182812,7 @@ ENCODING 19193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 47E0 7C80 @@ -143067,7 +182830,7 @@ ENCODING 19194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -143085,7 +182848,7 @@ ENCODING 19195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 45C0 7D40 @@ -143103,7 +182866,7 @@ ENCODING 19196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4D00 77C0 @@ -143121,7 +182884,7 @@ ENCODING 19197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 45E0 7C80 @@ -143139,7 +182902,7 @@ ENCODING 19198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4440 7D20 @@ -143157,7 +182920,7 @@ ENCODING 19199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 47E0 7CA0 @@ -143175,7 +182938,7 @@ ENCODING 19200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 8AE0 FDA0 @@ -143193,7 +182956,7 @@ ENCODING 19201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4440 7DE0 @@ -143211,7 +182974,7 @@ ENCODING 19202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 8BE0 FA80 @@ -143229,7 +182992,7 @@ ENCODING 19203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 4480 7FE0 @@ -143247,7 +183010,7 @@ ENCODING 19204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 8BE0 FA80 @@ -143265,7 +183028,7 @@ ENCODING 19205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FC0 F940 @@ -143283,7 +183046,7 @@ ENCODING 19206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 8E20 FAA0 @@ -143301,7 +183064,7 @@ ENCODING 19207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 6440 F7C0 @@ -143319,7 +183082,7 @@ ENCODING 19208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 8A20 FFE0 @@ -143337,7 +183100,7 @@ ENCODING 19209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 89C0 F880 @@ -143355,7 +183118,7 @@ ENCODING 19210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8FE0 F880 @@ -143373,7 +183136,7 @@ ENCODING 19211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 45C0 7C80 @@ -143391,7 +183154,7 @@ ENCODING 19212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7E20 53E0 @@ -143409,7 +183172,7 @@ ENCODING 19213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8FE0 FAA0 @@ -143427,7 +183190,7 @@ ENCODING 19214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 8FE0 F880 @@ -143445,7 +183208,7 @@ ENCODING 19215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -143463,7 +183226,7 @@ ENCODING 19216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4480 7FE0 @@ -143481,7 +183244,7 @@ ENCODING 19217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8AA0 FBE0 @@ -143499,7 +183262,7 @@ ENCODING 19218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FE0 FAA0 @@ -143517,7 +183280,7 @@ ENCODING 19219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 8880 FBE0 @@ -143535,7 +183298,7 @@ ENCODING 19220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8940 FBE0 @@ -143553,7 +183316,7 @@ ENCODING 19221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -143571,7 +183334,7 @@ ENCODING 19222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BE0 FAA0 @@ -143589,7 +183352,7 @@ ENCODING 19223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 7BE0 @@ -143607,7 +183370,7 @@ ENCODING 19224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8FE0 F940 @@ -143625,7 +183388,7 @@ ENCODING 19225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 8E40 FB80 @@ -143643,7 +183406,7 @@ ENCODING 19226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 9A80 EBC0 @@ -143661,7 +183424,7 @@ ENCODING 19227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8AA0 FBE0 @@ -143679,7 +183442,7 @@ ENCODING 19228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BE0 F940 @@ -143697,7 +183460,7 @@ ENCODING 19229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 8BE0 F940 @@ -143715,7 +183478,7 @@ ENCODING 19230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8FE0 F880 @@ -143733,7 +183496,7 @@ ENCODING 19231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDA0 89A0 FEA0 @@ -143751,7 +183514,7 @@ ENCODING 19232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFE0 @@ -143769,7 +183532,7 @@ ENCODING 19233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0500 @@ -143787,7 +183550,7 @@ ENCODING 19234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4920 @@ -143805,7 +183568,7 @@ ENCODING 19235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 EC00 @@ -143822,8 +183585,8 @@ STARTCHAR U_4B24 ENCODING 19236 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 4040 7FC0 @@ -143841,7 +183604,7 @@ ENCODING 19237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 0100 @@ -143859,7 +183622,7 @@ ENCODING 19238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33C0 4A40 A640 @@ -143877,7 +183640,7 @@ ENCODING 19239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37C0 4800 @@ -143895,7 +183658,7 @@ ENCODING 19240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4FE0 @@ -143913,7 +183676,7 @@ ENCODING 19241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0C00 3580 @@ -143931,7 +183694,7 @@ ENCODING 19242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4880 @@ -143949,7 +183712,7 @@ ENCODING 19243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4A80 @@ -143967,7 +183730,7 @@ ENCODING 19244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 AFC0 @@ -143985,7 +183748,7 @@ ENCODING 19245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4920 7920 @@ -144003,7 +183766,7 @@ ENCODING 19246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 5440 AC40 @@ -144021,7 +183784,7 @@ ENCODING 19247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 48E0 @@ -144039,7 +183802,7 @@ ENCODING 19248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 48A0 A4A0 @@ -144057,7 +183820,7 @@ ENCODING 19249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 5100 @@ -144075,7 +183838,7 @@ ENCODING 19250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3200 4FE0 @@ -144093,7 +183856,7 @@ ENCODING 19251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 32A0 49C0 @@ -144110,8 +183873,8 @@ STARTCHAR U_4B34 ENCODING 19252 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 8000 47E0 3100 @@ -144122,14 +183885,13 @@ BITMAP 0100 F100 06E0 -0000 ENDCHAR STARTCHAR U_4B35 ENCODING 19253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 6FE0 @@ -144147,7 +183909,7 @@ ENCODING 19254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 AFC0 @@ -144165,7 +183927,7 @@ ENCODING 19255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 31E0 6A40 @@ -144183,7 +183945,7 @@ ENCODING 19256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2140 5180 @@ -144201,7 +183963,7 @@ ENCODING 19257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BE0 6480 @@ -144219,7 +183981,7 @@ ENCODING 19258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 AFE0 @@ -144237,7 +183999,7 @@ ENCODING 19259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3120 4FE0 @@ -144255,7 +184017,7 @@ ENCODING 19260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2A20 57E0 @@ -144273,7 +184035,7 @@ ENCODING 19261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5440 E820 @@ -144291,7 +184053,7 @@ ENCODING 19262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 AFE0 @@ -144309,7 +184071,7 @@ ENCODING 19263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3220 6BE0 @@ -144327,7 +184089,7 @@ ENCODING 19264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53C0 A940 @@ -144345,7 +184107,7 @@ ENCODING 19265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA00 23E0 @@ -144363,7 +184125,7 @@ ENCODING 19266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 2A40 67C0 @@ -144381,7 +184143,7 @@ ENCODING 19267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5280 AE60 @@ -144399,7 +184161,7 @@ ENCODING 19268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 A540 @@ -144417,7 +184179,7 @@ ENCODING 19269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7520 AFE0 @@ -144435,7 +184197,7 @@ ENCODING 19270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 9080 E940 @@ -144453,25 +184215,25 @@ ENCODING 19271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 57E0 -A820 -7920 -4FE0 -7920 -4FE0 -7AA0 -43A0 -5020 -69C0 +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 +BITMAP 2080 51E0 AEA0 @@ -144489,7 +184251,7 @@ ENCODING 19273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 57E0 AA00 @@ -144507,7 +184269,7 @@ ENCODING 19274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6280 5FE0 AA80 @@ -144525,7 +184287,7 @@ ENCODING 19275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 55E0 AD20 @@ -144543,7 +184305,7 @@ ENCODING 19276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 23C0 @@ -144561,7 +184323,7 @@ ENCODING 19277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 A900 @@ -144579,7 +184341,7 @@ ENCODING 19278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 57E0 AD40 @@ -144597,7 +184359,7 @@ ENCODING 19279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 6FE0 9820 @@ -144615,7 +184377,7 @@ ENCODING 19280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 AFE0 @@ -144633,7 +184395,7 @@ ENCODING 19281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3280 4FE0 @@ -144651,7 +184413,7 @@ ENCODING 19282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5200 EBE0 @@ -144669,7 +184431,7 @@ ENCODING 19283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 77C0 E800 @@ -144687,7 +184449,7 @@ ENCODING 19284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 6900 D5C0 @@ -144705,7 +184467,7 @@ ENCODING 19285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 AA00 FBE0 @@ -144723,7 +184485,7 @@ ENCODING 19286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 4A40 @@ -144741,7 +184503,7 @@ ENCODING 19287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 33E0 4940 @@ -144759,7 +184521,7 @@ ENCODING 19288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5340 BAC0 @@ -144777,7 +184539,7 @@ ENCODING 19289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 56C0 AB40 @@ -144795,7 +184557,7 @@ ENCODING 19290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 EA80 @@ -144813,7 +184575,7 @@ ENCODING 19291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 57C0 8A60 @@ -144831,7 +184593,7 @@ ENCODING 19292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 BFE0 D540 @@ -144849,7 +184611,7 @@ ENCODING 19293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2880 5540 @@ -144867,7 +184629,7 @@ ENCODING 19294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 6AA0 9FE0 @@ -144885,7 +184647,7 @@ ENCODING 19295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3140 2B60 7EA0 @@ -144903,7 +184665,7 @@ ENCODING 19296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 4A80 @@ -144921,7 +184683,7 @@ ENCODING 19297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 52A0 AFE0 @@ -144939,7 +184701,7 @@ ENCODING 19298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 A920 @@ -144957,7 +184719,7 @@ ENCODING 19299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 A940 @@ -144975,7 +184737,7 @@ ENCODING 19300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 53E0 AAA0 @@ -144993,7 +184755,7 @@ ENCODING 19301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 A900 @@ -145011,7 +184773,7 @@ ENCODING 19302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 AAC0 @@ -145029,7 +184791,7 @@ ENCODING 19303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 5A40 @@ -145047,7 +184809,7 @@ ENCODING 19304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 AFE0 5280 @@ -145065,7 +184827,7 @@ ENCODING 19305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 4A40 @@ -145083,7 +184845,7 @@ ENCODING 19306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 4240 7BC0 @@ -145101,7 +184863,7 @@ ENCODING 19307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 F280 8FE0 @@ -145118,26 +184880,26 @@ STARTCHAR U_4B6C ENCODING 19308 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -42A0 -4540 -7AA0 -47E0 -7900 -03E0 -7AA0 -4B60 -7AA0 -4B20 -7BE0 +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 +BITMAP 4BE0 FD00 23E0 @@ -145155,7 +184917,7 @@ ENCODING 19310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 49A0 5040 @@ -145173,7 +184935,7 @@ ENCODING 19311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 2080 FAA0 @@ -145191,7 +184953,7 @@ ENCODING 19312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 27E0 F900 @@ -145209,7 +184971,7 @@ ENCODING 19313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 74A0 22A0 FAC0 @@ -145227,7 +184989,7 @@ ENCODING 19314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 27E0 F980 @@ -145245,7 +185007,7 @@ ENCODING 19315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 23E0 FAA0 @@ -145263,7 +185025,7 @@ ENCODING 19316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4400 7FC0 @@ -145281,7 +185043,7 @@ ENCODING 19317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 A240 F240 @@ -145299,7 +185061,7 @@ ENCODING 19318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 A7E0 F140 @@ -145317,7 +185079,7 @@ ENCODING 19319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1C0 A700 F100 @@ -145335,7 +185097,7 @@ ENCODING 19320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 A220 F420 @@ -145353,7 +185115,7 @@ ENCODING 19321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A6E0 F4A0 @@ -145371,7 +185133,7 @@ ENCODING 19322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 A100 F7E0 @@ -145389,7 +185151,7 @@ ENCODING 19323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 A240 F240 @@ -145407,7 +185169,7 @@ ENCODING 19324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 5000 7800 @@ -145425,7 +185187,7 @@ ENCODING 19325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5280 7BE0 @@ -145443,7 +185205,7 @@ ENCODING 19326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5140 7920 @@ -145461,7 +185223,7 @@ ENCODING 19327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A280 FBE0 @@ -145479,7 +185241,7 @@ ENCODING 19328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A3E0 FA20 @@ -145497,7 +185259,7 @@ ENCODING 19329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A240 F7E0 @@ -145515,25 +185277,25 @@ ENCODING 19330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 A120 F7E0 A100 -F240 -A340 -FB40 -0C80 -FC80 +F900 +A1E0 +FA20 +0B40 +AC80 8940 -3220 +3620 ENDCHAR STARTCHAR U_4B83 ENCODING 19331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A100 F7C0 @@ -145551,7 +185313,7 @@ ENCODING 19332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A080 F7E0 @@ -145569,25 +185331,25 @@ ENCODING 19333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 A080 F3E0 A280 F280 A2A0 -FAC0 -0A80 -AAA0 -8B60 -3420 +FAA0 +0AA0 +AB40 +8AA0 +3120 ENDCHAR STARTCHAR U_4B86 ENCODING 19334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A080 F9C0 @@ -145605,7 +185367,7 @@ ENCODING 19335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A3E0 F8A0 @@ -145623,7 +185385,7 @@ ENCODING 19336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A0E0 F920 @@ -145641,7 +185403,7 @@ ENCODING 19337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 F440 @@ -145659,7 +185421,7 @@ ENCODING 19338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7880 @@ -145677,7 +185439,7 @@ ENCODING 19339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 7BA0 5120 @@ -145695,7 +185457,7 @@ ENCODING 19340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 A480 F7E0 @@ -145712,8 +185474,8 @@ STARTCHAR U_4B8D ENCODING 19341 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 3F80 2400 3F00 @@ -145730,8 +185492,8 @@ STARTCHAR U_4B8E ENCODING 19342 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F6C0 A380 F6C0 @@ -145749,7 +185511,7 @@ ENCODING 19343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5100 7900 @@ -145767,7 +185529,7 @@ ENCODING 19344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A2A0 F360 @@ -145785,7 +185547,7 @@ ENCODING 19345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A2A0 F140 @@ -145803,7 +185565,7 @@ ENCODING 19346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78A0 53E0 7880 @@ -145820,8 +185582,8 @@ STARTCHAR U_4B93 ENCODING 19347 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F100 A1C0 F100 @@ -145839,7 +185601,7 @@ ENCODING 19348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8E0 A780 F080 @@ -145857,7 +185619,7 @@ ENCODING 19349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A120 F5A0 @@ -145875,7 +185637,7 @@ ENCODING 19350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 A240 F3C0 @@ -145893,7 +185655,7 @@ ENCODING 19351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A2A0 F3E0 @@ -145911,7 +185673,7 @@ ENCODING 19352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A6C0 F440 @@ -145929,7 +185691,7 @@ ENCODING 19353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 A080 F7E0 @@ -145947,7 +185709,7 @@ ENCODING 19354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A3C0 F100 @@ -145965,7 +185727,7 @@ ENCODING 19355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEA0 AAA0 FAA0 @@ -145983,7 +185745,7 @@ ENCODING 19356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 AFE0 F540 @@ -146001,7 +185763,7 @@ ENCODING 19357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A920 F7C0 @@ -146019,7 +185781,7 @@ ENCODING 19358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A7C0 F280 @@ -146037,7 +185799,7 @@ ENCODING 19359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 FDA0 @@ -146055,7 +185817,7 @@ ENCODING 19360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A000 FBE0 @@ -146073,7 +185835,7 @@ ENCODING 19361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 F640 @@ -146091,7 +185853,7 @@ ENCODING 19362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78E0 5380 7880 @@ -146109,7 +185871,7 @@ ENCODING 19363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 A140 F080 @@ -146127,7 +185889,7 @@ ENCODING 19364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 F520 @@ -146145,7 +185907,7 @@ ENCODING 19365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A000 F3C0 @@ -146163,7 +185925,7 @@ ENCODING 19366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A3E0 F940 @@ -146181,25 +185943,25 @@ ENCODING 19367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -4100 -E380 -4C60 -E780 -A700 -E580 -A7E0 -E020 -5560 -E020 -4060 +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 +BITMAP F900 A7E0 F920 @@ -146217,7 +185979,7 @@ ENCODING 19369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 A240 F2C0 @@ -146235,7 +185997,7 @@ ENCODING 19370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 53E0 7D40 @@ -146253,7 +186015,7 @@ ENCODING 19371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A3E0 F6A0 @@ -146271,7 +186033,7 @@ ENCODING 19372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 A7E0 F240 @@ -146289,7 +186051,7 @@ ENCODING 19373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 A6A0 F2C0 @@ -146307,7 +186069,7 @@ ENCODING 19374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 FD40 @@ -146325,7 +186087,7 @@ ENCODING 19375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 A7E0 F2A0 @@ -146343,7 +186105,7 @@ ENCODING 19376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A3E0 F140 @@ -146361,7 +186123,7 @@ ENCODING 19377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 ABE0 F480 @@ -146379,9 +186141,9 @@ ENCODING 19378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 -A3E0 +A7E0 F140 A7E0 F1C0 @@ -146390,14 +186152,14 @@ FBE0 0AA0 ABE0 8940 -3360 +3220 ENDCHAR STARTCHAR U_4BB3 ENCODING 19379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1E0 AF00 E540 @@ -146415,7 +186177,7 @@ ENCODING 19380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F740 A2A0 F640 @@ -146433,7 +186195,7 @@ ENCODING 19381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A7E0 F220 @@ -146451,7 +186213,7 @@ ENCODING 19382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 A3E0 F480 @@ -146469,7 +186231,7 @@ ENCODING 19383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A6A0 F7E0 @@ -146487,7 +186249,7 @@ ENCODING 19384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -146505,7 +186267,7 @@ ENCODING 19385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F2C0 A280 F7E0 @@ -146523,7 +186285,7 @@ ENCODING 19386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A7C0 F2A0 @@ -146541,7 +186303,7 @@ ENCODING 19387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 A7C0 A000 @@ -146559,7 +186321,7 @@ ENCODING 19388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 A540 F100 @@ -146577,7 +186339,7 @@ ENCODING 19389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 A7E0 F540 @@ -146595,7 +186357,7 @@ ENCODING 19390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 DFE0 EA80 @@ -146613,7 +186375,7 @@ ENCODING 19391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 FAA0 @@ -146631,7 +186393,7 @@ ENCODING 19392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A2C0 F340 @@ -146649,7 +186411,7 @@ ENCODING 19393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 F400 @@ -146667,7 +186429,7 @@ ENCODING 19394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2A00 1F80 @@ -146685,7 +186447,7 @@ ENCODING 19395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1080 57E0 @@ -146703,7 +186465,7 @@ ENCODING 19396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1240 5240 @@ -146721,7 +186483,7 @@ ENCODING 19397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 5240 53C0 @@ -146739,7 +186501,7 @@ ENCODING 19398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 6900 @@ -146757,7 +186519,7 @@ ENCODING 19399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 5900 @@ -146775,7 +186537,7 @@ ENCODING 19400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 4800 6BE0 @@ -146793,7 +186555,7 @@ ENCODING 19401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6880 59E0 @@ -146811,7 +186573,7 @@ ENCODING 19402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 6BE0 5840 @@ -146829,7 +186591,7 @@ ENCODING 19403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4920 6BE0 @@ -146847,7 +186609,7 @@ ENCODING 19404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -146865,7 +186627,7 @@ ENCODING 19405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 FA80 @@ -146883,7 +186645,7 @@ ENCODING 19406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B80 4940 4940 @@ -146900,9 +186662,8 @@ STARTCHAR U_4BCF ENCODING 19407 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP 7840 4880 6980 @@ -146919,7 +186680,7 @@ ENCODING 19408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6880 5BE0 @@ -146937,7 +186698,7 @@ ENCODING 19409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 68A0 5AA0 @@ -146955,7 +186716,7 @@ ENCODING 19410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 6AE0 5A00 @@ -146973,7 +186734,7 @@ ENCODING 19411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6880 5BE0 @@ -146991,7 +186752,7 @@ ENCODING 19412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 6BE0 @@ -147009,7 +186770,7 @@ ENCODING 19413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7820 6B40 59C0 @@ -147027,7 +186788,7 @@ ENCODING 19414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 6A40 @@ -147045,7 +186806,7 @@ ENCODING 19415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4B60 6A40 @@ -147063,7 +186824,7 @@ ENCODING 19416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 5220 @@ -147081,7 +186842,7 @@ ENCODING 19417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 48A0 6BE0 @@ -147099,7 +186860,7 @@ ENCODING 19418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6920 5BC0 @@ -147117,7 +186878,7 @@ ENCODING 19419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6BE0 5A20 @@ -147135,7 +186896,7 @@ ENCODING 19420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 6BC0 @@ -147153,7 +186914,7 @@ ENCODING 19421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6880 @@ -147171,7 +186932,7 @@ ENCODING 19422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 7340 @@ -147189,7 +186950,7 @@ ENCODING 19423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 6FE0 5900 @@ -147207,7 +186968,7 @@ ENCODING 19424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7380 5280 7380 @@ -147225,7 +186986,7 @@ ENCODING 19425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5FE0 7280 @@ -147243,7 +187004,7 @@ ENCODING 19426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -147261,7 +187022,7 @@ ENCODING 19427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5540 @@ -147279,7 +187040,7 @@ ENCODING 19428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 6980 5A40 @@ -147297,7 +187058,7 @@ ENCODING 19429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 6A20 5BE0 @@ -147315,7 +187076,7 @@ ENCODING 19430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 6B60 5940 @@ -147332,26 +187093,26 @@ STARTCHAR U_4BE7 ENCODING 19431 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 1 -1 +BITMAP +1000 0800 -0400 -7FC0 -1100 -7FC0 -4040 -3F80 -2A80 -2E80 -2080 -2180 +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 +BITMAP 0400 7FC0 1100 @@ -147368,8 +187129,8 @@ STARTCHAR U_4BE9 ENCODING 19433 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 0400 7FC0 @@ -147387,7 +187148,7 @@ ENCODING 19434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 53E0 @@ -147405,7 +187166,7 @@ ENCODING 19435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 57E0 7240 @@ -147423,7 +187184,7 @@ ENCODING 19436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 52A0 @@ -147441,7 +187202,7 @@ ENCODING 19437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 4380 7860 @@ -147459,7 +187220,7 @@ ENCODING 19438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4380 7860 @@ -147476,26 +187237,26 @@ STARTCHAR U_4BEF ENCODING 19439 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3C80 -2140 -38A0 -2140 -7C80 -1100 +BBX 10 11 1 -1 +BITMAP +7900 +4280 +7140 +4280 +F900 +2200 +7000 +0400 +2680 +0400 3800 -0200 -1340 -0200 -1C00 ENDCHAR STARTCHAR U_4BF0 ENCODING 19440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4380 7C60 @@ -147513,7 +187274,7 @@ ENCODING 19441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 4300 F860 @@ -147531,7 +187292,7 @@ ENCODING 19442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4040 FD80 @@ -147548,26 +187309,26 @@ STARTCHAR U_4BF3 ENCODING 19443 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3C80 -2100 -3880 -2140 -7C80 -2900 -7C00 -1100 -64C0 -0A00 -1F00 +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 +BITMAP 7C60 4180 FC60 @@ -147585,7 +187346,7 @@ ENCODING 19445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -147603,7 +187364,7 @@ ENCODING 19446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -147621,7 +187382,7 @@ ENCODING 19447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4380 F860 @@ -147639,7 +187400,7 @@ ENCODING 19448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 5180 6040 @@ -147657,7 +187418,7 @@ ENCODING 19449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 5020 FBC0 @@ -147675,7 +187436,7 @@ ENCODING 19450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147693,7 +187454,7 @@ ENCODING 19451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 51A0 6040 @@ -147711,7 +187472,7 @@ ENCODING 19452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5140 4AA0 @@ -147729,7 +187490,7 @@ ENCODING 19453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147747,7 +187508,7 @@ ENCODING 19454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 5180 6860 @@ -147765,7 +187526,7 @@ ENCODING 19455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4380 7C60 @@ -147783,7 +187544,7 @@ ENCODING 19456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5140 FE80 @@ -147801,7 +187562,7 @@ ENCODING 19457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147819,7 +187580,7 @@ ENCODING 19458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147837,7 +187598,7 @@ ENCODING 19459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147855,7 +187616,7 @@ ENCODING 19460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4040 FD80 @@ -147873,7 +187634,7 @@ ENCODING 19461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147891,7 +187652,7 @@ ENCODING 19462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147909,7 +187670,7 @@ ENCODING 19463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 F980 @@ -147927,7 +187688,7 @@ ENCODING 19464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C20 20C0 3B20 @@ -147945,7 +187706,7 @@ ENCODING 19465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147963,7 +187724,7 @@ ENCODING 19466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147981,7 +187742,7 @@ ENCODING 19467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -147999,7 +187760,7 @@ ENCODING 19468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -148017,7 +187778,7 @@ ENCODING 19469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7140 42A0 F940 @@ -148035,7 +187796,7 @@ ENCODING 19470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5320 FC40 @@ -148053,7 +187814,7 @@ ENCODING 19471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 4060 FD80 @@ -148071,7 +187832,7 @@ ENCODING 19472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5300 F8C0 @@ -148089,7 +187850,7 @@ ENCODING 19473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5360 FDA0 @@ -148107,7 +187868,7 @@ ENCODING 19474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5180 FC60 @@ -148125,7 +187886,7 @@ ENCODING 19475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5180 FC60 @@ -148143,7 +187904,7 @@ ENCODING 19476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5180 FC60 @@ -148161,7 +187922,7 @@ ENCODING 19477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 51A0 FC40 @@ -148179,7 +187940,7 @@ ENCODING 19478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CE0 5100 FEE0 @@ -148197,7 +187958,7 @@ ENCODING 19479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A0A0 FFE0 @@ -148215,7 +187976,7 @@ ENCODING 19480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A0A0 FBE0 @@ -148233,7 +187994,7 @@ ENCODING 19481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 0040 7DE0 @@ -148251,7 +188012,7 @@ ENCODING 19482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 0080 7BE0 @@ -148269,7 +188030,7 @@ ENCODING 19483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0100 7900 @@ -148287,7 +188048,7 @@ ENCODING 19484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DF60 4020 5F20 @@ -148305,7 +188066,7 @@ ENCODING 19485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 0140 7BE0 @@ -148323,7 +188084,7 @@ ENCODING 19486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2520 FFE0 @@ -148341,7 +188102,7 @@ ENCODING 19487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 FFE0 @@ -148359,7 +188120,7 @@ ENCODING 19488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F880 ABE0 @@ -148377,7 +188138,7 @@ ENCODING 19489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 FA80 ABE0 @@ -148395,7 +188156,7 @@ ENCODING 19490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FAE0 AD00 @@ -148413,7 +188174,7 @@ ENCODING 19491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 FA20 AB60 @@ -148431,7 +188192,7 @@ ENCODING 19492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 22A0 @@ -148449,7 +188210,7 @@ ENCODING 19493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 4A40 @@ -148467,7 +188228,7 @@ ENCODING 19494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 AAA0 @@ -148485,7 +188246,7 @@ ENCODING 19495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 4080 FBE0 @@ -148503,7 +188264,7 @@ ENCODING 19496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 FAA0 ABE0 @@ -148521,7 +188282,7 @@ ENCODING 19497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2AA0 @@ -148539,7 +188300,7 @@ ENCODING 19498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 77C0 AD40 @@ -148557,7 +188318,7 @@ ENCODING 19499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 FBC0 A880 @@ -148575,7 +188336,7 @@ ENCODING 19500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 F840 AFE0 @@ -148593,7 +188354,7 @@ ENCODING 19501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 23E0 FAA0 @@ -148611,7 +188372,7 @@ ENCODING 19502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 FBE0 A880 @@ -148629,7 +188390,7 @@ ENCODING 19503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 4420 FF40 @@ -148647,7 +188408,7 @@ ENCODING 19504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 13E0 FEA0 @@ -148665,7 +188426,7 @@ ENCODING 19505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27C0 FD40 @@ -148683,7 +188444,7 @@ ENCODING 19506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 9200 @@ -148701,7 +188462,7 @@ ENCODING 19507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9080 @@ -148719,7 +188480,7 @@ ENCODING 19508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 93E0 @@ -148737,7 +188498,7 @@ ENCODING 19509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7BE0 9020 @@ -148755,7 +188516,7 @@ ENCODING 19510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7900 9080 @@ -148773,7 +188534,7 @@ ENCODING 19511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 3C80 CBE0 @@ -148791,7 +188552,7 @@ ENCODING 19512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7940 9140 @@ -148809,7 +188570,7 @@ ENCODING 19513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 78A0 9080 @@ -148827,7 +188588,7 @@ ENCODING 19514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 7B80 9200 @@ -148845,7 +188606,7 @@ ENCODING 19515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 91E0 @@ -148863,7 +188624,7 @@ ENCODING 19516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9280 @@ -148881,7 +188642,7 @@ ENCODING 19517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -148899,7 +188660,7 @@ ENCODING 19518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 92A0 @@ -148917,7 +188678,7 @@ ENCODING 19519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 93E0 @@ -148935,7 +188696,7 @@ ENCODING 19520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 97C0 @@ -148953,7 +188714,7 @@ ENCODING 19521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 8BE0 @@ -148971,7 +188732,7 @@ ENCODING 19522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 9280 @@ -148989,7 +188750,7 @@ ENCODING 19523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 9280 @@ -149007,7 +188768,7 @@ ENCODING 19524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7B80 96A0 @@ -149025,7 +188786,7 @@ ENCODING 19525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -149043,7 +188804,7 @@ ENCODING 19526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A80 9260 @@ -149061,7 +188822,7 @@ ENCODING 19527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 53C0 2240 @@ -149079,7 +188840,7 @@ ENCODING 19528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 79C0 9000 @@ -149097,7 +188858,7 @@ ENCODING 19529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 9240 @@ -149115,7 +188876,7 @@ ENCODING 19530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7AA0 49C0 @@ -149133,7 +188894,7 @@ ENCODING 19531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7940 4940 @@ -149151,7 +188912,7 @@ ENCODING 19532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A40 9240 @@ -149169,7 +188930,7 @@ ENCODING 19533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7900 9100 @@ -149187,7 +188948,7 @@ ENCODING 19534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9000 @@ -149205,7 +188966,7 @@ ENCODING 19535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7800 93C0 @@ -149223,7 +188984,7 @@ ENCODING 19536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 7B00 92A0 @@ -149241,7 +189002,7 @@ ENCODING 19537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7AC0 9780 @@ -149259,7 +189020,7 @@ ENCODING 19538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A20 93E0 @@ -149277,7 +189038,7 @@ ENCODING 19539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 77C0 9140 @@ -149295,7 +189056,7 @@ ENCODING 19540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7940 92E0 @@ -149313,7 +189074,7 @@ ENCODING 19541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 73E0 9400 @@ -149331,7 +189092,7 @@ ENCODING 19542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 9280 @@ -149349,7 +189110,7 @@ ENCODING 19543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 2140 7940 @@ -149366,8 +189127,8 @@ STARTCHAR U_4C58 ENCODING 19544 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7040 2140 F940 @@ -149385,7 +189146,7 @@ ENCODING 19545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7B00 92E0 @@ -149403,7 +189164,7 @@ ENCODING 19546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79C0 9240 @@ -149421,7 +189182,7 @@ ENCODING 19547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 78A0 97E0 @@ -149439,7 +189200,7 @@ ENCODING 19548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7BE0 9140 @@ -149457,7 +189218,7 @@ ENCODING 19549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 73E0 92A0 @@ -149475,7 +189236,7 @@ ENCODING 19550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 77E0 9140 @@ -149493,7 +189254,7 @@ ENCODING 19551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 73E0 A220 @@ -149511,7 +189272,7 @@ ENCODING 19552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7240 97E0 @@ -149529,7 +189290,7 @@ ENCODING 19553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 73E0 A520 @@ -149547,7 +189308,7 @@ ENCODING 19554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BC0 9480 @@ -149565,7 +189326,7 @@ ENCODING 19555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9000 @@ -149583,7 +189344,7 @@ ENCODING 19556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9120 @@ -149601,7 +189362,7 @@ ENCODING 19557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4820 7EA0 88A0 @@ -149619,7 +189380,7 @@ ENCODING 19558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3A80 5280 @@ -149637,7 +189398,7 @@ ENCODING 19559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7880 93E0 @@ -149655,7 +189416,7 @@ ENCODING 19560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 6FA0 9220 @@ -149673,7 +189434,7 @@ ENCODING 19561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 73E0 9360 @@ -149691,7 +189452,7 @@ ENCODING 19562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 73C0 9100 @@ -149709,7 +189470,7 @@ ENCODING 19563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 FE40 1140 @@ -149727,7 +189488,7 @@ ENCODING 19564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 78A0 92C0 @@ -149745,7 +189506,7 @@ ENCODING 19565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9240 @@ -149763,7 +189524,7 @@ ENCODING 19566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 77E0 92A0 @@ -149781,7 +189542,7 @@ ENCODING 19567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 13E0 FD40 @@ -149799,7 +189560,7 @@ ENCODING 19568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7880 97E0 @@ -149817,7 +189578,7 @@ ENCODING 19569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 93E0 @@ -149835,7 +189596,7 @@ ENCODING 19570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 7A40 9380 @@ -149853,7 +189614,7 @@ ENCODING 19571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7800 8BE0 @@ -149871,7 +189632,7 @@ ENCODING 19572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 7A00 92E0 @@ -149889,7 +189650,7 @@ ENCODING 19573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7A40 9520 @@ -149907,7 +189668,7 @@ ENCODING 19574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 64E0 AEA0 @@ -149925,7 +189686,7 @@ ENCODING 19575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 1100 7F00 @@ -149943,7 +189704,7 @@ ENCODING 19576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 7AA0 93E0 @@ -149961,7 +189722,7 @@ ENCODING 19577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7BE0 9080 @@ -149979,7 +189740,7 @@ ENCODING 19578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7AA0 93E0 @@ -149997,7 +189758,7 @@ ENCODING 19579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7B40 92C0 @@ -150015,7 +189776,7 @@ ENCODING 19580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7820 AFE0 @@ -150033,7 +189794,7 @@ ENCODING 19581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7140 A3E0 @@ -150051,7 +189812,7 @@ ENCODING 19582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 92A0 @@ -150069,7 +189830,7 @@ ENCODING 19583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7760 9280 @@ -150087,7 +189848,7 @@ ENCODING 19584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 27C0 F940 @@ -150105,7 +189866,7 @@ ENCODING 19585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F20 7920 8F20 @@ -150123,7 +189884,7 @@ ENCODING 19586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 75E0 AE00 @@ -150141,7 +189902,7 @@ ENCODING 19587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7D40 92A0 @@ -150159,7 +189920,7 @@ ENCODING 19588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 7680 98E0 @@ -150177,7 +189938,7 @@ ENCODING 19589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7AE0 97A0 @@ -150195,7 +189956,7 @@ ENCODING 19590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9240 @@ -150213,7 +189974,7 @@ ENCODING 19591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 73E0 9480 @@ -150231,7 +189992,7 @@ ENCODING 19592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 9000 @@ -150249,7 +190010,7 @@ ENCODING 19593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A20 6AC0 AF80 @@ -150267,7 +190028,7 @@ ENCODING 19594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 6BE0 AA80 @@ -150285,7 +190046,7 @@ ENCODING 19595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 9240 @@ -150303,7 +190064,7 @@ ENCODING 19596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7780 92E0 @@ -150321,7 +190082,7 @@ ENCODING 19597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 77E0 5100 @@ -150339,7 +190100,7 @@ ENCODING 19598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 7480 AEE0 @@ -150357,7 +190118,7 @@ ENCODING 19599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 9240 @@ -150375,7 +190136,7 @@ ENCODING 19600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 7880 93E0 @@ -150393,7 +190154,7 @@ ENCODING 19601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 A100 @@ -150411,7 +190172,7 @@ ENCODING 19602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 7EA0 92A0 @@ -150429,7 +190190,7 @@ ENCODING 19603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7A80 9440 @@ -150447,7 +190208,7 @@ ENCODING 19604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7AA0 93E0 @@ -150465,7 +190226,7 @@ ENCODING 19605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 93E0 @@ -150483,7 +190244,7 @@ ENCODING 19606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 77E0 9080 @@ -150501,7 +190262,7 @@ ENCODING 19607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 7760 A880 @@ -150519,7 +190280,7 @@ ENCODING 19608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7BE0 9540 @@ -150537,7 +190298,7 @@ ENCODING 19609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 6EE0 B540 @@ -150555,7 +190316,7 @@ ENCODING 19610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42E0 7FA0 9220 @@ -150573,7 +190334,7 @@ ENCODING 19611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7FE0 A280 @@ -150591,7 +190352,7 @@ ENCODING 19612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3B80 7FC0 D540 @@ -150609,7 +190370,7 @@ ENCODING 19613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7980 9240 @@ -150627,7 +190388,7 @@ ENCODING 19614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 9080 @@ -150645,7 +190406,7 @@ ENCODING 19615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 72E0 92A0 @@ -150663,7 +190424,7 @@ ENCODING 19616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7900 93C0 @@ -150681,7 +190442,7 @@ ENCODING 19617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 97E0 @@ -150699,7 +190460,7 @@ ENCODING 19618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5180 57C0 @@ -150717,7 +190478,7 @@ ENCODING 19619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 2100 FDE0 @@ -150735,7 +190496,7 @@ ENCODING 19620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 7540 9140 @@ -150753,7 +190514,7 @@ ENCODING 19621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FF00 1120 @@ -150771,7 +190532,7 @@ ENCODING 19622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 9100 @@ -150789,7 +190550,7 @@ ENCODING 19623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 27C0 2440 @@ -150807,7 +190568,7 @@ ENCODING 19624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 07C0 FC40 @@ -150825,7 +190586,7 @@ ENCODING 19625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -150843,7 +190604,7 @@ ENCODING 19626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 2240 @@ -150861,7 +190622,7 @@ ENCODING 19627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 53C0 5240 @@ -150879,7 +190640,7 @@ ENCODING 19628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 7B80 4A80 @@ -150897,7 +190658,7 @@ ENCODING 19629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 D3C0 9240 @@ -150915,7 +190676,7 @@ ENCODING 19630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FC0 0440 @@ -150933,7 +190694,7 @@ ENCODING 19631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 4BC0 4A40 @@ -150951,7 +190712,7 @@ ENCODING 19632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 73C0 0240 @@ -150969,7 +190730,7 @@ ENCODING 19633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 97E0 @@ -150987,7 +190748,7 @@ ENCODING 19634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 2960 49A0 @@ -151005,7 +190766,7 @@ ENCODING 19635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FA40 @@ -151023,7 +190784,7 @@ ENCODING 19636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 2A40 @@ -151040,26 +190801,26 @@ STARTCHAR U_4CB5 ENCODING 19637 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -1580 -2640 -4400 -0A00 -3F80 -2480 -3FE0 -2000 -3FC0 -5540 +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 +BITMAP 3F00 0000 FFE0 @@ -151076,26 +190837,26 @@ STARTCHAR U_4CB7 ENCODING 19639 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -3F80 -2480 -3FE0 -2000 -3FC0 -5540 +BBX 10 11 1 -1 +BITMAP 0400 +7F00 +4900 7FC0 -2480 -4440 +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 +BITMAP 2100 23C0 5240 @@ -151113,7 +190874,7 @@ ENCODING 19641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -151131,7 +190892,7 @@ ENCODING 19642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4BC0 FE40 @@ -151149,7 +190910,7 @@ ENCODING 19643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 13C0 FE40 @@ -151167,7 +190928,7 @@ ENCODING 19644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 53C0 5240 @@ -151185,7 +190946,7 @@ ENCODING 19645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -151203,7 +190964,7 @@ ENCODING 19646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 2200 27E0 @@ -151221,7 +190982,7 @@ ENCODING 19647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 4A40 @@ -151239,7 +191000,7 @@ ENCODING 19648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F500 97C0 @@ -151257,7 +191018,7 @@ ENCODING 19649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F220 9200 @@ -151275,7 +191036,7 @@ ENCODING 19650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2A40 @@ -151293,7 +191054,7 @@ ENCODING 19651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F00 2900 @@ -151311,7 +191072,7 @@ ENCODING 19652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2BC0 2A40 @@ -151329,7 +191090,7 @@ ENCODING 19653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 F3E0 9220 @@ -151347,7 +191108,7 @@ ENCODING 19654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 47C0 F440 @@ -151365,7 +191126,7 @@ ENCODING 19655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BE0 AAA0 @@ -151383,7 +191144,7 @@ ENCODING 19656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FBE0 8A20 @@ -151401,7 +191162,7 @@ ENCODING 19657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9240 @@ -151419,7 +191180,7 @@ ENCODING 19658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 43E0 FA20 @@ -151437,7 +191198,7 @@ ENCODING 19659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 FA20 @@ -151455,7 +191216,7 @@ ENCODING 19660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4BC0 FE40 @@ -151473,7 +191234,7 @@ ENCODING 19661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 FA40 @@ -151491,7 +191252,7 @@ ENCODING 19662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 9BC0 8A40 @@ -151509,7 +191270,7 @@ ENCODING 19663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F7C0 4440 @@ -151527,7 +191288,7 @@ ENCODING 19664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 1940 @@ -151545,7 +191306,7 @@ ENCODING 19665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 4240 @@ -151563,7 +191324,7 @@ ENCODING 19666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 7480 2480 @@ -151581,7 +191342,7 @@ ENCODING 19667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 73C0 2A40 @@ -151598,26 +191359,26 @@ STARTCHAR U_4CD4 ENCODING 19668 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -73C0 -4040 -7BC0 -0800 -3F80 -2480 -3FE0 -2000 -3FC0 -5540 +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 +BITMAP 0480 39E0 C520 @@ -151635,7 +191396,7 @@ ENCODING 19670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 F7E0 9540 @@ -151652,26 +191413,26 @@ STARTCHAR U_4CD7 ENCODING 19671 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -3F80 -2480 -3FE0 -2000 -3FC0 -5540 -3240 -7FE0 -1900 -3280 +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 +BITMAP 4140 F660 9240 @@ -151689,7 +191450,7 @@ ENCODING 19673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 FA20 ABE0 @@ -151707,7 +191468,7 @@ ENCODING 19674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -151725,7 +191486,7 @@ ENCODING 19675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BE0 FA20 @@ -151743,7 +191504,7 @@ ENCODING 19676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 33C0 4B40 @@ -151761,7 +191522,7 @@ ENCODING 19677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 4A40 @@ -151778,8 +191539,8 @@ STARTCHAR U_4CDE ENCODING 19678 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1100 7D00 12C0 @@ -151797,7 +191558,7 @@ ENCODING 19679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 EBC0 AA40 @@ -151815,7 +191576,7 @@ ENCODING 19680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E3C0 2240 @@ -151833,7 +191594,7 @@ ENCODING 19681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 43C0 D240 @@ -151851,7 +191612,7 @@ ENCODING 19682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 FA40 @@ -151869,7 +191630,7 @@ ENCODING 19683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 2120 FFE0 @@ -151887,7 +191648,7 @@ ENCODING 19684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 ABC0 7240 @@ -151905,7 +191666,7 @@ ENCODING 19685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A5E0 A520 @@ -151923,7 +191684,7 @@ ENCODING 19686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 8240 @@ -151941,7 +191702,7 @@ ENCODING 19687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F2E0 9220 @@ -151959,7 +191720,7 @@ ENCODING 19688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -151977,7 +191738,7 @@ ENCODING 19689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2BC0 FE40 @@ -151995,7 +191756,7 @@ ENCODING 19690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 ABE0 AAA0 @@ -152013,7 +191774,7 @@ ENCODING 19691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E900 B7C0 5A40 @@ -152031,7 +191792,7 @@ ENCODING 19692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 5240 @@ -152049,7 +191810,7 @@ ENCODING 19693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 ABC0 AA40 @@ -152067,7 +191828,7 @@ ENCODING 19694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4B80 78A0 @@ -152085,7 +191846,7 @@ ENCODING 19695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 23C0 FA40 @@ -152103,7 +191864,7 @@ ENCODING 19696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DC0 5540 @@ -152121,7 +191882,7 @@ ENCODING 19697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 5540 FBE0 @@ -152139,7 +191900,7 @@ ENCODING 19698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 E400 57E0 @@ -152157,7 +191918,7 @@ ENCODING 19699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FBC0 2240 @@ -152175,7 +191936,7 @@ ENCODING 19700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 AA40 @@ -152193,7 +191954,7 @@ ENCODING 19701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 51E0 DD20 @@ -152211,7 +191972,7 @@ ENCODING 19702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F2A0 9000 @@ -152229,7 +191990,7 @@ ENCODING 19703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 AB60 4580 @@ -152247,7 +192008,7 @@ ENCODING 19704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -152265,7 +192026,7 @@ ENCODING 19705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 9020 @@ -152283,7 +192044,7 @@ ENCODING 19706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53C0 AA40 @@ -152301,7 +192062,7 @@ ENCODING 19707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD00 79E0 @@ -152319,7 +192080,7 @@ ENCODING 19708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F400 95C0 @@ -152337,7 +192098,7 @@ ENCODING 19709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 ABC0 FA40 @@ -152355,7 +192116,7 @@ ENCODING 19710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D080 BBE0 52A0 @@ -152373,7 +192134,7 @@ ENCODING 19711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C80 6BE0 BF20 @@ -152391,7 +192152,7 @@ ENCODING 19712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 5240 @@ -152409,7 +192170,7 @@ ENCODING 19713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 8320 @@ -152427,7 +192188,7 @@ ENCODING 19714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 93C0 FA40 @@ -152445,7 +192206,7 @@ ENCODING 19715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7DE0 1120 @@ -152463,7 +192224,7 @@ ENCODING 19716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E3C0 AA40 @@ -152481,7 +192242,7 @@ ENCODING 19717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 5520 @@ -152499,7 +192260,7 @@ ENCODING 19718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D900 53C0 FA40 @@ -152517,7 +192278,7 @@ ENCODING 19719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 11C0 FF40 @@ -152535,7 +192296,7 @@ ENCODING 19720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FBC0 BA40 @@ -152553,7 +192314,7 @@ ENCODING 19721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 ABC0 FE40 @@ -152571,7 +192332,7 @@ ENCODING 19722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 2240 @@ -152589,7 +192350,7 @@ ENCODING 19723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 F2A0 93E0 @@ -152607,7 +192368,7 @@ ENCODING 19724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F7E0 9240 @@ -152625,7 +192386,7 @@ ENCODING 19725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE40 AAE0 EEA0 @@ -152643,7 +192404,7 @@ ENCODING 19726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1500 FFE0 @@ -152661,7 +192422,7 @@ ENCODING 19727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FDE0 4920 @@ -152679,7 +192440,7 @@ ENCODING 19728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FDC0 9540 @@ -152697,7 +192458,7 @@ ENCODING 19729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 49C0 FD40 @@ -152715,7 +192476,7 @@ ENCODING 19730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 10E0 FEA0 @@ -152733,7 +192494,7 @@ ENCODING 19731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E3C0 2340 @@ -152751,7 +192512,7 @@ ENCODING 19732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FB40 @@ -152769,7 +192530,7 @@ ENCODING 19733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 2120 F920 @@ -152787,7 +192548,7 @@ ENCODING 19734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2240 @@ -152805,7 +192566,7 @@ ENCODING 19735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7B40 @@ -152823,7 +192584,7 @@ ENCODING 19736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 53C0 5A40 @@ -152841,7 +192602,7 @@ ENCODING 19737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7FC0 5140 @@ -152859,7 +192620,7 @@ ENCODING 19738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3880 27E0 @@ -152877,7 +192638,7 @@ ENCODING 19739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 3AA0 21C0 @@ -152895,7 +192656,7 @@ ENCODING 19740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 22A0 @@ -152913,7 +192674,7 @@ ENCODING 19741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39C0 2140 F9C0 @@ -152931,7 +192692,7 @@ ENCODING 19742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2360 3DA0 2360 @@ -152949,7 +192710,7 @@ ENCODING 19743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -152967,7 +192728,7 @@ ENCODING 19744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4940 @@ -152985,7 +192746,7 @@ ENCODING 19745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4920 2940 @@ -153003,7 +192764,7 @@ ENCODING 19746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -153021,7 +192782,7 @@ ENCODING 19747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FFC0 AAA0 @@ -153039,7 +192800,7 @@ ENCODING 19748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -153057,7 +192818,7 @@ ENCODING 19749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9240 @@ -153075,7 +192836,7 @@ ENCODING 19750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -153093,7 +192854,7 @@ ENCODING 19751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FC80 ABE0 @@ -153111,7 +192872,7 @@ ENCODING 19752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FE80 ABE0 @@ -153129,7 +192890,7 @@ ENCODING 19753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -153147,7 +192908,7 @@ ENCODING 19754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -153165,7 +192926,7 @@ ENCODING 19755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 ABE0 @@ -153183,7 +192944,7 @@ ENCODING 19756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 FEA0 55E0 @@ -153201,7 +192962,7 @@ ENCODING 19757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 F840 A840 @@ -153219,7 +192980,7 @@ ENCODING 19758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 A880 @@ -153237,7 +192998,7 @@ ENCODING 19759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 55E0 @@ -153255,7 +193016,7 @@ ENCODING 19760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 10A0 FC80 @@ -153273,25 +193034,25 @@ ENCODING 19761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -1880 -1080 -FDE0 -5120 -B480 -28E0 -4500 -3920 -68E0 -9000 -2FE0 +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 +BITMAP 2100 FD00 AFE0 @@ -153309,7 +193070,7 @@ ENCODING 19763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 AFE0 @@ -153327,7 +193088,7 @@ ENCODING 19764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 A9E0 @@ -153345,7 +193106,7 @@ ENCODING 19765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 F940 ABE0 @@ -153363,7 +193124,7 @@ ENCODING 19766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FB40 A9C0 @@ -153381,7 +193142,7 @@ ENCODING 19767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 A820 @@ -153399,7 +193160,7 @@ ENCODING 19768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FBA0 AAA0 @@ -153417,7 +193178,7 @@ ENCODING 19769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 ABE0 @@ -153435,7 +193196,7 @@ ENCODING 19770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 AC40 @@ -153453,7 +193214,7 @@ ENCODING 19771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 21E0 FAA0 @@ -153471,7 +193232,7 @@ ENCODING 19772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 AA80 @@ -153489,7 +193250,7 @@ ENCODING 19773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 AAA0 @@ -153507,7 +193268,7 @@ ENCODING 19774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FBE0 A880 @@ -153525,7 +193286,7 @@ ENCODING 19775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC20 ABC0 @@ -153543,7 +193304,7 @@ ENCODING 19776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FAA0 A9C0 @@ -153561,7 +193322,7 @@ ENCODING 19777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 FAE0 2F20 @@ -153579,7 +193340,7 @@ ENCODING 19778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2240 @@ -153597,7 +193358,7 @@ ENCODING 19779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FFE0 5540 @@ -153615,7 +193376,7 @@ ENCODING 19780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FBE0 AAA0 @@ -153633,7 +193394,7 @@ ENCODING 19781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 1340 @@ -153651,7 +193412,7 @@ ENCODING 19782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 AA40 @@ -153669,7 +193430,7 @@ ENCODING 19783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 41E0 @@ -153687,7 +193448,7 @@ ENCODING 19784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5600 AFE0 6220 @@ -153705,7 +193466,7 @@ ENCODING 19785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -153723,7 +193484,7 @@ ENCODING 19786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 57C0 5280 @@ -153741,7 +193502,7 @@ ENCODING 19787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 57E0 @@ -153759,7 +193520,7 @@ ENCODING 19788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 57C0 @@ -153777,7 +193538,7 @@ ENCODING 19789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 5000 @@ -153795,7 +193556,7 @@ ENCODING 19790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FAA0 53E0 @@ -153813,7 +193574,7 @@ ENCODING 19791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 F920 55A0 @@ -153831,7 +193592,7 @@ ENCODING 19792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FAA0 53E0 @@ -153849,7 +193610,7 @@ ENCODING 19793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 F3E0 2120 @@ -153866,8 +193627,8 @@ STARTCHAR U_4D52 ENCODING 19794 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1800 E3C0 2240 @@ -153885,7 +193646,7 @@ ENCODING 19795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 2280 FBE0 @@ -153903,7 +193664,7 @@ ENCODING 19796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 23E0 FC80 @@ -153921,7 +193682,7 @@ ENCODING 19797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E3E0 2220 @@ -153939,7 +193700,7 @@ ENCODING 19798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A140 F880 @@ -153957,7 +193718,7 @@ ENCODING 19799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2000 FDC0 @@ -153975,7 +193736,7 @@ ENCODING 19800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 2240 FBC0 @@ -153993,7 +193754,7 @@ ENCODING 19801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 27E0 FA40 @@ -154011,7 +193772,7 @@ ENCODING 19802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78E0 2720 FD20 @@ -154029,7 +193790,7 @@ ENCODING 19803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F760 4AA0 FFA0 @@ -154047,7 +193808,7 @@ ENCODING 19804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7140 23E0 FAA0 @@ -154065,7 +193826,7 @@ ENCODING 19805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 D680 BA80 @@ -154083,7 +193844,7 @@ ENCODING 19806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 D420 BD20 @@ -154101,7 +193862,7 @@ ENCODING 19807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 DC80 B480 @@ -154119,7 +193880,7 @@ ENCODING 19808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5500 7DE0 @@ -154137,7 +193898,7 @@ ENCODING 19809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFC0 @@ -154155,7 +193916,7 @@ ENCODING 19810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A880 F9C0 @@ -154172,9 +193933,8 @@ STARTCHAR U_4D63 ENCODING 19811 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7DE0 6D20 5520 @@ -154191,11 +193951,11 @@ ENCODING 19812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP -FBE0 -2080 -FBE0 -2080 +BITMAP +7FC0 +1100 +FFE0 +2100 7FC0 5540 7FC0 @@ -154209,7 +193969,7 @@ ENCODING 19813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 AC80 @@ -154227,7 +193987,7 @@ ENCODING 19814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 AA40 F840 @@ -154245,7 +194005,7 @@ ENCODING 19815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F920 2100 @@ -154263,7 +194023,7 @@ ENCODING 19816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 5540 7FE0 @@ -154281,7 +194041,7 @@ ENCODING 19817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 1120 FD20 @@ -154299,7 +194059,7 @@ ENCODING 19818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5520 7DE0 @@ -154317,7 +194077,7 @@ ENCODING 19819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A3A0 @@ -154335,7 +194095,7 @@ ENCODING 19820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CA0 57C0 7D80 @@ -154353,7 +194113,7 @@ ENCODING 19821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 55C0 7CA0 @@ -154371,7 +194131,7 @@ ENCODING 19822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AA20 ABE0 @@ -154389,7 +194149,7 @@ ENCODING 19823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 AB80 FFE0 @@ -154407,7 +194167,7 @@ ENCODING 19824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 ABE0 FE40 @@ -154425,7 +194185,7 @@ ENCODING 19825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AFE0 F880 @@ -154443,7 +194203,7 @@ ENCODING 19826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 AA40 FA40 @@ -154461,7 +194221,7 @@ ENCODING 19827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F980 AA40 FDA0 @@ -154479,7 +194239,7 @@ ENCODING 19828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FAA0 @@ -154497,7 +194257,7 @@ ENCODING 19829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79E0 9240 @@ -154515,7 +194275,7 @@ ENCODING 19830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7AA0 8EE0 @@ -154533,7 +194293,7 @@ ENCODING 19831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 EEE0 @@ -154551,7 +194311,7 @@ ENCODING 19832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 22A0 FC80 @@ -154569,7 +194329,7 @@ ENCODING 19833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7E40 ABE0 @@ -154587,7 +194347,7 @@ ENCODING 19834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 4AA0 4BA0 @@ -154605,7 +194365,7 @@ ENCODING 19835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3940 2BE0 B940 @@ -154623,7 +194383,7 @@ ENCODING 19836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 7A40 0FE0 @@ -154641,7 +194401,7 @@ ENCODING 19837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -154659,7 +194419,7 @@ ENCODING 19838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 6FE0 A480 @@ -154677,7 +194437,7 @@ ENCODING 19839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -154695,7 +194455,7 @@ ENCODING 19840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 4880 @@ -154713,7 +194473,7 @@ ENCODING 19841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -154731,7 +194491,7 @@ ENCODING 19842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5900 8900 DBE0 @@ -154749,43 +194509,43 @@ ENCODING 19843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 -8940 +8880 D940 -8A20 -FAA0 -A9C0 +8940 +FA20 +ACA0 +73C0 +A840 F840 -A440 -F480 -A220 -F1E0 +AC80 +F880 ENDCHAR STARTCHAR U_4D84 ENCODING 19844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8880 DAA0 89C0 -FFE0 -A880 +F880 +AFE0 F880 A880 F880 -A4A0 -F3E0 +AC80 +E880 ENDCHAR STARTCHAR U_4D85 ENCODING 19845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D900 89E0 DB40 @@ -154803,7 +194563,7 @@ ENCODING 19846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 9A40 8BE0 @@ -154821,7 +194581,7 @@ ENCODING 19847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D880 8BE0 DAA0 @@ -154839,7 +194599,7 @@ ENCODING 19848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D880 8BE0 D880 @@ -154857,7 +194617,7 @@ ENCODING 19849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 8AE0 DAA0 @@ -154875,7 +194635,7 @@ ENCODING 19850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 4920 @@ -154893,7 +194653,7 @@ ENCODING 19851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7240 5280 @@ -154911,7 +194671,7 @@ ENCODING 19852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 5C20 @@ -154929,7 +194689,7 @@ ENCODING 19853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F9E0 2160 @@ -154947,7 +194707,7 @@ ENCODING 19854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 5940 @@ -154965,7 +194725,7 @@ ENCODING 19855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 11E0 F960 @@ -154983,7 +194743,7 @@ ENCODING 19856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 7A40 5DA0 @@ -155001,7 +194761,7 @@ ENCODING 19857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 5880 @@ -155019,7 +194779,7 @@ ENCODING 19858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -155037,7 +194797,7 @@ ENCODING 19859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F940 @@ -155055,7 +194815,7 @@ ENCODING 19860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 B880 A2A0 @@ -155073,7 +194833,7 @@ ENCODING 19861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 B3E0 A2A0 @@ -155091,7 +194851,7 @@ ENCODING 19862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 B140 A140 @@ -155109,7 +194869,7 @@ ENCODING 19863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 B7E0 A040 @@ -155127,7 +194887,7 @@ ENCODING 19864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5880 53E0 @@ -155145,7 +194905,7 @@ ENCODING 19865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 B3E0 A200 @@ -155163,7 +194923,7 @@ ENCODING 19866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 B080 A080 @@ -155181,7 +194941,7 @@ ENCODING 19867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 2120 7D20 @@ -155199,7 +194959,7 @@ ENCODING 19868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1280 5BE0 @@ -155217,7 +194977,7 @@ ENCODING 19869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 5C80 53E0 @@ -155235,7 +194995,7 @@ ENCODING 19870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 5D40 53E0 @@ -155253,7 +195013,7 @@ ENCODING 19871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 B9E0 A220 @@ -155271,7 +195031,7 @@ ENCODING 19872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4080 7FA0 @@ -155289,7 +195049,7 @@ ENCODING 19873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E20 AA20 FAA0 @@ -155307,7 +195067,7 @@ ENCODING 19874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 B8A0 AFE0 @@ -155325,7 +195085,7 @@ ENCODING 19875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5AA0 53E0 @@ -155343,7 +195103,7 @@ ENCODING 19876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 BC40 A5C0 @@ -155361,7 +195121,7 @@ ENCODING 19877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 B880 A3E0 @@ -155379,7 +195139,7 @@ ENCODING 19878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 B7E0 A100 @@ -155397,7 +195157,7 @@ ENCODING 19879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 53E0 FC80 @@ -155415,7 +195175,7 @@ ENCODING 19880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 B940 A220 @@ -155433,7 +195193,7 @@ ENCODING 19881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 BFE0 A280 @@ -155451,7 +195211,7 @@ ENCODING 19882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 BF60 A240 @@ -155469,7 +195229,7 @@ ENCODING 19883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP B360 A2A0 F800 @@ -155487,7 +195247,7 @@ ENCODING 19884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -155505,7 +195265,7 @@ ENCODING 19885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 4BE0 F880 @@ -155523,7 +195283,7 @@ ENCODING 19886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7FC0 0A80 @@ -155541,7 +195301,7 @@ ENCODING 19887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 53C0 F480 @@ -155559,7 +195319,7 @@ ENCODING 19888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 38C0 4980 FE80 @@ -155577,7 +195337,7 @@ ENCODING 19889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5A40 D7E0 @@ -155595,7 +195355,7 @@ ENCODING 19890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -155613,7 +195373,7 @@ ENCODING 19891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 3840 45E0 @@ -155631,7 +195391,7 @@ ENCODING 19892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 74A0 5140 @@ -155649,7 +195409,7 @@ ENCODING 19893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39E0 4540 BA60 @@ -155666,44 +195426,34 @@ STARTCHAR U_4E00 ENCODING 19968 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 -0000 -0000 +BBX 11 2 0 4 +BITMAP 0040 FFE0 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_4E01 ENCODING 19969 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FE0 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0E00 +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 +BITMAP FFE0 0800 0800 @@ -155720,27 +195470,26 @@ STARTCHAR U_4E03 ENCODING 19971 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -0400 -0460 -0780 -7C00 -0400 -0400 -0420 -0420 -03E0 +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 11 0 -1 -BITMAP -0000 +BBX 11 9 0 0 +BITMAP 0400 0400 0400 @@ -155750,14 +195499,13 @@ BITMAP 0400 0400 FFE0 -0000 ENDCHAR STARTCHAR U_4E05 ENCODING 19973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 FFE0 0400 @@ -155774,27 +195522,21 @@ STARTCHAR U_4E06 ENCODING 19974 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 +BBX 11 6 0 2 +BITMAP FFE0 0400 0400 0800 1000 6000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_4E07 ENCODING 19975 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0800 0800 @@ -155811,7 +195553,7 @@ ENCODING 19976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -155828,9 +195570,8 @@ STARTCHAR U_4E09 ENCODING 19977 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0000 0000 @@ -155847,7 +195588,7 @@ ENCODING 19978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -155864,9 +195605,8 @@ STARTCHAR U_4E0B ENCODING 19979 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0400 @@ -155883,7 +195623,7 @@ ENCODING 19980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 FFE0 1100 @@ -155901,7 +195641,7 @@ ENCODING 19981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0200 0200 @@ -155919,7 +195659,7 @@ ENCODING 19982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 1FE0 @@ -155937,7 +195677,7 @@ ENCODING 19983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 0800 @@ -155955,7 +195695,7 @@ ENCODING 19984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 4400 @@ -155972,9 +195712,8 @@ STARTCHAR U_4E11 ENCODING 19985 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7F80 0880 0880 @@ -155991,7 +195730,7 @@ ENCODING 19986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0840 2840 @@ -156009,7 +195748,7 @@ ENCODING 19987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 0400 @@ -156026,26 +195765,26 @@ STARTCHAR U_4E14 ENCODING 19988 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1080 -1F80 -1080 -1080 -1080 -1F80 -1080 -1080 -7FE0 +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 +BITMAP FFE0 0200 0400 @@ -156063,7 +195802,7 @@ ENCODING 19990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 2480 2480 @@ -156081,7 +195820,7 @@ ENCODING 19991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 2480 @@ -156099,7 +195838,7 @@ ENCODING 19992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 1E00 1000 @@ -156117,7 +195856,7 @@ ENCODING 19993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0400 @@ -156135,7 +195874,7 @@ ENCODING 19994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0900 0920 @@ -156153,7 +195892,7 @@ ENCODING 19995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 1080 @@ -156170,26 +195909,26 @@ STARTCHAR U_4E1C ENCODING 19996 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +FFC0 +1400 +2400 +7F80 0400 -7FE0 -0A00 -1200 -3FC0 -0200 -1280 -2240 -4220 -0E00 +2500 +4480 +8440 +1C00 ENDCHAR STARTCHAR U_4E1D ENCODING 19997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2940 @@ -156207,7 +195946,7 @@ ENCODING 19998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0100 0220 @@ -156224,9 +195963,8 @@ STARTCHAR U_4E1F ENCODING 19999 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0400 7FC0 @@ -156243,7 +195981,7 @@ ENCODING 20000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 1240 @@ -156260,9 +195998,8 @@ STARTCHAR U_4E21 ENCODING 20001 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 7FC0 @@ -156279,7 +196016,7 @@ ENCODING 20002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 0400 @@ -156297,7 +196034,7 @@ ENCODING 20003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 0A00 @@ -156315,7 +196052,7 @@ ENCODING 20004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1200 1200 @@ -156332,8 +196069,8 @@ STARTCHAR U_4E25 ENCODING 20005 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 0A00 4A40 @@ -156351,7 +196088,7 @@ ENCODING 20006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 FFE0 @@ -156369,7 +196106,7 @@ ENCODING 20007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -156386,116 +196123,116 @@ STARTCHAR U_4E28 ENCODING 20008 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 +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 11 11 0 -1 -BITMAP -0100 -1100 -1100 -1100 -1100 -1300 -1D00 -1100 -0100 -0100 -0100 +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 11 11 0 -1 -BITMAP -0400 -0400 -0A00 -1100 -2480 -4460 -0400 -0400 -0400 -0400 -0400 +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 11 11 0 -1 -BITMAP -4040 -2080 -1100 -1200 -0400 -0400 -0400 -0400 -0400 -0400 -0400 +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 11 11 0 -1 -BITMAP -0200 -2200 -1200 -1200 -0200 -0A00 -1200 -6200 -2200 -0200 -0200 +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 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -4440 -4440 -7FC0 -4440 -0400 -0400 -0400 +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 +BITMAP FF80 0880 0880 @@ -156513,7 +196250,7 @@ ENCODING 20015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0580 0E00 @@ -156531,7 +196268,7 @@ ENCODING 20016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -156548,62 +196285,62 @@ STARTCHAR U_4E31 ENCODING 20017 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -4920 -4920 -4920 -4920 -59E0 -6920 -0900 -1100 -2100 -4100 +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 11 11 0 -1 -BITMAP -0400 -3F80 -2480 -3F80 -0400 -7FC0 -4440 -4440 -7FC0 -0400 -0400 +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 11 11 0 -1 -BITMAP -0900 -3FC0 -2940 -3FC0 -0900 -7FE0 -4920 -7FE0 -0900 -1100 -6100 +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 +BITMAP 2400 A7E0 A800 @@ -156621,7 +196358,7 @@ ENCODING 20021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 4A40 2A80 @@ -156638,44 +196375,31 @@ STARTCHAR U_4E36 ENCODING 20022 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 -0000 -0800 -0400 -0200 -0200 -0000 -0000 -0000 -0000 +BBX 3 4 4 3 +BITMAP +80 +40 +20 +20 ENDCHAR STARTCHAR U_4E37 ENCODING 20023 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 -4060 -2040 -1880 -0900 -0200 -0000 -0000 -0000 -0000 +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 +BITMAP 0800 0800 7F00 @@ -156693,7 +196417,7 @@ ENCODING 20025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 1480 @@ -156710,26 +196434,26 @@ STARTCHAR U_4E3A ENCODING 20026 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2400 -1400 -0400 -7FC0 -0440 -0640 -0940 -0940 -1040 -2240 -4180 +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 +BITMAP 0800 0400 FFE0 @@ -156747,7 +196471,7 @@ ENCODING 20028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FE0 @@ -156765,7 +196489,7 @@ ENCODING 20029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0000 7BC0 @@ -156783,7 +196507,7 @@ ENCODING 20030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 FFE0 @@ -156800,27 +196524,26 @@ STARTCHAR U_4E3F ENCODING 20031 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0400 -0400 -0800 -1000 +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 11 0 -1 -BITMAP -0000 +BBX 11 9 0 0 +BITMAP 2000 2000 5000 @@ -156830,15 +196553,13 @@ BITMAP 0100 00E0 0040 -0000 ENDCHAR STARTCHAR U_4E41 ENCODING 20033 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FC00 0400 0400 @@ -156855,7 +196576,7 @@ ENCODING 20034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 2080 2080 @@ -156873,7 +196594,7 @@ ENCODING 20035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0880 0880 @@ -156890,8 +196611,8 @@ STARTCHAR U_4E44 ENCODING 20036 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 10 0 0 +BITMAP 0040 0040 0080 @@ -156902,14 +196623,13 @@ BITMAP 8440 9840 E000 -0000 ENDCHAR STARTCHAR U_4E45 ENCODING 20037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 1F00 @@ -156927,7 +196647,7 @@ ENCODING 20038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1100 1100 @@ -156945,7 +196665,7 @@ ENCODING 20039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 0600 F800 @@ -156963,7 +196683,7 @@ ENCODING 20040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0800 @@ -156981,7 +196701,7 @@ ENCODING 20041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 2480 2480 @@ -156998,9 +196718,8 @@ STARTCHAR U_4E4A ENCODING 20042 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 8 0 1 +BITMAP 01E0 FE00 0000 @@ -157009,15 +196728,13 @@ FE00 2080 1080 1100 -0000 -0000 ENDCHAR STARTCHAR U_4E4B ENCODING 20043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 7FC0 @@ -157035,7 +196752,7 @@ ENCODING 20044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1F80 1080 @@ -157053,7 +196770,7 @@ ENCODING 20045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 1FE0 @@ -157071,7 +196788,7 @@ ENCODING 20046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 2440 @@ -157088,44 +196805,44 @@ STARTCHAR U_4E4F ENCODING 20047 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0180 -7E00 +BBX 10 11 1 -1 +BITMAP +0300 +FC00 +0800 0400 -0200 -3F80 -0100 +7F00 0200 0400 -1800 -2400 -43E0 +0800 +3000 +4800 +87C0 ENDCHAR STARTCHAR U_4E50 ENCODING 20048 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -01C0 -3E00 -2000 -2200 -2200 -3FE0 -0200 -1280 -2240 -4220 -0600 +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 +BITMAP 03C0 FC00 0440 @@ -157143,7 +196860,7 @@ ENCODING 20050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 1E00 1000 @@ -157161,7 +196878,7 @@ ENCODING 20051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 1E00 1000 @@ -157179,7 +196896,7 @@ ENCODING 20052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0800 @@ -157197,7 +196914,7 @@ ENCODING 20053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 7E00 4200 @@ -157215,7 +196932,7 @@ ENCODING 20054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -157233,7 +196950,7 @@ ENCODING 20055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -157251,7 +196968,7 @@ ENCODING 20056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -157268,116 +196985,108 @@ STARTCHAR U_4E59 ENCODING 20057 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0080 +BBX 10 11 1 -1 +BITMAP +FF80 0100 0200 0400 0800 1000 2000 -4020 -4020 -3FE0 +4000 +8040 +8040 +7FC0 ENDCHAR STARTCHAR U_4E5A ENCODING 20058 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -2000 -2000 -2000 -2000 -2000 -2000 -2080 -2080 -2080 -1F80 +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 11 0 -1 -BITMAP -0000 +BBX 11 3 0 6 +BITMAP FFE0 0040 0080 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_4E5C ENCODING 20060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +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 11 11 0 -1 -BITMAP -0800 -0800 -0800 -7F00 -0900 -0900 -0900 -1100 -1120 -2120 -40E0 +1280 +1100 +1020 +1020 +0FE0 ENDCHAR -STARTCHAR U_4E5E -ENCODING 20062 +STARTCHAR U_4E5D +ENCODING 20061 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP 1000 1000 -1FC0 +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 -5F00 -0200 +2000 +3F80 +4000 +BE00 0400 0800 -1020 -1020 -0FE0 +1000 +2040 +2040 +1FC0 ENDCHAR STARTCHAR U_4E5F ENCODING 20063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 24C0 @@ -157394,80 +197103,79 @@ STARTCHAR U_4E60 ENCODING 20064 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0040 -1040 -0840 -0840 -0140 -0640 -1840 -6040 -0240 -0180 +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 11 11 0 -1 -BITMAP -0400 +BBX 9 11 1 -1 +BITMAP 0800 -1100 -3E00 -0440 +1000 +2200 +7C00 0880 -3F80 -0100 +1100 +7F00 0200 -0C00 -7000 +0400 +1800 +E000 ENDCHAR STARTCHAR U_4E62 ENCODING 20066 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -1100 -1100 -5500 -5500 -5500 -5500 -5500 -5D20 -7520 -40E0 +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 11 11 0 -1 -BITMAP -1100 -1100 -2100 -4500 -7900 -0900 -1100 -2100 -4920 -7D20 -04E0 +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 +BITMAP FFE0 0400 0480 @@ -157485,7 +197193,7 @@ ENCODING 20069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FC40 2080 @@ -157503,7 +197211,7 @@ ENCODING 20070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0860 7FA0 @@ -157521,7 +197229,7 @@ ENCODING 20071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 4A00 2200 @@ -157539,7 +197247,7 @@ ENCODING 20072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -157557,7 +197265,7 @@ ENCODING 20073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3D00 @@ -157575,7 +197283,7 @@ ENCODING 20074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 17C0 1540 @@ -157593,7 +197301,7 @@ ENCODING 20075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 2520 @@ -157611,7 +197319,7 @@ ENCODING 20076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 7F80 @@ -157629,7 +197337,7 @@ ENCODING 20077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1000 3FC0 @@ -157647,7 +197355,7 @@ ENCODING 20078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3800 43C0 4A40 @@ -157665,7 +197373,7 @@ ENCODING 20079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C80 1500 @@ -157683,7 +197391,7 @@ ENCODING 20080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0040 2480 @@ -157701,7 +197409,7 @@ ENCODING 20081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0D00 7100 1100 @@ -157719,7 +197427,7 @@ ENCODING 20082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0940 @@ -157737,7 +197445,7 @@ ENCODING 20083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 F500 5500 @@ -157755,7 +197463,7 @@ ENCODING 20084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FB80 1200 @@ -157773,7 +197481,7 @@ ENCODING 20085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FF00 @@ -157791,7 +197499,7 @@ ENCODING 20086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 2480 @@ -157809,7 +197517,7 @@ ENCODING 20087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 8520 @@ -157827,7 +197535,7 @@ ENCODING 20088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 A2A0 @@ -157845,7 +197553,7 @@ ENCODING 20089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 2200 @@ -157863,7 +197571,7 @@ ENCODING 20090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 38C0 4300 7A00 @@ -157881,7 +197589,7 @@ ENCODING 20091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 2140 @@ -157899,7 +197607,7 @@ ENCODING 20092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -157917,7 +197625,7 @@ ENCODING 20093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 3F80 0500 @@ -157935,7 +197643,7 @@ ENCODING 20094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 21E0 @@ -157953,7 +197661,7 @@ ENCODING 20095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 EA80 5480 @@ -157970,26 +197678,26 @@ STARTCHAR U_4E80 ENCODING 20096 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F00 -2100 -7F80 -2480 -3F80 -2480 -7FC0 -4440 -7FC0 -0420 -07E0 +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 +BITMAP 1080 FE80 10E0 @@ -158007,7 +197715,7 @@ ENCODING 20098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 5500 FD00 @@ -158025,7 +197733,7 @@ ENCODING 20099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5480 FE80 @@ -158043,7 +197751,7 @@ ENCODING 20100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 1080 FE80 @@ -158060,44 +197768,44 @@ STARTCHAR U_4E85 ENCODING 20101 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0200 -0A00 -0400 +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 11 11 0 -1 -BITMAP -7FC0 -0080 +BBX 9 11 1 -1 +BITMAP +FF80 0100 -0600 -0400 -0400 -0400 -0400 -0400 -1400 +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 +BITMAP 1000 1000 1FE0 @@ -158115,7 +197823,7 @@ ENCODING 20104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0100 0A00 @@ -158133,7 +197841,7 @@ ENCODING 20105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F00 2200 @@ -158151,7 +197859,7 @@ ENCODING 20106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -158169,7 +197877,7 @@ ENCODING 20107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -158186,10 +197894,8 @@ STARTCHAR U_4E8C ENCODING 20108 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 +BBX 11 8 0 0 +BITMAP 7FC0 0000 0000 @@ -158198,14 +197904,13 @@ BITMAP 0000 0000 FFE0 -0000 ENDCHAR STARTCHAR U_4E8D ENCODING 20109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 0000 @@ -158223,7 +197928,7 @@ ENCODING 20110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -158241,7 +197946,7 @@ ENCODING 20111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 0000 @@ -158259,7 +197964,7 @@ ENCODING 20112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 0800 @@ -158277,7 +197982,7 @@ ENCODING 20113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 0000 @@ -158295,7 +198000,7 @@ ENCODING 20114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 0800 @@ -158313,7 +198018,7 @@ ENCODING 20115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 0000 @@ -158330,9 +198035,8 @@ STARTCHAR U_4E94 ENCODING 20116 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0400 0400 @@ -158348,27 +198052,26 @@ STARTCHAR U_4E95 ENCODING 20117 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -0900 -7FE0 -0900 -0900 -0900 -7FE0 -1100 -1100 -2100 -4100 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3F80 0000 0000 @@ -158385,7 +198088,7 @@ ENCODING 20119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 2480 @@ -158403,7 +198106,7 @@ ENCODING 20120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0000 3F80 @@ -158420,27 +198123,26 @@ STARTCHAR U_4E99 ENCODING 20121 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -0800 -0800 -0F80 -1480 -1280 +BBX 10 11 1 -1 +BITMAP +FFC0 +1000 +1000 +1F00 2900 2500 -0200 -0200 -7FE0 +5200 +4A00 +0400 +0400 +FFC0 ENDCHAR STARTCHAR U_4E9A ENCODING 20122 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0A00 0A00 @@ -158457,7 +198159,7 @@ ENCODING 20123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1240 5A80 @@ -158475,7 +198177,7 @@ ENCODING 20124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -158493,7 +198195,7 @@ ENCODING 20125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 3F00 @@ -158510,9 +198212,8 @@ STARTCHAR U_4E9E ENCODING 20126 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 1100 1100 @@ -158529,7 +198230,7 @@ ENCODING 20127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0200 0400 @@ -158546,26 +198247,19 @@ STARTCHAR U_4EA0 ENCODING 20128 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 4 0 6 +BITMAP 0800 0400 0400 FFE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_4EA1 ENCODING 20129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0600 0200 @@ -158583,7 +198277,7 @@ ENCODING 20130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 FFE0 @@ -158601,7 +198295,7 @@ ENCODING 20131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -158619,7 +198313,7 @@ ENCODING 20132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -158636,26 +198330,26 @@ STARTCHAR U_4EA5 ENCODING 20133 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0200 -7FE0 +BBX 10 11 1 -1 +BITMAP 0800 -1100 -3E40 -0480 +0400 +FFC0 +1000 +2200 +7C80 +0900 +3200 +C600 1900 -6300 -0C80 -7060 +E0C0 ENDCHAR STARTCHAR U_4EA6 ENCODING 20134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 FFE0 @@ -158673,7 +198367,7 @@ ENCODING 20135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 1080 @@ -158691,7 +198385,7 @@ ENCODING 20136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -158709,7 +198403,7 @@ ENCODING 20137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -158727,7 +198421,7 @@ ENCODING 20138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -158745,7 +198439,7 @@ ENCODING 20139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 2080 @@ -158763,7 +198457,7 @@ ENCODING 20140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -158781,7 +198475,7 @@ ENCODING 20141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -158799,7 +198493,7 @@ ENCODING 20142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -158817,7 +198511,7 @@ ENCODING 20143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -158835,7 +198529,7 @@ ENCODING 20144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -158853,7 +198547,7 @@ ENCODING 20145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -158871,7 +198565,7 @@ ENCODING 20146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -158889,7 +198583,7 @@ ENCODING 20147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -158907,7 +198601,7 @@ ENCODING 20148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -158925,7 +198619,7 @@ ENCODING 20149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 2200 @@ -158943,7 +198637,7 @@ ENCODING 20150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 5140 @@ -158961,7 +198655,7 @@ ENCODING 20151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -158979,7 +198673,7 @@ ENCODING 20152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FA80 57C0 @@ -158997,7 +198691,7 @@ ENCODING 20153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 60C0 @@ -159015,7 +198709,7 @@ ENCODING 20154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -159032,26 +198726,26 @@ STARTCHAR U_4EBB ENCODING 20155 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1000 -2000 -2000 -6000 -A000 -2000 -2000 -2000 -2000 -2000 +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 +BITMAP 0400 0400 0400 @@ -159068,8 +198762,8 @@ STARTCHAR U_4EBD ENCODING 20157 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 0400 0400 0A00 @@ -159080,14 +198774,13 @@ C060 0400 0200 0200 -0000 ENDCHAR STARTCHAR U_4EBE ENCODING 20158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 8400 8400 @@ -159105,7 +198798,7 @@ ENCODING 20159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2080 @@ -159123,7 +198816,7 @@ ENCODING 20160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -159141,7 +198834,7 @@ ENCODING 20161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 27C0 @@ -159159,7 +198852,7 @@ ENCODING 20162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2200 @@ -159177,7 +198870,7 @@ ENCODING 20163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2080 @@ -159195,7 +198888,7 @@ ENCODING 20164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4200 @@ -159213,7 +198906,7 @@ ENCODING 20165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2440 @@ -159231,7 +198924,7 @@ ENCODING 20166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 1200 @@ -159249,7 +198942,7 @@ ENCODING 20167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2200 @@ -159267,7 +198960,7 @@ ENCODING 20168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1480 2480 @@ -159285,7 +198978,7 @@ ENCODING 20169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 1480 1480 @@ -159303,7 +198996,7 @@ ENCODING 20170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -159321,7 +199014,7 @@ ENCODING 20171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -159339,7 +199032,7 @@ ENCODING 20172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -159357,7 +199050,7 @@ ENCODING 20173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2440 2480 @@ -159375,7 +199068,7 @@ ENCODING 20174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -159393,7 +199086,7 @@ ENCODING 20175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -159411,7 +199104,7 @@ ENCODING 20176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -159429,7 +199122,7 @@ ENCODING 20177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -159446,8 +199139,8 @@ STARTCHAR U_4ED2 ENCODING 20178 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 0800 1400 @@ -159465,7 +199158,7 @@ ENCODING 20179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0600 0900 @@ -159483,7 +199176,7 @@ ENCODING 20180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2080 @@ -159501,7 +199194,7 @@ ENCODING 20181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -159519,7 +199212,7 @@ ENCODING 20182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2540 @@ -159537,7 +199230,7 @@ ENCODING 20183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 2FE0 @@ -159555,7 +199248,7 @@ ENCODING 20184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 2080 @@ -159573,7 +199266,7 @@ ENCODING 20185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -159591,7 +199284,7 @@ ENCODING 20186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -159609,7 +199302,7 @@ ENCODING 20187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 11C0 2E00 @@ -159627,7 +199320,7 @@ ENCODING 20188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2100 @@ -159645,7 +199338,7 @@ ENCODING 20189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -159663,7 +199356,7 @@ ENCODING 20190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 2120 @@ -159681,7 +199374,7 @@ ENCODING 20191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -159699,7 +199392,7 @@ ENCODING 20192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2100 6100 @@ -159717,7 +199410,7 @@ ENCODING 20193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 27E0 @@ -159734,8 +199427,8 @@ STARTCHAR U_4EE2 ENCODING 20194 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2400 2400 4FC0 @@ -159753,7 +199446,7 @@ ENCODING 20195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1240 2200 @@ -159771,7 +199464,7 @@ ENCODING 20196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -159788,26 +199481,26 @@ STARTCHAR U_4EE5 ENCODING 20197 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0080 -4080 -4880 -4480 -4480 -4080 -4880 -5080 -6140 -4220 -0C20 +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 +BITMAP 1100 1100 2100 @@ -159825,7 +199518,7 @@ ENCODING 20199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0780 @@ -159843,7 +199536,7 @@ ENCODING 20200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 2FE0 @@ -159861,7 +199554,7 @@ ENCODING 20201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2200 @@ -159879,7 +199572,7 @@ ENCODING 20202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1140 2940 @@ -159897,7 +199590,7 @@ ENCODING 20203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2200 @@ -159915,7 +199608,7 @@ ENCODING 20204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 22E0 4A20 @@ -159933,7 +199626,7 @@ ENCODING 20205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2240 @@ -159951,7 +199644,7 @@ ENCODING 20206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1780 2400 @@ -159969,7 +199662,7 @@ ENCODING 20207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2280 @@ -159987,7 +199680,7 @@ ENCODING 20208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1DE0 2920 @@ -160005,7 +199698,7 @@ ENCODING 20209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2500 @@ -160023,7 +199716,7 @@ ENCODING 20210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -160041,7 +199734,7 @@ ENCODING 20211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1480 2480 @@ -160059,7 +199752,7 @@ ENCODING 20212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1420 2420 @@ -160077,7 +199770,7 @@ ENCODING 20213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27C0 @@ -160095,7 +199788,7 @@ ENCODING 20214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1500 2500 @@ -160113,7 +199806,7 @@ ENCODING 20215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1300 2480 @@ -160131,7 +199824,7 @@ ENCODING 20216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1780 1100 @@ -160149,7 +199842,7 @@ ENCODING 20217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -160167,7 +199860,7 @@ ENCODING 20218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -160185,7 +199878,7 @@ ENCODING 20219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -160203,7 +199896,7 @@ ENCODING 20220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 2FE0 @@ -160221,7 +199914,7 @@ ENCODING 20221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1280 2240 @@ -160239,7 +199932,7 @@ ENCODING 20222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2200 @@ -160257,7 +199950,7 @@ ENCODING 20223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -160275,7 +199968,7 @@ ENCODING 20224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1480 2480 @@ -160293,7 +199986,7 @@ ENCODING 20225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0600 0900 @@ -160311,7 +200004,7 @@ ENCODING 20226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -160329,7 +200022,7 @@ ENCODING 20227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2080 @@ -160347,7 +200040,7 @@ ENCODING 20228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1140 2140 @@ -160365,7 +200058,7 @@ ENCODING 20229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -160383,7 +200076,7 @@ ENCODING 20230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -160401,7 +200094,7 @@ ENCODING 20231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1780 2480 @@ -160419,7 +200112,7 @@ ENCODING 20232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1080 2080 @@ -160437,7 +200130,7 @@ ENCODING 20233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -160455,7 +200148,7 @@ ENCODING 20234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2240 @@ -160473,7 +200166,7 @@ ENCODING 20235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2240 @@ -160491,7 +200184,7 @@ ENCODING 20236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 2400 @@ -160509,7 +200202,7 @@ ENCODING 20237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2200 @@ -160527,7 +200220,7 @@ ENCODING 20238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -160545,7 +200238,7 @@ ENCODING 20239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1140 2120 @@ -160563,7 +200256,7 @@ ENCODING 20240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1240 2200 @@ -160581,7 +200274,7 @@ ENCODING 20241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -160599,7 +200292,7 @@ ENCODING 20242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2400 @@ -160617,7 +200310,7 @@ ENCODING 20243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2080 @@ -160635,7 +200328,7 @@ ENCODING 20244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2820 @@ -160653,7 +200346,7 @@ ENCODING 20245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 27C0 @@ -160671,7 +200364,7 @@ ENCODING 20246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FE0 @@ -160689,7 +200382,7 @@ ENCODING 20247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -160707,7 +200400,7 @@ ENCODING 20248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1220 2200 @@ -160725,7 +200418,7 @@ ENCODING 20249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2120 @@ -160743,7 +200436,7 @@ ENCODING 20250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -160761,7 +200454,7 @@ ENCODING 20251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 2840 @@ -160779,7 +200472,7 @@ ENCODING 20252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2F80 @@ -160797,7 +200490,7 @@ ENCODING 20253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2000 @@ -160815,7 +200508,7 @@ ENCODING 20254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0A00 @@ -160833,7 +200526,7 @@ ENCODING 20255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -160851,7 +200544,7 @@ ENCODING 20256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 27E0 @@ -160869,7 +200562,7 @@ ENCODING 20257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FE0 @@ -160887,7 +200580,7 @@ ENCODING 20258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2480 @@ -160905,7 +200598,7 @@ ENCODING 20259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2840 @@ -160923,7 +200616,7 @@ ENCODING 20260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -160941,7 +200634,7 @@ ENCODING 20261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1480 2500 @@ -160959,7 +200652,7 @@ ENCODING 20262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2280 @@ -160977,7 +200670,7 @@ ENCODING 20263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2280 @@ -160995,7 +200688,7 @@ ENCODING 20264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 27E0 @@ -161013,7 +200706,7 @@ ENCODING 20265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2000 @@ -161031,7 +200724,7 @@ ENCODING 20266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 1500 2100 @@ -161049,7 +200742,7 @@ ENCODING 20267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -161067,7 +200760,7 @@ ENCODING 20268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1420 2420 @@ -161085,7 +200778,7 @@ ENCODING 20269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -161103,7 +200796,7 @@ ENCODING 20270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 29E0 48A0 @@ -161121,7 +200814,7 @@ ENCODING 20271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1200 27E0 @@ -161139,7 +200832,7 @@ ENCODING 20272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -161157,7 +200850,7 @@ ENCODING 20273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2500 @@ -161175,7 +200868,7 @@ ENCODING 20274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1420 2420 @@ -161193,7 +200886,7 @@ ENCODING 20275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 1540 2540 @@ -161211,7 +200904,7 @@ ENCODING 20276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1920 2540 @@ -161229,7 +200922,7 @@ ENCODING 20277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4AA0 @@ -161247,7 +200940,7 @@ ENCODING 20278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2280 @@ -161265,7 +200958,7 @@ ENCODING 20279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4100 @@ -161283,7 +200976,7 @@ ENCODING 20280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -161301,7 +200994,7 @@ ENCODING 20281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -161319,7 +201012,7 @@ ENCODING 20282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 2020 @@ -161337,7 +201030,7 @@ ENCODING 20283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2100 @@ -161355,7 +201048,7 @@ ENCODING 20284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2A40 2940 @@ -161373,7 +201066,7 @@ ENCODING 20285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2800 3EE0 @@ -161391,7 +201084,7 @@ ENCODING 20286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2080 @@ -161409,7 +201102,7 @@ ENCODING 20287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -161427,7 +201120,7 @@ ENCODING 20288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FC0 4840 @@ -161445,7 +201138,7 @@ ENCODING 20289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2200 @@ -161463,7 +201156,7 @@ ENCODING 20290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4100 @@ -161481,7 +201174,7 @@ ENCODING 20291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2920 @@ -161499,7 +201192,7 @@ ENCODING 20292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 4880 @@ -161517,7 +201210,7 @@ ENCODING 20293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FC0 @@ -161535,7 +201228,7 @@ ENCODING 20294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -161553,7 +201246,7 @@ ENCODING 20295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1080 2FE0 @@ -161571,7 +201264,7 @@ ENCODING 20296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 3FE0 @@ -161589,7 +201282,7 @@ ENCODING 20297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -161607,7 +201300,7 @@ ENCODING 20298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -161625,7 +201318,7 @@ ENCODING 20299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4220 @@ -161643,7 +201336,7 @@ ENCODING 20300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4480 @@ -161661,7 +201354,7 @@ ENCODING 20301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2000 @@ -161679,7 +201372,7 @@ ENCODING 20302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1F00 2900 @@ -161697,7 +201390,7 @@ ENCODING 20303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -161715,7 +201408,7 @@ ENCODING 20304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FE0 @@ -161733,7 +201426,7 @@ ENCODING 20305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FE0 @@ -161751,7 +201444,7 @@ ENCODING 20306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 27C0 @@ -161769,7 +201462,7 @@ ENCODING 20307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 5FC0 @@ -161787,7 +201480,7 @@ ENCODING 20308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 21E0 @@ -161805,7 +201498,7 @@ ENCODING 20309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2040 @@ -161823,7 +201516,7 @@ ENCODING 20310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2140 2480 @@ -161841,7 +201534,7 @@ ENCODING 20311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -161859,7 +201552,7 @@ ENCODING 20312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -161877,7 +201570,7 @@ ENCODING 20313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -161895,7 +201588,7 @@ ENCODING 20314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1500 2500 @@ -161913,7 +201606,7 @@ ENCODING 20315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2500 5FC0 @@ -161931,7 +201624,7 @@ ENCODING 20316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -161949,7 +201642,7 @@ ENCODING 20317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -161967,7 +201660,7 @@ ENCODING 20318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2000 @@ -161985,7 +201678,7 @@ ENCODING 20319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13C0 2440 @@ -162003,7 +201696,7 @@ ENCODING 20320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -162021,7 +201714,7 @@ ENCODING 20321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2280 @@ -162039,7 +201732,7 @@ ENCODING 20322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1400 2400 @@ -162057,7 +201750,7 @@ ENCODING 20323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2920 @@ -162075,7 +201768,7 @@ ENCODING 20324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1400 2400 @@ -162092,26 +201785,26 @@ STARTCHAR U_4F65 ENCODING 20325 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0600 -0900 -1080 -6F60 +BBX 10 11 1 -1 +BITMAP +0800 +0C00 +1200 +2100 +DEC0 0000 -0440 -2240 -1280 -1080 -7FE0 +0880 +4480 +2500 +2100 +FFC0 ENDCHAR STARTCHAR U_4F66 ENCODING 20326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4200 @@ -162129,7 +201822,7 @@ ENCODING 20327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 23C0 @@ -162147,7 +201840,7 @@ ENCODING 20328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2800 4FC0 @@ -162165,7 +201858,7 @@ ENCODING 20329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5040 57C0 @@ -162183,7 +201876,7 @@ ENCODING 20330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2820 @@ -162201,7 +201894,7 @@ ENCODING 20331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 17C0 2440 @@ -162219,7 +201912,7 @@ ENCODING 20332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FA0 2240 @@ -162237,7 +201930,7 @@ ENCODING 20333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 4C40 @@ -162255,7 +201948,7 @@ ENCODING 20334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2500 @@ -162273,7 +201966,7 @@ ENCODING 20335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FE0 @@ -162291,7 +201984,7 @@ ENCODING 20336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2200 @@ -162309,7 +202002,7 @@ ENCODING 20337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -162326,8 +202019,8 @@ STARTCHAR U_4F72 ENCODING 20338 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2200 23C0 4440 @@ -162345,7 +202038,7 @@ ENCODING 20339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -162363,7 +202056,7 @@ ENCODING 20340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1440 2440 @@ -162381,7 +202074,7 @@ ENCODING 20341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2480 2FE0 @@ -162399,7 +202092,7 @@ ENCODING 20342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -162417,7 +202110,7 @@ ENCODING 20343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -162435,7 +202128,7 @@ ENCODING 20344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -162453,7 +202146,7 @@ ENCODING 20345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13C0 2480 @@ -162471,7 +202164,7 @@ ENCODING 20346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 2440 @@ -162489,7 +202182,7 @@ ENCODING 20347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1280 2AA0 @@ -162507,7 +202200,7 @@ ENCODING 20348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -162525,7 +202218,7 @@ ENCODING 20349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 29E0 @@ -162543,7 +202236,7 @@ ENCODING 20350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1440 2820 @@ -162561,7 +202254,7 @@ ENCODING 20351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -162579,7 +202272,7 @@ ENCODING 20352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F20 2AA0 2AA0 @@ -162597,7 +202290,7 @@ ENCODING 20353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 1500 27C0 @@ -162615,7 +202308,7 @@ ENCODING 20354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2800 @@ -162633,7 +202326,7 @@ ENCODING 20355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2880 2880 @@ -162651,7 +202344,7 @@ ENCODING 20356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2200 @@ -162669,7 +202362,7 @@ ENCODING 20357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2200 @@ -162687,7 +202380,7 @@ ENCODING 20358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -162705,7 +202398,7 @@ ENCODING 20359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -162723,7 +202416,7 @@ ENCODING 20360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13C0 2440 @@ -162741,7 +202434,7 @@ ENCODING 20361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -162759,7 +202452,7 @@ ENCODING 20362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2920 @@ -162777,7 +202470,7 @@ ENCODING 20363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F20 2420 24A0 @@ -162795,7 +202488,7 @@ ENCODING 20364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1500 @@ -162813,7 +202506,7 @@ ENCODING 20365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -162831,7 +202524,7 @@ ENCODING 20366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3240 4A80 @@ -162849,7 +202542,7 @@ ENCODING 20367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1500 27C0 @@ -162867,7 +202560,7 @@ ENCODING 20368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1200 2FE0 @@ -162885,7 +202578,7 @@ ENCODING 20369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2200 @@ -162903,7 +202596,7 @@ ENCODING 20370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2920 @@ -162921,7 +202614,7 @@ ENCODING 20371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2140 @@ -162939,7 +202632,7 @@ ENCODING 20372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1440 2FE0 @@ -162957,7 +202650,7 @@ ENCODING 20373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2200 @@ -162975,7 +202668,7 @@ ENCODING 20374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0E00 1100 @@ -162993,7 +202686,7 @@ ENCODING 20375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2BA0 @@ -163011,7 +202704,7 @@ ENCODING 20376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -163029,7 +202722,7 @@ ENCODING 20377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1140 2120 @@ -163047,7 +202740,7 @@ ENCODING 20378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1400 27E0 @@ -163065,7 +202758,7 @@ ENCODING 20379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1480 2480 @@ -163083,7 +202776,7 @@ ENCODING 20380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 17C0 2440 @@ -163101,7 +202794,7 @@ ENCODING 20381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -163119,7 +202812,7 @@ ENCODING 20382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 3EA0 @@ -163137,7 +202830,7 @@ ENCODING 20383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -163155,7 +202848,7 @@ ENCODING 20384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -163173,7 +202866,7 @@ ENCODING 20385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 2FE0 @@ -163191,7 +202884,7 @@ ENCODING 20386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2100 @@ -163209,7 +202902,7 @@ ENCODING 20387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -163227,7 +202920,7 @@ ENCODING 20388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1740 2280 @@ -163245,7 +202938,7 @@ ENCODING 20389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2240 @@ -163263,7 +202956,7 @@ ENCODING 20390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 11E0 2100 @@ -163281,7 +202974,7 @@ ENCODING 20391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3F20 5120 @@ -163299,7 +202992,7 @@ ENCODING 20392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 4200 @@ -163317,7 +203010,7 @@ ENCODING 20393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 2440 @@ -163335,7 +203028,7 @@ ENCODING 20394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -163353,7 +203046,7 @@ ENCODING 20395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -163371,7 +203064,7 @@ ENCODING 20396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -163389,7 +203082,7 @@ ENCODING 20397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -163407,7 +203100,7 @@ ENCODING 20398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1800 27E0 @@ -163425,7 +203118,7 @@ ENCODING 20399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 1080 2FE0 @@ -163443,7 +203136,7 @@ ENCODING 20400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2240 @@ -163461,7 +203154,7 @@ ENCODING 20401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -163479,7 +203172,7 @@ ENCODING 20402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 4BC0 @@ -163497,7 +203190,7 @@ ENCODING 20403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1540 2540 @@ -163515,7 +203208,7 @@ ENCODING 20404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0600 0900 @@ -163533,7 +203226,7 @@ ENCODING 20405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2040 4FC0 @@ -163551,7 +203244,7 @@ ENCODING 20406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -163569,7 +203262,7 @@ ENCODING 20407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -163587,7 +203280,7 @@ ENCODING 20408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2000 @@ -163605,7 +203298,7 @@ ENCODING 20409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2D80 2480 @@ -163623,7 +203316,7 @@ ENCODING 20410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2FE0 @@ -163641,7 +203334,7 @@ ENCODING 20411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FC0 @@ -163659,7 +203352,7 @@ ENCODING 20412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -163677,7 +203370,7 @@ ENCODING 20413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1540 27C0 @@ -163695,7 +203388,7 @@ ENCODING 20414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1740 2280 @@ -163713,7 +203406,7 @@ ENCODING 20415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -163731,7 +203424,7 @@ ENCODING 20416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1F20 2A20 @@ -163749,7 +203442,7 @@ ENCODING 20417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 2A40 @@ -163767,7 +203460,7 @@ ENCODING 20418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1F00 2200 @@ -163785,7 +203478,7 @@ ENCODING 20419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -163803,7 +203496,7 @@ ENCODING 20420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1340 1D20 2500 @@ -163821,7 +203514,7 @@ ENCODING 20421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 1140 2FE0 @@ -163839,7 +203532,7 @@ ENCODING 20422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 2440 @@ -163857,7 +203550,7 @@ ENCODING 20423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3BE0 4880 @@ -163875,7 +203568,7 @@ ENCODING 20424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1500 27C0 @@ -163893,7 +203586,7 @@ ENCODING 20425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2FC0 @@ -163911,7 +203604,7 @@ ENCODING 20426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1440 2FE0 @@ -163929,7 +203622,7 @@ ENCODING 20427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 1480 2780 @@ -163947,7 +203640,7 @@ ENCODING 20428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1240 2FE0 @@ -163965,7 +203658,7 @@ ENCODING 20429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FC0 @@ -163983,7 +203676,7 @@ ENCODING 20430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -164001,7 +203694,7 @@ ENCODING 20431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 14A0 22C0 @@ -164019,7 +203712,7 @@ ENCODING 20432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2320 3C20 24A0 @@ -164037,7 +203730,7 @@ ENCODING 20433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 2100 @@ -164055,7 +203748,7 @@ ENCODING 20434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -164073,7 +203766,7 @@ ENCODING 20435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1540 2540 @@ -164091,7 +203784,7 @@ ENCODING 20436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -164109,7 +203802,7 @@ ENCODING 20437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -164127,7 +203820,7 @@ ENCODING 20438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2380 @@ -164145,7 +203838,7 @@ ENCODING 20439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1440 2920 @@ -164163,7 +203856,7 @@ ENCODING 20440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1F20 2A20 @@ -164181,7 +203874,7 @@ ENCODING 20441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1660 1180 2660 @@ -164199,7 +203892,7 @@ ENCODING 20442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2920 @@ -164217,7 +203910,7 @@ ENCODING 20443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 17C0 2880 @@ -164235,7 +203928,7 @@ ENCODING 20444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2540 @@ -164253,7 +203946,7 @@ ENCODING 20445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -164271,7 +203964,7 @@ ENCODING 20446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3180 @@ -164289,7 +203982,7 @@ ENCODING 20447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1440 2FE0 @@ -164307,7 +204000,7 @@ ENCODING 20448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -164325,7 +204018,7 @@ ENCODING 20449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -164343,7 +204036,7 @@ ENCODING 20450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 2640 @@ -164361,7 +204054,7 @@ ENCODING 20451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 2440 @@ -164379,7 +204072,7 @@ ENCODING 20452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FE0 @@ -164397,7 +204090,7 @@ ENCODING 20453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2200 @@ -164415,7 +204108,7 @@ ENCODING 20454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2200 @@ -164433,7 +204126,7 @@ ENCODING 20455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -164451,7 +204144,7 @@ ENCODING 20456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1280 2AA0 @@ -164469,7 +204162,7 @@ ENCODING 20457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2480 4480 @@ -164487,7 +204180,7 @@ ENCODING 20458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 5DE0 @@ -164505,7 +204198,7 @@ ENCODING 20459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -164523,7 +204216,7 @@ ENCODING 20460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2340 3C40 4440 @@ -164541,7 +204234,7 @@ ENCODING 20461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1300 2480 @@ -164559,7 +204252,7 @@ ENCODING 20462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 2D40 @@ -164577,7 +204270,7 @@ ENCODING 20463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2A40 @@ -164595,7 +204288,7 @@ ENCODING 20464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1300 1C00 24E0 @@ -164613,7 +204306,7 @@ ENCODING 20465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -164631,7 +204324,7 @@ ENCODING 20466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2280 3F80 @@ -164649,7 +204342,7 @@ ENCODING 20467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1280 2EE0 @@ -164667,7 +204360,7 @@ ENCODING 20468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1FE0 2140 @@ -164685,7 +204378,7 @@ ENCODING 20469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -164703,7 +204396,7 @@ ENCODING 20470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 29E0 2EA0 @@ -164721,7 +204414,7 @@ ENCODING 20471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 52A0 @@ -164739,7 +204432,7 @@ ENCODING 20472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -164757,7 +204450,7 @@ ENCODING 20473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4500 @@ -164775,7 +204468,7 @@ ENCODING 20474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FC0 2500 @@ -164793,7 +204486,7 @@ ENCODING 20475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 17C0 2C80 @@ -164811,7 +204504,7 @@ ENCODING 20476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -164829,7 +204522,7 @@ ENCODING 20477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2680 3900 51E0 @@ -164847,7 +204540,7 @@ ENCODING 20478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2920 @@ -164865,7 +204558,7 @@ ENCODING 20479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1200 2FE0 @@ -164883,7 +204576,7 @@ ENCODING 20480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1400 2780 @@ -164901,7 +204594,7 @@ ENCODING 20481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2800 4EE0 @@ -164919,7 +204612,7 @@ ENCODING 20482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1240 2480 @@ -164937,7 +204630,7 @@ ENCODING 20483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EC0 52A0 @@ -164955,7 +204648,7 @@ ENCODING 20484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14C0 1300 2480 @@ -164973,7 +204666,7 @@ ENCODING 20485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -164991,7 +204684,7 @@ ENCODING 20486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2100 @@ -165009,7 +204702,7 @@ ENCODING 20487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2820 @@ -165027,7 +204720,7 @@ ENCODING 20488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2FE0 @@ -165045,7 +204738,7 @@ ENCODING 20489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3580 @@ -165063,7 +204756,7 @@ ENCODING 20490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2480 4A40 @@ -165081,7 +204774,7 @@ ENCODING 20491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2920 @@ -165099,7 +204792,7 @@ ENCODING 20492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -165117,7 +204810,7 @@ ENCODING 20493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -165135,7 +204828,7 @@ ENCODING 20494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2AA0 @@ -165153,7 +204846,7 @@ ENCODING 20495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 2640 @@ -165171,7 +204864,7 @@ ENCODING 20496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 5680 @@ -165189,7 +204882,7 @@ ENCODING 20497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -165207,7 +204900,7 @@ ENCODING 20498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3F20 48A0 @@ -165225,7 +204918,7 @@ ENCODING 20499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 1580 2900 @@ -165243,7 +204936,7 @@ ENCODING 20500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -165261,7 +204954,7 @@ ENCODING 20501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -165279,7 +204972,7 @@ ENCODING 20502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -165297,7 +204990,7 @@ ENCODING 20503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2AA0 @@ -165315,7 +205008,7 @@ ENCODING 20504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1920 2540 @@ -165333,7 +205026,7 @@ ENCODING 20505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2080 5FE0 @@ -165351,7 +205044,7 @@ ENCODING 20506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2280 @@ -165369,7 +205062,7 @@ ENCODING 20507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1FE0 2440 @@ -165387,7 +205080,7 @@ ENCODING 20508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2FA0 @@ -165405,7 +205098,7 @@ ENCODING 20509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7C80 1080 @@ -165423,7 +205116,7 @@ ENCODING 20510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -165441,7 +205134,7 @@ ENCODING 20511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1FE0 2480 @@ -165459,7 +205152,7 @@ ENCODING 20512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1240 27E0 @@ -165477,7 +205170,7 @@ ENCODING 20513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -165495,7 +205188,7 @@ ENCODING 20514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1100 2FC0 @@ -165513,7 +205206,7 @@ ENCODING 20515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2480 3FE0 @@ -165531,7 +205224,7 @@ ENCODING 20516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4200 @@ -165549,7 +205242,7 @@ ENCODING 20517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -165567,7 +205260,7 @@ ENCODING 20518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2680 3FE0 @@ -165585,7 +205278,7 @@ ENCODING 20519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 2FE0 @@ -165603,7 +205296,7 @@ ENCODING 20520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1420 2420 @@ -165621,7 +205314,7 @@ ENCODING 20521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -165639,7 +205332,7 @@ ENCODING 20522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2CE0 2820 @@ -165657,7 +205350,7 @@ ENCODING 20523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 2440 @@ -165675,7 +205368,7 @@ ENCODING 20524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 2200 @@ -165693,7 +205386,7 @@ ENCODING 20525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1780 2100 @@ -165711,7 +205404,7 @@ ENCODING 20526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2940 2FC0 @@ -165729,7 +205422,7 @@ ENCODING 20527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2940 4940 @@ -165747,7 +205440,7 @@ ENCODING 20528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -165765,7 +205458,7 @@ ENCODING 20529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -165783,7 +205476,7 @@ ENCODING 20530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4200 @@ -165801,7 +205494,7 @@ ENCODING 20531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5FC0 @@ -165819,7 +205512,7 @@ ENCODING 20532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 4500 @@ -165837,7 +205530,7 @@ ENCODING 20533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2EA0 40A0 @@ -165855,7 +205548,7 @@ ENCODING 20534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2880 4F80 @@ -165873,7 +205566,7 @@ ENCODING 20535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1FE0 2480 @@ -165891,7 +205584,7 @@ ENCODING 20536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 5220 @@ -165909,7 +205602,7 @@ ENCODING 20537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2500 4880 @@ -165927,7 +205620,7 @@ ENCODING 20538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -165945,7 +205638,7 @@ ENCODING 20539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 5520 @@ -165963,7 +205656,7 @@ ENCODING 20540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2200 @@ -165981,7 +205674,7 @@ ENCODING 20541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 4500 @@ -165999,7 +205692,7 @@ ENCODING 20542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1900 2BE0 @@ -166017,7 +205710,7 @@ ENCODING 20543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 4880 @@ -166035,7 +205728,7 @@ ENCODING 20544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1FE0 2480 @@ -166053,7 +205746,7 @@ ENCODING 20545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2A20 2540 @@ -166071,7 +205764,7 @@ ENCODING 20546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2480 5FE0 @@ -166089,7 +205782,7 @@ ENCODING 20547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 2BC0 @@ -166107,7 +205800,7 @@ ENCODING 20548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2200 5FC0 @@ -166125,7 +205818,7 @@ ENCODING 20549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 3FE0 @@ -166143,7 +205836,7 @@ ENCODING 20550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -166161,7 +205854,7 @@ ENCODING 20551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2A20 2A20 @@ -166179,7 +205872,7 @@ ENCODING 20552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -166197,7 +205890,7 @@ ENCODING 20553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 17C0 2240 @@ -166215,7 +205908,7 @@ ENCODING 20554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1100 27C0 @@ -166233,7 +205926,7 @@ ENCODING 20555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -166251,7 +205944,7 @@ ENCODING 20556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 1FE0 2480 @@ -166269,7 +205962,7 @@ ENCODING 20557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -166287,7 +205980,7 @@ ENCODING 20558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2940 2FC0 @@ -166305,7 +205998,7 @@ ENCODING 20559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -166323,7 +206016,7 @@ ENCODING 20560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2FE0 6440 @@ -166341,7 +206034,7 @@ ENCODING 20561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 5140 @@ -166359,7 +206052,7 @@ ENCODING 20562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 1480 2780 @@ -166377,7 +206070,7 @@ ENCODING 20563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -166395,7 +206088,7 @@ ENCODING 20564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EE0 @@ -166413,7 +206106,7 @@ ENCODING 20565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EA0 28C0 @@ -166431,7 +206124,7 @@ ENCODING 20566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1240 2FC0 @@ -166449,7 +206142,7 @@ ENCODING 20567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 1520 2940 @@ -166467,7 +206160,7 @@ ENCODING 20568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -166485,7 +206178,7 @@ ENCODING 20569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 4880 @@ -166503,7 +206196,7 @@ ENCODING 20570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 4880 @@ -166521,7 +206214,7 @@ ENCODING 20571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 1700 2100 @@ -166539,7 +206232,7 @@ ENCODING 20572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2000 @@ -166557,7 +206250,7 @@ ENCODING 20573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2EC0 22A0 @@ -166575,7 +206268,7 @@ ENCODING 20574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 1FE0 2540 @@ -166593,7 +206286,7 @@ ENCODING 20575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1200 27C0 @@ -166611,7 +206304,7 @@ ENCODING 20576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -166629,7 +206322,7 @@ ENCODING 20577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -166647,7 +206340,7 @@ ENCODING 20578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2C40 2540 @@ -166665,7 +206358,7 @@ ENCODING 20579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -166683,7 +206376,7 @@ ENCODING 20580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FE0 @@ -166701,7 +206394,7 @@ ENCODING 20581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BC0 4940 @@ -166719,7 +206412,7 @@ ENCODING 20582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2240 2B80 @@ -166737,7 +206430,7 @@ ENCODING 20583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4500 @@ -166755,7 +206448,7 @@ ENCODING 20584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24A0 56C0 @@ -166773,7 +206466,7 @@ ENCODING 20585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1480 2FE0 @@ -166791,7 +206484,7 @@ ENCODING 20586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1000 27C0 @@ -166809,7 +206502,7 @@ ENCODING 20587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 4880 @@ -166827,7 +206520,7 @@ ENCODING 20588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2FE0 4AA0 @@ -166845,7 +206538,7 @@ ENCODING 20589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4200 @@ -166863,7 +206556,7 @@ ENCODING 20590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17C0 2440 @@ -166881,7 +206574,7 @@ ENCODING 20591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2000 @@ -166899,7 +206592,7 @@ ENCODING 20592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 3FE0 48A0 @@ -166917,7 +206610,7 @@ ENCODING 20593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1880 2BE0 @@ -166935,7 +206628,7 @@ ENCODING 20594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2FE0 @@ -166953,7 +206646,7 @@ ENCODING 20595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1540 27C0 @@ -166971,7 +206664,7 @@ ENCODING 20596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3E20 52A0 @@ -166989,7 +206682,7 @@ ENCODING 20597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2200 @@ -167007,7 +206700,7 @@ ENCODING 20598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1540 27C0 @@ -167025,7 +206718,7 @@ ENCODING 20599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 5B60 @@ -167043,7 +206736,7 @@ ENCODING 20600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2500 2880 @@ -167061,7 +206754,7 @@ ENCODING 20601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 5440 @@ -167079,7 +206772,7 @@ ENCODING 20602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EC0 2AA0 @@ -167097,7 +206790,7 @@ ENCODING 20603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 2FE0 @@ -167115,7 +206808,7 @@ ENCODING 20604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 4200 @@ -167133,7 +206826,7 @@ ENCODING 20605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A00 2600 2F80 @@ -167151,7 +206844,7 @@ ENCODING 20606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2540 @@ -167169,7 +206862,7 @@ ENCODING 20607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4100 @@ -167187,7 +206880,7 @@ ENCODING 20608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 5240 @@ -167205,7 +206898,7 @@ ENCODING 20609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2EC0 4A40 @@ -167223,7 +206916,7 @@ ENCODING 20610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 5F00 51C0 @@ -167241,7 +206934,7 @@ ENCODING 20611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 27C0 @@ -167259,7 +206952,7 @@ ENCODING 20612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2540 @@ -167277,7 +206970,7 @@ ENCODING 20613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 3FE0 4200 @@ -167295,7 +206988,7 @@ ENCODING 20614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 3100 57C0 @@ -167313,7 +207006,7 @@ ENCODING 20615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 1FE0 2240 @@ -167331,7 +207024,7 @@ ENCODING 20616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -167349,7 +207042,7 @@ ENCODING 20617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 2BC0 @@ -167367,7 +207060,7 @@ ENCODING 20618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -167385,7 +207078,7 @@ ENCODING 20619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 2480 @@ -167403,7 +207096,7 @@ ENCODING 20620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 2FC0 @@ -167421,7 +207114,7 @@ ENCODING 20621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -167439,7 +207132,7 @@ ENCODING 20622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -167457,7 +207150,7 @@ ENCODING 20623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4900 @@ -167475,7 +207168,7 @@ ENCODING 20624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4000 @@ -167493,7 +207186,7 @@ ENCODING 20625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2DE0 5540 @@ -167511,7 +207204,7 @@ ENCODING 20626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3F20 2940 @@ -167529,7 +207222,7 @@ ENCODING 20627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4820 @@ -167547,7 +207240,7 @@ ENCODING 20628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 3FE0 4500 @@ -167565,7 +207258,7 @@ ENCODING 20629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -167583,7 +207276,7 @@ ENCODING 20630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2500 4A80 @@ -167601,7 +207294,7 @@ ENCODING 20631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4480 @@ -167619,7 +207312,7 @@ ENCODING 20632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1B00 E4E0 @@ -167637,7 +207330,7 @@ ENCODING 20633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 2480 @@ -167655,7 +207348,7 @@ ENCODING 20634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2480 3FE0 @@ -167673,7 +207366,7 @@ ENCODING 20635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4820 @@ -167691,7 +207384,7 @@ ENCODING 20636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 1E20 2A20 @@ -167709,7 +207402,7 @@ ENCODING 20637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 4FC0 @@ -167727,7 +207420,7 @@ ENCODING 20638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FE0 @@ -167745,7 +207438,7 @@ ENCODING 20639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 2A40 @@ -167763,7 +207456,7 @@ ENCODING 20640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2440 3E40 @@ -167781,7 +207474,7 @@ ENCODING 20641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 4000 @@ -167799,7 +207492,7 @@ ENCODING 20642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 3020 @@ -167817,7 +207510,7 @@ ENCODING 20643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2200 @@ -167835,7 +207528,7 @@ ENCODING 20644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2580 3F40 4540 @@ -167853,7 +207546,7 @@ ENCODING 20645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 2FE0 @@ -167871,7 +207564,7 @@ ENCODING 20646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2E40 4A40 @@ -167889,7 +207582,7 @@ ENCODING 20647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 28A0 @@ -167907,7 +207600,7 @@ ENCODING 20648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6120 57C0 4140 @@ -167925,7 +207618,7 @@ ENCODING 20649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3D40 47E0 @@ -167943,7 +207636,7 @@ ENCODING 20650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 4000 @@ -167961,7 +207654,7 @@ ENCODING 20651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2940 4FC0 @@ -167979,7 +207672,7 @@ ENCODING 20652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2FE0 @@ -167997,7 +207690,7 @@ ENCODING 20653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2940 @@ -168015,7 +207708,7 @@ ENCODING 20654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -168033,7 +207726,7 @@ ENCODING 20655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 2940 @@ -168051,7 +207744,7 @@ ENCODING 20656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 2000 @@ -168069,7 +207762,7 @@ ENCODING 20657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 2940 32A0 @@ -168087,7 +207780,7 @@ ENCODING 20658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 3F00 4900 @@ -168105,7 +207798,7 @@ ENCODING 20659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2A40 @@ -168123,7 +207816,7 @@ ENCODING 20660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2BC0 2A40 @@ -168141,7 +207834,7 @@ ENCODING 20661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2100 @@ -168159,7 +207852,7 @@ ENCODING 20662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3FE0 5500 @@ -168177,7 +207870,7 @@ ENCODING 20663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2C40 @@ -168195,7 +207888,7 @@ ENCODING 20664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 2200 @@ -168213,7 +207906,7 @@ ENCODING 20665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4480 @@ -168231,7 +207924,7 @@ ENCODING 20666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 52A0 5AC0 @@ -168249,7 +207942,7 @@ ENCODING 20667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2AA0 @@ -168267,7 +207960,7 @@ ENCODING 20668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 4480 @@ -168285,7 +207978,7 @@ ENCODING 20669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -168303,7 +207996,7 @@ ENCODING 20670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 2BE0 @@ -168321,7 +208014,7 @@ ENCODING 20671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 25C0 @@ -168339,7 +208032,7 @@ ENCODING 20672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 7FE0 5540 @@ -168357,7 +208050,7 @@ ENCODING 20673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5240 4A80 @@ -168375,7 +208068,7 @@ ENCODING 20674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2540 @@ -168393,7 +208086,7 @@ ENCODING 20675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 3FE0 5500 @@ -168411,7 +208104,7 @@ ENCODING 20676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4480 5FE0 @@ -168429,7 +208122,7 @@ ENCODING 20677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1FE0 2280 @@ -168447,7 +208140,7 @@ ENCODING 20678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 2AA0 @@ -168465,7 +208158,7 @@ ENCODING 20679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 2AA0 4660 @@ -168483,7 +208176,7 @@ ENCODING 20680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -168501,7 +208194,7 @@ ENCODING 20681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3180 @@ -168519,7 +208212,7 @@ ENCODING 20682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1280 2FE0 @@ -168537,7 +208230,7 @@ ENCODING 20683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 4A40 @@ -168555,7 +208248,7 @@ ENCODING 20684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3F40 44E0 @@ -168573,7 +208266,7 @@ ENCODING 20685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 4480 7FE0 @@ -168591,7 +208284,7 @@ ENCODING 20686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -168609,7 +208302,7 @@ ENCODING 20687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1480 2FE0 @@ -168627,7 +208320,7 @@ ENCODING 20688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 3FE0 2200 @@ -168645,7 +208338,7 @@ ENCODING 20689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2200 5FE0 @@ -168663,7 +208356,7 @@ ENCODING 20690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 28A0 @@ -168681,7 +208374,7 @@ ENCODING 20691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2540 @@ -168699,7 +208392,7 @@ ENCODING 20692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1FE0 2280 @@ -168717,7 +208410,7 @@ ENCODING 20693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 2FE0 @@ -168735,7 +208428,7 @@ ENCODING 20694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2200 @@ -168753,7 +208446,7 @@ ENCODING 20695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 5DC0 6A80 @@ -168771,7 +208464,7 @@ ENCODING 20696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5580 @@ -168789,7 +208482,7 @@ ENCODING 20697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 2480 @@ -168807,7 +208500,7 @@ ENCODING 20698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -168825,7 +208518,7 @@ ENCODING 20699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 7F80 52E0 @@ -168843,7 +208536,7 @@ ENCODING 20700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2D40 2580 54A0 @@ -168861,7 +208554,7 @@ ENCODING 20701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -168879,7 +208572,7 @@ ENCODING 20702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1F20 2540 @@ -168897,7 +208590,7 @@ ENCODING 20703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 29A0 4FE0 @@ -168915,7 +208608,7 @@ ENCODING 20704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1FA0 2540 @@ -168933,7 +208626,7 @@ ENCODING 20705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2A40 @@ -168951,7 +208644,7 @@ ENCODING 20706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F40 4A80 @@ -168969,7 +208662,7 @@ ENCODING 20707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 3DE0 4880 @@ -168987,7 +208680,7 @@ ENCODING 20708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2FE0 @@ -169005,7 +208698,7 @@ ENCODING 20709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 2100 @@ -169023,7 +208716,7 @@ ENCODING 20710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 7EC0 40A0 @@ -169041,7 +208734,7 @@ ENCODING 20711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1280 2FE0 @@ -169059,7 +208752,7 @@ ENCODING 20712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2540 @@ -169077,7 +208770,7 @@ ENCODING 20713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -169095,7 +208788,7 @@ ENCODING 20714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 5FE0 @@ -169113,7 +208806,7 @@ ENCODING 20715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2500 5DC0 @@ -169131,7 +208824,7 @@ ENCODING 20716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 1480 27E0 @@ -169149,7 +208842,7 @@ ENCODING 20717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4540 5540 @@ -169167,7 +208860,7 @@ ENCODING 20718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1FE0 2440 @@ -169185,7 +208878,7 @@ ENCODING 20719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 2FE0 @@ -169203,7 +208896,7 @@ ENCODING 20720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -169221,7 +208914,7 @@ ENCODING 20721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5020 @@ -169239,7 +208932,7 @@ ENCODING 20722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4FE0 @@ -169257,7 +208950,7 @@ ENCODING 20723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -169275,7 +208968,7 @@ ENCODING 20724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5520 5DE0 @@ -169293,7 +208986,7 @@ ENCODING 20725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 27C0 @@ -169311,7 +209004,7 @@ ENCODING 20726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2EE0 @@ -169329,7 +209022,7 @@ ENCODING 20727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1FE0 1280 @@ -169347,7 +209040,7 @@ ENCODING 20728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 2440 @@ -169365,7 +209058,7 @@ ENCODING 20729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -169383,7 +209076,7 @@ ENCODING 20730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -169401,7 +209094,7 @@ ENCODING 20731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 3FE0 52A0 @@ -169419,7 +209112,7 @@ ENCODING 20732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 3FC0 5540 @@ -169437,7 +209130,7 @@ ENCODING 20733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E40 2940 5F60 @@ -169455,7 +209148,7 @@ ENCODING 20734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 2FE0 @@ -169473,7 +209166,7 @@ ENCODING 20735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 34A0 @@ -169491,7 +209184,7 @@ ENCODING 20736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 4200 @@ -169509,7 +209202,7 @@ ENCODING 20737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2FC0 2900 @@ -169527,7 +209220,7 @@ ENCODING 20738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4AA0 @@ -169545,7 +209238,7 @@ ENCODING 20739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5540 @@ -169563,7 +209256,7 @@ ENCODING 20740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4480 @@ -169581,7 +209274,7 @@ ENCODING 20741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3240 2A80 5FE0 @@ -169599,7 +209292,7 @@ ENCODING 20742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3F80 4AE0 @@ -169617,7 +209310,7 @@ ENCODING 20743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2AA0 @@ -169635,7 +209328,7 @@ ENCODING 20744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 27C0 @@ -169653,7 +209346,7 @@ ENCODING 20745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 27C0 @@ -169671,7 +209364,7 @@ ENCODING 20746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1FE0 2440 @@ -169689,7 +209382,7 @@ ENCODING 20747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1480 2FE0 @@ -169707,7 +209400,7 @@ ENCODING 20748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 5280 5EE0 @@ -169725,7 +209418,7 @@ ENCODING 20749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2D40 2AC0 @@ -169743,7 +209436,7 @@ ENCODING 20750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FC0 24A0 @@ -169761,7 +209454,7 @@ ENCODING 20751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 26E0 24A0 @@ -169779,7 +209472,7 @@ ENCODING 20752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -169797,7 +209490,7 @@ ENCODING 20753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -169815,7 +209508,7 @@ ENCODING 20754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -169833,7 +209526,7 @@ ENCODING 20755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 4200 4F80 @@ -169851,7 +209544,7 @@ ENCODING 20756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4200 5FE0 @@ -169869,7 +209562,7 @@ ENCODING 20757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -169887,7 +209580,7 @@ ENCODING 20758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E80 34E0 5E80 @@ -169905,7 +209598,7 @@ ENCODING 20759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 2C20 4AC0 @@ -169923,7 +209616,7 @@ ENCODING 20760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 3FE0 @@ -169941,7 +209634,7 @@ ENCODING 20761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 67C0 5540 @@ -169959,7 +209652,7 @@ ENCODING 20762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 4480 @@ -169977,7 +209670,7 @@ ENCODING 20763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 3540 @@ -169995,7 +209688,7 @@ ENCODING 20764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -170013,7 +209706,7 @@ ENCODING 20765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 36C0 2D80 @@ -170031,7 +209724,7 @@ ENCODING 20766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 2A40 @@ -170049,7 +209742,7 @@ ENCODING 20767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 3FE0 34A0 @@ -170067,7 +209760,7 @@ ENCODING 20768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3500 4A80 @@ -170085,7 +209778,7 @@ ENCODING 20769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5240 5FC0 @@ -170103,7 +209796,7 @@ ENCODING 20770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2200 5FE0 @@ -170121,7 +209814,7 @@ ENCODING 20771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 3280 @@ -170139,7 +209832,7 @@ ENCODING 20772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1440 27C0 @@ -170157,7 +209850,7 @@ ENCODING 20773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -170175,7 +209868,7 @@ ENCODING 20774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -170193,7 +209886,7 @@ ENCODING 20775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 1EE0 2440 @@ -170211,7 +209904,7 @@ ENCODING 20776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2880 2EE0 @@ -170229,7 +209922,7 @@ ENCODING 20777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5520 55E0 @@ -170247,7 +209940,7 @@ ENCODING 20778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 27C0 @@ -170265,7 +209958,7 @@ ENCODING 20779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4480 @@ -170283,7 +209976,7 @@ ENCODING 20780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 3E20 4BE0 @@ -170301,7 +209994,7 @@ ENCODING 20781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 7F20 55E0 @@ -170319,7 +210012,7 @@ ENCODING 20782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2A40 @@ -170337,7 +210030,7 @@ ENCODING 20783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 1FE0 2100 @@ -170355,7 +210048,7 @@ ENCODING 20784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 5480 @@ -170373,7 +210066,7 @@ ENCODING 20785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 3E80 2BE0 @@ -170391,7 +210084,7 @@ ENCODING 20786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 3DE0 40A0 @@ -170409,7 +210102,7 @@ ENCODING 20787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 5FC0 @@ -170427,7 +210120,7 @@ ENCODING 20788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -170445,7 +210138,7 @@ ENCODING 20789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2640 5980 @@ -170463,7 +210156,7 @@ ENCODING 20790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 4900 @@ -170481,7 +210174,7 @@ ENCODING 20791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2000 2FE0 @@ -170499,7 +210192,7 @@ ENCODING 20792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -170517,7 +210210,7 @@ ENCODING 20793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 3540 @@ -170535,7 +210228,7 @@ ENCODING 20794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 7F40 55E0 @@ -170553,7 +210246,7 @@ ENCODING 20795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 7FE0 68A0 @@ -170571,7 +210264,7 @@ ENCODING 20796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5520 5FE0 @@ -170589,7 +210282,7 @@ ENCODING 20797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 5240 5FC0 @@ -170607,7 +210300,7 @@ ENCODING 20798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4A40 @@ -170625,7 +210318,7 @@ ENCODING 20799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -170642,44 +210335,44 @@ STARTCHAR U_5140 ENCODING 20800 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0040 -7FE0 -0900 -0900 -0900 -0900 -0900 -1100 -1120 -2120 -40E0 +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 11 11 0 -1 -BITMAP -0400 +BBX 10 11 1 -1 +BITMAP 0800 -1080 -3FC0 -0940 -0900 -0900 -0900 -1120 -1120 -60E0 +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 +BITMAP 0400 7FC0 0400 @@ -170696,98 +210389,97 @@ STARTCHAR U_5143 ENCODING 20803 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -3FC0 +BBX 10 10 1 -1 +BITMAP +7F80 0000 0000 -7FE0 -0900 -0900 -1100 -1120 -2120 -40E0 +FFC0 +1200 +1200 +2200 +2240 +4240 +81C0 ENDCHAR STARTCHAR U_5144 ENCODING 20804 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -2080 -3F80 -2A80 -0A00 -0A00 -1220 -2220 -41E0 +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 11 11 0 -1 -BITMAP -0200 -7FE0 +BBX 10 11 1 -1 +BITMAP 0400 -0880 -3FC0 -0940 -0900 -0900 -1120 -1120 -60E0 +FFC0 +0800 +1100 +7F80 +1280 +1200 +1200 +2240 +2240 +C1C0 ENDCHAR STARTCHAR U_5146 ENCODING 20806 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -4920 -2940 -2980 -0900 -19C0 -2920 -4900 -1120 -2120 -40E0 +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 11 11 0 -1 -BITMAP -0900 -2540 +BBX 10 11 1 -1 +BITMAP +1200 +4A80 +4480 +4A80 +5080 +7F80 +1200 +1200 2240 -2540 -2840 -3FC0 -0900 -0900 -1120 -2120 -40E0 +4240 +81C0 ENDCHAR STARTCHAR U_5148 ENCODING 20808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2400 3FC0 @@ -170805,7 +210497,7 @@ ENCODING 20809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 2480 @@ -170823,7 +210515,7 @@ ENCODING 20810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 1100 2480 @@ -170841,7 +210533,7 @@ ENCODING 20811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -170859,7 +210551,7 @@ ENCODING 20812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2100 4080 @@ -170876,26 +210568,26 @@ STARTCHAR U_514D ENCODING 20813 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1F00 -2200 -7FC0 -2440 +BBX 10 11 1 -1 +BITMAP +2000 +3E00 +4400 +FF80 +4880 +4880 +7F80 +1400 +1440 2440 -3FC0 -0A00 -0A20 -1220 -61E0 +C3C0 ENDCHAR STARTCHAR U_514E ENCODING 20814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 0400 @@ -170913,7 +210605,7 @@ ENCODING 20815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 43C0 @@ -170931,7 +210623,7 @@ ENCODING 20816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -170948,44 +210640,44 @@ STARTCHAR U_5151 ENCODING 20817 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -0900 -1F80 -1080 -1080 -1080 -1F80 -0900 -0920 -1120 -60E0 +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 11 11 0 -1 -BITMAP -0800 -33C0 -2040 -39C0 -2040 -3FC0 -2940 -0900 -0920 -1120 -60E0 +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 +BITMAP FBE0 2080 A280 @@ -171003,7 +210695,7 @@ ENCODING 20820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F00 2200 @@ -171020,63 +210712,62 @@ STARTCHAR U_5155 ENCODING 20821 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -4A40 -4A40 -4E40 -4040 -7FC0 -4940 -0900 -0920 -1120 -60E0 +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 11 11 0 -1 -BITMAP -0200 -7FE0 -1080 -2440 -4920 -1080 -1F40 -0900 -0920 -1120 -60E0 +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 11 11 0 -1 -BITMAP -0400 -7FE0 -1080 -2040 -5FA0 -1080 -1F80 -0A00 -0A20 -1220 -61E0 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FA00 0280 FA40 @@ -171093,7 +210784,7 @@ ENCODING 20825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 1080 @@ -171110,26 +210801,26 @@ STARTCHAR U_515A ENCODING 20826 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2480 -1500 -7FE0 -4020 -5FA0 -1080 -1F80 -0A00 -0A20 -1220 -61E0 +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 +BITMAP 1060 7F80 1080 @@ -171146,26 +210837,26 @@ STARTCHAR U_515C ENCODING 20828 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1400 -6F60 -4920 -4F20 -4920 -7F60 -4020 -0900 -0920 -1120 -60E0 +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 +BITMAP 1040 FD40 1220 @@ -171183,7 +210874,7 @@ ENCODING 20830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FB00 2100 @@ -171201,7 +210892,7 @@ ENCODING 20831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A280 A280 FBE0 @@ -171219,7 +210910,7 @@ ENCODING 20832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 EEA0 2AC0 @@ -171237,7 +210928,7 @@ ENCODING 20833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 2100 @@ -171255,7 +210946,7 @@ ENCODING 20834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -171273,7 +210964,7 @@ ENCODING 20835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC00 27E0 @@ -171291,7 +210982,7 @@ ENCODING 20836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A7E0 AD40 @@ -171309,7 +211000,7 @@ ENCODING 20837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 0400 0400 @@ -171327,7 +211018,7 @@ ENCODING 20838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 8200 8200 @@ -171344,26 +211035,26 @@ STARTCHAR U_5167 ENCODING 20839 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 1 -1 +BITMAP +1000 0800 -0400 -7FC0 -4440 -4440 -4440 -4A40 -5140 -6140 -4040 -40C0 +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 +BITMAP 0400 0A00 1100 @@ -171380,26 +211071,26 @@ STARTCHAR U_5169 ENCODING 20841 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -0400 -7FE0 -4420 -6620 -5520 -5520 -6EA0 -4420 -4420 -4460 +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 +BITMAP 0400 0A00 3180 @@ -171416,8 +211107,8 @@ STARTCHAR U_516B ENCODING 20843 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 0200 1200 1200 @@ -171428,14 +211119,13 @@ BITMAP 2080 4040 8020 -0000 ENDCHAR STARTCHAR U_516C ENCODING 20844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1100 1080 @@ -171453,7 +211143,7 @@ ENCODING 20845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 0000 @@ -171471,7 +211161,7 @@ ENCODING 20846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2080 @@ -171488,8 +211178,8 @@ STARTCHAR U_516F ENCODING 20847 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4040 2080 1100 @@ -171507,7 +211197,7 @@ ENCODING 20848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -171525,7 +211215,7 @@ ENCODING 20849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FC0 @@ -171543,7 +211233,7 @@ ENCODING 20850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F00 @@ -171561,7 +211251,7 @@ ENCODING 20851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -171579,7 +211269,7 @@ ENCODING 20852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 4440 2480 @@ -171597,7 +211287,7 @@ ENCODING 20853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 2000 @@ -171615,7 +211305,7 @@ ENCODING 20854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -171633,7 +211323,7 @@ ENCODING 20855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -171651,7 +211341,7 @@ ENCODING 20856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0A00 3FC0 @@ -171669,7 +211359,7 @@ ENCODING 20857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1200 FFE0 @@ -171687,7 +211377,7 @@ ENCODING 20858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 1100 20C0 @@ -171705,7 +211395,7 @@ ENCODING 20859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -171723,7 +211413,7 @@ ENCODING 20860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 1200 @@ -171741,7 +211431,7 @@ ENCODING 20861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -171759,7 +211449,7 @@ ENCODING 20862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3F80 2480 @@ -171777,7 +211467,7 @@ ENCODING 20863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FC0 1100 @@ -171795,7 +211485,7 @@ ENCODING 20864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B80 0A20 7FE0 @@ -171813,7 +211503,7 @@ ENCODING 20865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 5420 27E0 @@ -171830,45 +211520,43 @@ STARTCHAR U_5182 ENCODING 20866 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -0000 -7FC0 -4040 -4040 -5F40 -4040 -4040 -5F40 -4040 -4040 -41C0 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3F80 2080 2080 @@ -171884,44 +211572,43 @@ STARTCHAR U_5185 ENCODING 20869 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -7FE0 -4420 -4420 -4620 -4920 -50A0 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -0000 -7FC0 -4440 -4440 -4440 -7FC0 -4040 -4040 -4040 -4040 -41C0 +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 +BITMAP 0400 FFE0 0800 @@ -171938,26 +211625,26 @@ STARTCHAR U_5188 ENCODING 20872 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -40A0 -48A0 -4520 -4220 -4520 -48A0 -50A0 -4020 -40E0 +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 +BITMAP 0400 0400 7FC0 @@ -171975,7 +211662,7 @@ ENCODING 20874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 4A40 @@ -171992,9 +211679,8 @@ STARTCHAR U_518B ENCODING 20875 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP FFC0 8040 8040 @@ -172011,7 +211697,7 @@ ENCODING 20876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -172029,7 +211715,7 @@ ENCODING 20877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 3F80 @@ -172047,7 +211733,7 @@ ENCODING 20878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3E80 @@ -172064,62 +211750,62 @@ STARTCHAR U_518F ENCODING 20879 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4920 -50A0 -6F60 -4920 -4920 -4920 -4F20 -4020 -4060 +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 11 11 0 -1 -BITMAP -7FC0 -4040 -5F40 -4040 -3F80 -2080 -3F80 -2080 -3F80 -2080 -2180 +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 11 11 0 -1 -BITMAP -0400 -7FC0 -4440 -7FC0 -4440 -7FC0 -2080 -2E80 -2080 -2E80 -2180 +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 +BITMAP FFE0 8020 BFA0 @@ -172137,7 +211823,7 @@ ENCODING 20883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -172155,7 +211841,7 @@ ENCODING 20884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 5F40 @@ -172173,7 +211859,7 @@ ENCODING 20885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 5F40 @@ -172190,27 +211876,18 @@ STARTCHAR U_5196 ENCODING 20886 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 3 0 6 +BITMAP 7FE0 4040 8080 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_5197 ENCODING 20887 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FE0 4020 9F40 @@ -172226,26 +211903,26 @@ STARTCHAR U_5198 ENCODING 20888 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -3FE0 -4440 -0400 -0600 -0600 -0A00 -0A20 -1220 -61E0 +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 +BITMAP 7FE0 4020 9040 @@ -172262,9 +211939,8 @@ STARTCHAR U_519A ENCODING 20890 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FE0 4020 8400 @@ -172280,26 +211956,26 @@ STARTCHAR U_519B ENCODING 20891 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -0400 -3FC0 +BBX 10 11 1 -1 +BITMAP +FFC0 +8040 0800 -1200 -3FC0 -0200 -7FE0 -0200 -0200 +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 +BITMAP 0400 7FE0 4420 @@ -172316,9 +211992,8 @@ STARTCHAR U_519D ENCODING 20893 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FE0 4040 9F00 @@ -172335,7 +212010,7 @@ ENCODING 20894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 0400 @@ -172353,7 +212028,7 @@ ENCODING 20895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 8820 3F80 @@ -172371,7 +212046,7 @@ ENCODING 20896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 80A0 @@ -172389,7 +212064,7 @@ ENCODING 20897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 9F80 @@ -172406,27 +212081,26 @@ STARTCHAR U_51A2 ENCODING 20898 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -3F80 -0800 -1640 -6A80 -1700 -6A80 -1240 -6220 -0C00 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FE0 8020 7F80 @@ -172443,7 +212117,7 @@ ENCODING 20900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8820 1F00 @@ -172461,7 +212135,7 @@ ENCODING 20901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 BFA0 @@ -172479,7 +212153,7 @@ ENCODING 20902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 8020 3900 @@ -172496,9 +212170,8 @@ STARTCHAR U_51A7 ENCODING 20903 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FE0 4040 9100 @@ -172515,7 +212188,7 @@ ENCODING 20904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 BFC0 @@ -172533,7 +212206,7 @@ ENCODING 20905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 3B80 @@ -172551,7 +212224,7 @@ ENCODING 20906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8A20 BFA0 @@ -172568,26 +212241,26 @@ STARTCHAR U_51AB ENCODING 20907 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -8000 -4000 -2000 -0000 -1000 -2000 -C000 -4000 -4000 -4000 -4000 +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 +BITMAP 1000 1F00 3100 @@ -172605,7 +212278,7 @@ ENCODING 20909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -172622,9 +212295,8 @@ STARTCHAR U_51AE ENCODING 20910 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP 8F80 4200 4200 @@ -172641,7 +212313,7 @@ ENCODING 20911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F80 4080 4480 @@ -172659,7 +212331,7 @@ ENCODING 20912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0120 @@ -172677,7 +212349,7 @@ ENCODING 20913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2200 0200 @@ -172695,7 +212367,7 @@ ENCODING 20914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2FE0 @@ -172713,7 +212385,7 @@ ENCODING 20915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2FC0 @@ -172730,9 +212402,8 @@ STARTCHAR U_51B4 ENCODING 20916 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 8FE0 4080 4480 @@ -172749,7 +212420,7 @@ ENCODING 20917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4840 4840 @@ -172767,7 +212438,7 @@ ENCODING 20918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4200 0440 @@ -172785,7 +212456,7 @@ ENCODING 20919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4200 0500 @@ -172803,7 +212474,7 @@ ENCODING 20920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4920 2520 @@ -172821,7 +212492,7 @@ ENCODING 20921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4240 4FE0 @@ -172839,7 +212510,7 @@ ENCODING 20922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 2FC0 @@ -172857,7 +212528,7 @@ ENCODING 20923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 2400 @@ -172875,7 +212546,7 @@ ENCODING 20924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4500 27E0 @@ -172893,7 +212564,7 @@ ENCODING 20925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9F20 4420 46A0 @@ -172911,7 +212582,7 @@ ENCODING 20926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4500 4880 @@ -172929,7 +212600,7 @@ ENCODING 20927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 47C0 2140 @@ -172947,7 +212618,7 @@ ENCODING 20928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4F80 4900 @@ -172965,7 +212636,7 @@ ENCODING 20929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 9FE0 4200 @@ -172983,7 +212654,7 @@ ENCODING 20930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 47C0 2880 @@ -173001,7 +212672,7 @@ ENCODING 20931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4200 4500 @@ -173019,7 +212690,7 @@ ENCODING 20932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4FE0 4240 @@ -173037,7 +212708,7 @@ ENCODING 20933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5220 5220 @@ -173055,7 +212726,7 @@ ENCODING 20934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 8900 4FE0 @@ -173073,7 +212744,7 @@ ENCODING 20935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 4940 5D40 @@ -173091,7 +212762,7 @@ ENCODING 20936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5220 4940 @@ -173109,7 +212780,7 @@ ENCODING 20937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 4000 @@ -173127,7 +212798,7 @@ ENCODING 20938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 4100 @@ -173145,7 +212816,7 @@ ENCODING 20939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4920 4FE0 @@ -173163,7 +212834,7 @@ ENCODING 20940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4FC0 4200 @@ -173181,7 +212852,7 @@ ENCODING 20941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 4100 @@ -173199,7 +212870,7 @@ ENCODING 20942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0700 8880 5040 @@ -173217,7 +212888,7 @@ ENCODING 20943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 80A0 5FE0 @@ -173235,7 +212906,7 @@ ENCODING 20944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4280 4FE0 @@ -173253,7 +212924,7 @@ ENCODING 20945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4100 4FC0 @@ -173271,7 +212942,7 @@ ENCODING 20946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4540 2540 @@ -173289,7 +212960,7 @@ ENCODING 20947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 4280 2FE0 @@ -173307,7 +212978,7 @@ ENCODING 20948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4280 2540 @@ -173325,7 +212996,7 @@ ENCODING 20949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 4820 27C0 @@ -173343,7 +213014,7 @@ ENCODING 20950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2BE0 0880 @@ -173361,7 +213032,7 @@ ENCODING 20951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 2FE0 @@ -173379,7 +213050,7 @@ ENCODING 20952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AE0 5F80 4A80 @@ -173397,7 +213068,7 @@ ENCODING 20953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4AA0 2FE0 @@ -173415,7 +213086,7 @@ ENCODING 20954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 9FE0 4480 @@ -173433,7 +213104,7 @@ ENCODING 20955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 7FE0 5540 @@ -173451,7 +213122,7 @@ ENCODING 20956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 BFE0 5540 @@ -173469,7 +213140,7 @@ ENCODING 20957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 89E0 4CA0 4840 @@ -173487,7 +213158,7 @@ ENCODING 20958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BEE0 64A0 24A0 @@ -173505,7 +213176,7 @@ ENCODING 20959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 9FE0 4100 @@ -173523,7 +213194,7 @@ ENCODING 20960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1100 1100 @@ -173541,7 +213212,7 @@ ENCODING 20961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1100 1100 @@ -173559,7 +213230,7 @@ ENCODING 20962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0800 1F00 @@ -173577,7 +213248,7 @@ ENCODING 20963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 1F00 @@ -173595,7 +213266,7 @@ ENCODING 20964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 5E80 @@ -173613,7 +213284,7 @@ ENCODING 20965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -173631,7 +213302,7 @@ ENCODING 20966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2380 3A80 @@ -173649,7 +213320,7 @@ ENCODING 20967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 4440 @@ -173667,7 +213338,7 @@ ENCODING 20968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 5E80 @@ -173685,7 +213356,7 @@ ENCODING 20969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 4440 @@ -173703,7 +213374,7 @@ ENCODING 20970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 4480 @@ -173721,7 +213392,7 @@ ENCODING 20971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F00 5100 @@ -173739,7 +213410,7 @@ ENCODING 20972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 5E80 @@ -173757,7 +213428,7 @@ ENCODING 20973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3F00 6200 @@ -173775,7 +213446,7 @@ ENCODING 20974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 5E80 @@ -173793,7 +213464,7 @@ ENCODING 20975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABC0 AA40 FA40 @@ -173811,7 +213482,7 @@ ENCODING 20976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4880 5E80 @@ -173829,7 +213500,7 @@ ENCODING 20977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 AA40 FA40 @@ -173847,7 +213518,7 @@ ENCODING 20978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5240 7F40 @@ -173865,7 +213536,7 @@ ENCODING 20979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 5140 2E80 @@ -173883,7 +213554,7 @@ ENCODING 20980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4900 2FC0 @@ -173900,9 +213571,8 @@ STARTCHAR U_51F5 ENCODING 20981 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 4020 4020 4020 @@ -173919,7 +213589,7 @@ ENCODING 20982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 9120 8A20 @@ -173937,7 +213607,7 @@ ENCODING 20983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 8420 @@ -173954,44 +213624,43 @@ STARTCHAR U_51F8 ENCODING 20984 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0F00 -0900 -0900 -0900 -79E0 -4020 -4020 -4020 -4020 -7FE0 -4020 -ENDCHAR -STARTCHAR U_51F9 -ENCODING 20985 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -79E0 -4920 -4920 -4920 -4F20 -4020 -4020 -4020 -7FE0 -4020 +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 +BITMAP 0400 4440 4440 @@ -174009,7 +213678,7 @@ ENCODING 20987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -174027,7 +213696,7 @@ ENCODING 20988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 8420 B4A0 @@ -174045,7 +213714,7 @@ ENCODING 20989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0100 0200 @@ -174063,7 +213732,7 @@ ENCODING 20990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0100 0200 @@ -174081,7 +213750,7 @@ ENCODING 20991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A80 FFE0 @@ -174098,26 +213767,25 @@ STARTCHAR U_5200 ENCODING 20992 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -0840 -0840 -0840 -0840 -0840 -1040 -1040 -2040 -4180 +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 +BITMAP 0040 7FE0 0040 @@ -174134,63 +213802,62 @@ STARTCHAR U_5202 ENCODING 20994 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0020 -0020 -0120 -0120 -0120 -0120 -0120 -0020 -0020 -0020 -00E0 +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 11 11 0 -1 -BITMAP -0040 -7FE0 -0440 -0440 -2440 -2440 -4440 -0840 -1040 -2040 -4380 +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 11 11 0 -1 -BITMAP -7FC0 -0840 -4840 -2840 -1840 -0840 -0C40 -0B40 -10E0 -2140 -4080 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7F00 1100 1100 @@ -174207,7 +213874,7 @@ ENCODING 20998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2080 @@ -174225,7 +213892,7 @@ ENCODING 20999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2120 @@ -174243,7 +213910,7 @@ ENCODING 21000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 8920 4920 @@ -174261,7 +213928,7 @@ ENCODING 21001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3EA0 40A0 @@ -174279,7 +213946,7 @@ ENCODING 21002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 1120 1120 @@ -174297,7 +213964,7 @@ ENCODING 21003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 0C20 7020 @@ -174315,7 +213982,7 @@ ENCODING 21004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 0820 08A0 @@ -174332,26 +213999,26 @@ STARTCHAR U_520D ENCODING 21005 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0F80 -1100 +BBX 9 11 1 -1 +BITMAP +1000 +1F00 2200 -5FC0 -0040 -0040 -1FC0 -0040 -0040 -3FC0 +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 +BITMAP 2020 7E20 AAA0 @@ -174369,7 +214036,7 @@ ENCODING 21007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 7C20 80A0 @@ -174387,7 +214054,7 @@ ENCODING 21008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 64A0 @@ -174405,7 +214072,7 @@ ENCODING 21009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 2420 24A0 @@ -174423,7 +214090,7 @@ ENCODING 21010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 2420 20A0 @@ -174441,7 +214108,7 @@ ENCODING 21011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 00A0 00A0 @@ -174459,7 +214126,7 @@ ENCODING 21012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 F820 2920 @@ -174477,7 +214144,7 @@ ENCODING 21013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0840 0840 @@ -174495,7 +214162,7 @@ ENCODING 21014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E20 22A0 22A0 @@ -174513,7 +214180,7 @@ ENCODING 21015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 1020 1120 @@ -174531,7 +214198,7 @@ ENCODING 21016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 1020 FEA0 @@ -174548,8 +214215,8 @@ STARTCHAR U_5219 ENCODING 21017 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7C40 4540 4540 @@ -174567,7 +214234,7 @@ ENCODING 21018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 82A0 8AA0 @@ -174585,7 +214252,7 @@ ENCODING 21019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1820 24A0 @@ -174603,7 +214270,7 @@ ENCODING 21020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 FEA0 2AA0 @@ -174621,7 +214288,7 @@ ENCODING 21021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F920 @@ -174639,7 +214306,7 @@ ENCODING 21022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 44A0 44A0 @@ -174657,7 +214324,7 @@ ENCODING 21023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 2220 22A0 @@ -174675,7 +214342,7 @@ ENCODING 21024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 AAA0 AAA0 @@ -174693,7 +214360,7 @@ ENCODING 21025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 8420 84A0 @@ -174711,7 +214378,7 @@ ENCODING 21026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1820 24A0 @@ -174729,7 +214396,7 @@ ENCODING 21027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1020 20A0 @@ -174747,7 +214414,7 @@ ENCODING 21028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 52A0 54A0 @@ -174765,7 +214432,7 @@ ENCODING 21029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 4520 @@ -174783,7 +214450,7 @@ ENCODING 21030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1020 7CA0 @@ -174801,7 +214468,7 @@ ENCODING 21031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7920 1120 @@ -174819,7 +214486,7 @@ ENCODING 21032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3EA0 42A0 @@ -174837,7 +214504,7 @@ ENCODING 21033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C20 70A0 10A0 @@ -174855,7 +214522,7 @@ ENCODING 21034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 AAA0 AAA0 @@ -174873,7 +214540,7 @@ ENCODING 21035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 44A0 @@ -174891,7 +214558,7 @@ ENCODING 21036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2820 FD20 @@ -174909,7 +214576,7 @@ ENCODING 21037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 08A0 10A0 @@ -174927,7 +214594,7 @@ ENCODING 21038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C20 F020 1120 @@ -174945,7 +214612,7 @@ ENCODING 21039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 0020 7CA0 @@ -174963,7 +214630,7 @@ ENCODING 21040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 1020 20A0 @@ -174981,7 +214648,7 @@ ENCODING 21041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 5140 5140 @@ -174999,7 +214666,7 @@ ENCODING 21042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1120 7D20 @@ -175017,7 +214684,7 @@ ENCODING 21043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 24A0 @@ -175035,7 +214702,7 @@ ENCODING 21044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 2820 2EA0 @@ -175053,7 +214720,7 @@ ENCODING 21045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 2420 24A0 @@ -175071,7 +214738,7 @@ ENCODING 21046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 50A0 7EA0 @@ -175089,7 +214756,7 @@ ENCODING 21047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 4220 7EA0 @@ -175107,7 +214774,7 @@ ENCODING 21048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2500 7FC0 @@ -175125,7 +214792,7 @@ ENCODING 21049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6C20 1020 28A0 @@ -175143,7 +214810,7 @@ ENCODING 21050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEA0 10A0 @@ -175161,7 +214828,7 @@ ENCODING 21051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 1020 FEA0 @@ -175179,7 +214846,7 @@ ENCODING 21052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 10A0 7CA0 @@ -175197,7 +214864,7 @@ ENCODING 21053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1820 2420 42A0 @@ -175215,7 +214882,7 @@ ENCODING 21054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 7C20 10A0 @@ -175233,7 +214900,7 @@ ENCODING 21055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 9220 92A0 @@ -175251,7 +214918,7 @@ ENCODING 21056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 9220 FEA0 @@ -175269,7 +214936,7 @@ ENCODING 21057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 44A0 @@ -175287,7 +214954,7 @@ ENCODING 21058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 1020 FEA0 @@ -175305,7 +214972,7 @@ ENCODING 21059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 28A0 FEA0 @@ -175323,7 +214990,7 @@ ENCODING 21060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 54A0 A8A0 @@ -175341,7 +215008,7 @@ ENCODING 21061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 0020 7CA0 @@ -175359,7 +215026,7 @@ ENCODING 21062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 1120 FD20 @@ -175377,7 +215044,7 @@ ENCODING 21063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4520 4520 @@ -175395,7 +215062,7 @@ ENCODING 21064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7820 4820 7920 @@ -175413,7 +215080,7 @@ ENCODING 21065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 54A0 54A0 @@ -175431,7 +215098,7 @@ ENCODING 21066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 5420 10A0 @@ -175449,7 +215116,7 @@ ENCODING 21067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 FD40 1140 @@ -175467,7 +215134,7 @@ ENCODING 21068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 10A0 @@ -175484,26 +215151,26 @@ STARTCHAR U_524D ENCODING 21069 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -0900 -7FE0 +BBX 10 11 1 -1 +BITMAP +2100 +1200 +FFC0 0000 -3D40 -2540 -3D40 -2540 -3D40 -2440 -2DC0 +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 +BITMAP 6C20 10A0 28A0 @@ -175521,7 +215188,7 @@ ENCODING 21071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 24A0 08A0 @@ -175539,7 +215206,7 @@ ENCODING 21072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 44A0 @@ -175557,7 +215224,7 @@ ENCODING 21073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1820 2420 42A0 @@ -175575,7 +215242,7 @@ ENCODING 21074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 2820 FEA0 @@ -175593,7 +215260,7 @@ ENCODING 21075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 11E0 FEA0 @@ -175611,7 +215278,7 @@ ENCODING 21076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 42A0 7EA0 @@ -175629,7 +215296,7 @@ ENCODING 21077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 2820 EEA0 @@ -175647,7 +215314,7 @@ ENCODING 21078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 10A0 FEA0 @@ -175665,7 +215332,7 @@ ENCODING 21079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 2420 FD20 @@ -175683,7 +215350,7 @@ ENCODING 21080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 FE20 44A0 @@ -175701,7 +215368,7 @@ ENCODING 21081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 57C0 F940 @@ -175719,7 +215386,7 @@ ENCODING 21082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEA0 54A0 @@ -175737,7 +215404,7 @@ ENCODING 21083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 CAA0 AAA0 @@ -175755,7 +215422,7 @@ ENCODING 21084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 0820 FEA0 @@ -175773,7 +215440,7 @@ ENCODING 21085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C20 44A0 78A0 @@ -175791,7 +215458,7 @@ ENCODING 21086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 28A0 @@ -175809,7 +215476,7 @@ ENCODING 21087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 AAA0 44A0 @@ -175826,8 +215493,8 @@ STARTCHAR U_5260 ENCODING 21088 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2040 1040 FE40 @@ -175845,7 +215512,7 @@ ENCODING 21089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5220 5220 94A0 @@ -175863,7 +215530,7 @@ ENCODING 21090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 2020 72A0 @@ -175881,7 +215548,7 @@ ENCODING 21091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 2820 44A0 @@ -175899,7 +215566,7 @@ ENCODING 21092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 7E20 2420 @@ -175917,7 +215584,7 @@ ENCODING 21093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 0420 7CA0 @@ -175935,7 +215602,7 @@ ENCODING 21094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 4420 @@ -175953,7 +215620,7 @@ ENCODING 21095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 4220 7EA0 @@ -175971,7 +215638,7 @@ ENCODING 21096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 10A0 @@ -175989,7 +215656,7 @@ ENCODING 21097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0620 7820 10A0 @@ -176007,7 +215674,7 @@ ENCODING 21098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4840 @@ -176025,7 +215692,7 @@ ENCODING 21099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 A4A0 @@ -176043,7 +215710,7 @@ ENCODING 21100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 92A0 FEA0 @@ -176061,7 +215728,7 @@ ENCODING 21101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 82A0 FEA0 @@ -176079,7 +215746,7 @@ ENCODING 21102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 44A0 74A0 @@ -176097,7 +215764,7 @@ ENCODING 21103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 00A0 7CA0 @@ -176115,7 +215782,7 @@ ENCODING 21104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C20 7020 10A0 @@ -176132,8 +215799,8 @@ STARTCHAR U_5271 ENCODING 21105 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 53C0 8940 @@ -176151,7 +215818,7 @@ ENCODING 21106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE20 92A0 @@ -176169,7 +215836,7 @@ ENCODING 21107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 FE20 44A0 @@ -176187,7 +215854,7 @@ ENCODING 21108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 92A0 FEA0 @@ -176205,7 +215872,7 @@ ENCODING 21109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 2820 54A0 @@ -176223,7 +215890,7 @@ ENCODING 21110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 7E20 4420 @@ -176241,7 +215908,7 @@ ENCODING 21111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEA0 44A0 @@ -176259,7 +215926,7 @@ ENCODING 21112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEA0 54A0 @@ -176277,7 +215944,7 @@ ENCODING 21113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE20 2220 AAA0 @@ -176295,7 +215962,7 @@ ENCODING 21114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1340 @@ -176313,7 +215980,7 @@ ENCODING 21115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 9220 FEA0 @@ -176331,7 +215998,7 @@ ENCODING 21116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 7CA0 24A0 @@ -176349,7 +216016,7 @@ ENCODING 21117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 28A0 FEA0 @@ -176367,7 +216034,7 @@ ENCODING 21118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 8020 BCA0 @@ -176385,7 +216052,7 @@ ENCODING 21119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5420 A8A0 54A0 @@ -176403,7 +216070,7 @@ ENCODING 21120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 2820 FEA0 @@ -176421,7 +216088,7 @@ ENCODING 21121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4820 7EA0 48A0 @@ -176439,7 +216106,7 @@ ENCODING 21122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF20 D420 A4A0 @@ -176457,7 +216124,7 @@ ENCODING 21123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 7EA0 12A0 @@ -176475,7 +216142,7 @@ ENCODING 21124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4820 7F20 AAA0 @@ -176493,7 +216160,7 @@ ENCODING 21125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 AA20 FEA0 @@ -176511,7 +216178,7 @@ ENCODING 21126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 7E20 54A0 @@ -176529,7 +216196,7 @@ ENCODING 21127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E20 1020 FEA0 @@ -176547,7 +216214,7 @@ ENCODING 21128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -176565,7 +216232,7 @@ ENCODING 21129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DE20 8A20 AAA0 @@ -176583,7 +216250,7 @@ ENCODING 21130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3820 4420 BAA0 @@ -176601,7 +216268,7 @@ ENCODING 21131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4420 7CA0 @@ -176619,7 +216286,7 @@ ENCODING 21132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 2820 7F20 @@ -176637,7 +216304,7 @@ ENCODING 21133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 2820 44A0 @@ -176655,7 +216322,7 @@ ENCODING 21134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 29E0 44A0 @@ -176673,7 +216340,7 @@ ENCODING 21135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 5420 FEA0 @@ -176691,7 +216358,7 @@ ENCODING 21136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 FF20 24A0 @@ -176709,7 +216376,7 @@ ENCODING 21137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FF20 2AA0 @@ -176727,7 +216394,7 @@ ENCODING 21138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 29E0 46A0 @@ -176745,7 +216412,7 @@ ENCODING 21139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 7C20 54A0 @@ -176763,7 +216430,7 @@ ENCODING 21140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53C0 8940 @@ -176781,7 +216448,7 @@ ENCODING 21141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7620 44A0 7FA0 @@ -176799,7 +216466,7 @@ ENCODING 21142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7820 FE20 42A0 @@ -176817,7 +216484,7 @@ ENCODING 21143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A420 FF20 24A0 @@ -176835,7 +216502,7 @@ ENCODING 21144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 7F20 54A0 @@ -176853,7 +216520,7 @@ ENCODING 21145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 7C20 24A0 @@ -176871,7 +216538,7 @@ ENCODING 21146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 42A0 7EA0 @@ -176888,26 +216555,26 @@ STARTCHAR U_529B ENCODING 21147 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -0400 -7FC0 -0440 -0440 -0840 -0840 -1040 -2040 -4380 +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 +BITMAP 2100 2100 2100 @@ -176925,7 +216592,7 @@ ENCODING 21149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 0BE0 @@ -176942,26 +216609,26 @@ STARTCHAR U_529E ENCODING 21150 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0800 -7F80 -0880 -0880 -28C0 -28A0 -50A0 -1080 -2280 -4100 +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 +BITMAP 0100 0100 F900 @@ -176979,7 +216646,7 @@ ENCODING 21152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2000 FDE0 @@ -176997,7 +216664,7 @@ ENCODING 21153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 3100 @@ -177015,7 +216682,7 @@ ENCODING 21154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 2080 @@ -177032,26 +216699,26 @@ STARTCHAR U_52A3 ENCODING 21155 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -1280 -2240 -40A0 -0F00 -7200 -1FE0 -0220 -0420 -0820 -70C0 +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 +BITMAP 1880 6080 43E0 @@ -177069,7 +216736,7 @@ ENCODING 21157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -177087,7 +216754,7 @@ ENCODING 21158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 0440 @@ -177105,7 +216772,7 @@ ENCODING 21159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7C80 1080 @@ -177123,7 +216790,7 @@ ENCODING 21160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7900 0100 @@ -177141,7 +216808,7 @@ ENCODING 21161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7900 4900 @@ -177158,26 +216825,26 @@ STARTCHAR U_52AA ENCODING 21162 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -7FE0 -2A40 -4980 -3140 -6E20 -0400 -7FC0 -0440 -0840 -7180 +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 +BITMAP 1100 1100 7D00 @@ -177195,7 +216862,7 @@ ENCODING 21164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7C80 @@ -177213,7 +216880,7 @@ ENCODING 21165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 4900 4BE0 @@ -177231,7 +216898,7 @@ ENCODING 21166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5080 7C80 @@ -177249,7 +216916,7 @@ ENCODING 21167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 27E0 @@ -177267,7 +216934,7 @@ ENCODING 21168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4100 @@ -177285,7 +216952,7 @@ ENCODING 21169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4080 4080 @@ -177303,7 +216970,7 @@ ENCODING 21170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 0900 17E0 @@ -177320,26 +216987,26 @@ STARTCHAR U_52B3 ENCODING 21171 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7FE0 -4040 -0400 -3FC0 -0440 -0840 -1040 -6180 +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 +BITMAP 4840 2440 2480 @@ -177357,7 +217024,7 @@ ENCODING 21173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2500 7F80 @@ -177375,7 +217042,7 @@ ENCODING 21174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 7080 4080 @@ -177393,7 +217060,7 @@ ENCODING 21175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2880 FC80 @@ -177411,7 +217078,7 @@ ENCODING 21176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7C80 1080 @@ -177429,7 +217096,7 @@ ENCODING 21177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FC80 @@ -177447,7 +217114,7 @@ ENCODING 21178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4880 7C80 @@ -177465,7 +217132,7 @@ ENCODING 21179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 83E0 @@ -177483,7 +217150,7 @@ ENCODING 21180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 13E0 @@ -177500,26 +217167,26 @@ STARTCHAR U_52BD ENCODING 21181 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7E20 -10A0 -3CA0 -44A0 -28A0 -1420 -6460 -3FC0 -0440 -0840 -3180 +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 +BITMAP 2080 1080 FE80 @@ -177537,7 +217204,7 @@ ENCODING 21183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2140 @@ -177555,7 +217222,7 @@ ENCODING 21184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -177573,7 +217240,7 @@ ENCODING 21185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 5500 A900 @@ -177591,7 +217258,7 @@ ENCODING 21186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 5100 7FE0 @@ -177609,7 +217276,7 @@ ENCODING 21187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7C80 11E0 @@ -177627,7 +217294,7 @@ ENCODING 21188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7E80 8080 @@ -177645,7 +217312,7 @@ ENCODING 21189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 FE80 @@ -177663,7 +217330,7 @@ ENCODING 21190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -177680,26 +217347,26 @@ STARTCHAR U_52C7 ENCODING 21191 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0900 -3FC0 -2440 -3FC0 -2440 -3FC0 -2440 -7FE0 -0820 -71C0 +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 +BITMAP F900 5100 2100 @@ -177717,7 +217384,7 @@ ENCODING 21193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3880 4BE0 @@ -177735,7 +217402,7 @@ ENCODING 21194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23C0 @@ -177753,7 +217420,7 @@ ENCODING 21195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 F900 @@ -177771,7 +217438,7 @@ ENCODING 21196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 1100 7D00 @@ -177789,7 +217456,7 @@ ENCODING 21197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FDE0 @@ -177807,7 +217474,7 @@ ENCODING 21198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7080 23E0 @@ -177825,7 +217492,7 @@ ENCODING 21199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FC80 @@ -177843,7 +217510,7 @@ ENCODING 21200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 0880 1080 @@ -177861,7 +217528,7 @@ ENCODING 21201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 5480 @@ -177879,7 +217546,7 @@ ENCODING 21202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 5100 @@ -177897,7 +217564,7 @@ ENCODING 21203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 F880 95E0 @@ -177915,7 +217582,7 @@ ENCODING 21204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 2080 @@ -177933,7 +217600,7 @@ ENCODING 21205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 1080 FE80 @@ -177951,7 +217618,7 @@ ENCODING 21206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 8280 BBE0 @@ -177969,7 +217636,7 @@ ENCODING 21207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -177987,7 +217654,7 @@ ENCODING 21208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FE80 2480 @@ -178005,7 +217672,7 @@ ENCODING 21209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 2640 @@ -178023,7 +217690,7 @@ ENCODING 21210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 FE80 5480 @@ -178041,7 +217708,7 @@ ENCODING 21211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 FDE0 @@ -178059,7 +217726,7 @@ ENCODING 21212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 5480 AA80 @@ -178077,7 +217744,7 @@ ENCODING 21213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 9FE0 @@ -178094,26 +217761,26 @@ STARTCHAR U_52DE ENCODING 21214 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -5AC0 +BBX 10 11 1 -1 +BITMAP +2100 +B580 +A500 5280 -2940 -4620 -7FE0 -4420 -3FC0 -0840 -1040 -6180 +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 +BITMAP 1100 FFE0 1100 @@ -178131,7 +217798,7 @@ ENCODING 21216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 AA80 6680 @@ -178149,7 +217816,7 @@ ENCODING 21217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 2880 FE80 @@ -178167,7 +217834,7 @@ ENCODING 21218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 1140 @@ -178185,7 +217852,7 @@ ENCODING 21219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 11E0 @@ -178203,7 +217870,7 @@ ENCODING 21220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FE80 2880 @@ -178221,7 +217888,7 @@ ENCODING 21221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1440 FFE0 @@ -178239,7 +217906,7 @@ ENCODING 21222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 A880 5480 @@ -178257,7 +217924,7 @@ ENCODING 21223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7C80 93E0 @@ -178275,7 +217942,7 @@ ENCODING 21224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 9080 7C80 @@ -178293,7 +217960,7 @@ ENCODING 21225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FC80 4BE0 @@ -178311,7 +217978,7 @@ ENCODING 21226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 1080 FE80 @@ -178329,7 +217996,7 @@ ENCODING 21227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F480 ABE0 @@ -178347,7 +218014,7 @@ ENCODING 21228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 FE80 1080 @@ -178365,7 +218032,7 @@ ENCODING 21229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 2880 @@ -178383,7 +218050,7 @@ ENCODING 21230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 1080 7FE0 @@ -178401,7 +218068,7 @@ ENCODING 21231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 8480 @@ -178419,7 +218086,7 @@ ENCODING 21232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 2BE0 @@ -178437,7 +218104,7 @@ ENCODING 21233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FE80 29E0 @@ -178455,7 +218122,7 @@ ENCODING 21234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 1080 FFE0 @@ -178473,7 +218140,7 @@ ENCODING 21235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 1080 FE80 @@ -178491,7 +218158,7 @@ ENCODING 21236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C80 2080 FE80 @@ -178509,7 +218176,7 @@ ENCODING 21237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 9480 BE80 @@ -178527,7 +218194,7 @@ ENCODING 21238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5EE0 AB20 @@ -178545,7 +218212,7 @@ ENCODING 21239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 AA80 @@ -178563,7 +218230,7 @@ ENCODING 21240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 2880 EE80 @@ -178580,26 +218247,26 @@ STARTCHAR U_52F9 ENCODING 21241 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1FE0 -2020 -4020 -0020 -0020 -0020 -0020 -0020 -0020 -01C0 +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 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 3FC0 2040 @@ -178616,8 +218283,8 @@ STARTCHAR U_52FB ENCODING 21243 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 2000 3FC0 @@ -178635,7 +218302,7 @@ ENCODING 21244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 2020 @@ -178653,7 +218320,7 @@ ENCODING 21245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4020 @@ -178670,26 +218337,26 @@ STARTCHAR U_52FE ENCODING 21246 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1000 -1FE0 -2020 -4820 -0820 -1220 -3F20 -0120 -0020 -01C0 +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 +BITMAP 1000 1000 1FE0 @@ -178707,7 +218374,7 @@ ENCODING 21248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 2020 @@ -178725,7 +218392,7 @@ ENCODING 21249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 1F80 @@ -178743,7 +218410,7 @@ ENCODING 21250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2020 @@ -178761,7 +218428,7 @@ ENCODING 21251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 1220 @@ -178779,7 +218446,7 @@ ENCODING 21252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4820 @@ -178797,7 +218464,7 @@ ENCODING 21253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4040 @@ -178814,26 +218481,26 @@ STARTCHAR U_5306 ENCODING 21254 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1000 -1FC0 -2540 -5940 -0D40 -1340 -22C0 -4440 -0840 -1180 +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 +BITMAP 1000 1FE0 2020 @@ -178851,7 +218518,7 @@ ENCODING 21256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 4020 @@ -178868,62 +218535,62 @@ STARTCHAR U_5309 ENCODING 21257 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -3FE0 -4020 -1F20 -24A0 -1520 -7FA0 -0420 -0420 -0420 -00C0 +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 11 11 0 -1 -BITMAP -1000 -1FE0 -2420 -64A0 -1520 -7FA0 -0C20 -1620 -25A0 -0420 -00C0 +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 11 11 0 -1 -BITMAP -1000 -3FE0 -5020 -1F20 -2420 -7FA0 -0420 -2520 -3F20 -0020 -00C0 +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 +BITMAP 2000 3FE0 4420 @@ -178940,26 +218607,26 @@ STARTCHAR U_530D ENCODING 21261 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -3FE0 -4520 -3FA0 -24A0 -3FA0 -24A0 -3FA0 -24A0 -2520 -00C0 +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 +BITMAP 2000 3FE0 4820 @@ -178977,7 +218644,7 @@ ENCODING 21263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FDE0 4A20 @@ -178995,7 +218662,7 @@ ENCODING 21264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4020 @@ -179013,7 +218680,7 @@ ENCODING 21265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 5020 @@ -179031,7 +218698,7 @@ ENCODING 21266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 5120 @@ -179049,7 +218716,7 @@ ENCODING 21267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2020 @@ -179067,7 +218734,7 @@ ENCODING 21268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 5020 @@ -179084,26 +218751,25 @@ STARTCHAR U_5315 ENCODING 21269 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -1000 -1000 -10C0 -1300 -1C00 -1000 -1000 -1020 -1020 -0FE0 +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 +BITMAP 1200 1200 2240 @@ -179121,7 +218787,7 @@ ENCODING 21271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 1200 @@ -179139,7 +218805,7 @@ ENCODING 21272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 82A0 8540 8A80 @@ -179157,7 +218823,7 @@ ENCODING 21273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4500 7D20 @@ -179174,26 +218840,25 @@ STARTCHAR U_531A ENCODING 21274 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -4000 -4000 -4000 -4000 -4000 -4000 -4000 -7FE0 -4000 +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 +BITMAP FFE0 8000 8800 @@ -179210,44 +218875,44 @@ STARTCHAR U_531C ENCODING 21276 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4200 -4A00 -4B80 -4E80 -7A80 -4A80 -4840 -47C0 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4000 -4200 -5FC0 -5240 -5240 -5240 -52C0 -4200 -4200 -7FE0 +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 +BITMAP FFE0 8000 9F80 @@ -179264,44 +218929,44 @@ STARTCHAR U_531F ENCODING 21279 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4400 -4200 -7FC0 -4000 -4F00 -4940 -4940 -50C0 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4080 -4F00 -4800 -4FE0 -4900 -4900 -4900 -5100 -6100 -7FE0 +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 +BITMAP FFE0 8000 BF80 @@ -179318,44 +218983,44 @@ STARTCHAR U_5322 ENCODING 21282 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4800 -5FC0 -6540 -4540 -4940 -5240 -4440 -4980 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4000 -5FC0 -5240 -5FC0 -5240 -5FC0 -4200 -4200 -4200 -7FE0 +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 +BITMAP FFE0 8000 BFC0 @@ -179373,7 +219038,7 @@ ENCODING 21285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8800 9100 @@ -179391,7 +219056,7 @@ ENCODING 21286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 F900 @@ -179409,7 +219074,7 @@ ENCODING 21287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 BFC0 @@ -179427,7 +219092,7 @@ ENCODING 21288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A880 A880 @@ -179445,7 +219110,7 @@ ENCODING 21289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8200 9240 @@ -179462,26 +219127,26 @@ STARTCHAR U_532A ENCODING 21290 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4000 -4500 -7DE0 -4500 -5DC0 -4500 -7DE0 -4500 -4500 -7FE0 +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 +BITMAP FFE0 8800 9FC0 @@ -179499,7 +219164,7 @@ ENCODING 21292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 8A00 @@ -179517,7 +219182,7 @@ ENCODING 21293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A200 FA00 @@ -179534,26 +219199,26 @@ STARTCHAR U_532E ENCODING 21294 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4200 -4F80 -4A80 -7FE0 -4000 -5FC0 -5240 -5540 -4880 -7FE0 +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 +BITMAP FFE0 A500 97C0 @@ -179570,26 +219235,26 @@ STARTCHAR U_5330 ENCODING 21296 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -5540 -5DC0 -4000 -5FC0 -5240 -5FC0 -5240 -7FE0 -4200 -7FE0 +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 +BITMAP FFE0 8400 9F00 @@ -179607,7 +219272,7 @@ ENCODING 21298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 BFC0 @@ -179625,7 +219290,7 @@ ENCODING 21299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 8A00 @@ -179643,7 +219308,7 @@ ENCODING 21300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A100 BDE0 @@ -179661,7 +219326,7 @@ ENCODING 21301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8400 BFC0 @@ -179679,7 +219344,7 @@ ENCODING 21302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 FFC0 @@ -179697,7 +219362,7 @@ ENCODING 21303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AA40 BBC0 @@ -179714,9 +219379,8 @@ STARTCHAR U_5338 ENCODING 21304 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 2000 2000 @@ -179732,98 +219396,98 @@ STARTCHAR U_5339 ENCODING 21305 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4900 -4900 -4900 -4900 -4920 -5120 -50E0 -6000 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FC0 -4000 -5080 -4880 -4500 -4200 -4500 -4880 -5080 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4800 -4800 -4FC0 -5200 -7FE0 -4200 -4500 -4880 -5040 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4200 -4500 -4880 -7760 -4000 -4F80 -4880 -4F80 -4000 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4880 -4F80 -4880 -4F80 -4200 -7FC0 -4900 -4700 -4C80 -7FE0 +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 +BITMAP FFE0 8400 BF80 @@ -179840,26 +219504,26 @@ STARTCHAR U_533F ENCODING 21311 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4900 -7FC0 -4900 -7FE0 -4400 -4F80 -5880 -6F80 -4000 -7FE0 +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 +BITMAP FFE0 8880 8880 @@ -179877,7 +219541,7 @@ ENCODING 21313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -179895,7 +219559,7 @@ ENCODING 21314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 1100 1100 @@ -179913,7 +219577,7 @@ ENCODING 21315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -179931,7 +219595,7 @@ ENCODING 21316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -179949,7 +219613,7 @@ ENCODING 21317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2440 2440 @@ -179967,7 +219631,7 @@ ENCODING 21318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7F00 1120 @@ -179984,44 +219648,44 @@ STARTCHAR U_5347 ENCODING 21319 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0680 -3880 -0880 -0880 -0880 -7FE0 -0880 -0880 -1080 -2080 -4080 +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 11 11 0 -1 -BITMAP -1000 -1FC0 -2200 -4200 -0200 -7FE0 -0200 -0200 -0200 -0200 -0200 +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 +BITMAP 0200 7FE0 0200 @@ -180039,7 +219703,7 @@ ENCODING 21322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 2480 @@ -180057,7 +219721,7 @@ ENCODING 21323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -180075,7 +219739,7 @@ ENCODING 21324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2A80 2A80 @@ -180092,26 +219756,26 @@ STARTCHAR U_534D ENCODING 21325 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7C40 -0440 -0440 -0440 -0440 -7FC0 -4400 -4400 -4400 -4400 -47E0 +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 +BITMAP 1240 2280 6300 @@ -180129,7 +219793,7 @@ ENCODING 21327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 4F80 @@ -180147,7 +219811,7 @@ ENCODING 21328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4200 4200 @@ -180164,26 +219828,26 @@ STARTCHAR U_5351 ENCODING 21329 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0800 +7F80 +4480 +7F80 +4480 +7F80 +1400 +FFC0 +0400 +0400 0400 -3FC0 -2240 -3FC0 -2240 -3FC0 -0A00 -7FE0 -0200 -0200 -0200 ENDCHAR STARTCHAR U_5352 ENCODING 21330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -180201,7 +219865,7 @@ ENCODING 21331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 0400 @@ -180219,7 +219883,7 @@ ENCODING 21332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2240 @@ -180237,7 +219901,7 @@ ENCODING 21333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 7FC0 @@ -180255,7 +219919,7 @@ ENCODING 21334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -180273,7 +219937,7 @@ ENCODING 21335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -180291,7 +219955,7 @@ ENCODING 21336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 3F80 @@ -180309,7 +219973,7 @@ ENCODING 21337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FE80 2480 @@ -180327,7 +219991,7 @@ ENCODING 21338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 5FE0 4200 @@ -180345,7 +220009,7 @@ ENCODING 21339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4EA0 F1E0 @@ -180362,26 +220026,26 @@ STARTCHAR U_535C ENCODING 21340 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0800 -0800 -0C00 -0A00 -0900 -08C0 -0840 -0800 -0800 -0800 +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 +BITMAP 1200 1200 1200 @@ -180398,62 +220062,62 @@ STARTCHAR U_535E ENCODING 21342 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0200 -7FE0 -0400 -0400 -0700 -04C0 -0440 -0400 -0400 +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 11 11 0 -1 -BITMAP -0100 -0100 -7900 -4900 -4980 -4960 -4920 -7900 -4900 -0100 -0100 +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 11 11 0 -1 -BITMAP -0800 -0800 -0FC0 -0800 -0800 -7F80 -4080 -4080 -4080 -7F80 -4080 +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 +BITMAP 0800 0F80 0800 @@ -180471,7 +220135,7 @@ ENCODING 21346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07E0 0400 @@ -180488,62 +220152,62 @@ STARTCHAR U_5363 ENCODING 21347 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -07E0 -0400 -7FC0 -4040 -7E40 -4240 -7E40 -4040 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -0400 -07C0 -0400 -7FC0 -5140 -4A40 -4440 -4A40 -5140 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -0800 -0FC0 -0800 -7FE0 -54A0 -48A0 -5520 -6220 -4520 -4820 -7FE0 +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 +BITMAP 1100 1100 7D00 @@ -180561,7 +220225,7 @@ ENCODING 21351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 9100 9100 @@ -180579,7 +220243,7 @@ ENCODING 21352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 3F80 @@ -180596,80 +220260,79 @@ STARTCHAR U_5369 ENCODING 21353 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -07C0 -0440 -0440 -0440 -0440 -0440 -0540 -0480 -0400 -0400 -0400 +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 11 11 0 -1 -BITMAP -3F80 -2080 -2880 -2480 -2480 -2080 -2480 -2300 -2000 -2000 -2000 +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 11 11 0 -1 -BITMAP -0000 -7FC0 -0440 -0440 -0440 -0540 -0480 -0400 -0400 -0400 -7FE0 +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 11 11 0 -1 -BITMAP -0C00 -73E0 -4220 -4220 -4220 -4220 -4A20 -52A0 -6240 -0200 -0200 +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 +BITMAP FBE0 2220 2220 @@ -180687,7 +220350,7 @@ ENCODING 21358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 2000 @@ -180704,44 +220367,44 @@ STARTCHAR U_536F ENCODING 21359 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -73E0 -4220 -4A20 -4A20 -4A20 -5A20 -6AA0 -0A40 -1200 -6200 +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 11 11 0 -1 -BITMAP -0800 -73E0 -4220 -4220 -7A20 -4220 -4220 -4A20 -72C0 -4200 -0200 +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 +BITMAP 1000 1F80 2100 @@ -180759,7 +220422,7 @@ ENCODING 21362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2520 2520 @@ -180776,26 +220439,26 @@ STARTCHAR U_5373 ENCODING 21363 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7DE0 -4520 -7D20 -4520 -7D20 -4520 -5120 -49A0 -5540 -6500 -0100 +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 +BITMAP 1000 11E0 7D20 @@ -180812,26 +220475,26 @@ STARTCHAR U_5375 ENCODING 21365 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0C00 -73E0 -4A20 -6A20 -5AA0 -4A60 -4A20 -7A20 -0AE0 -1200 -6200 +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 +BITMAP 11E0 1D20 2520 @@ -180849,7 +220512,7 @@ ENCODING 21367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2500 7FE0 @@ -180867,7 +220530,7 @@ ENCODING 21368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7DE0 9120 @@ -180885,7 +220548,7 @@ ENCODING 21369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 20A0 FEA0 @@ -180903,7 +220566,7 @@ ENCODING 21370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0100 F640 @@ -180921,7 +220584,7 @@ ENCODING 21371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 25E0 5320 @@ -180939,7 +220602,7 @@ ENCODING 21372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 57E0 @@ -180956,26 +220619,26 @@ STARTCHAR U_537D ENCODING 21373 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -7DE0 -4520 -7D20 -4520 -7D20 -4120 -7920 -4160 -5900 -6100 +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 +BITMAP FDE0 B520 FD20 @@ -180993,7 +220656,7 @@ ENCODING 21375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 CAA0 AEA0 @@ -181011,7 +220674,7 @@ ENCODING 21376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD20 3920 @@ -181029,7 +220692,7 @@ ENCODING 21377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 28C0 5540 @@ -181046,9 +220709,8 @@ STARTCHAR U_5382 ENCODING 21378 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3FE0 2000 2000 @@ -181065,7 +220727,7 @@ ENCODING 21379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 2080 @@ -181083,7 +220745,7 @@ ENCODING 21380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2000 @@ -181101,7 +220763,7 @@ ENCODING 21381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2000 @@ -181119,7 +220781,7 @@ ENCODING 21382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2200 @@ -181137,7 +220799,7 @@ ENCODING 21383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 23C0 @@ -181155,7 +220817,7 @@ ENCODING 21384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2FC0 @@ -181173,7 +220835,7 @@ ENCODING 21385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 3FE0 @@ -181191,7 +220853,7 @@ ENCODING 21386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FE0 @@ -181209,7 +220871,7 @@ ENCODING 21387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2200 @@ -181227,7 +220889,7 @@ ENCODING 21388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 4280 @@ -181245,7 +220907,7 @@ ENCODING 21389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 4400 @@ -181263,7 +220925,7 @@ ENCODING 21390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FC0 @@ -181281,7 +220943,7 @@ ENCODING 21391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4800 4800 @@ -181299,7 +220961,7 @@ ENCODING 21392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2480 2440 @@ -181317,7 +220979,7 @@ ENCODING 21393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4100 4100 @@ -181335,7 +220997,7 @@ ENCODING 21394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 4800 @@ -181353,7 +221015,7 @@ ENCODING 21395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 5FC0 @@ -181371,7 +221033,7 @@ ENCODING 21396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FE0 @@ -181389,7 +221051,7 @@ ENCODING 21397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8000 BE20 @@ -181407,7 +221069,7 @@ ENCODING 21398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 4840 @@ -181425,7 +221087,7 @@ ENCODING 21399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4400 4200 @@ -181443,7 +221105,7 @@ ENCODING 21400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2FE0 @@ -181461,7 +221123,7 @@ ENCODING 21401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 7FE0 @@ -181479,7 +221141,7 @@ ENCODING 21402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2FC0 @@ -181497,7 +221159,7 @@ ENCODING 21403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 41C0 @@ -181515,7 +221177,7 @@ ENCODING 21404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4080 5F00 @@ -181533,7 +221195,7 @@ ENCODING 21405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4480 5FC0 @@ -181551,7 +221213,7 @@ ENCODING 21406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4500 4500 @@ -181569,7 +221231,7 @@ ENCODING 21407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2200 2FC0 @@ -181587,7 +221249,7 @@ ENCODING 21408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5E20 @@ -181605,7 +221267,7 @@ ENCODING 21409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2200 2FC0 @@ -181623,7 +221285,7 @@ ENCODING 21410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 4800 @@ -181641,7 +221303,7 @@ ENCODING 21411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4280 7FE0 @@ -181659,7 +221321,7 @@ ENCODING 21412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4440 5980 @@ -181677,7 +221339,7 @@ ENCODING 21413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5480 4880 @@ -181695,7 +221357,7 @@ ENCODING 21414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FE0 @@ -181713,7 +221375,7 @@ ENCODING 21415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 7FE0 @@ -181731,7 +221393,7 @@ ENCODING 21416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4040 5E40 @@ -181749,7 +221411,7 @@ ENCODING 21417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5DE0 @@ -181767,7 +221429,7 @@ ENCODING 21418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2480 2FE0 @@ -181785,7 +221447,7 @@ ENCODING 21419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 7C80 @@ -181803,7 +221465,7 @@ ENCODING 21420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5040 5FC0 @@ -181821,7 +221483,7 @@ ENCODING 21421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5EC0 @@ -181839,7 +221501,7 @@ ENCODING 21422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5220 7FC0 @@ -181857,7 +221519,7 @@ ENCODING 21423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 7DE0 @@ -181875,7 +221537,7 @@ ENCODING 21424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 5A80 @@ -181893,7 +221555,7 @@ ENCODING 21425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 4500 @@ -181911,7 +221573,7 @@ ENCODING 21426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4480 5FE0 @@ -181929,7 +221591,7 @@ ENCODING 21427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 7FE0 4100 @@ -181947,7 +221609,7 @@ ENCODING 21428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54A0 5FE0 @@ -181965,7 +221627,7 @@ ENCODING 21429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4400 5FC0 @@ -181982,9 +221644,8 @@ STARTCHAR U_53B6 ENCODING 21430 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 0400 0400 0800 @@ -182001,7 +221662,7 @@ ENCODING 21431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -182019,7 +221680,7 @@ ENCODING 21432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2080 @@ -182036,26 +221697,26 @@ STARTCHAR U_53B9 ENCODING 21433 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -7F80 -0880 -08A0 -10A0 -2460 -4400 -0800 -1080 -7FC0 -2040 +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 +BITMAP 0400 0400 FFE0 @@ -182073,7 +221734,7 @@ ENCODING 21435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 3F80 @@ -182091,7 +221752,7 @@ ENCODING 21436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 2080 @@ -182109,7 +221770,7 @@ ENCODING 21437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 1100 @@ -182127,7 +221788,7 @@ ENCODING 21438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 1080 1080 @@ -182145,7 +221806,7 @@ ENCODING 21439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -182162,26 +221823,26 @@ STARTCHAR U_53C0 ENCODING 21440 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -0400 -3FC0 -2440 -3FC0 -2440 -3FC0 -0900 -1080 -3FC0 +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 +BITMAP 0800 1100 3F80 @@ -182199,7 +221860,7 @@ ENCODING 21442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 3F80 @@ -182217,7 +221878,7 @@ ENCODING 21443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 3E80 @@ -182235,7 +221896,7 @@ ENCODING 21444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1200 3F00 @@ -182253,7 +221914,7 @@ ENCODING 21445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 1F00 1100 @@ -182271,7 +221932,7 @@ ENCODING 21446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 7700 02A0 @@ -182289,7 +221950,7 @@ ENCODING 21447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 75E0 04A0 @@ -182306,9 +221967,8 @@ STARTCHAR U_53C8 ENCODING 21448 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 1040 1080 @@ -182324,26 +221984,25 @@ STARTCHAR U_53C9 ENCODING 21449 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -3F80 -1480 -1280 -1100 -0900 -0A00 -0400 -0600 -1980 -6060 +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 +BITMAP 7F00 1100 1200 @@ -182361,7 +222020,7 @@ ENCODING 21451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 FFE0 @@ -182378,9 +222037,8 @@ STARTCHAR U_53CC ENCODING 21452 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0A40 4A40 @@ -182397,7 +222055,7 @@ ENCODING 21453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 3E00 2000 @@ -182415,7 +222073,7 @@ ENCODING 21454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 9FC0 9440 @@ -182433,7 +222091,7 @@ ENCODING 21455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 0880 @@ -182451,7 +222109,7 @@ ENCODING 21456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0800 @@ -182469,7 +222127,7 @@ ENCODING 21457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2440 4400 @@ -182487,7 +222145,7 @@ ENCODING 21458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 2080 1100 @@ -182505,7 +222163,7 @@ ENCODING 21459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -182523,7 +222181,7 @@ ENCODING 21460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13C0 1C40 @@ -182541,7 +222199,7 @@ ENCODING 21461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A20 5140 @@ -182559,7 +222217,7 @@ ENCODING 21462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 4BE0 4A20 @@ -182576,44 +222234,44 @@ STARTCHAR U_53D7 ENCODING 21463 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -01C0 -3E40 -1480 -0A80 -7FE0 -4020 -1F80 -0900 -0600 -0980 -7060 +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 11 11 0 -1 -BITMAP -0400 -7FE0 -0900 -2940 -4920 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +1200 +5280 +9240 0000 -3FC0 -0900 -0600 -0900 -70E0 +7F80 +1200 +0C00 +1200 +E1C0 ENDCHAR STARTCHAR U_53D9 ENCODING 21465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BE0 4520 @@ -182631,7 +222289,7 @@ ENCODING 21466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8820 8820 @@ -182649,7 +222307,7 @@ ENCODING 21467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AB00 7200 @@ -182667,7 +222325,7 @@ ENCODING 21468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9420 @@ -182685,7 +222343,7 @@ ENCODING 21469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FAA0 @@ -182703,7 +222361,7 @@ ENCODING 21470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 47C0 7D40 @@ -182721,7 +222379,7 @@ ENCODING 21471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 65C0 4440 @@ -182739,7 +222397,7 @@ ENCODING 21472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0A00 1500 @@ -182757,7 +222415,7 @@ ENCODING 21473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C00 21E0 FD20 @@ -182775,7 +222433,7 @@ ENCODING 21474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 FFE0 1200 @@ -182792,26 +222450,24 @@ STARTCHAR U_53E3 ENCODING 21475 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -4040 -4040 -4040 -4040 -4040 -4040 -7FC0 -4040 -0000 +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 +BITMAP 0400 0400 FFE0 @@ -182829,7 +222485,7 @@ ENCODING 21477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 2020 @@ -182846,44 +222502,44 @@ STARTCHAR U_53E6 ENCODING 21478 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1FC0 -1040 +BBX 10 11 1 -1 +BITMAP +3F80 +2080 +2080 +3F80 +2480 +0400 +7FC0 +0840 1040 -1FC0 -1240 -0200 -3FE0 -0420 -0820 -1020 -61C0 +2040 +C380 ENDCHAR STARTCHAR U_53E7 ENCODING 21479 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2040 -2040 -3FC0 +BBX 9 11 1 -1 +BITMAP +7F80 +4080 +4080 +7F80 0000 -7FC0 -0440 -0440 -0840 -1040 -6380 +FF80 +0880 +0880 +1080 +2080 +C700 ENDCHAR STARTCHAR U_53E8 ENCODING 21480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F220 9220 @@ -182900,80 +222556,80 @@ STARTCHAR U_53E9 ENCODING 21481 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -03E0 -7A20 -4A20 -4A20 -4A20 -4A20 -7A20 -4A20 -02E0 -0200 -0200 +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 11 11 0 -1 -BITMAP -1FC0 -1040 -1040 -1040 -1040 -1FC0 -1040 -0880 -1040 -2020 -4020 +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 11 11 0 -1 -BITMAP -0020 -0220 -7A20 -4A20 -4A20 -4A20 -4AE0 -7B20 -0020 -0020 -0020 +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 11 11 0 -1 -BITMAP -7FC0 -0840 -0840 -0840 -1140 -2080 -7FC0 -2040 -2040 -2040 -3FC0 +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 +BITMAP 0080 F280 9280 @@ -182991,7 +222647,7 @@ ENCODING 21486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F080 9080 @@ -183008,9 +222664,8 @@ STARTCHAR U_53EF ENCODING 21487 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0080 3C80 @@ -183026,26 +222681,26 @@ STARTCHAR U_53F0 ENCODING 21488 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 +BBX 9 11 1 -1 +BITMAP 0800 -1100 -2080 -7FC0 -0040 -3F80 -2080 -2080 -2080 -3F80 +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 +BITMAP 0200 F200 9220 @@ -183063,7 +222718,7 @@ ENCODING 21490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -183081,7 +222736,7 @@ ENCODING 21491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -183099,7 +222754,7 @@ ENCODING 21492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F00 0900 @@ -183116,8 +222771,8 @@ STARTCHAR U_53F5 ENCODING 21493 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 8000 8000 @@ -183135,7 +222790,7 @@ ENCODING 21494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9100 @@ -183153,7 +222808,7 @@ ENCODING 21495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -183170,8 +222825,8 @@ STARTCHAR U_53F8 ENCODING 21496 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 0040 FF40 @@ -183189,7 +222844,7 @@ ENCODING 21497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F440 9440 @@ -183207,7 +222862,7 @@ ENCODING 21498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 F200 @@ -183225,7 +222880,7 @@ ENCODING 21499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97E0 @@ -183243,7 +222898,7 @@ ENCODING 21500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F020 9020 @@ -183261,7 +222916,7 @@ ENCODING 21501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F480 9480 @@ -183278,27 +222933,26 @@ STARTCHAR U_53FE ENCODING 21502 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0100 -0200 +BBX 9 11 1 -1 +BITMAP +FF80 0200 -0A00 0400 +0400 +1400 +0800 0000 -7FC0 -4040 -4040 -7FC0 +FF80 +8080 +8080 +FF80 ENDCHAR STARTCHAR U_53FF ENCODING 21503 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 1FC0 E200 A200 @@ -183315,7 +222969,7 @@ ENCODING 21504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0F00 0100 @@ -183333,7 +222987,7 @@ ENCODING 21505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9100 @@ -183351,7 +223005,7 @@ ENCODING 21506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -183369,7 +223023,7 @@ ENCODING 21507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -183387,7 +223041,7 @@ ENCODING 21508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 3080 @@ -183404,26 +223058,25 @@ STARTCHAR U_5405 ENCODING 21509 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7BC0 -4A40 -4A40 -4A40 -4A40 -4A40 -4A40 -4A40 -7BC0 -4A40 +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 +BITMAP 0100 F100 9240 @@ -183441,7 +223094,7 @@ ENCODING 21511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F040 9080 @@ -183459,7 +223112,7 @@ ENCODING 21512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -183477,7 +223130,7 @@ ENCODING 21513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -183494,26 +223147,26 @@ STARTCHAR U_540A ENCODING 21514 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -3F80 -0400 -7FC0 -4440 -4440 -4440 -44C0 -0400 +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 +BITMAP 0080 F080 9FE0 @@ -183530,8 +223183,8 @@ STARTCHAR U_540C ENCODING 21516 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 8040 BF40 @@ -183548,8 +223201,8 @@ STARTCHAR U_540D ENCODING 21517 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 1FC0 1080 @@ -183567,7 +223220,7 @@ ENCODING 21518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 3E00 2000 @@ -183585,7 +223238,7 @@ ENCODING 21519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -183603,7 +223256,7 @@ ENCODING 21520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F100 @@ -183620,8 +223273,8 @@ STARTCHAR U_5411 ENCODING 21521 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 1000 FFC0 @@ -183639,7 +223292,7 @@ ENCODING 21522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0700 F100 @@ -183657,7 +223310,7 @@ ENCODING 21523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9100 @@ -183675,7 +223328,7 @@ ENCODING 21524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0A00 EAC0 @@ -183692,26 +223345,26 @@ STARTCHAR U_5415 ENCODING 21525 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -3F80 -2080 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 +4100 0000 -7FC0 -4040 -4040 -4040 -7FC0 +FF80 +8080 +8080 +8080 +FF80 ENDCHAR STARTCHAR U_5416 ENCODING 21526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 0440 F280 @@ -183729,7 +223382,7 @@ ENCODING 21527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 F040 9240 @@ -183747,7 +223400,7 @@ ENCODING 21528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7C0 A900 @@ -183765,7 +223418,7 @@ ENCODING 21529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 E240 @@ -183783,7 +223436,7 @@ ENCODING 21530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E240 A240 @@ -183801,7 +223454,7 @@ ENCODING 21531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0440 FFE0 @@ -183819,7 +223472,7 @@ ENCODING 21532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F240 9240 @@ -183837,7 +223490,7 @@ ENCODING 21533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFC0 2100 @@ -183855,7 +223508,7 @@ ENCODING 21534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -183873,7 +223526,7 @@ ENCODING 21535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -183891,7 +223544,7 @@ ENCODING 21536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F140 9120 @@ -183909,7 +223562,7 @@ ENCODING 21537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 E900 A900 @@ -183927,7 +223580,7 @@ ENCODING 21538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 5220 52A0 @@ -183945,7 +223598,7 @@ ENCODING 21539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0080 E080 @@ -183963,7 +223616,7 @@ ENCODING 21540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -183981,7 +223634,7 @@ ENCODING 21541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F080 9080 @@ -183999,7 +223652,7 @@ ENCODING 21542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0D80 @@ -184017,7 +223670,7 @@ ENCODING 21543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E940 A940 @@ -184035,7 +223688,7 @@ ENCODING 21544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 BFE0 @@ -184053,7 +223706,7 @@ ENCODING 21545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9440 @@ -184071,7 +223724,7 @@ ENCODING 21546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E500 A920 @@ -184089,7 +223742,7 @@ ENCODING 21547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1900 @@ -184107,7 +223760,7 @@ ENCODING 21548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9400 @@ -184125,7 +223778,7 @@ ENCODING 21549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -184143,7 +223796,7 @@ ENCODING 21550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F200 9440 @@ -184160,8 +223813,8 @@ STARTCHAR U_542F ENCODING 21551 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 3FC0 2040 @@ -184179,7 +223832,7 @@ ENCODING 21552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 AFE0 @@ -184197,7 +223850,7 @@ ENCODING 21553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -184215,7 +223868,7 @@ ENCODING 21554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F20 E120 A120 @@ -184233,7 +223886,7 @@ ENCODING 21555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 2880 2880 @@ -184251,7 +223904,7 @@ ENCODING 21556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -184269,7 +223922,7 @@ ENCODING 21557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 A540 @@ -184287,7 +223940,7 @@ ENCODING 21558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -184305,7 +223958,7 @@ ENCODING 21559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 AFC0 @@ -184323,7 +223976,7 @@ ENCODING 21560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E480 A480 @@ -184341,7 +223994,7 @@ ENCODING 21561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 93E0 @@ -184359,7 +224012,7 @@ ENCODING 21562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 A480 @@ -184377,7 +224030,7 @@ ENCODING 21563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 F7E0 @@ -184395,7 +224048,7 @@ ENCODING 21564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E80 E280 A480 @@ -184413,7 +224066,7 @@ ENCODING 21565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 9500 @@ -184431,7 +224084,7 @@ ENCODING 21566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -184449,7 +224102,7 @@ ENCODING 21567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 3FC0 @@ -184467,7 +224120,7 @@ ENCODING 21568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E480 A480 @@ -184485,7 +224138,7 @@ ENCODING 21569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9420 @@ -184502,26 +224155,26 @@ STARTCHAR U_5442 ENCODING 21570 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -3F80 -0400 +BBX 9 11 1 -1 +BITMAP +7F00 +4100 +4100 +7F00 0800 -7FC0 -4040 -4040 -7FC0 -4040 +1000 +FF80 +8080 +8080 +FF80 +8080 ENDCHAR STARTCHAR U_5443 ENCODING 21571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A800 ABC0 @@ -184539,7 +224192,7 @@ ENCODING 21572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1100 13C0 @@ -184557,7 +224210,7 @@ ENCODING 21573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -184575,7 +224228,7 @@ ENCODING 21574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -184592,26 +224245,26 @@ STARTCHAR U_5447 ENCODING 21575 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0240 -7A80 -0B00 -1280 -2A60 -4400 -3F80 -2080 -2080 -3F80 -2080 +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 +BITMAP 3F80 2080 2080 @@ -184629,7 +224282,7 @@ ENCODING 21577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 5080 5080 @@ -184647,7 +224300,7 @@ ENCODING 21578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 3FC0 @@ -184665,7 +224318,7 @@ ENCODING 21579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -184683,7 +224336,7 @@ ENCODING 21580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 E480 A280 @@ -184701,7 +224354,7 @@ ENCODING 21581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F000 9000 @@ -184719,7 +224372,7 @@ ENCODING 21582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -184737,7 +224390,7 @@ ENCODING 21583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EC80 A480 @@ -184755,7 +224408,7 @@ ENCODING 21584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 EFE0 @@ -184773,7 +224426,7 @@ ENCODING 21585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -184791,7 +224444,7 @@ ENCODING 21586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9100 @@ -184809,7 +224462,7 @@ ENCODING 21587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -184827,7 +224480,7 @@ ENCODING 21588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 A100 @@ -184845,7 +224498,7 @@ ENCODING 21589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E800 A840 @@ -184863,7 +224516,7 @@ ENCODING 21590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E900 A900 @@ -184881,7 +224534,7 @@ ENCODING 21591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 9520 @@ -184899,7 +224552,7 @@ ENCODING 21592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -184916,26 +224569,26 @@ STARTCHAR U_5459 ENCODING 21593 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -3F80 -0400 -7FC0 -4440 -4A40 -5140 -4040 -40C0 +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 +BITMAP 0200 0200 F200 @@ -184953,7 +224606,7 @@ ENCODING 21595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -184971,7 +224624,7 @@ ENCODING 21596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9440 @@ -184988,27 +224641,26 @@ STARTCHAR U_545D ENCODING 21597 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0400 0200 -0100 -77C0 -5440 -57C0 -5400 -75C0 -4880 -0900 -1220 -23E0 +EF80 +A880 +AF80 +A800 +EB80 +9100 +1200 +2440 +47C0 ENDCHAR STARTCHAR U_545E ENCODING 21598 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP 1FC0 0040 EF40 @@ -185024,26 +224676,26 @@ STARTCHAR U_545F ENCODING 21599 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0400 0200 -0100 -77E0 -5100 -5240 -5440 -7780 -5100 -4240 -07E0 -0020 +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 +BITMAP 0100 F100 9FE0 @@ -185061,7 +224713,7 @@ ENCODING 21601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 A840 @@ -185079,7 +224731,7 @@ ENCODING 21602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 A840 @@ -185097,7 +224749,7 @@ ENCODING 21603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AA40 @@ -185115,7 +224767,7 @@ ENCODING 21604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E480 A840 @@ -185133,7 +224785,7 @@ ENCODING 21605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9540 @@ -185151,7 +224803,7 @@ ENCODING 21606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A5E0 @@ -185169,7 +224821,7 @@ ENCODING 21607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 F780 9480 @@ -185187,7 +224839,7 @@ ENCODING 21608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2220 2FA0 @@ -185204,26 +224856,25 @@ STARTCHAR U_5469 ENCODING 21609 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -07C0 -7000 -5FE0 -5100 -5540 -7520 -5520 -0920 -0100 -0300 +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 +BITMAP 07C0 F440 9440 @@ -185241,7 +224892,7 @@ ENCODING 21611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F1E0 @@ -185259,7 +224910,7 @@ ENCODING 21612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AAA0 @@ -185277,7 +224928,7 @@ ENCODING 21613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EA80 AA80 @@ -185294,9 +224945,8 @@ STARTCHAR U_546E ENCODING 21614 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 07E0 F420 9420 @@ -185313,7 +224963,7 @@ ENCODING 21615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E100 A920 @@ -185331,7 +224981,7 @@ ENCODING 21616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5160 5D80 @@ -185349,7 +224999,7 @@ ENCODING 21617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 AA80 @@ -185367,7 +225017,7 @@ ENCODING 21618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 E280 A280 @@ -185385,7 +225035,7 @@ ENCODING 21619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -185403,7 +225053,7 @@ ENCODING 21620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9820 @@ -185421,7 +225071,7 @@ ENCODING 21621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F040 9040 @@ -185439,7 +225089,7 @@ ENCODING 21622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E5E0 BEA0 @@ -185457,7 +225107,7 @@ ENCODING 21623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 A920 @@ -185474,9 +225124,8 @@ STARTCHAR U_5478 ENCODING 21624 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 0FE0 F080 9100 @@ -185493,7 +225142,7 @@ ENCODING 21625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0A00 EFC0 @@ -185511,7 +225160,7 @@ ENCODING 21626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -185529,7 +225178,7 @@ ENCODING 21627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 AFE0 @@ -185547,7 +225196,7 @@ ENCODING 21628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A120 @@ -185565,7 +225214,7 @@ ENCODING 21629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -185583,7 +225232,7 @@ ENCODING 21630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 A840 @@ -185601,7 +225250,7 @@ ENCODING 21631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -185619,7 +225268,7 @@ ENCODING 21632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -185637,7 +225286,7 @@ ENCODING 21633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F440 9FE0 @@ -185655,7 +225304,7 @@ ENCODING 21634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E880 A880 @@ -185673,7 +225322,7 @@ ENCODING 21635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A4A0 @@ -185691,7 +225340,7 @@ ENCODING 21636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E540 A540 @@ -185709,7 +225358,7 @@ ENCODING 21637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -185727,7 +225376,7 @@ ENCODING 21638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07E0 E820 @@ -185745,7 +225394,7 @@ ENCODING 21639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 0140 E440 @@ -185763,7 +225412,7 @@ ENCODING 21640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A2A0 @@ -185781,7 +225430,7 @@ ENCODING 21641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 AFE0 @@ -185799,7 +225448,7 @@ ENCODING 21642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 F780 9100 @@ -185817,7 +225466,7 @@ ENCODING 21643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E400 A7E0 @@ -185835,7 +225484,7 @@ ENCODING 21644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C00 7000 11E0 @@ -185853,7 +225502,7 @@ ENCODING 21645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F200 9440 @@ -185871,7 +225520,7 @@ ENCODING 21646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3D80 4540 @@ -185889,7 +225538,7 @@ ENCODING 21647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 F000 9700 @@ -185907,7 +225556,7 @@ ENCODING 21648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F240 9440 @@ -185925,7 +225574,7 @@ ENCODING 21649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E5E0 BE40 @@ -185942,26 +225591,26 @@ STARTCHAR U_5492 ENCODING 21650 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -79E0 -4920 -4920 -79E0 +BBX 10 11 1 -1 +BITMAP +F3C0 +9240 +9240 +F3C0 0000 -0F00 -0900 -0900 -0920 -1120 -60E0 +1E00 +1200 +1200 +1240 +2240 +C1C0 ENDCHAR STARTCHAR U_5493 ENCODING 21651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F200 9200 @@ -185979,7 +225628,7 @@ ENCODING 21652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E3C0 A200 @@ -185997,7 +225646,7 @@ ENCODING 21653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -186015,7 +225664,7 @@ ENCODING 21654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 FEE0 @@ -186033,7 +225682,7 @@ ENCODING 21655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -186051,7 +225700,7 @@ ENCODING 21656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 BFE0 @@ -186069,7 +225718,7 @@ ENCODING 21657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E440 A400 @@ -186087,7 +225736,7 @@ ENCODING 21658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E3C0 A440 @@ -186105,7 +225754,7 @@ ENCODING 21659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -186123,7 +225772,7 @@ ENCODING 21660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 97E0 @@ -186141,7 +225790,7 @@ ENCODING 21661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 E440 A880 @@ -186158,9 +225807,8 @@ STARTCHAR U_549E ENCODING 21662 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 9240 9240 @@ -186176,9 +225824,8 @@ STARTCHAR U_549F ENCODING 21663 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 9080 9100 @@ -186194,26 +225841,26 @@ STARTCHAR U_54A0 ENCODING 21664 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1080 -7FE0 -1080 -1F80 -1080 -1F80 -10E0 -7F80 -0080 +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 +BITMAP 0FE0 F440 97C0 @@ -186231,7 +225878,7 @@ ENCODING 21666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -186249,7 +225896,7 @@ ENCODING 21667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F520 9540 @@ -186267,7 +225914,7 @@ ENCODING 21668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9820 @@ -186285,7 +225932,7 @@ ENCODING 21669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9200 @@ -186303,7 +225950,7 @@ ENCODING 21670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -186321,7 +225968,7 @@ ENCODING 21671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F20 E420 A6A0 @@ -186339,7 +225986,7 @@ ENCODING 21672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 1540 @@ -186357,7 +226004,7 @@ ENCODING 21673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 9FE0 @@ -186375,7 +226022,7 @@ ENCODING 21674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 9540 @@ -186393,7 +226040,7 @@ ENCODING 21675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4A20 @@ -186411,7 +226058,7 @@ ENCODING 21676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9280 @@ -186429,7 +226076,7 @@ ENCODING 21677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -186447,7 +226094,7 @@ ENCODING 21678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E500 A7C0 @@ -186465,7 +226112,7 @@ ENCODING 21679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7C0 9440 @@ -186483,7 +226130,7 @@ ENCODING 21680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7E0 A820 @@ -186500,8 +226147,8 @@ STARTCHAR U_54B1 ENCODING 21681 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0100 0200 EFC0 @@ -186519,7 +226166,7 @@ ENCODING 21682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0240 E280 @@ -186537,7 +226184,7 @@ ENCODING 21683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E100 AFE0 @@ -186555,7 +226202,7 @@ ENCODING 21684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 A200 @@ -186573,7 +226220,7 @@ ENCODING 21685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FE0 E500 @@ -186591,7 +226238,7 @@ ENCODING 21686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -186609,7 +226256,7 @@ ENCODING 21687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 02A0 EAC0 @@ -186627,7 +226274,7 @@ ENCODING 21688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 7FE0 @@ -186645,7 +226292,7 @@ ENCODING 21689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -186663,7 +226310,7 @@ ENCODING 21690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F000 97C0 @@ -186681,7 +226328,7 @@ ENCODING 21691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A880 @@ -186699,7 +226346,7 @@ ENCODING 21692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3C80 @@ -186717,7 +226364,7 @@ ENCODING 21693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 A920 @@ -186735,7 +226382,7 @@ ENCODING 21694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E120 A7C0 @@ -186753,7 +226400,7 @@ ENCODING 21695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BC0 E940 A940 @@ -186771,7 +226418,7 @@ ENCODING 21696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -186788,26 +226435,26 @@ STARTCHAR U_54C1 ENCODING 21697 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1080 -1F80 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +2100 +3F00 0000 -79E0 -4920 -4920 -4920 -79E0 -4920 +F3C0 +9240 +9240 +9240 +F3C0 +9240 ENDCHAR STARTCHAR U_54C2 ENCODING 21698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 A280 @@ -186825,7 +226472,7 @@ ENCODING 21699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 ABA0 @@ -186843,7 +226490,7 @@ ENCODING 21700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 E280 AFE0 @@ -186861,7 +226508,7 @@ ENCODING 21701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7E0 A820 @@ -186879,7 +226526,7 @@ ENCODING 21702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E3C0 AC40 @@ -186897,7 +226544,7 @@ ENCODING 21703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -186915,7 +226562,7 @@ ENCODING 21704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F280 @@ -186932,26 +226579,26 @@ STARTCHAR U_54C9 ENCODING 21705 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1100 -1140 -7D20 -1100 -7FE0 -0100 -3D40 -2580 -2520 -3EA0 -2460 +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 +BITMAP 0200 1FE0 E400 @@ -186969,7 +226616,7 @@ ENCODING 21707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 0A80 EAA0 @@ -186987,7 +226634,7 @@ ENCODING 21708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A800 @@ -187005,7 +226652,7 @@ ENCODING 21709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0200 EFE0 @@ -187023,7 +226670,7 @@ ENCODING 21710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E480 @@ -187041,7 +226688,7 @@ ENCODING 21711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -187059,7 +226706,7 @@ ENCODING 21712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E800 ABE0 @@ -187077,7 +226724,7 @@ ENCODING 21713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E280 A280 @@ -187095,7 +226742,7 @@ ENCODING 21714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F480 93E0 @@ -187113,7 +226760,7 @@ ENCODING 21715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 A240 @@ -187131,7 +226778,7 @@ ENCODING 21716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E8A0 AEC0 @@ -187149,7 +226796,7 @@ ENCODING 21717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E920 A920 @@ -187167,7 +226814,7 @@ ENCODING 21718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E7E0 A880 @@ -187185,7 +226832,7 @@ ENCODING 21719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E520 AD40 @@ -187203,7 +226850,7 @@ ENCODING 21720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 05E0 E800 @@ -187221,7 +226868,7 @@ ENCODING 21721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E480 A840 @@ -187239,7 +226886,7 @@ ENCODING 21722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 A480 @@ -187257,7 +226904,7 @@ ENCODING 21723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F5C0 9600 @@ -187275,7 +226922,7 @@ ENCODING 21724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9480 @@ -187293,7 +226940,7 @@ ENCODING 21725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 AFE0 @@ -187311,7 +226958,7 @@ ENCODING 21726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E480 A840 @@ -187329,7 +226976,7 @@ ENCODING 21727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A8E0 @@ -187347,7 +226994,7 @@ ENCODING 21728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E500 A7C0 @@ -187364,26 +227011,26 @@ STARTCHAR U_54E1 ENCODING 21729 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -3FC0 -2040 -3FC0 -2040 -3FC0 -2040 -3FC0 -1080 -6060 +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 +BITMAP 0FE0 E100 A7C0 @@ -187401,7 +227048,7 @@ ENCODING 21731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0000 F7C0 @@ -187419,7 +227066,7 @@ ENCODING 21732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C40 EA80 BF20 @@ -187436,26 +227083,26 @@ STARTCHAR U_54E5 ENCODING 21733 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -0080 -3C80 -2480 -3C80 -7FE0 -0080 -3C80 -2480 -3C80 -0380 +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 +BITMAP 06C0 FCA0 A480 @@ -187473,7 +227120,7 @@ ENCODING 21735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A100 @@ -187491,7 +227138,7 @@ ENCODING 21736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 9100 @@ -187509,7 +227156,7 @@ ENCODING 21737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 AFE0 @@ -187527,7 +227174,7 @@ ENCODING 21738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 EAA0 AAA0 @@ -187545,7 +227192,7 @@ ENCODING 21739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 9440 @@ -187563,7 +227210,7 @@ ENCODING 21740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0FE0 E820 @@ -187581,7 +227228,7 @@ ENCODING 21741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -187599,7 +227246,7 @@ ENCODING 21742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 EFC0 A280 @@ -187617,7 +227264,7 @@ ENCODING 21743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -187635,7 +227282,7 @@ ENCODING 21744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 B220 @@ -187653,7 +227300,7 @@ ENCODING 21745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -187671,7 +227318,7 @@ ENCODING 21746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 FC00 @@ -187689,7 +227336,7 @@ ENCODING 21747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 E500 BF00 @@ -187707,7 +227354,7 @@ ENCODING 21748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0FC0 E840 @@ -187725,7 +227372,7 @@ ENCODING 21749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E20 1220 FEA0 @@ -187743,7 +227390,7 @@ ENCODING 21750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 ECE0 A480 @@ -187761,7 +227408,7 @@ ENCODING 21751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 0FA0 EA20 @@ -187779,7 +227426,7 @@ ENCODING 21752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF00 A220 @@ -187797,7 +227444,7 @@ ENCODING 21753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 0F00 EA20 @@ -187815,7 +227462,7 @@ ENCODING 21754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 E140 BFE0 @@ -187833,7 +227480,7 @@ ENCODING 21755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A7C0 @@ -187851,7 +227498,7 @@ ENCODING 21756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 F000 @@ -187869,7 +227516,7 @@ ENCODING 21757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 AFE0 @@ -187887,7 +227534,7 @@ ENCODING 21758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0500 EFC0 @@ -187905,7 +227552,7 @@ ENCODING 21759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1520 @@ -187923,7 +227570,7 @@ ENCODING 21760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 0E00 E200 @@ -187941,7 +227588,7 @@ ENCODING 21761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -187959,7 +227606,7 @@ ENCODING 21762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 EA40 @@ -187977,7 +227624,7 @@ ENCODING 21763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 03C0 E480 @@ -187995,7 +227642,7 @@ ENCODING 21764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 9420 @@ -188013,7 +227660,7 @@ ENCODING 21765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E280 A440 @@ -188031,7 +227678,7 @@ ENCODING 21766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E440 AFE0 @@ -188049,7 +227696,7 @@ ENCODING 21767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 5FC0 @@ -188067,7 +227714,7 @@ ENCODING 21768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A7C0 @@ -188085,7 +227732,7 @@ ENCODING 21769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0440 F7A0 @@ -188103,7 +227750,7 @@ ENCODING 21770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -188121,7 +227768,7 @@ ENCODING 21771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E480 A840 @@ -188139,7 +227786,7 @@ ENCODING 21772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 FDC0 A440 @@ -188157,7 +227804,7 @@ ENCODING 21773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -188175,7 +227822,7 @@ ENCODING 21774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FCA0 A4A0 @@ -188193,7 +227840,7 @@ ENCODING 21775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0CC0 E300 ACC0 @@ -188211,7 +227858,7 @@ ENCODING 21776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -188229,7 +227876,7 @@ ENCODING 21777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E540 A540 @@ -188247,7 +227894,7 @@ ENCODING 21778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 A280 @@ -188265,7 +227912,7 @@ ENCODING 21779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 E100 @@ -188283,7 +227930,7 @@ ENCODING 21780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 97C0 @@ -188301,7 +227948,7 @@ ENCODING 21781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0200 F7C0 @@ -188319,7 +227966,7 @@ ENCODING 21782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0280 EFE0 @@ -188337,7 +227984,7 @@ ENCODING 21783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -188355,7 +228002,7 @@ ENCODING 21784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 2220 3D40 @@ -188373,7 +228020,7 @@ ENCODING 21785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EA80 A4A0 @@ -188391,7 +228038,7 @@ ENCODING 21786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E040 AFC0 @@ -188409,7 +228056,7 @@ ENCODING 21787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -188427,7 +228074,7 @@ ENCODING 21788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -188445,7 +228092,7 @@ ENCODING 21789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0100 F100 @@ -188463,7 +228110,7 @@ ENCODING 21790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0540 E4C0 @@ -188481,7 +228128,7 @@ ENCODING 21791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -188499,7 +228146,7 @@ ENCODING 21792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A280 @@ -188517,7 +228164,7 @@ ENCODING 21793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -188535,7 +228182,7 @@ ENCODING 21794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 9100 @@ -188553,7 +228200,7 @@ ENCODING 21795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A840 @@ -188571,7 +228218,7 @@ ENCODING 21796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 03C0 F480 @@ -188589,7 +228236,7 @@ ENCODING 21797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1100 EA80 @@ -188607,7 +228254,7 @@ ENCODING 21798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E900 A140 @@ -188625,7 +228272,7 @@ ENCODING 21799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEA0 @@ -188643,7 +228290,7 @@ ENCODING 21800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 EAE0 AAA0 @@ -188661,7 +228308,7 @@ ENCODING 21801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0F00 E100 @@ -188679,7 +228326,7 @@ ENCODING 21802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -188697,7 +228344,7 @@ ENCODING 21803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0500 E880 @@ -188715,7 +228362,7 @@ ENCODING 21804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -188733,7 +228380,7 @@ ENCODING 21805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 A440 @@ -188751,7 +228398,7 @@ ENCODING 21806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2200 @@ -188769,7 +228416,7 @@ ENCODING 21807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F480 97E0 @@ -188787,7 +228434,7 @@ ENCODING 21808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FA0 08A0 EFA0 @@ -188805,7 +228452,7 @@ ENCODING 21809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -188823,7 +228470,7 @@ ENCODING 21810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F6E0 9420 @@ -188841,7 +228488,7 @@ ENCODING 21811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -188859,7 +228506,7 @@ ENCODING 21812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 9FE0 @@ -188877,7 +228524,7 @@ ENCODING 21813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A500 @@ -188895,7 +228542,7 @@ ENCODING 21814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -188913,7 +228560,7 @@ ENCODING 21815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -188931,7 +228578,7 @@ ENCODING 21816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E500 AA80 @@ -188949,7 +228596,7 @@ ENCODING 21817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E480 BE80 @@ -188967,7 +228614,7 @@ ENCODING 21818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0280 EFE0 @@ -188985,7 +228632,7 @@ ENCODING 21819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -189003,7 +228650,7 @@ ENCODING 21820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A440 @@ -189021,7 +228668,7 @@ ENCODING 21821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0460 E580 @@ -189039,7 +228686,7 @@ ENCODING 21822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -189057,7 +228704,7 @@ ENCODING 21823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9AA0 @@ -189075,7 +228722,7 @@ ENCODING 21824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E880 A880 @@ -189093,7 +228740,7 @@ ENCODING 21825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 ABA0 @@ -189111,7 +228758,7 @@ ENCODING 21826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0680 F880 AA80 @@ -189129,7 +228776,7 @@ ENCODING 21827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F5E0 9500 @@ -189147,7 +228794,7 @@ ENCODING 21828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9200 @@ -189165,7 +228812,7 @@ ENCODING 21829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 F100 97C0 @@ -189183,7 +228830,7 @@ ENCODING 21830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -189201,7 +228848,7 @@ ENCODING 21831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -189219,7 +228866,7 @@ ENCODING 21832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -189237,7 +228884,7 @@ ENCODING 21833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 BFE0 @@ -189255,7 +228902,7 @@ ENCODING 21834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 E820 A820 @@ -189273,7 +228920,7 @@ ENCODING 21835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF20 A920 @@ -189291,7 +228938,7 @@ ENCODING 21836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0100 EFE0 @@ -189309,7 +228956,7 @@ ENCODING 21837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A440 @@ -189327,7 +228974,7 @@ ENCODING 21838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7100 A7C0 @@ -189345,7 +228992,7 @@ ENCODING 21839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -189363,7 +229010,7 @@ ENCODING 21840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -189381,7 +229028,7 @@ ENCODING 21841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 AFC0 @@ -189399,7 +229046,7 @@ ENCODING 21842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 AFE0 @@ -189417,7 +229064,7 @@ ENCODING 21843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 4A40 @@ -189435,7 +229082,7 @@ ENCODING 21844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7D00 47E0 @@ -189453,7 +229100,7 @@ ENCODING 21845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EFE0 B420 @@ -189471,7 +229118,7 @@ ENCODING 21846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0120 F540 9580 @@ -189489,7 +229136,7 @@ ENCODING 21847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E3C0 A440 @@ -189507,7 +229154,7 @@ ENCODING 21848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -189525,7 +229172,7 @@ ENCODING 21849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1240 5B80 @@ -189543,7 +229190,7 @@ ENCODING 21850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -189561,7 +229208,7 @@ ENCODING 21851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 A200 @@ -189579,7 +229226,7 @@ ENCODING 21852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 E220 ACC0 @@ -189597,7 +229244,7 @@ ENCODING 21853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E00 E5E0 A520 @@ -189615,7 +229262,7 @@ ENCODING 21854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 A280 @@ -189633,7 +229280,7 @@ ENCODING 21855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 45E0 @@ -189651,7 +229298,7 @@ ENCODING 21856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18E0 6300 4200 @@ -189669,7 +229316,7 @@ ENCODING 21857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9EE0 @@ -189687,7 +229334,7 @@ ENCODING 21858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 A100 @@ -189705,7 +229352,7 @@ ENCODING 21859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EEE0 B4A0 @@ -189723,7 +229370,7 @@ ENCODING 21860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 A920 @@ -189741,7 +229388,7 @@ ENCODING 21861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -189759,7 +229406,7 @@ ENCODING 21862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E480 BFE0 @@ -189777,7 +229424,7 @@ ENCODING 21863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -189795,7 +229442,7 @@ ENCODING 21864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EF80 A200 @@ -189813,7 +229460,7 @@ ENCODING 21865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EE80 A480 @@ -189831,7 +229478,7 @@ ENCODING 21866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 E480 BFE0 @@ -189849,7 +229496,7 @@ ENCODING 21867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFA0 A240 @@ -189866,26 +229513,26 @@ STARTCHAR U_556C ENCODING 21868 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 -2480 -1500 -7FE0 +BBX 10 11 1 -1 +BITMAP +0800 +FF80 +4900 +2A00 +FFC0 0000 -3FC0 -2940 -2F40 -2040 -3FC0 +7F80 +5280 +5E80 +4080 +7F80 ENDCHAR STARTCHAR U_556D ENCODING 21869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 E440 BFE0 @@ -189903,7 +229550,7 @@ ENCODING 21870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E5E0 A500 @@ -189921,7 +229568,7 @@ ENCODING 21871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 AFE0 @@ -189939,7 +229586,7 @@ ENCODING 21872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AAA0 @@ -189957,7 +229604,7 @@ ENCODING 21873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0920 E920 @@ -189975,7 +229622,7 @@ ENCODING 21874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0440 E880 @@ -189993,7 +229640,7 @@ ENCODING 21875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 0540 EFE0 @@ -190011,7 +229658,7 @@ ENCODING 21876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0280 EFE0 @@ -190029,7 +229676,7 @@ ENCODING 21877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E7E0 A2A0 @@ -190047,7 +229694,7 @@ ENCODING 21878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -190065,7 +229712,7 @@ ENCODING 21879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 EEA0 AAA0 @@ -190083,7 +229730,7 @@ ENCODING 21880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFC0 A140 @@ -190101,7 +229748,7 @@ ENCODING 21881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -190119,7 +229766,7 @@ ENCODING 21882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 A780 @@ -190137,7 +229784,7 @@ ENCODING 21883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -190155,7 +229802,7 @@ ENCODING 21884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A440 @@ -190173,7 +229820,7 @@ ENCODING 21885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 97C0 @@ -190191,7 +229838,7 @@ ENCODING 21886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 F880 AAA0 @@ -190209,7 +229856,7 @@ ENCODING 21887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 9440 @@ -190227,7 +229874,7 @@ ENCODING 21888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -190245,7 +229892,7 @@ ENCODING 21889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F540 97C0 @@ -190263,7 +229910,7 @@ ENCODING 21890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F540 97C0 @@ -190281,7 +229928,7 @@ ENCODING 21891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -190299,7 +229946,7 @@ ENCODING 21892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -190317,7 +229964,7 @@ ENCODING 21893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -190335,7 +229982,7 @@ ENCODING 21894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -190353,7 +230000,7 @@ ENCODING 21895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 FF20 A4A0 @@ -190371,7 +230018,7 @@ ENCODING 21896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E8A0 AEC0 @@ -190389,7 +230036,7 @@ ENCODING 21897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BC0 E840 AFE0 @@ -190407,7 +230054,7 @@ ENCODING 21898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 E0A0 AFE0 @@ -190425,7 +230072,7 @@ ENCODING 21899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 9540 @@ -190443,7 +230090,7 @@ ENCODING 21900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4A20 @@ -190461,7 +230108,7 @@ ENCODING 21901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 EAC0 AB80 @@ -190479,7 +230126,7 @@ ENCODING 21902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A740 @@ -190497,7 +230144,7 @@ ENCODING 21903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -190515,7 +230162,7 @@ ENCODING 21904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E4E0 BFA0 @@ -190533,7 +230180,7 @@ ENCODING 21905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -190551,7 +230198,7 @@ ENCODING 21906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 EF80 AAC0 @@ -190569,7 +230216,7 @@ ENCODING 21907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -190587,7 +230234,7 @@ ENCODING 21908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 AFE0 @@ -190605,7 +230252,7 @@ ENCODING 21909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 A200 @@ -190623,7 +230270,7 @@ ENCODING 21910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 BE80 @@ -190641,7 +230288,7 @@ ENCODING 21911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 B7C0 @@ -190659,7 +230306,7 @@ ENCODING 21912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E920 AFE0 @@ -190677,7 +230324,7 @@ ENCODING 21913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 E880 @@ -190695,7 +230342,7 @@ ENCODING 21914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 A900 @@ -190713,7 +230360,7 @@ ENCODING 21915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 1E40 EA80 @@ -190731,7 +230378,7 @@ ENCODING 21916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -190749,7 +230396,7 @@ ENCODING 21917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -190767,7 +230414,7 @@ ENCODING 21918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EEE0 AAA0 @@ -190785,7 +230432,7 @@ ENCODING 21919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 AFE0 @@ -190803,7 +230450,7 @@ ENCODING 21920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E200 BFE0 @@ -190821,7 +230468,7 @@ ENCODING 21921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFC0 9240 @@ -190839,7 +230486,7 @@ ENCODING 21922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 E700 A100 @@ -190857,7 +230504,7 @@ ENCODING 21923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 9420 @@ -190875,7 +230522,7 @@ ENCODING 21924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9440 @@ -190893,7 +230540,7 @@ ENCODING 21925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AA40 @@ -190911,7 +230558,7 @@ ENCODING 21926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 1F80 @@ -190929,7 +230576,7 @@ ENCODING 21927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -190947,7 +230594,7 @@ ENCODING 21928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -190965,7 +230612,7 @@ ENCODING 21929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E500 A880 @@ -190983,7 +230630,7 @@ ENCODING 21930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -191001,7 +230648,7 @@ ENCODING 21931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 FEA0 A4A0 @@ -191019,7 +230666,7 @@ ENCODING 21932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0800 FFE0 @@ -191037,7 +230684,7 @@ ENCODING 21933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -191054,26 +230701,26 @@ STARTCHAR U_55AE ENCODING 21934 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -79E0 -4920 -4920 -7FE0 -2240 -3FC0 -2240 -3FC0 -0200 -7FE0 -0200 +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 +BITMAP 0200 1FC0 E480 @@ -191091,7 +230738,7 @@ ENCODING 21936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0280 F540 @@ -191109,7 +230756,7 @@ ENCODING 21937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E800 ABE0 @@ -191127,7 +230774,7 @@ ENCODING 21938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A8E0 @@ -191145,7 +230792,7 @@ ENCODING 21939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9540 @@ -191163,7 +230810,7 @@ ENCODING 21940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 EAC0 AB80 @@ -191181,7 +230828,7 @@ ENCODING 21941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9FE0 @@ -191198,8 +230845,8 @@ STARTCHAR U_55B6 ENCODING 21942 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4880 2500 FFC0 @@ -191217,7 +230864,7 @@ ENCODING 21943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A540 @@ -191235,7 +230882,7 @@ ENCODING 21944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 4440 @@ -191253,7 +230900,7 @@ ENCODING 21945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9280 @@ -191271,7 +230918,7 @@ ENCODING 21946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04C0 E700 A900 @@ -191289,7 +230936,7 @@ ENCODING 21947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E480 BB60 @@ -191307,7 +230954,7 @@ ENCODING 21948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0900 F7C0 @@ -191325,7 +230972,7 @@ ENCODING 21949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 9FE0 @@ -191342,26 +230989,26 @@ STARTCHAR U_55BE ENCODING 21950 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2440 -1280 -7FE0 -5220 -1F80 -2200 -7FE0 +BBX 10 11 1 -1 +BITMAP +4880 +2500 +FFC0 +A440 +3F00 +4400 +FFC0 0000 -1F80 -1080 -1F80 +3F00 +2100 +3F00 ENDCHAR STARTCHAR U_55BF ENCODING 21951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -191379,7 +231026,7 @@ ENCODING 21952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D40 1140 @@ -191397,7 +231044,7 @@ ENCODING 21953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E900 A9C0 @@ -191415,7 +231062,7 @@ ENCODING 21954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 0C40 EA40 @@ -191433,7 +231080,7 @@ ENCODING 21955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A440 @@ -191451,7 +231098,7 @@ ENCODING 21956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E200 A7C0 @@ -191469,7 +231116,7 @@ ENCODING 21957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 07C0 F440 @@ -191487,7 +231134,7 @@ ENCODING 21958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E680 A940 @@ -191505,7 +231152,7 @@ ENCODING 21959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -191523,7 +231170,7 @@ ENCODING 21960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FA80 9540 @@ -191541,7 +231188,7 @@ ENCODING 21961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 97C0 @@ -191559,7 +231206,7 @@ ENCODING 21962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9FE0 @@ -191577,7 +231224,7 @@ ENCODING 21963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFC0 A440 @@ -191595,7 +231242,7 @@ ENCODING 21964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 E480 BFE0 @@ -191613,7 +231260,7 @@ ENCODING 21965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 E520 BF20 @@ -191631,7 +231278,7 @@ ENCODING 21966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E900 AFC0 @@ -191649,7 +231296,7 @@ ENCODING 21967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 9480 @@ -191667,7 +231314,7 @@ ENCODING 21968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A920 @@ -191685,7 +231332,7 @@ ENCODING 21969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A100 @@ -191703,7 +231350,7 @@ ENCODING 21970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 9480 @@ -191721,7 +231368,7 @@ ENCODING 21971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E480 A300 @@ -191739,7 +231386,7 @@ ENCODING 21972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -191757,7 +231404,7 @@ ENCODING 21973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E800 ABC0 @@ -191775,7 +231422,7 @@ ENCODING 21974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 ED60 A920 @@ -191793,7 +231440,7 @@ ENCODING 21975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A740 @@ -191811,7 +231458,7 @@ ENCODING 21976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 0F00 F520 @@ -191829,7 +231476,7 @@ ENCODING 21977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -191847,7 +231494,7 @@ ENCODING 21978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A840 @@ -191865,7 +231512,7 @@ ENCODING 21979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFE0 A500 @@ -191883,7 +231530,7 @@ ENCODING 21980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9140 @@ -191901,7 +231548,7 @@ ENCODING 21981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E440 A7C0 @@ -191919,7 +231566,7 @@ ENCODING 21982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0280 EFE0 @@ -191937,7 +231584,7 @@ ENCODING 21983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 9FE0 @@ -191955,7 +231602,7 @@ ENCODING 21984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 E7C0 AA40 @@ -191973,7 +231620,7 @@ ENCODING 21985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EA40 B4A0 @@ -191991,7 +231638,7 @@ ENCODING 21986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -192009,7 +231656,7 @@ ENCODING 21987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4820 7BA0 @@ -192027,7 +231674,7 @@ ENCODING 21988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 0920 EFE0 @@ -192045,7 +231692,7 @@ ENCODING 21989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 07C0 E440 @@ -192063,7 +231710,7 @@ ENCODING 21990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -192081,7 +231728,7 @@ ENCODING 21991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2A20 @@ -192099,7 +231746,7 @@ ENCODING 21992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 0BE0 E400 @@ -192117,7 +231764,7 @@ ENCODING 21993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 0540 EFE0 @@ -192135,7 +231782,7 @@ ENCODING 21994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -192153,7 +231800,7 @@ ENCODING 21995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E440 A7C0 @@ -192171,7 +231818,7 @@ ENCODING 21996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E480 @@ -192189,7 +231836,7 @@ ENCODING 21997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -192207,7 +231854,7 @@ ENCODING 21998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 E940 A940 @@ -192225,7 +231872,7 @@ ENCODING 21999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 AFE0 @@ -192243,7 +231890,7 @@ ENCODING 22000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2FE0 E920 @@ -192261,7 +231908,7 @@ ENCODING 22001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 0480 FB40 @@ -192279,7 +231926,7 @@ ENCODING 22002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EAA0 A100 @@ -192297,7 +231944,7 @@ ENCODING 22003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 EF20 A540 @@ -192315,7 +231962,7 @@ ENCODING 22004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0FE0 E100 @@ -192333,7 +231980,7 @@ ENCODING 22005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 0940 E3E0 @@ -192351,7 +231998,7 @@ ENCODING 22006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F540 97C0 @@ -192369,7 +232016,7 @@ ENCODING 22007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1E80 E480 @@ -192387,7 +232034,7 @@ ENCODING 22008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23E0 @@ -192405,7 +232052,7 @@ ENCODING 22009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 17E0 E880 @@ -192423,7 +232070,7 @@ ENCODING 22010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0920 EFE0 @@ -192441,7 +232088,7 @@ ENCODING 22011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A800 @@ -192459,7 +232106,7 @@ ENCODING 22012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E480 @@ -192477,7 +232124,7 @@ ENCODING 22013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 3E80 E8E0 @@ -192495,7 +232142,7 @@ ENCODING 22014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0480 FFE0 @@ -192513,7 +232160,7 @@ ENCODING 22015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 0480 EA40 @@ -192531,7 +232178,7 @@ ENCODING 22016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 E480 @@ -192549,7 +232196,7 @@ ENCODING 22017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 E0A0 AFE0 @@ -192567,7 +232214,7 @@ ENCODING 22018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E2E0 AAA0 AAA0 @@ -192585,7 +232232,7 @@ ENCODING 22019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A940 @@ -192603,7 +232250,7 @@ ENCODING 22020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A840 @@ -192621,7 +232268,7 @@ ENCODING 22021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 EA80 AE80 @@ -192639,7 +232286,7 @@ ENCODING 22022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E500 AFC0 @@ -192657,7 +232304,7 @@ ENCODING 22023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E480 AFC0 @@ -192675,7 +232322,7 @@ ENCODING 22024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 AAA0 @@ -192693,7 +232340,7 @@ ENCODING 22025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -192711,7 +232358,7 @@ ENCODING 22026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0940 EFC0 @@ -192729,7 +232376,7 @@ ENCODING 22027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EF40 A560 @@ -192747,7 +232394,7 @@ ENCODING 22028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -192765,7 +232412,7 @@ ENCODING 22029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A540 @@ -192783,7 +232430,7 @@ ENCODING 22030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 0200 EFC0 @@ -192801,7 +232448,7 @@ ENCODING 22031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4A20 FA20 @@ -192819,7 +232466,7 @@ ENCODING 22032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 EAA0 A660 @@ -192837,7 +232484,7 @@ ENCODING 22033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -192855,7 +232502,7 @@ ENCODING 22034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E440 AEE0 @@ -192873,7 +232520,7 @@ ENCODING 22035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E160 BFE0 @@ -192891,7 +232538,7 @@ ENCODING 22036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E800 ABC0 @@ -192909,7 +232556,7 @@ ENCODING 22037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 A9C0 @@ -192927,7 +232574,7 @@ ENCODING 22038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -192945,7 +232592,7 @@ ENCODING 22039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 9120 @@ -192963,7 +232610,7 @@ ENCODING 22040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -192981,7 +232628,7 @@ ENCODING 22041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 EBE0 A2A0 @@ -192999,7 +232646,7 @@ ENCODING 22042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 EA20 B3E0 @@ -193017,7 +232664,7 @@ ENCODING 22043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FE0 F480 @@ -193035,7 +232682,7 @@ ENCODING 22044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 A940 @@ -193053,7 +232700,7 @@ ENCODING 22045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0720 EA60 BFA0 @@ -193071,7 +232718,7 @@ ENCODING 22046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 FE80 ABE0 @@ -193089,7 +232736,7 @@ ENCODING 22047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 FDA0 AAA0 @@ -193107,7 +232754,7 @@ ENCODING 22048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E200 A7C0 @@ -193125,7 +232772,7 @@ ENCODING 22049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0540 EFE0 @@ -193143,7 +232790,7 @@ ENCODING 22050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 EA20 AAA0 @@ -193161,7 +232808,7 @@ ENCODING 22051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 E920 AFE0 @@ -193179,7 +232826,7 @@ ENCODING 22052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2220 EAA0 @@ -193197,7 +232844,7 @@ ENCODING 22053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 EA80 B2E0 @@ -193215,7 +232862,7 @@ ENCODING 22054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -193233,7 +232880,7 @@ ENCODING 22055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 B220 @@ -193251,7 +232898,7 @@ ENCODING 22056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A240 @@ -193269,7 +232916,7 @@ ENCODING 22057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -193287,7 +232934,7 @@ ENCODING 22058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 F4A0 B4A0 @@ -193305,7 +232952,7 @@ ENCODING 22059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E6C0 AAA0 @@ -193323,7 +232970,7 @@ ENCODING 22060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -193341,7 +232988,7 @@ ENCODING 22061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EF20 A240 @@ -193359,7 +233006,7 @@ ENCODING 22062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15A0 EEC0 A480 @@ -193377,7 +233024,7 @@ ENCODING 22063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A120 @@ -193395,7 +233042,7 @@ ENCODING 22064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 EBA0 BDC0 @@ -193413,7 +233060,7 @@ ENCODING 22065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 AFE0 @@ -193431,7 +233078,7 @@ ENCODING 22066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 1FA0 E4A0 @@ -193449,7 +233096,7 @@ ENCODING 22067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 AA40 @@ -193467,7 +233114,7 @@ ENCODING 22068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 EBC0 AAA0 @@ -193485,7 +233132,7 @@ ENCODING 22069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A100 @@ -193503,7 +233150,7 @@ ENCODING 22070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AE0 FF80 AA80 @@ -193521,7 +233168,7 @@ ENCODING 22071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A840 @@ -193539,7 +233186,7 @@ ENCODING 22072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EFE0 B540 @@ -193557,7 +233204,7 @@ ENCODING 22073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 B4A0 @@ -193575,7 +233222,7 @@ ENCODING 22074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E200 BFE0 @@ -193593,7 +233240,7 @@ ENCODING 22075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -193611,7 +233258,7 @@ ENCODING 22076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7FC0 @@ -193629,7 +233276,7 @@ ENCODING 22077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -193647,7 +233294,7 @@ ENCODING 22078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AFE0 @@ -193665,7 +233312,7 @@ ENCODING 22079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 A920 @@ -193683,7 +233330,7 @@ ENCODING 22080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 F2A0 BEE0 @@ -193701,7 +233348,7 @@ ENCODING 22081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E280 AEE0 @@ -193719,7 +233366,7 @@ ENCODING 22082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E280 @@ -193737,7 +233384,7 @@ ENCODING 22083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E540 A380 @@ -193755,7 +233402,7 @@ ENCODING 22084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 EEA0 A4A0 @@ -193773,7 +233420,7 @@ ENCODING 22085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 EF40 A540 @@ -193791,7 +233438,7 @@ ENCODING 22086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 EA80 BFE0 @@ -193809,7 +233456,7 @@ ENCODING 22087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FC0 E500 @@ -193827,7 +233474,7 @@ ENCODING 22088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E4C0 BEA0 @@ -193845,7 +233492,7 @@ ENCODING 22089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 E900 BFE0 @@ -193863,7 +233510,7 @@ ENCODING 22090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E280 AFE0 @@ -193881,7 +233528,7 @@ ENCODING 22091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 1F40 EA80 @@ -193899,7 +233546,7 @@ ENCODING 22092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A920 @@ -193917,7 +233564,7 @@ ENCODING 22093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E480 AFE0 @@ -193935,7 +233582,7 @@ ENCODING 22094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -193953,7 +233600,7 @@ ENCODING 22095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E480 BB60 @@ -193971,7 +233618,7 @@ ENCODING 22096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -193989,7 +233636,7 @@ ENCODING 22097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0FC0 E840 @@ -194007,7 +233654,7 @@ ENCODING 22098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 E540 AFE0 @@ -194025,7 +233672,7 @@ ENCODING 22099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -194043,7 +233690,7 @@ ENCODING 22100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 E280 ACE0 @@ -194061,7 +233708,7 @@ ENCODING 22101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 7C80 1500 @@ -194079,7 +233726,7 @@ ENCODING 22102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E440 AEE0 @@ -194097,7 +233744,7 @@ ENCODING 22103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 E6C0 BFE0 @@ -194115,7 +233762,7 @@ ENCODING 22104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 ED00 AA80 @@ -194133,7 +233780,7 @@ ENCODING 22105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E280 A640 @@ -194151,7 +233798,7 @@ ENCODING 22106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E040 A7C0 @@ -194169,7 +233816,7 @@ ENCODING 22107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 05C0 E500 @@ -194187,7 +233834,7 @@ ENCODING 22108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 AFE0 @@ -194205,7 +233852,7 @@ ENCODING 22109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 E880 B520 @@ -194223,7 +233870,7 @@ ENCODING 22110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 E440 ABA0 @@ -194241,7 +233888,7 @@ ENCODING 22111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4B00 @@ -194259,7 +233906,7 @@ ENCODING 22112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 E880 A3E0 @@ -194277,7 +233924,7 @@ ENCODING 22113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E880 BFE0 @@ -194295,7 +233942,7 @@ ENCODING 22114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 AD60 @@ -194313,7 +233960,7 @@ ENCODING 22115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0AA0 EFE0 @@ -194331,7 +233978,7 @@ ENCODING 22116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -194349,7 +233996,7 @@ ENCODING 22117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 AAA0 @@ -194367,7 +234014,7 @@ ENCODING 22118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05C0 E500 BFE0 @@ -194385,7 +234032,7 @@ ENCODING 22119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 A440 @@ -194403,7 +234050,7 @@ ENCODING 22120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -194421,7 +234068,7 @@ ENCODING 22121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 75C0 @@ -194439,7 +234086,7 @@ ENCODING 22122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E480 A780 @@ -194457,7 +234104,7 @@ ENCODING 22123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -194475,7 +234122,7 @@ ENCODING 22124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 EEE0 AD40 @@ -194493,7 +234140,7 @@ ENCODING 22125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EE80 AAE0 @@ -194511,7 +234158,7 @@ ENCODING 22126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -194529,7 +234176,7 @@ ENCODING 22127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 0F20 E540 @@ -194547,7 +234194,7 @@ ENCODING 22128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 A940 @@ -194565,7 +234212,7 @@ ENCODING 22129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -194583,7 +234230,7 @@ ENCODING 22130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 E440 ABA0 @@ -194601,7 +234248,7 @@ ENCODING 22131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 0200 EFE0 @@ -194619,7 +234266,7 @@ ENCODING 22132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A540 @@ -194637,7 +234284,7 @@ ENCODING 22133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8840 5FE0 0200 @@ -194655,7 +234302,7 @@ ENCODING 22134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 0480 EFC0 @@ -194673,7 +234320,7 @@ ENCODING 22135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 AAE0 @@ -194691,7 +234338,7 @@ ENCODING 22136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 0880 FFE0 @@ -194709,7 +234356,7 @@ ENCODING 22137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 B020 @@ -194727,7 +234374,7 @@ ENCODING 22138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0860 FF80 B500 @@ -194745,7 +234392,7 @@ ENCODING 22139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 B520 @@ -194763,7 +234410,7 @@ ENCODING 22140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E40 EBE0 AAA0 @@ -194781,7 +234428,7 @@ ENCODING 22141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 1080 @@ -194799,7 +234446,7 @@ ENCODING 22142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0FE0 EAA0 @@ -194817,7 +234464,7 @@ ENCODING 22143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 EAA0 A660 @@ -194835,7 +234482,7 @@ ENCODING 22144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 B520 @@ -194853,7 +234500,7 @@ ENCODING 22145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 EAA0 A660 @@ -194871,7 +234518,7 @@ ENCODING 22146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 EA40 AF60 @@ -194889,7 +234536,7 @@ ENCODING 22147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -194907,7 +234554,7 @@ ENCODING 22148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -194925,7 +234572,7 @@ ENCODING 22149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 BFE0 @@ -194943,7 +234590,7 @@ ENCODING 22150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 A540 @@ -194961,7 +234608,7 @@ ENCODING 22151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 1FE0 E480 @@ -194979,7 +234626,7 @@ ENCODING 22152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2E40 EA60 @@ -194997,7 +234644,7 @@ ENCODING 22153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 1B40 EA40 @@ -195015,7 +234662,7 @@ ENCODING 22154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E7C0 A540 @@ -195033,7 +234680,7 @@ ENCODING 22155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -195051,7 +234698,7 @@ ENCODING 22156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FE0 E520 @@ -195069,7 +234716,7 @@ ENCODING 22157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E140 BFE0 @@ -195087,7 +234734,7 @@ ENCODING 22158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A480 @@ -195105,7 +234752,7 @@ ENCODING 22159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E100 BFE0 @@ -195123,7 +234770,7 @@ ENCODING 22160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0940 0580 FFE0 @@ -195141,7 +234788,7 @@ ENCODING 22161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E200 BFE0 @@ -195159,7 +234806,7 @@ ENCODING 22162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AA40 @@ -195177,7 +234824,7 @@ ENCODING 22163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 F820 @@ -195195,7 +234842,7 @@ ENCODING 22164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EF80 A200 @@ -195213,7 +234860,7 @@ ENCODING 22165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E880 BFE0 @@ -195231,7 +234878,7 @@ ENCODING 22166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -195249,7 +234896,7 @@ ENCODING 22167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -195267,7 +234914,7 @@ ENCODING 22168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E440 A740 @@ -195285,7 +234932,7 @@ ENCODING 22169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E5E0 A500 @@ -195303,7 +234950,7 @@ ENCODING 22170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FFE0 @@ -195321,7 +234968,7 @@ ENCODING 22171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 0B40 F5A0 @@ -195339,7 +234986,7 @@ ENCODING 22172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 A920 @@ -195357,7 +235004,7 @@ ENCODING 22173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 F280 @@ -195375,7 +235022,7 @@ ENCODING 22174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -195393,7 +235040,7 @@ ENCODING 22175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F9E0 A8A0 @@ -195411,7 +235058,7 @@ ENCODING 22176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1620 EA20 AAA0 @@ -195429,7 +235076,7 @@ ENCODING 22177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 FF40 AAE0 @@ -195447,7 +235094,7 @@ ENCODING 22178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -195465,7 +235112,7 @@ ENCODING 22179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 FFE0 @@ -195483,7 +235130,7 @@ ENCODING 22180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1FE0 F480 @@ -195501,7 +235148,7 @@ ENCODING 22181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -195519,7 +235166,7 @@ ENCODING 22182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E240 AC80 @@ -195537,7 +235184,7 @@ ENCODING 22183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 BFE0 @@ -195555,7 +235202,7 @@ ENCODING 22184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 FF80 AAE0 @@ -195573,7 +235220,7 @@ ENCODING 22185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08A0 F3E0 BC80 @@ -195591,7 +235238,7 @@ ENCODING 22186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3DE0 E520 BDE0 @@ -195609,7 +235256,7 @@ ENCODING 22187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 FFA0 AAE0 @@ -195627,7 +235274,7 @@ ENCODING 22188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02E0 EB40 AAE0 @@ -195645,7 +235292,7 @@ ENCODING 22189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2080 @@ -195663,7 +235310,7 @@ ENCODING 22190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 BEA0 D2C0 @@ -195681,7 +235328,7 @@ ENCODING 22191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 BFE0 @@ -195699,7 +235346,7 @@ ENCODING 22192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0FE0 EA40 @@ -195717,7 +235364,7 @@ ENCODING 22193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E80 08C0 FEA0 @@ -195735,7 +235382,7 @@ ENCODING 22194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FEA0 4BE0 @@ -195753,7 +235400,7 @@ ENCODING 22195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -195771,7 +235418,7 @@ ENCODING 22196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7FE0 @@ -195789,7 +235436,7 @@ ENCODING 22197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 E880 BFE0 @@ -195807,7 +235454,7 @@ ENCODING 22198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -195825,7 +235472,7 @@ ENCODING 22199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 AAA0 @@ -195843,7 +235490,7 @@ ENCODING 22200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F40 F540 BF60 @@ -195861,7 +235508,7 @@ ENCODING 22201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 F080 BFE0 @@ -195879,7 +235526,7 @@ ENCODING 22202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 BAA0 @@ -195897,7 +235544,7 @@ ENCODING 22203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 E4E0 AEA0 @@ -195915,7 +235562,7 @@ ENCODING 22204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E540 AFE0 @@ -195933,7 +235580,7 @@ ENCODING 22205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A4A0 @@ -195951,7 +235598,7 @@ ENCODING 22206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E480 AEE0 @@ -195969,7 +235616,7 @@ ENCODING 22207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 FFE0 A900 @@ -195987,7 +235634,7 @@ ENCODING 22208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 3FE0 E8A0 @@ -196005,7 +235652,7 @@ ENCODING 22209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E440 A7C0 @@ -196023,7 +235670,7 @@ ENCODING 22210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 FFE0 @@ -196041,7 +235688,7 @@ ENCODING 22211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FF40 ABE0 @@ -196059,7 +235706,7 @@ ENCODING 22212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FF40 B5E0 @@ -196077,7 +235724,7 @@ ENCODING 22213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AC20 FFE0 @@ -196095,7 +235742,7 @@ ENCODING 22214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E480 AFC0 @@ -196113,7 +235760,7 @@ ENCODING 22215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E000 AEE0 @@ -196131,7 +235778,7 @@ ENCODING 22216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E480 BFE0 @@ -196149,7 +235796,7 @@ ENCODING 22217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -196167,7 +235814,7 @@ ENCODING 22218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -196185,7 +235832,7 @@ ENCODING 22219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 FFE0 A440 @@ -196203,7 +235850,7 @@ ENCODING 22220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 AC80 @@ -196221,7 +235868,7 @@ ENCODING 22221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -196239,7 +235886,7 @@ ENCODING 22222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0E80 EBE0 @@ -196257,7 +235904,7 @@ ENCODING 22223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FFE0 2900 @@ -196275,7 +235922,7 @@ ENCODING 22224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 0F60 0A40 @@ -196293,7 +235940,7 @@ ENCODING 22225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E020 BFE0 @@ -196311,7 +235958,7 @@ ENCODING 22226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 0FE0 E440 @@ -196329,7 +235976,7 @@ ENCODING 22227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E8A0 BF20 @@ -196347,7 +235994,7 @@ ENCODING 22228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 AA40 @@ -196365,7 +236012,7 @@ ENCODING 22229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 0AE0 EF40 @@ -196383,7 +236030,7 @@ ENCODING 22230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0EE0 F540 @@ -196400,26 +236047,26 @@ STARTCHAR U_56D7 ENCODING 22231 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -7FE0 -4020 +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 +BITMAP FFE0 8020 9F20 @@ -196436,80 +236083,79 @@ STARTCHAR U_56D9 ENCODING 22233 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4020 -7F20 -4120 -4120 -4120 -7F20 -4020 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4020 -4420 -4420 -4420 -4620 -4920 -50A0 -4020 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -0000 -7FC0 -4A40 -4A40 -4A40 -4A40 -53C0 -6040 -4040 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -7FE0 -4020 -4420 -4420 -4820 -4920 -53A0 -5CA0 -4020 -4020 -7FE0 +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 +BITMAP FFE0 8020 9F20 @@ -196526,44 +236172,44 @@ STARTCHAR U_56DE ENCODING 22238 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4020 -4F20 -4920 -4920 -4F20 -4920 -4020 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -0400 -7FC0 -4040 -5140 -4940 -4640 -4640 -4940 -5140 -4040 -7FC0 +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 +BITMAP FFE0 8420 8420 @@ -196580,98 +236226,98 @@ STARTCHAR U_56E1 ENCODING 22241 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -4420 -7FE0 -4920 -5220 -4E20 -4920 -50A0 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4220 -4220 -7FA0 -4220 -4620 -4A20 -5220 -4620 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4120 -4120 -5FA0 -4120 -4920 -4520 -4120 -4320 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4420 -7FA0 -4420 -5520 -5F20 -44A0 -47A0 -4020 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -7FE0 -4420 -5FA0 -4020 -4E20 -4A20 -4AA0 -53A0 -6020 -7FE0 -4020 +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 +BITMAP FFE0 8020 84A0 @@ -196688,26 +236334,26 @@ STARTCHAR U_56E7 ENCODING 22247 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -4920 -50A0 -6060 -4F20 -4920 -4920 -4920 -7FE0 -4020 +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 +BITMAP FFE0 8020 BFA0 @@ -196725,7 +236371,7 @@ ENCODING 22249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 9F20 @@ -196742,8 +236388,8 @@ STARTCHAR U_56EA ENCODING 22250 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 1000 FFC0 @@ -196760,26 +236406,26 @@ STARTCHAR U_56EB ENCODING 22251 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -5020 -5FA0 -6AA0 -4AA0 -52A0 -64A0 -4AA0 -5120 -7FE0 -4020 +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 +BITMAP FFE0 9120 9120 @@ -196796,44 +236442,44 @@ STARTCHAR U_56ED ENCODING 22253 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -5F20 -4020 -7FA0 -4A20 -4AA0 -52A0 -61A0 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4020 -4A20 -4AA0 -5B20 -6E20 -4AA0 -49A0 -4020 -7FE0 -4020 +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 +BITMAP FFE0 8020 BFA0 @@ -196850,44 +236496,44 @@ STARTCHAR U_56F0 ENCODING 22256 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4220 -4220 -5FA0 -4220 -4720 -4AA0 -52A0 -4220 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -0800 -7FE0 -4420 -4420 -4FA0 -5920 -6620 -4920 -50A0 -7FE0 -4020 +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 +BITMAP FFE0 8020 8920 @@ -196905,7 +236551,7 @@ ENCODING 22259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 94A0 @@ -196922,44 +236568,44 @@ STARTCHAR U_56F4 ENCODING 22260 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -7FA0 -4420 -5F20 -4420 -7FA0 -44A0 -4520 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -7FE0 -4420 -4A20 -5120 -6AA0 -4C20 -48A0 -47A0 -4020 -7FE0 -4020 +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 +BITMAP FFE0 8020 8A20 @@ -196976,26 +236622,26 @@ STARTCHAR U_56F7 ENCODING 22263 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4120 -5E20 -4420 -7FA0 -4620 -4D20 -54A0 -6420 -7FE0 -4020 +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 +BITMAP FFE0 8020 BFA0 @@ -197012,44 +236658,44 @@ STARTCHAR U_56F9 ENCODING 22265 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -4A20 -5520 -64A0 -5FA0 -4920 -4620 -4220 -7FE0 -4020 +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 11 11 0 -1 -BITMAP -7FE0 -4420 -4420 -7FA0 -4420 -5F20 -5120 -5120 -5F20 -4020 -7FE0 +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 +BITMAP FFE0 8020 9F20 @@ -197067,7 +236713,7 @@ ENCODING 22268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 8820 @@ -197084,62 +236730,62 @@ STARTCHAR U_56FD ENCODING 22269 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -5FA0 -4420 -4420 -5FA0 -4520 -44A0 -7FE0 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4820 -4FA0 -5920 -6620 -4920 -74E0 -4220 -4420 -4220 -7FE0 -ENDCHAR -STARTCHAR U_56FF -ENCODING 22271 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -7FE0 -48A0 -5FA0 -68A0 -4FA0 -48A0 -4BA0 -4020 -7FE0 +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 +BITMAP FFE0 8A20 9120 @@ -197156,98 +236802,98 @@ STARTCHAR U_5701 ENCODING 22273 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -5FA0 -4020 -5FA0 -4020 -5FA0 -4920 -4F20 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4020 -5FA0 -4420 -4EA0 -52A0 -4720 -5AA0 -4660 -4A20 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4520 -7FE0 -54A0 -5FA0 -54A0 -5FA0 -54A0 -55A0 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -7FE0 -4020 -5FA0 -4420 -5F20 -4920 -7FA0 -4920 -4F20 -4020 -7FE0 +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 11 11 0 -1 -BITMAP -3F80 -0900 -0600 -7FC0 -5140 -4A40 -5F40 -4440 -5F40 -4440 -7FC0 +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 +BITMAP FFE0 8020 9F20 @@ -197265,7 +236911,7 @@ ENCODING 22279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 8A20 @@ -197283,7 +236929,7 @@ ENCODING 22280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9520 BFA0 @@ -197301,7 +236947,7 @@ ENCODING 22281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 9F20 @@ -197319,7 +236965,7 @@ ENCODING 22282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 BFA0 @@ -197336,26 +236982,26 @@ STARTCHAR U_570B ENCODING 22283 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -42A0 -7FE0 -4220 -7AA0 -6AA0 -7B20 -42A0 -7DA0 -40A0 -7FE0 +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 +BITMAP FFE0 8420 A4A0 @@ -197372,26 +237018,26 @@ STARTCHAR U_570D ENCODING 22285 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -5F20 -4920 -5FA0 -4920 -5FA0 -5220 -7FA0 -4220 -7FE0 +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 +BITMAP FFE0 9120 BFA0 @@ -197409,7 +237055,7 @@ ENCODING 22287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9520 BFA0 @@ -197427,7 +237073,7 @@ ENCODING 22288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AAA0 BFA0 @@ -197445,7 +237091,7 @@ ENCODING 22289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8520 FFE0 @@ -197462,26 +237108,26 @@ STARTCHAR U_5712 ENCODING 22290 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4420 -5F20 -4420 -7FA0 -5120 -5F60 -4AA0 -7920 -48A0 -7FE0 +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 +BITMAP FFE0 9120 BFA0 @@ -197499,7 +237145,7 @@ ENCODING 22292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 9F20 @@ -197517,7 +237163,7 @@ ENCODING 22293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 BFA0 @@ -197535,7 +237181,7 @@ ENCODING 22294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 9F20 @@ -197553,7 +237199,7 @@ ENCODING 22295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 BFA0 @@ -197571,7 +237217,7 @@ ENCODING 22296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 FFE0 @@ -197589,7 +237235,7 @@ ENCODING 22297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 A0A0 @@ -197607,7 +237253,7 @@ ENCODING 22298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 BFA0 @@ -197625,7 +237271,7 @@ ENCODING 22299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AAA0 BFA0 @@ -197643,7 +237289,7 @@ ENCODING 22300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 BFA0 @@ -197661,7 +237307,7 @@ ENCODING 22301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4A0 DF60 @@ -197679,7 +237325,7 @@ ENCODING 22302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4A0 DF60 @@ -197697,7 +237343,7 @@ ENCODING 22303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -197715,7 +237361,7 @@ ENCODING 22304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2200 @@ -197732,8 +237378,8 @@ STARTCHAR U_5721 ENCODING 22305 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 0400 0400 0400 @@ -197744,14 +237390,13 @@ BITMAP 0480 0400 FFE0 -0000 ENDCHAR STARTCHAR U_5722 ENCODING 22306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2080 @@ -197769,7 +237414,7 @@ ENCODING 22307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1080 0900 @@ -197786,8 +237431,8 @@ STARTCHAR U_5724 ENCODING 22308 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2200 2200 2200 @@ -197805,7 +237450,7 @@ ENCODING 22309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -197823,7 +237468,7 @@ ENCODING 22310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C00 2200 2200 @@ -197841,7 +237486,7 @@ ENCODING 22311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2200 2200 @@ -197858,26 +237503,26 @@ STARTCHAR U_5728 ENCODING 22312 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -7FE0 +BBX 10 11 1 -1 +BITMAP 0800 -1100 -3100 -57C0 -1100 -1100 -1100 -1FE0 +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 +BITMAP 27C0 2100 2100 @@ -197895,7 +237540,7 @@ ENCODING 22314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2400 @@ -197913,7 +237558,7 @@ ENCODING 22315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 2E00 2200 @@ -197931,7 +237576,7 @@ ENCODING 22316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2000 2000 @@ -197948,26 +237593,26 @@ STARTCHAR U_572D ENCODING 22317 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -3FC0 -0400 -7FE0 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +7F80 +0800 +FFC0 0000 -0400 -3FC0 -0400 -0400 -7FE0 +0800 +7F80 +0800 +0800 +FFC0 ENDCHAR STARTCHAR U_572E ENCODING 22318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 2020 @@ -197985,7 +237630,7 @@ ENCODING 22319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 2420 @@ -198003,7 +237648,7 @@ ENCODING 22320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 2540 @@ -198021,7 +237666,7 @@ ENCODING 22321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 2100 @@ -198039,7 +237684,7 @@ ENCODING 22322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -198057,7 +237702,7 @@ ENCODING 22323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2520 2520 @@ -198075,7 +237720,7 @@ ENCODING 22324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2220 @@ -198093,7 +237738,7 @@ ENCODING 22325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2200 @@ -198111,7 +237756,7 @@ ENCODING 22326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -198129,7 +237774,7 @@ ENCODING 22327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2100 @@ -198147,7 +237792,7 @@ ENCODING 22328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -198165,7 +237810,7 @@ ENCODING 22329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -198183,7 +237828,7 @@ ENCODING 22330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2080 2100 @@ -198201,7 +237846,7 @@ ENCODING 22331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2200 @@ -198219,7 +237864,7 @@ ENCODING 22332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -198237,7 +237882,7 @@ ENCODING 22333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F7E0 @@ -198255,7 +237900,7 @@ ENCODING 22334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 2240 @@ -198273,7 +237918,7 @@ ENCODING 22335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2280 @@ -198291,7 +237936,7 @@ ENCODING 22336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -198309,7 +237954,7 @@ ENCODING 22337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2480 @@ -198327,7 +237972,7 @@ ENCODING 22338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 2400 @@ -198345,7 +237990,7 @@ ENCODING 22339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2000 2000 @@ -198363,7 +238008,7 @@ ENCODING 22340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2480 2480 @@ -198381,7 +238026,7 @@ ENCODING 22341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2280 @@ -198399,7 +238044,7 @@ ENCODING 22342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -198417,7 +238062,7 @@ ENCODING 22343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 27E0 @@ -198435,7 +238080,7 @@ ENCODING 22344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2820 @@ -198453,7 +238098,7 @@ ENCODING 22345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -198471,7 +238116,7 @@ ENCODING 22346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -198489,7 +238134,7 @@ ENCODING 22347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2240 @@ -198507,7 +238152,7 @@ ENCODING 22348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 5FC0 @@ -198525,7 +238170,7 @@ ENCODING 22349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2640 @@ -198543,7 +238188,7 @@ ENCODING 22350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -198561,7 +238206,7 @@ ENCODING 22351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2080 @@ -198579,7 +238224,7 @@ ENCODING 22352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 2480 @@ -198597,7 +238242,7 @@ ENCODING 22353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -198615,7 +238260,7 @@ ENCODING 22354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4240 7A80 @@ -198633,7 +238278,7 @@ ENCODING 22355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0900 7FC0 @@ -198651,7 +238296,7 @@ ENCODING 22356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0460 F580 @@ -198669,7 +238314,7 @@ ENCODING 22357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 2900 @@ -198687,7 +238332,7 @@ ENCODING 22358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 FFE0 @@ -198705,7 +238350,7 @@ ENCODING 22359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -198723,7 +238368,7 @@ ENCODING 22360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2200 @@ -198741,7 +238386,7 @@ ENCODING 22361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2480 4480 @@ -198759,7 +238404,7 @@ ENCODING 22362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 5440 5280 @@ -198777,7 +238422,7 @@ ENCODING 22363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2000 @@ -198795,7 +238440,7 @@ ENCODING 22364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 2480 @@ -198813,7 +238458,7 @@ ENCODING 22365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 2520 @@ -198831,7 +238476,7 @@ ENCODING 22366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -198849,7 +238494,7 @@ ENCODING 22367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -198867,7 +238512,7 @@ ENCODING 22368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 9100 A100 @@ -198885,7 +238530,7 @@ ENCODING 22369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 27E0 @@ -198903,7 +238548,7 @@ ENCODING 22370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2540 @@ -198921,7 +238566,7 @@ ENCODING 22371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 1480 @@ -198939,7 +238584,7 @@ ENCODING 22372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -198957,7 +238602,7 @@ ENCODING 22373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2440 @@ -198975,7 +238620,7 @@ ENCODING 22374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2440 @@ -198993,7 +238638,7 @@ ENCODING 22375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2200 @@ -199011,7 +238656,7 @@ ENCODING 22376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -199029,7 +238674,7 @@ ENCODING 22377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2440 2FE0 @@ -199047,7 +238692,7 @@ ENCODING 22378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2920 @@ -199065,7 +238710,7 @@ ENCODING 22379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 21E0 @@ -199083,7 +238728,7 @@ ENCODING 22380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 2F80 2A80 @@ -199101,7 +238746,7 @@ ENCODING 22381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 2420 @@ -199119,7 +238764,7 @@ ENCODING 22382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2200 @@ -199137,7 +238782,7 @@ ENCODING 22383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2100 @@ -199155,7 +238800,7 @@ ENCODING 22384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2BA0 @@ -199173,7 +238818,7 @@ ENCODING 22385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -199191,7 +238836,7 @@ ENCODING 22386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2FE0 @@ -199209,7 +238854,7 @@ ENCODING 22387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 25E0 @@ -199227,7 +238872,7 @@ ENCODING 22388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -199245,7 +238890,7 @@ ENCODING 22389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2200 @@ -199263,7 +238908,7 @@ ENCODING 22390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2640 2540 @@ -199281,7 +238926,7 @@ ENCODING 22391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 2040 2040 @@ -199298,8 +238943,8 @@ STARTCHAR U_5778 ENCODING 22392 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2200 2200 27C0 @@ -199317,7 +238962,7 @@ ENCODING 22393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2100 2FE0 @@ -199335,7 +238980,7 @@ ENCODING 22394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 2240 2FE0 @@ -199353,7 +238998,7 @@ ENCODING 22395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2480 @@ -199371,7 +239016,7 @@ ENCODING 22396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2400 2400 @@ -199389,7 +239034,7 @@ ENCODING 22397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -199407,7 +239052,7 @@ ENCODING 22398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -199425,7 +239070,7 @@ ENCODING 22399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 4440 @@ -199443,7 +239088,7 @@ ENCODING 22400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2520 @@ -199461,7 +239106,7 @@ ENCODING 22401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23C0 @@ -199479,7 +239124,7 @@ ENCODING 22402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 7E00 0400 @@ -199497,7 +239142,7 @@ ENCODING 22403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -199515,7 +239160,7 @@ ENCODING 22404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0900 FFE0 @@ -199533,7 +239178,7 @@ ENCODING 22405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FA00 @@ -199551,7 +239196,7 @@ ENCODING 22406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 2100 @@ -199569,7 +239214,7 @@ ENCODING 22407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 5CE0 54A0 @@ -199587,7 +239232,7 @@ ENCODING 22408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2240 6FE0 @@ -199605,7 +239250,7 @@ ENCODING 22409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FC0 5040 @@ -199623,7 +239268,7 @@ ENCODING 22410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 4FC0 @@ -199641,7 +239286,7 @@ ENCODING 22411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E40 2940 2940 @@ -199659,7 +239304,7 @@ ENCODING 22412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2BA0 @@ -199677,7 +239322,7 @@ ENCODING 22413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 27E0 @@ -199695,7 +239340,7 @@ ENCODING 22414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2440 @@ -199713,7 +239358,7 @@ ENCODING 22415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2140 @@ -199731,7 +239376,7 @@ ENCODING 22416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 87C0 5440 @@ -199749,7 +239394,7 @@ ENCODING 22417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 23C0 2440 @@ -199767,7 +239412,7 @@ ENCODING 22418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1080 7F40 @@ -199785,7 +239430,7 @@ ENCODING 22419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -199803,7 +239448,7 @@ ENCODING 22420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -199820,26 +239465,26 @@ STARTCHAR U_5795 ENCODING 22421 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2000 -3FE0 -2000 -2FC0 -2840 -4FC0 -0200 -1FC0 -0200 -7FE0 +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 +BITMAP 2080 2100 23E0 @@ -199857,7 +239502,7 @@ ENCODING 22423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2AA0 @@ -199875,7 +239520,7 @@ ENCODING 22424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22C0 24A0 @@ -199893,7 +239538,7 @@ ENCODING 22425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2540 @@ -199911,7 +239556,7 @@ ENCODING 22426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0400 @@ -199929,7 +239574,7 @@ ENCODING 22427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2280 2280 @@ -199947,7 +239592,7 @@ ENCODING 22428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2280 22E0 @@ -199965,7 +239610,7 @@ ENCODING 22429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -199983,7 +239628,7 @@ ENCODING 22430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -200001,7 +239646,7 @@ ENCODING 22431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -200019,7 +239664,7 @@ ENCODING 22432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -200037,7 +239682,7 @@ ENCODING 22433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2480 7FE0 @@ -200055,7 +239700,7 @@ ENCODING 22434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2400 @@ -200073,7 +239718,7 @@ ENCODING 22435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 27C0 @@ -200091,7 +239736,7 @@ ENCODING 22436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2200 @@ -200109,7 +239754,7 @@ ENCODING 22437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -200127,7 +239772,7 @@ ENCODING 22438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 7F80 @@ -200145,7 +239790,7 @@ ENCODING 22439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2400 2FE0 @@ -200163,7 +239808,7 @@ ENCODING 22440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 2FE0 @@ -200181,7 +239826,7 @@ ENCODING 22441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 4940 @@ -200199,7 +239844,7 @@ ENCODING 22442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 27C0 @@ -200217,7 +239862,7 @@ ENCODING 22443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FF80 2280 @@ -200235,7 +239880,7 @@ ENCODING 22444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 27E0 @@ -200253,7 +239898,7 @@ ENCODING 22445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2280 @@ -200271,7 +239916,7 @@ ENCODING 22446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -200289,7 +239934,7 @@ ENCODING 22447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2880 2480 @@ -200307,7 +239952,7 @@ ENCODING 22448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 21C0 @@ -200325,7 +239970,7 @@ ENCODING 22449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2920 2540 @@ -200343,7 +239988,7 @@ ENCODING 22450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 2FE0 @@ -200361,7 +240006,7 @@ ENCODING 22451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 24E0 2800 @@ -200379,7 +240024,7 @@ ENCODING 22452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -200397,7 +240042,7 @@ ENCODING 22453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -200415,7 +240060,7 @@ ENCODING 22454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -200433,7 +240078,7 @@ ENCODING 22455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -200451,7 +240096,7 @@ ENCODING 22456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -200469,7 +240114,7 @@ ENCODING 22457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 44A0 5FA0 @@ -200487,7 +240132,7 @@ ENCODING 22458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 2540 @@ -200505,7 +240150,7 @@ ENCODING 22459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 27E0 @@ -200523,7 +240168,7 @@ ENCODING 22460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 44E0 9800 @@ -200541,7 +240186,7 @@ ENCODING 22461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 A400 57E0 @@ -200559,7 +240204,7 @@ ENCODING 22462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -200577,7 +240222,7 @@ ENCODING 22463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2800 @@ -200595,7 +240240,7 @@ ENCODING 22464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -200613,7 +240258,7 @@ ENCODING 22465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 2FE0 @@ -200631,7 +240276,7 @@ ENCODING 22466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -200649,7 +240294,7 @@ ENCODING 22467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 2FA0 @@ -200667,7 +240312,7 @@ ENCODING 22468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2A80 @@ -200685,7 +240330,7 @@ ENCODING 22469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 6200 @@ -200703,7 +240348,7 @@ ENCODING 22470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2880 @@ -200721,7 +240366,7 @@ ENCODING 22471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2100 @@ -200739,7 +240384,7 @@ ENCODING 22472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2240 @@ -200757,7 +240402,7 @@ ENCODING 22473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 5FE0 @@ -200775,7 +240420,7 @@ ENCODING 22474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -200793,7 +240438,7 @@ ENCODING 22475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 2540 @@ -200811,7 +240456,7 @@ ENCODING 22476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -200829,7 +240474,7 @@ ENCODING 22477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 27E0 @@ -200847,7 +240492,7 @@ ENCODING 22478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 40A0 4FE0 @@ -200865,7 +240510,7 @@ ENCODING 22479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C20 45C0 4440 @@ -200883,7 +240528,7 @@ ENCODING 22480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4040 47C0 @@ -200901,7 +240546,7 @@ ENCODING 22481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FE00 13E0 @@ -200919,7 +240564,7 @@ ENCODING 22482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 2520 @@ -200937,7 +240582,7 @@ ENCODING 22483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 24A0 @@ -200955,7 +240600,7 @@ ENCODING 22484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 2FE0 @@ -200973,7 +240618,7 @@ ENCODING 22485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2440 @@ -200991,7 +240636,7 @@ ENCODING 22486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 2480 @@ -201009,7 +240654,7 @@ ENCODING 22487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 25C0 @@ -201027,7 +240672,7 @@ ENCODING 22488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2E40 2A40 @@ -201045,7 +240690,7 @@ ENCODING 22489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -201063,7 +240708,7 @@ ENCODING 22490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2440 @@ -201081,7 +240726,7 @@ ENCODING 22491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2820 @@ -201099,7 +240744,7 @@ ENCODING 22492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 3080 @@ -201117,7 +240762,7 @@ ENCODING 22493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 2A40 @@ -201135,7 +240780,7 @@ ENCODING 22494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2820 @@ -201153,7 +240798,7 @@ ENCODING 22495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 2FE0 @@ -201171,7 +240816,7 @@ ENCODING 22496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2440 @@ -201189,7 +240834,7 @@ ENCODING 22497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2280 @@ -201207,7 +240852,7 @@ ENCODING 22498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 2FE0 @@ -201225,7 +240870,7 @@ ENCODING 22499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -201243,7 +240888,7 @@ ENCODING 22500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2920 @@ -201261,7 +240906,7 @@ ENCODING 22501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -201279,7 +240924,7 @@ ENCODING 22502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -201297,7 +240942,7 @@ ENCODING 22503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -201315,7 +240960,7 @@ ENCODING 22504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4300 4480 @@ -201333,7 +240978,7 @@ ENCODING 22505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -201351,7 +240996,7 @@ ENCODING 22506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4100 4FE0 @@ -201369,7 +241014,7 @@ ENCODING 22507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2540 @@ -201387,7 +241032,7 @@ ENCODING 22508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -201405,7 +241050,7 @@ ENCODING 22509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FC0 2140 @@ -201423,7 +241068,7 @@ ENCODING 22510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2540 2900 @@ -201441,7 +241086,7 @@ ENCODING 22511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -201459,7 +241104,7 @@ ENCODING 22512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 2A20 @@ -201477,7 +241122,7 @@ ENCODING 22513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 45E0 46A0 @@ -201495,7 +241140,7 @@ ENCODING 22514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -201513,7 +241158,7 @@ ENCODING 22515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2440 @@ -201531,7 +241176,7 @@ ENCODING 22516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -201549,7 +241194,7 @@ ENCODING 22517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -201567,7 +241212,7 @@ ENCODING 22518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 13C0 @@ -201585,7 +241230,7 @@ ENCODING 22519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 27C0 @@ -201603,7 +241248,7 @@ ENCODING 22520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -201621,7 +241266,7 @@ ENCODING 22521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -201639,7 +241284,7 @@ ENCODING 22522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -201657,7 +241302,7 @@ ENCODING 22523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -201675,7 +241320,7 @@ ENCODING 22524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -201693,7 +241338,7 @@ ENCODING 22525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2040 27C0 @@ -201711,7 +241356,7 @@ ENCODING 22526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2620 3D40 @@ -201729,7 +241374,7 @@ ENCODING 22527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -201747,7 +241392,7 @@ ENCODING 22528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2820 @@ -201765,7 +241410,7 @@ ENCODING 22529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -201783,7 +241428,7 @@ ENCODING 22530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -201801,7 +241446,7 @@ ENCODING 22531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 4200 @@ -201819,7 +241464,7 @@ ENCODING 22532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2CE0 2820 @@ -201836,26 +241481,26 @@ STARTCHAR U_5805 ENCODING 22533 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -5240 -7E40 -4540 -7C80 -5140 -7A20 -0400 -3FC0 -0400 -7FE0 +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 +BITMAP 2500 2480 27E0 @@ -201872,26 +241517,26 @@ STARTCHAR U_5807 ENCODING 22535 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -0900 -3FC0 -2240 -7FE0 -0200 -3FC0 -0200 -7FE0 +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 +BITMAP 2FE0 2AA0 2920 @@ -201909,7 +241554,7 @@ ENCODING 22537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2240 @@ -201927,7 +241572,7 @@ ENCODING 22538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0900 79E0 @@ -201945,7 +241590,7 @@ ENCODING 22539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2AA0 @@ -201963,7 +241608,7 @@ ENCODING 22540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2920 @@ -201981,7 +241626,7 @@ ENCODING 22541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -201999,7 +241644,7 @@ ENCODING 22542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -202017,7 +241662,7 @@ ENCODING 22543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FBE0 1100 @@ -202035,7 +241680,7 @@ ENCODING 22544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 2900 @@ -202053,7 +241698,7 @@ ENCODING 22545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 FDC0 5100 @@ -202071,7 +241716,7 @@ ENCODING 22546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -202089,7 +241734,7 @@ ENCODING 22547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 27E0 @@ -202107,7 +241752,7 @@ ENCODING 22548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2440 @@ -202125,7 +241770,7 @@ ENCODING 22549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AFE0 A440 @@ -202143,7 +241788,7 @@ ENCODING 22550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 2A80 @@ -202161,7 +241806,7 @@ ENCODING 22551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2FE0 2820 @@ -202179,7 +241824,7 @@ ENCODING 22552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2680 2FC0 @@ -202197,7 +241842,7 @@ ENCODING 22553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -202215,7 +241860,7 @@ ENCODING 22554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5220 EFC0 @@ -202233,7 +241878,7 @@ ENCODING 22555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 27C0 @@ -202251,7 +241896,7 @@ ENCODING 22556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -202269,7 +241914,7 @@ ENCODING 22557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2740 @@ -202287,7 +241932,7 @@ ENCODING 22558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 2540 @@ -202305,7 +241950,7 @@ ENCODING 22559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 4440 4780 @@ -202323,7 +241968,7 @@ ENCODING 22560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27E0 @@ -202341,7 +241986,7 @@ ENCODING 22561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -202359,7 +242004,7 @@ ENCODING 22562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 4A20 @@ -202377,7 +242022,7 @@ ENCODING 22563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -202395,7 +242040,7 @@ ENCODING 22564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -202413,7 +242058,7 @@ ENCODING 22565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 29E0 1140 @@ -202431,7 +242076,7 @@ ENCODING 22566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2960 2F80 @@ -202449,7 +242094,7 @@ ENCODING 22567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -202467,7 +242112,7 @@ ENCODING 22568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -202485,7 +242130,7 @@ ENCODING 22569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4BE0 4800 @@ -202503,7 +242148,7 @@ ENCODING 22570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2240 @@ -202521,7 +242166,7 @@ ENCODING 22571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2920 2AA0 @@ -202539,7 +242184,7 @@ ENCODING 22572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4440 4BA0 @@ -202557,7 +242202,7 @@ ENCODING 22573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -202575,7 +242220,7 @@ ENCODING 22574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -202593,7 +242238,7 @@ ENCODING 22575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0400 @@ -202611,7 +242256,7 @@ ENCODING 22576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4A40 4BC0 @@ -202629,7 +242274,7 @@ ENCODING 22577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7E20 1220 @@ -202647,7 +242292,7 @@ ENCODING 22578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D20 @@ -202665,7 +242310,7 @@ ENCODING 22579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 4FE0 @@ -202683,7 +242328,7 @@ ENCODING 22580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -202701,7 +242346,7 @@ ENCODING 22581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2120 27A0 @@ -202719,7 +242364,7 @@ ENCODING 22582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2200 @@ -202737,7 +242382,7 @@ ENCODING 22583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -202755,7 +242400,7 @@ ENCODING 22584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 48A0 4F20 @@ -202773,7 +242418,7 @@ ENCODING 22585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FE0 @@ -202791,7 +242436,7 @@ ENCODING 22586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4A40 FFC0 @@ -202809,7 +242454,7 @@ ENCODING 22587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2240 8FE0 @@ -202827,7 +242472,7 @@ ENCODING 22588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 7C40 13E0 @@ -202845,7 +242490,7 @@ ENCODING 22589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 4AA0 @@ -202863,7 +242508,7 @@ ENCODING 22590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 2200 @@ -202881,7 +242526,7 @@ ENCODING 22591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 40A0 4FE0 @@ -202899,7 +242544,7 @@ ENCODING 22592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -202917,7 +242562,7 @@ ENCODING 22593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -202935,7 +242580,7 @@ ENCODING 22594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4480 4FC0 @@ -202953,7 +242598,7 @@ ENCODING 22595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 E480 @@ -202971,7 +242616,7 @@ ENCODING 22596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2AA0 @@ -202989,7 +242634,7 @@ ENCODING 22597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45C0 5940 5160 @@ -203007,7 +242652,7 @@ ENCODING 22598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 4D80 @@ -203025,7 +242670,7 @@ ENCODING 22599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -203042,26 +242687,26 @@ STARTCHAR U_5848 ENCODING 22600 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BE0 -4A80 -7FE0 -4880 -79A0 -52A0 -6C60 -0400 -3FC0 -0400 -7FE0 +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 +BITMAP 2D60 2380 2D60 @@ -203079,7 +242724,7 @@ ENCODING 22602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2920 @@ -203097,7 +242742,7 @@ ENCODING 22603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 55A0 5AC0 @@ -203115,7 +242760,7 @@ ENCODING 22604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -203133,7 +242778,7 @@ ENCODING 22605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 57E0 @@ -203151,7 +242796,7 @@ ENCODING 22606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -203169,7 +242814,7 @@ ENCODING 22607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2FE0 @@ -203187,7 +242832,7 @@ ENCODING 22608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4100 @@ -203205,7 +242850,7 @@ ENCODING 22609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 11E0 @@ -203223,7 +242868,7 @@ ENCODING 22610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2FE0 2A40 @@ -203241,7 +242886,7 @@ ENCODING 22611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 27C0 @@ -203259,7 +242904,7 @@ ENCODING 22612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2540 @@ -203277,7 +242922,7 @@ ENCODING 22613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4A40 54A0 @@ -203295,7 +242940,7 @@ ENCODING 22614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4100 5FE0 @@ -203313,7 +242958,7 @@ ENCODING 22615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 A840 57A0 @@ -203331,7 +242976,7 @@ ENCODING 22616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4900 @@ -203349,7 +242994,7 @@ ENCODING 22617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -203367,7 +243012,7 @@ ENCODING 22618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 27C0 @@ -203385,7 +243030,7 @@ ENCODING 22619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 4FE0 @@ -203403,7 +243048,7 @@ ENCODING 22620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 47C0 @@ -203421,7 +243066,7 @@ ENCODING 22621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -203439,7 +243084,7 @@ ENCODING 22622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -203457,7 +243102,7 @@ ENCODING 22623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -203475,7 +243120,7 @@ ENCODING 22624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 4A00 4BC0 @@ -203493,7 +243138,7 @@ ENCODING 22625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 4400 47E0 @@ -203511,7 +243156,7 @@ ENCODING 22626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -203529,7 +243174,7 @@ ENCODING 22627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 A840 5FC0 @@ -203547,7 +243192,7 @@ ENCODING 22628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2FE0 @@ -203565,7 +243210,7 @@ ENCODING 22629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 27C0 @@ -203583,7 +243228,7 @@ ENCODING 22630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FE0 5540 @@ -203601,7 +243246,7 @@ ENCODING 22631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 4FE0 @@ -203619,7 +243264,7 @@ ENCODING 22632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 4480 @@ -203637,7 +243282,7 @@ ENCODING 22633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FC0 5000 @@ -203655,7 +243300,7 @@ ENCODING 22634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 4F00 4920 @@ -203673,7 +243318,7 @@ ENCODING 22635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -203691,7 +243336,7 @@ ENCODING 22636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4880 4BE0 @@ -203709,7 +243354,7 @@ ENCODING 22637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -203727,7 +243372,7 @@ ENCODING 22638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4E40 4A40 @@ -203745,7 +243390,7 @@ ENCODING 22639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4DE0 48A0 @@ -203763,7 +243408,7 @@ ENCODING 22640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FE0 9540 @@ -203781,7 +243426,7 @@ ENCODING 22641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 8BE0 @@ -203799,7 +243444,7 @@ ENCODING 22642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 4C40 @@ -203817,7 +243462,7 @@ ENCODING 22643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 57C0 4A40 @@ -203835,7 +243480,7 @@ ENCODING 22644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4FE0 4000 @@ -203853,7 +243498,7 @@ ENCODING 22645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -203871,7 +243516,7 @@ ENCODING 22646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 5280 @@ -203889,7 +243534,7 @@ ENCODING 22647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 41E0 4100 @@ -203907,7 +243552,7 @@ ENCODING 22648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5000 5380 @@ -203925,7 +243570,7 @@ ENCODING 22649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF00 55E0 @@ -203943,7 +243588,7 @@ ENCODING 22650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -203961,7 +243606,7 @@ ENCODING 22651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -203979,7 +243624,7 @@ ENCODING 22652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2540 @@ -203997,7 +243642,7 @@ ENCODING 22653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -204015,7 +243660,7 @@ ENCODING 22654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4BC0 7940 @@ -204033,7 +243678,7 @@ ENCODING 22655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FC0 4940 @@ -204051,7 +243696,7 @@ ENCODING 22656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 4FE0 @@ -204069,7 +243714,7 @@ ENCODING 22657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -204087,7 +243732,7 @@ ENCODING 22658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 4FE0 @@ -204105,7 +243750,7 @@ ENCODING 22659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -204123,7 +243768,7 @@ ENCODING 22660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 4080 5FE0 @@ -204141,7 +243786,7 @@ ENCODING 22661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A940 F880 @@ -204159,7 +243804,7 @@ ENCODING 22662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5FE0 4A80 @@ -204177,7 +243822,7 @@ ENCODING 22663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -204195,7 +243840,7 @@ ENCODING 22664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5F80 4A80 @@ -204213,7 +243858,7 @@ ENCODING 22665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4940 @@ -204231,7 +243876,7 @@ ENCODING 22666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 23C0 F940 @@ -204249,7 +243894,7 @@ ENCODING 22667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 27E0 @@ -204267,7 +243912,7 @@ ENCODING 22668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4800 @@ -204285,7 +243930,7 @@ ENCODING 22669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BC0 4A80 @@ -204303,7 +243948,7 @@ ENCODING 22670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 5FA0 4AA0 @@ -204321,7 +243966,7 @@ ENCODING 22671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 5240 7580 @@ -204339,7 +243984,7 @@ ENCODING 22672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 4440 @@ -204357,7 +244002,7 @@ ENCODING 22673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -204375,7 +244020,7 @@ ENCODING 22674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -204393,7 +244038,7 @@ ENCODING 22675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 3F80 @@ -204411,7 +244056,7 @@ ENCODING 22676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4FE0 4500 @@ -204429,7 +244074,7 @@ ENCODING 22677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4200 EBC0 @@ -204447,7 +244092,7 @@ ENCODING 22678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4D80 5740 @@ -204465,7 +244110,7 @@ ENCODING 22679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 4920 @@ -204483,7 +244128,7 @@ ENCODING 22680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5E80 44E0 @@ -204501,7 +244146,7 @@ ENCODING 22681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4920 @@ -204519,7 +244164,7 @@ ENCODING 22682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BC0 5540 4B60 @@ -204537,7 +244182,7 @@ ENCODING 22683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E40 5240 5240 @@ -204555,7 +244200,7 @@ ENCODING 22684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BFE0 C220 @@ -204573,7 +244218,7 @@ ENCODING 22685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -204591,7 +244236,7 @@ ENCODING 22686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -204609,7 +244254,7 @@ ENCODING 22687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2200 2FE0 @@ -204627,7 +244272,7 @@ ENCODING 22688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2FE0 @@ -204645,7 +244290,7 @@ ENCODING 22689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2100 @@ -204663,7 +244308,7 @@ ENCODING 22690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EC0 4AA0 4440 @@ -204681,7 +244326,7 @@ ENCODING 22691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 2FE0 @@ -204699,7 +244344,7 @@ ENCODING 22692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 4540 @@ -204717,7 +244362,7 @@ ENCODING 22693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -204735,7 +244380,7 @@ ENCODING 22694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 2540 @@ -204753,7 +244398,7 @@ ENCODING 22695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4200 5FE0 @@ -204771,7 +244416,7 @@ ENCODING 22696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5540 7FC0 @@ -204789,7 +244434,7 @@ ENCODING 22697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5F80 4AE0 @@ -204807,7 +244452,7 @@ ENCODING 22698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 49E0 @@ -204825,7 +244470,7 @@ ENCODING 22699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3FE0 2B40 @@ -204843,7 +244488,7 @@ ENCODING 22700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E780 A480 BFE0 @@ -204861,7 +244506,7 @@ ENCODING 22701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 4FE0 4900 @@ -204879,7 +244524,7 @@ ENCODING 22702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A500 A7E0 @@ -204897,7 +244542,7 @@ ENCODING 22703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2500 77E0 @@ -204915,7 +244560,7 @@ ENCODING 22704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 4FE0 @@ -204933,7 +244578,7 @@ ENCODING 22705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EA0 2B40 2480 @@ -204951,7 +244596,7 @@ ENCODING 22706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 5B40 @@ -204969,7 +244614,7 @@ ENCODING 22707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2540 @@ -204987,7 +244632,7 @@ ENCODING 22708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 4480 @@ -205005,7 +244650,7 @@ ENCODING 22709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 4FE0 @@ -205023,7 +244668,7 @@ ENCODING 22710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 53C0 4900 @@ -205041,7 +244686,7 @@ ENCODING 22711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 4480 @@ -205059,7 +244704,7 @@ ENCODING 22712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 4480 @@ -205077,7 +244722,7 @@ ENCODING 22713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 4EE0 @@ -205095,7 +244740,7 @@ ENCODING 22714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2D60 @@ -205113,7 +244758,7 @@ ENCODING 22715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4540 @@ -205131,7 +244776,7 @@ ENCODING 22716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A940 F960 @@ -205149,7 +244794,7 @@ ENCODING 22717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5E80 52E0 @@ -205167,7 +244812,7 @@ ENCODING 22718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33C0 DA40 53C0 @@ -205185,7 +244830,7 @@ ENCODING 22719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -205203,7 +244848,7 @@ ENCODING 22720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 4A40 4BE0 @@ -205221,7 +244866,7 @@ ENCODING 22721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -205239,7 +244884,7 @@ ENCODING 22722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8540 FD60 @@ -205257,7 +244902,7 @@ ENCODING 22723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4000 4FC0 @@ -205275,7 +244920,7 @@ ENCODING 22724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2A80 F5E0 @@ -205293,7 +244938,7 @@ ENCODING 22725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2500 @@ -205311,7 +244956,7 @@ ENCODING 22726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4440 7BC0 @@ -205329,7 +244974,7 @@ ENCODING 22727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4AA0 @@ -205347,7 +244992,7 @@ ENCODING 22728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 4AA0 @@ -205365,7 +245010,7 @@ ENCODING 22729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 2FE0 @@ -205383,7 +245028,7 @@ ENCODING 22730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 4100 @@ -205401,7 +245046,7 @@ ENCODING 22731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4540 4FE0 @@ -205419,7 +245064,7 @@ ENCODING 22732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -205437,7 +245082,7 @@ ENCODING 22733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFE0 4900 9DE0 @@ -205455,7 +245100,7 @@ ENCODING 22734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4100 4FE0 @@ -205473,7 +245118,7 @@ ENCODING 22735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 5480 5EE0 @@ -205491,7 +245136,7 @@ ENCODING 22736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2480 7FC0 @@ -205509,7 +245154,7 @@ ENCODING 22737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DE0 10A0 FEA0 @@ -205527,7 +245172,7 @@ ENCODING 22738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 2480 @@ -205545,7 +245190,7 @@ ENCODING 22739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54C0 5CA0 @@ -205563,7 +245208,7 @@ ENCODING 22740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -205581,7 +245226,7 @@ ENCODING 22741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -205599,7 +245244,7 @@ ENCODING 22742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 4FE0 @@ -205617,7 +245262,7 @@ ENCODING 22743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 4140 @@ -205635,7 +245280,7 @@ ENCODING 22744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -205653,7 +245298,7 @@ ENCODING 22745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2A80 @@ -205671,7 +245316,7 @@ ENCODING 22746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4200 5FE0 @@ -205689,7 +245334,7 @@ ENCODING 22747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5520 5DE0 @@ -205707,7 +245352,7 @@ ENCODING 22748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 4FC0 @@ -205725,7 +245370,7 @@ ENCODING 22749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 53E0 4AA0 @@ -205743,7 +245388,7 @@ ENCODING 22750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 4AA0 @@ -205761,7 +245406,7 @@ ENCODING 22751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 53E0 @@ -205779,7 +245424,7 @@ ENCODING 22752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5EE0 4A80 @@ -205797,7 +245442,7 @@ ENCODING 22753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 2140 FD40 @@ -205815,7 +245460,7 @@ ENCODING 22754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5360 5240 @@ -205833,7 +245478,7 @@ ENCODING 22755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D40 56A0 5540 @@ -205851,7 +245496,7 @@ ENCODING 22756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5540 @@ -205869,7 +245514,7 @@ ENCODING 22757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4800 4FC0 @@ -205887,7 +245532,7 @@ ENCODING 22758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 4440 @@ -205905,7 +245550,7 @@ ENCODING 22759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 5FE0 @@ -205923,7 +245568,7 @@ ENCODING 22760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -205941,7 +245586,7 @@ ENCODING 22761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 4FE0 @@ -205959,7 +245604,7 @@ ENCODING 22762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 6FA0 5540 @@ -205977,7 +245622,7 @@ ENCODING 22763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -205995,7 +245640,7 @@ ENCODING 22764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0380 7C00 @@ -206013,7 +245658,7 @@ ENCODING 22765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206031,7 +245676,7 @@ ENCODING 22766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 9100 5100 @@ -206049,7 +245694,7 @@ ENCODING 22767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 5100 @@ -206067,7 +245712,7 @@ ENCODING 22768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206085,7 +245730,7 @@ ENCODING 22769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -206103,7 +245748,7 @@ ENCODING 22770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -206121,7 +245766,7 @@ ENCODING 22771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206139,7 +245784,7 @@ ENCODING 22772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206157,7 +245802,7 @@ ENCODING 22773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206175,7 +245820,7 @@ ENCODING 22774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206193,7 +245838,7 @@ ENCODING 22775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -206211,7 +245856,7 @@ ENCODING 22776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0400 @@ -206229,7 +245874,7 @@ ENCODING 22777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206247,7 +245892,7 @@ ENCODING 22778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206265,7 +245910,7 @@ ENCODING 22779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2200 2BC0 @@ -206283,7 +245928,7 @@ ENCODING 22780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206301,7 +245946,7 @@ ENCODING 22781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -206319,7 +245964,7 @@ ENCODING 22782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 2200 @@ -206337,7 +245982,7 @@ ENCODING 22783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 4280 @@ -206355,7 +246000,7 @@ ENCODING 22784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206373,7 +246018,7 @@ ENCODING 22785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -206390,8 +246035,8 @@ STARTCHAR U_5902 ENCODING 22786 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 8 0 2 +BITMAP 1000 1F00 3100 @@ -206400,16 +246045,13 @@ BITMAP 0A00 3180 C060 -0000 -0000 -0000 ENDCHAR STARTCHAR U_5903 ENCODING 22787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1080 1100 @@ -206427,7 +246069,7 @@ ENCODING 22788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3D00 @@ -206445,7 +246087,7 @@ ENCODING 22789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 3080 @@ -206463,7 +246105,7 @@ ENCODING 22790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 3100 4E00 @@ -206481,7 +246123,7 @@ ENCODING 22791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 3100 @@ -206499,7 +246141,7 @@ ENCODING 22792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2080 @@ -206517,7 +246159,7 @@ ENCODING 22793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -206535,7 +246177,7 @@ ENCODING 22794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 1F80 @@ -206552,26 +246194,26 @@ STARTCHAR U_590B ENCODING 22795 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0880 -3FC0 -1080 -2440 -4FA0 -0880 -1500 -2200 -0D80 -7060 +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 +BITMAP 0400 3F80 0400 @@ -206589,7 +246231,7 @@ ENCODING 22797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 6080 @@ -206607,7 +246249,7 @@ ENCODING 22798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5540 @@ -206625,7 +246267,7 @@ ENCODING 22799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 1F80 @@ -206643,7 +246285,7 @@ ENCODING 22800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 2100 FFC0 @@ -206661,7 +246303,7 @@ ENCODING 22801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5F60 E0C0 @@ -206679,7 +246321,7 @@ ENCODING 22802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 2FE0 @@ -206697,7 +246339,7 @@ ENCODING 22803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EC0 4440 6EC0 @@ -206715,7 +246357,7 @@ ENCODING 22804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2A00 @@ -206733,7 +246375,7 @@ ENCODING 22805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0840 0FE0 @@ -206751,7 +246393,7 @@ ENCODING 22806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3D00 @@ -206769,7 +246411,7 @@ ENCODING 22807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 3E40 @@ -206787,7 +246429,7 @@ ENCODING 22808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3DE0 2520 @@ -206805,7 +246447,7 @@ ENCODING 22809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 7F80 @@ -206822,26 +246464,26 @@ STARTCHAR U_591A ENCODING 22810 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0F80 +BBX 9 11 1 -1 +BITMAP +0800 +1F00 +2100 +5200 +0C00 +3400 +CF80 1080 -2900 +6900 0600 -1A00 -67C0 -0840 -3480 -0300 -7C00 +F800 ENDCHAR STARTCHAR U_591B ENCODING 22811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 1F80 @@ -206859,7 +246501,7 @@ ENCODING 22812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1200 @@ -206877,7 +246519,7 @@ ENCODING 22813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4500 7500 @@ -206895,7 +246537,7 @@ ENCODING 22814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 7D80 @@ -206913,7 +246555,7 @@ ENCODING 22815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 4620 @@ -206931,7 +246573,7 @@ ENCODING 22816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79E0 8A20 @@ -206949,7 +246591,7 @@ ENCODING 22817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3900 4FE0 @@ -206967,7 +246609,7 @@ ENCODING 22818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -206985,7 +246627,7 @@ ENCODING 22819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207003,7 +246645,7 @@ ENCODING 22820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 7100 0A00 @@ -207021,7 +246663,7 @@ ENCODING 22821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A9E0 FA20 @@ -207039,7 +246681,7 @@ ENCODING 22822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FEE0 2520 @@ -207057,7 +246699,7 @@ ENCODING 22823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -207075,7 +246717,7 @@ ENCODING 22824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 3C00 @@ -207093,7 +246735,7 @@ ENCODING 22825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -207111,7 +246753,7 @@ ENCODING 22826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -207129,7 +246771,7 @@ ENCODING 22827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -207147,7 +246789,7 @@ ENCODING 22828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 3F80 @@ -207165,7 +246807,7 @@ ENCODING 22829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -207183,7 +246825,7 @@ ENCODING 22830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 3F80 @@ -207201,7 +246843,7 @@ ENCODING 22831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1200 @@ -207219,7 +246861,7 @@ ENCODING 22832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -207237,7 +246879,7 @@ ENCODING 22833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 3FC0 @@ -207255,7 +246897,7 @@ ENCODING 22834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -207273,7 +246915,7 @@ ENCODING 22835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -207291,7 +246933,7 @@ ENCODING 22836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 0A00 2200 @@ -207309,7 +246951,7 @@ ENCODING 22837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -207327,7 +246969,7 @@ ENCODING 22838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -207345,7 +246987,7 @@ ENCODING 22839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -207363,7 +247005,7 @@ ENCODING 22840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207381,7 +247023,7 @@ ENCODING 22841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -207399,7 +247041,7 @@ ENCODING 22842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0900 @@ -207417,7 +247059,7 @@ ENCODING 22843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0A00 @@ -207435,7 +247077,7 @@ ENCODING 22844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -207453,7 +247095,7 @@ ENCODING 22845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0A00 @@ -207471,7 +247113,7 @@ ENCODING 22846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -207489,7 +247131,7 @@ ENCODING 22847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0900 @@ -207507,7 +247149,7 @@ ENCODING 22848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0D00 @@ -207525,7 +247167,7 @@ ENCODING 22849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207543,7 +247185,7 @@ ENCODING 22850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 2100 @@ -207561,7 +247203,7 @@ ENCODING 22851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -207579,7 +247221,7 @@ ENCODING 22852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207597,7 +247239,7 @@ ENCODING 22853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207615,7 +247257,7 @@ ENCODING 22854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207633,7 +247275,7 @@ ENCODING 22855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0A00 @@ -207651,7 +247293,7 @@ ENCODING 22856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207669,7 +247311,7 @@ ENCODING 22857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0800 @@ -207687,7 +247329,7 @@ ENCODING 22858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2200 3FC0 @@ -207705,7 +247347,7 @@ ENCODING 22859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -207723,7 +247365,7 @@ ENCODING 22860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 0400 @@ -207741,7 +247383,7 @@ ENCODING 22861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 3FC0 @@ -207759,7 +247401,7 @@ ENCODING 22862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 1100 @@ -207777,7 +247419,7 @@ ENCODING 22863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0800 @@ -207795,7 +247437,7 @@ ENCODING 22864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F00 2200 @@ -207813,7 +247455,7 @@ ENCODING 22865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FE0 1120 @@ -207831,7 +247473,7 @@ ENCODING 22866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207849,7 +247491,7 @@ ENCODING 22867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207867,7 +247509,7 @@ ENCODING 22868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -207885,7 +247527,7 @@ ENCODING 22869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -207903,7 +247545,7 @@ ENCODING 22870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 53E0 1640 @@ -207921,7 +247563,7 @@ ENCODING 22871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1080 @@ -207939,7 +247581,7 @@ ENCODING 22872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 7FE0 0880 @@ -207957,7 +247599,7 @@ ENCODING 22873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3F80 0400 @@ -207975,7 +247617,7 @@ ENCODING 22874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C80 2480 @@ -207993,7 +247635,7 @@ ENCODING 22875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -208011,7 +247653,7 @@ ENCODING 22876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -208029,7 +247671,7 @@ ENCODING 22877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -208047,7 +247689,7 @@ ENCODING 22878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0900 @@ -208065,7 +247707,7 @@ ENCODING 22879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -208083,7 +247725,7 @@ ENCODING 22880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0A00 @@ -208101,7 +247743,7 @@ ENCODING 22881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 3F80 @@ -208119,7 +247761,7 @@ ENCODING 22882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 2880 @@ -208137,7 +247779,7 @@ ENCODING 22883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -208155,7 +247797,7 @@ ENCODING 22884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -208173,7 +247815,7 @@ ENCODING 22885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 5540 @@ -208191,7 +247833,7 @@ ENCODING 22886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 5640 2380 @@ -208209,7 +247851,7 @@ ENCODING 22887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 4340 @@ -208227,7 +247869,7 @@ ENCODING 22888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 5620 3540 @@ -208245,7 +247887,7 @@ ENCODING 22889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 2100 @@ -208263,7 +247905,7 @@ ENCODING 22890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2880 @@ -208281,7 +247923,7 @@ ENCODING 22891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -208299,7 +247941,7 @@ ENCODING 22892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 5640 7980 @@ -208317,7 +247959,7 @@ ENCODING 22893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -208335,7 +247977,7 @@ ENCODING 22894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 3280 5FE0 @@ -208353,7 +247995,7 @@ ENCODING 22895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1480 @@ -208371,7 +248013,7 @@ ENCODING 22896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2A80 3F80 @@ -208389,7 +248031,7 @@ ENCODING 22897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 E0E0 4E40 @@ -208407,7 +248049,7 @@ ENCODING 22898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 4BE0 @@ -208425,7 +248067,7 @@ ENCODING 22899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 0800 @@ -208443,7 +248085,7 @@ ENCODING 22900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 FA20 @@ -208461,7 +248103,7 @@ ENCODING 22901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2080 @@ -208479,7 +248121,7 @@ ENCODING 22902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FA40 @@ -208497,7 +248139,7 @@ ENCODING 22903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 F880 @@ -208515,7 +248157,7 @@ ENCODING 22904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F880 @@ -208533,7 +248175,7 @@ ENCODING 22905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F5C0 @@ -208551,7 +248193,7 @@ ENCODING 22906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23C0 @@ -208569,7 +248211,7 @@ ENCODING 22907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -208587,7 +248229,7 @@ ENCODING 22908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -208605,7 +248247,7 @@ ENCODING 22909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F840 @@ -208623,7 +248265,7 @@ ENCODING 22910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F880 @@ -208641,7 +248283,7 @@ ENCODING 22911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBE0 @@ -208659,7 +248301,7 @@ ENCODING 22912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 1100 @@ -208677,7 +248319,7 @@ ENCODING 22913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -208695,7 +248337,7 @@ ENCODING 22914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2000 FBE0 @@ -208713,7 +248355,7 @@ ENCODING 22915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2020 F820 @@ -208731,7 +248373,7 @@ ENCODING 22916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -208749,7 +248391,7 @@ ENCODING 22917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -208767,7 +248409,7 @@ ENCODING 22918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 9100 @@ -208785,7 +248427,7 @@ ENCODING 22919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F820 @@ -208803,7 +248445,7 @@ ENCODING 22920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 FA40 @@ -208821,7 +248463,7 @@ ENCODING 22921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -208839,7 +248481,7 @@ ENCODING 22922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 F880 @@ -208857,7 +248499,7 @@ ENCODING 22923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -208875,7 +248517,7 @@ ENCODING 22924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4240 FFE0 @@ -208893,7 +248535,7 @@ ENCODING 22925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2240 @@ -208911,7 +248553,7 @@ ENCODING 22926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2240 @@ -208929,7 +248571,7 @@ ENCODING 22927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -208947,7 +248589,7 @@ ENCODING 22928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FA40 @@ -208965,7 +248607,7 @@ ENCODING 22929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 F540 @@ -208983,7 +248625,7 @@ ENCODING 22930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FBE0 @@ -209001,7 +248643,7 @@ ENCODING 22931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -209019,7 +248661,7 @@ ENCODING 22932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -209037,7 +248679,7 @@ ENCODING 22933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -209055,7 +248697,7 @@ ENCODING 22934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -209073,7 +248715,7 @@ ENCODING 22935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -209091,7 +248733,7 @@ ENCODING 22936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 F800 @@ -209109,7 +248751,7 @@ ENCODING 22937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FB40 @@ -209127,7 +248769,7 @@ ENCODING 22938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -209145,7 +248787,7 @@ ENCODING 22939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -209163,7 +248805,7 @@ ENCODING 22940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBC0 @@ -209181,7 +248823,7 @@ ENCODING 22941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4900 4900 @@ -209199,7 +248841,7 @@ ENCODING 22942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 F940 @@ -209217,7 +248859,7 @@ ENCODING 22943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -209235,7 +248877,7 @@ ENCODING 22944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -209253,7 +248895,7 @@ ENCODING 22945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 FA00 @@ -209271,7 +248913,7 @@ ENCODING 22946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FC40 @@ -209289,7 +248931,7 @@ ENCODING 22947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FC80 @@ -209307,7 +248949,7 @@ ENCODING 22948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 F940 @@ -209325,7 +248967,7 @@ ENCODING 22949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0840 @@ -209343,7 +248985,7 @@ ENCODING 22950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -209361,7 +249003,7 @@ ENCODING 22951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 F800 @@ -209379,7 +249021,7 @@ ENCODING 22952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -209397,7 +249039,7 @@ ENCODING 22953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F900 @@ -209415,7 +249057,7 @@ ENCODING 22954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 FB20 @@ -209433,7 +249075,7 @@ ENCODING 22955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2300 F900 @@ -209451,7 +249093,7 @@ ENCODING 22956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -209469,7 +249111,7 @@ ENCODING 22957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FFE0 @@ -209487,7 +249129,7 @@ ENCODING 22958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 FC20 @@ -209505,7 +249147,7 @@ ENCODING 22959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -209523,7 +249165,7 @@ ENCODING 22960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBE0 @@ -209541,7 +249183,7 @@ ENCODING 22961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 F920 @@ -209559,7 +249201,7 @@ ENCODING 22962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FA20 @@ -209577,7 +249219,7 @@ ENCODING 22963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -209595,7 +249237,7 @@ ENCODING 22964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3BC0 4A40 @@ -209613,7 +249255,7 @@ ENCODING 22965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -209631,7 +249273,7 @@ ENCODING 22966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -209649,7 +249291,7 @@ ENCODING 22967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4500 F7C0 @@ -209667,7 +249309,7 @@ ENCODING 22968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 F040 @@ -209685,7 +249327,7 @@ ENCODING 22969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFC0 @@ -209703,7 +249345,7 @@ ENCODING 22970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -209721,7 +249363,7 @@ ENCODING 22971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -209739,7 +249381,7 @@ ENCODING 22972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2140 FA40 @@ -209757,7 +249399,7 @@ ENCODING 22973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -209775,7 +249417,7 @@ ENCODING 22974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -209793,7 +249435,7 @@ ENCODING 22975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7BC0 2A40 @@ -209811,7 +249453,7 @@ ENCODING 22976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -209829,7 +249471,7 @@ ENCODING 22977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -209847,7 +249489,7 @@ ENCODING 22978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4F00 4100 @@ -209865,7 +249507,7 @@ ENCODING 22979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -209883,7 +249525,7 @@ ENCODING 22980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 FC20 @@ -209901,7 +249543,7 @@ ENCODING 22981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 24A0 FAC0 @@ -209919,7 +249561,7 @@ ENCODING 22982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4640 F540 @@ -209937,7 +249579,7 @@ ENCODING 22983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 6FE0 A480 @@ -209955,7 +249597,7 @@ ENCODING 22984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -209973,7 +249615,7 @@ ENCODING 22985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -209991,7 +249633,7 @@ ENCODING 22986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4160 F780 @@ -210009,7 +249651,7 @@ ENCODING 22987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA40 @@ -210027,7 +249669,7 @@ ENCODING 22988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -210045,7 +249687,7 @@ ENCODING 22989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 FAA0 @@ -210063,7 +249705,7 @@ ENCODING 22990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 F7C0 @@ -210081,7 +249723,7 @@ ENCODING 22991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 F7E0 @@ -210099,7 +249741,7 @@ ENCODING 22992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 FA40 @@ -210117,7 +249759,7 @@ ENCODING 22993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -210135,7 +249777,7 @@ ENCODING 22994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2440 F640 @@ -210153,7 +249795,7 @@ ENCODING 22995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA80 @@ -210171,7 +249813,7 @@ ENCODING 22996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -210189,7 +249831,7 @@ ENCODING 22997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5A60 5380 @@ -210207,7 +249849,7 @@ ENCODING 22998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4400 FC00 @@ -210225,7 +249867,7 @@ ENCODING 22999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 EAA0 @@ -210243,7 +249885,7 @@ ENCODING 23000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -210261,7 +249903,7 @@ ENCODING 23001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 4780 F480 @@ -210279,7 +249921,7 @@ ENCODING 23002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FAA0 @@ -210297,7 +249939,7 @@ ENCODING 23003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 FBA0 @@ -210315,7 +249957,7 @@ ENCODING 23004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -210333,7 +249975,7 @@ ENCODING 23005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -210351,7 +249993,7 @@ ENCODING 23006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -210369,7 +250011,7 @@ ENCODING 23007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -210387,7 +250029,7 @@ ENCODING 23008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4200 FFE0 @@ -210405,7 +250047,7 @@ ENCODING 23009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -210423,7 +250065,7 @@ ENCODING 23010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4440 FFE0 @@ -210441,7 +250083,7 @@ ENCODING 23011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -210459,7 +250101,7 @@ ENCODING 23012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 F400 @@ -210477,7 +250119,7 @@ ENCODING 23013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2120 F7C0 @@ -210495,7 +250137,7 @@ ENCODING 23014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -210513,7 +250155,7 @@ ENCODING 23015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FC80 @@ -210531,7 +250173,7 @@ ENCODING 23016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -210549,7 +250191,7 @@ ENCODING 23017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 FA80 @@ -210567,7 +250209,7 @@ ENCODING 23018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F200 @@ -210585,7 +250227,7 @@ ENCODING 23019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4480 FC80 @@ -210603,7 +250245,7 @@ ENCODING 23020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FC80 @@ -210621,7 +250263,7 @@ ENCODING 23021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7F80 1100 @@ -210639,7 +250281,7 @@ ENCODING 23022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 FBC0 @@ -210657,7 +250299,7 @@ ENCODING 23023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4920 F540 @@ -210675,7 +250317,7 @@ ENCODING 23024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -210693,7 +250335,7 @@ ENCODING 23025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -210711,7 +250353,7 @@ ENCODING 23026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -210729,7 +250371,7 @@ ENCODING 23027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F220 @@ -210746,26 +250388,26 @@ STARTCHAR U_59F4 ENCODING 23028 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7E20 -1120 -3D20 -4520 -2860 -1400 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +FC40 +2240 +7A40 +8A40 +50C0 +2800 +FFC0 1200 -0D00 -78E0 +2400 +1A00 +F1C0 ENDCHAR STARTCHAR U_59F5 ENCODING 23029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 FFC0 @@ -210783,7 +250425,7 @@ ENCODING 23030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -210801,7 +250443,7 @@ ENCODING 23031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA00 @@ -210819,7 +250461,7 @@ ENCODING 23032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4EE0 F440 @@ -210837,7 +250479,7 @@ ENCODING 23033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -210855,7 +250497,7 @@ ENCODING 23034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -210873,7 +250515,7 @@ ENCODING 23035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 F520 @@ -210891,7 +250533,7 @@ ENCODING 23036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 FA20 @@ -210909,7 +250551,7 @@ ENCODING 23037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC80 @@ -210927,7 +250569,7 @@ ENCODING 23038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -210945,7 +250587,7 @@ ENCODING 23039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2A40 @@ -210963,7 +250605,7 @@ ENCODING 23040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 20C0 F0A0 @@ -210981,7 +250623,7 @@ ENCODING 23041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 7FE0 @@ -210999,7 +250641,7 @@ ENCODING 23042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -211017,7 +250659,7 @@ ENCODING 23043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -211035,7 +250677,7 @@ ENCODING 23044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -211053,7 +250695,7 @@ ENCODING 23045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 F280 @@ -211071,7 +250713,7 @@ ENCODING 23046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2F00 F2A0 @@ -211089,7 +250731,7 @@ ENCODING 23047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -211107,7 +250749,7 @@ ENCODING 23048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0900 @@ -211125,7 +250767,7 @@ ENCODING 23049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FD40 @@ -211143,7 +250785,7 @@ ENCODING 23050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 FFC0 @@ -211161,7 +250803,7 @@ ENCODING 23051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 F340 @@ -211179,7 +250821,7 @@ ENCODING 23052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FD40 @@ -211197,7 +250839,7 @@ ENCODING 23053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 40A0 F7E0 @@ -211215,7 +250857,7 @@ ENCODING 23054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FE00 1BE0 @@ -211233,7 +250875,7 @@ ENCODING 23055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4480 4FE0 @@ -211251,7 +250893,7 @@ ENCODING 23056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 F540 @@ -211269,7 +250911,7 @@ ENCODING 23057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 C920 @@ -211287,7 +250929,7 @@ ENCODING 23058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 F800 @@ -211305,7 +250947,7 @@ ENCODING 23059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -211323,7 +250965,7 @@ ENCODING 23060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -211341,7 +250983,7 @@ ENCODING 23061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -211359,7 +251001,7 @@ ENCODING 23062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA20 @@ -211377,7 +251019,7 @@ ENCODING 23063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E60 4380 F480 @@ -211395,7 +251037,7 @@ ENCODING 23064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F440 @@ -211413,7 +251055,7 @@ ENCODING 23065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 22A0 FAA0 @@ -211431,7 +251073,7 @@ ENCODING 23066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -211449,7 +251091,7 @@ ENCODING 23067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FE40 @@ -211467,7 +251109,7 @@ ENCODING 23068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4AA0 FAA0 @@ -211485,7 +251127,7 @@ ENCODING 23069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 F980 @@ -211503,7 +251145,7 @@ ENCODING 23070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 F540 @@ -211521,7 +251163,7 @@ ENCODING 23071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FBE0 @@ -211539,7 +251181,7 @@ ENCODING 23072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4800 FBC0 @@ -211557,7 +251199,7 @@ ENCODING 23073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -211575,7 +251217,7 @@ ENCODING 23074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F280 @@ -211593,7 +251235,7 @@ ENCODING 23075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7C0 @@ -211611,7 +251253,7 @@ ENCODING 23076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 4880 7FE0 @@ -211629,7 +251271,7 @@ ENCODING 23077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 26C0 FAA0 @@ -211647,7 +251289,7 @@ ENCODING 23078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F400 @@ -211665,7 +251307,7 @@ ENCODING 23079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 F7C0 @@ -211683,7 +251325,7 @@ ENCODING 23080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FBE0 @@ -211701,7 +251343,7 @@ ENCODING 23081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F480 @@ -211719,7 +251361,7 @@ ENCODING 23082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBC0 @@ -211737,7 +251379,7 @@ ENCODING 23083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 4DC0 F440 @@ -211755,7 +251397,7 @@ ENCODING 23084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 27E0 F040 @@ -211773,7 +251415,7 @@ ENCODING 23085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 F7A0 @@ -211791,7 +251433,7 @@ ENCODING 23086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F800 @@ -211809,7 +251451,7 @@ ENCODING 23087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2140 F540 @@ -211827,7 +251469,7 @@ ENCODING 23088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4520 4D20 @@ -211845,7 +251487,7 @@ ENCODING 23089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -211863,7 +251505,7 @@ ENCODING 23090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 F440 @@ -211881,7 +251523,7 @@ ENCODING 23091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 4E20 F4A0 @@ -211899,7 +251541,7 @@ ENCODING 23092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 4220 F920 @@ -211917,7 +251559,7 @@ ENCODING 23093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 4AE0 FEA0 @@ -211935,7 +251577,7 @@ ENCODING 23094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 4BE0 6940 @@ -211953,7 +251595,7 @@ ENCODING 23095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4780 F100 @@ -211971,7 +251613,7 @@ ENCODING 23096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -211989,7 +251631,7 @@ ENCODING 23097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 4240 F3E0 @@ -212007,7 +251649,7 @@ ENCODING 23098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 6AA0 4440 @@ -212025,7 +251667,7 @@ ENCODING 23099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 6FE0 4100 @@ -212043,7 +251685,7 @@ ENCODING 23100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -212061,7 +251703,7 @@ ENCODING 23101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4040 F7C0 @@ -212079,7 +251721,7 @@ ENCODING 23102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC80 @@ -212097,7 +251739,7 @@ ENCODING 23103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5040 6740 @@ -212115,7 +251757,7 @@ ENCODING 23104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4A20 FA20 @@ -212133,7 +251775,7 @@ ENCODING 23105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -212151,7 +251793,7 @@ ENCODING 23106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F440 @@ -212169,7 +251811,7 @@ ENCODING 23107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -212187,7 +251829,7 @@ ENCODING 23108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -212205,7 +251847,7 @@ ENCODING 23109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 F920 @@ -212223,7 +251865,7 @@ ENCODING 23110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 4920 @@ -212241,7 +251883,7 @@ ENCODING 23111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 27A0 FD20 @@ -212259,7 +251901,7 @@ ENCODING 23112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -212277,7 +251919,7 @@ ENCODING 23113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -212295,7 +251937,7 @@ ENCODING 23114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F100 @@ -212313,7 +251955,7 @@ ENCODING 23115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 4080 F7E0 @@ -212331,7 +251973,7 @@ ENCODING 23116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 46E0 E4A0 @@ -212349,7 +251991,7 @@ ENCODING 23117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -212367,7 +252009,7 @@ ENCODING 23118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4480 4FE0 @@ -212385,7 +252027,7 @@ ENCODING 23119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -212403,7 +252045,7 @@ ENCODING 23120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -212421,7 +252063,7 @@ ENCODING 23121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -212439,7 +252081,7 @@ ENCODING 23122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2540 F580 @@ -212457,7 +252099,7 @@ ENCODING 23123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -212475,7 +252117,7 @@ ENCODING 23124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 FEE0 @@ -212493,7 +252135,7 @@ ENCODING 23125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F7C0 @@ -212511,7 +252153,7 @@ ENCODING 23126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -212529,7 +252171,7 @@ ENCODING 23127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 2420 FC20 @@ -212547,7 +252189,7 @@ ENCODING 23128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4540 FFE0 @@ -212565,7 +252207,7 @@ ENCODING 23129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47C0 F880 @@ -212583,7 +252225,7 @@ ENCODING 23130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 FFE0 @@ -212601,7 +252243,7 @@ ENCODING 23131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F000 @@ -212619,7 +252261,7 @@ ENCODING 23132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A140 F940 @@ -212637,7 +252279,7 @@ ENCODING 23133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -212655,7 +252297,7 @@ ENCODING 23134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -212673,7 +252315,7 @@ ENCODING 23135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 F920 @@ -212691,7 +252333,7 @@ ENCODING 23136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -212709,7 +252351,7 @@ ENCODING 23137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -212727,7 +252369,7 @@ ENCODING 23138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FCA0 @@ -212745,7 +252387,7 @@ ENCODING 23139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 4AA0 4EE0 @@ -212763,7 +252405,7 @@ ENCODING 23140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 FBA0 @@ -212781,7 +252423,7 @@ ENCODING 23141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFC0 @@ -212799,7 +252441,7 @@ ENCODING 23142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4040 F7C0 @@ -212817,7 +252459,7 @@ ENCODING 23143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBC0 @@ -212835,7 +252477,7 @@ ENCODING 23144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2280 @@ -212853,7 +252495,7 @@ ENCODING 23145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 27E0 F800 @@ -212871,7 +252513,7 @@ ENCODING 23146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 3100 @@ -212889,7 +252531,7 @@ ENCODING 23147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -212907,7 +252549,7 @@ ENCODING 23148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4F20 FA20 @@ -212925,7 +252567,7 @@ ENCODING 23149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 F940 @@ -212943,7 +252585,7 @@ ENCODING 23150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 F420 @@ -212961,7 +252603,7 @@ ENCODING 23151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0000 7BC0 @@ -212979,7 +252621,7 @@ ENCODING 23152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 FAA0 @@ -212997,7 +252639,7 @@ ENCODING 23153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 1FE0 7240 @@ -213015,7 +252657,7 @@ ENCODING 23154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 FFE0 @@ -213033,7 +252675,7 @@ ENCODING 23155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 F000 @@ -213051,7 +252693,7 @@ ENCODING 23156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 5540 @@ -213069,7 +252711,7 @@ ENCODING 23157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 FFE0 @@ -213087,7 +252729,7 @@ ENCODING 23158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F820 @@ -213105,7 +252747,7 @@ ENCODING 23159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F440 @@ -213123,7 +252765,7 @@ ENCODING 23160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -213141,7 +252783,7 @@ ENCODING 23161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 F280 @@ -213159,7 +252801,7 @@ ENCODING 23162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 1140 @@ -213177,7 +252819,7 @@ ENCODING 23163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -213195,7 +252837,7 @@ ENCODING 23164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -213213,7 +252855,7 @@ ENCODING 23165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2520 FD20 @@ -213231,7 +252873,7 @@ ENCODING 23166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 F440 @@ -213249,7 +252891,7 @@ ENCODING 23167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 F5C0 @@ -213267,7 +252909,7 @@ ENCODING 23168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 47C0 @@ -213285,7 +252927,7 @@ ENCODING 23169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 4240 @@ -213303,7 +252945,7 @@ ENCODING 23170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F440 @@ -213321,7 +252963,7 @@ ENCODING 23171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 F100 @@ -213339,7 +252981,7 @@ ENCODING 23172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -213357,7 +252999,7 @@ ENCODING 23173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 FA40 @@ -213375,7 +253017,7 @@ ENCODING 23174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4200 F7E0 @@ -213393,7 +253035,7 @@ ENCODING 23175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -213411,7 +253053,7 @@ ENCODING 23176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 47C0 @@ -213429,7 +253071,7 @@ ENCODING 23177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 47E0 @@ -213447,7 +253089,7 @@ ENCODING 23178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 FFE0 @@ -213465,7 +253107,7 @@ ENCODING 23179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FFC0 @@ -213483,7 +253125,7 @@ ENCODING 23180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FFE0 @@ -213501,7 +253143,7 @@ ENCODING 23181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 2240 @@ -213519,7 +253161,7 @@ ENCODING 23182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27E0 F140 @@ -213537,7 +253179,7 @@ ENCODING 23183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4920 FFE0 @@ -213555,7 +253197,7 @@ ENCODING 23184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9240 BBC0 @@ -213573,7 +253215,7 @@ ENCODING 23185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 6100 4FE0 @@ -213591,7 +253233,7 @@ ENCODING 23186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -213609,7 +253251,7 @@ ENCODING 23187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -213627,7 +253269,7 @@ ENCODING 23188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 F200 @@ -213645,7 +253287,7 @@ ENCODING 23189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 FBA0 @@ -213663,7 +253305,7 @@ ENCODING 23190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 F440 @@ -213681,7 +253323,7 @@ ENCODING 23191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -213699,7 +253341,7 @@ ENCODING 23192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 66E0 4480 @@ -213717,7 +253359,7 @@ ENCODING 23193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 4FE0 4880 @@ -213735,7 +253377,7 @@ ENCODING 23194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 F7E0 @@ -213753,7 +253395,7 @@ ENCODING 23195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 F540 @@ -213771,7 +253413,7 @@ ENCODING 23196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFC0 @@ -213789,7 +253431,7 @@ ENCODING 23197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7120 2540 FD80 @@ -213807,7 +253449,7 @@ ENCODING 23198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -213825,7 +253467,7 @@ ENCODING 23199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F540 @@ -213843,7 +253485,7 @@ ENCODING 23200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 F200 @@ -213861,7 +253503,7 @@ ENCODING 23201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -213879,7 +253521,7 @@ ENCODING 23202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FBA0 @@ -213897,7 +253539,7 @@ ENCODING 23203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 43C0 4940 @@ -213915,7 +253557,7 @@ ENCODING 23204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 47C0 @@ -213933,7 +253575,7 @@ ENCODING 23205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F820 @@ -213951,7 +253593,7 @@ ENCODING 23206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 FFE0 @@ -213969,7 +253611,7 @@ ENCODING 23207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 F740 @@ -213987,7 +253629,7 @@ ENCODING 23208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 4280 @@ -214005,7 +253647,7 @@ ENCODING 23209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 FFA0 @@ -214023,7 +253665,7 @@ ENCODING 23210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -214041,7 +253683,7 @@ ENCODING 23211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 41C0 4100 @@ -214059,7 +253701,7 @@ ENCODING 23212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 F520 @@ -214077,7 +253719,7 @@ ENCODING 23213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 C200 37E0 @@ -214095,7 +253737,7 @@ ENCODING 23214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4440 FBA0 @@ -214113,7 +253755,7 @@ ENCODING 23215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4500 EF80 @@ -214131,7 +253773,7 @@ ENCODING 23216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 26A0 FBE0 @@ -214149,7 +253791,7 @@ ENCODING 23217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 FD40 @@ -214167,7 +253809,7 @@ ENCODING 23218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 FAA0 @@ -214185,7 +253827,7 @@ ENCODING 23219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -214203,7 +253845,7 @@ ENCODING 23220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -214221,7 +253863,7 @@ ENCODING 23221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A540 AFE0 @@ -214239,7 +253881,7 @@ ENCODING 23222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FA80 @@ -214257,7 +253899,7 @@ ENCODING 23223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4BC0 E800 @@ -214275,7 +253917,7 @@ ENCODING 23224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4FE0 F100 @@ -214293,7 +253935,7 @@ ENCODING 23225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 FCA0 @@ -214311,7 +253953,7 @@ ENCODING 23226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 5540 FFE0 @@ -214329,7 +253971,7 @@ ENCODING 23227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 FA60 AC00 @@ -214347,7 +253989,7 @@ ENCODING 23228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -214365,7 +254007,7 @@ ENCODING 23229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FFC0 @@ -214383,7 +254025,7 @@ ENCODING 23230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -214401,7 +254043,7 @@ ENCODING 23231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FD40 @@ -214419,7 +254061,7 @@ ENCODING 23232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F100 @@ -214437,7 +254079,7 @@ ENCODING 23233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -214455,7 +254097,7 @@ ENCODING 23234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4DE0 F920 @@ -214473,7 +254115,7 @@ ENCODING 23235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -214491,7 +254133,7 @@ ENCODING 23236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4880 FBE0 @@ -214509,7 +254151,7 @@ ENCODING 23237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 4080 @@ -214527,7 +254169,7 @@ ENCODING 23238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FAA0 @@ -214545,7 +254187,7 @@ ENCODING 23239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 F7C0 @@ -214563,7 +254205,7 @@ ENCODING 23240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -214581,7 +254223,7 @@ ENCODING 23241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 F500 @@ -214599,7 +254241,7 @@ ENCODING 23242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -214617,7 +254259,7 @@ ENCODING 23243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4220 FEE0 @@ -214635,7 +254277,7 @@ ENCODING 23244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4FE0 F500 @@ -214653,7 +254295,7 @@ ENCODING 23245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2520 FAA0 @@ -214671,7 +254313,7 @@ ENCODING 23246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4440 @@ -214689,7 +254331,7 @@ ENCODING 23247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4EE0 4AA0 @@ -214707,7 +254349,7 @@ ENCODING 23248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F40 5540 5F40 @@ -214725,7 +254367,7 @@ ENCODING 23249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1500 2480 @@ -214743,7 +254385,7 @@ ENCODING 23250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4540 FFE0 @@ -214761,7 +254403,7 @@ ENCODING 23251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47C0 4480 @@ -214779,7 +254421,7 @@ ENCODING 23252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F8A0 @@ -214797,7 +254439,7 @@ ENCODING 23253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2500 FDE0 @@ -214815,7 +254457,7 @@ ENCODING 23254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 FFE0 @@ -214833,7 +254475,7 @@ ENCODING 23255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4800 F9C0 @@ -214851,7 +254493,7 @@ ENCODING 23256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 FFE0 @@ -214869,7 +254511,7 @@ ENCODING 23257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 45E0 FF00 @@ -214887,7 +254529,7 @@ ENCODING 23258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 F7C0 @@ -214905,7 +254547,7 @@ ENCODING 23259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 9160 FFC0 @@ -214923,7 +254565,7 @@ ENCODING 23260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -214941,7 +254583,7 @@ ENCODING 23261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E940 @@ -214959,7 +254601,7 @@ ENCODING 23262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F940 @@ -214977,7 +254619,7 @@ ENCODING 23263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FFE0 @@ -214995,7 +254637,7 @@ ENCODING 23264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 2240 FD80 @@ -215013,7 +254655,7 @@ ENCODING 23265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F280 @@ -215031,7 +254673,7 @@ ENCODING 23266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -215049,7 +254691,7 @@ ENCODING 23267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FDE0 @@ -215067,7 +254709,7 @@ ENCODING 23268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4FE0 4440 @@ -215085,7 +254727,7 @@ ENCODING 23269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -215103,7 +254745,7 @@ ENCODING 23270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F820 @@ -215121,7 +254763,7 @@ ENCODING 23271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F100 @@ -215139,7 +254781,7 @@ ENCODING 23272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFC0 @@ -215157,7 +254799,7 @@ ENCODING 23273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5F80 E4E0 @@ -215175,7 +254817,7 @@ ENCODING 23274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 F660 @@ -215193,7 +254835,7 @@ ENCODING 23275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -215211,7 +254853,7 @@ ENCODING 23276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F800 @@ -215229,7 +254871,7 @@ ENCODING 23277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 4100 FFE0 @@ -215247,7 +254889,7 @@ ENCODING 23278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 FFE0 @@ -215265,7 +254907,7 @@ ENCODING 23279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 11E0 @@ -215283,7 +254925,7 @@ ENCODING 23280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2F40 2440 @@ -215301,7 +254943,7 @@ ENCODING 23281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -215319,7 +254961,7 @@ ENCODING 23282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2800 @@ -215337,7 +254979,7 @@ ENCODING 23283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FDE0 A740 @@ -215355,7 +254997,7 @@ ENCODING 23284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -215373,7 +255015,7 @@ ENCODING 23285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 FD40 @@ -215391,7 +255033,7 @@ ENCODING 23286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 47E0 F480 @@ -215409,7 +255051,7 @@ ENCODING 23287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4A80 FBE0 @@ -215427,7 +255069,7 @@ ENCODING 23288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -215445,7 +255087,7 @@ ENCODING 23289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47C0 F280 @@ -215463,7 +255105,7 @@ ENCODING 23290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FEE0 @@ -215481,7 +255123,7 @@ ENCODING 23291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FEE0 @@ -215499,7 +255141,7 @@ ENCODING 23292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2D60 @@ -215517,7 +255159,7 @@ ENCODING 23293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FAA0 @@ -215535,7 +255177,7 @@ ENCODING 23294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FFE0 @@ -215553,7 +255195,7 @@ ENCODING 23295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 FFE0 @@ -215571,7 +255213,7 @@ ENCODING 23296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2E40 2540 @@ -215589,7 +255231,7 @@ ENCODING 23297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EA0 2B40 F480 @@ -215607,7 +255249,7 @@ ENCODING 23298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 EAA0 @@ -215625,7 +255267,7 @@ ENCODING 23299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 D440 27C0 @@ -215643,7 +255285,7 @@ ENCODING 23300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -215661,7 +255303,7 @@ ENCODING 23301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 F280 @@ -215679,7 +255321,7 @@ ENCODING 23302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2C60 @@ -215697,7 +255339,7 @@ ENCODING 23303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F540 @@ -215715,7 +255357,7 @@ ENCODING 23304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -215733,7 +255375,7 @@ ENCODING 23305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -215751,7 +255393,7 @@ ENCODING 23306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -215769,7 +255411,7 @@ ENCODING 23307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FFE0 @@ -215787,7 +255429,7 @@ ENCODING 23308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -215805,7 +255447,7 @@ ENCODING 23309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5540 5F40 @@ -215823,7 +255465,7 @@ ENCODING 23310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 4EC0 4540 @@ -215841,7 +255483,7 @@ ENCODING 23311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4920 F540 @@ -215859,7 +255501,7 @@ ENCODING 23312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4440 FBA0 @@ -215877,7 +255519,7 @@ ENCODING 23313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -215895,7 +255537,7 @@ ENCODING 23314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 4440 @@ -215913,7 +255555,7 @@ ENCODING 23315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4E80 FAE0 @@ -215931,7 +255573,7 @@ ENCODING 23316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 4B40 FFE0 @@ -215949,7 +255591,7 @@ ENCODING 23317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -215967,7 +255609,7 @@ ENCODING 23318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 4940 @@ -215985,7 +255627,7 @@ ENCODING 23319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F820 @@ -216003,7 +255645,7 @@ ENCODING 23320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4940 4BE0 @@ -216021,7 +255663,7 @@ ENCODING 23321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F540 @@ -216039,7 +255681,7 @@ ENCODING 23322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FA80 @@ -216057,7 +255699,7 @@ ENCODING 23323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -216075,7 +255717,7 @@ ENCODING 23324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 29E0 @@ -216093,7 +255735,7 @@ ENCODING 23325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FC0 F840 @@ -216111,7 +255753,7 @@ ENCODING 23326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFC0 @@ -216129,7 +255771,7 @@ ENCODING 23327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2100 @@ -216147,7 +255789,7 @@ ENCODING 23328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4280 F380 @@ -216165,7 +255807,7 @@ ENCODING 23329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FFE0 @@ -216183,7 +255825,7 @@ ENCODING 23330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -216201,7 +255843,7 @@ ENCODING 23331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F2A0 @@ -216219,7 +255861,7 @@ ENCODING 23332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 EA40 @@ -216237,7 +255879,7 @@ ENCODING 23333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 E660 @@ -216255,7 +255897,7 @@ ENCODING 23334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F100 @@ -216273,7 +255915,7 @@ ENCODING 23335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FC0 F240 @@ -216291,7 +255933,7 @@ ENCODING 23336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FE0 E440 @@ -216309,7 +255951,7 @@ ENCODING 23337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4F40 4A40 @@ -216327,7 +255969,7 @@ ENCODING 23338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F820 @@ -216345,7 +255987,7 @@ ENCODING 23339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2B60 2A40 @@ -216363,7 +256005,7 @@ ENCODING 23340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 EFE0 @@ -216381,7 +256023,7 @@ ENCODING 23341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4540 F920 @@ -216399,7 +256041,7 @@ ENCODING 23342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54C0 5CA0 @@ -216417,7 +256059,7 @@ ENCODING 23343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E100 @@ -216435,7 +256077,7 @@ ENCODING 23344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -216453,7 +256095,7 @@ ENCODING 23345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3F00 95E0 @@ -216471,7 +256113,7 @@ ENCODING 23346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 FBE0 @@ -216489,7 +256131,7 @@ ENCODING 23347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -216507,7 +256149,7 @@ ENCODING 23348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4000 @@ -216525,7 +256167,7 @@ ENCODING 23349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4680 6500 4BE0 @@ -216543,7 +256185,7 @@ ENCODING 23350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 F340 @@ -216561,7 +256203,7 @@ ENCODING 23351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FA40 @@ -216579,7 +256221,7 @@ ENCODING 23352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FB20 @@ -216597,7 +256239,7 @@ ENCODING 23353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4BA0 4AA0 @@ -216615,7 +256257,7 @@ ENCODING 23354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 2FE0 @@ -216633,7 +256275,7 @@ ENCODING 23355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -216651,7 +256293,7 @@ ENCODING 23356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FA0 56A0 FCA0 @@ -216669,7 +256311,7 @@ ENCODING 23357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 4A80 EFA0 @@ -216687,7 +256329,7 @@ ENCODING 23358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EE0 F540 @@ -216705,7 +256347,7 @@ ENCODING 23359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 E480 @@ -216723,7 +256365,7 @@ ENCODING 23360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -216741,7 +256383,7 @@ ENCODING 23361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -216759,7 +256401,7 @@ ENCODING 23362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FAA0 @@ -216777,7 +256419,7 @@ ENCODING 23363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FAA0 @@ -216795,7 +256437,7 @@ ENCODING 23364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 4EE0 @@ -216813,7 +256455,7 @@ ENCODING 23365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 4AA0 F580 @@ -216831,7 +256473,7 @@ ENCODING 23366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 4EE0 @@ -216849,7 +256491,7 @@ ENCODING 23367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 5FE0 F540 @@ -216867,7 +256509,7 @@ ENCODING 23368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4920 FFE0 @@ -216885,7 +256527,7 @@ ENCODING 23369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 5FE0 4280 @@ -216903,7 +256545,7 @@ ENCODING 23370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4A40 @@ -216921,7 +256563,7 @@ ENCODING 23371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 EDA0 @@ -216939,7 +256581,7 @@ ENCODING 23372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 9080 EEE0 @@ -216957,7 +256599,7 @@ ENCODING 23373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FFE0 @@ -216975,7 +256617,7 @@ ENCODING 23374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 FFE0 @@ -216993,7 +256635,7 @@ ENCODING 23375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 4280 @@ -217011,7 +256653,7 @@ ENCODING 23376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0100 0200 @@ -217029,7 +256671,7 @@ ENCODING 23377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0100 0600 @@ -217046,26 +256688,26 @@ STARTCHAR U_5B52 ENCODING 23378 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7F80 -0100 +BBX 9 11 1 -1 +BITMAP +FF00 0200 -0C00 -0800 -0FC0 -0800 -0800 -0800 -2800 +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 +BITMAP 7F80 0100 8200 @@ -217083,7 +256725,7 @@ ENCODING 23380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 0500 0900 @@ -217101,7 +256743,7 @@ ENCODING 23381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1100 13E0 @@ -217119,7 +256761,7 @@ ENCODING 23382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0820 1040 @@ -217137,7 +256779,7 @@ ENCODING 23383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -217155,7 +256797,7 @@ ENCODING 23384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1000 @@ -217173,7 +256815,7 @@ ENCODING 23385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 2100 @@ -217191,7 +256833,7 @@ ENCODING 23386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 7E40 4840 @@ -217209,7 +256851,7 @@ ENCODING 23387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -217227,7 +256869,7 @@ ENCODING 23388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 0BE0 @@ -217245,7 +256887,7 @@ ENCODING 23389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 3FC0 0500 @@ -217263,7 +256905,7 @@ ENCODING 23390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0200 0400 @@ -217280,26 +256922,26 @@ STARTCHAR U_5B5F ENCODING 23391 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0100 -0200 -7FE0 +BBX 10 11 1 -1 +BITMAP +7F80 0200 -0A00 0400 -3FC0 -2940 -2940 -7FE0 +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 +BITMAP 7FE0 0020 7FA0 @@ -217317,7 +256959,7 @@ ENCODING 23393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 0900 1200 @@ -217335,7 +256977,7 @@ ENCODING 23394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 0BE0 1420 @@ -217353,7 +256995,7 @@ ENCODING 23395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFE0 @@ -217371,7 +257013,7 @@ ENCODING 23396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8E0 1740 2540 @@ -217389,7 +257031,7 @@ ENCODING 23397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FA40 4980 @@ -217406,26 +257048,26 @@ STARTCHAR U_5B66 ENCODING 23398 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2440 -1280 -7FE0 -4020 -1F80 -0100 -0200 -7FE0 -0200 +BBX 10 11 1 -1 +BITMAP +4880 +2500 +FFC0 +8040 +3F00 0200 -0E00 +0400 +FFC0 +0400 +0400 +1C00 ENDCHAR STARTCHAR U_5B67 ENCODING 23399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47E0 F120 @@ -217443,7 +257085,7 @@ ENCODING 23400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 0200 FFE0 @@ -217461,7 +257103,7 @@ ENCODING 23401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 17E0 2100 @@ -217479,7 +257121,7 @@ ENCODING 23402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2A80 @@ -217497,7 +257139,7 @@ ENCODING 23403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FB00 1100 @@ -217515,7 +257157,7 @@ ENCODING 23404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0200 0EC0 @@ -217532,9 +257174,8 @@ STARTCHAR U_5B6D ENCODING 23405 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7BE0 0A20 13E0 @@ -217551,7 +257192,7 @@ ENCODING 23406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 2820 @@ -217569,7 +257210,7 @@ ENCODING 23407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5240 7940 @@ -217587,7 +257228,7 @@ ENCODING 23408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 4BC0 @@ -217605,7 +257246,7 @@ ENCODING 23409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -217623,7 +257264,7 @@ ENCODING 23410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1280 2280 @@ -217641,7 +257282,7 @@ ENCODING 23411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2940 @@ -217659,7 +257300,7 @@ ENCODING 23412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0200 FFE0 @@ -217677,7 +257318,7 @@ ENCODING 23413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 CD00 8A80 @@ -217695,7 +257336,7 @@ ENCODING 23414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2A80 @@ -217713,7 +257354,7 @@ ENCODING 23415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2540 @@ -217731,7 +257372,7 @@ ENCODING 23416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -217749,7 +257390,7 @@ ENCODING 23417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FC0 7A80 @@ -217767,7 +257408,7 @@ ENCODING 23418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1100 2FE0 @@ -217785,7 +257426,7 @@ ENCODING 23419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 17C0 2140 @@ -217803,7 +257444,7 @@ ENCODING 23420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FBC0 5280 @@ -217821,7 +257462,7 @@ ENCODING 23421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 2080 7BE0 @@ -217839,7 +257480,7 @@ ENCODING 23422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2AA0 2EE0 @@ -217857,7 +257498,7 @@ ENCODING 23423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FA0 A0C0 4E40 @@ -217874,44 +257515,38 @@ STARTCHAR U_5B80 ENCODING 23424 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 5 0 5 +BITMAP 0400 0200 7FE0 4040 8080 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_5B81 ENCODING 23425 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -4020 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8040 0000 -7FE0 -0200 -0200 -0200 -0200 -0200 -0E00 +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 +BITMAP 0800 0400 7FE0 @@ -217929,7 +257564,7 @@ ENCODING 23427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -217947,7 +257582,7 @@ ENCODING 23428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -217965,7 +257600,7 @@ ENCODING 23429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -217983,7 +257618,7 @@ ENCODING 23430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FE0 4040 @@ -218001,7 +257636,7 @@ ENCODING 23431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218019,7 +257654,7 @@ ENCODING 23432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -218037,7 +257672,7 @@ ENCODING 23433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218055,7 +257690,7 @@ ENCODING 23434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218073,7 +257708,7 @@ ENCODING 23435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218091,7 +257726,7 @@ ENCODING 23436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218109,7 +257744,7 @@ ENCODING 23437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218127,7 +257762,7 @@ ENCODING 23438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218145,7 +257780,7 @@ ENCODING 23439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4420 @@ -218163,7 +257798,7 @@ ENCODING 23440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218181,7 +257816,7 @@ ENCODING 23441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218199,7 +257834,7 @@ ENCODING 23442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218217,7 +257852,7 @@ ENCODING 23443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -218235,7 +257870,7 @@ ENCODING 23444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218253,7 +257888,7 @@ ENCODING 23445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218271,7 +257906,7 @@ ENCODING 23446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218289,7 +257924,7 @@ ENCODING 23447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4020 @@ -218307,7 +257942,7 @@ ENCODING 23448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218325,7 +257960,7 @@ ENCODING 23449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4440 @@ -218343,7 +257978,7 @@ ENCODING 23450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218361,7 +257996,7 @@ ENCODING 23451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218379,7 +258014,7 @@ ENCODING 23452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -218397,7 +258032,7 @@ ENCODING 23453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -218415,7 +258050,7 @@ ENCODING 23454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5020 @@ -218433,7 +258068,7 @@ ENCODING 23455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218451,7 +258086,7 @@ ENCODING 23456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8A20 @@ -218469,7 +258104,7 @@ ENCODING 23457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218486,26 +258121,26 @@ STARTCHAR U_5BA2 ENCODING 23458 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4820 -1F80 -2900 -4600 -1980 -7FE0 -1080 -1080 -1F80 +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 +BITMAP 0400 FFE0 8020 @@ -218523,7 +258158,7 @@ ENCODING 23460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218541,7 +258176,7 @@ ENCODING 23461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -218559,7 +258194,7 @@ ENCODING 23462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4040 @@ -218577,7 +258212,7 @@ ENCODING 23463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218595,7 +258230,7 @@ ENCODING 23464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8A20 @@ -218613,7 +258248,7 @@ ENCODING 23465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218630,44 +258265,44 @@ STARTCHAR U_5BAA ENCODING 23466 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -4020 +BBX 10 11 1 -1 +BITMAP +0400 +FFC0 +8040 +2400 +3F00 +4400 +FFC0 1200 -1F80 -2200 -7FE0 -0900 -0900 -1120 -60E0 +1200 +2240 +C1C0 ENDCHAR STARTCHAR U_5BAB ENCODING 23467 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4020 -1F80 -1080 -1F80 +BBX 10 11 1 -1 +BITMAP +0800 +FFC0 +8040 +3F00 +2100 +3F00 0000 -3FC0 -2040 -3FC0 -2040 +7F80 +4080 +7F80 +4080 ENDCHAR STARTCHAR U_5BAC ENCODING 23468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 42A0 @@ -218685,7 +258320,7 @@ ENCODING 23469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218703,7 +258338,7 @@ ENCODING 23470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4040 @@ -218721,7 +258356,7 @@ ENCODING 23471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218739,7 +258374,7 @@ ENCODING 23472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218757,7 +258392,7 @@ ENCODING 23473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -218775,7 +258410,7 @@ ENCODING 23474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4040 @@ -218793,7 +258428,7 @@ ENCODING 23475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -218810,26 +258445,26 @@ STARTCHAR U_5BB4 ENCODING 23476 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -50A0 -5FA0 -1080 -1F80 -0400 -7FE0 -1100 -0F00 -78E0 +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 +BITMAP 0400 FFE0 A4A0 @@ -218847,7 +258482,7 @@ ENCODING 23478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218865,7 +258500,7 @@ ENCODING 23479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 81A0 @@ -218883,7 +258518,7 @@ ENCODING 23480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218901,7 +258536,7 @@ ENCODING 23481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -218919,7 +258554,7 @@ ENCODING 23482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218937,7 +258572,7 @@ ENCODING 23483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218955,7 +258590,7 @@ ENCODING 23484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -218973,7 +258608,7 @@ ENCODING 23485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -218991,7 +258626,7 @@ ENCODING 23486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 80A0 @@ -219009,7 +258644,7 @@ ENCODING 23487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9020 @@ -219027,7 +258662,7 @@ ENCODING 23488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 80A0 @@ -219044,26 +258679,26 @@ STARTCHAR U_5BC1 ENCODING 23489 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4220 -3FC0 -0280 -7FE0 -0280 -1FC0 -1200 -2A00 -47E0 +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 +BITMAP 0400 FFE0 9020 @@ -219081,7 +258716,7 @@ ENCODING 23491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5020 @@ -219099,7 +258734,7 @@ ENCODING 23492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -219117,7 +258752,7 @@ ENCODING 23493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219135,7 +258770,7 @@ ENCODING 23494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 88A0 @@ -219153,7 +258788,7 @@ ENCODING 23495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8120 @@ -219171,7 +258806,7 @@ ENCODING 23496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -219189,7 +258824,7 @@ ENCODING 23497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 9220 @@ -219207,7 +258842,7 @@ ENCODING 23498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -219225,7 +258860,7 @@ ENCODING 23499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -219243,7 +258878,7 @@ ENCODING 23500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219261,7 +258896,7 @@ ENCODING 23501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 94A0 @@ -219279,7 +258914,7 @@ ENCODING 23502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 8020 @@ -219297,7 +258932,7 @@ ENCODING 23503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -219315,7 +258950,7 @@ ENCODING 23504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -219333,7 +258968,7 @@ ENCODING 23505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 8020 @@ -219351,7 +258986,7 @@ ENCODING 23506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -219369,7 +259004,7 @@ ENCODING 23507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219387,7 +259022,7 @@ ENCODING 23508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -219405,7 +259040,7 @@ ENCODING 23509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219423,7 +259058,7 @@ ENCODING 23510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 80A0 @@ -219441,7 +259076,7 @@ ENCODING 23511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9220 @@ -219458,26 +259093,26 @@ STARTCHAR U_5BD8 ENCODING 23512 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4420 -3FC0 -1080 -1E80 -1780 -1080 -7FE0 -0900 -70E0 +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 +BITMAP 0400 FFE0 8020 @@ -219495,7 +259130,7 @@ ENCODING 23514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219513,7 +259148,7 @@ ENCODING 23515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -219531,7 +259166,7 @@ ENCODING 23516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4440 @@ -219549,7 +259184,7 @@ ENCODING 23517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219567,7 +259202,7 @@ ENCODING 23518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -219585,7 +259220,7 @@ ENCODING 23519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A220 @@ -219603,7 +259238,7 @@ ENCODING 23520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -219620,26 +259255,26 @@ STARTCHAR U_5BE1 ENCODING 23521 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4420 -1F80 -1080 -1F80 -1080 -7FE0 -2540 -4920 -3300 +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 +BITMAP 0400 FFE0 90A0 @@ -219657,7 +259292,7 @@ ENCODING 23523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -219675,7 +259310,7 @@ ENCODING 23524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219693,7 +259328,7 @@ ENCODING 23525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 AAA0 @@ -219711,7 +259346,7 @@ ENCODING 23526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9520 @@ -219729,7 +259364,7 @@ ENCODING 23527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 8420 @@ -219747,7 +259382,7 @@ ENCODING 23528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -219765,7 +259400,7 @@ ENCODING 23529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -219783,7 +259418,7 @@ ENCODING 23530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A8A0 @@ -219801,7 +259436,7 @@ ENCODING 23531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -219819,7 +259454,7 @@ ENCODING 23532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -219837,7 +259472,7 @@ ENCODING 23533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4440 @@ -219855,7 +259490,7 @@ ENCODING 23534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -219873,7 +259508,7 @@ ENCODING 23535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A220 @@ -219891,7 +259526,7 @@ ENCODING 23536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -219909,7 +259544,7 @@ ENCODING 23537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8120 @@ -219927,7 +259562,7 @@ ENCODING 23538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A820 @@ -219945,7 +259580,7 @@ ENCODING 23539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8220 @@ -219963,7 +259598,7 @@ ENCODING 23540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 9020 @@ -219981,7 +259616,7 @@ ENCODING 23541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 93A0 @@ -219999,7 +259634,7 @@ ENCODING 23542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A520 @@ -220017,7 +259652,7 @@ ENCODING 23543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9520 @@ -220034,26 +259669,26 @@ STARTCHAR U_5BF8 ENCODING 23544 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0100 -0100 -0100 -7FE0 -0100 -1100 -0900 -0100 -0100 -0100 -0700 +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 +BITMAP 0080 F080 1FE0 @@ -220071,7 +259706,7 @@ ENCODING 23546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -220089,7 +259724,7 @@ ENCODING 23547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0080 3F80 @@ -220107,7 +259742,7 @@ ENCODING 23548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3FA0 @@ -220125,7 +259760,7 @@ ENCODING 23549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 4840 @@ -220143,7 +259778,7 @@ ENCODING 23550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2040 FBE0 @@ -220161,7 +259796,7 @@ ENCODING 23551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0400 @@ -220179,7 +259814,7 @@ ENCODING 23552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 FC40 83E0 @@ -220197,7 +259832,7 @@ ENCODING 23553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 7C40 1040 @@ -220215,7 +259850,7 @@ ENCODING 23554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -220232,26 +259867,26 @@ STARTCHAR U_5C03 ENCODING 23555 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0480 -7FE0 -2440 -3FC0 -2440 -3FC0 -2440 -2080 -7FE0 -2080 -1380 +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 +BITMAP 2040 7C40 4440 @@ -220269,7 +259904,7 @@ ENCODING 23557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 7C40 13E0 @@ -220287,7 +259922,7 @@ ENCODING 23558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 A480 @@ -220305,7 +259940,7 @@ ENCODING 23559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 53E0 5540 @@ -220323,7 +259958,7 @@ ENCODING 23560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -220341,7 +259976,7 @@ ENCODING 23561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E40 4240 7E40 @@ -220359,7 +259994,7 @@ ENCODING 23562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0A00 @@ -220377,7 +260012,7 @@ ENCODING 23563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0080 3F80 @@ -220395,7 +260030,7 @@ ENCODING 23564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FC40 2040 @@ -220413,7 +260048,7 @@ ENCODING 23565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 AA40 6C40 @@ -220431,7 +260066,7 @@ ENCODING 23566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 0840 @@ -220449,7 +260084,7 @@ ENCODING 23567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -220467,7 +260102,7 @@ ENCODING 23568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 2480 @@ -220485,7 +260120,7 @@ ENCODING 23569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 1480 @@ -220503,7 +260138,7 @@ ENCODING 23570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -220521,7 +260156,7 @@ ENCODING 23571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 3FE0 @@ -220536,28 +260171,28 @@ BITMAP ENDCHAR STARTCHAR U_5C14 ENCODING 23572 -SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1FE0 -2020 -4240 -0200 -1280 -1240 -2240 -2220 -4220 -0E00 +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 +BITMAP FF80 1100 13E0 @@ -220575,7 +260210,7 @@ ENCODING 23574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1500 2480 @@ -220593,7 +260228,7 @@ ENCODING 23575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0780 0400 @@ -220611,7 +260246,7 @@ ENCODING 23576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 2480 @@ -220629,7 +260264,7 @@ ENCODING 23577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 4440 @@ -220647,7 +260282,7 @@ ENCODING 23578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2480 1500 @@ -220665,7 +260300,7 @@ ENCODING 23579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1500 2480 @@ -220683,7 +260318,7 @@ ENCODING 23580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 4440 @@ -220701,7 +260336,7 @@ ENCODING 23581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2480 0400 @@ -220719,7 +260354,7 @@ ENCODING 23582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2A80 @@ -220737,7 +260372,7 @@ ENCODING 23583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4480 7DC0 @@ -220755,7 +260390,7 @@ ENCODING 23584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 FC80 4880 @@ -220773,7 +260408,7 @@ ENCODING 23585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 AA20 73E0 @@ -220791,7 +260426,7 @@ ENCODING 23586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 0800 @@ -220809,7 +260444,7 @@ ENCODING 23587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1200 2100 @@ -220827,7 +260462,7 @@ ENCODING 23588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0880 0800 @@ -220845,7 +260480,7 @@ ENCODING 23589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC40 @@ -220863,7 +260498,7 @@ ENCODING 23590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2500 43C0 @@ -220881,7 +260516,7 @@ ENCODING 23591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FD00 0A40 @@ -220899,7 +260534,7 @@ ENCODING 23592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 0840 FFE0 @@ -220917,7 +260552,7 @@ ENCODING 23593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 27C0 4500 @@ -220935,7 +260570,7 @@ ENCODING 23594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 F900 @@ -220953,7 +260588,7 @@ ENCODING 23595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 57C0 5100 @@ -220971,7 +260606,7 @@ ENCODING 23596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 4240 FC20 @@ -220989,7 +260624,7 @@ ENCODING 23597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -221007,7 +260642,7 @@ ENCODING 23598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 4480 FCC0 @@ -221025,7 +260660,7 @@ ENCODING 23599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4480 FFE0 @@ -221043,7 +260678,7 @@ ENCODING 23600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 FFE0 @@ -221061,7 +260696,7 @@ ENCODING 23601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD40 0120 @@ -221079,7 +260714,7 @@ ENCODING 23602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5FC0 4500 @@ -221097,7 +260732,7 @@ ENCODING 23603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2640 F540 @@ -221115,7 +260750,7 @@ ENCODING 23604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4AE0 FB80 @@ -221133,7 +260768,7 @@ ENCODING 23605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F540 @@ -221151,7 +260786,7 @@ ENCODING 23606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 5560 57C0 @@ -221169,7 +260804,7 @@ ENCODING 23607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 4AE0 FF00 @@ -221187,7 +260822,7 @@ ENCODING 23608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 2020 @@ -221204,26 +260839,26 @@ STARTCHAR U_5C39 ENCODING 23609 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0440 -0440 -7FE0 -0440 -0440 -3FC0 -0840 -1000 +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 +BITMAP 3FC0 2040 2040 @@ -221241,7 +260876,7 @@ ENCODING 23611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 2040 @@ -221259,7 +260894,7 @@ ENCODING 23612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 2040 @@ -221277,7 +260912,7 @@ ENCODING 23613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -221295,7 +260930,7 @@ ENCODING 23614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221313,7 +260948,7 @@ ENCODING 23615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221331,7 +260966,7 @@ ENCODING 23616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221349,7 +260984,7 @@ ENCODING 23617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221367,7 +261002,7 @@ ENCODING 23618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221385,7 +261020,7 @@ ENCODING 23619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -221403,7 +261038,7 @@ ENCODING 23620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221421,7 +261056,7 @@ ENCODING 23621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221439,7 +261074,7 @@ ENCODING 23622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221457,7 +261092,7 @@ ENCODING 23623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221475,7 +261110,7 @@ ENCODING 23624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221493,7 +261128,7 @@ ENCODING 23625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221511,7 +261146,7 @@ ENCODING 23626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221529,7 +261164,7 @@ ENCODING 23627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -221547,7 +261182,7 @@ ENCODING 23628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221565,7 +261200,7 @@ ENCODING 23629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221583,7 +261218,7 @@ ENCODING 23630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221601,7 +261236,7 @@ ENCODING 23631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221619,7 +261254,7 @@ ENCODING 23632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221637,7 +261272,7 @@ ENCODING 23633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221655,7 +261290,7 @@ ENCODING 23634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221673,7 +261308,7 @@ ENCODING 23635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221691,7 +261326,7 @@ ENCODING 23636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 7420 4420 @@ -221709,7 +261344,7 @@ ENCODING 23637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -221727,7 +261362,7 @@ ENCODING 23638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221745,7 +261380,7 @@ ENCODING 23639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 4440 7FE0 @@ -221763,7 +261398,7 @@ ENCODING 23640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4440 7C80 @@ -221781,7 +261416,7 @@ ENCODING 23641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221799,7 +261434,7 @@ ENCODING 23642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221817,7 +261452,7 @@ ENCODING 23643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -221835,7 +261470,7 @@ ENCODING 23644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221853,7 +261488,7 @@ ENCODING 23645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221871,7 +261506,7 @@ ENCODING 23646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -221889,7 +261524,7 @@ ENCODING 23647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -221907,7 +261542,7 @@ ENCODING 23648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221925,7 +261560,7 @@ ENCODING 23649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221943,7 +261578,7 @@ ENCODING 23650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221961,7 +261596,7 @@ ENCODING 23651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -221979,7 +261614,7 @@ ENCODING 23652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -221997,7 +261632,7 @@ ENCODING 23653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -222015,7 +261650,7 @@ ENCODING 23654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -222033,7 +261668,7 @@ ENCODING 23655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -222051,7 +261686,7 @@ ENCODING 23656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -222069,7 +261704,7 @@ ENCODING 23657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 FFE0 @@ -222087,7 +261722,7 @@ ENCODING 23658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -222105,7 +261740,7 @@ ENCODING 23659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -222123,7 +261758,7 @@ ENCODING 23660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2020 3FE0 @@ -222141,7 +261776,7 @@ ENCODING 23661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -222158,26 +261793,26 @@ STARTCHAR U_5C6E ENCODING 23662 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -4440 -4440 -4440 -7FC0 -4440 -0400 -0400 -0400 -0400 +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 +BITMAP 0400 0400 FFE0 @@ -222195,7 +261830,7 @@ ENCODING 23664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1200 FFE0 @@ -222212,27 +261847,26 @@ STARTCHAR U_5C71 ENCODING 23665 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -4440 -4440 -4440 -4440 -4440 -4440 -4440 -7FC0 -4040 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 03E0 FC00 0400 @@ -222249,7 +261883,7 @@ ENCODING 23667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 0400 0A00 @@ -222266,26 +261900,26 @@ STARTCHAR U_5C74 ENCODING 23668 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -2220 -2220 -3FE0 -0200 +BBX 10 11 1 -1 +BITMAP +0400 +4440 +4440 7FC0 -0440 -0440 -0840 -1240 -6180 +0400 +FF80 +0880 +0880 +1080 +2480 +C300 ENDCHAR STARTCHAR U_5C75 ENCODING 23669 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 4440 4440 @@ -222302,8 +261936,8 @@ STARTCHAR U_5C76 ENCODING 23670 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 4440 4440 @@ -222321,7 +261955,7 @@ ENCODING 23671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 AA80 @@ -222339,7 +261973,7 @@ ENCODING 23672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 A900 @@ -222357,7 +261991,7 @@ ENCODING 23673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 AA00 @@ -222375,7 +262009,7 @@ ENCODING 23674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2020 A820 @@ -222393,7 +262027,7 @@ ENCODING 23675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 A920 @@ -222411,7 +262045,7 @@ ENCODING 23676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AA80 @@ -222429,7 +262063,7 @@ ENCODING 23677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2100 @@ -222447,7 +262081,7 @@ ENCODING 23678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 AAA0 @@ -222465,7 +262099,7 @@ ENCODING 23679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2200 23E0 @@ -222483,7 +262117,7 @@ ENCODING 23680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 4440 @@ -222500,8 +262134,8 @@ STARTCHAR U_5C81 ENCODING 23681 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4440 4440 7FC0 @@ -222518,26 +262152,26 @@ STARTCHAR U_5C82 ENCODING 23682 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -4440 -7FC0 +BBX 10 11 1 -1 +BITMAP +8880 +8880 +FF80 0000 -7F80 -0080 -7F80 -4000 -4020 -4020 -3FE0 +FF00 +0100 +FF00 +8000 +8040 +8040 +7FC0 ENDCHAR STARTCHAR U_5C83 ENCODING 23683 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 4440 4440 @@ -222555,7 +262189,7 @@ ENCODING 23684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 AA20 @@ -222573,7 +262207,7 @@ ENCODING 23685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2200 @@ -222591,7 +262225,7 @@ ENCODING 23686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2380 A880 @@ -222608,26 +262242,26 @@ STARTCHAR U_5C87 ENCODING 23687 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -4440 -7FC0 +BBX 9 11 1 -1 +BITMAP +0800 +8880 +FF80 0000 -1BC0 -6240 -4240 -5340 -6280 -0200 -0200 +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 +BITMAP 27E0 2280 AA80 @@ -222645,7 +262279,7 @@ ENCODING 23689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 AFE0 @@ -222662,26 +262296,26 @@ STARTCHAR U_5C8A ENCODING 23690 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4440 -7FC0 -4020 -4020 -3FE0 -0400 -4440 -4440 +BBX 10 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8040 +8040 7FC0 -4040 +0800 +8880 +8880 +FF80 +8080 ENDCHAR STARTCHAR U_5C8B ENCODING 23691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 AA40 @@ -222698,26 +262332,26 @@ STARTCHAR U_5C8C ENCODING 23692 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4420 -4420 -7FE0 +BBX 10 11 1 -1 +BITMAP +8840 +8840 +FFC0 0000 -7FC0 -0880 -09C0 -0C80 -1300 -2480 -5860 +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 +BITMAP 27E0 2240 AA40 @@ -222735,7 +262369,7 @@ ENCODING 23694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 AA80 @@ -222753,7 +262387,7 @@ ENCODING 23695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2000 A800 @@ -222771,7 +262405,7 @@ ENCODING 23696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A900 @@ -222789,7 +262423,7 @@ ENCODING 23697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -222807,7 +262441,7 @@ ENCODING 23698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 AC60 @@ -222825,7 +262459,7 @@ ENCODING 23699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2380 AA00 @@ -222843,7 +262477,7 @@ ENCODING 23700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2100 4080 @@ -222861,7 +262495,7 @@ ENCODING 23701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -222879,7 +262513,7 @@ ENCODING 23702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 AB20 @@ -222896,26 +262530,26 @@ STARTCHAR U_5C97 ENCODING 23703 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -4440 -7FC0 +BBX 9 11 1 -1 +BITMAP +8880 +8880 +FF80 0000 -7FC0 -5140 -4A40 -4640 -4940 -5040 -40C0 +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 +BITMAP 23E0 2220 AAA0 @@ -222933,7 +262567,7 @@ ENCODING 23705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 0400 @@ -222951,7 +262585,7 @@ ENCODING 23706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -222968,8 +262602,8 @@ STARTCHAR U_5C9B ENCODING 23707 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0800 7F00 5100 @@ -222986,44 +262620,44 @@ STARTCHAR U_5C9C ENCODING 23708 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2220 -2220 -3FE0 +BBX 9 11 2 -1 +BITMAP +8880 +8880 +FF80 0000 -3FC0 -2240 -3FC0 -2040 -2020 -2020 -1FE0 +FF00 +8900 +FF00 +8100 +8080 +8080 +7F80 ENDCHAR STARTCHAR U_5C9D ENCODING 23709 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2220 -2220 -3FE0 +BBX 10 11 1 -1 +BITMAP +4440 +4440 +7FC0 +1000 +3FC0 +4800 +8F80 +0800 +0FC0 +0800 0800 -1FE0 -2400 -47C0 -0400 -07E0 -0400 -0400 ENDCHAR STARTCHAR U_5C9E ENCODING 23710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2100 23E0 @@ -223041,7 +262675,7 @@ ENCODING 23711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFC0 @@ -223059,7 +262693,7 @@ ENCODING 23712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 AA00 @@ -223077,7 +262711,7 @@ ENCODING 23713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 9120 @@ -223095,7 +262729,7 @@ ENCODING 23714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 4220 7FE0 @@ -223113,7 +262747,7 @@ ENCODING 23715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 ABE0 @@ -223131,7 +262765,7 @@ ENCODING 23716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 AFE0 @@ -223149,7 +262783,7 @@ ENCODING 23717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 AAA0 @@ -223167,7 +262801,7 @@ ENCODING 23718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -223184,26 +262818,26 @@ STARTCHAR U_5CA7 ENCODING 23719 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2220 -3FE0 +BBX 10 11 1 -1 +BITMAP +4440 +7FC0 0000 -7FE0 -0420 -1940 -6080 -1FC0 -1040 -1FC0 -1040 +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 +BITMAP 23C0 2240 AA40 @@ -223220,44 +262854,44 @@ STARTCHAR U_5CA9 ENCODING 23721 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4420 -4420 -7FE0 +BBX 10 11 1 -1 +BITMAP +8840 +8840 +FFC0 0000 -7FE0 -0800 -1FC0 -3040 -5040 -1FC0 -1040 +FFC0 +1000 +3F80 +6080 +A080 +3F80 +2080 ENDCHAR STARTCHAR U_5CAA ENCODING 23722 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4220 -7FE0 -0900 -7FE0 -0920 -7FE0 -4900 -7FE0 -0920 -1120 -6140 +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 +BITMAP 2080 2080 ABE0 @@ -223275,7 +262909,7 @@ ENCODING 23724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 AAA0 @@ -223293,7 +262927,7 @@ ENCODING 23725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 AA40 @@ -223311,7 +262945,7 @@ ENCODING 23726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 AFE0 @@ -223329,7 +262963,7 @@ ENCODING 23727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 A900 @@ -223347,7 +262981,7 @@ ENCODING 23728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 ADE0 @@ -223365,7 +262999,7 @@ ENCODING 23729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 2440 3FE0 @@ -223383,7 +263017,7 @@ ENCODING 23730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 2220 2220 @@ -223401,7 +263035,7 @@ ENCODING 23731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 2000 @@ -223419,7 +263053,7 @@ ENCODING 23732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 2200 2200 @@ -223437,7 +263071,7 @@ ENCODING 23733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 ABE0 @@ -223455,7 +263089,7 @@ ENCODING 23734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2100 ABE0 @@ -223473,7 +263107,7 @@ ENCODING 23735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 AA20 @@ -223491,7 +263125,7 @@ ENCODING 23736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -223509,7 +263143,7 @@ ENCODING 23737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 2120 2120 @@ -223527,7 +263161,7 @@ ENCODING 23738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -223545,7 +263179,7 @@ ENCODING 23739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 2380 2280 @@ -223563,7 +263197,7 @@ ENCODING 23740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 2100 2120 @@ -223581,7 +263215,7 @@ ENCODING 23741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -223599,7 +263233,7 @@ ENCODING 23742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 2080 2080 @@ -223617,7 +263251,7 @@ ENCODING 23743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -223634,44 +263268,44 @@ STARTCHAR U_5CC0 ENCODING 23744 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -4440 -7FC0 -0400 -7FC0 -4440 -4440 -7FC0 -4440 -4440 -7FC0 +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 11 11 0 -1 -BITMAP -4220 -4220 -7FE0 -0400 -39E0 -2120 -2520 -2D20 -7560 -0900 -7100 +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 +BITMAP 0200 23C0 2440 @@ -223689,7 +263323,7 @@ ENCODING 23747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 24C0 1500 @@ -223707,7 +263341,7 @@ ENCODING 23748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 AA80 @@ -223725,7 +263359,7 @@ ENCODING 23749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2100 2240 @@ -223743,7 +263377,7 @@ ENCODING 23750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 AC40 @@ -223761,7 +263395,7 @@ ENCODING 23751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7FE0 0A00 @@ -223779,7 +263413,7 @@ ENCODING 23752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 AE40 @@ -223797,7 +263431,7 @@ ENCODING 23753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1000 @@ -223814,26 +263448,26 @@ STARTCHAR U_5CCA ENCODING 23754 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2000 -3FC0 -2040 -3FC0 -4220 -4220 -7FE0 +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 +BITMAP 2200 23E0 AC20 @@ -223851,7 +263485,7 @@ ENCODING 23756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 A900 @@ -223869,7 +263503,7 @@ ENCODING 23757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 27C0 2140 @@ -223886,26 +263520,26 @@ STARTCHAR U_5CCE ENCODING 23758 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4220 -7FE0 +BBX 10 11 1 -1 +BITMAP +8440 +FFC0 0000 -3FC0 -2040 -3FC0 -2040 -3FE0 -2240 -2D80 -30E0 +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 +BITMAP 2FE0 2100 AA00 @@ -223923,7 +263557,7 @@ ENCODING 23760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A880 @@ -223941,7 +263575,7 @@ ENCODING 23761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -223959,7 +263593,7 @@ ENCODING 23762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 ABA0 @@ -223977,7 +263611,7 @@ ENCODING 23763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A900 @@ -223995,7 +263629,7 @@ ENCODING 23764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2120 AFA0 @@ -224013,7 +263647,7 @@ ENCODING 23765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -224031,7 +263665,7 @@ ENCODING 23766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 AD20 @@ -224049,7 +263683,7 @@ ENCODING 23767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 AC80 @@ -224067,7 +263701,7 @@ ENCODING 23768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 ABC0 @@ -224085,7 +263719,7 @@ ENCODING 23769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -224103,7 +263737,7 @@ ENCODING 23770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -224120,26 +263754,26 @@ STARTCHAR U_5CDB ENCODING 23771 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4420 -7FE0 +BBX 10 11 1 -1 +BITMAP +8840 +FFC0 0000 -7E20 -10A0 -1EA0 -24A0 -54A0 -08A0 -1020 -6060 +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 +BITMAP 0400 4440 7FC0 @@ -224156,26 +263790,26 @@ STARTCHAR U_5CDD ENCODING 23773 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -7FC0 +BBX 9 11 1 -1 +BITMAP +8880 +FF80 0000 -7FC0 -4040 -5F40 -4040 -5F40 -5140 -5F40 -40C0 +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 +BITMAP 4440 7FC0 1000 @@ -224193,7 +263827,7 @@ ENCODING 23775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0800 @@ -224211,7 +263845,7 @@ ENCODING 23776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 21C0 2100 @@ -224229,7 +263863,7 @@ ENCODING 23777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -224247,7 +263881,7 @@ ENCODING 23778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07A0 2220 23A0 @@ -224265,7 +263899,7 @@ ENCODING 23779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 27C0 2120 @@ -224283,7 +263917,7 @@ ENCODING 23780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 A900 @@ -224301,7 +263935,7 @@ ENCODING 23781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 AC80 @@ -224319,7 +263953,7 @@ ENCODING 23782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -224337,7 +263971,7 @@ ENCODING 23783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2100 27E0 @@ -224355,7 +263989,7 @@ ENCODING 23784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 26A0 AA80 @@ -224373,7 +264007,7 @@ ENCODING 23785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -224391,7 +264025,7 @@ ENCODING 23786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2420 A980 @@ -224409,7 +264043,7 @@ ENCODING 23787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 22A0 2AA0 @@ -224427,7 +264061,7 @@ ENCODING 23788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 AFE0 @@ -224445,7 +264079,7 @@ ENCODING 23789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 21C0 A880 @@ -224463,7 +264097,7 @@ ENCODING 23790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 AFE0 @@ -224481,7 +264115,7 @@ ENCODING 23791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0800 @@ -224499,7 +264133,7 @@ ENCODING 23792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 AE40 @@ -224517,7 +264151,7 @@ ENCODING 23793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 2240 6240 @@ -224534,8 +264168,8 @@ STARTCHAR U_5CF2 ENCODING 23794 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 4440 7FC0 @@ -224552,26 +264186,26 @@ STARTCHAR U_5CF3 ENCODING 23795 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -4440 -7FC0 -1100 -13E0 -2A40 -6D40 -2940 -2880 -2140 -2620 +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 +BITMAP 27C0 2440 AFC0 @@ -224589,7 +264223,7 @@ ENCODING 23797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 27E0 2520 @@ -224606,26 +264240,26 @@ STARTCHAR U_5CF6 ENCODING 23798 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2080 -3FE0 -2000 -3FE0 -4920 -7F20 -41C0 +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 +BITMAP 4440 7FC0 0400 @@ -224643,7 +264277,7 @@ ENCODING 23800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 AFE0 @@ -224661,7 +264295,7 @@ ENCODING 23801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3180 @@ -224679,7 +264313,7 @@ ENCODING 23802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 2080 23E0 @@ -224697,7 +264331,7 @@ ENCODING 23803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 AFA0 @@ -224715,7 +264349,7 @@ ENCODING 23804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 23E0 2480 @@ -224733,7 +264367,7 @@ ENCODING 23805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -224751,7 +264385,7 @@ ENCODING 23806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 8800 @@ -224769,7 +264403,7 @@ ENCODING 23807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 AFC0 @@ -224786,26 +264420,26 @@ STARTCHAR U_5D00 ENCODING 23808 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -4440 -7FC0 -0400 -3F80 -2080 -3F80 -2080 -3F80 -2280 -39E0 +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 +BITMAP 4440 7FC0 0040 @@ -224823,7 +264457,7 @@ ENCODING 23810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -224841,7 +264475,7 @@ ENCODING 23811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AD40 @@ -224859,7 +264493,7 @@ ENCODING 23812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 22C0 @@ -224877,7 +264511,7 @@ ENCODING 23813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 21E0 AA40 @@ -224895,7 +264529,7 @@ ENCODING 23814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -224913,7 +264547,7 @@ ENCODING 23815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -224931,7 +264565,7 @@ ENCODING 23816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -224949,7 +264583,7 @@ ENCODING 23817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 AFA0 @@ -224967,7 +264601,7 @@ ENCODING 23818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 2FE0 @@ -224985,7 +264619,7 @@ ENCODING 23819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -225003,7 +264637,7 @@ ENCODING 23820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 ABE0 @@ -225021,7 +264655,7 @@ ENCODING 23821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A900 @@ -225039,7 +264673,7 @@ ENCODING 23822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AA80 @@ -225057,7 +264691,7 @@ ENCODING 23823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2280 ABE0 @@ -225075,7 +264709,7 @@ ENCODING 23824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 ABE0 @@ -225092,44 +264726,44 @@ STARTCHAR U_5D11 ENCODING 23825 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -7FC0 -2080 -3F80 -2080 -3F80 -4200 -7BC0 -4200 -5A20 -61E0 +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 11 11 0 -1 -BITMAP -4440 -4440 -7FC0 -0400 -7FE0 -1100 -2A80 -4440 -7FE0 -0400 -0400 +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 +BITMAP 2000 2FE0 A920 @@ -225147,7 +264781,7 @@ ENCODING 23828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -225165,7 +264799,7 @@ ENCODING 23829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2280 ABE0 @@ -225183,7 +264817,7 @@ ENCODING 23830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2220 3FE0 @@ -225200,26 +264834,26 @@ STARTCHAR U_5D17 ENCODING 23831 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4220 -4220 -7FE0 +BBX 10 11 1 -1 +BITMAP +8440 +8440 +FFC0 0000 -7FE0 -4920 -7FE0 -52A0 -52A0 -5FA0 -4060 +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 +BITMAP 2100 2280 2460 @@ -225237,7 +264871,7 @@ ENCODING 23833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -225255,7 +264889,7 @@ ENCODING 23834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -225273,7 +264907,7 @@ ENCODING 23835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 AFE0 @@ -225291,7 +264925,7 @@ ENCODING 23836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2080 @@ -225309,7 +264943,7 @@ ENCODING 23837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A880 @@ -225327,7 +264961,7 @@ ENCODING 23838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AA40 @@ -225345,7 +264979,7 @@ ENCODING 23839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -225363,7 +264997,7 @@ ENCODING 23840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A880 @@ -225381,7 +265015,7 @@ ENCODING 23841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 2080 @@ -225399,7 +265033,7 @@ ENCODING 23842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2520 AA40 @@ -225417,7 +265051,7 @@ ENCODING 23843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0300 @@ -225435,7 +265069,7 @@ ENCODING 23844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2180 AE60 @@ -225453,7 +265087,7 @@ ENCODING 23845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 AAA0 @@ -225471,7 +265105,7 @@ ENCODING 23846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA80 @@ -225489,7 +265123,7 @@ ENCODING 23847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 1000 @@ -225507,7 +265141,7 @@ ENCODING 23848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A940 @@ -225525,7 +265159,7 @@ ENCODING 23849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 3FE0 0000 @@ -225543,7 +265177,7 @@ ENCODING 23850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2240 @@ -225561,7 +265195,7 @@ ENCODING 23851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -225579,7 +265213,7 @@ ENCODING 23852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -225597,7 +265231,7 @@ ENCODING 23853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2020 @@ -225614,26 +265248,26 @@ STARTCHAR U_5D2E ENCODING 23854 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4220 -4220 -7FE0 +BBX 10 11 1 -1 +BITMAP +8440 +8440 +FFC0 0000 -7FE0 -4420 -7FA0 -5120 -5F20 -4020 -7FE0 +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 +BITMAP 2100 2280 2440 @@ -225651,7 +265285,7 @@ ENCODING 23856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 AAA0 @@ -225669,7 +265303,7 @@ ENCODING 23857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7FE0 0000 @@ -225687,7 +265321,7 @@ ENCODING 23858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 AA20 @@ -225705,7 +265339,7 @@ ENCODING 23859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 ABA0 @@ -225723,7 +265357,7 @@ ENCODING 23860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 0140 @@ -225741,7 +265375,7 @@ ENCODING 23861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 ABC0 @@ -225759,7 +265393,7 @@ ENCODING 23862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 FFC0 1040 @@ -225777,7 +265411,7 @@ ENCODING 23863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 AFE0 @@ -225795,7 +265429,7 @@ ENCODING 23864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 ABE0 @@ -225813,7 +265447,7 @@ ENCODING 23865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA80 @@ -225831,7 +265465,7 @@ ENCODING 23866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 2200 @@ -225849,7 +265483,7 @@ ENCODING 23867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 25E0 @@ -225867,7 +265501,7 @@ ENCODING 23868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 ABC0 @@ -225885,7 +265519,7 @@ ENCODING 23869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -225903,7 +265537,7 @@ ENCODING 23870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2280 AFE0 @@ -225921,7 +265555,7 @@ ENCODING 23871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 ABE0 @@ -225939,7 +265573,7 @@ ENCODING 23872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2100 @@ -225957,7 +265591,7 @@ ENCODING 23873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 AA40 @@ -225975,7 +265609,7 @@ ENCODING 23874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0200 @@ -225993,7 +265627,7 @@ ENCODING 23875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A280 @@ -226011,7 +265645,7 @@ ENCODING 23876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2100 @@ -226029,7 +265663,7 @@ ENCODING 23877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0140 @@ -226047,7 +265681,7 @@ ENCODING 23878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7140 2140 F7E0 @@ -226065,7 +265699,7 @@ ENCODING 23879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 E120 2FE0 @@ -226083,7 +265717,7 @@ ENCODING 23880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2520 A240 @@ -226101,7 +265735,7 @@ ENCODING 23881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A800 @@ -226119,7 +265753,7 @@ ENCODING 23882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 A900 @@ -226137,7 +265771,7 @@ ENCODING 23883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 ABE0 @@ -226155,7 +265789,7 @@ ENCODING 23884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -226173,7 +265807,7 @@ ENCODING 23885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 29E0 1140 @@ -226191,7 +265825,7 @@ ENCODING 23886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 ABE0 @@ -226209,7 +265843,7 @@ ENCODING 23887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0A00 @@ -226227,7 +265861,7 @@ ENCODING 23888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -226245,7 +265879,7 @@ ENCODING 23889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 ABC0 @@ -226262,26 +265896,26 @@ STARTCHAR U_5D52 ENCODING 23890 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1F80 +BBX 10 11 1 -1 +BITMAP +3F00 +2100 +3F00 0000 -79E0 -4920 -79E0 -0200 -4220 -4220 -7FE0 +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 +BITMAP 0400 4440 7FC0 @@ -226299,7 +265933,7 @@ ENCODING 23892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -226317,7 +265951,7 @@ ENCODING 23893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 25A0 AE60 @@ -226335,7 +265969,7 @@ ENCODING 23894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A980 @@ -226353,7 +265987,7 @@ ENCODING 23895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0100 @@ -226371,7 +266005,7 @@ ENCODING 23896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 A940 @@ -226389,7 +266023,7 @@ ENCODING 23897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7FE0 0800 @@ -226407,7 +266041,7 @@ ENCODING 23898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 4200 @@ -226425,7 +266059,7 @@ ENCODING 23899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0C00 @@ -226443,7 +266077,7 @@ ENCODING 23900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0400 @@ -226461,7 +266095,7 @@ ENCODING 23901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2340 AFE0 @@ -226479,7 +266113,7 @@ ENCODING 23902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 DF60 @@ -226497,7 +266131,7 @@ ENCODING 23903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0000 @@ -226515,7 +266149,7 @@ ENCODING 23904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 22A0 A940 @@ -226533,7 +266167,7 @@ ENCODING 23905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1100 @@ -226551,7 +266185,7 @@ ENCODING 23906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2240 ACA0 @@ -226569,7 +266203,7 @@ ENCODING 23907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 A8A0 @@ -226587,7 +266221,7 @@ ENCODING 23908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AAA0 71C0 @@ -226605,7 +266239,7 @@ ENCODING 23909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 25E0 AB40 @@ -226623,7 +266257,7 @@ ENCODING 23910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 24A0 A7E0 @@ -226641,7 +266275,7 @@ ENCODING 23911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2DE0 28A0 AAA0 @@ -226659,7 +266293,7 @@ ENCODING 23912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 AA20 @@ -226676,26 +266310,26 @@ STARTCHAR U_5D69 ENCODING 23913 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4220 -7FE0 -0200 -7FE0 -1080 -1F80 +BBX 10 11 1 -1 +BITMAP +8440 +FFC0 +0400 +FFC0 +2100 +3F00 0000 -7FE0 -4920 -4F20 -4060 +FFC0 +9240 +9E40 +80C0 ENDCHAR STARTCHAR U_5D6A ENCODING 23914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2000 @@ -226713,7 +266347,7 @@ ENCODING 23915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 AFE0 @@ -226731,7 +266365,7 @@ ENCODING 23916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0800 @@ -226749,7 +266383,7 @@ ENCODING 23917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -226767,7 +266401,7 @@ ENCODING 23918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -226785,7 +266419,7 @@ ENCODING 23919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 A900 @@ -226803,7 +266437,7 @@ ENCODING 23920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2280 @@ -226821,7 +266455,7 @@ ENCODING 23921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 AC20 @@ -226839,7 +266473,7 @@ ENCODING 23922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 AA20 @@ -226857,7 +266491,7 @@ ENCODING 23923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -226875,7 +266509,7 @@ ENCODING 23924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2380 A940 @@ -226893,7 +266527,7 @@ ENCODING 23925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0100 @@ -226911,7 +266545,7 @@ ENCODING 23926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2120 2360 @@ -226929,7 +266563,7 @@ ENCODING 23927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2940 A2A0 @@ -226947,7 +266581,7 @@ ENCODING 23928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -226965,7 +266599,7 @@ ENCODING 23929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0440 @@ -226983,7 +266617,7 @@ ENCODING 23930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 25A0 AB60 @@ -227001,7 +266635,7 @@ ENCODING 23931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 AA80 @@ -227019,7 +266653,7 @@ ENCODING 23932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 A940 @@ -227037,7 +266671,7 @@ ENCODING 23933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 A540 @@ -227055,7 +266689,7 @@ ENCODING 23934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1100 @@ -227073,7 +266707,7 @@ ENCODING 23935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0100 @@ -227091,7 +266725,7 @@ ENCODING 23936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 27E0 @@ -227109,7 +266743,7 @@ ENCODING 23937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A540 @@ -227127,7 +266761,7 @@ ENCODING 23938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2280 @@ -227145,7 +266779,7 @@ ENCODING 23939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2F80 AA80 @@ -227163,7 +266797,7 @@ ENCODING 23940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 1020 @@ -227181,7 +266815,7 @@ ENCODING 23941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 23E0 @@ -227199,7 +266833,7 @@ ENCODING 23942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2A80 AFE0 @@ -227217,7 +266851,7 @@ ENCODING 23943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 ABC0 @@ -227235,7 +266869,7 @@ ENCODING 23944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 5100 @@ -227253,7 +266887,7 @@ ENCODING 23945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0500 @@ -227271,7 +266905,7 @@ ENCODING 23946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2280 @@ -227289,7 +266923,7 @@ ENCODING 23947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23C0 AA40 @@ -227306,26 +266940,26 @@ STARTCHAR U_5D8C ENCODING 23948 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 +BBX 10 11 1 -1 +BITMAP +8880 +FF80 +1000 +7F00 +5100 +4900 7FC0 -0800 -3F80 -2880 -2480 -3FE0 -2000 -3FE0 -2A20 -5560 +4000 +7FC0 +5440 +AAC0 ENDCHAR STARTCHAR U_5D8D ENCODING 23949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 ADA0 @@ -227343,7 +266977,7 @@ ENCODING 23950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -227361,7 +266995,7 @@ ENCODING 23951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -227379,7 +267013,7 @@ ENCODING 23952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 7F80 0400 @@ -227397,7 +267031,7 @@ ENCODING 23953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 AFE0 @@ -227415,7 +267049,7 @@ ENCODING 23954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 AFE0 @@ -227433,7 +267067,7 @@ ENCODING 23955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 AD40 @@ -227451,7 +267085,7 @@ ENCODING 23956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2200 @@ -227469,7 +267103,7 @@ ENCODING 23957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 23E0 AE80 @@ -227487,7 +267121,7 @@ ENCODING 23958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2240 A7E0 @@ -227505,7 +267139,7 @@ ENCODING 23959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2760 AAC0 @@ -227523,7 +267157,7 @@ ENCODING 23960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 7F80 2240 @@ -227541,7 +267175,7 @@ ENCODING 23961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2340 AFE0 @@ -227559,7 +267193,7 @@ ENCODING 23962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -227577,7 +267211,7 @@ ENCODING 23963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AAA0 @@ -227595,7 +267229,7 @@ ENCODING 23964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 A280 @@ -227613,7 +267247,7 @@ ENCODING 23965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 25A0 AA40 @@ -227631,7 +267265,7 @@ ENCODING 23966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A500 AFE0 @@ -227649,7 +267283,7 @@ ENCODING 23967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 AA80 @@ -227667,7 +267301,7 @@ ENCODING 23968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 AFE0 @@ -227685,7 +267319,7 @@ ENCODING 23969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0000 @@ -227703,7 +267337,7 @@ ENCODING 23970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -227721,7 +267355,7 @@ ENCODING 23971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2200 @@ -227739,7 +267373,7 @@ ENCODING 23972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0400 @@ -227757,7 +267391,7 @@ ENCODING 23973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 2DC0 @@ -227775,7 +267409,7 @@ ENCODING 23974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2440 2FE0 @@ -227793,7 +267427,7 @@ ENCODING 23975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -227811,7 +267445,7 @@ ENCODING 23976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AC0 4440 7BC0 @@ -227829,7 +267463,7 @@ ENCODING 23977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AAA0 @@ -227847,7 +267481,7 @@ ENCODING 23978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2A80 @@ -227865,7 +267499,7 @@ ENCODING 23979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 2280 AFE0 @@ -227883,7 +267517,7 @@ ENCODING 23980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 A900 @@ -227901,7 +267535,7 @@ ENCODING 23981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 4100 @@ -227919,7 +267553,7 @@ ENCODING 23982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2240 AC20 @@ -227937,7 +267571,7 @@ ENCODING 23983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 4900 @@ -227955,7 +267589,7 @@ ENCODING 23984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AEA0 @@ -227973,7 +267607,7 @@ ENCODING 23985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 ABC0 @@ -227991,7 +267625,7 @@ ENCODING 23986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7FE0 1200 @@ -228009,7 +267643,7 @@ ENCODING 23987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3F80 0000 @@ -228027,7 +267661,7 @@ ENCODING 23988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 64C0 @@ -228045,7 +267679,7 @@ ENCODING 23989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -228063,7 +267697,7 @@ ENCODING 23990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 3FC0 5540 @@ -228081,7 +267715,7 @@ ENCODING 23991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7FE0 4800 @@ -228099,7 +267733,7 @@ ENCODING 23992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 AA40 @@ -228117,7 +267751,7 @@ ENCODING 23993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -228135,7 +267769,7 @@ ENCODING 23994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 2100 @@ -228153,7 +267787,7 @@ ENCODING 23995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3FC0 7980 @@ -228171,7 +267805,7 @@ ENCODING 23996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E60 2B20 AE60 @@ -228189,7 +267823,7 @@ ENCODING 23997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 3FC0 4480 @@ -228207,7 +267841,7 @@ ENCODING 23998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 23C0 @@ -228225,7 +267859,7 @@ ENCODING 23999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FE0 @@ -228243,7 +267877,7 @@ ENCODING 24000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 1180 @@ -228261,7 +267895,7 @@ ENCODING 24001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 AFE0 @@ -228279,7 +267913,7 @@ ENCODING 24002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 2440 @@ -228297,7 +267931,7 @@ ENCODING 24003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 1100 @@ -228315,7 +267949,7 @@ ENCODING 24004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 AA80 @@ -228333,7 +267967,7 @@ ENCODING 24005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 2000 @@ -228351,7 +267985,7 @@ ENCODING 24006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 AA40 @@ -228369,7 +268003,7 @@ ENCODING 24007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2440 AF60 @@ -228387,7 +268021,7 @@ ENCODING 24008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 5200 @@ -228405,7 +268039,7 @@ ENCODING 24009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -228423,7 +268057,7 @@ ENCODING 24010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -228441,7 +268075,7 @@ ENCODING 24011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 4840 @@ -228459,7 +268093,7 @@ ENCODING 24012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -228477,7 +268111,7 @@ ENCODING 24013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0900 @@ -228495,7 +268129,7 @@ ENCODING 24014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 ABE0 @@ -228513,7 +268147,7 @@ ENCODING 24015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2480 AEE0 @@ -228531,7 +268165,7 @@ ENCODING 24016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 FFC0 2000 @@ -228549,7 +268183,7 @@ ENCODING 24017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 2FE0 A240 @@ -228567,7 +268201,7 @@ ENCODING 24018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 8E80 E1C0 @@ -228585,7 +268219,7 @@ ENCODING 24019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2800 @@ -228603,7 +268237,7 @@ ENCODING 24020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 2000 @@ -228621,7 +268255,7 @@ ENCODING 24021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2480 AEA0 @@ -228639,7 +268273,7 @@ ENCODING 24022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8420 FFE0 4A40 @@ -228657,7 +268291,7 @@ ENCODING 24023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 2FE0 @@ -228675,7 +268309,7 @@ ENCODING 24024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 AA40 @@ -228693,7 +268327,7 @@ ENCODING 24025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2100 @@ -228711,7 +268345,7 @@ ENCODING 24026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3FC0 1080 @@ -228728,8 +268362,8 @@ STARTCHAR U_5DDB ENCODING 24027 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 2220 2220 4440 @@ -228740,32 +268374,31 @@ BITMAP 4440 2220 2220 -0000 ENDCHAR STARTCHAR U_5DDC ENCODING 24028 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0880 -0880 +BBX 9 11 1 -1 +BITMAP +1100 1100 2200 4400 +8800 +4400 +2200 2200 1100 +1980 1100 -0880 -0CC0 -0880 ENDCHAR STARTCHAR U_5DDD ENCODING 24029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2220 2220 @@ -228783,7 +268416,7 @@ ENCODING 24030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1220 1220 @@ -228801,7 +268434,7 @@ ENCODING 24031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -228819,7 +268452,7 @@ ENCODING 24032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 4900 @@ -228837,7 +268470,7 @@ ENCODING 24033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 22A0 2540 @@ -228855,7 +268488,7 @@ ENCODING 24034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2480 1240 @@ -228873,7 +268506,7 @@ ENCODING 24035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 7FC0 @@ -228890,27 +268523,26 @@ STARTCHAR U_5DE4 ENCODING 24036 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2480 +BBX 10 11 1 -1 +BITMAP 4900 -2480 -7F80 -5480 -4A80 -7F80 -4A80 -6C80 -4AA0 -6C40 +9200 +4900 +FF00 +A900 +9500 +FF00 +9500 +D900 +9540 +D880 ENDCHAR STARTCHAR U_5DE5 ENCODING 24037 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 9 0 0 +BITMAP 7FC0 0400 0400 @@ -228920,14 +268552,13 @@ BITMAP 0400 0400 FFE0 -0000 ENDCHAR STARTCHAR U_5DE6 ENCODING 24038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 FFE0 @@ -228945,7 +268576,7 @@ ENCODING 24039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 2100 @@ -228962,26 +268593,26 @@ STARTCHAR U_5DE8 ENCODING 24040 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4000 -4000 -7F80 -4080 -4080 -7F80 -4000 -4000 -4000 -7FE0 +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 +BITMAP 0780 FC80 2480 @@ -228998,8 +268629,8 @@ STARTCHAR U_5DEA ENCODING 24042 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 4000 7F80 @@ -229017,7 +268648,7 @@ ENCODING 24043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 2480 @@ -229035,7 +268666,7 @@ ENCODING 24044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 2480 24A0 @@ -229053,7 +268684,7 @@ ENCODING 24045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2120 @@ -229071,7 +268702,7 @@ ENCODING 24046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 0900 FFE0 @@ -229089,7 +268720,7 @@ ENCODING 24047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 17E0 2100 @@ -229107,7 +268738,7 @@ ENCODING 24048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 57E0 5500 @@ -229124,9 +268755,8 @@ STARTCHAR U_5DF1 ENCODING 24049 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FF80 0080 0080 @@ -229142,62 +268772,60 @@ STARTCHAR U_5DF2 ENCODING 24050 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7F80 -0080 -0080 -4080 -7F80 -4000 -4020 -4020 -4020 -3FE0 +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 11 11 0 -1 -BITMAP -7F80 -4080 -4080 -4080 -7F80 -4000 -4000 -4020 -4020 -4020 -3FE0 +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 11 11 0 -1 -BITMAP -0000 -7FC0 -4440 -4440 -4440 +BBX 10 10 1 -1 +BITMAP +FF80 +8880 +8880 +8880 +FF80 +8000 +8000 +8040 +8040 7FC0 -4000 -4000 -4020 -4020 -3FE0 ENDCHAR STARTCHAR U_5DF5 ENCODING 24053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 4000 @@ -229215,7 +268843,7 @@ ENCODING 24054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 4A40 4A40 @@ -229233,7 +268861,7 @@ ENCODING 24055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -229251,7 +268879,7 @@ ENCODING 24056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9240 9240 @@ -229269,7 +268897,7 @@ ENCODING 24057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 0240 7580 @@ -229287,7 +268915,7 @@ ENCODING 24058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -229305,7 +268933,7 @@ ENCODING 24059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 0D00 3F80 @@ -229322,26 +268950,26 @@ STARTCHAR U_5DFC ENCODING 24060 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4440 -7FC0 -4020 -7FE0 +BBX 10 11 1 -1 +BITMAP +FF80 +8880 +FF80 +8040 +FFC0 0000 -7A20 -4BC0 -4A00 -7A20 -01E0 +F440 +9780 +9400 +F440 +03C0 ENDCHAR STARTCHAR U_5DFD ENCODING 24061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9240 F3C0 @@ -229358,26 +268986,26 @@ STARTCHAR U_5DFE ENCODING 24062 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -4440 -4440 -4440 -4540 -4480 -0400 -0400 +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 +BITMAP 0400 FFE0 0400 @@ -229394,9 +269022,8 @@ STARTCHAR U_5E00 ENCODING 24064 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0400 @@ -229412,8 +269039,8 @@ STARTCHAR U_5E01 ENCODING 24065 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 01C0 FE00 0400 @@ -229431,7 +269058,7 @@ ENCODING 24066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -229449,7 +269076,7 @@ ENCODING 24067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 FFE0 @@ -229467,7 +269094,7 @@ ENCODING 24068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 A880 @@ -229485,7 +269112,7 @@ ENCODING 24069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 97E0 @@ -229503,7 +269130,7 @@ ENCODING 24070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FA40 @@ -229521,7 +269148,7 @@ ENCODING 24071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0440 @@ -229539,7 +269166,7 @@ ENCODING 24072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A100 A100 @@ -229557,7 +269184,7 @@ ENCODING 24073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA40 @@ -229575,7 +269202,7 @@ ENCODING 24074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 FAA0 @@ -229592,44 +269219,44 @@ STARTCHAR U_5E0B ENCODING 24075 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4400 -7FE0 -5200 -6920 -04E0 -7FC0 -4440 -4440 -45C0 -0400 +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 11 11 0 -1 -BITMAP -19C0 -0600 -39C0 +BBX 10 11 1 -1 +BITMAP +3380 +0C00 +7380 +0800 +FFC0 +1400 +3F80 +E480 +2480 +2580 0400 -7FE0 -0A00 -1FC0 -7240 -1240 -12C0 -0200 ENDCHAR STARTCHAR U_5E0D ENCODING 24077 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 7FC0 4040 @@ -229647,7 +269274,7 @@ ENCODING 24078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -229665,7 +269292,7 @@ ENCODING 24079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -229683,7 +269310,7 @@ ENCODING 24080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FA80 @@ -229701,7 +269328,7 @@ ENCODING 24081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 5240 @@ -229719,7 +269346,7 @@ ENCODING 24082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 2480 7FE0 @@ -229737,7 +269364,7 @@ ENCODING 24083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -229755,7 +269382,7 @@ ENCODING 24084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -229773,7 +269400,7 @@ ENCODING 24085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 FBE0 @@ -229791,7 +269418,7 @@ ENCODING 24086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F8E0 @@ -229809,7 +269436,7 @@ ENCODING 24087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -229827,7 +269454,7 @@ ENCODING 24088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -229845,7 +269472,7 @@ ENCODING 24089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FBC0 @@ -229863,7 +269490,7 @@ ENCODING 24090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 1F80 @@ -229880,26 +269507,26 @@ STARTCHAR U_5E1B ENCODING 24091 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 9 11 1 -1 +BITMAP +1000 +7F00 +4100 +7F00 +4100 +7F00 +0800 +FF80 +8880 +8B80 0800 -3F80 -2080 -3F80 -2080 -3F80 -0400 -7FC0 -4440 -45C0 -0400 ENDCHAR STARTCHAR U_5E1C ENCODING 24092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA20 @@ -229917,7 +269544,7 @@ ENCODING 24093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -229935,7 +269562,7 @@ ENCODING 24094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBE0 @@ -229953,7 +269580,7 @@ ENCODING 24095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2A80 @@ -229970,26 +269597,26 @@ STARTCHAR U_5E20 ENCODING 24096 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1DC0 -1040 -1DC0 -1040 -1FC0 -0200 -3FE0 -2220 -2220 -2260 -0200 +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 +BITMAP 2420 2240 F800 @@ -230007,7 +269634,7 @@ ENCODING 24098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2180 FA40 @@ -230025,7 +269652,7 @@ ENCODING 24099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2900 FFC0 @@ -230043,7 +269670,7 @@ ENCODING 24100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 4A20 @@ -230061,7 +269688,7 @@ ENCODING 24101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 97E0 @@ -230079,7 +269706,7 @@ ENCODING 24102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 2480 @@ -230097,7 +269724,7 @@ ENCODING 24103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 20E0 F880 @@ -230115,7 +269742,7 @@ ENCODING 24104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2240 2000 @@ -230133,7 +269760,7 @@ ENCODING 24105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 21C0 F880 @@ -230151,7 +269778,7 @@ ENCODING 24106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2400 @@ -230169,7 +269796,7 @@ ENCODING 24107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F100 9100 @@ -230187,7 +269814,7 @@ ENCODING 24108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1080 FFE0 @@ -230205,7 +269832,7 @@ ENCODING 24109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -230223,7 +269850,7 @@ ENCODING 24110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 1120 @@ -230241,7 +269868,7 @@ ENCODING 24111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 2480 @@ -230259,7 +269886,7 @@ ENCODING 24112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 27C0 @@ -230277,7 +269904,7 @@ ENCODING 24113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBE0 @@ -230295,7 +269922,7 @@ ENCODING 24114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2240 FF60 @@ -230313,7 +269940,7 @@ ENCODING 24115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 FBC0 @@ -230331,7 +269958,7 @@ ENCODING 24116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FA40 @@ -230349,7 +269976,7 @@ ENCODING 24117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -230367,7 +269994,7 @@ ENCODING 24118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5280 @@ -230385,7 +270012,7 @@ ENCODING 24119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 23E0 FA80 @@ -230403,7 +270030,7 @@ ENCODING 24120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7FE0 4020 @@ -230421,7 +270048,7 @@ ENCODING 24121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FA80 @@ -230439,7 +270066,7 @@ ENCODING 24122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FFE0 @@ -230457,7 +270084,7 @@ ENCODING 24123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F880 @@ -230475,7 +270102,7 @@ ENCODING 24124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -230493,7 +270120,7 @@ ENCODING 24125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FDA0 @@ -230511,7 +270138,7 @@ ENCODING 24126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 F940 @@ -230529,7 +270156,7 @@ ENCODING 24127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25C0 F840 @@ -230547,7 +270174,7 @@ ENCODING 24128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FBE0 @@ -230565,7 +270192,7 @@ ENCODING 24129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBE0 @@ -230582,26 +270209,26 @@ STARTCHAR U_5E42 ENCODING 24130 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -50A0 -5FA0 -1080 -1F80 -0800 -7FE0 -1480 -3FC0 -54A0 -1580 +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 +BITMAP 2100 23C0 F940 @@ -230619,7 +270246,7 @@ ENCODING 24132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FBE0 @@ -230637,7 +270264,7 @@ ENCODING 24133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 FBC0 @@ -230655,7 +270282,7 @@ ENCODING 24134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -230673,7 +270300,7 @@ ENCODING 24135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 7C40 13E0 @@ -230691,7 +270318,7 @@ ENCODING 24136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -230709,7 +270336,7 @@ ENCODING 24137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 2FE0 FA80 @@ -230727,7 +270354,7 @@ ENCODING 24138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2080 FFE0 @@ -230745,7 +270372,7 @@ ENCODING 24139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 FA40 AA60 @@ -230763,7 +270390,7 @@ ENCODING 24140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FBE0 @@ -230781,7 +270408,7 @@ ENCODING 24141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 FD20 @@ -230799,7 +270426,7 @@ ENCODING 24142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -230817,7 +270444,7 @@ ENCODING 24143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -230835,7 +270462,7 @@ ENCODING 24144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5FE0 5100 @@ -230853,7 +270480,7 @@ ENCODING 24145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 5540 9FE0 @@ -230871,7 +270498,7 @@ ENCODING 24146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 F940 @@ -230889,7 +270516,7 @@ ENCODING 24147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27A0 FA40 @@ -230907,7 +270534,7 @@ ENCODING 24148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -230925,7 +270552,7 @@ ENCODING 24149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 3F80 @@ -230943,7 +270570,7 @@ ENCODING 24150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -230961,7 +270588,7 @@ ENCODING 24151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2960 FFE0 @@ -230979,7 +270606,7 @@ ENCODING 24152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -230997,7 +270624,7 @@ ENCODING 24153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -231015,7 +270642,7 @@ ENCODING 24154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD20 1140 @@ -231033,7 +270660,7 @@ ENCODING 24155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA40 @@ -231051,7 +270678,7 @@ ENCODING 24156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -231069,7 +270696,7 @@ ENCODING 24157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FFE0 @@ -231087,7 +270714,7 @@ ENCODING 24158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2360 FFE0 @@ -231105,7 +270732,7 @@ ENCODING 24159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 2FA0 FA80 @@ -231123,7 +270750,7 @@ ENCODING 24160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FAA0 @@ -231141,7 +270768,7 @@ ENCODING 24161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 FFE0 @@ -231159,7 +270786,7 @@ ENCODING 24162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -231177,7 +270804,7 @@ ENCODING 24163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9300 55E0 FE20 @@ -231195,7 +270822,7 @@ ENCODING 24164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 FDE0 AD40 @@ -231213,7 +270840,7 @@ ENCODING 24165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -231231,7 +270858,7 @@ ENCODING 24166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -231249,7 +270876,7 @@ ENCODING 24167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -231267,7 +270894,7 @@ ENCODING 24168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2280 FFE0 @@ -231285,7 +270912,7 @@ ENCODING 24169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FAA0 @@ -231303,7 +270930,7 @@ ENCODING 24170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -231321,7 +270948,7 @@ ENCODING 24171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FBE0 2240 @@ -231339,7 +270966,7 @@ ENCODING 24172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -231357,7 +270984,7 @@ ENCODING 24173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -231375,7 +271002,7 @@ ENCODING 24174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -231393,7 +271020,7 @@ ENCODING 24175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FA40 @@ -231411,7 +271038,7 @@ ENCODING 24176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFC0 @@ -231429,7 +271056,7 @@ ENCODING 24177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -231447,7 +271074,7 @@ ENCODING 24178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -231465,7 +271092,7 @@ ENCODING 24179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 2480 @@ -231483,7 +271110,7 @@ ENCODING 24180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4200 @@ -231501,7 +271128,7 @@ ENCODING 24181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 1080 1080 @@ -231519,7 +271146,7 @@ ENCODING 24182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -231537,7 +271164,7 @@ ENCODING 24183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 1080 7DE0 @@ -231555,7 +271182,7 @@ ENCODING 24184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -231573,7 +271200,7 @@ ENCODING 24185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 2220 @@ -231590,26 +271217,26 @@ STARTCHAR U_5E7A ENCODING 24186 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 +BBX 10 11 1 -1 +BITMAP +0800 +0800 +0800 +1100 +2100 +7E00 0400 -0880 +0800 1080 -3F00 -0200 -0400 -0840 -13E0 -7C20 +27C0 +F840 ENDCHAR STARTCHAR U_5E7B ENCODING 24187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2020 @@ -231627,7 +271254,7 @@ ENCODING 24188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 2100 @@ -231645,7 +271272,7 @@ ENCODING 24189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 94A0 A520 @@ -231663,7 +271290,7 @@ ENCODING 24190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4500 F7C0 @@ -231681,7 +271308,7 @@ ENCODING 24191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -231699,7 +271326,7 @@ ENCODING 24192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -231717,7 +271344,7 @@ ENCODING 24193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FE0 @@ -231735,7 +271362,7 @@ ENCODING 24194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -231753,7 +271380,7 @@ ENCODING 24195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FE0 @@ -231771,7 +271398,7 @@ ENCODING 24196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -231789,7 +271416,7 @@ ENCODING 24197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FE0 @@ -231807,7 +271434,7 @@ ENCODING 24198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 2200 @@ -231825,7 +271452,7 @@ ENCODING 24199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -231843,7 +271470,7 @@ ENCODING 24200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -231861,7 +271488,7 @@ ENCODING 24201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -231879,7 +271506,7 @@ ENCODING 24202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -231897,7 +271524,7 @@ ENCODING 24203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -231915,7 +271542,7 @@ ENCODING 24204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -231933,7 +271560,7 @@ ENCODING 24205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2040 @@ -231951,7 +271578,7 @@ ENCODING 24206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FE0 @@ -231969,7 +271596,7 @@ ENCODING 24207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -231987,7 +271614,7 @@ ENCODING 24208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2100 @@ -232005,7 +271632,7 @@ ENCODING 24209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232023,7 +271650,7 @@ ENCODING 24210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232041,7 +271668,7 @@ ENCODING 24211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2200 @@ -232059,7 +271686,7 @@ ENCODING 24212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -232077,7 +271704,7 @@ ENCODING 24213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -232095,7 +271722,7 @@ ENCODING 24214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -232113,7 +271740,7 @@ ENCODING 24215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -232131,7 +271758,7 @@ ENCODING 24216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232149,7 +271776,7 @@ ENCODING 24217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232167,7 +271794,7 @@ ENCODING 24218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2200 @@ -232185,7 +271812,7 @@ ENCODING 24219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4480 @@ -232203,7 +271830,7 @@ ENCODING 24220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4440 @@ -232221,7 +271848,7 @@ ENCODING 24221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4400 @@ -232239,7 +271866,7 @@ ENCODING 24222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2280 @@ -232257,7 +271884,7 @@ ENCODING 24223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2A80 @@ -232275,7 +271902,7 @@ ENCODING 24224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2880 @@ -232293,7 +271920,7 @@ ENCODING 24225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4400 @@ -232311,7 +271938,7 @@ ENCODING 24226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232329,7 +271956,7 @@ ENCODING 24227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -232347,7 +271974,7 @@ ENCODING 24228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232365,7 +271992,7 @@ ENCODING 24229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -232383,7 +272010,7 @@ ENCODING 24230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -232401,7 +272028,7 @@ ENCODING 24231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232419,7 +272046,7 @@ ENCODING 24232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4240 @@ -232437,7 +272064,7 @@ ENCODING 24233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4500 @@ -232455,7 +272082,7 @@ ENCODING 24234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -232473,7 +272100,7 @@ ENCODING 24235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232491,7 +272118,7 @@ ENCODING 24236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -232509,7 +272136,7 @@ ENCODING 24237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232527,7 +272154,7 @@ ENCODING 24238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232545,7 +272172,7 @@ ENCODING 24239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4280 @@ -232563,7 +272190,7 @@ ENCODING 24240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5080 @@ -232581,7 +272208,7 @@ ENCODING 24241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232599,7 +272226,7 @@ ENCODING 24242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232617,7 +272244,7 @@ ENCODING 24243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -232635,7 +272262,7 @@ ENCODING 24244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4480 @@ -232653,7 +272280,7 @@ ENCODING 24245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -232671,7 +272298,7 @@ ENCODING 24246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232689,7 +272316,7 @@ ENCODING 24247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232707,7 +272334,7 @@ ENCODING 24248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4FC0 @@ -232725,7 +272352,7 @@ ENCODING 24249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -232743,7 +272370,7 @@ ENCODING 24250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -232761,7 +272388,7 @@ ENCODING 24251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4900 @@ -232779,7 +272406,7 @@ ENCODING 24252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232797,7 +272424,7 @@ ENCODING 24253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A80 @@ -232815,7 +272442,7 @@ ENCODING 24254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232833,7 +272460,7 @@ ENCODING 24255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -232851,7 +272478,7 @@ ENCODING 24256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232869,7 +272496,7 @@ ENCODING 24257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -232887,7 +272514,7 @@ ENCODING 24258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -232905,7 +272532,7 @@ ENCODING 24259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4140 @@ -232923,7 +272550,7 @@ ENCODING 24260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5D40 @@ -232941,7 +272568,7 @@ ENCODING 24261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -232959,7 +272586,7 @@ ENCODING 24262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -232977,7 +272604,7 @@ ENCODING 24263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4400 @@ -232995,7 +272622,7 @@ ENCODING 24264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -233013,7 +272640,7 @@ ENCODING 24265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4500 @@ -233031,7 +272658,7 @@ ENCODING 24266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -233049,7 +272676,7 @@ ENCODING 24267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5240 @@ -233067,7 +272694,7 @@ ENCODING 24268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4900 @@ -233085,7 +272712,7 @@ ENCODING 24269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4800 @@ -233103,7 +272730,7 @@ ENCODING 24270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -233121,7 +272748,7 @@ ENCODING 24271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4800 @@ -233139,7 +272766,7 @@ ENCODING 24272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4800 @@ -233157,7 +272784,7 @@ ENCODING 24273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -233175,7 +272802,7 @@ ENCODING 24274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -233193,7 +272820,7 @@ ENCODING 24275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -233211,7 +272838,7 @@ ENCODING 24276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -233229,7 +272856,7 @@ ENCODING 24277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4140 @@ -233247,7 +272874,7 @@ ENCODING 24278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -233265,7 +272892,7 @@ ENCODING 24279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -233283,7 +272910,7 @@ ENCODING 24280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -233301,7 +272928,7 @@ ENCODING 24281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5240 @@ -233319,7 +272946,7 @@ ENCODING 24282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4840 @@ -233337,7 +272964,7 @@ ENCODING 24283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5240 @@ -233355,7 +272982,7 @@ ENCODING 24284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5040 @@ -233373,7 +273000,7 @@ ENCODING 24285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5420 @@ -233391,7 +273018,7 @@ ENCODING 24286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -233409,7 +273036,7 @@ ENCODING 24287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -233427,7 +273054,7 @@ ENCODING 24288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 8880 @@ -233445,7 +273072,7 @@ ENCODING 24289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -233463,7 +273090,7 @@ ENCODING 24290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5540 @@ -233481,7 +273108,7 @@ ENCODING 24291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4480 @@ -233499,7 +273126,7 @@ ENCODING 24292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -233517,7 +273144,7 @@ ENCODING 24293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4D80 @@ -233535,7 +273162,7 @@ ENCODING 24294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 8080 @@ -233553,7 +273180,7 @@ ENCODING 24295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -233571,7 +273198,7 @@ ENCODING 24296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 52A0 @@ -233589,7 +273216,7 @@ ENCODING 24297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -233607,7 +273234,7 @@ ENCODING 24298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -233625,7 +273252,7 @@ ENCODING 24299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -233643,7 +273270,7 @@ ENCODING 24300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -233661,7 +273288,7 @@ ENCODING 24301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4480 @@ -233679,7 +273306,7 @@ ENCODING 24302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -233697,7 +273324,7 @@ ENCODING 24303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -233715,7 +273342,7 @@ ENCODING 24304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4080 @@ -233733,7 +273360,7 @@ ENCODING 24305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -233751,7 +273378,7 @@ ENCODING 24306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 9540 @@ -233769,7 +273396,7 @@ ENCODING 24307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A880 @@ -233787,7 +273414,7 @@ ENCODING 24308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 1000 2000 @@ -233804,9 +273431,8 @@ STARTCHAR U_5EF5 ENCODING 24309 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F2A0 12A0 22A0 @@ -233823,7 +273449,7 @@ ENCODING 24310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 1780 2080 @@ -233841,7 +273467,7 @@ ENCODING 24311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F040 1780 2100 @@ -233859,7 +273485,7 @@ ENCODING 24312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7100 27C0 @@ -233877,7 +273503,7 @@ ENCODING 24313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 77C0 1440 @@ -233895,7 +273521,7 @@ ENCODING 24314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 2240 @@ -233912,9 +273538,8 @@ STARTCHAR U_5EFB ENCODING 24315 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP EFE0 2820 4BA0 @@ -233931,7 +273556,7 @@ ENCODING 24316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2280 4280 @@ -233949,7 +273574,7 @@ ENCODING 24317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E000 2FE0 2AA0 @@ -233967,7 +273592,7 @@ ENCODING 24318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 1080 @@ -233985,7 +273610,7 @@ ENCODING 24319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 1080 @@ -234003,7 +273628,7 @@ ENCODING 24320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1100 1100 @@ -234021,7 +273646,7 @@ ENCODING 24321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 2080 @@ -234039,7 +273664,7 @@ ENCODING 24322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -234057,7 +273682,7 @@ ENCODING 24323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0800 @@ -234075,7 +273700,7 @@ ENCODING 24324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -234093,7 +273718,7 @@ ENCODING 24325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 DFE0 @@ -234111,7 +273736,7 @@ ENCODING 24326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -234129,7 +273754,7 @@ ENCODING 24327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 3F80 @@ -234147,7 +273772,7 @@ ENCODING 24328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4940 @@ -234165,7 +273790,7 @@ ENCODING 24329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 7FE0 0900 @@ -234183,7 +273808,7 @@ ENCODING 24330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9300 5500 FDE0 @@ -234201,7 +273826,7 @@ ENCODING 24331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 0400 @@ -234219,7 +273844,7 @@ ENCODING 24332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 04C0 0400 @@ -234237,7 +273862,7 @@ ENCODING 24333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0280 0240 @@ -234255,7 +273880,7 @@ ENCODING 24334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 FFE0 @@ -234273,7 +273898,7 @@ ENCODING 24335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 0200 @@ -234291,7 +273916,7 @@ ENCODING 24336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7C80 0440 @@ -234309,7 +273934,7 @@ ENCODING 24337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 50A0 27E0 @@ -234327,7 +273952,7 @@ ENCODING 24338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 90C0 60A0 9FE0 @@ -234344,62 +273969,62 @@ STARTCHAR U_5F13 ENCODING 24339 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0040 -1FC0 -1000 +BBX 9 11 1 -1 +BITMAP +FF80 +0080 +3F80 2000 -3FC0 -0040 -0040 -0040 -0280 -0100 +4000 +7F80 +0080 +0080 +0080 +0500 +0200 ENDCHAR STARTCHAR U_5F14 ENCODING 24340 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0440 -0440 -3FC0 -2400 -7FE0 -0420 -0420 -04A0 -0440 -0400 +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 11 11 0 -1 -BITMAP -7E20 -0220 -0220 -3E20 -2020 -7E20 -0220 -0220 -0220 -1420 -0820 +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 +BITMAP 3F80 0080 1F80 @@ -234416,26 +274041,26 @@ STARTCHAR U_5F17 ENCODING 24343 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -0900 -7FC0 -0940 -3FC0 -2900 -7FE0 -0920 -0920 -11C0 -6100 +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 +BITMAP F080 1080 1080 @@ -234453,7 +274078,7 @@ ENCODING 24345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1100 1100 @@ -234470,26 +274095,26 @@ STARTCHAR U_5F1A ENCODING 24346 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2100 -1200 -7F80 -0480 -7F80 -4400 -7FC0 -0440 -0440 -0580 -0400 +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 +BITMAP F100 1500 1540 @@ -234507,7 +274132,7 @@ ENCODING 24348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 0820 0820 @@ -234525,7 +274150,7 @@ ENCODING 24349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1540 1540 @@ -234543,7 +274168,7 @@ ENCODING 24350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 0A00 0BE0 @@ -234561,7 +274186,7 @@ ENCODING 24351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 7FC0 @@ -234579,7 +274204,7 @@ ENCODING 24352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 2440 2480 @@ -234596,26 +274221,26 @@ STARTCHAR U_5F21 ENCODING 24353 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BE0 -0A00 -0A00 -7BC0 -4240 -7A40 -0BC0 -0A00 -0A00 -53E0 -2000 +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 +BITMAP F100 1520 1520 @@ -234633,7 +274258,7 @@ ENCODING 24355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 1240 1440 @@ -234651,7 +274276,7 @@ ENCODING 24356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 1780 1480 @@ -234669,7 +274294,7 @@ ENCODING 24357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 1400 17E0 @@ -234687,7 +274312,7 @@ ENCODING 24358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 1100 1FE0 @@ -234705,7 +274330,7 @@ ENCODING 24359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 1740 1540 @@ -234723,7 +274348,7 @@ ENCODING 24360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1120 1120 @@ -234741,7 +274366,7 @@ ENCODING 24361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 5180 @@ -234759,7 +274384,7 @@ ENCODING 24362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1040 1080 @@ -234777,7 +274402,7 @@ ENCODING 24363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1500 7500 @@ -234795,7 +274420,7 @@ ENCODING 24364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2880 E880 @@ -234813,7 +274438,7 @@ ENCODING 24365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1240 1240 @@ -234831,7 +274456,7 @@ ENCODING 24366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7FC0 0800 @@ -234849,7 +274474,7 @@ ENCODING 24367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2940 @@ -234867,7 +274492,7 @@ ENCODING 24368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F4A0 12C0 1080 @@ -234885,7 +274510,7 @@ ENCODING 24369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0820 FBE0 @@ -234903,7 +274528,7 @@ ENCODING 24370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1240 13C0 @@ -234921,7 +274546,7 @@ ENCODING 24371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1540 1540 @@ -234939,7 +274564,7 @@ ENCODING 24372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 2440 @@ -234957,7 +274582,7 @@ ENCODING 24373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1400 17C0 @@ -234975,7 +274600,7 @@ ENCODING 24374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1080 1FE0 @@ -234993,7 +274618,7 @@ ENCODING 24375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1240 1420 @@ -235011,7 +274636,7 @@ ENCODING 24376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2AA0 2AA0 @@ -235029,7 +274654,7 @@ ENCODING 24377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 2280 2FE0 @@ -235047,7 +274672,7 @@ ENCODING 24378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 2440 27C0 @@ -235065,7 +274690,7 @@ ENCODING 24379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2420 3F20 @@ -235083,7 +274708,7 @@ ENCODING 24380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2420 2E20 @@ -235101,7 +274726,7 @@ ENCODING 24381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 1FE0 1540 @@ -235119,7 +274744,7 @@ ENCODING 24382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A20 E540 2FC0 @@ -235137,7 +274762,7 @@ ENCODING 24383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -235155,7 +274780,7 @@ ENCODING 24384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FD40 2140 @@ -235173,7 +274798,7 @@ ENCODING 24385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1740 1540 @@ -235191,7 +274816,7 @@ ENCODING 24386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A40 2A80 @@ -235209,7 +274834,7 @@ ENCODING 24387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2920 2FE0 @@ -235227,7 +274852,7 @@ ENCODING 24388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2800 2BC0 @@ -235245,7 +274870,7 @@ ENCODING 24389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E240 2FE0 2000 @@ -235263,7 +274888,7 @@ ENCODING 24390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FFE0 B540 @@ -235281,7 +274906,7 @@ ENCODING 24391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 27C0 2140 @@ -235299,7 +274924,7 @@ ENCODING 24392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2AA0 2FE0 @@ -235317,7 +274942,7 @@ ENCODING 24393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7C0 1280 @@ -235335,7 +274960,7 @@ ENCODING 24394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1540 17C0 @@ -235353,7 +274978,7 @@ ENCODING 24395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2AA0 2FE0 @@ -235371,7 +274996,7 @@ ENCODING 24396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2540 2920 @@ -235389,7 +275014,7 @@ ENCODING 24397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 2A40 @@ -235407,7 +275032,7 @@ ENCODING 24398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 A1C0 CEA0 @@ -235425,7 +275050,7 @@ ENCODING 24399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 2AA0 2EE0 @@ -235442,26 +275067,24 @@ STARTCHAR U_5F50 ENCODING 24400 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -0040 -0040 -0040 -3FC0 -0040 -0040 -0040 -7FC0 -0000 +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 +BITMAP 0800 0800 1000 @@ -235477,45 +275100,45 @@ ENDCHAR STARTCHAR U_5F52 ENCODING 24402 SWIDTH 1000 0 -DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0BE0 -4820 -4820 -4820 -4BE0 -4820 -4820 -1020 -27E0 -4020 +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 11 11 0 -1 -BITMAP -0400 -4440 -2480 -1500 -7FC0 -0040 -0040 -3FC0 -0040 -0040 -7FC0 +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 +BITMAP 1F80 1100 3F00 @@ -235533,7 +275156,7 @@ ENCODING 24405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -235551,7 +275174,7 @@ ENCODING 24406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 3F00 @@ -235569,7 +275192,7 @@ ENCODING 24407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2100 FBC0 @@ -235587,7 +275210,7 @@ ENCODING 24408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 2100 3F00 @@ -235605,7 +275228,7 @@ ENCODING 24409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2100 FFE0 @@ -235623,7 +275246,7 @@ ENCODING 24410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 FFE0 @@ -235641,7 +275264,7 @@ ENCODING 24411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 7FC0 @@ -235659,7 +275282,7 @@ ENCODING 24412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 1100 FFE0 @@ -235677,7 +275300,7 @@ ENCODING 24413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 2100 FFE0 @@ -235695,7 +275318,7 @@ ENCODING 24414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 FFE0 @@ -235713,7 +275336,7 @@ ENCODING 24415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 0BE0 7E80 @@ -235731,7 +275354,7 @@ ENCODING 24416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 0FE0 7A80 @@ -235748,26 +275371,26 @@ STARTCHAR U_5F61 ENCODING 24417 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0100 -0200 -0400 -1900 -6200 -0400 -1880 -6100 -0200 -0C00 -7000 +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 +BITMAP 7E20 2440 2480 @@ -235785,7 +275408,7 @@ ENCODING 24419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2080 FB00 @@ -235803,7 +275426,7 @@ ENCODING 24420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3E00 2220 3240 @@ -235821,7 +275444,7 @@ ENCODING 24421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FC0 0A80 @@ -235839,7 +275462,7 @@ ENCODING 24422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FC0 1080 @@ -235857,7 +275480,7 @@ ENCODING 24423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 FFE0 @@ -235875,7 +275498,7 @@ ENCODING 24424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 FE20 0040 @@ -235893,7 +275516,7 @@ ENCODING 24425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C40 F280 5500 @@ -235911,7 +275534,7 @@ ENCODING 24426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E20 1040 7EA0 @@ -235929,7 +275552,7 @@ ENCODING 24427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 9280 BB00 @@ -235947,7 +275570,7 @@ ENCODING 24428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2220 FF40 @@ -235965,7 +275588,7 @@ ENCODING 24429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE40 1080 @@ -235983,7 +275606,7 @@ ENCODING 24430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE40 AA80 @@ -236001,7 +275624,7 @@ ENCODING 24431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 2840 FE80 @@ -236019,7 +275642,7 @@ ENCODING 24432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FE40 2880 @@ -236037,7 +275660,7 @@ ENCODING 24433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4440 7C80 @@ -236055,7 +275678,7 @@ ENCODING 24434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7720 0020 7740 @@ -236072,26 +275695,26 @@ STARTCHAR U_5F73 ENCODING 24435 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -2000 -4000 -8800 -1000 -2000 -6000 -A000 -2000 -2000 -2000 +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 +BITMAP 1200 2200 43E0 @@ -236109,7 +275732,7 @@ ENCODING 24437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2500 4560 @@ -236127,7 +275750,7 @@ ENCODING 24438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 2440 4440 @@ -236145,7 +275768,7 @@ ENCODING 24439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2100 4FE0 @@ -236163,7 +275786,7 @@ ENCODING 24440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4500 8480 @@ -236181,7 +275804,7 @@ ENCODING 24441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 4480 8480 @@ -236199,7 +275822,7 @@ ENCODING 24442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 27C0 4100 @@ -236217,7 +275840,7 @@ ENCODING 24443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 4BE0 88A0 @@ -236235,7 +275858,7 @@ ENCODING 24444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 8920 @@ -236253,7 +275876,7 @@ ENCODING 24445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 4F00 8900 @@ -236271,7 +275894,7 @@ ENCODING 24446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4500 8880 @@ -236289,7 +275912,7 @@ ENCODING 24447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2280 57E0 @@ -236307,7 +275930,7 @@ ENCODING 24448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2100 4FE0 @@ -236325,7 +275948,7 @@ ENCODING 24449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4100 @@ -236343,7 +275966,7 @@ ENCODING 24450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 4440 @@ -236361,7 +275984,7 @@ ENCODING 24451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2500 4500 @@ -236379,7 +276002,7 @@ ENCODING 24452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2080 4900 @@ -236397,7 +276020,7 @@ ENCODING 24453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 47C0 @@ -236415,7 +276038,7 @@ ENCODING 24454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4280 8280 @@ -236433,7 +276056,7 @@ ENCODING 24455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 27E0 4820 @@ -236451,7 +276074,7 @@ ENCODING 24456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 47C0 @@ -236469,7 +276092,7 @@ ENCODING 24457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 2280 4FE0 @@ -236487,7 +276110,7 @@ ENCODING 24458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 5020 9020 @@ -236505,7 +276128,7 @@ ENCODING 24459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5FC0 8240 @@ -236523,7 +276146,7 @@ ENCODING 24460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2480 4700 @@ -236541,7 +276164,7 @@ ENCODING 24461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -236559,7 +276182,7 @@ ENCODING 24462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 4440 @@ -236577,7 +276200,7 @@ ENCODING 24463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 45C0 @@ -236595,7 +276218,7 @@ ENCODING 24464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4280 9440 @@ -236613,7 +276236,7 @@ ENCODING 24465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 2540 4540 @@ -236631,7 +276254,7 @@ ENCODING 24466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 47C0 @@ -236649,7 +276272,7 @@ ENCODING 24467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -236667,7 +276290,7 @@ ENCODING 24468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 2480 4FE0 @@ -236685,7 +276308,7 @@ ENCODING 24469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 9FC0 @@ -236703,7 +276326,7 @@ ENCODING 24470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2100 4FE0 @@ -236721,7 +276344,7 @@ ENCODING 24471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -236739,7 +276362,7 @@ ENCODING 24472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2280 4EE0 @@ -236757,7 +276380,7 @@ ENCODING 24473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2500 45E0 @@ -236775,7 +276398,7 @@ ENCODING 24474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4200 @@ -236793,7 +276416,7 @@ ENCODING 24475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2FE0 4280 @@ -236811,7 +276434,7 @@ ENCODING 24476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2920 4540 @@ -236829,7 +276452,7 @@ ENCODING 24477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4200 @@ -236847,7 +276470,7 @@ ENCODING 24478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2240 45A0 @@ -236865,7 +276488,7 @@ ENCODING 24479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 2920 4920 @@ -236883,7 +276506,7 @@ ENCODING 24480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 4FE0 @@ -236901,7 +276524,7 @@ ENCODING 24481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 24E0 47A0 @@ -236919,7 +276542,7 @@ ENCODING 24482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 4280 @@ -236937,7 +276560,7 @@ ENCODING 24483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2280 4FE0 @@ -236955,7 +276578,7 @@ ENCODING 24484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BC0 4940 @@ -236973,7 +276596,7 @@ ENCODING 24485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4440 87C0 @@ -236991,7 +276614,7 @@ ENCODING 24486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 4A20 8A20 @@ -237009,7 +276632,7 @@ ENCODING 24487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4840 @@ -237027,7 +276650,7 @@ ENCODING 24488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 27C0 4440 @@ -237045,7 +276668,7 @@ ENCODING 24489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 27E0 4C40 @@ -237063,7 +276686,7 @@ ENCODING 24490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 2880 4FE0 @@ -237081,7 +276704,7 @@ ENCODING 24491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 27C0 4240 @@ -237099,7 +276722,7 @@ ENCODING 24492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8480 @@ -237117,7 +276740,7 @@ ENCODING 24493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 4E40 8A40 @@ -237135,7 +276758,7 @@ ENCODING 24494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 6A80 BE80 @@ -237153,7 +276776,7 @@ ENCODING 24495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FA0 2A40 4580 @@ -237171,7 +276794,7 @@ ENCODING 24496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 45C0 @@ -237189,7 +276812,7 @@ ENCODING 24497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2500 5FC0 @@ -237207,7 +276830,7 @@ ENCODING 24498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4820 8FE0 @@ -237225,7 +276848,7 @@ ENCODING 24499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -237243,7 +276866,7 @@ ENCODING 24500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5680 @@ -237261,7 +276884,7 @@ ENCODING 24501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 5540 9F60 @@ -237279,7 +276902,7 @@ ENCODING 24502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3580 4E80 84E0 @@ -237297,7 +276920,7 @@ ENCODING 24503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5FE0 8200 @@ -237315,7 +276938,7 @@ ENCODING 24504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4480 @@ -237333,7 +276956,7 @@ ENCODING 24505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5F80 8AE0 @@ -237351,7 +276974,7 @@ ENCODING 24506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 4200 @@ -237369,7 +276992,7 @@ ENCODING 24507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 4440 8BA0 @@ -237387,7 +277010,7 @@ ENCODING 24508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 5E80 92E0 @@ -237405,7 +277028,7 @@ ENCODING 24509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 7E80 80E0 @@ -237423,7 +277046,7 @@ ENCODING 24510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3540 5540 9F60 @@ -237441,7 +277064,7 @@ ENCODING 24511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 5F80 8AE0 @@ -237459,7 +277082,7 @@ ENCODING 24512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -237477,7 +277100,7 @@ ENCODING 24513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4820 8FE0 @@ -237495,7 +277118,7 @@ ENCODING 24514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EE0 @@ -237513,7 +277136,7 @@ ENCODING 24515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 1200 @@ -237530,26 +277153,26 @@ STARTCHAR U_5FC4 ENCODING 24516 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -2000 -3000 -A800 -A800 -2000 -2000 -2000 -2000 -2000 -2000 +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 +BITMAP 0880 0480 0500 @@ -237567,7 +277190,7 @@ ENCODING 24518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 3040 @@ -237585,7 +277208,7 @@ ENCODING 24519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -237602,9 +277225,8 @@ STARTCHAR U_5FC8 ENCODING 24520 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3F80 0000 0000 @@ -237621,7 +277243,7 @@ ENCODING 24521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2120 @@ -237639,7 +277261,7 @@ ENCODING 24522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2100 @@ -237657,7 +277279,7 @@ ENCODING 24523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2040 @@ -237675,7 +277297,7 @@ ENCODING 24524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -237693,7 +277315,7 @@ ENCODING 24525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0440 2440 @@ -237711,7 +277333,7 @@ ENCODING 24526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0400 @@ -237729,7 +277351,7 @@ ENCODING 24527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 A100 @@ -237747,7 +277369,7 @@ ENCODING 24528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 07C0 @@ -237765,7 +277387,7 @@ ENCODING 24529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0700 @@ -237783,7 +277405,7 @@ ENCODING 24530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 FFE0 @@ -237801,7 +277423,7 @@ ENCODING 24531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2100 @@ -237819,7 +277441,7 @@ ENCODING 24532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 A3E0 @@ -237837,7 +277459,7 @@ ENCODING 24533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B100 @@ -237855,7 +277477,7 @@ ENCODING 24534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 A040 @@ -237873,7 +277495,7 @@ ENCODING 24535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -237891,7 +277513,7 @@ ENCODING 24536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -237909,7 +277531,7 @@ ENCODING 24537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2000 @@ -237927,7 +277549,7 @@ ENCODING 24538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2500 @@ -237945,7 +277567,7 @@ ENCODING 24539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2480 2480 @@ -237963,7 +277585,7 @@ ENCODING 24540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -237981,7 +277603,7 @@ ENCODING 24541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -237999,7 +277621,7 @@ ENCODING 24542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -238017,7 +277639,7 @@ ENCODING 24543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -238035,7 +277657,7 @@ ENCODING 24544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4440 @@ -238053,7 +277675,7 @@ ENCODING 24545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -238071,7 +277693,7 @@ ENCODING 24546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -238089,7 +277711,7 @@ ENCODING 24547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 2280 @@ -238107,7 +277729,7 @@ ENCODING 24548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 B7C0 @@ -238125,7 +277747,7 @@ ENCODING 24549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4000 @@ -238143,7 +277765,7 @@ ENCODING 24550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 6300 @@ -238161,7 +277783,7 @@ ENCODING 24551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 2120 @@ -238179,7 +277801,7 @@ ENCODING 24552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 B000 @@ -238197,7 +277819,7 @@ ENCODING 24553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0900 1080 @@ -238215,7 +277837,7 @@ ENCODING 24554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 3280 @@ -238233,7 +277855,7 @@ ENCODING 24555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 37C0 @@ -238251,7 +277873,7 @@ ENCODING 24556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2040 @@ -238269,7 +277891,7 @@ ENCODING 24557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -238287,7 +277909,7 @@ ENCODING 24558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -238305,7 +277927,7 @@ ENCODING 24559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2480 @@ -238323,7 +277945,7 @@ ENCODING 24560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2F80 2280 @@ -238341,7 +277963,7 @@ ENCODING 24561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -238359,7 +277981,7 @@ ENCODING 24562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 6200 @@ -238377,7 +277999,7 @@ ENCODING 24563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -238395,7 +278017,7 @@ ENCODING 24564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B280 @@ -238413,7 +278035,7 @@ ENCODING 24565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1500 @@ -238431,7 +278053,7 @@ ENCODING 24566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2000 @@ -238449,7 +278071,7 @@ ENCODING 24567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 28A0 ACA0 @@ -238467,7 +278089,7 @@ ENCODING 24568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 2240 @@ -238485,7 +278107,7 @@ ENCODING 24569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FC0 4200 @@ -238503,7 +278125,7 @@ ENCODING 24570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -238521,7 +278143,7 @@ ENCODING 24571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2400 @@ -238539,7 +278161,7 @@ ENCODING 24572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4200 5FE0 @@ -238557,7 +278179,7 @@ ENCODING 24573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 2A40 @@ -238575,7 +278197,7 @@ ENCODING 24574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 3800 @@ -238593,7 +278215,7 @@ ENCODING 24575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 1080 2040 @@ -238611,7 +278233,7 @@ ENCODING 24576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 A100 @@ -238629,7 +278251,7 @@ ENCODING 24577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -238647,7 +278269,7 @@ ENCODING 24578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1100 @@ -238665,7 +278287,7 @@ ENCODING 24579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2100 @@ -238683,7 +278305,7 @@ ENCODING 24580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 2820 @@ -238701,7 +278323,7 @@ ENCODING 24581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2440 2480 @@ -238719,7 +278341,7 @@ ENCODING 24582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 B440 @@ -238737,7 +278359,7 @@ ENCODING 24583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 2400 @@ -238755,7 +278377,7 @@ ENCODING 24584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4A40 6A40 @@ -238773,7 +278395,7 @@ ENCODING 24585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 A840 @@ -238791,7 +278413,7 @@ ENCODING 24586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 B120 @@ -238809,7 +278431,7 @@ ENCODING 24587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 A840 @@ -238827,7 +278449,7 @@ ENCODING 24588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 B100 @@ -238845,7 +278467,7 @@ ENCODING 24589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 B3E0 @@ -238863,7 +278485,7 @@ ENCODING 24590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2800 @@ -238881,7 +278503,7 @@ ENCODING 24591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B7C0 @@ -238899,7 +278521,7 @@ ENCODING 24592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 37E0 @@ -238917,7 +278539,7 @@ ENCODING 24593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2540 @@ -238935,7 +278557,7 @@ ENCODING 24594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FA40 4A40 @@ -238953,7 +278575,7 @@ ENCODING 24595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 BFA0 @@ -238971,7 +278593,7 @@ ENCODING 24596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 A100 @@ -238989,7 +278611,7 @@ ENCODING 24597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 27E0 @@ -239007,7 +278629,7 @@ ENCODING 24598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B200 @@ -239025,7 +278647,7 @@ ENCODING 24599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B1E0 @@ -239043,7 +278665,7 @@ ENCODING 24600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -239061,7 +278683,7 @@ ENCODING 24601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -239079,7 +278701,7 @@ ENCODING 24602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B440 @@ -239097,7 +278719,7 @@ ENCODING 24603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A440 @@ -239115,7 +278737,7 @@ ENCODING 24604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2500 2880 @@ -239133,7 +278755,7 @@ ENCODING 24605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 2480 @@ -239151,7 +278773,7 @@ ENCODING 24606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B100 @@ -239169,7 +278791,7 @@ ENCODING 24607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4F00 4900 @@ -239187,7 +278809,7 @@ ENCODING 24608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1080 7FC0 @@ -239205,7 +278827,7 @@ ENCODING 24609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B240 @@ -239223,7 +278845,7 @@ ENCODING 24610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 A7C0 @@ -239241,7 +278863,7 @@ ENCODING 24611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2400 3FC0 @@ -239259,7 +278881,7 @@ ENCODING 24612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2080 6FE0 @@ -239277,7 +278899,7 @@ ENCODING 24613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 1100 3FC0 @@ -239295,7 +278917,7 @@ ENCODING 24614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 A520 @@ -239313,7 +278935,7 @@ ENCODING 24615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 B500 @@ -239331,7 +278953,7 @@ ENCODING 24616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3BC0 4A40 @@ -239349,7 +278971,7 @@ ENCODING 24617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 A7E0 @@ -239367,7 +278989,7 @@ ENCODING 24618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2440 B280 @@ -239385,7 +279007,7 @@ ENCODING 24619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 B2A0 @@ -239403,7 +279025,7 @@ ENCODING 24620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 BAA0 @@ -239421,7 +279043,7 @@ ENCODING 24621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2140 B240 @@ -239439,7 +279061,7 @@ ENCODING 24622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 B9E0 @@ -239457,7 +279079,7 @@ ENCODING 24623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 B7C0 @@ -239475,7 +279097,7 @@ ENCODING 24624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -239493,7 +279115,7 @@ ENCODING 24625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2540 @@ -239511,7 +279133,7 @@ ENCODING 24626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 A100 @@ -239529,7 +279151,7 @@ ENCODING 24627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A440 @@ -239547,7 +279169,7 @@ ENCODING 24628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 AFE0 @@ -239565,7 +279187,7 @@ ENCODING 24629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 A100 @@ -239583,7 +279205,7 @@ ENCODING 24630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -239601,7 +279223,7 @@ ENCODING 24631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 0400 @@ -239619,7 +279241,7 @@ ENCODING 24632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 0400 @@ -239637,7 +279259,7 @@ ENCODING 24633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 25C0 2740 @@ -239655,7 +279277,7 @@ ENCODING 24634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2720 @@ -239673,7 +279295,7 @@ ENCODING 24635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 3F80 @@ -239691,7 +279313,7 @@ ENCODING 24636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 17E0 5080 @@ -239709,7 +279331,7 @@ ENCODING 24637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 37C0 @@ -239727,7 +279349,7 @@ ENCODING 24638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2440 @@ -239745,7 +279367,7 @@ ENCODING 24639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 B180 @@ -239763,7 +279385,7 @@ ENCODING 24640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 A480 @@ -239781,7 +279403,7 @@ ENCODING 24641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3F00 4200 @@ -239799,7 +279421,7 @@ ENCODING 24642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 B7E0 @@ -239817,7 +279439,7 @@ ENCODING 24643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B100 @@ -239835,7 +279457,7 @@ ENCODING 24644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A100 @@ -239853,7 +279475,7 @@ ENCODING 24645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 B140 @@ -239871,7 +279493,7 @@ ENCODING 24646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 B3C0 @@ -239889,7 +279511,7 @@ ENCODING 24647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 B7E0 @@ -239907,7 +279529,7 @@ ENCODING 24648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 2440 @@ -239925,7 +279547,7 @@ ENCODING 24649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 2700 B420 @@ -239943,7 +279565,7 @@ ENCODING 24650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -239961,7 +279583,7 @@ ENCODING 24651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -239979,7 +279601,7 @@ ENCODING 24652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 AAA0 @@ -239997,7 +279619,7 @@ ENCODING 24653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 B540 @@ -240015,7 +279637,7 @@ ENCODING 24654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2200 @@ -240033,7 +279655,7 @@ ENCODING 24655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 FC40 @@ -240051,7 +279673,7 @@ ENCODING 24656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 FC80 2680 @@ -240069,7 +279691,7 @@ ENCODING 24657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 A480 @@ -240087,7 +279709,7 @@ ENCODING 24658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 B7C0 @@ -240105,7 +279727,7 @@ ENCODING 24659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 A280 @@ -240123,7 +279745,7 @@ ENCODING 24660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -240141,7 +279763,7 @@ ENCODING 24661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2A40 @@ -240159,7 +279781,7 @@ ENCODING 24662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -240177,7 +279799,7 @@ ENCODING 24663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2300 @@ -240195,7 +279817,7 @@ ENCODING 24664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 B480 @@ -240213,7 +279835,7 @@ ENCODING 24665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 7FE0 @@ -240231,7 +279853,7 @@ ENCODING 24666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -240249,7 +279871,7 @@ ENCODING 24667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 B820 @@ -240267,7 +279889,7 @@ ENCODING 24668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 AFE0 @@ -240285,7 +279907,7 @@ ENCODING 24669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2120 @@ -240303,7 +279925,7 @@ ENCODING 24670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A100 @@ -240321,7 +279943,7 @@ ENCODING 24671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 A820 @@ -240339,7 +279961,7 @@ ENCODING 24672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2FE0 @@ -240357,7 +279979,7 @@ ENCODING 24673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2280 2300 @@ -240375,7 +279997,7 @@ ENCODING 24674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 B200 @@ -240393,7 +280015,7 @@ ENCODING 24675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2A20 @@ -240411,7 +280033,7 @@ ENCODING 24676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2200 AFE0 @@ -240429,7 +280051,7 @@ ENCODING 24677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5080 5280 @@ -240447,7 +280069,7 @@ ENCODING 24678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2400 AFE0 @@ -240465,7 +280087,7 @@ ENCODING 24679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 7FC0 @@ -240483,7 +280105,7 @@ ENCODING 24680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -240501,7 +280123,7 @@ ENCODING 24681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -240519,7 +280141,7 @@ ENCODING 24682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 A440 @@ -240537,7 +280159,7 @@ ENCODING 24683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 ABA0 @@ -240555,7 +280177,7 @@ ENCODING 24684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 B100 @@ -240573,7 +280195,7 @@ ENCODING 24685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -240591,7 +280213,7 @@ ENCODING 24686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 BC40 @@ -240609,7 +280231,7 @@ ENCODING 24687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -240627,7 +280249,7 @@ ENCODING 24688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 B440 @@ -240645,7 +280267,7 @@ ENCODING 24689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 B540 @@ -240663,7 +280285,7 @@ ENCODING 24690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 B7E0 @@ -240681,7 +280303,7 @@ ENCODING 24691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -240699,7 +280321,7 @@ ENCODING 24692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 0000 @@ -240717,7 +280339,7 @@ ENCODING 24693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -240735,7 +280357,7 @@ ENCODING 24694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0A00 4A40 @@ -240753,7 +280375,7 @@ ENCODING 24695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 2FC0 @@ -240771,7 +280393,7 @@ ENCODING 24696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2080 B1E0 @@ -240789,7 +280411,7 @@ ENCODING 24697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 B4C0 @@ -240807,7 +280429,7 @@ ENCODING 24698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 A520 B7E0 @@ -240825,7 +280447,7 @@ ENCODING 24699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 5120 F5A0 @@ -240843,7 +280465,7 @@ ENCODING 24700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 AFE0 @@ -240861,7 +280483,7 @@ ENCODING 24701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 A100 @@ -240879,7 +280501,7 @@ ENCODING 24702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 2FE0 @@ -240897,7 +280519,7 @@ ENCODING 24703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0A00 7FC0 @@ -240915,7 +280537,7 @@ ENCODING 24704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 B280 @@ -240933,7 +280555,7 @@ ENCODING 24705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 B3C0 @@ -240951,7 +280573,7 @@ ENCODING 24706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 2EE0 @@ -240969,7 +280591,7 @@ ENCODING 24707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 A920 @@ -240987,7 +280609,7 @@ ENCODING 24708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 A100 @@ -241005,7 +280627,7 @@ ENCODING 24709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2440 B7E0 @@ -241023,7 +280645,7 @@ ENCODING 24710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 EEE0 @@ -241041,7 +280663,7 @@ ENCODING 24711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A280 B440 @@ -241059,7 +280681,7 @@ ENCODING 24712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 AFE0 @@ -241077,7 +280699,7 @@ ENCODING 24713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 7F00 2480 @@ -241095,7 +280717,7 @@ ENCODING 24714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA00 23E0 @@ -241113,7 +280735,7 @@ ENCODING 24715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 3280 @@ -241131,7 +280753,7 @@ ENCODING 24716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 B7E0 @@ -241149,7 +280771,7 @@ ENCODING 24717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -241167,7 +280789,7 @@ ENCODING 24718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 A7C0 B500 @@ -241185,7 +280807,7 @@ ENCODING 24719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 37E0 @@ -241203,7 +280825,7 @@ ENCODING 24720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5120 2540 5580 @@ -241221,7 +280843,7 @@ ENCODING 24721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2100 37E0 @@ -241239,7 +280861,7 @@ ENCODING 24722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -241257,7 +280879,7 @@ ENCODING 24723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -241275,7 +280897,7 @@ ENCODING 24724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 B000 @@ -241293,7 +280915,7 @@ ENCODING 24725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2180 B660 @@ -241311,7 +280933,7 @@ ENCODING 24726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 B100 @@ -241329,7 +280951,7 @@ ENCODING 24727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 B480 @@ -241347,7 +280969,7 @@ ENCODING 24728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4800 4F80 @@ -241365,7 +280987,7 @@ ENCODING 24729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B000 @@ -241383,7 +281005,7 @@ ENCODING 24730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A100 @@ -241401,7 +281023,7 @@ ENCODING 24731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2440 B7A0 @@ -241419,7 +281041,7 @@ ENCODING 24732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B440 @@ -241437,7 +281059,7 @@ ENCODING 24733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 B7C0 @@ -241455,7 +281077,7 @@ ENCODING 24734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2A40 ABC0 @@ -241473,7 +281095,7 @@ ENCODING 24735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 B7C0 @@ -241491,7 +281113,7 @@ ENCODING 24736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 D640 @@ -241509,7 +281131,7 @@ ENCODING 24737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 1140 FD40 @@ -241527,7 +281149,7 @@ ENCODING 24738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B440 @@ -241545,7 +281167,7 @@ ENCODING 24739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -241563,7 +281185,7 @@ ENCODING 24740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FC0 4840 @@ -241581,7 +281203,7 @@ ENCODING 24741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0000 @@ -241599,7 +281221,7 @@ ENCODING 24742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2000 @@ -241617,7 +281239,7 @@ ENCODING 24743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 4E20 44A0 @@ -241635,7 +281257,7 @@ ENCODING 24744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 4920 @@ -241653,7 +281275,7 @@ ENCODING 24745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2220 2920 @@ -241671,7 +281293,7 @@ ENCODING 24746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -241689,7 +281311,7 @@ ENCODING 24747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -241707,7 +281329,7 @@ ENCODING 24748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3C80 @@ -241725,7 +281347,7 @@ ENCODING 24749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2AA0 AAA0 @@ -241743,7 +281365,7 @@ ENCODING 24750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 3440 @@ -241761,7 +281383,7 @@ ENCODING 24751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2420 A920 @@ -241779,7 +281401,7 @@ ENCODING 24752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A820 @@ -241797,7 +281419,7 @@ ENCODING 24753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2EE0 A280 @@ -241815,7 +281437,7 @@ ENCODING 24754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -241833,7 +281455,7 @@ ENCODING 24755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -241851,7 +281473,7 @@ ENCODING 24756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A440 @@ -241869,7 +281491,7 @@ ENCODING 24757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 B7C0 @@ -241887,7 +281509,7 @@ ENCODING 24758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -241905,7 +281527,7 @@ ENCODING 24759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B820 @@ -241923,7 +281545,7 @@ ENCODING 24760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 BFE0 @@ -241941,7 +281563,7 @@ ENCODING 24761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -241959,7 +281581,7 @@ ENCODING 24762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 B820 @@ -241977,7 +281599,7 @@ ENCODING 24763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B100 @@ -241995,7 +281617,7 @@ ENCODING 24764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21C0 A100 @@ -242013,7 +281635,7 @@ ENCODING 24765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B140 @@ -242031,7 +281653,7 @@ ENCODING 24766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A820 @@ -242049,7 +281671,7 @@ ENCODING 24767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 BFE0 @@ -242067,7 +281689,7 @@ ENCODING 24768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 A840 @@ -242085,7 +281707,7 @@ ENCODING 24769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FF80 2400 @@ -242103,7 +281725,7 @@ ENCODING 24770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 B240 @@ -242121,7 +281743,7 @@ ENCODING 24771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -242139,7 +281761,7 @@ ENCODING 24772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1D40 1140 @@ -242157,7 +281779,7 @@ ENCODING 24773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A100 @@ -242175,7 +281797,7 @@ ENCODING 24774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 BBA0 @@ -242193,7 +281815,7 @@ ENCODING 24775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B440 @@ -242211,7 +281833,7 @@ ENCODING 24776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 B7C0 @@ -242229,7 +281851,7 @@ ENCODING 24777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 93C0 6200 @@ -242247,7 +281869,7 @@ ENCODING 24778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B000 @@ -242265,7 +281887,7 @@ ENCODING 24779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B820 @@ -242283,7 +281905,7 @@ ENCODING 24780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A020 @@ -242301,7 +281923,7 @@ ENCODING 24781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 A840 @@ -242319,7 +281941,7 @@ ENCODING 24782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -242337,7 +281959,7 @@ ENCODING 24783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 AFE0 @@ -242355,7 +281977,7 @@ ENCODING 24784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2140 @@ -242373,7 +281995,7 @@ ENCODING 24785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 0200 @@ -242391,7 +282013,7 @@ ENCODING 24786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E3C0 2240 @@ -242409,7 +282031,7 @@ ENCODING 24787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 B7E0 @@ -242427,7 +282049,7 @@ ENCODING 24788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 B540 @@ -242445,7 +282067,7 @@ ENCODING 24789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -242463,7 +282085,7 @@ ENCODING 24790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -242481,7 +282103,7 @@ ENCODING 24791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2300 2480 @@ -242499,7 +282121,7 @@ ENCODING 24792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 A920 @@ -242517,7 +282139,7 @@ ENCODING 24793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 24A0 BAC0 @@ -242535,7 +282157,7 @@ ENCODING 24794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 AAA0 @@ -242553,7 +282175,7 @@ ENCODING 24795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 B7E0 @@ -242571,7 +282193,7 @@ ENCODING 24796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 B280 @@ -242589,7 +282211,7 @@ ENCODING 24797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 B100 @@ -242607,7 +282229,7 @@ ENCODING 24798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4680 5880 71E0 @@ -242625,7 +282247,7 @@ ENCODING 24799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 B7E0 @@ -242643,7 +282265,7 @@ ENCODING 24800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2440 @@ -242661,7 +282283,7 @@ ENCODING 24801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7BC0 @@ -242679,7 +282301,7 @@ ENCODING 24802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 5280 5040 @@ -242697,7 +282319,7 @@ ENCODING 24803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 53E0 7D60 @@ -242715,7 +282337,7 @@ ENCODING 24804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2240 B3E0 @@ -242733,7 +282355,7 @@ ENCODING 24805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 65C0 4440 @@ -242751,7 +282373,7 @@ ENCODING 24806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 B7E0 @@ -242769,7 +282391,7 @@ ENCODING 24807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -242787,7 +282409,7 @@ ENCODING 24808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 A200 @@ -242805,7 +282427,7 @@ ENCODING 24809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4100 A100 @@ -242823,7 +282445,7 @@ ENCODING 24810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -242841,7 +282463,7 @@ ENCODING 24811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 6900 0600 @@ -242859,7 +282481,7 @@ ENCODING 24812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 AFE0 @@ -242877,7 +282499,7 @@ ENCODING 24813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 3F00 A900 @@ -242895,7 +282517,7 @@ ENCODING 24814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 B7C0 @@ -242913,7 +282535,7 @@ ENCODING 24815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 BFE0 @@ -242931,7 +282553,7 @@ ENCODING 24816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 A200 @@ -242949,7 +282571,7 @@ ENCODING 24817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 A540 @@ -242967,7 +282589,7 @@ ENCODING 24818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 B100 @@ -242985,7 +282607,7 @@ ENCODING 24819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -243003,7 +282625,7 @@ ENCODING 24820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 AFE0 @@ -243021,7 +282643,7 @@ ENCODING 24821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 B540 @@ -243039,7 +282661,7 @@ ENCODING 24822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B440 @@ -243057,7 +282679,7 @@ ENCODING 24823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0800 @@ -243075,7 +282697,7 @@ ENCODING 24824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2CA0 B7A0 @@ -243093,7 +282715,7 @@ ENCODING 24825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -243111,7 +282733,7 @@ ENCODING 24826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -243129,7 +282751,7 @@ ENCODING 24827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 2AA0 AAA0 @@ -243147,7 +282769,7 @@ ENCODING 24828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A820 @@ -243165,7 +282787,7 @@ ENCODING 24829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 2FC0 @@ -243183,7 +282805,7 @@ ENCODING 24830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2920 BAA0 @@ -243201,7 +282823,7 @@ ENCODING 24831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -243219,7 +282841,7 @@ ENCODING 24832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2C80 2480 @@ -243237,7 +282859,7 @@ ENCODING 24833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 1120 FD40 @@ -243255,7 +282877,7 @@ ENCODING 24834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7C80 13E0 @@ -243273,7 +282895,7 @@ ENCODING 24835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -243291,7 +282913,7 @@ ENCODING 24836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 37C0 @@ -243309,7 +282931,7 @@ ENCODING 24837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 A280 @@ -243327,7 +282949,7 @@ ENCODING 24838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 45E0 A800 @@ -243345,7 +282967,7 @@ ENCODING 24839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 3240 @@ -243363,7 +282985,7 @@ ENCODING 24840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 7EE0 @@ -243381,7 +283003,7 @@ ENCODING 24841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 2B60 @@ -243399,7 +283021,7 @@ ENCODING 24842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 27C0 @@ -243417,7 +283039,7 @@ ENCODING 24843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2520 32C0 @@ -243435,7 +283057,7 @@ ENCODING 24844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 3100 @@ -243453,7 +283075,7 @@ ENCODING 24845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8BE0 FA40 @@ -243471,7 +283093,7 @@ ENCODING 24846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2C40 @@ -243489,7 +283111,7 @@ ENCODING 24847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -243507,7 +283129,7 @@ ENCODING 24848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 A200 @@ -243525,7 +283147,7 @@ ENCODING 24849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 27E0 @@ -243543,7 +283165,7 @@ ENCODING 24850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 37C0 @@ -243561,7 +283183,7 @@ ENCODING 24851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -243579,7 +283201,7 @@ ENCODING 24852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2440 @@ -243597,7 +283219,7 @@ ENCODING 24853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -243615,7 +283237,7 @@ ENCODING 24854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 B440 @@ -243633,7 +283255,7 @@ ENCODING 24855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 0900 13E0 @@ -243651,7 +283273,7 @@ ENCODING 24856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2A20 @@ -243669,7 +283291,7 @@ ENCODING 24857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -243687,7 +283309,7 @@ ENCODING 24858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -243705,7 +283327,7 @@ ENCODING 24859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2480 FFE0 @@ -243723,7 +283345,7 @@ ENCODING 24860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2900 2900 @@ -243741,7 +283363,7 @@ ENCODING 24861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 ABC0 @@ -243759,7 +283381,7 @@ ENCODING 24862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4100 4FE0 @@ -243777,7 +283399,7 @@ ENCODING 24863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7FE0 4100 @@ -243795,7 +283417,7 @@ ENCODING 24864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -243813,7 +283435,7 @@ ENCODING 24865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 52A0 @@ -243831,7 +283453,7 @@ ENCODING 24866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 4FE0 @@ -243849,7 +283471,7 @@ ENCODING 24867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 BAA0 @@ -243867,7 +283489,7 @@ ENCODING 24868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2540 @@ -243885,7 +283507,7 @@ ENCODING 24869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -243903,7 +283525,7 @@ ENCODING 24870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B540 @@ -243921,7 +283543,7 @@ ENCODING 24871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 A920 @@ -243939,7 +283561,7 @@ ENCODING 24872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FD40 2260 @@ -243957,7 +283579,7 @@ ENCODING 24873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FE0 @@ -243975,7 +283597,7 @@ ENCODING 24874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 B7E0 @@ -243993,7 +283615,7 @@ ENCODING 24875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B100 @@ -244011,7 +283633,7 @@ ENCODING 24876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 55E0 @@ -244029,7 +283651,7 @@ ENCODING 24877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B140 @@ -244047,7 +283669,7 @@ ENCODING 24878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 B520 @@ -244065,7 +283687,7 @@ ENCODING 24879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 B480 @@ -244083,7 +283705,7 @@ ENCODING 24880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -244101,7 +283723,7 @@ ENCODING 24881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 B500 @@ -244119,7 +283741,7 @@ ENCODING 24882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B740 @@ -244137,7 +283759,7 @@ ENCODING 24883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -244155,7 +283777,7 @@ ENCODING 24884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 B440 @@ -244173,7 +283795,7 @@ ENCODING 24885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 2220 @@ -244191,7 +283813,7 @@ ENCODING 24886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4240 E480 @@ -244209,7 +283831,7 @@ ENCODING 24887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2FE0 @@ -244227,7 +283849,7 @@ ENCODING 24888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 55E0 @@ -244245,7 +283867,7 @@ ENCODING 24889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 3820 @@ -244263,7 +283885,7 @@ ENCODING 24890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -244281,7 +283903,7 @@ ENCODING 24891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 1140 2380 @@ -244299,7 +283921,7 @@ ENCODING 24892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 4700 5400 @@ -244317,7 +283939,7 @@ ENCODING 24893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2200 @@ -244335,7 +283957,7 @@ ENCODING 24894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 A800 @@ -244353,7 +283975,7 @@ ENCODING 24895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4400 5FC0 @@ -244371,7 +283993,7 @@ ENCODING 24896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2A20 2540 @@ -244389,7 +284011,7 @@ ENCODING 24897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -244407,7 +284029,7 @@ ENCODING 24898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2480 8FC0 @@ -244425,7 +284047,7 @@ ENCODING 24899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2540 2AA0 @@ -244443,7 +284065,7 @@ ENCODING 24900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -244461,7 +284083,7 @@ ENCODING 24901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 B280 @@ -244479,7 +284101,7 @@ ENCODING 24902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 AA20 @@ -244497,7 +284119,7 @@ ENCODING 24903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4240 7860 @@ -244515,7 +284137,7 @@ ENCODING 24904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2940 @@ -244533,7 +284155,7 @@ ENCODING 24905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2500 @@ -244551,7 +284173,7 @@ ENCODING 24906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5FE0 4500 @@ -244569,7 +284191,7 @@ ENCODING 24907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4BC0 FE20 @@ -244587,7 +284209,7 @@ ENCODING 24908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2240 @@ -244605,7 +284227,7 @@ ENCODING 24909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 2540 @@ -244623,7 +284245,7 @@ ENCODING 24910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -244641,7 +284263,7 @@ ENCODING 24911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 27C0 @@ -244659,7 +284281,7 @@ ENCODING 24912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -244677,7 +284299,7 @@ ENCODING 24913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 A3C0 @@ -244695,7 +284317,7 @@ ENCODING 24914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3FE0 2AA0 @@ -244713,7 +284335,7 @@ ENCODING 24915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -244731,7 +284353,7 @@ ENCODING 24916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 B280 @@ -244749,7 +284371,7 @@ ENCODING 24917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -244767,7 +284389,7 @@ ENCODING 24918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 28A0 AFE0 @@ -244785,7 +284407,7 @@ ENCODING 24919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 5640 @@ -244803,7 +284425,7 @@ ENCODING 24920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 B7E0 @@ -244821,7 +284443,7 @@ ENCODING 24921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEC0 5500 @@ -244839,7 +284461,7 @@ ENCODING 24922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2FC0 B280 @@ -244857,7 +284479,7 @@ ENCODING 24923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 2FE0 @@ -244875,7 +284497,7 @@ ENCODING 24924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7E80 C5E0 @@ -244893,7 +284515,7 @@ ENCODING 24925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4900 7FC0 @@ -244911,7 +284533,7 @@ ENCODING 24926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B280 @@ -244929,7 +284551,7 @@ ENCODING 24927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2280 AF80 @@ -244947,7 +284569,7 @@ ENCODING 24928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4E80 C480 @@ -244965,7 +284587,7 @@ ENCODING 24929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -244983,7 +284605,7 @@ ENCODING 24930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -245001,7 +284623,7 @@ ENCODING 24931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 2FE0 @@ -245019,7 +284641,7 @@ ENCODING 24932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2260 @@ -245037,7 +284659,7 @@ ENCODING 24933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2A80 ABE0 @@ -245055,7 +284677,7 @@ ENCODING 24934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 FFE0 5540 @@ -245073,7 +284695,7 @@ ENCODING 24935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -245091,7 +284713,7 @@ ENCODING 24936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A80 AA80 @@ -245109,7 +284731,7 @@ ENCODING 24937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 57C0 7100 @@ -245127,7 +284749,7 @@ ENCODING 24938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 ABC0 @@ -245145,7 +284767,7 @@ ENCODING 24939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4480 AB40 @@ -245163,7 +284785,7 @@ ENCODING 24940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -245181,7 +284803,7 @@ ENCODING 24941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 FEA0 55E0 @@ -245199,7 +284821,7 @@ ENCODING 24942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -245217,7 +284839,7 @@ ENCODING 24943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 AC40 @@ -245235,7 +284857,7 @@ ENCODING 24944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 4440 7FE0 @@ -245253,7 +284875,7 @@ ENCODING 24945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A540 @@ -245271,7 +284893,7 @@ ENCODING 24946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2240 @@ -245289,7 +284911,7 @@ ENCODING 24947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFA0 @@ -245307,7 +284929,7 @@ ENCODING 24948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 AAA0 @@ -245325,7 +284947,7 @@ ENCODING 24949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 D140 @@ -245343,7 +284965,7 @@ ENCODING 24950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4900 @@ -245361,7 +284983,7 @@ ENCODING 24951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E940 @@ -245379,7 +285001,7 @@ ENCODING 24952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 FFE0 2A80 @@ -245397,7 +285019,7 @@ ENCODING 24953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2140 @@ -245415,7 +285037,7 @@ ENCODING 24954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B540 @@ -245433,7 +285055,7 @@ ENCODING 24955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5FC0 4200 @@ -245451,7 +285073,7 @@ ENCODING 24956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7FE0 4900 @@ -245469,7 +285091,7 @@ ENCODING 24957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 40A0 5FE0 @@ -245487,7 +285109,7 @@ ENCODING 24958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 55E0 AA20 @@ -245505,7 +285127,7 @@ ENCODING 24959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2900 0FC0 @@ -245523,7 +285145,7 @@ ENCODING 24960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 B360 @@ -245541,7 +285163,7 @@ ENCODING 24961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 4920 @@ -245559,7 +285181,7 @@ ENCODING 24962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 3F80 @@ -245577,7 +285199,7 @@ ENCODING 24963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0800 @@ -245595,7 +285217,7 @@ ENCODING 24964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 A100 @@ -245613,7 +285235,7 @@ ENCODING 24965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 1080 FFE0 @@ -245631,7 +285253,7 @@ ENCODING 24966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 2FE0 @@ -245649,7 +285271,7 @@ ENCODING 24967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 1240 FFE0 @@ -245667,7 +285289,7 @@ ENCODING 24968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4200 6FE0 @@ -245685,7 +285307,7 @@ ENCODING 24969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 3F40 A480 @@ -245703,7 +285325,7 @@ ENCODING 24970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3FE0 4480 @@ -245721,7 +285343,7 @@ ENCODING 24971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 39E0 7F40 @@ -245739,7 +285361,7 @@ ENCODING 24972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 45E0 FE20 @@ -245757,7 +285379,7 @@ ENCODING 24973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 AFE0 @@ -245775,7 +285397,7 @@ ENCODING 24974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AAA0 @@ -245793,7 +285415,7 @@ ENCODING 24975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4EE0 5320 @@ -245811,7 +285433,7 @@ ENCODING 24976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4680 DFE0 @@ -245829,7 +285451,7 @@ ENCODING 24977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2900 9FC0 @@ -245847,7 +285469,7 @@ ENCODING 24978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B540 @@ -245865,7 +285487,7 @@ ENCODING 24979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2540 @@ -245883,7 +285505,7 @@ ENCODING 24980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 27E0 B900 @@ -245901,7 +285523,7 @@ ENCODING 24981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2F40 2AA0 @@ -245919,7 +285541,7 @@ ENCODING 24982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 FEA0 55E0 @@ -245937,7 +285559,7 @@ ENCODING 24983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 5640 @@ -245955,7 +285577,7 @@ ENCODING 24984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -245973,7 +285595,7 @@ ENCODING 24985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2080 @@ -245991,7 +285613,7 @@ ENCODING 24986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -246009,7 +285631,7 @@ ENCODING 24987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -246027,7 +285649,7 @@ ENCODING 24988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 57E0 D500 @@ -246045,7 +285667,7 @@ ENCODING 24989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2540 @@ -246063,7 +285685,7 @@ ENCODING 24990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5E80 40E0 @@ -246081,7 +285703,7 @@ ENCODING 24991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -246099,7 +285721,7 @@ ENCODING 24992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5500 7FE0 @@ -246117,7 +285739,7 @@ ENCODING 24993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EE0 B540 @@ -246135,7 +285757,7 @@ ENCODING 24994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 B100 @@ -246153,7 +285775,7 @@ ENCODING 24995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 B380 @@ -246171,7 +285793,7 @@ ENCODING 24996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B540 @@ -246189,7 +285811,7 @@ ENCODING 24997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AD40 7380 3280 @@ -246207,7 +285829,7 @@ ENCODING 24998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 55A0 CEC0 @@ -246225,7 +285847,7 @@ ENCODING 24999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B280 @@ -246243,7 +285865,7 @@ ENCODING 25000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 11E0 FE40 @@ -246261,7 +285883,7 @@ ENCODING 25001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 E3E0 2220 @@ -246279,7 +285901,7 @@ ENCODING 25002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -246297,7 +285919,7 @@ ENCODING 25003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -246315,7 +285937,7 @@ ENCODING 25004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -246333,7 +285955,7 @@ ENCODING 25005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -246351,7 +285973,7 @@ ENCODING 25006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 2FE0 @@ -246369,7 +285991,7 @@ ENCODING 25007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 AFE0 @@ -246387,7 +286009,7 @@ ENCODING 25008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 AFE0 @@ -246405,7 +286027,7 @@ ENCODING 25009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2460 2F40 @@ -246423,7 +286045,7 @@ ENCODING 25010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8420 @@ -246441,7 +286063,7 @@ ENCODING 25011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 27C0 @@ -246459,7 +286081,7 @@ ENCODING 25012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AEE0 @@ -246477,7 +286099,7 @@ ENCODING 25013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -246495,7 +286117,7 @@ ENCODING 25014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 B280 @@ -246513,7 +286135,7 @@ ENCODING 25015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 B6C0 @@ -246531,7 +286153,7 @@ ENCODING 25016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 B440 @@ -246549,7 +286171,7 @@ ENCODING 25017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 5FC0 5540 @@ -246567,7 +286189,7 @@ ENCODING 25018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 AFE0 @@ -246585,7 +286207,7 @@ ENCODING 25019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5540 @@ -246603,7 +286225,7 @@ ENCODING 25020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 7FE0 2940 @@ -246621,7 +286243,7 @@ ENCODING 25021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FE0 6480 @@ -246639,7 +286261,7 @@ ENCODING 25022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 A900 @@ -246657,7 +286279,7 @@ ENCODING 25023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2E80 ABE0 @@ -246675,7 +286297,7 @@ ENCODING 25024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 4480 6B40 @@ -246693,7 +286315,7 @@ ENCODING 25025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -246711,7 +286333,7 @@ ENCODING 25026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 A7C0 @@ -246729,7 +286351,7 @@ ENCODING 25027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FE80 29E0 @@ -246747,7 +286369,7 @@ ENCODING 25028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5F80 4A80 @@ -246765,7 +286387,7 @@ ENCODING 25029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 AFE0 @@ -246783,7 +286405,7 @@ ENCODING 25030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -246801,7 +286423,7 @@ ENCODING 25031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33C0 EA40 53C0 @@ -246819,7 +286441,7 @@ ENCODING 25032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2EA0 B4A0 @@ -246837,7 +286459,7 @@ ENCODING 25033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4A80 @@ -246855,7 +286477,7 @@ ENCODING 25034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 5FC0 5AC0 @@ -246873,7 +286495,7 @@ ENCODING 25035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 F5E0 3F80 @@ -246891,7 +286513,7 @@ ENCODING 25036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -246909,7 +286531,7 @@ ENCODING 25037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 AAA0 @@ -246927,7 +286549,7 @@ ENCODING 25038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FC0 6A80 @@ -246945,7 +286567,7 @@ ENCODING 25039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FE0 5880 @@ -246963,7 +286585,7 @@ ENCODING 25040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 4AA0 @@ -246981,7 +286603,7 @@ ENCODING 25041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 BFE0 4480 @@ -246999,7 +286621,7 @@ ENCODING 25042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 28E0 3D40 @@ -247017,7 +286639,7 @@ ENCODING 25043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4E40 6580 @@ -247035,7 +286657,7 @@ ENCODING 25044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 ABA0 @@ -247053,7 +286675,7 @@ ENCODING 25045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 52C0 5EA0 @@ -247071,7 +286693,7 @@ ENCODING 25046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 5380 F880 @@ -247089,7 +286711,7 @@ ENCODING 25047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4880 5FE0 @@ -247107,7 +286729,7 @@ ENCODING 25048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 BFE0 5540 @@ -247125,7 +286747,7 @@ ENCODING 25049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4F60 4A20 @@ -247143,7 +286765,7 @@ ENCODING 25050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4A80 4FC0 @@ -247161,7 +286783,7 @@ ENCODING 25051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 4200 @@ -247179,7 +286801,7 @@ ENCODING 25052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 6480 @@ -247197,7 +286819,7 @@ ENCODING 25053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5400 5BE0 5140 @@ -247215,7 +286837,7 @@ ENCODING 25054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 A280 @@ -247233,7 +286855,7 @@ ENCODING 25055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA40 6C40 FFE0 @@ -247251,7 +286873,7 @@ ENCODING 25056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A160 @@ -247269,7 +286891,7 @@ ENCODING 25057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 5240 @@ -247287,7 +286909,7 @@ ENCODING 25058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E00 5480 5EE0 @@ -247305,7 +286927,7 @@ ENCODING 25059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 8480 @@ -247323,7 +286945,7 @@ ENCODING 25060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B100 @@ -247341,7 +286963,7 @@ ENCODING 25061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 BFE0 @@ -247359,7 +286981,7 @@ ENCODING 25062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 BFE0 @@ -247377,7 +286999,7 @@ ENCODING 25063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A920 @@ -247395,7 +287017,7 @@ ENCODING 25064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 AF60 @@ -247413,7 +287035,7 @@ ENCODING 25065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 A100 @@ -247431,7 +287053,7 @@ ENCODING 25066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 A7C0 @@ -247449,7 +287071,7 @@ ENCODING 25067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2DC0 2900 AFE0 @@ -247467,7 +287089,7 @@ ENCODING 25068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -247485,7 +287107,7 @@ ENCODING 25069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 A940 @@ -247503,7 +287125,7 @@ ENCODING 25070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 A7C0 @@ -247521,7 +287143,7 @@ ENCODING 25071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 FF00 55E0 @@ -247539,7 +287161,7 @@ ENCODING 25072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FA0 2AA0 AEA0 @@ -247557,7 +287179,7 @@ ENCODING 25073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -247575,7 +287197,7 @@ ENCODING 25074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3580 5FE0 A0A0 @@ -247593,7 +287215,7 @@ ENCODING 25075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 4480 @@ -247611,7 +287233,7 @@ ENCODING 25076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4EC0 64A0 @@ -247629,7 +287251,7 @@ ENCODING 25077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -247647,7 +287269,7 @@ ENCODING 25078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 5F40 C4E0 @@ -247665,7 +287287,7 @@ ENCODING 25079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -247683,7 +287305,7 @@ ENCODING 25080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4940 6B80 @@ -247701,7 +287323,7 @@ ENCODING 25081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B5A0 @@ -247719,7 +287341,7 @@ ENCODING 25082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AC0 35A0 BFE0 @@ -247737,7 +287359,7 @@ ENCODING 25083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2EC0 22A0 @@ -247755,7 +287377,7 @@ ENCODING 25084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 BEE0 @@ -247773,7 +287395,7 @@ ENCODING 25085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AEE0 @@ -247791,7 +287413,7 @@ ENCODING 25086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 A3C0 @@ -247809,7 +287431,7 @@ ENCODING 25087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 13E0 FD20 @@ -247827,7 +287449,7 @@ ENCODING 25088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4E80 E1E0 @@ -247845,7 +287467,7 @@ ENCODING 25089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 FFE0 2940 @@ -247863,7 +287485,7 @@ ENCODING 25090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 4A40 @@ -247881,7 +287503,7 @@ ENCODING 25091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 A820 @@ -247899,7 +287521,7 @@ ENCODING 25092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 AAA0 BAA0 @@ -247917,7 +287539,7 @@ ENCODING 25093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 57E0 @@ -247935,7 +287557,7 @@ ENCODING 25094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 51C0 FE20 @@ -247953,7 +287575,7 @@ ENCODING 25095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 5140 FFE0 @@ -247971,7 +287593,7 @@ ENCODING 25096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0900 0800 @@ -247988,26 +287610,26 @@ STARTCHAR U_6209 ENCODING 25097 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0500 -0480 -7FE0 -4400 -4440 -4440 -4480 -4300 -5320 -64A0 -4860 +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 +BITMAP 0280 0240 3FE0 @@ -248025,7 +287647,7 @@ ENCODING 25099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 FFE0 @@ -248043,7 +287665,7 @@ ENCODING 25100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 3FE0 @@ -248061,7 +287683,7 @@ ENCODING 25101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 7FE0 @@ -248079,7 +287701,7 @@ ENCODING 25102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 FFE0 @@ -248097,7 +287719,7 @@ ENCODING 25103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 7A40 0A00 @@ -248115,7 +287737,7 @@ ENCODING 25104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 7FE0 @@ -248133,7 +287755,7 @@ ENCODING 25105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 7240 1200 @@ -248151,7 +287773,7 @@ ENCODING 25106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 0220 FFE0 @@ -248169,7 +287791,7 @@ ENCODING 25107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 FFE0 @@ -248187,7 +287809,7 @@ ENCODING 25108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0FE0 F880 @@ -248205,7 +287827,7 @@ ENCODING 25109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 4920 49E0 @@ -248223,7 +287845,7 @@ ENCODING 25110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 FFE0 @@ -248241,7 +287863,7 @@ ENCODING 25111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 2920 45E0 @@ -248259,7 +287881,7 @@ ENCODING 25112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 3D00 @@ -248277,7 +287899,7 @@ ENCODING 25113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEC0 82A0 BA80 @@ -248295,7 +287917,7 @@ ENCODING 25114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 7FE0 @@ -248313,7 +287935,7 @@ ENCODING 25115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2080 3E80 @@ -248331,7 +287953,7 @@ ENCODING 25116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 0120 FFE0 @@ -248349,7 +287971,7 @@ ENCODING 25117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7940 4900 @@ -248367,7 +287989,7 @@ ENCODING 25118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 3F80 @@ -248385,7 +288007,7 @@ ENCODING 25119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FD20 1100 @@ -248403,7 +288025,7 @@ ENCODING 25120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FD20 4900 @@ -248421,7 +288043,7 @@ ENCODING 25121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 FD20 4900 @@ -248439,7 +288061,7 @@ ENCODING 25122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4920 4900 @@ -248457,7 +288079,7 @@ ENCODING 25123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 3520 EBE0 @@ -248475,7 +288097,7 @@ ENCODING 25124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 4920 5D00 @@ -248493,7 +288115,7 @@ ENCODING 25125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 4520 7D00 @@ -248511,7 +288133,7 @@ ENCODING 25126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A500 5980 7D40 @@ -248529,7 +288151,7 @@ ENCODING 25127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3940 5520 FF00 @@ -248547,7 +288169,7 @@ ENCODING 25128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 0520 7500 @@ -248565,7 +288187,7 @@ ENCODING 25129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 4920 B500 @@ -248583,7 +288205,7 @@ ENCODING 25130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7D20 1100 @@ -248601,7 +288223,7 @@ ENCODING 25131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 47E0 @@ -248619,7 +288241,7 @@ ENCODING 25132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 A920 6FE0 @@ -248637,7 +288259,7 @@ ENCODING 25133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FF20 8300 @@ -248655,7 +288277,7 @@ ENCODING 25134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 B520 6D00 @@ -248673,7 +288295,7 @@ ENCODING 25135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D40 1120 7D00 @@ -248691,7 +288313,7 @@ ENCODING 25136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEC0 AAA0 FE80 @@ -248709,7 +288331,7 @@ ENCODING 25137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 2140 FD20 @@ -248727,7 +288349,7 @@ ENCODING 25138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1CC0 10A0 FE80 @@ -248745,7 +288367,7 @@ ENCODING 25139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEC0 9AA0 5680 @@ -248763,7 +288385,7 @@ ENCODING 25140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 1120 FFE0 @@ -248781,7 +288403,7 @@ ENCODING 25141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 AAC0 EEA0 @@ -248798,8 +288420,8 @@ STARTCHAR U_6236 ENCODING 25142 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 01C0 3E00 2000 @@ -248816,8 +288438,8 @@ STARTCHAR U_6237 ENCODING 25143 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 0200 3FC0 @@ -248835,7 +288457,7 @@ ENCODING 25144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0000 3FC0 @@ -248853,7 +288475,7 @@ ENCODING 25145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -248871,7 +288493,7 @@ ENCODING 25146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 09E0 7D20 @@ -248889,7 +288511,7 @@ ENCODING 25147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3FC0 @@ -248907,7 +288529,7 @@ ENCODING 25148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A00 0A00 @@ -248925,7 +288547,7 @@ ENCODING 25149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -248943,7 +288565,7 @@ ENCODING 25150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4040 @@ -248961,7 +288583,7 @@ ENCODING 25151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 2040 @@ -248979,7 +288601,7 @@ ENCODING 25152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1860 6380 4200 @@ -248997,7 +288619,7 @@ ENCODING 25153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -249015,7 +288637,7 @@ ENCODING 25154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -249033,7 +288655,7 @@ ENCODING 25155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -249051,7 +288673,7 @@ ENCODING 25156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4020 @@ -249069,7 +288691,7 @@ ENCODING 25157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -249087,7 +288709,7 @@ ENCODING 25158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2020 @@ -249105,7 +288727,7 @@ ENCODING 25159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -249123,7 +288745,7 @@ ENCODING 25160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -249141,7 +288763,7 @@ ENCODING 25161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4020 @@ -249159,7 +288781,7 @@ ENCODING 25162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4040 @@ -249177,7 +288799,7 @@ ENCODING 25163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0400 @@ -249194,26 +288816,26 @@ STARTCHAR U_624C ENCODING 25164 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1000 -1000 -7C00 -1000 -1800 -7000 -1000 -1000 -1000 -3000 +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 +BITMAP 0100 0100 7FE0 @@ -249231,7 +288853,7 @@ ENCODING 25166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FA00 @@ -249249,7 +288871,7 @@ ENCODING 25167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F200 @@ -249267,7 +288889,7 @@ ENCODING 25168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBE0 @@ -249285,7 +288907,7 @@ ENCODING 25169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FD00 @@ -249303,7 +288925,7 @@ ENCODING 25170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2080 FA80 @@ -249321,7 +288943,7 @@ ENCODING 25171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -249339,7 +288961,7 @@ ENCODING 25172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FA40 @@ -249357,7 +288979,7 @@ ENCODING 25173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2100 F100 @@ -249375,7 +288997,7 @@ ENCODING 25174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2400 F200 @@ -249393,7 +289015,7 @@ ENCODING 25175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F100 @@ -249411,7 +289033,7 @@ ENCODING 25176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -249429,7 +289051,7 @@ ENCODING 25177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -249447,7 +289069,7 @@ ENCODING 25178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -249465,7 +289087,7 @@ ENCODING 25179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -249483,7 +289105,7 @@ ENCODING 25180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F880 @@ -249501,7 +289123,7 @@ ENCODING 25181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2000 F000 @@ -249519,7 +289141,7 @@ ENCODING 25182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F900 @@ -249537,7 +289159,7 @@ ENCODING 25183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2F80 F480 @@ -249555,7 +289177,7 @@ ENCODING 25184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FD40 @@ -249573,7 +289195,7 @@ ENCODING 25185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 FDC0 @@ -249591,7 +289213,7 @@ ENCODING 25186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -249609,7 +289231,7 @@ ENCODING 25187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FA20 @@ -249627,7 +289249,7 @@ ENCODING 25188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 FA80 @@ -249645,7 +289267,7 @@ ENCODING 25189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F1C0 @@ -249663,7 +289285,7 @@ ENCODING 25190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -249681,7 +289303,7 @@ ENCODING 25191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FF80 @@ -249698,8 +289320,8 @@ STARTCHAR U_6268 ENCODING 25192 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 27C0 F240 @@ -249717,7 +289339,7 @@ ENCODING 25193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -249735,7 +289357,7 @@ ENCODING 25194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 22E0 FC20 @@ -249753,7 +289375,7 @@ ENCODING 25195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F820 @@ -249771,7 +289393,7 @@ ENCODING 25196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2080 F900 @@ -249789,7 +289411,7 @@ ENCODING 25197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FA40 @@ -249807,7 +289429,7 @@ ENCODING 25198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA40 @@ -249825,7 +289447,7 @@ ENCODING 25199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F880 @@ -249843,7 +289465,7 @@ ENCODING 25200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 F920 @@ -249861,7 +289483,7 @@ ENCODING 25201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FA40 @@ -249879,7 +289501,7 @@ ENCODING 25202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -249897,7 +289519,7 @@ ENCODING 25203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FC00 @@ -249915,7 +289537,7 @@ ENCODING 25204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F280 @@ -249933,7 +289555,7 @@ ENCODING 25205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F200 @@ -249951,7 +289573,7 @@ ENCODING 25206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -249969,7 +289591,7 @@ ENCODING 25207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -249987,7 +289609,7 @@ ENCODING 25208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA80 @@ -250005,7 +289627,7 @@ ENCODING 25209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FC80 @@ -250023,7 +289645,7 @@ ENCODING 25210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 FC80 @@ -250041,7 +289663,7 @@ ENCODING 25211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -250059,7 +289681,7 @@ ENCODING 25212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FDE0 @@ -250077,7 +289699,7 @@ ENCODING 25213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -250095,7 +289717,7 @@ ENCODING 25214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FFE0 @@ -250113,7 +289735,7 @@ ENCODING 25215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 0200 0420 @@ -250131,7 +289753,7 @@ ENCODING 25216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -250149,7 +289771,7 @@ ENCODING 25217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 FC20 @@ -250167,7 +289789,7 @@ ENCODING 25218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F900 @@ -250185,7 +289807,7 @@ ENCODING 25219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 F800 @@ -250203,7 +289825,7 @@ ENCODING 25220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FB40 @@ -250221,7 +289843,7 @@ ENCODING 25221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F3E0 @@ -250239,7 +289861,7 @@ ENCODING 25222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -250257,7 +289879,7 @@ ENCODING 25223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA20 @@ -250275,7 +289897,7 @@ ENCODING 25224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA20 @@ -250293,7 +289915,7 @@ ENCODING 25225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBC0 @@ -250311,7 +289933,7 @@ ENCODING 25226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FD40 @@ -250329,7 +289951,7 @@ ENCODING 25227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 F900 @@ -250347,7 +289969,7 @@ ENCODING 25228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -250365,7 +289987,7 @@ ENCODING 25229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2640 F240 @@ -250383,7 +290005,7 @@ ENCODING 25230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 F800 @@ -250401,7 +290023,7 @@ ENCODING 25231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 F800 @@ -250419,7 +290041,7 @@ ENCODING 25232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -250437,7 +290059,7 @@ ENCODING 25233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 26E0 FCA0 @@ -250455,7 +290077,7 @@ ENCODING 25234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 FA80 @@ -250473,7 +290095,7 @@ ENCODING 25235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 27C0 FD40 @@ -250491,7 +290113,7 @@ ENCODING 25236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F900 @@ -250509,7 +290131,7 @@ ENCODING 25237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FA40 @@ -250527,7 +290149,7 @@ ENCODING 25238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 F940 @@ -250545,7 +290167,7 @@ ENCODING 25239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -250563,7 +290185,7 @@ ENCODING 25240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 FA00 @@ -250581,7 +290203,7 @@ ENCODING 25241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -250599,7 +290221,7 @@ ENCODING 25242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 F900 @@ -250617,7 +290239,7 @@ ENCODING 25243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2880 F9E0 @@ -250635,7 +290257,7 @@ ENCODING 25244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FA00 @@ -250653,7 +290275,7 @@ ENCODING 25245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 22E0 F220 @@ -250671,7 +290293,7 @@ ENCODING 25246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FA20 @@ -250689,7 +290311,7 @@ ENCODING 25247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -250707,7 +290329,7 @@ ENCODING 25248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC40 @@ -250725,7 +290347,7 @@ ENCODING 25249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -250743,7 +290365,7 @@ ENCODING 25250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -250761,7 +290383,7 @@ ENCODING 25251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -250779,7 +290401,7 @@ ENCODING 25252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -250797,7 +290419,7 @@ ENCODING 25253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -250815,7 +290437,7 @@ ENCODING 25254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F100 @@ -250833,7 +290455,7 @@ ENCODING 25255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FA20 @@ -250851,7 +290473,7 @@ ENCODING 25256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 F900 @@ -250869,7 +290491,7 @@ ENCODING 25257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFC0 @@ -250887,7 +290509,7 @@ ENCODING 25258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA00 @@ -250905,7 +290527,7 @@ ENCODING 25259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -250923,7 +290545,7 @@ ENCODING 25260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA40 @@ -250941,7 +290563,7 @@ ENCODING 25261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -250959,7 +290581,7 @@ ENCODING 25262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -250977,7 +290599,7 @@ ENCODING 25263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -250995,7 +290617,7 @@ ENCODING 25264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFC0 @@ -251013,7 +290635,7 @@ ENCODING 25265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F820 @@ -251031,7 +290653,7 @@ ENCODING 25266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F040 @@ -251049,7 +290671,7 @@ ENCODING 25267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -251067,7 +290689,7 @@ ENCODING 25268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2540 F540 @@ -251085,7 +290707,7 @@ ENCODING 25269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 FC80 @@ -251103,7 +290725,7 @@ ENCODING 25270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -251121,7 +290743,7 @@ ENCODING 25271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F880 @@ -251139,7 +290761,7 @@ ENCODING 25272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F900 @@ -251157,7 +290779,7 @@ ENCODING 25273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -251175,7 +290797,7 @@ ENCODING 25274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -251193,7 +290815,7 @@ ENCODING 25275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -251211,7 +290833,7 @@ ENCODING 25276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 FCA0 @@ -251229,7 +290851,7 @@ ENCODING 25277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F880 @@ -251247,7 +290869,7 @@ ENCODING 25278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -251265,7 +290887,7 @@ ENCODING 25279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -251283,7 +290905,7 @@ ENCODING 25280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F440 @@ -251301,7 +290923,7 @@ ENCODING 25281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2800 FEE0 @@ -251319,7 +290941,7 @@ ENCODING 25282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -251337,7 +290959,7 @@ ENCODING 25283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F7E0 @@ -251355,7 +290977,7 @@ ENCODING 25284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -251373,7 +290995,7 @@ ENCODING 25285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -251391,7 +291013,7 @@ ENCODING 25286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F400 @@ -251409,7 +291031,7 @@ ENCODING 25287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FD40 @@ -251427,7 +291049,7 @@ ENCODING 25288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F9E0 @@ -251445,7 +291067,7 @@ ENCODING 25289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -251463,7 +291085,7 @@ ENCODING 25290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FC40 @@ -251481,7 +291103,7 @@ ENCODING 25291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4880 E9E0 @@ -251499,7 +291121,7 @@ ENCODING 25292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 F540 @@ -251517,7 +291139,7 @@ ENCODING 25293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 FBE0 @@ -251535,7 +291157,7 @@ ENCODING 25294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -251553,7 +291175,7 @@ ENCODING 25295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FE40 4980 @@ -251571,7 +291193,7 @@ ENCODING 25296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -251589,7 +291211,7 @@ ENCODING 25297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FFE0 @@ -251607,7 +291229,7 @@ ENCODING 25298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC00 @@ -251625,7 +291247,7 @@ ENCODING 25299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -251643,7 +291265,7 @@ ENCODING 25300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FFE0 @@ -251661,7 +291283,7 @@ ENCODING 25301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F440 @@ -251679,7 +291301,7 @@ ENCODING 25302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F800 @@ -251697,7 +291319,7 @@ ENCODING 25303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 FC80 @@ -251715,7 +291337,7 @@ ENCODING 25304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -251733,7 +291355,7 @@ ENCODING 25305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FD40 @@ -251751,7 +291373,7 @@ ENCODING 25306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 FFA0 @@ -251769,7 +291391,7 @@ ENCODING 25307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 F920 @@ -251786,26 +291408,26 @@ STARTCHAR U_62DC ENCODING 25308 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0C00 -73E0 -1080 -7BE0 -1080 -13E0 -7C80 -13E0 -1080 -2080 -4080 +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 +BITMAP 27C0 2100 F7C0 @@ -251823,7 +291445,7 @@ ENCODING 25310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 20C0 F700 @@ -251841,7 +291463,7 @@ ENCODING 25311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2140 FD40 @@ -251859,7 +291481,7 @@ ENCODING 25312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 51C0 FD40 @@ -251877,7 +291499,7 @@ ENCODING 25313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -251895,7 +291517,7 @@ ENCODING 25314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 F200 @@ -251913,7 +291535,7 @@ ENCODING 25315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA00 @@ -251931,7 +291553,7 @@ ENCODING 25316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F3C0 @@ -251949,7 +291571,7 @@ ENCODING 25317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F920 @@ -251967,7 +291589,7 @@ ENCODING 25318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2240 FA80 @@ -251985,7 +291607,7 @@ ENCODING 25319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 F7E0 @@ -252003,7 +291625,7 @@ ENCODING 25320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FD20 @@ -252021,7 +291643,7 @@ ENCODING 25321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 F980 @@ -252039,7 +291661,7 @@ ENCODING 25322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F280 @@ -252057,7 +291679,7 @@ ENCODING 25323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -252075,7 +291697,7 @@ ENCODING 25324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -252093,7 +291715,7 @@ ENCODING 25325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -252111,7 +291733,7 @@ ENCODING 25326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -252129,7 +291751,7 @@ ENCODING 25327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2040 F980 @@ -252147,7 +291769,7 @@ ENCODING 25328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 25C0 FC80 @@ -252165,7 +291787,7 @@ ENCODING 25329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FA80 @@ -252183,7 +291805,7 @@ ENCODING 25330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FFE0 @@ -252201,7 +291823,7 @@ ENCODING 25331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 7FC0 0800 @@ -252219,7 +291841,7 @@ ENCODING 25332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -252237,7 +291859,7 @@ ENCODING 25333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F200 @@ -252255,7 +291877,7 @@ ENCODING 25334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 FAA0 @@ -252273,7 +291895,7 @@ ENCODING 25335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 F940 @@ -252291,7 +291913,7 @@ ENCODING 25336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 FE40 @@ -252309,7 +291931,7 @@ ENCODING 25337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FA40 @@ -252327,7 +291949,7 @@ ENCODING 25338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -252345,7 +291967,7 @@ ENCODING 25339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FFE0 @@ -252363,7 +291985,7 @@ ENCODING 25340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2240 FFE0 @@ -252381,7 +292003,7 @@ ENCODING 25341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -252399,7 +292021,7 @@ ENCODING 25342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -252417,7 +292039,7 @@ ENCODING 25343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 EEE0 @@ -252435,7 +292057,7 @@ ENCODING 25344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 F860 @@ -252453,7 +292075,7 @@ ENCODING 25345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -252471,7 +292093,7 @@ ENCODING 25346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -252489,7 +292111,7 @@ ENCODING 25347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FA00 @@ -252507,7 +292129,7 @@ ENCODING 25348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 F540 @@ -252525,7 +292147,7 @@ ENCODING 25349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 FAE0 @@ -252543,7 +292165,7 @@ ENCODING 25350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F440 @@ -252561,7 +292183,7 @@ ENCODING 25351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2260 FB80 @@ -252579,7 +292201,7 @@ ENCODING 25352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F8A0 20A0 @@ -252597,7 +292219,7 @@ ENCODING 25353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -252615,7 +292237,7 @@ ENCODING 25354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21C0 F900 @@ -252633,7 +292255,7 @@ ENCODING 25355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FC80 @@ -252651,7 +292273,7 @@ ENCODING 25356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FE40 @@ -252669,7 +292291,7 @@ ENCODING 25357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 F7E0 @@ -252687,7 +292309,7 @@ ENCODING 25358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -252705,7 +292327,7 @@ ENCODING 25359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FBA0 @@ -252723,7 +292345,7 @@ ENCODING 25360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A20 F3E0 @@ -252741,7 +292363,7 @@ ENCODING 25361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FAA0 @@ -252759,7 +292381,7 @@ ENCODING 25362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 2420 F4A0 @@ -252777,7 +292399,7 @@ ENCODING 25363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -252795,7 +292417,7 @@ ENCODING 25364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -252813,7 +292435,7 @@ ENCODING 25365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 FA40 @@ -252831,7 +292453,7 @@ ENCODING 25366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F420 @@ -252849,7 +292471,7 @@ ENCODING 25367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -252867,7 +292489,7 @@ ENCODING 25368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 F520 @@ -252885,7 +292507,7 @@ ENCODING 25369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 FFE0 @@ -252903,7 +292525,7 @@ ENCODING 25370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2940 @@ -252921,7 +292543,7 @@ ENCODING 25371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2940 @@ -252939,7 +292561,7 @@ ENCODING 25372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F280 @@ -252957,7 +292579,7 @@ ENCODING 25373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2840 F7E0 @@ -252975,7 +292597,7 @@ ENCODING 25374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2880 F480 @@ -252993,7 +292615,7 @@ ENCODING 25375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F920 @@ -253011,7 +292633,7 @@ ENCODING 25376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 FA80 @@ -253029,7 +292651,7 @@ ENCODING 25377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 FB40 @@ -253047,7 +292669,7 @@ ENCODING 25378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -253065,7 +292687,7 @@ ENCODING 25379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC80 @@ -253083,7 +292705,7 @@ ENCODING 25380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA40 @@ -253101,7 +292723,7 @@ ENCODING 25381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FA00 @@ -253119,7 +292741,7 @@ ENCODING 25382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -253137,7 +292759,7 @@ ENCODING 25383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F220 @@ -253155,7 +292777,7 @@ ENCODING 25384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 FFA0 @@ -253173,7 +292795,7 @@ ENCODING 25385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FC20 @@ -253191,7 +292813,7 @@ ENCODING 25386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4AA0 EAA0 @@ -253209,7 +292831,7 @@ ENCODING 25387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FD40 @@ -253227,7 +292849,7 @@ ENCODING 25388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -253245,7 +292867,7 @@ ENCODING 25389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -253263,7 +292885,7 @@ ENCODING 25390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7C0 @@ -253281,7 +292903,7 @@ ENCODING 25391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FDC0 @@ -253299,7 +292921,7 @@ ENCODING 25392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -253317,7 +292939,7 @@ ENCODING 25393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2480 F2C0 @@ -253335,7 +292957,7 @@ ENCODING 25394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 A540 5920 @@ -253353,7 +292975,7 @@ ENCODING 25395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 22A0 FAA0 @@ -253371,7 +292993,7 @@ ENCODING 25396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 FC00 @@ -253389,7 +293011,7 @@ ENCODING 25397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 F7C0 @@ -253407,7 +293029,7 @@ ENCODING 25398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -253425,7 +293047,7 @@ ENCODING 25399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2FE0 F4A0 @@ -253443,7 +293065,7 @@ ENCODING 25400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -253461,7 +293083,7 @@ ENCODING 25401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -253479,7 +293101,7 @@ ENCODING 25402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2FC0 FA40 @@ -253497,7 +293119,7 @@ ENCODING 25403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 23C0 FA40 @@ -253515,7 +293137,7 @@ ENCODING 25404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 27A0 FD20 @@ -253533,7 +293155,7 @@ ENCODING 25405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC80 @@ -253551,7 +293173,7 @@ ENCODING 25406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -253569,7 +293191,7 @@ ENCODING 25407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -253587,7 +293209,7 @@ ENCODING 25408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2680 F900 @@ -253605,7 +293227,7 @@ ENCODING 25409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2500 FFC0 @@ -253623,7 +293245,7 @@ ENCODING 25410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F7C0 @@ -253641,7 +293263,7 @@ ENCODING 25411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FFE0 @@ -253659,7 +293281,7 @@ ENCODING 25412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -253677,7 +293299,7 @@ ENCODING 25413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 F100 @@ -253695,7 +293317,7 @@ ENCODING 25414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F920 @@ -253713,7 +293335,7 @@ ENCODING 25415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -253731,7 +293353,7 @@ ENCODING 25416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -253749,7 +293371,7 @@ ENCODING 25417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -253767,7 +293389,7 @@ ENCODING 25418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 FD20 @@ -253785,7 +293407,7 @@ ENCODING 25419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 F920 @@ -253803,7 +293425,7 @@ ENCODING 25420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F20 2920 F920 @@ -253821,7 +293443,7 @@ ENCODING 25421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -253839,7 +293461,7 @@ ENCODING 25422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 FB40 @@ -253857,7 +293479,7 @@ ENCODING 25423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -253875,7 +293497,7 @@ ENCODING 25424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -253893,7 +293515,7 @@ ENCODING 25425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 FDE0 @@ -253911,7 +293533,7 @@ ENCODING 25426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -253929,7 +293551,7 @@ ENCODING 25427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FAA0 @@ -253947,7 +293569,7 @@ ENCODING 25428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFE0 @@ -253965,7 +293587,7 @@ ENCODING 25429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -253983,7 +293605,7 @@ ENCODING 25430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -254001,7 +293623,7 @@ ENCODING 25431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 25E0 FD00 @@ -254019,7 +293641,7 @@ ENCODING 25432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 FFA0 @@ -254037,7 +293659,7 @@ ENCODING 25433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -254055,7 +293677,7 @@ ENCODING 25434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -254073,7 +293695,7 @@ ENCODING 25435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 F240 @@ -254091,7 +293713,7 @@ ENCODING 25436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -254109,7 +293731,7 @@ ENCODING 25437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2240 FA80 @@ -254127,7 +293749,7 @@ ENCODING 25438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -254145,7 +293767,7 @@ ENCODING 25439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -254163,7 +293785,7 @@ ENCODING 25440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F400 @@ -254181,7 +293803,7 @@ ENCODING 25441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -254199,7 +293821,7 @@ ENCODING 25442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC80 @@ -254217,7 +293839,7 @@ ENCODING 25443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC40 @@ -254235,7 +293857,7 @@ ENCODING 25444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -254253,7 +293875,7 @@ ENCODING 25445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -254271,7 +293893,7 @@ ENCODING 25446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F500 @@ -254289,7 +293911,7 @@ ENCODING 25447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -254307,7 +293929,7 @@ ENCODING 25448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -254325,7 +293947,7 @@ ENCODING 25449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -254343,7 +293965,7 @@ ENCODING 25450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FD00 @@ -254361,7 +293983,7 @@ ENCODING 25451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -254379,7 +294001,7 @@ ENCODING 25452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -254397,7 +294019,7 @@ ENCODING 25453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -254415,7 +294037,7 @@ ENCODING 25454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -254433,7 +294055,7 @@ ENCODING 25455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2F20 F4A0 @@ -254451,7 +294073,7 @@ ENCODING 25456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -254469,7 +294091,7 @@ ENCODING 25457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC80 @@ -254487,7 +294109,7 @@ ENCODING 25458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -254505,7 +294127,7 @@ ENCODING 25459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 FC00 @@ -254523,7 +294145,7 @@ ENCODING 25460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2280 F480 @@ -254541,7 +294163,7 @@ ENCODING 25461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -254559,7 +294181,7 @@ ENCODING 25462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F100 @@ -254577,7 +294199,7 @@ ENCODING 25463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -254595,7 +294217,7 @@ ENCODING 25464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F940 @@ -254613,7 +294235,7 @@ ENCODING 25465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -254631,7 +294253,7 @@ ENCODING 25466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -254649,7 +294271,7 @@ ENCODING 25467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -254667,7 +294289,7 @@ ENCODING 25468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -254685,7 +294307,7 @@ ENCODING 25469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -254703,7 +294325,7 @@ ENCODING 25470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -254721,7 +294343,7 @@ ENCODING 25471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F280 @@ -254739,7 +294361,7 @@ ENCODING 25472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2C80 F8E0 @@ -254757,7 +294379,7 @@ ENCODING 25473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FFC0 @@ -254775,7 +294397,7 @@ ENCODING 25474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -254793,7 +294415,7 @@ ENCODING 25475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -254811,7 +294433,7 @@ ENCODING 25476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 FBA0 @@ -254829,7 +294451,7 @@ ENCODING 25477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -254847,7 +294469,7 @@ ENCODING 25478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2AA0 @@ -254865,7 +294487,7 @@ ENCODING 25479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 F240 @@ -254883,7 +294505,7 @@ ENCODING 25480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2A20 F540 @@ -254901,7 +294523,7 @@ ENCODING 25481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -254919,7 +294541,7 @@ ENCODING 25482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -254937,7 +294559,7 @@ ENCODING 25483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F800 @@ -254955,7 +294577,7 @@ ENCODING 25484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -254973,7 +294595,7 @@ ENCODING 25485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -254991,7 +294613,7 @@ ENCODING 25486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -255009,7 +294631,7 @@ ENCODING 25487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F820 @@ -255027,7 +294649,7 @@ ENCODING 25488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 F440 @@ -255045,7 +294667,7 @@ ENCODING 25489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -255063,7 +294685,7 @@ ENCODING 25490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FEE0 @@ -255081,7 +294703,7 @@ ENCODING 25491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2700 F4E0 @@ -255099,7 +294721,7 @@ ENCODING 25492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 A240 FA40 @@ -255117,7 +294739,7 @@ ENCODING 25493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -255135,7 +294757,7 @@ ENCODING 25494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F480 @@ -255153,7 +294775,7 @@ ENCODING 25495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 F280 @@ -255171,7 +294793,7 @@ ENCODING 25496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -255189,7 +294811,7 @@ ENCODING 25497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2FA0 FA40 @@ -255207,7 +294829,7 @@ ENCODING 25498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F100 @@ -255225,7 +294847,7 @@ ENCODING 25499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FE80 @@ -255243,7 +294865,7 @@ ENCODING 25500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2E60 F820 @@ -255261,7 +294883,7 @@ ENCODING 25501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -255279,7 +294901,7 @@ ENCODING 25502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2540 F580 @@ -255297,7 +294919,7 @@ ENCODING 25503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -255315,7 +294937,7 @@ ENCODING 25504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F000 @@ -255333,7 +294955,7 @@ ENCODING 25505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2FA0 FA20 @@ -255351,7 +294973,7 @@ ENCODING 25506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 F280 @@ -255369,7 +294991,7 @@ ENCODING 25507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5020 7EA0 90A0 @@ -255387,7 +295009,7 @@ ENCODING 25508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -255405,7 +295027,7 @@ ENCODING 25509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -255423,7 +295045,7 @@ ENCODING 25510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -255441,7 +295063,7 @@ ENCODING 25511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -255459,7 +295081,7 @@ ENCODING 25512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2480 F7E0 @@ -255477,7 +295099,7 @@ ENCODING 25513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -255495,7 +295117,7 @@ ENCODING 25514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 F280 @@ -255513,7 +295135,7 @@ ENCODING 25515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2BE0 FAA0 @@ -255531,7 +295153,7 @@ ENCODING 25516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F960 @@ -255549,7 +295171,7 @@ ENCODING 25517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -255567,7 +295189,7 @@ ENCODING 25518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F420 @@ -255585,7 +295207,7 @@ ENCODING 25519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 22E0 F280 @@ -255603,7 +295225,7 @@ ENCODING 25520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 EDC0 4A40 @@ -255621,7 +295243,7 @@ ENCODING 25521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 3F80 @@ -255639,7 +295261,7 @@ ENCODING 25522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -255657,7 +295279,7 @@ ENCODING 25523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 F7E0 @@ -255675,7 +295297,7 @@ ENCODING 25524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -255693,7 +295315,7 @@ ENCODING 25525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F280 @@ -255711,7 +295333,7 @@ ENCODING 25526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -255729,7 +295351,7 @@ ENCODING 25527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 24A0 FFA0 @@ -255747,7 +295369,7 @@ ENCODING 25528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7C0 @@ -255765,7 +295387,7 @@ ENCODING 25529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2080 F100 @@ -255783,7 +295405,7 @@ ENCODING 25530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 FFA0 @@ -255801,7 +295423,7 @@ ENCODING 25531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2480 F300 @@ -255819,7 +295441,7 @@ ENCODING 25532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFE0 @@ -255837,7 +295459,7 @@ ENCODING 25533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F000 @@ -255855,7 +295477,7 @@ ENCODING 25534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 F780 @@ -255873,7 +295495,7 @@ ENCODING 25535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 F280 @@ -255891,7 +295513,7 @@ ENCODING 25536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -255908,8 +295530,8 @@ STARTCHAR U_63C1 ENCODING 25537 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 23C0 2200 FFC0 @@ -255927,7 +295549,7 @@ ENCODING 25538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -255945,7 +295567,7 @@ ENCODING 25539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -255963,7 +295585,7 @@ ENCODING 25540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 FFA0 @@ -255981,7 +295603,7 @@ ENCODING 25541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2140 3BE0 @@ -255999,7 +295621,7 @@ ENCODING 25542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2580 F2A0 @@ -256017,7 +295639,7 @@ ENCODING 25543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -256035,7 +295657,7 @@ ENCODING 25544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FA20 @@ -256053,7 +295675,7 @@ ENCODING 25545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 FFE0 @@ -256071,7 +295693,7 @@ ENCODING 25546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 F7C0 @@ -256089,7 +295711,7 @@ ENCODING 25547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -256107,7 +295729,7 @@ ENCODING 25548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -256125,7 +295747,7 @@ ENCODING 25549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -256143,7 +295765,7 @@ ENCODING 25550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -256161,7 +295783,7 @@ ENCODING 25551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -256179,7 +295801,7 @@ ENCODING 25552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -256197,7 +295819,7 @@ ENCODING 25553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 26E0 F420 @@ -256215,7 +295837,7 @@ ENCODING 25554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -256233,7 +295855,7 @@ ENCODING 25555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 45E0 FE00 @@ -256251,7 +295873,7 @@ ENCODING 25556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FAA0 @@ -256269,7 +295891,7 @@ ENCODING 25557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 F240 @@ -256287,7 +295909,7 @@ ENCODING 25558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -256305,7 +295927,7 @@ ENCODING 25559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2880 FFE0 @@ -256323,7 +295945,7 @@ ENCODING 25560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F440 @@ -256341,7 +295963,7 @@ ENCODING 25561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -256359,7 +295981,7 @@ ENCODING 25562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -256377,7 +295999,7 @@ ENCODING 25563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F480 @@ -256395,7 +296017,7 @@ ENCODING 25564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F7C0 @@ -256413,7 +296035,7 @@ ENCODING 25565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26C0 FAA0 @@ -256431,7 +296053,7 @@ ENCODING 25566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -256449,7 +296071,7 @@ ENCODING 25567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 FDC0 @@ -256467,7 +296089,7 @@ ENCODING 25568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 FBC0 @@ -256485,7 +296107,7 @@ ENCODING 25569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 F7E0 @@ -256503,7 +296125,7 @@ ENCODING 25570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA40 @@ -256521,7 +296143,7 @@ ENCODING 25571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 FFE0 @@ -256539,7 +296161,7 @@ ENCODING 25572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 FAA0 @@ -256557,7 +296179,7 @@ ENCODING 25573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -256575,7 +296197,7 @@ ENCODING 25574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2FA0 F220 @@ -256593,7 +296215,7 @@ ENCODING 25575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 FEA0 54A0 @@ -256611,7 +296233,7 @@ ENCODING 25576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F000 @@ -256629,7 +296251,7 @@ ENCODING 25577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24A0 FFC0 @@ -256647,7 +296269,7 @@ ENCODING 25578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2480 F4A0 @@ -256665,7 +296287,7 @@ ENCODING 25579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 22A0 FCC0 @@ -256683,7 +296305,7 @@ ENCODING 25580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F840 @@ -256701,7 +296323,7 @@ ENCODING 25581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -256719,7 +296341,7 @@ ENCODING 25582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -256737,7 +296359,7 @@ ENCODING 25583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2480 F500 @@ -256755,7 +296377,7 @@ ENCODING 25584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -256773,7 +296395,7 @@ ENCODING 25585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D620 7D20 4520 @@ -256791,7 +296413,7 @@ ENCODING 25586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F540 @@ -256809,7 +296431,7 @@ ENCODING 25587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2EA0 F4A0 @@ -256827,7 +296449,7 @@ ENCODING 25588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2520 F2C0 @@ -256845,7 +296467,7 @@ ENCODING 25589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 23E0 F2A0 @@ -256863,7 +296485,7 @@ ENCODING 25590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2AA0 FAA0 @@ -256881,7 +296503,7 @@ ENCODING 25591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 F100 @@ -256899,7 +296521,7 @@ ENCODING 25592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -256917,7 +296539,7 @@ ENCODING 25593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2EC0 F2A0 @@ -256935,7 +296557,7 @@ ENCODING 25594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2700 F020 @@ -256953,7 +296575,7 @@ ENCODING 25595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4140 FFE0 @@ -256971,7 +296593,7 @@ ENCODING 25596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4400 EFC0 @@ -256989,7 +296611,7 @@ ENCODING 25597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AE0 FB40 @@ -257007,7 +296629,7 @@ ENCODING 25598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 4880 EF80 @@ -257025,7 +296647,7 @@ ENCODING 25599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2E80 F0E0 @@ -257043,7 +296665,7 @@ ENCODING 25600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 F880 @@ -257061,7 +296683,7 @@ ENCODING 25601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4420 F7E0 @@ -257079,7 +296701,7 @@ ENCODING 25602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -257097,7 +296719,7 @@ ENCODING 25603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7E0 @@ -257115,7 +296737,7 @@ ENCODING 25604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 E800 @@ -257133,7 +296755,7 @@ ENCODING 25605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 2540 FFE0 @@ -257151,7 +296773,7 @@ ENCODING 25606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -257169,7 +296791,7 @@ ENCODING 25607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 5CE0 E200 @@ -257187,7 +296809,7 @@ ENCODING 25608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F840 @@ -257205,7 +296827,7 @@ ENCODING 25609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA20 @@ -257223,7 +296845,7 @@ ENCODING 25610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2FE0 F520 @@ -257241,7 +296863,7 @@ ENCODING 25611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 28E0 F880 @@ -257259,7 +296881,7 @@ ENCODING 25612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 F7E0 @@ -257277,7 +296899,7 @@ ENCODING 25613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -257295,7 +296917,7 @@ ENCODING 25614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F40 2280 F540 @@ -257313,7 +296935,7 @@ ENCODING 25615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 F540 @@ -257331,7 +296953,7 @@ ENCODING 25616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -257349,7 +296971,7 @@ ENCODING 25617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -257367,7 +296989,7 @@ ENCODING 25618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F280 @@ -257385,7 +297007,7 @@ ENCODING 25619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -257403,7 +297025,7 @@ ENCODING 25620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2520 FA40 @@ -257421,7 +297043,7 @@ ENCODING 25621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -257439,7 +297061,7 @@ ENCODING 25622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 F540 @@ -257457,7 +297079,7 @@ ENCODING 25623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC40 @@ -257475,7 +297097,7 @@ ENCODING 25624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 2140 FFE0 @@ -257493,7 +297115,7 @@ ENCODING 25625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 FFE0 @@ -257511,7 +297133,7 @@ ENCODING 25626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 FFE0 @@ -257529,7 +297151,7 @@ ENCODING 25627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2FE0 F500 @@ -257547,7 +297169,7 @@ ENCODING 25628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2D60 F920 @@ -257565,7 +297187,7 @@ ENCODING 25629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 F840 @@ -257583,7 +297205,7 @@ ENCODING 25630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -257601,7 +297223,7 @@ ENCODING 25631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 5F40 E440 @@ -257619,7 +297241,7 @@ ENCODING 25632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 24A0 FFA0 @@ -257637,7 +297259,7 @@ ENCODING 25633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 F7E0 @@ -257655,7 +297277,7 @@ ENCODING 25634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FAA0 @@ -257673,7 +297295,7 @@ ENCODING 25635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -257691,7 +297313,7 @@ ENCODING 25636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F000 @@ -257709,7 +297331,7 @@ ENCODING 25637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25E0 F520 @@ -257727,7 +297349,7 @@ ENCODING 25638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 FEE0 @@ -257745,7 +297367,7 @@ ENCODING 25639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -257763,7 +297385,7 @@ ENCODING 25640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -257781,7 +297403,7 @@ ENCODING 25641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 27E0 F940 @@ -257799,7 +297421,7 @@ ENCODING 25642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -257817,7 +297439,7 @@ ENCODING 25643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 AA60 FFC0 @@ -257835,7 +297457,7 @@ ENCODING 25644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 5DC0 F540 @@ -257853,7 +297475,7 @@ ENCODING 25645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -257871,7 +297493,7 @@ ENCODING 25646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -257889,7 +297511,7 @@ ENCODING 25647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 F520 @@ -257907,7 +297529,7 @@ ENCODING 25648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F740 @@ -257925,7 +297547,7 @@ ENCODING 25649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 F7E0 @@ -257943,7 +297565,7 @@ ENCODING 25650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 FAC0 @@ -257961,7 +297583,7 @@ ENCODING 25651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -257979,7 +297601,7 @@ ENCODING 25652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4920 @@ -257997,7 +297619,7 @@ ENCODING 25653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FEC0 @@ -258015,7 +297637,7 @@ ENCODING 25654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F540 @@ -258033,7 +297655,7 @@ ENCODING 25655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -258051,7 +297673,7 @@ ENCODING 25656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 E200 @@ -258069,7 +297691,7 @@ ENCODING 25657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 F7C0 @@ -258087,7 +297709,7 @@ ENCODING 25658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F480 @@ -258105,7 +297727,7 @@ ENCODING 25659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1B00 6EC0 @@ -258123,7 +297745,7 @@ ENCODING 25660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F100 @@ -258141,7 +297763,7 @@ ENCODING 25661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -258159,7 +297781,7 @@ ENCODING 25662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -258177,7 +297799,7 @@ ENCODING 25663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12E0 E640 2940 @@ -258195,7 +297817,7 @@ ENCODING 25664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 F440 @@ -258213,7 +297835,7 @@ ENCODING 25665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FFE0 @@ -258231,7 +297853,7 @@ ENCODING 25666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 FBC0 @@ -258249,7 +297871,7 @@ ENCODING 25667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -258267,7 +297889,7 @@ ENCODING 25668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 FBC0 @@ -258285,7 +297907,7 @@ ENCODING 25669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFE0 @@ -258303,7 +297925,7 @@ ENCODING 25670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -258321,7 +297943,7 @@ ENCODING 25671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 FA20 @@ -258339,7 +297961,7 @@ ENCODING 25672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -258357,7 +297979,7 @@ ENCODING 25673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F020 @@ -258375,7 +297997,7 @@ ENCODING 25674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2E40 F3E0 @@ -258393,7 +298015,7 @@ ENCODING 25675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55C0 4940 F540 @@ -258411,7 +298033,7 @@ ENCODING 25676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -258429,7 +298051,7 @@ ENCODING 25677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -258447,7 +298069,7 @@ ENCODING 25678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 F660 @@ -258465,7 +298087,7 @@ ENCODING 25679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 E200 @@ -258483,7 +298105,7 @@ ENCODING 25680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 F940 @@ -258501,7 +298123,7 @@ ENCODING 25681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5160 FFE0 @@ -258519,7 +298141,7 @@ ENCODING 25682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -258537,7 +298159,7 @@ ENCODING 25683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 27E0 F540 @@ -258555,7 +298177,7 @@ ENCODING 25684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -258573,7 +298195,7 @@ ENCODING 25685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 7FE0 5540 @@ -258591,7 +298213,7 @@ ENCODING 25686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 5E20 F2C0 @@ -258609,7 +298231,7 @@ ENCODING 25687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5F80 E4E0 @@ -258627,7 +298249,7 @@ ENCODING 25688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -258645,7 +298267,7 @@ ENCODING 25689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2480 F3E0 @@ -258663,7 +298285,7 @@ ENCODING 25690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FFE0 @@ -258681,7 +298303,7 @@ ENCODING 25691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -258699,7 +298321,7 @@ ENCODING 25692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFE0 @@ -258717,7 +298339,7 @@ ENCODING 25693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -258735,7 +298357,7 @@ ENCODING 25694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -258753,7 +298375,7 @@ ENCODING 25695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F540 @@ -258771,7 +298393,7 @@ ENCODING 25696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FA40 @@ -258789,7 +298411,7 @@ ENCODING 25697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 F940 @@ -258807,7 +298429,7 @@ ENCODING 25698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4200 FFE0 @@ -258825,7 +298447,7 @@ ENCODING 25699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4200 FFE0 @@ -258843,7 +298465,7 @@ ENCODING 25700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -258861,7 +298483,7 @@ ENCODING 25701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FC40 @@ -258879,7 +298501,7 @@ ENCODING 25702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4AA0 F6A0 @@ -258897,7 +298519,7 @@ ENCODING 25703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 24A0 F7E0 @@ -258915,7 +298537,7 @@ ENCODING 25704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -258933,7 +298555,7 @@ ENCODING 25705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -258951,7 +298573,7 @@ ENCODING 25706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 55E0 F720 @@ -258969,7 +298591,7 @@ ENCODING 25707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 FFE0 @@ -258987,7 +298609,7 @@ ENCODING 25708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F280 @@ -259005,7 +298627,7 @@ ENCODING 25709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -259023,7 +298645,7 @@ ENCODING 25710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1140 @@ -259041,7 +298663,7 @@ ENCODING 25711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FF80 2280 @@ -259059,7 +298681,7 @@ ENCODING 25712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5940 @@ -259077,7 +298699,7 @@ ENCODING 25713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -259095,7 +298717,7 @@ ENCODING 25714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2FC0 F280 @@ -259113,7 +298735,7 @@ ENCODING 25715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 FBC0 @@ -259131,7 +298753,7 @@ ENCODING 25716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -259149,7 +298771,7 @@ ENCODING 25717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -259167,7 +298789,7 @@ ENCODING 25718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -259185,7 +298807,7 @@ ENCODING 25719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 F540 @@ -259203,7 +298825,7 @@ ENCODING 25720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -259221,7 +298843,7 @@ ENCODING 25721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 2080 @@ -259239,7 +298861,7 @@ ENCODING 25722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 F660 @@ -259257,7 +298879,7 @@ ENCODING 25723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 F7E0 @@ -259275,7 +298897,7 @@ ENCODING 25724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F00 2AE0 FF20 @@ -259293,7 +298915,7 @@ ENCODING 25725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -259311,7 +298933,7 @@ ENCODING 25726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 5DE0 E520 @@ -259329,7 +298951,7 @@ ENCODING 25727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F540 @@ -259347,7 +298969,7 @@ ENCODING 25728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 1220 @@ -259365,7 +298987,7 @@ ENCODING 25729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -259383,7 +299005,7 @@ ENCODING 25730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -259401,7 +299023,7 @@ ENCODING 25731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 5620 @@ -259419,7 +299041,7 @@ ENCODING 25732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FAA0 @@ -259437,7 +299059,7 @@ ENCODING 25733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2D80 FA80 @@ -259455,7 +299077,7 @@ ENCODING 25734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9500 59E0 FF20 @@ -259473,7 +299095,7 @@ ENCODING 25735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5580 4E80 E4E0 @@ -259491,7 +299113,7 @@ ENCODING 25736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 FA40 @@ -259509,7 +299131,7 @@ ENCODING 25737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4BE0 FD40 @@ -259527,7 +299149,7 @@ ENCODING 25738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 52A0 FEE0 @@ -259545,7 +299167,7 @@ ENCODING 25739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -259563,7 +299185,7 @@ ENCODING 25740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F540 @@ -259581,7 +299203,7 @@ ENCODING 25741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4A40 EFE0 @@ -259599,7 +299221,7 @@ ENCODING 25742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -259617,7 +299239,7 @@ ENCODING 25743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2040 FFC0 @@ -259635,7 +299257,7 @@ ENCODING 25744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F4A0 @@ -259653,7 +299275,7 @@ ENCODING 25745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F820 @@ -259671,7 +299293,7 @@ ENCODING 25746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3F80 EAE0 @@ -259689,7 +299311,7 @@ ENCODING 25747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -259707,7 +299329,7 @@ ENCODING 25748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -259725,7 +299347,7 @@ ENCODING 25749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 2AC0 FF80 @@ -259743,7 +299365,7 @@ ENCODING 25750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 24E0 FFA0 @@ -259761,7 +299383,7 @@ ENCODING 25751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -259779,7 +299401,7 @@ ENCODING 25752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26E0 FA40 @@ -259797,7 +299419,7 @@ ENCODING 25753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -259815,7 +299437,7 @@ ENCODING 25754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26C0 FAA0 @@ -259833,7 +299455,7 @@ ENCODING 25755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4680 FFE0 @@ -259851,7 +299473,7 @@ ENCODING 25756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E40 2BA0 F6C0 @@ -259869,7 +299491,7 @@ ENCODING 25757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F40 F540 @@ -259887,7 +299509,7 @@ ENCODING 25758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -259905,7 +299527,7 @@ ENCODING 25759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -259923,7 +299545,7 @@ ENCODING 25760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 F4A0 @@ -259941,7 +299563,7 @@ ENCODING 25761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47C0 F440 @@ -259959,7 +299581,7 @@ ENCODING 25762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -259977,7 +299599,7 @@ ENCODING 25763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FFE0 @@ -259995,7 +299617,7 @@ ENCODING 25764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5F80 EAE0 @@ -260013,7 +299635,7 @@ ENCODING 25765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2AA0 F440 @@ -260031,7 +299653,7 @@ ENCODING 25766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F240 @@ -260049,7 +299671,7 @@ ENCODING 25767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 49C0 F240 @@ -260067,7 +299689,7 @@ ENCODING 25768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4480 F7E0 @@ -260085,7 +299707,7 @@ ENCODING 25769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -260103,7 +299725,7 @@ ENCODING 25770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47C0 F100 @@ -260121,7 +299743,7 @@ ENCODING 25771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FD40 @@ -260139,7 +299761,7 @@ ENCODING 25772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2700 F1C0 @@ -260157,7 +299779,7 @@ ENCODING 25773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 F540 @@ -260175,7 +299797,7 @@ ENCODING 25774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -260193,7 +299815,7 @@ ENCODING 25775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FE0 F200 @@ -260211,7 +299833,7 @@ ENCODING 25776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -260229,7 +299851,7 @@ ENCODING 25777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2BE0 FB00 @@ -260247,7 +299869,7 @@ ENCODING 25778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 FFE0 @@ -260265,7 +299887,7 @@ ENCODING 25779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2A80 F1E0 @@ -260283,7 +299905,7 @@ ENCODING 25780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5E80 E080 @@ -260301,7 +299923,7 @@ ENCODING 25781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2440 FEE0 @@ -260319,7 +299941,7 @@ ENCODING 25782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -260337,7 +299959,7 @@ ENCODING 25783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 3C80 EBE0 @@ -260355,7 +299977,7 @@ ENCODING 25784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFC0 @@ -260373,7 +299995,7 @@ ENCODING 25785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4580 FFE0 @@ -260391,7 +300013,7 @@ ENCODING 25786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -260409,7 +300031,7 @@ ENCODING 25787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2480 F3E0 @@ -260427,7 +300049,7 @@ ENCODING 25788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 4FE0 E880 @@ -260445,7 +300067,7 @@ ENCODING 25789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2E80 FBE0 @@ -260463,7 +300085,7 @@ ENCODING 25790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 2640 F340 @@ -260481,7 +300103,7 @@ ENCODING 25791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -260499,7 +300121,7 @@ ENCODING 25792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2F40 F2A0 @@ -260517,7 +300139,7 @@ ENCODING 25793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -260535,7 +300157,7 @@ ENCODING 25794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -260553,7 +300175,7 @@ ENCODING 25795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FAA0 @@ -260571,7 +300193,7 @@ ENCODING 25796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2200 FFE0 @@ -260589,7 +300211,7 @@ ENCODING 25797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -260607,7 +300229,7 @@ ENCODING 25798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -260625,7 +300247,7 @@ ENCODING 25799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -260643,7 +300265,7 @@ ENCODING 25800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 FFE0 @@ -260661,7 +300283,7 @@ ENCODING 25801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -260679,7 +300301,7 @@ ENCODING 25802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A940 F960 @@ -260697,7 +300319,7 @@ ENCODING 25803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -260715,7 +300337,7 @@ ENCODING 25804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4EE0 F540 @@ -260733,7 +300355,7 @@ ENCODING 25805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -260751,7 +300373,7 @@ ENCODING 25806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 FF40 @@ -260769,7 +300391,7 @@ ENCODING 25807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3F80 EAE0 @@ -260787,7 +300409,7 @@ ENCODING 25808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -260805,7 +300427,7 @@ ENCODING 25809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4EC0 EAA0 @@ -260823,7 +300445,7 @@ ENCODING 25810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2540 FFE0 @@ -260841,7 +300463,7 @@ ENCODING 25811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5A40 57E0 @@ -260859,7 +300481,7 @@ ENCODING 25812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 FFE0 @@ -260877,7 +300499,7 @@ ENCODING 25813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2FE0 F900 @@ -260895,7 +300517,7 @@ ENCODING 25814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFC0 @@ -260913,7 +300535,7 @@ ENCODING 25815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E40 2BE0 FAA0 @@ -260931,7 +300553,7 @@ ENCODING 25816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7D40 @@ -260949,7 +300571,7 @@ ENCODING 25817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FD40 @@ -260967,7 +300589,7 @@ ENCODING 25818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4200 FFE0 @@ -260985,7 +300607,7 @@ ENCODING 25819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F540 @@ -261003,7 +300625,7 @@ ENCODING 25820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5F40 E460 @@ -261021,7 +300643,7 @@ ENCODING 25821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2EA0 FAE0 @@ -261039,7 +300661,7 @@ ENCODING 25822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3580 2E80 FFE0 @@ -261057,7 +300679,7 @@ ENCODING 25823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4540 E920 @@ -261075,7 +300697,7 @@ ENCODING 25824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -261093,7 +300715,7 @@ ENCODING 25825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -261111,7 +300733,7 @@ ENCODING 25826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 F360 @@ -261129,7 +300751,7 @@ ENCODING 25827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F100 @@ -261147,7 +300769,7 @@ ENCODING 25828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -261165,7 +300787,7 @@ ENCODING 25829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 F480 @@ -261183,7 +300805,7 @@ ENCODING 25830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 F4A0 @@ -261201,7 +300823,7 @@ ENCODING 25831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 68C0 4E40 62C0 @@ -261219,7 +300841,7 @@ ENCODING 25832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2BE0 FAA0 @@ -261237,7 +300859,7 @@ ENCODING 25833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -261255,7 +300877,7 @@ ENCODING 25834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 54A0 5FE0 @@ -261273,7 +300895,7 @@ ENCODING 25835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 FF60 @@ -261291,7 +300913,7 @@ ENCODING 25836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2CA0 F840 @@ -261309,7 +300931,7 @@ ENCODING 25837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 F480 @@ -261327,7 +300949,7 @@ ENCODING 25838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4EC0 E4A0 @@ -261345,7 +300967,7 @@ ENCODING 25839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -261363,7 +300985,7 @@ ENCODING 25840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -261381,7 +301003,7 @@ ENCODING 25841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -261399,7 +301021,7 @@ ENCODING 25842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 2FA0 F4A0 @@ -261417,7 +301039,7 @@ ENCODING 25843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2FE0 F440 @@ -261435,7 +301057,7 @@ ENCODING 25844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F940 @@ -261453,7 +301075,7 @@ ENCODING 25845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F240 @@ -261471,7 +301093,7 @@ ENCODING 25846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FD40 @@ -261489,7 +301111,7 @@ ENCODING 25847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2480 FFE0 @@ -261507,7 +301129,7 @@ ENCODING 25848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 F540 @@ -261525,7 +301147,7 @@ ENCODING 25849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5F80 EAE0 @@ -261543,7 +301165,7 @@ ENCODING 25850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -261561,7 +301183,7 @@ ENCODING 25851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2F80 FAE0 @@ -261579,7 +301201,7 @@ ENCODING 25852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 FFE0 @@ -261597,7 +301219,7 @@ ENCODING 25853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2BC0 FAA0 @@ -261615,7 +301237,7 @@ ENCODING 25854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 F3C0 @@ -261633,7 +301255,7 @@ ENCODING 25855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 57E0 EA40 @@ -261651,7 +301273,7 @@ ENCODING 25856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 F5E0 4A80 @@ -261669,7 +301291,7 @@ ENCODING 25857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -261687,7 +301309,7 @@ ENCODING 25858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 F7C0 @@ -261705,7 +301327,7 @@ ENCODING 25859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -261723,7 +301345,7 @@ ENCODING 25860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFE0 @@ -261741,7 +301363,7 @@ ENCODING 25861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -261759,7 +301381,7 @@ ENCODING 25862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2480 FFE0 @@ -261777,7 +301399,7 @@ ENCODING 25863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -261795,7 +301417,7 @@ ENCODING 25864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F540 @@ -261813,7 +301435,7 @@ ENCODING 25865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FFE0 @@ -261831,7 +301453,7 @@ ENCODING 25866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4B60 EA40 @@ -261849,7 +301471,7 @@ ENCODING 25867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5EE0 E540 @@ -261867,7 +301489,7 @@ ENCODING 25868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -261885,7 +301507,7 @@ ENCODING 25869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F400 @@ -261903,7 +301525,7 @@ ENCODING 25870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2200 FFE0 @@ -261921,7 +301543,7 @@ ENCODING 25871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2F80 FAE0 @@ -261939,7 +301561,7 @@ ENCODING 25872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -261957,7 +301579,7 @@ ENCODING 25873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2DE0 2920 @@ -261975,7 +301597,7 @@ ENCODING 25874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 F240 @@ -261993,7 +301615,7 @@ ENCODING 25875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -262011,7 +301633,7 @@ ENCODING 25876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -262029,7 +301651,7 @@ ENCODING 25877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 55A0 FFE0 @@ -262047,7 +301669,7 @@ ENCODING 25878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -262065,7 +301687,7 @@ ENCODING 25879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -262083,7 +301705,7 @@ ENCODING 25880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 EAA0 @@ -262101,7 +301723,7 @@ ENCODING 25881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFE0 @@ -262119,7 +301741,7 @@ ENCODING 25882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 4EE0 4440 @@ -262137,7 +301759,7 @@ ENCODING 25883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 F4A0 @@ -262155,7 +301777,7 @@ ENCODING 25884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 FFE0 @@ -262173,7 +301795,7 @@ ENCODING 25885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 F7C0 @@ -262191,7 +301813,7 @@ ENCODING 25886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 EFE0 @@ -262209,7 +301831,7 @@ ENCODING 25887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F540 @@ -262227,7 +301849,7 @@ ENCODING 25888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA40 @@ -262245,7 +301867,7 @@ ENCODING 25889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2580 3F40 F5E0 @@ -262263,7 +301885,7 @@ ENCODING 25890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 F240 @@ -262281,7 +301903,7 @@ ENCODING 25891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5FA0 E040 @@ -262299,7 +301921,7 @@ ENCODING 25892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 5F40 EBE0 @@ -262317,7 +301939,7 @@ ENCODING 25893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 3540 F7C0 @@ -262335,7 +301957,7 @@ ENCODING 25894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2000 FEE0 @@ -262353,7 +301975,7 @@ ENCODING 25895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 5C80 E9E0 @@ -262371,7 +301993,7 @@ ENCODING 25896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F4A0 @@ -262389,7 +302011,7 @@ ENCODING 25897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 FAA0 @@ -262407,7 +302029,7 @@ ENCODING 25898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2D60 2AA0 FD60 @@ -262425,7 +302047,7 @@ ENCODING 25899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2EE0 FAA0 @@ -262443,7 +302065,7 @@ ENCODING 25900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2B40 FFE0 @@ -262461,7 +302083,7 @@ ENCODING 25901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2480 FFE0 @@ -262479,7 +302101,7 @@ ENCODING 25902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 FFE0 @@ -262497,7 +302119,7 @@ ENCODING 25903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -262515,7 +302137,7 @@ ENCODING 25904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -262533,7 +302155,7 @@ ENCODING 25905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -262551,7 +302173,7 @@ ENCODING 25906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 53E0 @@ -262569,7 +302191,7 @@ ENCODING 25907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2020 FBE0 @@ -262587,7 +302209,7 @@ ENCODING 25908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07C0 0400 @@ -262605,7 +302227,7 @@ ENCODING 25909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 1FC0 @@ -262623,7 +302245,7 @@ ENCODING 25910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 93E0 @@ -262641,7 +302263,7 @@ ENCODING 25911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 43E0 @@ -262659,7 +302281,7 @@ ENCODING 25912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 21E0 @@ -262677,7 +302299,7 @@ ENCODING 25913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 0BE0 @@ -262695,7 +302317,7 @@ ENCODING 25914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 93E0 @@ -262713,7 +302335,7 @@ ENCODING 25915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 FA00 @@ -262731,7 +302353,7 @@ ENCODING 25916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -262749,7 +302371,7 @@ ENCODING 25917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 4900 @@ -262767,7 +302389,7 @@ ENCODING 25918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FDE0 @@ -262785,7 +302407,7 @@ ENCODING 25919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 11E0 @@ -262803,7 +302425,7 @@ ENCODING 25920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 43E0 F240 @@ -262821,7 +302443,7 @@ ENCODING 25921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 3900 @@ -262839,7 +302461,7 @@ ENCODING 25922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 7DE0 @@ -262857,7 +302479,7 @@ ENCODING 25923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 89E0 @@ -262875,7 +302497,7 @@ ENCODING 25924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 0900 53E0 @@ -262893,7 +302515,7 @@ ENCODING 25925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 FDE0 @@ -262911,7 +302533,7 @@ ENCODING 25926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2880 44E0 @@ -262929,7 +302551,7 @@ ENCODING 25927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 10E0 @@ -262947,7 +302569,7 @@ ENCODING 25928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FDE0 @@ -262965,7 +302587,7 @@ ENCODING 25929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 71E0 @@ -262983,7 +302605,7 @@ ENCODING 25930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1CE0 1080 @@ -263001,7 +302623,7 @@ ENCODING 25931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7A00 8BE0 @@ -263019,7 +302641,7 @@ ENCODING 25932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 21E0 @@ -263037,7 +302659,7 @@ ENCODING 25933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 51C0 @@ -263055,7 +302677,7 @@ ENCODING 25934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2100 D900 @@ -263073,7 +302695,7 @@ ENCODING 25935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D00 81E0 @@ -263091,7 +302713,7 @@ ENCODING 25936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 8100 B9E0 @@ -263109,7 +302731,7 @@ ENCODING 25937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 1500 FDE0 @@ -263127,7 +302749,7 @@ ENCODING 25938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4880 7EE0 @@ -263145,7 +302767,7 @@ ENCODING 25939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2900 7DE0 @@ -263163,7 +302785,7 @@ ENCODING 25940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 1100 79E0 @@ -263181,7 +302803,7 @@ ENCODING 25941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -263199,7 +302821,7 @@ ENCODING 25942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -263217,7 +302839,7 @@ ENCODING 25943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4500 7DE0 @@ -263235,7 +302857,7 @@ ENCODING 25944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 45E0 @@ -263253,7 +302875,7 @@ ENCODING 25945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 FD00 29E0 @@ -263271,7 +302893,7 @@ ENCODING 25946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 FBE0 @@ -263289,7 +302911,7 @@ ENCODING 25947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 45E0 @@ -263307,7 +302929,7 @@ ENCODING 25948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 65E0 @@ -263325,7 +302947,7 @@ ENCODING 25949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A500 6900 21E0 @@ -263343,7 +302965,7 @@ ENCODING 25950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9500 5900 11E0 @@ -263361,7 +302983,7 @@ ENCODING 25951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2900 FFE0 @@ -263379,7 +303001,7 @@ ENCODING 25952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2480 B4E0 @@ -263397,7 +303019,7 @@ ENCODING 25953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4480 7CE0 @@ -263415,7 +303037,7 @@ ENCODING 25954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 1100 FDE0 @@ -263433,7 +303055,7 @@ ENCODING 25955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 7D00 29E0 @@ -263451,7 +303073,7 @@ ENCODING 25956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A8E0 F880 @@ -263469,7 +303091,7 @@ ENCODING 25957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 A8E0 3080 @@ -263487,7 +303109,7 @@ ENCODING 25958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 49E0 @@ -263505,7 +303127,7 @@ ENCODING 25959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FCE0 3080 @@ -263523,7 +303145,7 @@ ENCODING 25960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FDE0 @@ -263541,7 +303163,7 @@ ENCODING 25961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 9500 4900 @@ -263559,7 +303181,7 @@ ENCODING 25962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 B480 48E0 @@ -263577,7 +303199,7 @@ ENCODING 25963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 45E0 @@ -263595,7 +303217,7 @@ ENCODING 25964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FD00 29E0 @@ -263613,7 +303235,7 @@ ENCODING 25965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A900 99E0 @@ -263631,7 +303253,7 @@ ENCODING 25966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 7080 10E0 @@ -263649,7 +303271,7 @@ ENCODING 25967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 8480 FCE0 @@ -263667,7 +303289,7 @@ ENCODING 25968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9500 5900 FDE0 @@ -263685,7 +303307,7 @@ ENCODING 25969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 F8E0 0080 @@ -263703,7 +303325,7 @@ ENCODING 25970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FEE0 0080 @@ -263721,7 +303343,7 @@ ENCODING 25971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9500 9500 FDE0 @@ -263739,7 +303361,7 @@ ENCODING 25972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5540 @@ -263757,7 +303379,7 @@ ENCODING 25973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 29E0 @@ -263775,7 +303397,7 @@ ENCODING 25974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BF80 A4E0 @@ -263793,7 +303415,7 @@ ENCODING 25975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 5100 7FE0 @@ -263811,7 +303433,7 @@ ENCODING 25976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 55E0 @@ -263829,7 +303451,7 @@ ENCODING 25977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 1100 FDE0 @@ -263847,7 +303469,7 @@ ENCODING 25978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 80E0 BC80 @@ -263865,7 +303487,7 @@ ENCODING 25979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2200 FFE0 @@ -263883,7 +303505,7 @@ ENCODING 25980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 10E0 @@ -263901,7 +303523,7 @@ ENCODING 25981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 2080 FCE0 @@ -263919,7 +303541,7 @@ ENCODING 25982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 F9E0 @@ -263937,7 +303559,7 @@ ENCODING 25983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 1100 FDE0 @@ -263955,7 +303577,7 @@ ENCODING 25984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FEE0 @@ -263973,7 +303595,7 @@ ENCODING 25985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FFE0 @@ -263991,7 +303613,7 @@ ENCODING 25986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 2500 7DE0 @@ -264009,7 +303631,7 @@ ENCODING 25987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 55E0 FF20 @@ -264027,7 +303649,7 @@ ENCODING 25988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 1340 FC80 @@ -264045,7 +303667,7 @@ ENCODING 25989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6680 5AE0 6680 @@ -264063,7 +303685,7 @@ ENCODING 25990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6C80 5480 6DE0 @@ -264081,7 +303703,7 @@ ENCODING 25991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -264099,7 +303721,7 @@ ENCODING 25992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264117,7 +303739,7 @@ ENCODING 25993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264135,7 +303757,7 @@ ENCODING 25994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264153,7 +303775,7 @@ ENCODING 25995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264171,7 +303793,7 @@ ENCODING 25996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 27A0 F080 @@ -264189,7 +303811,7 @@ ENCODING 25997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264207,7 +303829,7 @@ ENCODING 25998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -264225,7 +303847,7 @@ ENCODING 25999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FFC0 @@ -264243,7 +303865,7 @@ ENCODING 26000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -264261,7 +303883,7 @@ ENCODING 26001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E9E0 4440 5F40 @@ -264279,7 +303901,7 @@ ENCODING 26002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -264297,7 +303919,7 @@ ENCODING 26003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2A20 F920 @@ -264315,7 +303937,7 @@ ENCODING 26004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FEE0 54A0 @@ -264333,7 +303955,7 @@ ENCODING 26005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 FEE0 @@ -264351,7 +303973,7 @@ ENCODING 26006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 F5E0 @@ -264369,7 +303991,7 @@ ENCODING 26007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0900 0900 @@ -264387,7 +304009,7 @@ ENCODING 26008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 3D40 @@ -264405,7 +304027,7 @@ ENCODING 26009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AC80 7280 @@ -264423,7 +304045,7 @@ ENCODING 26010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5140 FBE0 @@ -264441,7 +304063,7 @@ ENCODING 26011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7A40 5140 @@ -264459,7 +304081,7 @@ ENCODING 26012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 2940 44C0 @@ -264476,26 +304098,26 @@ STARTCHAR U_659D ENCODING 26013 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3DE0 -2520 -3DE0 +BBX 10 11 1 -1 +BITMAP +7BC0 +4A40 +7BC0 0000 -7FE0 -4920 -2500 -1100 -01E0 -7F00 -0100 +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 +BITMAP 1040 DD40 94C0 @@ -264513,7 +304135,7 @@ ENCODING 26015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 FD40 48C0 @@ -264531,7 +304153,7 @@ ENCODING 26016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 FEC0 2840 @@ -264549,7 +304171,7 @@ ENCODING 26017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 FA40 2420 @@ -264567,7 +304189,7 @@ ENCODING 26018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 FF40 28C0 @@ -264585,7 +304207,7 @@ ENCODING 26019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 AB40 FEC0 @@ -264603,7 +304225,7 @@ ENCODING 26020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 3E00 2000 @@ -264621,7 +304243,7 @@ ENCODING 26021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3E00 2000 @@ -264639,7 +304261,7 @@ ENCODING 26022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1860 6180 4100 @@ -264657,7 +304279,7 @@ ENCODING 26023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 1080 6960 @@ -264675,7 +304297,7 @@ ENCODING 26024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4860 4B80 4A00 @@ -264693,7 +304315,7 @@ ENCODING 26025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 4200 @@ -264711,7 +304333,7 @@ ENCODING 26026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7B80 8A00 @@ -264729,7 +304351,7 @@ ENCODING 26027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 FBC0 2200 @@ -264747,7 +304369,7 @@ ENCODING 26028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FF80 2200 @@ -264765,7 +304387,7 @@ ENCODING 26029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 D580 B900 @@ -264783,7 +304405,7 @@ ENCODING 26030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5040 5380 FE00 @@ -264801,7 +304423,7 @@ ENCODING 26031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4860 FD80 4900 @@ -264819,7 +304441,7 @@ ENCODING 26032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FD80 4500 @@ -264837,7 +304459,7 @@ ENCODING 26033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2580 F500 @@ -264855,7 +304477,7 @@ ENCODING 26034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE60 AB80 EF00 @@ -264873,7 +304495,7 @@ ENCODING 26035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2820 FFC0 2900 @@ -264891,7 +304513,7 @@ ENCODING 26036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9220 54C0 FE80 @@ -264909,7 +304531,7 @@ ENCODING 26037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DE60 AA80 F280 @@ -264927,7 +304549,7 @@ ENCODING 26038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 CAA0 8FE0 @@ -264945,7 +304567,7 @@ ENCODING 26039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA40 FD80 9500 @@ -264963,7 +304585,7 @@ ENCODING 26040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 85C0 FD00 @@ -264981,7 +304603,7 @@ ENCODING 26041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -264999,7 +304621,7 @@ ENCODING 26042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FD40 @@ -265017,7 +304639,7 @@ ENCODING 26043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -265035,7 +304657,7 @@ ENCODING 26044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FD40 @@ -265053,7 +304675,7 @@ ENCODING 26045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265071,7 +304693,7 @@ ENCODING 26046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27E0 FD00 @@ -265089,7 +304711,7 @@ ENCODING 26047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265107,7 +304729,7 @@ ENCODING 26048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA40 @@ -265124,26 +304746,26 @@ STARTCHAR U_65C1 ENCODING 26049 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -0900 -7FE0 -4420 -0200 -7FE0 +BBX 10 11 1 -1 +BITMAP 0800 -0FC0 -1040 -6180 +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 +BITMAP 2200 13E0 FC00 @@ -265161,7 +304783,7 @@ ENCODING 26051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265179,7 +304801,7 @@ ENCODING 26052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265197,7 +304819,7 @@ ENCODING 26053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FE00 @@ -265215,7 +304837,7 @@ ENCODING 26054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC80 @@ -265233,7 +304855,7 @@ ENCODING 26055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 F480 @@ -265251,7 +304873,7 @@ ENCODING 26056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -265269,7 +304891,7 @@ ENCODING 26057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 4440 @@ -265287,7 +304909,7 @@ ENCODING 26058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC00 @@ -265305,7 +304927,7 @@ ENCODING 26059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC00 @@ -265323,7 +304945,7 @@ ENCODING 26060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265341,7 +304963,7 @@ ENCODING 26061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC80 @@ -265359,7 +304981,7 @@ ENCODING 26062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 FC00 @@ -265377,7 +304999,7 @@ ENCODING 26063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265395,7 +305017,7 @@ ENCODING 26064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FC00 @@ -265413,7 +305035,7 @@ ENCODING 26065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -265431,7 +305053,7 @@ ENCODING 26066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FD00 @@ -265449,7 +305071,7 @@ ENCODING 26067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FEA0 @@ -265467,7 +305089,7 @@ ENCODING 26068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 F540 @@ -265485,7 +305107,7 @@ ENCODING 26069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F980 2240 @@ -265503,7 +305125,7 @@ ENCODING 26070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 17E0 F900 @@ -265521,7 +305143,7 @@ ENCODING 26071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FA40 @@ -265539,7 +305161,7 @@ ENCODING 26072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FC0 EAA0 @@ -265557,7 +305179,7 @@ ENCODING 26073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2F40 F580 @@ -265575,7 +305197,7 @@ ENCODING 26074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FE80 @@ -265593,7 +305215,7 @@ ENCODING 26075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 FD40 @@ -265611,7 +305233,7 @@ ENCODING 26076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 27E0 F500 @@ -265629,7 +305251,7 @@ ENCODING 26077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 FA80 @@ -265647,7 +305269,7 @@ ENCODING 26078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27E0 F940 @@ -265665,7 +305287,7 @@ ENCODING 26079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 F900 @@ -265683,7 +305305,7 @@ ENCODING 26080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -265700,44 +305322,44 @@ STARTCHAR U_65E1 ENCODING 26081 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0200 -2200 -2200 -7FE0 +BBX 10 11 1 -1 +BITMAP +7F80 0400 -0600 -0A00 -1220 -2220 -41E0 +4400 +4400 +FFC0 +0800 +0C00 +1400 +2440 +4440 +83C0 ENDCHAR STARTCHAR U_65E2 ENCODING 26082 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BE0 -4880 -4A80 -7A80 -4FE0 -7880 -5080 -4980 -56A0 -64A0 -4860 +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 +BITMAP 4000 F7C0 9100 @@ -265755,7 +305377,7 @@ ENCODING 26084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 4880 6A80 @@ -265772,27 +305394,25 @@ STARTCHAR U_65E5 ENCODING 26085 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -3F80 -2080 -2080 -2080 -3F80 -2080 -2080 -2080 -3F80 -2080 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3F80 2080 2080 @@ -265808,44 +305428,43 @@ STARTCHAR U_65E7 ENCODING 26087 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -4FC0 -4840 -4840 -4840 -4FC0 -4840 -4840 -4840 -4840 -4FC0 +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 11 11 0 -1 -BITMAP -4180 -4E00 -7040 -4040 -3FC0 +BBX 9 11 1 -1 +BITMAP +8300 +9C00 +E080 +8080 +7F80 0000 -3F80 -2080 -3F80 -2080 -3F80 +7F00 +4100 +7F00 +4100 +7F00 ENDCHAR STARTCHAR U_65E9 ENCODING 26089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -265863,7 +305482,7 @@ ENCODING 26090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 0100 F100 @@ -265880,9 +305499,8 @@ STARTCHAR U_65EB ENCODING 26091 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 10 10 0 -1 +BITMAP F7C0 9240 9240 @@ -265898,8 +305516,8 @@ STARTCHAR U_65EC ENCODING 26092 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 2000 3FC0 @@ -265917,7 +305535,7 @@ ENCODING 26093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 2240 @@ -265935,7 +305553,7 @@ ENCODING 26094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F00 0900 @@ -265952,26 +305570,26 @@ STARTCHAR U_65EF ENCODING 26095 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2040 -3FC0 -2040 -3FC0 -0800 -7F00 -0900 -1120 -2120 -40E0 +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 +BITMAP 07C0 F100 9100 @@ -265989,7 +305607,7 @@ ENCODING 26097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266007,7 +305625,7 @@ ENCODING 26098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266025,7 +305643,7 @@ ENCODING 26099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 93E0 @@ -266043,7 +305661,7 @@ ENCODING 26100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 9100 @@ -266060,26 +305678,26 @@ STARTCHAR U_65F5 ENCODING 26101 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2040 -3FC0 -2040 -3FC0 -0200 -4220 -4220 -4220 -7FE0 -4020 +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 +BITMAP 0080 F080 9FE0 @@ -266097,7 +305715,7 @@ ENCODING 26103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 97E0 @@ -266115,7 +305733,7 @@ ENCODING 26104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 0080 F100 @@ -266133,7 +305751,7 @@ ENCODING 26105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -266151,7 +305769,7 @@ ENCODING 26106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9100 @@ -266169,7 +305787,7 @@ ENCODING 26107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266187,7 +305805,7 @@ ENCODING 26108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -266205,7 +305823,7 @@ ENCODING 26109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -266223,7 +305841,7 @@ ENCODING 26110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -266241,7 +305859,7 @@ ENCODING 26111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 F3E0 @@ -266259,7 +305877,7 @@ ENCODING 26112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F400 97E0 @@ -266277,7 +305895,7 @@ ENCODING 26113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -266294,26 +305912,26 @@ STARTCHAR U_6602 ENCODING 26114 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -0800 -73C0 -4240 -4A40 -72C0 -0200 +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 +BITMAP 3FC0 2040 3FC0 @@ -266331,7 +305949,7 @@ ENCODING 26116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9400 @@ -266349,7 +305967,7 @@ ENCODING 26117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 F240 9240 @@ -266366,26 +305984,26 @@ STARTCHAR U_6606 ENCODING 26118 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 +BBX 10 11 1 -1 +BITMAP +7F00 +4100 +7F00 +4100 +7F00 0000 -4240 -7A80 -4320 -5A20 -61E0 +8480 +F500 +8640 +B440 +C3C0 ENDCHAR STARTCHAR U_6607 ENCODING 26119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -266403,7 +306021,7 @@ ENCODING 26120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 97E0 @@ -266421,7 +306039,7 @@ ENCODING 26121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -266439,7 +306057,7 @@ ENCODING 26122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266456,9 +306074,8 @@ STARTCHAR U_660B ENCODING 26123 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0800 FFE0 @@ -266474,26 +306091,26 @@ STARTCHAR U_660C ENCODING 26124 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1F80 -1080 -1F80 -0000 -3FC0 -2040 -3FC0 -2040 -3FC0 +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 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 07C0 F440 9440 @@ -266511,7 +306128,7 @@ ENCODING 26126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F220 9220 @@ -266528,26 +306145,26 @@ STARTCHAR U_660F ENCODING 26127 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -4400 -7FE0 -4200 -5920 -60E0 -3F80 -2080 -3F80 -2080 -3F80 +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 +BITMAP 0280 F280 9440 @@ -266565,7 +306182,7 @@ ENCODING 26129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -266583,7 +306200,7 @@ ENCODING 26130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9AA0 @@ -266600,8 +306217,8 @@ STARTCHAR U_6613 ENCODING 26131 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 3F80 2080 3F80 @@ -266619,7 +306236,7 @@ ENCODING 26132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FC0 @@ -266637,7 +306254,7 @@ ENCODING 26133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9400 @@ -266655,7 +306272,7 @@ ENCODING 26134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 9480 @@ -266673,7 +306290,7 @@ ENCODING 26135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266691,7 +306308,7 @@ ENCODING 26136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266709,7 +306326,7 @@ ENCODING 26137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266727,7 +306344,7 @@ ENCODING 26138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4440 @@ -266745,7 +306362,7 @@ ENCODING 26139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F400 9400 @@ -266763,7 +306380,7 @@ ENCODING 26140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266781,7 +306398,7 @@ ENCODING 26141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3D00 45C0 @@ -266799,7 +306416,7 @@ ENCODING 26142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F100 9100 @@ -266817,7 +306434,7 @@ ENCODING 26143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266835,7 +306452,7 @@ ENCODING 26144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -266853,7 +306470,7 @@ ENCODING 26145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 9FE0 @@ -266871,7 +306488,7 @@ ENCODING 26146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F520 9520 @@ -266889,7 +306506,7 @@ ENCODING 26147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -266907,7 +306524,7 @@ ENCODING 26148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -266925,7 +306542,7 @@ ENCODING 26149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0400 @@ -266943,7 +306560,7 @@ ENCODING 26150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -266961,7 +306578,7 @@ ENCODING 26151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -266979,7 +306596,7 @@ ENCODING 26152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 93E0 @@ -266997,7 +306614,7 @@ ENCODING 26153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -267015,7 +306632,7 @@ ENCODING 26154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267033,7 +306650,7 @@ ENCODING 26155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 9420 @@ -267050,26 +306667,26 @@ STARTCHAR U_662C ENCODING 26156 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7F80 -4080 -7F80 -4400 -7FC0 -4120 -7FE0 -2080 -3F80 -2080 -3F80 +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 +BITMAP 07E0 F120 9120 @@ -267087,7 +306704,7 @@ ENCODING 26158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267105,7 +306722,7 @@ ENCODING 26159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 1F80 @@ -267123,7 +306740,7 @@ ENCODING 26160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267141,7 +306758,7 @@ ENCODING 26161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267159,7 +306776,7 @@ ENCODING 26162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9FE0 @@ -267177,7 +306794,7 @@ ENCODING 26163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F500 97C0 @@ -267194,26 +306811,26 @@ STARTCHAR U_6634 ENCODING 26164 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -6000 -4BC0 -5A40 -6A40 -12C0 -6200 +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 +BITMAP 07C0 F440 9440 @@ -267231,7 +306848,7 @@ ENCODING 26166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 09E0 7920 @@ -267249,7 +306866,7 @@ ENCODING 26167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267267,7 +306884,7 @@ ENCODING 26168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3C0 9440 @@ -267285,7 +306902,7 @@ ENCODING 26169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 E080 AF00 @@ -267303,7 +306920,7 @@ ENCODING 26170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267320,8 +306937,8 @@ STARTCHAR U_663B ENCODING 26171 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 3F80 2080 3F80 @@ -267339,7 +306956,7 @@ ENCODING 26172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267357,7 +306974,7 @@ ENCODING 26173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F220 9200 @@ -267375,7 +306992,7 @@ ENCODING 26174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267393,7 +307010,7 @@ ENCODING 26175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E100 AFE0 @@ -267411,7 +307028,7 @@ ENCODING 26176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 E500 B540 @@ -267428,26 +307045,26 @@ STARTCHAR U_6641 ENCODING 26177 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2040 -3FC0 -2040 -3FC0 -4A40 -2A80 -1B00 -6AC0 -1220 -61E0 +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 +BITMAP 0100 F7C0 9100 @@ -267465,7 +307082,7 @@ ENCODING 26179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -267483,7 +307100,7 @@ ENCODING 26180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F240 AA80 @@ -267501,7 +307118,7 @@ ENCODING 26181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F000 97C0 @@ -267519,7 +307136,7 @@ ENCODING 26182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -267537,7 +307154,7 @@ ENCODING 26183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9240 @@ -267555,7 +307172,7 @@ ENCODING 26184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9280 @@ -267573,7 +307190,7 @@ ENCODING 26185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1100 2A80 @@ -267591,7 +307208,7 @@ ENCODING 26186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9200 @@ -267609,7 +307226,7 @@ ENCODING 26187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0A00 4A40 @@ -267627,7 +307244,7 @@ ENCODING 26188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E200 AFE0 @@ -267645,7 +307262,7 @@ ENCODING 26189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 ABA0 @@ -267663,7 +307280,7 @@ ENCODING 26190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 A480 @@ -267680,26 +307297,26 @@ STARTCHAR U_664F ENCODING 26191 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1F80 -1080 -7FE0 -4420 -0800 -7FE0 -1100 -0F00 -78E0 +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 +BITMAP 0200 F100 9FE0 @@ -267716,26 +307333,26 @@ STARTCHAR U_6651 ENCODING 26193 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -0800 -7FC0 -4040 -4E40 -4A40 -4EC0 +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 +BITMAP 0FE0 E280 A280 @@ -267753,7 +307370,7 @@ ENCODING 26195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 9E80 @@ -267771,7 +307388,7 @@ ENCODING 26196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F2A0 94C0 @@ -267789,7 +307406,7 @@ ENCODING 26197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 2280 @@ -267807,7 +307424,7 @@ ENCODING 26198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 9100 @@ -267825,7 +307442,7 @@ ENCODING 26199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -267843,7 +307460,7 @@ ENCODING 26200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -267861,7 +307478,7 @@ ENCODING 26201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F240 97E0 @@ -267879,7 +307496,7 @@ ENCODING 26202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E780 A900 @@ -267897,7 +307514,7 @@ ENCODING 26203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -267914,26 +307531,26 @@ STARTCHAR U_665C ENCODING 26204 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -0A00 -7FC0 -0480 -7FE0 -1420 -64C0 +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 +BITMAP 3F80 0480 FFE0 @@ -267951,7 +307568,7 @@ ENCODING 26206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C60 E380 AC60 @@ -267969,7 +307586,7 @@ ENCODING 26207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -267987,7 +307604,7 @@ ENCODING 26208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E140 AFE0 @@ -268005,7 +307622,7 @@ ENCODING 26209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 E120 AFE0 @@ -268023,7 +307640,7 @@ ENCODING 26210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC00 37E0 @@ -268041,7 +307658,7 @@ ENCODING 26211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0460 E580 BF00 @@ -268059,7 +307676,7 @@ ENCODING 26212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 97C0 @@ -268077,7 +307694,7 @@ ENCODING 26213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -268095,7 +307712,7 @@ ENCODING 26214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9800 @@ -268113,7 +307730,7 @@ ENCODING 26215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 97C0 @@ -268131,7 +307748,7 @@ ENCODING 26216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -268149,7 +307766,7 @@ ENCODING 26217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E780 A900 @@ -268167,7 +307784,7 @@ ENCODING 26218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 E280 AFE0 @@ -268185,7 +307802,7 @@ ENCODING 26219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F1E0 9100 @@ -268203,7 +307820,7 @@ ENCODING 26220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -268221,7 +307838,7 @@ ENCODING 26221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 ABA0 @@ -268239,7 +307856,7 @@ ENCODING 26222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 4A40 @@ -268257,7 +307874,7 @@ ENCODING 26223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -268275,7 +307892,7 @@ ENCODING 26224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E460 A580 @@ -268293,7 +307910,7 @@ ENCODING 26225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0120 F540 9580 @@ -268311,7 +307928,7 @@ ENCODING 26226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 ECE0 A820 @@ -268329,7 +307946,7 @@ ENCODING 26227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 2200 @@ -268347,7 +307964,7 @@ ENCODING 26228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -268365,7 +307982,7 @@ ENCODING 26229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BC0 4C40 @@ -268383,7 +308000,7 @@ ENCODING 26230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -268401,7 +308018,7 @@ ENCODING 26231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -268419,7 +308036,7 @@ ENCODING 26232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -268437,7 +308054,7 @@ ENCODING 26233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -268454,26 +308071,26 @@ STARTCHAR U_667A ENCODING 26234 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -3DE0 -5120 -7F20 -19E0 -2520 -5FC0 -1040 -1FC0 -1040 -1FC0 +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 +BITMAP 0100 FFE0 9280 @@ -268491,7 +308108,7 @@ ENCODING 26236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -268509,7 +308126,7 @@ ENCODING 26237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E480 BFE0 @@ -268527,7 +308144,7 @@ ENCODING 26238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9000 @@ -268545,7 +308162,7 @@ ENCODING 26239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A7C0 @@ -268563,7 +308180,7 @@ ENCODING 26240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F480 9BE0 @@ -268581,7 +308198,7 @@ ENCODING 26241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -268599,7 +308216,7 @@ ENCODING 26242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 5200 @@ -268617,7 +308234,7 @@ ENCODING 26243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2880 2480 @@ -268635,7 +308252,7 @@ ENCODING 26244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9820 @@ -268653,7 +308270,7 @@ ENCODING 26245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EFE0 A800 @@ -268671,7 +308288,7 @@ ENCODING 26246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 A880 @@ -268689,7 +308306,7 @@ ENCODING 26247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EA20 AEE0 @@ -268707,7 +308324,7 @@ ENCODING 26248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2880 2680 @@ -268725,7 +308342,7 @@ ENCODING 26249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 A100 @@ -268743,7 +308360,7 @@ ENCODING 26250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 97C0 @@ -268761,7 +308378,7 @@ ENCODING 26251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 89E0 FB40 @@ -268779,7 +308396,7 @@ ENCODING 26252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 F180 96A0 @@ -268797,7 +308414,7 @@ ENCODING 26253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -268815,7 +308432,7 @@ ENCODING 26254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -268833,7 +308450,7 @@ ENCODING 26255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A240 @@ -268851,7 +308468,7 @@ ENCODING 26256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9140 @@ -268869,7 +308486,7 @@ ENCODING 26257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -268887,7 +308504,7 @@ ENCODING 26258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E440 A7C0 @@ -268905,7 +308522,7 @@ ENCODING 26259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 2BE0 FC40 @@ -268923,7 +308540,7 @@ ENCODING 26260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -268941,7 +308558,7 @@ ENCODING 26261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -268959,7 +308576,7 @@ ENCODING 26262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FA20 9540 @@ -268977,7 +308594,7 @@ ENCODING 26263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -268995,7 +308612,7 @@ ENCODING 26264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -269013,7 +308630,7 @@ ENCODING 26265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9200 @@ -269031,7 +308648,7 @@ ENCODING 26266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 EE20 A540 @@ -269049,7 +308666,7 @@ ENCODING 26267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A200 @@ -269067,7 +308684,7 @@ ENCODING 26268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 4A40 @@ -269085,7 +308702,7 @@ ENCODING 26269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E820 A7C0 @@ -269103,7 +308720,7 @@ ENCODING 26270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A440 @@ -269121,7 +308738,7 @@ ENCODING 26271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 FFE0 9000 @@ -269139,7 +308756,7 @@ ENCODING 26272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -269157,7 +308774,7 @@ ENCODING 26273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FA40 94A0 @@ -269175,7 +308792,7 @@ ENCODING 26274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -269193,7 +308810,7 @@ ENCODING 26275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EFC0 B200 @@ -269211,7 +308828,7 @@ ENCODING 26276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A840 @@ -269229,7 +308846,7 @@ ENCODING 26277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 EA40 A940 @@ -269247,7 +308864,7 @@ ENCODING 26278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 7FE0 @@ -269265,7 +308882,7 @@ ENCODING 26279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 EFA0 A540 @@ -269282,26 +308899,26 @@ STARTCHAR U_66A8 ENCODING 26280 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BE0 -4A80 -7FE0 -4980 -7AA0 -4CE0 -7F80 -1080 -1F80 -1080 -7FE0 +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 +BITMAP 07E0 F940 9580 @@ -269319,7 +308936,7 @@ ENCODING 26282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 A440 @@ -269337,7 +308954,7 @@ ENCODING 26283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF00 55E0 @@ -269355,7 +308972,7 @@ ENCODING 26284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7BC0 1140 @@ -269373,7 +308990,7 @@ ENCODING 26285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 9440 @@ -269391,7 +309008,7 @@ ENCODING 26286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 3F80 @@ -269409,7 +309026,7 @@ ENCODING 26287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 97C0 @@ -269427,7 +309044,7 @@ ENCODING 26288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 E940 B2A0 @@ -269445,7 +309062,7 @@ ENCODING 26289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F540 97E0 @@ -269463,7 +309080,7 @@ ENCODING 26290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9280 @@ -269481,7 +309098,7 @@ ENCODING 26291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 E440 BEE0 @@ -269499,7 +309116,7 @@ ENCODING 26292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -269517,7 +309134,7 @@ ENCODING 26293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -269535,7 +309152,7 @@ ENCODING 26294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E900 BDE0 @@ -269553,7 +309170,7 @@ ENCODING 26295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9540 @@ -269571,7 +309188,7 @@ ENCODING 26296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 B4A0 @@ -269589,7 +309206,7 @@ ENCODING 26297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 9F80 @@ -269607,7 +309224,7 @@ ENCODING 26298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AFE0 @@ -269625,7 +309242,7 @@ ENCODING 26299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 97C0 @@ -269643,7 +309260,7 @@ ENCODING 26300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 73E0 FA40 @@ -269661,7 +309278,7 @@ ENCODING 26301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 E540 BFE0 @@ -269679,7 +309296,7 @@ ENCODING 26302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 AAE0 @@ -269697,7 +309314,7 @@ ENCODING 26303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A200 @@ -269715,7 +309332,7 @@ ENCODING 26304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 9FE0 @@ -269733,7 +309350,7 @@ ENCODING 26305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 8A80 @@ -269751,7 +309368,7 @@ ENCODING 26306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFC0 A480 @@ -269769,7 +309386,7 @@ ENCODING 26307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 B140 @@ -269787,7 +309404,7 @@ ENCODING 26308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A280 @@ -269805,7 +309422,7 @@ ENCODING 26309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2440 3FC0 @@ -269823,7 +309440,7 @@ ENCODING 26310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5DC0 4880 @@ -269841,7 +309458,7 @@ ENCODING 26311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 7FC0 @@ -269859,7 +309476,7 @@ ENCODING 26312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A280 @@ -269877,7 +309494,7 @@ ENCODING 26313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -269895,7 +309512,7 @@ ENCODING 26314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 92A0 @@ -269913,7 +309530,7 @@ ENCODING 26315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 9FE0 @@ -269931,7 +309548,7 @@ ENCODING 26316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -269949,7 +309566,7 @@ ENCODING 26317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 9540 @@ -269967,7 +309584,7 @@ ENCODING 26318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -269985,7 +309602,7 @@ ENCODING 26319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2C40 2340 @@ -270003,7 +309620,7 @@ ENCODING 26320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -270021,7 +309638,7 @@ ENCODING 26321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2900 FFE0 @@ -270039,7 +309656,7 @@ ENCODING 26322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EE80 AAE0 @@ -270057,7 +309674,7 @@ ENCODING 26323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 7FC0 @@ -270075,7 +309692,7 @@ ENCODING 26324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 BF80 AAE0 @@ -270093,7 +309710,7 @@ ENCODING 26325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E880 BFE0 @@ -270111,7 +309728,7 @@ ENCODING 26326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E540 AFE0 @@ -270129,7 +309746,7 @@ ENCODING 26327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 ECC0 BFE0 @@ -270147,7 +309764,7 @@ ENCODING 26328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 AFE0 @@ -270165,7 +309782,7 @@ ENCODING 26329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -270183,7 +309800,7 @@ ENCODING 26330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A280 @@ -270201,7 +309818,7 @@ ENCODING 26331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 BFE0 @@ -270219,7 +309836,7 @@ ENCODING 26332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 A660 @@ -270237,7 +309854,7 @@ ENCODING 26333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 AFC0 @@ -270255,7 +309872,7 @@ ENCODING 26334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 F280 9FE0 @@ -270273,7 +309890,7 @@ ENCODING 26335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -270291,7 +309908,7 @@ ENCODING 26336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AA40 @@ -270309,7 +309926,7 @@ ENCODING 26337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1500 7FC0 @@ -270327,7 +309944,7 @@ ENCODING 26338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A920 @@ -270345,7 +309962,7 @@ ENCODING 26339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -270363,7 +309980,7 @@ ENCODING 26340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E100 AFE0 @@ -270381,7 +309998,7 @@ ENCODING 26341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 AFE0 @@ -270399,7 +310016,7 @@ ENCODING 26342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFC0 A100 @@ -270417,7 +310034,7 @@ ENCODING 26343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2C40 2340 @@ -270435,7 +310052,7 @@ ENCODING 26344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 FF80 AAE0 @@ -270453,7 +310070,7 @@ ENCODING 26345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 FFE0 @@ -270471,7 +310088,7 @@ ENCODING 26346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EAA0 AFE0 @@ -270489,7 +310106,7 @@ ENCODING 26347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E40 50A0 EFC0 @@ -270507,7 +310124,7 @@ ENCODING 26348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E000 AFE0 @@ -270525,7 +310142,7 @@ ENCODING 26349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 B4A0 @@ -270543,7 +310160,7 @@ ENCODING 26350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AFE0 @@ -270561,7 +310178,7 @@ ENCODING 26351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 F040 BFC0 @@ -270578,62 +310195,61 @@ STARTCHAR U_66F0 ENCODING 26352 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -4040 -4040 -4040 -7F40 -4040 -4040 -4040 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -7FC0 -4040 -7FC0 -4440 -4440 -7FC0 -4440 -0400 -0400 -0400 -0400 +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 11 11 0 -1 -BITMAP -0900 -0900 -7FE0 -4920 -4920 -4920 -7FE0 -4920 -4920 -7FE0 -4020 +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 +BITMAP 0400 7FC0 4440 @@ -270651,7 +310267,7 @@ ENCODING 26356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0200 3FC0 @@ -270669,7 +310285,7 @@ ENCODING 26357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 7FC0 @@ -270686,26 +310302,26 @@ STARTCHAR U_66F6 ENCODING 26358 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -3FC0 -4940 -1240 -2540 -0880 -3FC0 -2040 -3FC0 -2040 -3FC0 +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 +BITMAP 1FC0 1040 1FC0 @@ -270723,7 +310339,7 @@ ENCODING 26360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0480 FFE0 @@ -270741,7 +310357,7 @@ ENCODING 26361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4940 @@ -270759,7 +310375,7 @@ ENCODING 26362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -270777,7 +310393,7 @@ ENCODING 26363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -270794,62 +310410,62 @@ STARTCHAR U_66FC ENCODING 26364 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1480 -1280 -7FE0 -4920 -7FE0 +BBX 10 11 1 -1 +BITMAP +3F00 +2900 +2500 +FFC0 +9240 +FFC0 0000 -1F80 -0900 -0600 -79E0 +3F00 +1200 +0C00 +F3C0 ENDCHAR STARTCHAR U_66FD ENCODING 26365 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -0900 -7FC0 -4440 -7FC0 -4440 -7FC0 -2080 -3F80 -2080 -3F80 +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 11 11 0 -1 -BITMAP -1200 -7FC0 -64C0 -5540 -7FC0 +BBX 9 11 1 -1 +BITMAP +2400 +FF80 +C980 +AA80 +FF80 0000 -3F80 -2080 -3F80 -2080 -3F80 +7F00 +4100 +7F00 +4100 +7F00 ENDCHAR STARTCHAR U_66FF ENCODING 26367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -270867,7 +310483,7 @@ ENCODING 26368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -270885,7 +310501,7 @@ ENCODING 26369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A280 FBE0 @@ -270903,7 +310519,7 @@ ENCODING 26370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2C80 2680 @@ -270921,7 +310537,7 @@ ENCODING 26371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 2E80 @@ -270939,7 +310555,7 @@ ENCODING 26372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -270957,7 +310573,7 @@ ENCODING 26373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -270975,7 +310591,7 @@ ENCODING 26374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5200 FBE0 @@ -270993,7 +310609,7 @@ ENCODING 26375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3080 4BE0 B6A0 @@ -271010,26 +310626,26 @@ STARTCHAR U_6708 ENCODING 26376 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1FC0 -1040 -1040 -1FC0 -1040 -1040 -1FC0 -1040 -1040 -2140 -4080 +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 +BITMAP 0800 FFE0 1000 @@ -271047,7 +310663,7 @@ ENCODING 26378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5000 5000 @@ -271065,7 +310681,7 @@ ENCODING 26379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 4920 4920 @@ -271083,7 +310699,7 @@ ENCODING 26380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7A80 4A40 @@ -271101,7 +310717,7 @@ ENCODING 26381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4A20 @@ -271119,7 +310735,7 @@ ENCODING 26382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7100 5280 @@ -271137,7 +310753,7 @@ ENCODING 26383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5520 5520 @@ -271155,7 +310771,7 @@ ENCODING 26384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5200 53E0 @@ -271173,7 +310789,7 @@ ENCODING 26385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7140 5540 5540 @@ -271191,7 +310807,7 @@ ENCODING 26386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 57E0 @@ -271209,7 +310825,7 @@ ENCODING 26387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5AA0 @@ -271227,7 +310843,7 @@ ENCODING 26388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2920 7F20 @@ -271245,7 +310861,7 @@ ENCODING 26389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5240 5080 @@ -271263,7 +310879,7 @@ ENCODING 26390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5440 @@ -271281,7 +310897,7 @@ ENCODING 26391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 FA20 @@ -271299,7 +310915,7 @@ ENCODING 26392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5240 5FA0 @@ -271317,7 +310933,7 @@ ENCODING 26393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 FD20 B5E0 @@ -271335,7 +310951,7 @@ ENCODING 26394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -271353,7 +310969,7 @@ ENCODING 26395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 1240 FBC0 @@ -271371,7 +310987,7 @@ ENCODING 26396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5000 @@ -271389,7 +311005,7 @@ ENCODING 26397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 1120 @@ -271407,7 +311023,7 @@ ENCODING 26398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1900 @@ -271425,7 +311041,7 @@ ENCODING 26399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 FD20 4920 @@ -271443,7 +311059,7 @@ ENCODING 26400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5FE0 5440 @@ -271461,7 +311077,7 @@ ENCODING 26401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7AA0 4B60 4AA0 @@ -271479,7 +311095,7 @@ ENCODING 26402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 A120 F9E0 @@ -271497,7 +311113,7 @@ ENCODING 26403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -271515,7 +311131,7 @@ ENCODING 26404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 4920 79E0 @@ -271533,7 +311149,7 @@ ENCODING 26405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 56C0 5360 @@ -271551,7 +311167,7 @@ ENCODING 26406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -271569,7 +311185,7 @@ ENCODING 26407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AA80 A4E0 @@ -271587,7 +311203,7 @@ ENCODING 26408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0400 @@ -271605,7 +311221,7 @@ ENCODING 26409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -271623,7 +311239,7 @@ ENCODING 26410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -271641,7 +311257,7 @@ ENCODING 26411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -271659,7 +311275,7 @@ ENCODING 26412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -271677,7 +311293,7 @@ ENCODING 26413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7D00 @@ -271695,7 +311311,7 @@ ENCODING 26414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 0440 FFE0 @@ -271713,7 +311329,7 @@ ENCODING 26415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 0400 @@ -271731,7 +311347,7 @@ ENCODING 26416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0E00 @@ -271749,7 +311365,7 @@ ENCODING 26417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 3FC0 @@ -271767,7 +311383,7 @@ ENCODING 26418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -271785,7 +311401,7 @@ ENCODING 26419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FE80 @@ -271803,7 +311419,7 @@ ENCODING 26420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7D00 @@ -271821,7 +311437,7 @@ ENCODING 26421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1100 1100 @@ -271839,7 +311455,7 @@ ENCODING 26422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1100 13C0 @@ -271857,7 +311473,7 @@ ENCODING 26423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2120 @@ -271875,7 +311491,7 @@ ENCODING 26424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -271893,7 +311509,7 @@ ENCODING 26425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FA00 @@ -271911,7 +311527,7 @@ ENCODING 26426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2780 2480 @@ -271929,7 +311545,7 @@ ENCODING 26427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 1120 FD20 @@ -271947,7 +311563,7 @@ ENCODING 26428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 1240 @@ -271965,7 +311581,7 @@ ENCODING 26429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1100 FD00 @@ -271983,7 +311599,7 @@ ENCODING 26430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 F880 @@ -272000,26 +311616,26 @@ STARTCHAR U_673F ENCODING 26431 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -0200 -3FC0 -2240 -2240 -27C0 -0A80 -1240 -6220 -0200 +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 +BITMAP 2080 1900 0600 @@ -272037,7 +311653,7 @@ ENCODING 26433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2200 F900 @@ -272055,7 +311671,7 @@ ENCODING 26434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F00 0900 @@ -272073,7 +311689,7 @@ ENCODING 26435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FC0 F440 @@ -272091,7 +311707,7 @@ ENCODING 26436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -272109,7 +311725,7 @@ ENCODING 26437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2080 F880 @@ -272127,7 +311743,7 @@ ENCODING 26438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F880 @@ -272145,7 +311761,7 @@ ENCODING 26439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 F800 @@ -272163,7 +311779,7 @@ ENCODING 26440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 FA40 @@ -272181,7 +311797,7 @@ ENCODING 26441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 1080 FD00 @@ -272199,7 +311815,7 @@ ENCODING 26442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2220 FAA0 @@ -272217,7 +311833,7 @@ ENCODING 26443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2780 FC80 @@ -272235,7 +311851,7 @@ ENCODING 26444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 FA80 @@ -272253,7 +311869,7 @@ ENCODING 26445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 F840 @@ -272271,7 +311887,7 @@ ENCODING 26446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -272289,7 +311905,7 @@ ENCODING 26447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -272307,7 +311923,7 @@ ENCODING 26448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 2040 @@ -272325,7 +311941,7 @@ ENCODING 26449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 FBE0 @@ -272343,7 +311959,7 @@ ENCODING 26450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 F920 @@ -272361,7 +311977,7 @@ ENCODING 26451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -272379,7 +311995,7 @@ ENCODING 26452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -272397,7 +312013,7 @@ ENCODING 26453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F900 @@ -272415,7 +312031,7 @@ ENCODING 26454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -272433,7 +312049,7 @@ ENCODING 26455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -272451,7 +312067,7 @@ ENCODING 26456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2040 3FC0 @@ -272469,7 +312085,7 @@ ENCODING 26457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FA00 @@ -272487,7 +312103,7 @@ ENCODING 26458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -272505,7 +312121,7 @@ ENCODING 26459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 F820 @@ -272523,7 +312139,7 @@ ENCODING 26460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -272541,7 +312157,7 @@ ENCODING 26461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FAA0 @@ -272559,7 +312175,7 @@ ENCODING 26462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 F820 @@ -272577,7 +312193,7 @@ ENCODING 26463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -272595,7 +312211,7 @@ ENCODING 26464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F900 @@ -272613,7 +312229,7 @@ ENCODING 26465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F80 2900 @@ -272631,7 +312247,7 @@ ENCODING 26466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -272649,7 +312265,7 @@ ENCODING 26467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F880 @@ -272667,7 +312283,7 @@ ENCODING 26468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FA00 @@ -272685,7 +312301,7 @@ ENCODING 26469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -272703,7 +312319,7 @@ ENCODING 26470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBC0 @@ -272721,7 +312337,7 @@ ENCODING 26471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 F900 @@ -272739,7 +312355,7 @@ ENCODING 26472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2080 F900 @@ -272757,7 +312373,7 @@ ENCODING 26473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 FA40 @@ -272775,7 +312391,7 @@ ENCODING 26474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F900 @@ -272793,7 +312409,7 @@ ENCODING 26475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F900 @@ -272811,7 +312427,7 @@ ENCODING 26476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 F800 @@ -272829,7 +312445,7 @@ ENCODING 26477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -272847,7 +312463,7 @@ ENCODING 26478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -272865,7 +312481,7 @@ ENCODING 26479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -272883,7 +312499,7 @@ ENCODING 26480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 FFE0 @@ -272901,7 +312517,7 @@ ENCODING 26481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -272919,7 +312535,7 @@ ENCODING 26482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -272937,7 +312553,7 @@ ENCODING 26483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -272955,7 +312571,7 @@ ENCODING 26484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -272973,7 +312589,7 @@ ENCODING 26485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -272991,7 +312607,7 @@ ENCODING 26486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -273009,7 +312625,7 @@ ENCODING 26487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FD40 @@ -273027,7 +312643,7 @@ ENCODING 26488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FA40 @@ -273045,7 +312661,7 @@ ENCODING 26489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FCA0 @@ -273063,7 +312679,7 @@ ENCODING 26490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FA80 @@ -273081,7 +312697,7 @@ ENCODING 26491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 F940 @@ -273099,7 +312715,7 @@ ENCODING 26492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2040 FA80 @@ -273117,7 +312733,7 @@ ENCODING 26493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2780 F880 @@ -273135,7 +312751,7 @@ ENCODING 26494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA40 @@ -273153,7 +312769,7 @@ ENCODING 26495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FC00 @@ -273171,7 +312787,7 @@ ENCODING 26496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 C860 @@ -273189,7 +312805,7 @@ ENCODING 26497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 FA80 @@ -273207,7 +312823,7 @@ ENCODING 26498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 FA20 @@ -273225,7 +312841,7 @@ ENCODING 26499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FFE0 @@ -273243,7 +312859,7 @@ ENCODING 26500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -273261,7 +312877,7 @@ ENCODING 26501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 FA40 @@ -273279,7 +312895,7 @@ ENCODING 26502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F900 @@ -273297,7 +312913,7 @@ ENCODING 26503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FC80 @@ -273315,7 +312931,7 @@ ENCODING 26504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3AC0 2300 @@ -273333,7 +312949,7 @@ ENCODING 26505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 F900 @@ -273351,7 +312967,7 @@ ENCODING 26506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 25E0 FD20 @@ -273369,7 +312985,7 @@ ENCODING 26507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -273387,7 +313003,7 @@ ENCODING 26508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA80 @@ -273405,7 +313021,7 @@ ENCODING 26509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 FA40 @@ -273423,7 +313039,7 @@ ENCODING 26510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7C0 @@ -273441,7 +313057,7 @@ ENCODING 26511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F440 @@ -273459,7 +313075,7 @@ ENCODING 26512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FC00 @@ -273477,7 +313093,7 @@ ENCODING 26513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 FA00 @@ -273495,7 +313111,7 @@ ENCODING 26514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 FA40 @@ -273513,7 +313129,7 @@ ENCODING 26515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 F940 @@ -273531,7 +313147,7 @@ ENCODING 26516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -273549,7 +313165,7 @@ ENCODING 26517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -273567,7 +313183,7 @@ ENCODING 26518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -273585,7 +313201,7 @@ ENCODING 26519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -273603,7 +313219,7 @@ ENCODING 26520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -273621,7 +313237,7 @@ ENCODING 26521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC00 @@ -273639,7 +313255,7 @@ ENCODING 26522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -273657,7 +313273,7 @@ ENCODING 26523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 FD40 @@ -273675,7 +313291,7 @@ ENCODING 26524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -273693,7 +313309,7 @@ ENCODING 26525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -273711,7 +313327,7 @@ ENCODING 26526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FC80 @@ -273729,7 +313345,7 @@ ENCODING 26527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 F800 @@ -273747,7 +313363,7 @@ ENCODING 26528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2780 FA80 @@ -273765,7 +313381,7 @@ ENCODING 26529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2640 FA40 @@ -273783,7 +313399,7 @@ ENCODING 26530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC20 @@ -273801,7 +313417,7 @@ ENCODING 26531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -273819,7 +313435,7 @@ ENCODING 26532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 F940 @@ -273837,7 +313453,7 @@ ENCODING 26533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC80 @@ -273855,7 +313471,7 @@ ENCODING 26534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FBE0 @@ -273873,7 +313489,7 @@ ENCODING 26535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FD40 @@ -273891,7 +313507,7 @@ ENCODING 26536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2260 2240 FA80 @@ -273909,7 +313525,7 @@ ENCODING 26537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -273927,7 +313543,7 @@ ENCODING 26538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -273945,7 +313561,7 @@ ENCODING 26539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -273963,7 +313579,7 @@ ENCODING 26540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -273981,7 +313597,7 @@ ENCODING 26541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2880 @@ -273999,7 +313615,7 @@ ENCODING 26542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F9E0 @@ -274017,7 +313633,7 @@ ENCODING 26543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -274035,7 +313651,7 @@ ENCODING 26544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 F920 @@ -274053,7 +313669,7 @@ ENCODING 26545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA00 @@ -274071,7 +313687,7 @@ ENCODING 26546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2080 7FC0 @@ -274089,7 +313705,7 @@ ENCODING 26547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -274107,7 +313723,7 @@ ENCODING 26548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -274125,7 +313741,7 @@ ENCODING 26549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -274143,7 +313759,7 @@ ENCODING 26550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2A20 @@ -274161,7 +313777,7 @@ ENCODING 26551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 48E0 5EA0 @@ -274179,7 +313795,7 @@ ENCODING 26552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -274197,7 +313813,7 @@ ENCODING 26553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F820 @@ -274215,7 +313831,7 @@ ENCODING 26554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -274233,7 +313849,7 @@ ENCODING 26555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2540 F540 @@ -274251,7 +313867,7 @@ ENCODING 26556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FFE0 2900 @@ -274269,7 +313885,7 @@ ENCODING 26557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -274287,7 +313903,7 @@ ENCODING 26558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -274305,7 +313921,7 @@ ENCODING 26559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F7E0 @@ -274323,7 +313939,7 @@ ENCODING 26560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FFE0 @@ -274341,7 +313957,7 @@ ENCODING 26561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -274359,7 +313975,7 @@ ENCODING 26562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 FC80 @@ -274377,7 +313993,7 @@ ENCODING 26563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -274395,7 +314011,7 @@ ENCODING 26564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 F880 @@ -274413,7 +314029,7 @@ ENCODING 26565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -274431,7 +314047,7 @@ ENCODING 26566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -274449,7 +314065,7 @@ ENCODING 26567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -274467,7 +314083,7 @@ ENCODING 26568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2520 FD40 @@ -274485,7 +314101,7 @@ ENCODING 26569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F900 @@ -274503,7 +314119,7 @@ ENCODING 26570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC40 @@ -274521,7 +314137,7 @@ ENCODING 26571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 2480 7FE0 @@ -274539,7 +314155,7 @@ ENCODING 26572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 FFA0 @@ -274557,7 +314173,7 @@ ENCODING 26573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFC0 @@ -274575,7 +314191,7 @@ ENCODING 26574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FC40 @@ -274593,7 +314209,7 @@ ENCODING 26575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2100 FBE0 @@ -274611,7 +314227,7 @@ ENCODING 26576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -274629,7 +314245,7 @@ ENCODING 26577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 FFE0 @@ -274647,7 +314263,7 @@ ENCODING 26578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5260 3380 @@ -274665,7 +314281,7 @@ ENCODING 26579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 AF80 5480 @@ -274683,7 +314299,7 @@ ENCODING 26580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0900 7FE0 @@ -274701,7 +314317,7 @@ ENCODING 26581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 F880 @@ -274719,7 +314335,7 @@ ENCODING 26582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 FA20 @@ -274737,7 +314353,7 @@ ENCODING 26583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2280 FA80 @@ -274755,7 +314371,7 @@ ENCODING 26584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -274773,7 +314389,7 @@ ENCODING 26585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 FCA0 @@ -274791,7 +314407,7 @@ ENCODING 26586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -274809,7 +314425,7 @@ ENCODING 26587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -274827,7 +314443,7 @@ ENCODING 26588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FC00 @@ -274845,7 +314461,7 @@ ENCODING 26589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FC00 @@ -274863,7 +314479,7 @@ ENCODING 26590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -274881,7 +314497,7 @@ ENCODING 26591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FD40 @@ -274899,7 +314515,7 @@ ENCODING 26592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FC20 @@ -274917,7 +314533,7 @@ ENCODING 26593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2000 @@ -274935,7 +314551,7 @@ ENCODING 26594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 FC80 @@ -274953,7 +314569,7 @@ ENCODING 26595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2500 FFC0 @@ -274971,7 +314587,7 @@ ENCODING 26596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -274989,7 +314605,7 @@ ENCODING 26597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -275007,7 +314623,7 @@ ENCODING 26598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -275025,7 +314641,7 @@ ENCODING 26599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 FD40 @@ -275043,7 +314659,7 @@ ENCODING 26600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FFE0 @@ -275061,7 +314677,7 @@ ENCODING 26601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FD00 @@ -275079,7 +314695,7 @@ ENCODING 26602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 FDE0 @@ -275097,7 +314713,7 @@ ENCODING 26603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -275115,7 +314731,7 @@ ENCODING 26604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -275133,7 +314749,7 @@ ENCODING 26605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FFE0 @@ -275151,7 +314767,7 @@ ENCODING 26606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 FD20 @@ -275169,7 +314785,7 @@ ENCODING 26607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2040 F840 @@ -275187,7 +314803,7 @@ ENCODING 26608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -275205,7 +314821,7 @@ ENCODING 26609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -275223,7 +314839,7 @@ ENCODING 26610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2140 FA40 @@ -275241,7 +314857,7 @@ ENCODING 26611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2CE0 FAA0 @@ -275259,7 +314875,7 @@ ENCODING 26612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1240 5E80 @@ -275277,7 +314893,7 @@ ENCODING 26613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 FAA0 @@ -275295,7 +314911,7 @@ ENCODING 26614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -275313,7 +314929,7 @@ ENCODING 26615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -275331,7 +314947,7 @@ ENCODING 26616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F900 @@ -275349,7 +314965,7 @@ ENCODING 26617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F700 @@ -275367,7 +314983,7 @@ ENCODING 26618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FC20 @@ -275385,7 +315001,7 @@ ENCODING 26619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -275403,7 +315019,7 @@ ENCODING 26620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -275421,7 +315037,7 @@ ENCODING 26621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2440 FA40 @@ -275439,7 +315055,7 @@ ENCODING 26622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F900 @@ -275457,7 +315073,7 @@ ENCODING 26623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -275475,7 +315091,7 @@ ENCODING 26624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2400 @@ -275493,7 +315109,7 @@ ENCODING 26625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 F7A0 @@ -275511,7 +315127,7 @@ ENCODING 26626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -275529,7 +315145,7 @@ ENCODING 26627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F00 2800 @@ -275547,7 +315163,7 @@ ENCODING 26628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 1500 FFE0 @@ -275565,7 +315181,7 @@ ENCODING 26629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -275583,7 +315199,7 @@ ENCODING 26630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -275601,7 +315217,7 @@ ENCODING 26631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2000 F800 @@ -275619,7 +315235,7 @@ ENCODING 26632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -275637,7 +315253,7 @@ ENCODING 26633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -275655,7 +315271,7 @@ ENCODING 26634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 F900 @@ -275673,7 +315289,7 @@ ENCODING 26635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -275691,7 +315307,7 @@ ENCODING 26636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -275709,7 +315325,7 @@ ENCODING 26637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 2500 @@ -275727,7 +315343,7 @@ ENCODING 26638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2380 FC00 @@ -275745,7 +315361,7 @@ ENCODING 26639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 2240 F000 @@ -275763,7 +315379,7 @@ ENCODING 26640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2080 FF00 @@ -275781,7 +315397,7 @@ ENCODING 26641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2E40 F3E0 @@ -275799,7 +315415,7 @@ ENCODING 26642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 F7E0 @@ -275817,7 +315433,7 @@ ENCODING 26643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -275835,7 +315451,7 @@ ENCODING 26644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1120 7920 @@ -275853,7 +315469,7 @@ ENCODING 26645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2900 @@ -275871,7 +315487,7 @@ ENCODING 26646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 F280 @@ -275889,7 +315505,7 @@ ENCODING 26647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -275907,7 +315523,7 @@ ENCODING 26648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 FA40 @@ -275925,7 +315541,7 @@ ENCODING 26649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F680 @@ -275943,7 +315559,7 @@ ENCODING 26650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFC0 @@ -275961,7 +315577,7 @@ ENCODING 26651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FA40 @@ -275979,7 +315595,7 @@ ENCODING 26652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -275997,7 +315613,7 @@ ENCODING 26653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F900 @@ -276015,7 +315631,7 @@ ENCODING 26654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 1080 1080 @@ -276033,7 +315649,7 @@ ENCODING 26655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -276051,7 +315667,7 @@ ENCODING 26656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 4F00 C100 @@ -276069,7 +315685,7 @@ ENCODING 26657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -276087,7 +315703,7 @@ ENCODING 26658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FA00 @@ -276105,7 +315721,7 @@ ENCODING 26659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2260 F780 @@ -276123,7 +315739,7 @@ ENCODING 26660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5100 E940 @@ -276141,7 +315757,7 @@ ENCODING 26661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 1A40 @@ -276159,7 +315775,7 @@ ENCODING 26662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 22A0 FAA0 @@ -276177,7 +315793,7 @@ ENCODING 26663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FD40 @@ -276195,7 +315811,7 @@ ENCODING 26664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2500 F9E0 @@ -276213,7 +315829,7 @@ ENCODING 26665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -276231,7 +315847,7 @@ ENCODING 26666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 F7C0 @@ -276249,7 +315865,7 @@ ENCODING 26667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F200 @@ -276267,7 +315883,7 @@ ENCODING 26668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -276285,7 +315901,7 @@ ENCODING 26669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F200 @@ -276303,7 +315919,7 @@ ENCODING 26670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 FC40 @@ -276321,7 +315937,7 @@ ENCODING 26671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -276339,7 +315955,7 @@ ENCODING 26672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 22A0 F480 @@ -276357,7 +315973,7 @@ ENCODING 26673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FA80 @@ -276375,7 +315991,7 @@ ENCODING 26674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 F940 @@ -276393,7 +316009,7 @@ ENCODING 26675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27A0 F920 @@ -276411,7 +316027,7 @@ ENCODING 26676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F800 @@ -276429,7 +316045,7 @@ ENCODING 26677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FA0 2420 F4A0 @@ -276447,7 +316063,7 @@ ENCODING 26678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F920 @@ -276465,7 +316081,7 @@ ENCODING 26679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -276483,7 +316099,7 @@ ENCODING 26680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -276501,7 +316117,7 @@ ENCODING 26681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -276519,7 +316135,7 @@ ENCODING 26682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 2700 FC20 @@ -276537,7 +316153,7 @@ ENCODING 26683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -276555,7 +316171,7 @@ ENCODING 26684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F440 @@ -276573,7 +316189,7 @@ ENCODING 26685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7D20 1100 @@ -276591,7 +316207,7 @@ ENCODING 26686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -276609,7 +316225,7 @@ ENCODING 26687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22C0 24A0 @@ -276627,7 +316243,7 @@ ENCODING 26688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FE0 4880 @@ -276645,7 +316261,7 @@ ENCODING 26689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 25E0 F800 @@ -276663,7 +316279,7 @@ ENCODING 26690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -276681,7 +316297,7 @@ ENCODING 26691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FAA0 @@ -276699,7 +316315,7 @@ ENCODING 26692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FD40 @@ -276717,7 +316333,7 @@ ENCODING 26693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F480 @@ -276735,7 +316351,7 @@ ENCODING 26694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FFE0 @@ -276753,7 +316369,7 @@ ENCODING 26695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FBC0 2A40 @@ -276771,7 +316387,7 @@ ENCODING 26696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8820 @@ -276789,7 +316405,7 @@ ENCODING 26697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -276807,7 +316423,7 @@ ENCODING 26698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FC0 @@ -276825,7 +316441,7 @@ ENCODING 26699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F100 @@ -276843,7 +316459,7 @@ ENCODING 26700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 3F80 @@ -276861,7 +316477,7 @@ ENCODING 26701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -276879,7 +316495,7 @@ ENCODING 26702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FA00 @@ -276897,7 +316513,7 @@ ENCODING 26703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2EA0 FCA0 @@ -276915,7 +316531,7 @@ ENCODING 26704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FBA0 @@ -276933,7 +316549,7 @@ ENCODING 26705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 1100 0E00 @@ -276951,7 +316567,7 @@ ENCODING 26706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -276969,7 +316585,7 @@ ENCODING 26707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 F800 @@ -276987,7 +316603,7 @@ ENCODING 26708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -277005,7 +316621,7 @@ ENCODING 26709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2CE0 F820 @@ -277023,7 +316639,7 @@ ENCODING 26710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4800 5FC0 @@ -277041,7 +316657,7 @@ ENCODING 26711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 FAE0 @@ -277059,7 +316675,7 @@ ENCODING 26712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2440 @@ -277077,7 +316693,7 @@ ENCODING 26713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 F7C0 @@ -277095,7 +316711,7 @@ ENCODING 26714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 2A80 @@ -277113,7 +316729,7 @@ ENCODING 26715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FA00 @@ -277131,7 +316747,7 @@ ENCODING 26716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2560 FD40 @@ -277149,7 +316765,7 @@ ENCODING 26717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2440 2840 @@ -277167,7 +316783,7 @@ ENCODING 26718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 2EA0 @@ -277185,7 +316801,7 @@ ENCODING 26719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 FBC0 @@ -277203,7 +316819,7 @@ ENCODING 26720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F280 @@ -277221,7 +316837,7 @@ ENCODING 26721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FF40 @@ -277239,7 +316855,7 @@ ENCODING 26722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -277257,7 +316873,7 @@ ENCODING 26723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 FB40 @@ -277275,7 +316891,7 @@ ENCODING 26724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 FFE0 @@ -277293,7 +316909,7 @@ ENCODING 26725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F100 @@ -277311,7 +316927,7 @@ ENCODING 26726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22A0 FCC0 @@ -277329,7 +316945,7 @@ ENCODING 26727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FA80 @@ -277347,7 +316963,7 @@ ENCODING 26728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 33E0 1440 @@ -277365,7 +316981,7 @@ ENCODING 26729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FC00 @@ -277383,7 +316999,7 @@ ENCODING 26730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -277401,7 +317017,7 @@ ENCODING 26731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2280 F8C0 @@ -277419,7 +317035,7 @@ ENCODING 26732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 AA80 4A40 @@ -277437,7 +317053,7 @@ ENCODING 26733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FDC0 @@ -277455,7 +317071,7 @@ ENCODING 26734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 F980 @@ -277473,7 +317089,7 @@ ENCODING 26735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -277491,7 +317107,7 @@ ENCODING 26736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2700 FD00 @@ -277509,7 +317125,7 @@ ENCODING 26737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FD40 @@ -277527,7 +317143,7 @@ ENCODING 26738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -277545,7 +317161,7 @@ ENCODING 26739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2440 FFE0 @@ -277563,7 +317179,7 @@ ENCODING 26740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 FD40 @@ -277581,7 +317197,7 @@ ENCODING 26741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 FD20 @@ -277599,7 +317215,7 @@ ENCODING 26742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 F980 @@ -277617,7 +317233,7 @@ ENCODING 26743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F480 @@ -277635,7 +317251,7 @@ ENCODING 26744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2180 F660 @@ -277653,7 +317269,7 @@ ENCODING 26745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -277671,7 +317287,7 @@ ENCODING 26746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F280 @@ -277689,7 +317305,7 @@ ENCODING 26747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2C40 F380 @@ -277707,7 +317323,7 @@ ENCODING 26748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -277725,7 +317341,7 @@ ENCODING 26749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -277743,7 +317359,7 @@ ENCODING 26750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 FFE0 @@ -277761,7 +317377,7 @@ ENCODING 26751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -277779,7 +317395,7 @@ ENCODING 26752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -277797,7 +317413,7 @@ ENCODING 26753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 A280 4AC0 @@ -277815,7 +317431,7 @@ ENCODING 26754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 FFE0 @@ -277833,7 +317449,7 @@ ENCODING 26755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 23C0 FA40 @@ -277851,7 +317467,7 @@ ENCODING 26756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -277869,7 +317485,7 @@ ENCODING 26757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 F800 @@ -277887,7 +317503,7 @@ ENCODING 26758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 FFA0 @@ -277905,7 +317521,7 @@ ENCODING 26759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFC0 @@ -277923,7 +317539,7 @@ ENCODING 26760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F800 @@ -277941,7 +317557,7 @@ ENCODING 26761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2A40 FA40 @@ -277959,7 +317575,7 @@ ENCODING 26762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FF80 2400 @@ -277977,7 +317593,7 @@ ENCODING 26763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -277995,7 +317611,7 @@ ENCODING 26764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -278013,7 +317629,7 @@ ENCODING 26765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 F840 @@ -278031,7 +317647,7 @@ ENCODING 26766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -278049,7 +317665,7 @@ ENCODING 26767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 F7E0 @@ -278067,7 +317683,7 @@ ENCODING 26768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24A0 FFC0 @@ -278085,7 +317701,7 @@ ENCODING 26769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 2480 F8A0 @@ -278103,7 +317719,7 @@ ENCODING 26770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F280 @@ -278121,7 +317737,7 @@ ENCODING 26771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -278139,7 +317755,7 @@ ENCODING 26772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 FC00 @@ -278157,7 +317773,7 @@ ENCODING 26773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -278175,7 +317791,7 @@ ENCODING 26774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -278193,7 +317809,7 @@ ENCODING 26775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -278211,7 +317827,7 @@ ENCODING 26776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -278229,7 +317845,7 @@ ENCODING 26777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FD40 @@ -278247,7 +317863,7 @@ ENCODING 26778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F480 @@ -278265,7 +317881,7 @@ ENCODING 26779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4AA0 EAA0 @@ -278283,7 +317899,7 @@ ENCODING 26780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -278301,7 +317917,7 @@ ENCODING 26781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 5A40 @@ -278319,7 +317935,7 @@ ENCODING 26782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -278337,7 +317953,7 @@ ENCODING 26783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F80 4080 @@ -278355,7 +317971,7 @@ ENCODING 26784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -278373,7 +317989,7 @@ ENCODING 26785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -278391,7 +318007,7 @@ ENCODING 26786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 F900 @@ -278409,7 +318025,7 @@ ENCODING 26787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2520 FFE0 @@ -278427,7 +318043,7 @@ ENCODING 26788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 2520 @@ -278445,7 +318061,7 @@ ENCODING 26789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -278463,7 +318079,7 @@ ENCODING 26790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FBE0 1080 @@ -278481,7 +318097,7 @@ ENCODING 26791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FFC0 @@ -278499,7 +318115,7 @@ ENCODING 26792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F940 1140 @@ -278517,7 +318133,7 @@ ENCODING 26793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F540 @@ -278535,7 +318151,7 @@ ENCODING 26794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 F800 @@ -278553,7 +318169,7 @@ ENCODING 26795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 FFC0 @@ -278571,7 +318187,7 @@ ENCODING 26796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FD40 @@ -278589,7 +318205,7 @@ ENCODING 26797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 FFE0 @@ -278607,7 +318223,7 @@ ENCODING 26798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -278625,7 +318241,7 @@ ENCODING 26799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 27C0 @@ -278643,7 +318259,7 @@ ENCODING 26800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -278661,7 +318277,7 @@ ENCODING 26801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F920 @@ -278679,7 +318295,7 @@ ENCODING 26802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2440 FFE0 @@ -278697,7 +318313,7 @@ ENCODING 26803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F200 @@ -278715,7 +318331,7 @@ ENCODING 26804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C20 45C0 F840 @@ -278733,7 +318349,7 @@ ENCODING 26805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -278751,7 +318367,7 @@ ENCODING 26806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -278769,7 +318385,7 @@ ENCODING 26807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3A20 2140 @@ -278787,7 +318403,7 @@ ENCODING 26808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 26A0 FAA0 @@ -278805,7 +318421,7 @@ ENCODING 26809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 F400 @@ -278823,7 +318439,7 @@ ENCODING 26810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 7180 @@ -278841,7 +318457,7 @@ ENCODING 26811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2680 2A80 FFE0 @@ -278859,7 +318475,7 @@ ENCODING 26812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -278877,7 +318493,7 @@ ENCODING 26813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FFE0 @@ -278895,7 +318511,7 @@ ENCODING 26814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 F200 @@ -278913,7 +318529,7 @@ ENCODING 26815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F900 @@ -278931,7 +318547,7 @@ ENCODING 26816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -278949,7 +318565,7 @@ ENCODING 26817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7C0 @@ -278967,7 +318583,7 @@ ENCODING 26818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 FBE0 @@ -278985,7 +318601,7 @@ ENCODING 26819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 11E0 FEA0 @@ -279003,7 +318619,7 @@ ENCODING 26820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -279021,7 +318637,7 @@ ENCODING 26821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2200 FFE0 @@ -279039,7 +318655,7 @@ ENCODING 26822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -279057,7 +318673,7 @@ ENCODING 26823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FC40 @@ -279075,7 +318691,7 @@ ENCODING 26824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -279093,7 +318709,7 @@ ENCODING 26825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -279111,7 +318727,7 @@ ENCODING 26826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -279129,7 +318745,7 @@ ENCODING 26827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -279147,7 +318763,7 @@ ENCODING 26828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 F920 @@ -279165,7 +318781,7 @@ ENCODING 26829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -279183,7 +318799,7 @@ ENCODING 26830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FA40 @@ -279201,7 +318817,7 @@ ENCODING 26831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -279219,7 +318835,7 @@ ENCODING 26832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -279237,7 +318853,7 @@ ENCODING 26833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FEE0 @@ -279255,7 +318871,7 @@ ENCODING 26834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -279273,7 +318889,7 @@ ENCODING 26835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -279291,7 +318907,7 @@ ENCODING 26836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 FFE0 @@ -279309,7 +318925,7 @@ ENCODING 26837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -279327,7 +318943,7 @@ ENCODING 26838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 FFC0 @@ -279345,7 +318961,7 @@ ENCODING 26839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -279363,7 +318979,7 @@ ENCODING 26840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -279381,7 +318997,7 @@ ENCODING 26841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -279399,7 +319015,7 @@ ENCODING 26842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -279417,7 +319033,7 @@ ENCODING 26843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F200 @@ -279435,7 +319051,7 @@ ENCODING 26844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2440 FEA0 @@ -279453,7 +319069,7 @@ ENCODING 26845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F920 @@ -279471,7 +319087,7 @@ ENCODING 26846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 28A0 FB20 @@ -279489,7 +319105,7 @@ ENCODING 26847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -279507,7 +319123,7 @@ ENCODING 26848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2480 FFE0 @@ -279525,7 +319141,7 @@ ENCODING 26849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -279543,7 +319159,7 @@ ENCODING 26850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FAA0 @@ -279561,7 +319177,7 @@ ENCODING 26851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F140 @@ -279579,7 +319195,7 @@ ENCODING 26852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -279597,7 +319213,7 @@ ENCODING 26853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2A80 F5E0 @@ -279615,7 +319231,7 @@ ENCODING 26854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 F880 @@ -279633,7 +319249,7 @@ ENCODING 26855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 F940 @@ -279651,7 +319267,7 @@ ENCODING 26856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 4620 @@ -279669,7 +319285,7 @@ ENCODING 26857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 2AA0 FAA0 @@ -279687,7 +319303,7 @@ ENCODING 26858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2540 F580 @@ -279705,7 +319321,7 @@ ENCODING 26859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -279723,7 +319339,7 @@ ENCODING 26860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -279741,7 +319357,7 @@ ENCODING 26861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F500 @@ -279759,7 +319375,7 @@ ENCODING 26862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1500 @@ -279777,7 +319393,7 @@ ENCODING 26863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F540 @@ -279795,7 +319411,7 @@ ENCODING 26864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -279813,7 +319429,7 @@ ENCODING 26865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -279831,7 +319447,7 @@ ENCODING 26866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F140 @@ -279849,7 +319465,7 @@ ENCODING 26867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 F440 @@ -279867,7 +319483,7 @@ ENCODING 26868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAE0 @@ -279885,7 +319501,7 @@ ENCODING 26869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FFE0 @@ -279903,7 +319519,7 @@ ENCODING 26870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -279921,7 +319537,7 @@ ENCODING 26871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2AE0 FEA0 @@ -279939,7 +319555,7 @@ ENCODING 26872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 4BE0 7840 @@ -279957,7 +319573,7 @@ ENCODING 26873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -279975,7 +319591,7 @@ ENCODING 26874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -279993,7 +319609,7 @@ ENCODING 26875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -280011,7 +319627,7 @@ ENCODING 26876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 3980 @@ -280029,7 +319645,7 @@ ENCODING 26877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 3180 @@ -280047,7 +319663,7 @@ ENCODING 26878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 3B80 @@ -280065,7 +319681,7 @@ ENCODING 26879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 24C0 F440 @@ -280083,7 +319699,7 @@ ENCODING 26880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -280101,7 +319717,7 @@ ENCODING 26881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F800 @@ -280119,7 +319735,7 @@ ENCODING 26882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -280137,7 +319753,7 @@ ENCODING 26883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2200 FFE0 @@ -280155,7 +319771,7 @@ ENCODING 26884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -280173,7 +319789,7 @@ ENCODING 26885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -280191,7 +319807,7 @@ ENCODING 26886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FFA0 @@ -280209,7 +319825,7 @@ ENCODING 26887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -280227,7 +319843,7 @@ ENCODING 26888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 F7E0 @@ -280245,7 +319861,7 @@ ENCODING 26889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -280263,7 +319879,7 @@ ENCODING 26890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -280281,7 +319897,7 @@ ENCODING 26891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F800 @@ -280299,7 +319915,7 @@ ENCODING 26892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -280317,7 +319933,7 @@ ENCODING 26893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -280335,7 +319951,7 @@ ENCODING 26894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FC80 @@ -280353,7 +319969,7 @@ ENCODING 26895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FA80 @@ -280371,7 +319987,7 @@ ENCODING 26896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -280389,7 +320005,7 @@ ENCODING 26897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -280407,7 +320023,7 @@ ENCODING 26898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 24A0 F7A0 @@ -280425,7 +320041,7 @@ ENCODING 26899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FA20 @@ -280443,7 +320059,7 @@ ENCODING 26900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 22A0 FD40 @@ -280461,7 +320077,7 @@ ENCODING 26901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2A40 FAE0 @@ -280479,7 +320095,7 @@ ENCODING 26902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FC20 @@ -280497,7 +320113,7 @@ ENCODING 26903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -280515,7 +320131,7 @@ ENCODING 26904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 3B80 @@ -280533,7 +320149,7 @@ ENCODING 26905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -280551,7 +320167,7 @@ ENCODING 26906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -280569,7 +320185,7 @@ ENCODING 26907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -280587,7 +320203,7 @@ ENCODING 26908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC40 @@ -280605,7 +320221,7 @@ ENCODING 26909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F440 2540 @@ -280623,7 +320239,7 @@ ENCODING 26910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FE00 3BE0 @@ -280641,7 +320257,7 @@ ENCODING 26911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -280659,7 +320275,7 @@ ENCODING 26912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 5200 @@ -280677,7 +320293,7 @@ ENCODING 26913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 5F20 E4A0 @@ -280695,7 +320311,7 @@ ENCODING 26914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 F820 @@ -280713,7 +320329,7 @@ ENCODING 26915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -280731,7 +320347,7 @@ ENCODING 26916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -280749,7 +320365,7 @@ ENCODING 26917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 24E0 F7A0 @@ -280767,7 +320383,7 @@ ENCODING 26918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FFE0 @@ -280785,7 +320401,7 @@ ENCODING 26919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 FC60 @@ -280803,7 +320419,7 @@ ENCODING 26920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 F900 @@ -280821,7 +320437,7 @@ ENCODING 26921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F900 @@ -280839,7 +320455,7 @@ ENCODING 26922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2240 F280 @@ -280857,7 +320473,7 @@ ENCODING 26923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 F7C0 @@ -280875,7 +320491,7 @@ ENCODING 26924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -280893,7 +320509,7 @@ ENCODING 26925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2BE0 FA80 @@ -280911,7 +320527,7 @@ ENCODING 26926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4F80 E200 @@ -280929,7 +320545,7 @@ ENCODING 26927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 FFE0 @@ -280947,7 +320563,7 @@ ENCODING 26928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FEA0 @@ -280965,7 +320581,7 @@ ENCODING 26929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 F800 @@ -280983,7 +320599,7 @@ ENCODING 26930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F240 @@ -281001,7 +320617,7 @@ ENCODING 26931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -281019,7 +320635,7 @@ ENCODING 26932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2940 FF40 @@ -281037,7 +320653,7 @@ ENCODING 26933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2A20 FEE0 @@ -281055,7 +320671,7 @@ ENCODING 26934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2920 FAA0 @@ -281073,7 +320689,7 @@ ENCODING 26935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -281091,7 +320707,7 @@ ENCODING 26936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2500 2FE0 @@ -281109,7 +320725,7 @@ ENCODING 26937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 FA40 @@ -281127,7 +320743,7 @@ ENCODING 26938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2BC0 FA40 @@ -281145,7 +320761,7 @@ ENCODING 26939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FDE0 @@ -281163,7 +320779,7 @@ ENCODING 26940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 2900 F000 @@ -281181,7 +320797,7 @@ ENCODING 26941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2280 F780 @@ -281199,7 +320815,7 @@ ENCODING 26942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F000 @@ -281217,7 +320833,7 @@ ENCODING 26943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -281235,7 +320851,7 @@ ENCODING 26944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F900 @@ -281253,7 +320869,7 @@ ENCODING 26945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA20 @@ -281271,7 +320887,7 @@ ENCODING 26946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD40 @@ -281289,7 +320905,7 @@ ENCODING 26947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 FFC0 @@ -281307,7 +320923,7 @@ ENCODING 26948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -281325,7 +320941,7 @@ ENCODING 26949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 FBC0 @@ -281343,7 +320959,7 @@ ENCODING 26950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -281361,7 +320977,7 @@ ENCODING 26951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FF40 @@ -281379,7 +320995,7 @@ ENCODING 26952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 F5C0 @@ -281397,7 +321013,7 @@ ENCODING 26953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -281415,7 +321031,7 @@ ENCODING 26954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -281433,7 +321049,7 @@ ENCODING 26955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2F20 F2A0 @@ -281451,7 +321067,7 @@ ENCODING 26956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -281469,7 +321085,7 @@ ENCODING 26957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0E00 @@ -281487,7 +321103,7 @@ ENCODING 26958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 F100 @@ -281505,7 +321121,7 @@ ENCODING 26959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA40 @@ -281523,7 +321139,7 @@ ENCODING 26960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2A40 FFC0 @@ -281541,7 +321157,7 @@ ENCODING 26961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EA0 2B40 F680 @@ -281559,7 +321175,7 @@ ENCODING 26962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 FFE0 @@ -281577,7 +321193,7 @@ ENCODING 26963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 24C0 FD40 @@ -281595,7 +321211,7 @@ ENCODING 26964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2EA0 F4A0 @@ -281613,7 +321229,7 @@ ENCODING 26965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F400 @@ -281631,7 +321247,7 @@ ENCODING 26966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEA0 @@ -281649,7 +321265,7 @@ ENCODING 26967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C80 25E0 F4A0 @@ -281667,7 +321283,7 @@ ENCODING 26968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 FF40 @@ -281685,7 +321301,7 @@ ENCODING 26969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2A80 F5E0 @@ -281703,7 +321319,7 @@ ENCODING 26970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -281721,7 +321337,7 @@ ENCODING 26971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -281739,7 +321355,7 @@ ENCODING 26972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 FFA0 @@ -281757,7 +321373,7 @@ ENCODING 26973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -281775,7 +321391,7 @@ ENCODING 26974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -281793,7 +321409,7 @@ ENCODING 26975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA40 @@ -281811,7 +321427,7 @@ ENCODING 26976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -281829,7 +321445,7 @@ ENCODING 26977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -281847,7 +321463,7 @@ ENCODING 26978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -281865,7 +321481,7 @@ ENCODING 26979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -281883,7 +321499,7 @@ ENCODING 26980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 FAA0 @@ -281901,7 +321517,7 @@ ENCODING 26981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 FCA0 @@ -281919,7 +321535,7 @@ ENCODING 26982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -281937,7 +321553,7 @@ ENCODING 26983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -281955,7 +321571,7 @@ ENCODING 26984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -281973,7 +321589,7 @@ ENCODING 26985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FBE0 @@ -281991,7 +321607,7 @@ ENCODING 26986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 27E0 FD40 @@ -282009,7 +321625,7 @@ ENCODING 26987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -282027,7 +321643,7 @@ ENCODING 26988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -282045,7 +321661,7 @@ ENCODING 26989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A80 FFE0 @@ -282063,7 +321679,7 @@ ENCODING 26990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 F940 @@ -282081,7 +321697,7 @@ ENCODING 26991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2480 FFE0 @@ -282099,7 +321715,7 @@ ENCODING 26992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2D60 F920 @@ -282117,7 +321733,7 @@ ENCODING 26993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FFC0 @@ -282135,7 +321751,7 @@ ENCODING 26994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 40A0 FFE0 @@ -282153,7 +321769,7 @@ ENCODING 26995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F440 @@ -282171,7 +321787,7 @@ ENCODING 26996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -282189,7 +321805,7 @@ ENCODING 26997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4080 E100 @@ -282207,7 +321823,7 @@ ENCODING 26998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FE0 D320 @@ -282225,7 +321841,7 @@ ENCODING 26999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26A0 FCC0 @@ -282243,7 +321859,7 @@ ENCODING 27000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E40 2440 F540 @@ -282261,7 +321877,7 @@ ENCODING 27001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2480 F5E0 @@ -282279,7 +321895,7 @@ ENCODING 27002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 FFE0 @@ -282297,7 +321913,7 @@ ENCODING 27003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -282315,7 +321931,7 @@ ENCODING 27004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 F100 @@ -282333,7 +321949,7 @@ ENCODING 27005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 9F20 5140 @@ -282351,7 +321967,7 @@ ENCODING 27006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC40 @@ -282369,7 +321985,7 @@ ENCODING 27007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -282387,7 +322003,7 @@ ENCODING 27008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FC40 @@ -282405,7 +322021,7 @@ ENCODING 27009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F820 @@ -282423,7 +322039,7 @@ ENCODING 27010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2A40 FE40 @@ -282441,7 +322057,7 @@ ENCODING 27011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -282459,7 +322075,7 @@ ENCODING 27012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AE0 FB40 @@ -282477,7 +322093,7 @@ ENCODING 27013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 F440 @@ -282495,7 +322111,7 @@ ENCODING 27014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 FB60 @@ -282513,7 +322129,7 @@ ENCODING 27015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -282531,7 +322147,7 @@ ENCODING 27016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2420 F820 @@ -282549,7 +322165,7 @@ ENCODING 27017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -282567,7 +322183,7 @@ ENCODING 27018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4480 FFE0 @@ -282585,7 +322201,7 @@ ENCODING 27019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -282603,7 +322219,7 @@ ENCODING 27020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2F40 F180 @@ -282621,7 +322237,7 @@ ENCODING 27021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -282639,7 +322255,7 @@ ENCODING 27022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 FF40 @@ -282657,7 +322273,7 @@ ENCODING 27023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -282675,7 +322291,7 @@ ENCODING 27024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -282693,7 +322309,7 @@ ENCODING 27025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 F540 @@ -282711,7 +322327,7 @@ ENCODING 27026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 F220 @@ -282729,7 +322345,7 @@ ENCODING 27027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2280 F740 @@ -282747,7 +322363,7 @@ ENCODING 27028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2EA0 FAA0 @@ -282765,7 +322381,7 @@ ENCODING 27029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -282783,7 +322399,7 @@ ENCODING 27030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -282801,7 +322417,7 @@ ENCODING 27031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FAA0 @@ -282819,7 +322435,7 @@ ENCODING 27032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A00 A3C0 @@ -282837,7 +322453,7 @@ ENCODING 27033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -282855,7 +322471,7 @@ ENCODING 27034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -282873,7 +322489,7 @@ ENCODING 27035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -282891,7 +322507,7 @@ ENCODING 27036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -282909,7 +322525,7 @@ ENCODING 27037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55C0 4940 5540 @@ -282927,7 +322543,7 @@ ENCODING 27038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FDE0 @@ -282945,7 +322561,7 @@ ENCODING 27039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -282963,7 +322579,7 @@ ENCODING 27040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFC0 @@ -282981,7 +322597,7 @@ ENCODING 27041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 F7C0 @@ -282999,7 +322615,7 @@ ENCODING 27042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F820 @@ -283017,7 +322633,7 @@ ENCODING 27043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2700 FD20 @@ -283035,7 +322651,7 @@ ENCODING 27044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 27E0 F940 @@ -283053,7 +322669,7 @@ ENCODING 27045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -283071,7 +322687,7 @@ ENCODING 27046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 2140 @@ -283089,7 +322705,7 @@ ENCODING 27047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 FD40 @@ -283107,7 +322723,7 @@ ENCODING 27048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD20 @@ -283125,7 +322741,7 @@ ENCODING 27049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -283143,7 +322759,7 @@ ENCODING 27050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FFC0 @@ -283161,7 +322777,7 @@ ENCODING 27051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FC80 @@ -283179,7 +322795,7 @@ ENCODING 27052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F900 @@ -283197,7 +322813,7 @@ ENCODING 27053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2E40 FBE0 @@ -283215,7 +322831,7 @@ ENCODING 27054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 54A0 5AA0 9080 @@ -283233,7 +322849,7 @@ ENCODING 27055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 FA80 @@ -283251,7 +322867,7 @@ ENCODING 27056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 2140 FFE0 @@ -283269,7 +322885,7 @@ ENCODING 27057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F800 @@ -283287,7 +322903,7 @@ ENCODING 27058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FEC0 @@ -283305,7 +322921,7 @@ ENCODING 27059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F800 @@ -283323,7 +322939,7 @@ ENCODING 27060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2DE0 28A0 FAA0 @@ -283341,7 +322957,7 @@ ENCODING 27061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 FA40 @@ -283359,7 +322975,7 @@ ENCODING 27062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FD40 @@ -283377,7 +322993,7 @@ ENCODING 27063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -283395,7 +323011,7 @@ ENCODING 27064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4BE0 EAA0 @@ -283413,7 +323029,7 @@ ENCODING 27065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 FCE0 @@ -283431,7 +323047,7 @@ ENCODING 27066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5380 5FE0 @@ -283449,7 +323065,7 @@ ENCODING 27067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -283467,7 +323083,7 @@ ENCODING 27068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -283485,7 +323101,7 @@ ENCODING 27069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2520 FAC0 @@ -283503,7 +323119,7 @@ ENCODING 27070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F740 @@ -283521,7 +323137,7 @@ ENCODING 27071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 FFE0 @@ -283539,7 +323155,7 @@ ENCODING 27072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -283557,7 +323173,7 @@ ENCODING 27073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -283575,7 +323191,7 @@ ENCODING 27074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C60 4780 F920 @@ -283593,7 +323209,7 @@ ENCODING 27075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 FA40 AA60 @@ -283611,7 +323227,7 @@ ENCODING 27076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 F820 @@ -283629,7 +323245,7 @@ ENCODING 27077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 FFC0 @@ -283647,7 +323263,7 @@ ENCODING 27078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -283665,7 +323281,7 @@ ENCODING 27079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2400 F7E0 @@ -283683,7 +323299,7 @@ ENCODING 27080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2800 FFE0 @@ -283701,7 +323317,7 @@ ENCODING 27081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 F500 @@ -283719,7 +323335,7 @@ ENCODING 27082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 FD20 11E0 @@ -283737,7 +323353,7 @@ ENCODING 27083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -283755,7 +323371,7 @@ ENCODING 27084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25E0 F520 @@ -283773,7 +323389,7 @@ ENCODING 27085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F540 @@ -283791,7 +323407,7 @@ ENCODING 27086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -283809,7 +323425,7 @@ ENCODING 27087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F500 @@ -283827,7 +323443,7 @@ ENCODING 27088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FA40 @@ -283845,7 +323461,7 @@ ENCODING 27089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -283863,7 +323479,7 @@ ENCODING 27090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -283881,7 +323497,7 @@ ENCODING 27091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -283899,7 +323515,7 @@ ENCODING 27092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F440 @@ -283917,7 +323533,7 @@ ENCODING 27093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -283935,7 +323551,7 @@ ENCODING 27094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -283953,7 +323569,7 @@ ENCODING 27095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F400 @@ -283971,7 +323587,7 @@ ENCODING 27096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -283989,7 +323605,7 @@ ENCODING 27097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F900 @@ -284007,7 +323623,7 @@ ENCODING 27098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -284025,7 +323641,7 @@ ENCODING 27099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2A80 FAE0 @@ -284043,7 +323659,7 @@ ENCODING 27100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 27E0 FC80 @@ -284061,7 +323677,7 @@ ENCODING 27101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 F440 @@ -284079,7 +323695,7 @@ ENCODING 27102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -284097,7 +323713,7 @@ ENCODING 27103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -284115,7 +323731,7 @@ ENCODING 27104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 2BE0 F4A0 @@ -284133,7 +323749,7 @@ ENCODING 27105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2280 F100 @@ -284151,7 +323767,7 @@ ENCODING 27106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2220 FAA0 @@ -284169,7 +323785,7 @@ ENCODING 27107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -284187,7 +323803,7 @@ ENCODING 27108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 27E0 F2A0 @@ -284205,7 +323821,7 @@ ENCODING 27109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2440 FEE0 @@ -284223,7 +323839,7 @@ ENCODING 27110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F940 @@ -284241,7 +323857,7 @@ ENCODING 27111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF00 5500 @@ -284259,7 +323875,7 @@ ENCODING 27112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2FA0 FAA0 @@ -284277,7 +323893,7 @@ ENCODING 27113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 6A80 5BE0 @@ -284295,7 +323911,7 @@ ENCODING 27114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2FE0 FA40 @@ -284313,7 +323929,7 @@ ENCODING 27115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -284331,7 +323947,7 @@ ENCODING 27116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 26A0 FAA0 @@ -284349,7 +323965,7 @@ ENCODING 27117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 FFE0 @@ -284367,7 +323983,7 @@ ENCODING 27118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 F7E0 @@ -284385,7 +324001,7 @@ ENCODING 27119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 FFC0 @@ -284403,7 +324019,7 @@ ENCODING 27120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 F640 @@ -284421,7 +324037,7 @@ ENCODING 27121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -284439,7 +324055,7 @@ ENCODING 27122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 27A0 FA60 @@ -284457,7 +324073,7 @@ ENCODING 27123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4B40 7E80 @@ -284475,7 +324091,7 @@ ENCODING 27124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -284493,7 +324109,7 @@ ENCODING 27125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FA40 @@ -284511,7 +324127,7 @@ ENCODING 27126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2960 FFE0 @@ -284529,7 +324145,7 @@ ENCODING 27127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2140 @@ -284547,7 +324163,7 @@ ENCODING 27128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2E80 F5E0 @@ -284565,7 +324181,7 @@ ENCODING 27129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 F440 @@ -284583,7 +324199,7 @@ ENCODING 27130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F940 @@ -284601,7 +324217,7 @@ ENCODING 27131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 FFE0 @@ -284619,7 +324235,7 @@ ENCODING 27132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -284637,7 +324253,7 @@ ENCODING 27133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FAA0 @@ -284655,7 +324271,7 @@ ENCODING 27134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 F7C0 @@ -284673,7 +324289,7 @@ ENCODING 27135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -284691,7 +324307,7 @@ ENCODING 27136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F240 @@ -284709,7 +324325,7 @@ ENCODING 27137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -284727,7 +324343,7 @@ ENCODING 27138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5E40 92A0 @@ -284745,7 +324361,7 @@ ENCODING 27139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2EE0 FAA0 @@ -284763,7 +324379,7 @@ ENCODING 27140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2BE0 FA80 @@ -284781,7 +324397,7 @@ ENCODING 27141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2940 F6A0 @@ -284799,7 +324415,7 @@ ENCODING 27142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -284817,7 +324433,7 @@ ENCODING 27143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24E0 F9A0 @@ -284835,7 +324451,7 @@ ENCODING 27144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -284853,7 +324469,7 @@ ENCODING 27145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -284871,7 +324487,7 @@ ENCODING 27146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2440 FBE0 @@ -284889,7 +324505,7 @@ ENCODING 27147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 2940 F080 @@ -284907,7 +324523,7 @@ ENCODING 27148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFE0 @@ -284925,7 +324541,7 @@ ENCODING 27149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -284943,7 +324559,7 @@ ENCODING 27150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F420 @@ -284961,7 +324577,7 @@ ENCODING 27151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -284979,7 +324595,7 @@ ENCODING 27152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 F900 @@ -284997,7 +324613,7 @@ ENCODING 27153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 2540 FB60 @@ -285015,7 +324631,7 @@ ENCODING 27154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F940 @@ -285033,7 +324649,7 @@ ENCODING 27155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2540 @@ -285051,7 +324667,7 @@ ENCODING 27156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 F540 @@ -285069,7 +324685,7 @@ ENCODING 27157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F2A0 @@ -285087,7 +324703,7 @@ ENCODING 27158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 CE60 @@ -285105,7 +324721,7 @@ ENCODING 27159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -285123,7 +324739,7 @@ ENCODING 27160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -285141,7 +324757,7 @@ ENCODING 27161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -285159,7 +324775,7 @@ ENCODING 27162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -285177,7 +324793,7 @@ ENCODING 27163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 FB60 @@ -285195,7 +324811,7 @@ ENCODING 27164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA40 @@ -285213,7 +324829,7 @@ ENCODING 27165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFE0 @@ -285231,7 +324847,7 @@ ENCODING 27166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 FBC0 @@ -285249,7 +324865,7 @@ ENCODING 27167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F280 @@ -285267,7 +324883,7 @@ ENCODING 27168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -285285,7 +324901,7 @@ ENCODING 27169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -285303,7 +324919,7 @@ ENCODING 27170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FC40 @@ -285321,7 +324937,7 @@ ENCODING 27171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -285339,7 +324955,7 @@ ENCODING 27172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 49E0 F340 @@ -285357,7 +324973,7 @@ ENCODING 27173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -285375,7 +324991,7 @@ ENCODING 27174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FC40 @@ -285393,7 +325009,7 @@ ENCODING 27175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 2540 FB40 @@ -285411,7 +325027,7 @@ ENCODING 27176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 F7E0 @@ -285429,7 +325045,7 @@ ENCODING 27177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2900 @@ -285447,7 +325063,7 @@ ENCODING 27178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -285465,7 +325081,7 @@ ENCODING 27179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 54A0 FEA0 @@ -285483,7 +325099,7 @@ ENCODING 27180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 FD40 @@ -285501,7 +325117,7 @@ ENCODING 27181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -285519,7 +325135,7 @@ ENCODING 27182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -285537,7 +325153,7 @@ ENCODING 27183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -285555,7 +325171,7 @@ ENCODING 27184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -285573,7 +325189,7 @@ ENCODING 27185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FAA0 @@ -285591,7 +325207,7 @@ ENCODING 27186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 2FE0 F080 @@ -285609,7 +325225,7 @@ ENCODING 27187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 F7C0 @@ -285627,7 +325243,7 @@ ENCODING 27188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 FAA0 @@ -285645,7 +325261,7 @@ ENCODING 27189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FC80 @@ -285663,7 +325279,7 @@ ENCODING 27190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 FFC0 @@ -285681,7 +325297,7 @@ ENCODING 27191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 71C0 @@ -285699,7 +325315,7 @@ ENCODING 27192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 FFE0 @@ -285717,7 +325333,7 @@ ENCODING 27193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2FA0 F220 @@ -285735,7 +325351,7 @@ ENCODING 27194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -285753,7 +325369,7 @@ ENCODING 27195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F540 @@ -285771,7 +325387,7 @@ ENCODING 27196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FFE0 @@ -285789,7 +325405,7 @@ ENCODING 27197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F280 @@ -285807,7 +325423,7 @@ ENCODING 27198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 4440 FFE0 @@ -285825,7 +325441,7 @@ ENCODING 27199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FFE0 @@ -285843,7 +325459,7 @@ ENCODING 27200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F240 @@ -285861,7 +325477,7 @@ ENCODING 27201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F240 @@ -285879,7 +325495,7 @@ ENCODING 27202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F280 @@ -285897,7 +325513,7 @@ ENCODING 27203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D40 54A0 E840 @@ -285915,7 +325531,7 @@ ENCODING 27204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2280 FFE0 @@ -285933,7 +325549,7 @@ ENCODING 27205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 EFE0 @@ -285951,7 +325567,7 @@ ENCODING 27206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FE0 AA80 @@ -285969,7 +325585,7 @@ ENCODING 27207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -285987,7 +325603,7 @@ ENCODING 27208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -286005,7 +325621,7 @@ ENCODING 27209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -286023,7 +325639,7 @@ ENCODING 27210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FEE0 @@ -286041,7 +325657,7 @@ ENCODING 27211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2200 FFE0 @@ -286059,7 +325675,7 @@ ENCODING 27212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FEE0 @@ -286077,7 +325693,7 @@ ENCODING 27213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -286095,7 +325711,7 @@ ENCODING 27214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2920 F540 @@ -286113,7 +325729,7 @@ ENCODING 27215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -286131,7 +325747,7 @@ ENCODING 27216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4440 @@ -286149,7 +325765,7 @@ ENCODING 27217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -286167,7 +325783,7 @@ ENCODING 27218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -286185,7 +325801,7 @@ ENCODING 27219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 F540 @@ -286203,7 +325819,7 @@ ENCODING 27220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2F80 FAE0 @@ -286221,7 +325837,7 @@ ENCODING 27221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -286239,7 +325855,7 @@ ENCODING 27222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -286257,7 +325873,7 @@ ENCODING 27223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -286275,7 +325891,7 @@ ENCODING 27224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -286293,7 +325909,7 @@ ENCODING 27225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2AA0 F440 @@ -286311,7 +325927,7 @@ ENCODING 27226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F140 @@ -286329,7 +325945,7 @@ ENCODING 27227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2D80 FA80 @@ -286347,7 +325963,7 @@ ENCODING 27228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5480 7FE0 @@ -286365,7 +325981,7 @@ ENCODING 27229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -286383,7 +325999,7 @@ ENCODING 27230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -286401,7 +326017,7 @@ ENCODING 27231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 29A0 FF40 @@ -286419,7 +326035,7 @@ ENCODING 27232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -286437,7 +326053,7 @@ ENCODING 27233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FFE0 @@ -286455,7 +326071,7 @@ ENCODING 27234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2BE0 FA00 @@ -286473,7 +326089,7 @@ ENCODING 27235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FE0 F940 @@ -286491,7 +326107,7 @@ ENCODING 27236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1600 5140 5F20 @@ -286509,7 +326125,7 @@ ENCODING 27237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57A0 2140 6FE0 @@ -286527,7 +326143,7 @@ ENCODING 27238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F280 @@ -286545,7 +326161,7 @@ ENCODING 27239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -286563,7 +326179,7 @@ ENCODING 27240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -286581,7 +326197,7 @@ ENCODING 27241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2F60 F540 @@ -286599,7 +326215,7 @@ ENCODING 27242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 26A0 F580 @@ -286617,7 +326233,7 @@ ENCODING 27243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -286635,7 +326251,7 @@ ENCODING 27244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 5540 FFE0 @@ -286653,7 +326269,7 @@ ENCODING 27245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -286671,7 +326287,7 @@ ENCODING 27246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 28A0 FAA0 @@ -286689,7 +326305,7 @@ ENCODING 27247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2B60 F2C0 @@ -286707,7 +326323,7 @@ ENCODING 27248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F440 @@ -286725,7 +326341,7 @@ ENCODING 27249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 FFA0 @@ -286743,7 +326359,7 @@ ENCODING 27250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F200 @@ -286761,7 +326377,7 @@ ENCODING 27251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EA0 55C0 F7E0 @@ -286779,7 +326395,7 @@ ENCODING 27252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 56C0 F4A0 @@ -286797,7 +326413,7 @@ ENCODING 27253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 5F40 EAE0 @@ -286815,7 +326431,7 @@ ENCODING 27254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 2FA0 F480 @@ -286833,7 +326449,7 @@ ENCODING 27255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 4BC0 FAE0 @@ -286851,7 +326467,7 @@ ENCODING 27256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 F7C0 @@ -286869,7 +326485,7 @@ ENCODING 27257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFC0 @@ -286887,7 +326503,7 @@ ENCODING 27258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -286905,7 +326521,7 @@ ENCODING 27259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4240 F7C0 @@ -286923,7 +326539,7 @@ ENCODING 27260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 2540 F940 @@ -286941,7 +326557,7 @@ ENCODING 27261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4BE0 F080 @@ -286959,7 +326575,7 @@ ENCODING 27262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -286977,7 +326593,7 @@ ENCODING 27263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 FFC0 @@ -286995,7 +326611,7 @@ ENCODING 27264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -287013,7 +326629,7 @@ ENCODING 27265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -287031,7 +326647,7 @@ ENCODING 27266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 FAA0 @@ -287049,7 +326665,7 @@ ENCODING 27267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EF80 AA40 AFC0 @@ -287067,7 +326683,7 @@ ENCODING 27268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5E80 F2E0 @@ -287085,7 +326701,7 @@ ENCODING 27269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 2500 FFE0 @@ -287103,7 +326719,7 @@ ENCODING 27270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5760 F440 @@ -287121,7 +326737,7 @@ ENCODING 27271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2FE0 F900 @@ -287139,7 +326755,7 @@ ENCODING 27272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 FFE0 @@ -287157,7 +326773,7 @@ ENCODING 27273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2AE0 FEA0 @@ -287175,7 +326791,7 @@ ENCODING 27274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5F40 F4A0 @@ -287193,7 +326809,7 @@ ENCODING 27275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 E280 @@ -287211,7 +326827,7 @@ ENCODING 27276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FAA0 @@ -287229,7 +326845,7 @@ ENCODING 27277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -287247,7 +326863,7 @@ ENCODING 27278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F540 @@ -287265,7 +326881,7 @@ ENCODING 27279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4AA0 EFE0 @@ -287283,7 +326899,7 @@ ENCODING 27280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FFE0 @@ -287301,7 +326917,7 @@ ENCODING 27281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -287319,7 +326935,7 @@ ENCODING 27282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 6AC0 @@ -287337,7 +326953,7 @@ ENCODING 27283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 29A0 FFA0 @@ -287355,7 +326971,7 @@ ENCODING 27284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -287373,7 +326989,7 @@ ENCODING 27285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 54A0 7D20 @@ -287391,7 +327007,7 @@ ENCODING 27286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2BE0 F480 @@ -287409,7 +327025,7 @@ ENCODING 27287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8FE0 F940 @@ -287427,7 +327043,7 @@ ENCODING 27288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 5E40 F3E0 @@ -287445,7 +327061,7 @@ ENCODING 27289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4280 EBA0 @@ -287463,7 +327079,7 @@ ENCODING 27290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 F2C0 @@ -287481,7 +327097,7 @@ ENCODING 27291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FF40 @@ -287499,7 +327115,7 @@ ENCODING 27292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 27C0 F820 @@ -287517,7 +327133,7 @@ ENCODING 27293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EC0 4AA0 EE80 @@ -287535,7 +327151,7 @@ ENCODING 27294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 52A0 FFA0 @@ -287553,7 +327169,7 @@ ENCODING 27295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 FFE0 @@ -287571,7 +327187,7 @@ ENCODING 27296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FFE0 2940 @@ -287589,7 +327205,7 @@ ENCODING 27297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -287607,7 +327223,7 @@ ENCODING 27298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 F440 @@ -287625,7 +327241,7 @@ ENCODING 27299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F540 @@ -287643,7 +327259,7 @@ ENCODING 27300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 27E0 F480 @@ -287661,7 +327277,7 @@ ENCODING 27301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F900 @@ -287679,7 +327295,7 @@ ENCODING 27302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FA0 4A20 FFA0 @@ -287697,7 +327313,7 @@ ENCODING 27303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -287715,7 +327331,7 @@ ENCODING 27304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F100 @@ -287733,7 +327349,7 @@ ENCODING 27305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -287751,7 +327367,7 @@ ENCODING 27306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4BA0 F6A0 @@ -287769,7 +327385,7 @@ ENCODING 27307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F520 @@ -287787,7 +327403,7 @@ ENCODING 27308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 E280 @@ -287805,7 +327421,7 @@ ENCODING 27309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2B20 F1E0 @@ -287823,7 +327439,7 @@ ENCODING 27310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -287841,7 +327457,7 @@ ENCODING 27311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F100 @@ -287859,7 +327475,7 @@ ENCODING 27312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 49E0 F520 @@ -287877,7 +327493,7 @@ ENCODING 27313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4EE0 F340 @@ -287895,7 +327511,7 @@ ENCODING 27314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5120 FFE0 @@ -287913,7 +327529,7 @@ ENCODING 27315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -287931,7 +327547,7 @@ ENCODING 27316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -287949,7 +327565,7 @@ ENCODING 27317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4DA0 EA40 @@ -287967,7 +327583,7 @@ ENCODING 27318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F280 @@ -287985,7 +327601,7 @@ ENCODING 27319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 FFE0 @@ -288003,7 +327619,7 @@ ENCODING 27320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -288021,7 +327637,7 @@ ENCODING 27321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 25E0 FE80 @@ -288039,7 +327655,7 @@ ENCODING 27322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F440 @@ -288057,7 +327673,7 @@ ENCODING 27323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2A40 FF60 @@ -288075,7 +327691,7 @@ ENCODING 27324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F7E0 @@ -288093,7 +327709,7 @@ ENCODING 27325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -288111,7 +327727,7 @@ ENCODING 27326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 5B80 9100 @@ -288129,7 +327745,7 @@ ENCODING 27327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A480 BCA0 @@ -288147,7 +327763,7 @@ ENCODING 27328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -288165,7 +327781,7 @@ ENCODING 27329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FAA0 @@ -288183,7 +327799,7 @@ ENCODING 27330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 FB60 @@ -288201,7 +327817,7 @@ ENCODING 27331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 FBE0 @@ -288219,7 +327835,7 @@ ENCODING 27332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4200 FFE0 @@ -288237,7 +327853,7 @@ ENCODING 27333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F2A0 @@ -288255,7 +327871,7 @@ ENCODING 27334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48A0 5F60 F520 @@ -288273,7 +327889,7 @@ ENCODING 27335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 5E80 75E0 @@ -288291,7 +327907,7 @@ ENCODING 27336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EC0 4AA0 F7C0 @@ -288309,7 +327925,7 @@ ENCODING 27337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5240 F740 @@ -288327,7 +327943,7 @@ ENCODING 27338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 52A0 FEE0 @@ -288345,7 +327961,7 @@ ENCODING 27339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -288363,7 +327979,7 @@ ENCODING 27340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2440 F740 @@ -288381,7 +327997,7 @@ ENCODING 27341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2880 FFE0 @@ -288399,7 +328015,7 @@ ENCODING 27342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -288417,7 +328033,7 @@ ENCODING 27343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2540 F3E0 @@ -288435,7 +328051,7 @@ ENCODING 27344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -288453,7 +328069,7 @@ ENCODING 27345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -288471,7 +328087,7 @@ ENCODING 27346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -288489,7 +328105,7 @@ ENCODING 27347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2480 FFE0 @@ -288507,7 +328123,7 @@ ENCODING 27348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 FFE0 @@ -288525,7 +328141,7 @@ ENCODING 27349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 F440 @@ -288543,7 +328159,7 @@ ENCODING 27350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2200 FFE0 @@ -288561,7 +328177,7 @@ ENCODING 27351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -288579,7 +328195,7 @@ ENCODING 27352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 F480 @@ -288597,7 +328213,7 @@ ENCODING 27353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F280 @@ -288615,7 +328231,7 @@ ENCODING 27354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -288633,7 +328249,7 @@ ENCODING 27355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2FE0 F440 @@ -288651,7 +328267,7 @@ ENCODING 27356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 FFE0 @@ -288669,7 +328285,7 @@ ENCODING 27357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -288687,7 +328303,7 @@ ENCODING 27358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49C0 5540 F540 @@ -288705,7 +328321,7 @@ ENCODING 27359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2BC0 FAA0 @@ -288723,7 +328339,7 @@ ENCODING 27360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FEC0 @@ -288741,7 +328357,7 @@ ENCODING 27361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FA40 @@ -288759,7 +328375,7 @@ ENCODING 27362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FC0 FA80 @@ -288777,7 +328393,7 @@ ENCODING 27363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 57E0 EA40 @@ -288795,7 +328411,7 @@ ENCODING 27364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 FD40 @@ -288813,7 +328429,7 @@ ENCODING 27365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 F920 @@ -288831,7 +328447,7 @@ ENCODING 27366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 F500 @@ -288849,7 +328465,7 @@ ENCODING 27367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 2FE0 F0A0 @@ -288867,7 +328483,7 @@ ENCODING 27368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 FFE0 @@ -288885,7 +328501,7 @@ ENCODING 27369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -288903,7 +328519,7 @@ ENCODING 27370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2B60 FA40 @@ -288921,7 +328537,7 @@ ENCODING 27371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 27C0 5940 @@ -288939,7 +328555,7 @@ ENCODING 27372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2FA0 F5E0 @@ -288957,7 +328573,7 @@ ENCODING 27373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5540 FDE0 @@ -288975,7 +328591,7 @@ ENCODING 27374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F540 @@ -288993,7 +328609,7 @@ ENCODING 27375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4A40 FFE0 @@ -289011,7 +328627,7 @@ ENCODING 27376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -289029,7 +328645,7 @@ ENCODING 27377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 FBE0 4940 @@ -289047,7 +328663,7 @@ ENCODING 27378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5CE0 4540 FBE0 @@ -289065,7 +328681,7 @@ ENCODING 27379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2E80 FAE0 @@ -289083,7 +328699,7 @@ ENCODING 27380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5EE0 E540 @@ -289101,7 +328717,7 @@ ENCODING 27381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -289119,7 +328735,7 @@ ENCODING 27382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -289137,7 +328753,7 @@ ENCODING 27383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 5FC0 F040 @@ -289155,7 +328771,7 @@ ENCODING 27384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2DE0 2920 FFE0 @@ -289173,7 +328789,7 @@ ENCODING 27385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F7E0 @@ -289191,7 +328807,7 @@ ENCODING 27386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 7FE0 @@ -289209,7 +328825,7 @@ ENCODING 27387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -289227,7 +328843,7 @@ ENCODING 27388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2560 2AC0 FFE0 @@ -289245,7 +328861,7 @@ ENCODING 27389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5540 67C0 @@ -289263,7 +328879,7 @@ ENCODING 27390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DC0 5480 F900 @@ -289281,7 +328897,7 @@ ENCODING 27391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2EE0 F440 @@ -289299,7 +328915,7 @@ ENCODING 27392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 FB40 @@ -289317,7 +328933,7 @@ ENCODING 27393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 5F40 F5E0 @@ -289335,7 +328951,7 @@ ENCODING 27394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F2A0 @@ -289353,7 +328969,7 @@ ENCODING 27395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2480 FFE0 @@ -289371,7 +328987,7 @@ ENCODING 27396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -289389,7 +329005,7 @@ ENCODING 27397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5B60 5220 FF60 @@ -289407,7 +329023,7 @@ ENCODING 27398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 27E0 FD40 @@ -289425,7 +329041,7 @@ ENCODING 27399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 F6C0 @@ -289443,7 +329059,7 @@ ENCODING 27400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2FE0 F500 @@ -289461,7 +329077,7 @@ ENCODING 27401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 FFE0 @@ -289479,7 +329095,7 @@ ENCODING 27402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 FEE0 @@ -289497,7 +329113,7 @@ ENCODING 27403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -289515,7 +329131,7 @@ ENCODING 27404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 FA80 @@ -289533,7 +329149,7 @@ ENCODING 27405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 F300 @@ -289551,7 +329167,7 @@ ENCODING 27406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 F5E0 6AC0 @@ -289569,7 +329185,7 @@ ENCODING 27407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -289587,7 +329203,7 @@ ENCODING 27408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2000 FEE0 @@ -289605,7 +329221,7 @@ ENCODING 27409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 F240 @@ -289623,7 +329239,7 @@ ENCODING 27410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5FA0 E0C0 @@ -289641,7 +329257,7 @@ ENCODING 27411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 F4A0 @@ -289659,7 +329275,7 @@ ENCODING 27412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -289677,7 +329293,7 @@ ENCODING 27413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 FFE0 @@ -289695,7 +329311,7 @@ ENCODING 27414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2B40 FFE0 @@ -289713,7 +329329,7 @@ ENCODING 27415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2480 FFE0 @@ -289731,7 +329347,7 @@ ENCODING 27416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -289749,7 +329365,7 @@ ENCODING 27417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 F7C0 @@ -289767,7 +329383,7 @@ ENCODING 27418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2480 FFE0 @@ -289785,7 +329401,7 @@ ENCODING 27419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -289803,7 +329419,7 @@ ENCODING 27420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFE0 2A80 @@ -289821,7 +329437,7 @@ ENCODING 27421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 F5E0 6AC0 @@ -289839,7 +329455,7 @@ ENCODING 27422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 FFE0 @@ -289857,7 +329473,7 @@ ENCODING 27423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AE0 5FA0 EAE0 @@ -289874,26 +329490,26 @@ STARTCHAR U_6B20 ENCODING 27424 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1000 -1FE0 -2020 -4440 -0400 -0400 -0600 -0900 -1080 -6060 +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 +BITMAP 4200 2200 27E0 @@ -289911,7 +329527,7 @@ ENCODING 27426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 0A20 @@ -289929,7 +329545,7 @@ ENCODING 27427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7200 43E0 @@ -289947,7 +329563,7 @@ ENCODING 27428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7DE0 @@ -289965,7 +329581,7 @@ ENCODING 27429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -289983,7 +329599,7 @@ ENCODING 27430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 33E0 @@ -290001,7 +329617,7 @@ ENCODING 27431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD00 81E0 @@ -290019,7 +329635,7 @@ ENCODING 27432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7DE0 @@ -290037,7 +329653,7 @@ ENCODING 27433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 2BE0 @@ -290055,7 +329671,7 @@ ENCODING 27434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 ABE0 @@ -290073,7 +329689,7 @@ ENCODING 27435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 7BE0 @@ -290091,7 +329707,7 @@ ENCODING 27436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FDE0 @@ -290109,7 +329725,7 @@ ENCODING 27437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 8500 95E0 @@ -290127,7 +329743,7 @@ ENCODING 27438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2900 FFE0 @@ -290145,7 +329761,7 @@ ENCODING 27439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 FDE0 @@ -290163,7 +329779,7 @@ ENCODING 27440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 FBE0 @@ -290181,7 +329797,7 @@ ENCODING 27441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 51E0 @@ -290199,7 +329815,7 @@ ENCODING 27442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 4500 91E0 @@ -290217,7 +329833,7 @@ ENCODING 27443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1D00 11E0 @@ -290235,7 +329851,7 @@ ENCODING 27444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FBE0 @@ -290253,7 +329869,7 @@ ENCODING 27445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7200 4BE0 @@ -290271,7 +329887,7 @@ ENCODING 27446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -290289,7 +329905,7 @@ ENCODING 27447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CD00 3100 CDE0 @@ -290307,7 +329923,7 @@ ENCODING 27448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 4500 FDE0 @@ -290325,7 +329941,7 @@ ENCODING 27449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 51E0 @@ -290343,7 +329959,7 @@ ENCODING 27450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FD00 49E0 @@ -290361,7 +329977,7 @@ ENCODING 27451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 5900 51E0 @@ -290379,7 +329995,7 @@ ENCODING 27452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 45E0 @@ -290397,7 +330013,7 @@ ENCODING 27453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 8BE0 @@ -290415,7 +330031,7 @@ ENCODING 27454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -290433,7 +330049,7 @@ ENCODING 27455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D00 45E0 @@ -290451,7 +330067,7 @@ ENCODING 27456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 39E0 @@ -290469,7 +330085,7 @@ ENCODING 27457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FD00 49E0 @@ -290487,7 +330103,7 @@ ENCODING 27458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 9280 FEE0 @@ -290505,7 +330121,7 @@ ENCODING 27459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0D00 F100 11E0 @@ -290523,7 +330139,7 @@ ENCODING 27460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4500 75E0 @@ -290541,7 +330157,7 @@ ENCODING 27461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 2900 FFE0 @@ -290559,7 +330175,7 @@ ENCODING 27462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 49E0 @@ -290577,7 +330193,7 @@ ENCODING 27463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 F9E0 @@ -290595,7 +330211,7 @@ ENCODING 27464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 4500 BBE0 @@ -290613,7 +330229,7 @@ ENCODING 27465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 FF00 29E0 @@ -290631,7 +330247,7 @@ ENCODING 27466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 49E0 @@ -290649,7 +330265,7 @@ ENCODING 27467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4F00 49E0 @@ -290667,7 +330283,7 @@ ENCODING 27468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 0900 E9E0 @@ -290685,7 +330301,7 @@ ENCODING 27469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FA00 8BE0 @@ -290703,7 +330319,7 @@ ENCODING 27470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FD00 51E0 @@ -290721,7 +330337,7 @@ ENCODING 27471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FF00 49E0 @@ -290739,7 +330355,7 @@ ENCODING 27472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 8100 BDE0 @@ -290757,7 +330373,7 @@ ENCODING 27473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 2100 FFE0 @@ -290775,7 +330391,7 @@ ENCODING 27474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 28E0 @@ -290793,7 +330409,7 @@ ENCODING 27475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D00 91E0 @@ -290811,7 +330427,7 @@ ENCODING 27476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 1100 FFE0 @@ -290829,7 +330445,7 @@ ENCODING 27477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 55E0 @@ -290847,7 +330463,7 @@ ENCODING 27478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 11E0 @@ -290865,7 +330481,7 @@ ENCODING 27479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C00 1480 FEE0 @@ -290883,7 +330499,7 @@ ENCODING 27480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 3900 11E0 @@ -290901,7 +330517,7 @@ ENCODING 27481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 4900 FDE0 @@ -290919,7 +330535,7 @@ ENCODING 27482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 7D00 11E0 @@ -290937,7 +330553,7 @@ ENCODING 27483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 45E0 @@ -290955,7 +330571,7 @@ ENCODING 27484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FEE0 @@ -290973,7 +330589,7 @@ ENCODING 27485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 FEE0 @@ -290991,7 +330607,7 @@ ENCODING 27486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 8500 FDE0 @@ -291009,7 +330625,7 @@ ENCODING 27487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5680 9A80 92E0 @@ -291027,7 +330643,7 @@ ENCODING 27488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 AA80 44E0 @@ -291045,7 +330661,7 @@ ENCODING 27489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 4480 EEE0 @@ -291062,27 +330678,26 @@ STARTCHAR U_6B62 ENCODING 27490 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -0200 -0200 -1200 -13C0 -1200 -1200 -1200 -1200 -1200 -7FE0 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0400 @@ -291099,7 +330714,7 @@ ENCODING 27492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 1120 @@ -291117,7 +330732,7 @@ ENCODING 27493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -291135,7 +330750,7 @@ ENCODING 27494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 3D40 0100 @@ -291153,7 +330768,7 @@ ENCODING 27495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 17E0 @@ -291171,7 +330786,7 @@ ENCODING 27496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 23C0 2200 @@ -291189,7 +330804,7 @@ ENCODING 27497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -291207,7 +330822,7 @@ ENCODING 27498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 1D80 @@ -291225,7 +330840,7 @@ ENCODING 27499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 1200 @@ -291243,7 +330858,7 @@ ENCODING 27500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -291261,7 +330876,7 @@ ENCODING 27501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 17C0 5100 @@ -291279,7 +330894,7 @@ ENCODING 27502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 13C0 1200 @@ -291297,7 +330912,7 @@ ENCODING 27503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -291315,7 +330930,7 @@ ENCODING 27504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2940 AD40 @@ -291333,7 +330948,7 @@ ENCODING 27505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FE0 @@ -291351,7 +330966,7 @@ ENCODING 27506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2400 FFE0 @@ -291369,7 +330984,7 @@ ENCODING 27507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2400 7FE0 @@ -291387,7 +331002,7 @@ ENCODING 27508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 7FE0 @@ -291405,7 +331020,7 @@ ENCODING 27509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -291423,7 +331038,7 @@ ENCODING 27510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 5F80 5220 @@ -291441,7 +331056,7 @@ ENCODING 27511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4440 5980 @@ -291459,7 +331074,7 @@ ENCODING 27512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 F040 93C0 @@ -291477,7 +331092,7 @@ ENCODING 27513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 0800 @@ -291495,7 +331110,7 @@ ENCODING 27514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 07E0 @@ -291513,7 +331128,7 @@ ENCODING 27515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1000 1100 @@ -291531,7 +331146,7 @@ ENCODING 27516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC60 2380 2080 @@ -291549,7 +331164,7 @@ ENCODING 27517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 2300 2200 @@ -291567,7 +331182,7 @@ ENCODING 27518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 3EA0 @@ -291585,7 +331200,7 @@ ENCODING 27519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 21E0 2120 @@ -291603,7 +331218,7 @@ ENCODING 27520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 2300 2100 @@ -291621,7 +331236,7 @@ ENCODING 27521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2240 3A40 @@ -291639,7 +331254,7 @@ ENCODING 27522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2240 @@ -291657,7 +331272,7 @@ ENCODING 27523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 47C0 @@ -291675,7 +331290,7 @@ ENCODING 27524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FD80 2240 @@ -291693,7 +331308,7 @@ ENCODING 27525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7D00 2500 @@ -291711,7 +331326,7 @@ ENCODING 27526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2080 2100 @@ -291729,7 +331344,7 @@ ENCODING 27527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 2400 @@ -291747,7 +331362,7 @@ ENCODING 27528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB00 2200 2FE0 @@ -291765,7 +331380,7 @@ ENCODING 27529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 2420 @@ -291783,7 +331398,7 @@ ENCODING 27530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2500 27C0 @@ -291801,7 +331416,7 @@ ENCODING 27531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 F940 27E0 @@ -291819,7 +331434,7 @@ ENCODING 27532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 22A0 3AA0 @@ -291837,7 +331452,7 @@ ENCODING 27533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FBA0 22A0 @@ -291855,7 +331470,7 @@ ENCODING 27534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 47E0 4100 @@ -291873,7 +331488,7 @@ ENCODING 27535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F920 27E0 @@ -291891,7 +331506,7 @@ ENCODING 27536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4100 @@ -291909,7 +331524,7 @@ ENCODING 27537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 2100 @@ -291927,7 +331542,7 @@ ENCODING 27538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2220 23E0 @@ -291945,7 +331560,7 @@ ENCODING 27539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2280 2440 @@ -291963,7 +331578,7 @@ ENCODING 27540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27C0 2140 @@ -291981,7 +331596,7 @@ ENCODING 27541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 47E0 @@ -291999,7 +331614,7 @@ ENCODING 27542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 2100 @@ -292017,7 +331632,7 @@ ENCODING 27543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 2280 @@ -292035,7 +331650,7 @@ ENCODING 27544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 2FE0 2240 @@ -292053,7 +331668,7 @@ ENCODING 27545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2480 27E0 @@ -292071,7 +331686,7 @@ ENCODING 27546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 2280 2FE0 @@ -292089,7 +331704,7 @@ ENCODING 27547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 2080 2100 @@ -292107,7 +331722,7 @@ ENCODING 27548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 4540 @@ -292125,7 +331740,7 @@ ENCODING 27549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -292143,7 +331758,7 @@ ENCODING 27550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 27E0 @@ -292161,7 +331776,7 @@ ENCODING 27551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2440 27C0 @@ -292179,7 +331794,7 @@ ENCODING 27552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 47C0 4440 @@ -292197,7 +331812,7 @@ ENCODING 27553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4820 @@ -292215,7 +331830,7 @@ ENCODING 27554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 4FE0 7A80 @@ -292233,7 +331848,7 @@ ENCODING 27555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 4FE0 4280 @@ -292251,7 +331866,7 @@ ENCODING 27556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 47E0 4A40 @@ -292269,7 +331884,7 @@ ENCODING 27557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 2FE0 2820 @@ -292287,7 +331902,7 @@ ENCODING 27558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 47C0 4440 @@ -292305,7 +331920,7 @@ ENCODING 27559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFC0 40A0 @@ -292323,7 +331938,7 @@ ENCODING 27560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4540 @@ -292341,7 +331956,7 @@ ENCODING 27561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 44A0 @@ -292359,7 +331974,7 @@ ENCODING 27562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4100 4FE0 @@ -292377,7 +331992,7 @@ ENCODING 27563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 4AA0 4FE0 @@ -292395,7 +332010,7 @@ ENCODING 27564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2AA0 2FE0 @@ -292413,7 +332028,7 @@ ENCODING 27565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4540 47C0 @@ -292431,7 +332046,7 @@ ENCODING 27566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 4280 4440 @@ -292449,7 +332064,7 @@ ENCODING 27567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 4FE0 4820 @@ -292467,7 +332082,7 @@ ENCODING 27568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4100 4FE0 @@ -292485,7 +332100,7 @@ ENCODING 27569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FEC0 44A0 @@ -292503,7 +332118,7 @@ ENCODING 27570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAC0 55A0 5FE0 @@ -292521,7 +332136,7 @@ ENCODING 27571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1100 1100 @@ -292539,7 +332154,7 @@ ENCODING 27572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8240 8A60 @@ -292557,7 +332172,7 @@ ENCODING 27573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B80 6280 4280 @@ -292575,7 +332190,7 @@ ENCODING 27574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -292593,7 +332208,7 @@ ENCODING 27575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 4140 7D40 @@ -292611,7 +332226,7 @@ ENCODING 27576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FF40 1140 @@ -292629,7 +332244,7 @@ ENCODING 27577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB80 A280 BA80 @@ -292647,7 +332262,7 @@ ENCODING 27578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D9C0 2140 D940 @@ -292665,7 +332280,7 @@ ENCODING 27579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -292683,7 +332298,7 @@ ENCODING 27580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 1140 @@ -292701,7 +332316,7 @@ ENCODING 27581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CDC0 3140 4940 @@ -292719,7 +332334,7 @@ ENCODING 27582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 7680 2A80 @@ -292737,7 +332352,7 @@ ENCODING 27583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8540 FD40 @@ -292755,7 +332370,7 @@ ENCODING 27584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 59C0 8940 D940 @@ -292773,7 +332388,7 @@ ENCODING 27585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EDC0 8540 DD40 @@ -292791,7 +332406,7 @@ ENCODING 27586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D40 1140 @@ -292809,7 +332424,7 @@ ENCODING 27587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FF40 4940 @@ -292827,7 +332442,7 @@ ENCODING 27588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FD40 A940 @@ -292845,7 +332460,7 @@ ENCODING 27589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 2940 @@ -292863,7 +332478,7 @@ ENCODING 27590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8140 B940 @@ -292881,7 +332496,7 @@ ENCODING 27591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4DC0 8540 ED40 @@ -292899,7 +332514,7 @@ ENCODING 27592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DEE0 AAA0 ABA0 @@ -292917,7 +332532,7 @@ ENCODING 27593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 9160 FA00 @@ -292935,7 +332550,7 @@ ENCODING 27594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FE60 13C0 @@ -292953,7 +332568,7 @@ ENCODING 27595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 2480 @@ -292970,9 +332585,8 @@ STARTCHAR U_6BCC ENCODING 27596 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 3F80 2480 2480 @@ -292989,7 +332603,7 @@ ENCODING 27597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2880 2480 @@ -293007,7 +332621,7 @@ ENCODING 27598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4000 @@ -293025,7 +332639,7 @@ ENCODING 27599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -293043,7 +332657,7 @@ ENCODING 27600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -293061,7 +332675,7 @@ ENCODING 27601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 6AE0 @@ -293079,7 +332693,7 @@ ENCODING 27602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -293097,7 +332711,7 @@ ENCODING 27603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 8100 @@ -293114,26 +332728,26 @@ STARTCHAR U_6BD4 ENCODING 27604 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4200 -4200 -4240 -4280 -7B00 -4200 -4200 -4200 -5A20 -6220 -41E0 +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 +BITMAP 4200 4240 7B80 @@ -293151,7 +332765,7 @@ ENCODING 27606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7A80 4320 @@ -293169,7 +332783,7 @@ ENCODING 27607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 AA80 @@ -293187,7 +332801,7 @@ ENCODING 27608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -293205,7 +332819,7 @@ ENCODING 27609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7B80 4220 @@ -293223,7 +332837,7 @@ ENCODING 27610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E00 2400 FF80 @@ -293241,7 +332855,7 @@ ENCODING 27611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -293259,7 +332873,7 @@ ENCODING 27612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 6080 2080 @@ -293277,7 +332891,7 @@ ENCODING 27613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E040 2080 @@ -293295,7 +332909,7 @@ ENCODING 27614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7B80 4220 @@ -293313,7 +332927,7 @@ ENCODING 27615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1500 2480 @@ -293331,7 +332945,7 @@ ENCODING 27616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 2BE0 @@ -293349,7 +332963,7 @@ ENCODING 27617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 2DE0 @@ -293367,7 +332981,7 @@ ENCODING 27618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E280 4FE0 @@ -293385,7 +332999,7 @@ ENCODING 27619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 2940 18C0 @@ -293403,7 +333017,7 @@ ENCODING 27620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28C0 4700 91C0 @@ -293421,7 +333035,7 @@ ENCODING 27621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3A00 E3E0 2420 @@ -293439,7 +333053,7 @@ ENCODING 27622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 4B80 4900 @@ -293457,7 +333071,7 @@ ENCODING 27623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 30C0 C0A0 4FE0 @@ -293475,7 +333089,7 @@ ENCODING 27624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 F280 23E0 @@ -293493,7 +333107,7 @@ ENCODING 27625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 6540 2380 @@ -293511,7 +333125,7 @@ ENCODING 27626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 F240 27A0 @@ -293529,7 +333143,7 @@ ENCODING 27627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -293547,7 +333161,7 @@ ENCODING 27628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 E0A0 27E0 @@ -293565,7 +333179,7 @@ ENCODING 27629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FB00 0100 @@ -293583,7 +333197,7 @@ ENCODING 27630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 2920 @@ -293601,7 +333215,7 @@ ENCODING 27631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 F2C0 2480 @@ -293619,7 +333233,7 @@ ENCODING 27632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F7E0 2220 @@ -293637,7 +333251,7 @@ ENCODING 27633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 37C0 CAC0 @@ -293655,7 +333269,7 @@ ENCODING 27634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 ABC0 4480 @@ -293673,7 +333287,7 @@ ENCODING 27635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 7FA0 @@ -293691,7 +333305,7 @@ ENCODING 27636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A80 E280 26E0 @@ -293709,7 +333323,7 @@ ENCODING 27637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 4BC0 FC80 @@ -293727,7 +333341,7 @@ ENCODING 27638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 C240 47C0 @@ -293745,7 +333359,7 @@ ENCODING 27639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 87C0 FC80 @@ -293763,7 +333377,7 @@ ENCODING 27640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E540 47C0 @@ -293781,7 +333395,7 @@ ENCODING 27641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39E0 4480 BA80 @@ -293799,7 +333413,7 @@ ENCODING 27642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 C180 4240 @@ -293817,7 +333431,7 @@ ENCODING 27643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FF80 2080 @@ -293835,7 +333449,7 @@ ENCODING 27644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 8B80 F880 @@ -293853,7 +333467,7 @@ ENCODING 27645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E4A0 25E0 @@ -293871,7 +333485,7 @@ ENCODING 27646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4780 7C80 @@ -293889,7 +333503,7 @@ ENCODING 27647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4860 FF80 4880 @@ -293907,7 +333521,7 @@ ENCODING 27648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 7D80 D680 @@ -293925,7 +333539,7 @@ ENCODING 27649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EFE0 4280 @@ -293943,7 +333557,7 @@ ENCODING 27650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 11E0 FEA0 @@ -293961,7 +333575,7 @@ ENCODING 27651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FF80 2880 @@ -293979,7 +333593,7 @@ ENCODING 27652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC60 2B80 FC80 @@ -293997,7 +333611,7 @@ ENCODING 27653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 FFE0 82A0 @@ -294015,7 +333629,7 @@ ENCODING 27654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EFE0 4AA0 @@ -294033,7 +333647,7 @@ ENCODING 27655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 E480 4FC0 @@ -294051,7 +333665,7 @@ ENCODING 27656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 FF80 AA80 @@ -294069,7 +333683,7 @@ ENCODING 27657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 4880 @@ -294087,7 +333701,7 @@ ENCODING 27658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 DFE0 4A40 @@ -294105,7 +333719,7 @@ ENCODING 27659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2860 FF80 2880 @@ -294123,7 +333737,7 @@ ENCODING 27660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B80 E480 4FC0 @@ -294141,7 +333755,7 @@ ENCODING 27661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE60 9380 FE80 @@ -294159,7 +333773,7 @@ ENCODING 27662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 5580 FE80 @@ -294176,62 +333790,62 @@ STARTCHAR U_6C0F ENCODING 27663 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0180 -7E00 -4400 -4400 -7FE0 -4400 -4400 -4200 -5220 -6120 -40E0 +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 11 11 0 -1 -BITMAP -0180 -7E00 -4400 -4400 -7FE0 -4200 -4200 -4900 -5120 -68A0 -4460 +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 11 11 0 -1 -BITMAP -7FC0 -4040 -4040 -7FC0 -4400 -4400 -7FE0 -4200 -4A20 -5120 -60E0 +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 +BITMAP 01C0 7E00 4240 @@ -294249,7 +333863,7 @@ ENCODING 27667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 2420 @@ -294267,7 +333881,7 @@ ENCODING 27668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2000 @@ -294285,7 +333899,7 @@ ENCODING 27669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2000 @@ -294303,7 +333917,7 @@ ENCODING 27670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 4000 @@ -294321,7 +333935,7 @@ ENCODING 27671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FE0 2000 @@ -294339,7 +333953,7 @@ ENCODING 27672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3FE0 4000 @@ -294357,7 +333971,7 @@ ENCODING 27673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -294375,7 +333989,7 @@ ENCODING 27674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 4000 @@ -294393,7 +334007,7 @@ ENCODING 27675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -294411,7 +334025,7 @@ ENCODING 27676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4000 @@ -294429,7 +334043,7 @@ ENCODING 27677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 8000 @@ -294447,7 +334061,7 @@ ENCODING 27678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 8000 @@ -294465,7 +334079,7 @@ ENCODING 27679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 8000 @@ -294483,7 +334097,7 @@ ENCODING 27680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -294501,7 +334115,7 @@ ENCODING 27681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -294519,7 +334133,7 @@ ENCODING 27682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4000 @@ -294537,7 +334151,7 @@ ENCODING 27683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4000 @@ -294555,7 +334169,7 @@ ENCODING 27684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294573,7 +334187,7 @@ ENCODING 27685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294591,7 +334205,7 @@ ENCODING 27686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294609,7 +334223,7 @@ ENCODING 27687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294627,7 +334241,7 @@ ENCODING 27688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294645,7 +334259,7 @@ ENCODING 27689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 BF80 @@ -294663,7 +334277,7 @@ ENCODING 27690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294681,7 +334295,7 @@ ENCODING 27691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294699,7 +334313,7 @@ ENCODING 27692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294717,7 +334331,7 @@ ENCODING 27693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 8000 @@ -294735,7 +334349,7 @@ ENCODING 27694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294753,7 +334367,7 @@ ENCODING 27695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 BF80 @@ -294771,7 +334385,7 @@ ENCODING 27696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 4000 BF80 @@ -294789,7 +334403,7 @@ ENCODING 27697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 8000 @@ -294807,7 +334421,7 @@ ENCODING 27698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 4000 BF80 @@ -294825,7 +334439,7 @@ ENCODING 27699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 BF80 @@ -294843,7 +334457,7 @@ ENCODING 27700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 0440 @@ -294860,26 +334474,26 @@ STARTCHAR U_6C35 ENCODING 27701 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4000 -2000 -0000 -8000 -5000 -1000 -2000 -E000 -2000 -2000 -2000 +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 +BITMAP 7F80 0200 0400 @@ -294897,7 +334511,7 @@ ENCODING 27703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4400 2400 @@ -294915,7 +334529,7 @@ ENCODING 27704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 3C40 @@ -294933,7 +334547,7 @@ ENCODING 27705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 1120 @@ -294950,8 +334564,8 @@ STARTCHAR U_6C3A ENCODING 27706 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 0400 4440 @@ -294969,7 +334583,7 @@ ENCODING 27707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 1100 @@ -294987,7 +334601,7 @@ ENCODING 27708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 7580 1600 @@ -295005,7 +334619,7 @@ ENCODING 27709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0600 0900 3080 @@ -295023,7 +334637,7 @@ ENCODING 27710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 0440 @@ -295041,7 +334655,7 @@ ENCODING 27711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0F80 @@ -295059,7 +334673,7 @@ ENCODING 27712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 2100 @@ -295077,7 +334691,7 @@ ENCODING 27713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -295095,7 +334709,7 @@ ENCODING 27714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 0440 FFE0 @@ -295113,7 +334727,7 @@ ENCODING 27715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2480 8480 @@ -295131,7 +334745,7 @@ ENCODING 27716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2200 @@ -295149,7 +334763,7 @@ ENCODING 27717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 8200 @@ -295167,7 +334781,7 @@ ENCODING 27718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C00 1200 2580 @@ -295185,7 +334799,7 @@ ENCODING 27719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 8400 @@ -295203,7 +334817,7 @@ ENCODING 27720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 0020 @@ -295221,7 +334835,7 @@ ENCODING 27721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2FE0 8440 @@ -295239,7 +334853,7 @@ ENCODING 27722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2FE0 8440 @@ -295257,7 +334871,7 @@ ENCODING 27723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 87E0 @@ -295275,7 +334889,7 @@ ENCODING 27724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 22A0 82A0 @@ -295293,7 +334907,7 @@ ENCODING 27725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8F80 @@ -295311,7 +334925,7 @@ ENCODING 27726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 8480 @@ -295329,7 +334943,7 @@ ENCODING 27727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -295347,7 +334961,7 @@ ENCODING 27728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 83E0 @@ -295365,7 +334979,7 @@ ENCODING 27729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 8200 @@ -295383,7 +334997,7 @@ ENCODING 27730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -295401,7 +335015,7 @@ ENCODING 27731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FC0 8080 @@ -295419,7 +335033,7 @@ ENCODING 27732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 8400 @@ -295437,7 +335051,7 @@ ENCODING 27733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -295455,7 +335069,7 @@ ENCODING 27734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -295473,7 +335087,7 @@ ENCODING 27735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 8100 @@ -295491,7 +335105,7 @@ ENCODING 27736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 8200 @@ -295509,7 +335123,7 @@ ENCODING 27737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 8100 @@ -295527,7 +335141,7 @@ ENCODING 27738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 8200 @@ -295545,7 +335159,7 @@ ENCODING 27739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2FC0 8480 @@ -295563,7 +335177,7 @@ ENCODING 27740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -295581,7 +335195,7 @@ ENCODING 27741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0200 @@ -295599,7 +335213,7 @@ ENCODING 27742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -295617,7 +335231,7 @@ ENCODING 27743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 8100 @@ -295635,7 +335249,7 @@ ENCODING 27744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 8500 @@ -295653,7 +335267,7 @@ ENCODING 27745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2000 8000 @@ -295671,7 +335285,7 @@ ENCODING 27746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0200 @@ -295689,7 +335303,7 @@ ENCODING 27747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 07C0 @@ -295707,7 +335321,7 @@ ENCODING 27748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2080 8100 @@ -295725,7 +335339,7 @@ ENCODING 27749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -295743,7 +335357,7 @@ ENCODING 27750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 8900 @@ -295761,7 +335375,7 @@ ENCODING 27751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2480 8480 @@ -295779,7 +335393,7 @@ ENCODING 27752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 8420 @@ -295797,7 +335411,7 @@ ENCODING 27753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2000 8FE0 @@ -295815,7 +335429,7 @@ ENCODING 27754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 8100 @@ -295833,7 +335447,7 @@ ENCODING 27755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 9FE0 @@ -295851,7 +335465,7 @@ ENCODING 27756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FC0 0900 @@ -295869,7 +335483,7 @@ ENCODING 27757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0FE0 @@ -295887,7 +335501,7 @@ ENCODING 27758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 07E0 @@ -295905,7 +335519,7 @@ ENCODING 27759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8FE0 @@ -295923,7 +335537,7 @@ ENCODING 27760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -295941,7 +335555,7 @@ ENCODING 27761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2280 8240 @@ -295959,7 +335573,7 @@ ENCODING 27762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 2440 8480 @@ -295977,7 +335591,7 @@ ENCODING 27763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 2700 8400 @@ -295995,7 +335609,7 @@ ENCODING 27764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -296013,7 +335627,7 @@ ENCODING 27765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2500 @@ -296031,7 +335645,7 @@ ENCODING 27766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -296049,7 +335663,7 @@ ENCODING 27767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 03C0 @@ -296067,7 +335681,7 @@ ENCODING 27768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -296085,7 +335699,7 @@ ENCODING 27769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 28A0 8CA0 @@ -296103,7 +335717,7 @@ ENCODING 27770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8FC0 @@ -296121,7 +335735,7 @@ ENCODING 27771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 8900 @@ -296139,7 +335753,7 @@ ENCODING 27772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8900 @@ -296157,7 +335771,7 @@ ENCODING 27773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 8800 @@ -296175,7 +335789,7 @@ ENCODING 27774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 8440 @@ -296193,7 +335807,7 @@ ENCODING 27775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 0280 @@ -296211,7 +335825,7 @@ ENCODING 27776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1020 1540 @@ -296229,7 +335843,7 @@ ENCODING 27777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 8280 @@ -296247,7 +335861,7 @@ ENCODING 27778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 8400 @@ -296265,7 +335879,7 @@ ENCODING 27779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 2E00 8200 @@ -296283,7 +335897,7 @@ ENCODING 27780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 8000 @@ -296301,7 +335915,7 @@ ENCODING 27781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2000 8000 @@ -296319,7 +335933,7 @@ ENCODING 27782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -296337,7 +335951,7 @@ ENCODING 27783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2480 8840 @@ -296355,7 +335969,7 @@ ENCODING 27784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8FE0 @@ -296373,7 +335987,7 @@ ENCODING 27785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8000 @@ -296391,7 +336005,7 @@ ENCODING 27786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F920 @@ -296409,7 +336023,7 @@ ENCODING 27787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 8FE0 @@ -296427,7 +336041,7 @@ ENCODING 27788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -296445,7 +336059,7 @@ ENCODING 27789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2200 8200 @@ -296463,7 +336077,7 @@ ENCODING 27790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 8920 @@ -296481,7 +336095,7 @@ ENCODING 27791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2BE0 88A0 @@ -296499,7 +336113,7 @@ ENCODING 27792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -296517,7 +336131,7 @@ ENCODING 27793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FC0 8240 @@ -296535,7 +336149,7 @@ ENCODING 27794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 8440 @@ -296552,26 +336166,26 @@ STARTCHAR U_6C93 ENCODING 27795 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -3AC0 -0B00 -1280 -6660 +BBX 10 11 1 -1 +BITMAP +0400 +7580 +1600 +2500 +CCC0 0000 -3F80 -2080 -3F80 -2080 -3F80 +7F00 +4100 +7F00 +4100 +7F00 ENDCHAR STARTCHAR U_6C94 ENCODING 27796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8100 @@ -296589,7 +336203,7 @@ ENCODING 27797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 87E0 @@ -296607,7 +336221,7 @@ ENCODING 27798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -296625,7 +336239,7 @@ ENCODING 27799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -296643,7 +336257,7 @@ ENCODING 27800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2900 8920 @@ -296661,7 +336275,7 @@ ENCODING 27801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8540 @@ -296679,7 +336293,7 @@ ENCODING 27802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8100 @@ -296697,7 +336311,7 @@ ENCODING 27803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -296715,7 +336329,7 @@ ENCODING 27804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 8480 @@ -296733,7 +336347,7 @@ ENCODING 27805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 10A0 @@ -296751,7 +336365,7 @@ ENCODING 27806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2200 8200 @@ -296769,7 +336383,7 @@ ENCODING 27807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 07E0 @@ -296787,7 +336401,7 @@ ENCODING 27808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E80 8A80 @@ -296805,7 +336419,7 @@ ENCODING 27809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 8480 @@ -296823,7 +336437,7 @@ ENCODING 27810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FC0 8840 @@ -296841,7 +336455,7 @@ ENCODING 27811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -296859,7 +336473,7 @@ ENCODING 27812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 8840 @@ -296877,7 +336491,7 @@ ENCODING 27813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2480 8480 @@ -296895,7 +336509,7 @@ ENCODING 27814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2300 8480 @@ -296913,7 +336527,7 @@ ENCODING 27815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 8440 @@ -296930,9 +336544,8 @@ STARTCHAR U_6CA8 ENCODING 27816 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 4FC0 2840 8CC0 @@ -296949,7 +336562,7 @@ ENCODING 27817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2500 8100 @@ -296967,7 +336580,7 @@ ENCODING 27818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 87E0 @@ -296985,7 +336598,7 @@ ENCODING 27819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 9FE0 @@ -297003,7 +336616,7 @@ ENCODING 27820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8FC0 @@ -297021,7 +336634,7 @@ ENCODING 27821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 9FE0 @@ -297039,7 +336652,7 @@ ENCODING 27822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -297057,7 +336670,7 @@ ENCODING 27823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 76C0 1500 @@ -297075,7 +336688,7 @@ ENCODING 27824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2200 8200 @@ -297093,7 +336706,7 @@ ENCODING 27825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -297111,7 +336724,7 @@ ENCODING 27826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2FE0 9000 @@ -297129,7 +336742,7 @@ ENCODING 27827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2040 8040 @@ -297147,7 +336760,7 @@ ENCODING 27828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8500 @@ -297165,7 +336778,7 @@ ENCODING 27829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 0FE0 @@ -297183,7 +336796,7 @@ ENCODING 27830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2000 8000 @@ -297201,7 +336814,7 @@ ENCODING 27831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 8FE0 @@ -297219,7 +336832,7 @@ ENCODING 27832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 9FC0 @@ -297237,7 +336850,7 @@ ENCODING 27833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -297255,7 +336868,7 @@ ENCODING 27834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8920 @@ -297273,7 +336886,7 @@ ENCODING 27835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8200 @@ -297291,7 +336904,7 @@ ENCODING 27836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2220 8220 @@ -297309,7 +336922,7 @@ ENCODING 27837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 9FE0 @@ -297327,7 +336940,7 @@ ENCODING 27838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 83E0 @@ -297345,7 +336958,7 @@ ENCODING 27839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 8480 @@ -297363,7 +336976,7 @@ ENCODING 27840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 87A0 @@ -297381,7 +336994,7 @@ ENCODING 27841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8840 @@ -297399,7 +337012,7 @@ ENCODING 27842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8820 @@ -297417,7 +337030,7 @@ ENCODING 27843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 87E0 @@ -297435,7 +337048,7 @@ ENCODING 27844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2540 8540 @@ -297453,7 +337066,7 @@ ENCODING 27845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8920 @@ -297471,7 +337084,7 @@ ENCODING 27846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 87C0 @@ -297489,7 +337102,7 @@ ENCODING 27847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2800 9EE0 @@ -297507,7 +337120,7 @@ ENCODING 27848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 0C80 @@ -297525,7 +337138,7 @@ ENCODING 27849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2080 @@ -297543,7 +337156,7 @@ ENCODING 27850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 87E0 @@ -297561,7 +337174,7 @@ ENCODING 27851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0200 @@ -297579,7 +337192,7 @@ ENCODING 27852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 20A0 8220 @@ -297597,7 +337210,7 @@ ENCODING 27853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -297615,7 +337228,7 @@ ENCODING 27854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 07E0 @@ -297633,7 +337246,7 @@ ENCODING 27855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 8920 @@ -297651,7 +337264,7 @@ ENCODING 27856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 2A80 8BE0 @@ -297669,7 +337282,7 @@ ENCODING 27857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 89E0 @@ -297687,7 +337300,7 @@ ENCODING 27858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2F80 8A80 @@ -297705,7 +337318,7 @@ ENCODING 27859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 2240 8240 @@ -297723,7 +337336,7 @@ ENCODING 27860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2440 8FE0 @@ -297741,7 +337354,7 @@ ENCODING 27861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 07C0 @@ -297759,7 +337372,7 @@ ENCODING 27862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2CE0 8AA0 @@ -297777,7 +337390,7 @@ ENCODING 27863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 8AA0 @@ -297795,7 +337408,7 @@ ENCODING 27864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 0200 @@ -297813,7 +337426,7 @@ ENCODING 27865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 8920 @@ -297831,7 +337444,7 @@ ENCODING 27866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 8A80 @@ -297849,7 +337462,7 @@ ENCODING 27867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 2F00 8200 @@ -297867,7 +337480,7 @@ ENCODING 27868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 8900 @@ -297885,7 +337498,7 @@ ENCODING 27869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 8400 @@ -297903,7 +337516,7 @@ ENCODING 27870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -297921,7 +337534,7 @@ ENCODING 27871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8100 @@ -297939,7 +337552,7 @@ ENCODING 27872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8280 @@ -297957,7 +337570,7 @@ ENCODING 27873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2800 8FC0 @@ -297975,7 +337588,7 @@ ENCODING 27874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -297993,7 +337606,7 @@ ENCODING 27875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -298011,7 +337624,7 @@ ENCODING 27876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2880 0C80 @@ -298029,7 +337642,7 @@ ENCODING 27877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8820 @@ -298047,7 +337660,7 @@ ENCODING 27878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -298065,7 +337678,7 @@ ENCODING 27879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 8FE0 @@ -298083,7 +337696,7 @@ ENCODING 27880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -298101,7 +337714,7 @@ ENCODING 27881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 87E0 @@ -298119,7 +337732,7 @@ ENCODING 27882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 8420 @@ -298137,7 +337750,7 @@ ENCODING 27883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -298155,7 +337768,7 @@ ENCODING 27884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -298173,7 +337786,7 @@ ENCODING 27885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2440 8840 @@ -298191,7 +337804,7 @@ ENCODING 27886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 8540 @@ -298209,7 +337822,7 @@ ENCODING 27887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8820 @@ -298227,7 +337840,7 @@ ENCODING 27888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -298245,7 +337858,7 @@ ENCODING 27889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FC0 @@ -298263,7 +337876,7 @@ ENCODING 27890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 8F00 @@ -298281,7 +337894,7 @@ ENCODING 27891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8600 @@ -298299,7 +337912,7 @@ ENCODING 27892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7500 1600 @@ -298317,7 +337930,7 @@ ENCODING 27893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 1F80 @@ -298335,7 +337948,7 @@ ENCODING 27894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 1500 FFE0 @@ -298353,7 +337966,7 @@ ENCODING 27895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2440 8FE0 @@ -298371,7 +337984,7 @@ ENCODING 27896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 8100 @@ -298389,7 +338002,7 @@ ENCODING 27897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -298407,7 +338020,7 @@ ENCODING 27898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 8900 @@ -298425,7 +338038,7 @@ ENCODING 27899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8400 @@ -298443,7 +338056,7 @@ ENCODING 27900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2A80 8A40 @@ -298461,7 +338074,7 @@ ENCODING 27901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2480 0300 @@ -298479,7 +338092,7 @@ ENCODING 27902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2080 8100 @@ -298497,7 +338110,7 @@ ENCODING 27903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -298515,7 +338128,7 @@ ENCODING 27904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 8440 @@ -298533,7 +338146,7 @@ ENCODING 27905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -298551,7 +338164,7 @@ ENCODING 27906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -298569,7 +338182,7 @@ ENCODING 27907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 8FE0 @@ -298587,7 +338200,7 @@ ENCODING 27908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8820 @@ -298605,7 +338218,7 @@ ENCODING 27909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2200 8FC0 @@ -298623,7 +338236,7 @@ ENCODING 27910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9F80 4100 0200 @@ -298641,7 +338254,7 @@ ENCODING 27911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8920 @@ -298659,7 +338272,7 @@ ENCODING 27912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2780 8900 @@ -298677,7 +338290,7 @@ ENCODING 27913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 8800 @@ -298695,7 +338308,7 @@ ENCODING 27914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 8400 @@ -298713,7 +338326,7 @@ ENCODING 27915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 8FE0 @@ -298731,7 +338344,7 @@ ENCODING 27916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 2420 84A0 @@ -298749,7 +338362,7 @@ ENCODING 27917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2900 8900 @@ -298767,7 +338380,7 @@ ENCODING 27918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 87E0 @@ -298785,7 +338398,7 @@ ENCODING 27919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8200 @@ -298803,7 +338416,7 @@ ENCODING 27920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2800 9400 @@ -298821,7 +338434,7 @@ ENCODING 27921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2540 8920 @@ -298839,7 +338452,7 @@ ENCODING 27922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 8280 @@ -298857,7 +338470,7 @@ ENCODING 27923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0200 @@ -298875,7 +338488,7 @@ ENCODING 27924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 8200 @@ -298893,7 +338506,7 @@ ENCODING 27925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 8880 @@ -298911,7 +338524,7 @@ ENCODING 27926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -298929,7 +338542,7 @@ ENCODING 27927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 87C0 @@ -298947,7 +338560,7 @@ ENCODING 27928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27A0 8140 @@ -298965,7 +338578,7 @@ ENCODING 27929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2900 8FC0 @@ -298983,7 +338596,7 @@ ENCODING 27930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 8C80 @@ -299001,7 +338614,7 @@ ENCODING 27931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 8440 @@ -299019,7 +338632,7 @@ ENCODING 27932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 2900 0600 @@ -299037,7 +338650,7 @@ ENCODING 27933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -299055,7 +338668,7 @@ ENCODING 27934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8820 @@ -299073,7 +338686,7 @@ ENCODING 27935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -299091,7 +338704,7 @@ ENCODING 27936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2480 8FC0 @@ -299109,7 +338722,7 @@ ENCODING 27937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0200 @@ -299127,7 +338740,7 @@ ENCODING 27938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 8940 @@ -299145,7 +338758,7 @@ ENCODING 27939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5240 0A40 @@ -299163,7 +338776,7 @@ ENCODING 27940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0500 @@ -299181,7 +338794,7 @@ ENCODING 27941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 8240 @@ -299199,7 +338812,7 @@ ENCODING 27942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4200 0400 @@ -299217,7 +338830,7 @@ ENCODING 27943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8200 @@ -299235,7 +338848,7 @@ ENCODING 27944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -299253,7 +338866,7 @@ ENCODING 27945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 8A40 @@ -299271,7 +338884,7 @@ ENCODING 27946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 8480 @@ -299289,7 +338902,7 @@ ENCODING 27947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2200 8FE0 @@ -299307,7 +338920,7 @@ ENCODING 27948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -299325,7 +338938,7 @@ ENCODING 27949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 8BE0 @@ -299343,7 +338956,7 @@ ENCODING 27950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 8AA0 @@ -299361,7 +338974,7 @@ ENCODING 27951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F920 2120 @@ -299379,7 +338992,7 @@ ENCODING 27952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 8800 @@ -299397,7 +339010,7 @@ ENCODING 27953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2440 8440 @@ -299415,7 +339028,7 @@ ENCODING 27954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 8920 @@ -299433,7 +339046,7 @@ ENCODING 27955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 9FE0 @@ -299451,7 +339064,7 @@ ENCODING 27956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 8FE0 @@ -299469,7 +339082,7 @@ ENCODING 27957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 8820 @@ -299487,7 +339100,7 @@ ENCODING 27958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 8820 @@ -299505,7 +339118,7 @@ ENCODING 27959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8200 @@ -299523,7 +339136,7 @@ ENCODING 27960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 8540 @@ -299541,7 +339154,7 @@ ENCODING 27961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 8000 @@ -299559,7 +339172,7 @@ ENCODING 27962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 8440 @@ -299577,7 +339190,7 @@ ENCODING 27963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 8100 @@ -299595,7 +339208,7 @@ ENCODING 27964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 8100 @@ -299613,7 +339226,7 @@ ENCODING 27965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 8440 @@ -299631,7 +339244,7 @@ ENCODING 27966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 0860 @@ -299649,7 +339262,7 @@ ENCODING 27967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8440 @@ -299667,7 +339280,7 @@ ENCODING 27968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 8FE0 @@ -299685,7 +339298,7 @@ ENCODING 27969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 0400 @@ -299703,7 +339316,7 @@ ENCODING 27970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 87E0 @@ -299721,7 +339334,7 @@ ENCODING 27971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -299739,7 +339352,7 @@ ENCODING 27972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 67C0 2880 @@ -299757,7 +339370,7 @@ ENCODING 27973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 8FC0 @@ -299775,7 +339388,7 @@ ENCODING 27974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2BE0 0E40 @@ -299793,7 +339406,7 @@ ENCODING 27975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 2F80 8240 @@ -299811,7 +339424,7 @@ ENCODING 27976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 8100 @@ -299829,7 +339442,7 @@ ENCODING 27977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 4BE0 2880 @@ -299847,7 +339460,7 @@ ENCODING 27978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -299865,7 +339478,7 @@ ENCODING 27979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BE20 62A0 2AA0 @@ -299883,7 +339496,7 @@ ENCODING 27980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2540 0920 @@ -299901,7 +339514,7 @@ ENCODING 27981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 8440 @@ -299919,7 +339532,7 @@ ENCODING 27982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8480 @@ -299937,7 +339550,7 @@ ENCODING 27983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4820 2420 9EA0 @@ -299955,7 +339568,7 @@ ENCODING 27984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 0440 @@ -299973,7 +339586,7 @@ ENCODING 27985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8200 @@ -299991,7 +339604,7 @@ ENCODING 27986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2500 81E0 @@ -300009,7 +339622,7 @@ ENCODING 27987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -300027,7 +339640,7 @@ ENCODING 27988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 87C0 @@ -300045,7 +339658,7 @@ ENCODING 27989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8840 @@ -300063,7 +339676,7 @@ ENCODING 27990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 0A40 @@ -300081,7 +339694,7 @@ ENCODING 27991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 8FE0 @@ -300099,7 +339712,7 @@ ENCODING 27992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8FE0 @@ -300117,7 +339730,7 @@ ENCODING 27993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 25C0 9F00 @@ -300135,7 +339748,7 @@ ENCODING 27994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2440 8FA0 @@ -300153,7 +339766,7 @@ ENCODING 27995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4500 0A80 @@ -300171,7 +339784,7 @@ ENCODING 27996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2780 8400 @@ -300189,7 +339802,7 @@ ENCODING 27997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4440 1FE0 @@ -300207,7 +339820,7 @@ ENCODING 27998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -300225,7 +339838,7 @@ ENCODING 27999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2900 95E0 @@ -300243,7 +339856,7 @@ ENCODING 28000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4CC0 2300 8CC0 @@ -300261,7 +339874,7 @@ ENCODING 28001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -300279,7 +339892,7 @@ ENCODING 28002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 87C0 @@ -300297,7 +339910,7 @@ ENCODING 28003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -300315,7 +339928,7 @@ ENCODING 28004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -300333,7 +339946,7 @@ ENCODING 28005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -300351,7 +339964,7 @@ ENCODING 28006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 8FE0 @@ -300369,7 +339982,7 @@ ENCODING 28007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -300387,7 +340000,7 @@ ENCODING 28008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -300405,7 +340018,7 @@ ENCODING 28009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 87C0 @@ -300423,7 +340036,7 @@ ENCODING 28010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 8840 @@ -300441,7 +340054,7 @@ ENCODING 28011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5020 0480 @@ -300459,7 +340072,7 @@ ENCODING 28012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8FE0 @@ -300477,7 +340090,7 @@ ENCODING 28013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8FE0 @@ -300495,7 +340108,7 @@ ENCODING 28014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F20 8A20 @@ -300513,7 +340126,7 @@ ENCODING 28015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8FC0 @@ -300531,7 +340144,7 @@ ENCODING 28016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 2C20 84A0 @@ -300549,7 +340162,7 @@ ENCODING 28017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5000 17C0 @@ -300567,7 +340180,7 @@ ENCODING 28018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 4FC0 1880 @@ -300585,7 +340198,7 @@ ENCODING 28019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 22E0 0F00 @@ -300603,7 +340216,7 @@ ENCODING 28020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2440 8920 @@ -300621,7 +340234,7 @@ ENCODING 28021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F20 2940 8D80 @@ -300639,7 +340252,7 @@ ENCODING 28022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -300657,7 +340270,7 @@ ENCODING 28023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 8800 @@ -300675,7 +340288,7 @@ ENCODING 28024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 87C0 @@ -300693,7 +340306,7 @@ ENCODING 28025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 8FE0 @@ -300711,7 +340324,7 @@ ENCODING 28026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2880 8C80 @@ -300729,7 +340342,7 @@ ENCODING 28027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 8AA0 @@ -300747,7 +340360,7 @@ ENCODING 28028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 8880 @@ -300765,7 +340378,7 @@ ENCODING 28029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2F80 8920 @@ -300783,7 +340396,7 @@ ENCODING 28030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 87C0 @@ -300801,7 +340414,7 @@ ENCODING 28031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -300819,7 +340432,7 @@ ENCODING 28032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -300837,7 +340450,7 @@ ENCODING 28033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2440 9E80 @@ -300855,7 +340468,7 @@ ENCODING 28034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 8440 @@ -300873,7 +340486,7 @@ ENCODING 28035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8920 @@ -300891,7 +340504,7 @@ ENCODING 28036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 8540 @@ -300909,7 +340522,7 @@ ENCODING 28037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -300927,7 +340540,7 @@ ENCODING 28038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2E40 8A40 @@ -300945,7 +340558,7 @@ ENCODING 28039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 8540 @@ -300963,7 +340576,7 @@ ENCODING 28040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 8100 @@ -300981,7 +340594,7 @@ ENCODING 28041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 85E0 @@ -300999,7 +340612,7 @@ ENCODING 28042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2120 8520 @@ -301017,7 +340630,7 @@ ENCODING 28043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -301035,7 +340648,7 @@ ENCODING 28044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 0100 @@ -301053,7 +340666,7 @@ ENCODING 28045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FA0 8140 @@ -301071,7 +340684,7 @@ ENCODING 28046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C20 25C0 8440 @@ -301089,7 +340702,7 @@ ENCODING 28047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8060 5D80 0480 @@ -301107,7 +340720,7 @@ ENCODING 28048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2CC0 84A0 @@ -301125,7 +340738,7 @@ ENCODING 28049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -301143,7 +340756,7 @@ ENCODING 28050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2240 8FE0 @@ -301161,7 +340774,7 @@ ENCODING 28051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -301179,7 +340792,7 @@ ENCODING 28052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 8FE0 @@ -301197,7 +340810,7 @@ ENCODING 28053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 8FC0 @@ -301215,7 +340828,7 @@ ENCODING 28054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 4880 17E0 @@ -301233,7 +340846,7 @@ ENCODING 28055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 8840 @@ -301251,7 +340864,7 @@ ENCODING 28056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2440 8FA0 @@ -301269,7 +340882,7 @@ ENCODING 28057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 8840 @@ -301287,7 +340900,7 @@ ENCODING 28058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 8FC0 @@ -301305,7 +340918,7 @@ ENCODING 28059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 8200 @@ -301323,7 +340936,7 @@ ENCODING 28060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -301341,7 +340954,7 @@ ENCODING 28061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 8280 @@ -301359,7 +340972,7 @@ ENCODING 28062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8920 @@ -301377,7 +340990,7 @@ ENCODING 28063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2BE0 8900 @@ -301395,7 +341008,7 @@ ENCODING 28064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8FE0 @@ -301413,7 +341026,7 @@ ENCODING 28065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 8440 @@ -301431,7 +341044,7 @@ ENCODING 28066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -301449,7 +341062,7 @@ ENCODING 28067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 8480 @@ -301467,7 +341080,7 @@ ENCODING 28068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 8A40 @@ -301485,7 +341098,7 @@ ENCODING 28069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0000 @@ -301503,7 +341116,7 @@ ENCODING 28070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2220 8820 @@ -301521,7 +341134,7 @@ ENCODING 28071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2220 8820 @@ -301539,7 +341152,7 @@ ENCODING 28072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 2520 8540 @@ -301557,7 +341170,7 @@ ENCODING 28073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2120 8520 @@ -301575,7 +341188,7 @@ ENCODING 28074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8440 @@ -301593,7 +341206,7 @@ ENCODING 28075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -301611,7 +341224,7 @@ ENCODING 28076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 8100 @@ -301629,7 +341242,7 @@ ENCODING 28077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 81C0 5E40 0A80 @@ -301647,7 +341260,7 @@ ENCODING 28078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 31A0 9FA0 @@ -301665,7 +341278,7 @@ ENCODING 28079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 8880 @@ -301683,7 +341296,7 @@ ENCODING 28080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2EE0 0AA0 @@ -301701,7 +341314,7 @@ ENCODING 28081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2400 2780 @@ -301719,7 +341332,7 @@ ENCODING 28082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8280 @@ -301737,7 +341350,7 @@ ENCODING 28083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -301755,7 +341368,7 @@ ENCODING 28084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -301773,7 +341386,7 @@ ENCODING 28085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2040 8080 @@ -301791,7 +341404,7 @@ ENCODING 28086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 8200 @@ -301809,7 +341422,7 @@ ENCODING 28087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8100 @@ -301827,7 +341440,7 @@ ENCODING 28088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8920 @@ -301845,7 +341458,7 @@ ENCODING 28089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4200 1FE0 @@ -301863,7 +341476,7 @@ ENCODING 28090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8FE0 @@ -301881,7 +341494,7 @@ ENCODING 28091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 8440 @@ -301899,7 +341512,7 @@ ENCODING 28092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 8FE0 @@ -301917,7 +341530,7 @@ ENCODING 28093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2F80 8900 @@ -301935,7 +341548,7 @@ ENCODING 28094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 2F40 8380 @@ -301953,7 +341566,7 @@ ENCODING 28095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2200 8620 @@ -301971,7 +341584,7 @@ ENCODING 28096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8820 @@ -301989,7 +341602,7 @@ ENCODING 28097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0880 @@ -302007,7 +341620,7 @@ ENCODING 28098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -302025,7 +341638,7 @@ ENCODING 28099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 4A80 1FC0 @@ -302043,7 +341656,7 @@ ENCODING 28100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2540 8A80 @@ -302061,7 +341674,7 @@ ENCODING 28101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 25C0 8500 @@ -302079,7 +341692,7 @@ ENCODING 28102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46C0 2100 86C0 @@ -302097,7 +341710,7 @@ ENCODING 28103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 8480 @@ -302115,7 +341728,7 @@ ENCODING 28104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8FE0 @@ -302133,7 +341746,7 @@ ENCODING 28105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8FE0 @@ -302151,7 +341764,7 @@ ENCODING 28106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 8440 @@ -302169,7 +341782,7 @@ ENCODING 28107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2880 9FE0 @@ -302187,7 +341800,7 @@ ENCODING 28108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 8100 @@ -302205,7 +341818,7 @@ ENCODING 28109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 8BA0 @@ -302223,7 +341836,7 @@ ENCODING 28110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0200 @@ -302241,7 +341854,7 @@ ENCODING 28111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 87C0 @@ -302259,7 +341872,7 @@ ENCODING 28112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -302277,7 +341890,7 @@ ENCODING 28113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 24E0 07A0 @@ -302295,7 +341908,7 @@ ENCODING 28114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0140 @@ -302313,7 +341926,7 @@ ENCODING 28115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 0240 @@ -302331,7 +341944,7 @@ ENCODING 28116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -302349,7 +341962,7 @@ ENCODING 28117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -302367,7 +341980,7 @@ ENCODING 28118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 0100 @@ -302385,7 +341998,7 @@ ENCODING 28119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0A20 @@ -302403,7 +342016,7 @@ ENCODING 28120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0C20 @@ -302421,7 +342034,7 @@ ENCODING 28121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -302439,7 +342052,7 @@ ENCODING 28122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -302457,7 +342070,7 @@ ENCODING 28123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 34A0 1EA0 @@ -302475,7 +342088,7 @@ ENCODING 28124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0AA0 @@ -302493,7 +342106,7 @@ ENCODING 28125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 32A0 1EA0 @@ -302511,7 +342124,7 @@ ENCODING 28126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2940 1D40 @@ -302529,7 +342142,7 @@ ENCODING 28127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 0FE0 @@ -302547,7 +342160,7 @@ ENCODING 28128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -302565,7 +342178,7 @@ ENCODING 28129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 0980 @@ -302583,7 +342196,7 @@ ENCODING 28130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 0FE0 @@ -302601,7 +342214,7 @@ ENCODING 28131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2CE0 0820 @@ -302619,7 +342232,7 @@ ENCODING 28132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2440 1EA0 @@ -302637,7 +342250,7 @@ ENCODING 28133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2880 0F80 @@ -302655,7 +342268,7 @@ ENCODING 28134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 0840 @@ -302673,7 +342286,7 @@ ENCODING 28135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 2FE0 @@ -302691,7 +342304,7 @@ ENCODING 28136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F40 0A40 @@ -302709,7 +342322,7 @@ ENCODING 28137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -302727,7 +342340,7 @@ ENCODING 28138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 0840 @@ -302745,7 +342358,7 @@ ENCODING 28139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F20 0920 @@ -302763,7 +342376,7 @@ ENCODING 28140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0240 @@ -302781,7 +342394,7 @@ ENCODING 28141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -302799,7 +342412,7 @@ ENCODING 28142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2480 07E0 @@ -302817,7 +342430,7 @@ ENCODING 28143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0240 @@ -302835,7 +342448,7 @@ ENCODING 28144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 0640 @@ -302853,7 +342466,7 @@ ENCODING 28145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0480 @@ -302871,7 +342484,7 @@ ENCODING 28146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 0FE0 @@ -302889,7 +342502,7 @@ ENCODING 28147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -302907,7 +342520,7 @@ ENCODING 28148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0AA0 @@ -302925,7 +342538,7 @@ ENCODING 28149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 2AA0 0AA0 @@ -302943,7 +342556,7 @@ ENCODING 28150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0540 @@ -302961,7 +342574,7 @@ ENCODING 28151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -302979,7 +342592,7 @@ ENCODING 28152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4FC0 0200 @@ -302997,7 +342610,7 @@ ENCODING 28153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0480 @@ -303015,7 +342628,7 @@ ENCODING 28154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -303033,7 +342646,7 @@ ENCODING 28155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2200 0200 @@ -303051,7 +342664,7 @@ ENCODING 28156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04C0 7500 1600 @@ -303069,7 +342682,7 @@ ENCODING 28157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 0480 @@ -303087,7 +342700,7 @@ ENCODING 28158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1F00 2480 @@ -303105,7 +342718,7 @@ ENCODING 28159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 8440 @@ -303123,7 +342736,7 @@ ENCODING 28160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 0500 @@ -303141,7 +342754,7 @@ ENCODING 28161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5EC0 0700 @@ -303159,7 +342772,7 @@ ENCODING 28162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4840 0FC0 @@ -303177,7 +342790,7 @@ ENCODING 28163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0480 @@ -303195,7 +342808,7 @@ ENCODING 28164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 2EE0 @@ -303213,7 +342826,7 @@ ENCODING 28165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -303231,7 +342844,7 @@ ENCODING 28166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9120 4A20 1FA0 @@ -303249,7 +342862,7 @@ ENCODING 28167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -303267,7 +342880,7 @@ ENCODING 28168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 0480 @@ -303285,7 +342898,7 @@ ENCODING 28169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2BC0 8A00 @@ -303303,7 +342916,7 @@ ENCODING 28170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2D60 0BA0 @@ -303321,7 +342934,7 @@ ENCODING 28171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4100 05C0 @@ -303339,7 +342952,7 @@ ENCODING 28172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 07C0 @@ -303357,7 +342970,7 @@ ENCODING 28173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -303375,7 +342988,7 @@ ENCODING 28174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -303393,7 +343006,7 @@ ENCODING 28175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0500 @@ -303411,7 +343024,7 @@ ENCODING 28176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4820 3FC0 0900 @@ -303429,7 +343042,7 @@ ENCODING 28177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -303447,7 +343060,7 @@ ENCODING 28178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0940 @@ -303465,7 +343078,7 @@ ENCODING 28179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E40 8A40 @@ -303483,7 +343096,7 @@ ENCODING 28180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 0480 @@ -303501,7 +343114,7 @@ ENCODING 28181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 2A20 84A0 @@ -303519,7 +343132,7 @@ ENCODING 28182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -303537,7 +343150,7 @@ ENCODING 28183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2240 07C0 @@ -303555,7 +343168,7 @@ ENCODING 28184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F80 4500 0200 @@ -303573,7 +343186,7 @@ ENCODING 28185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 0880 @@ -303591,7 +343204,7 @@ ENCODING 28186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FA0 0240 @@ -303609,7 +343222,7 @@ ENCODING 28187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 0FE0 @@ -303627,7 +343240,7 @@ ENCODING 28188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0FE0 @@ -303645,7 +343258,7 @@ ENCODING 28189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 0B60 @@ -303663,7 +343276,7 @@ ENCODING 28190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 4500 1FE0 @@ -303681,7 +343294,7 @@ ENCODING 28191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -303699,7 +343312,7 @@ ENCODING 28192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 8FC0 @@ -303717,7 +343330,7 @@ ENCODING 28193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0A80 @@ -303735,7 +343348,7 @@ ENCODING 28194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0F40 @@ -303753,7 +343366,7 @@ ENCODING 28195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0540 @@ -303771,7 +343384,7 @@ ENCODING 28196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2E80 05E0 @@ -303789,7 +343402,7 @@ ENCODING 28197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -303807,7 +343420,7 @@ ENCODING 28198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0740 @@ -303825,7 +343438,7 @@ ENCODING 28199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -303843,7 +343456,7 @@ ENCODING 28200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2940 0FC0 @@ -303861,7 +343474,7 @@ ENCODING 28201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -303879,7 +343492,7 @@ ENCODING 28202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4200 0FC0 @@ -303897,7 +343510,7 @@ ENCODING 28203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 0540 @@ -303915,7 +343528,7 @@ ENCODING 28204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E20 2AA0 0AA0 @@ -303933,7 +343546,7 @@ ENCODING 28205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -303951,7 +343564,7 @@ ENCODING 28206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 0480 @@ -303969,7 +343582,7 @@ ENCODING 28207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0480 @@ -303987,7 +343600,7 @@ ENCODING 28208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 0FC0 @@ -304005,7 +343618,7 @@ ENCODING 28209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 24E0 1F40 @@ -304023,7 +343636,7 @@ ENCODING 28210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -304041,7 +343654,7 @@ ENCODING 28211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2540 0540 @@ -304059,7 +343672,7 @@ ENCODING 28212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -304077,7 +343690,7 @@ ENCODING 28213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 0FE0 @@ -304095,7 +343708,7 @@ ENCODING 28214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -304113,7 +343726,7 @@ ENCODING 28215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0080 @@ -304131,7 +343744,7 @@ ENCODING 28216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 24E0 1F00 @@ -304149,7 +343762,7 @@ ENCODING 28217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2FE0 1220 @@ -304167,7 +343780,7 @@ ENCODING 28218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 3480 15C0 @@ -304185,7 +343798,7 @@ ENCODING 28219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2520 0960 @@ -304203,7 +343816,7 @@ ENCODING 28220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 1FE0 @@ -304221,7 +343834,7 @@ ENCODING 28221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2EC0 04A0 @@ -304239,7 +343852,7 @@ ENCODING 28222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0100 @@ -304257,7 +343870,7 @@ ENCODING 28223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0380 @@ -304275,7 +343888,7 @@ ENCODING 28224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F40 2AA0 0A40 @@ -304293,7 +343906,7 @@ ENCODING 28225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2940 1E20 @@ -304311,7 +343924,7 @@ ENCODING 28226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -304329,7 +343942,7 @@ ENCODING 28227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3DE0 0440 @@ -304347,7 +343960,7 @@ ENCODING 28228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -304365,7 +343978,7 @@ ENCODING 28229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 1100 @@ -304383,7 +343996,7 @@ ENCODING 28230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -304401,7 +344014,7 @@ ENCODING 28231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -304419,7 +344032,7 @@ ENCODING 28232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0480 @@ -304437,7 +344050,7 @@ ENCODING 28233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 2580 1480 @@ -304455,7 +344068,7 @@ ENCODING 28234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 07E0 @@ -304473,7 +344086,7 @@ ENCODING 28235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0240 @@ -304491,7 +344104,7 @@ ENCODING 28236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4500 0A80 @@ -304509,7 +344122,7 @@ ENCODING 28237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 0FE0 @@ -304527,7 +344140,7 @@ ENCODING 28238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0200 @@ -304545,7 +344158,7 @@ ENCODING 28239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4200 0FC0 @@ -304563,7 +344176,7 @@ ENCODING 28240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8840 4880 1FE0 @@ -304581,7 +344194,7 @@ ENCODING 28241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2120 05C0 @@ -304599,7 +344212,7 @@ ENCODING 28242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -304617,7 +344230,7 @@ ENCODING 28243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2840 17E0 @@ -304635,7 +344248,7 @@ ENCODING 28244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 1FE0 @@ -304653,7 +344266,7 @@ ENCODING 28245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 24A0 0BE0 @@ -304671,7 +344284,7 @@ ENCODING 28246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 24A0 1FA0 @@ -304689,7 +344302,7 @@ ENCODING 28247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8840 4840 1C40 @@ -304707,7 +344320,7 @@ ENCODING 28248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2520 0520 @@ -304725,7 +344338,7 @@ ENCODING 28249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0500 @@ -304743,7 +344356,7 @@ ENCODING 28250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3F40 1540 @@ -304761,7 +344374,7 @@ ENCODING 28251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0440 @@ -304779,7 +344392,7 @@ ENCODING 28252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -304797,7 +344410,7 @@ ENCODING 28253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48A0 2EC0 0880 @@ -304815,7 +344428,7 @@ ENCODING 28254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 07C0 @@ -304833,7 +344446,7 @@ ENCODING 28255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 0440 @@ -304851,7 +344464,7 @@ ENCODING 28256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 0FE0 @@ -304869,7 +344482,7 @@ ENCODING 28257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 07C0 @@ -304887,7 +344500,7 @@ ENCODING 28258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 07C0 @@ -304905,7 +344518,7 @@ ENCODING 28259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -304923,7 +344536,7 @@ ENCODING 28260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2900 1FE0 @@ -304941,7 +344554,7 @@ ENCODING 28261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0AA0 @@ -304959,7 +344572,7 @@ ENCODING 28262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -304977,7 +344590,7 @@ ENCODING 28263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 0FE0 @@ -304995,7 +344608,7 @@ ENCODING 28264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 17C0 @@ -305013,7 +344626,7 @@ ENCODING 28265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2100 0FE0 @@ -305031,7 +344644,7 @@ ENCODING 28266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 47C0 0480 @@ -305049,7 +344662,7 @@ ENCODING 28267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3880 0AA0 @@ -305067,7 +344680,7 @@ ENCODING 28268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 2540 FB80 @@ -305085,7 +344698,7 @@ ENCODING 28269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 8FE0 @@ -305103,7 +344716,7 @@ ENCODING 28270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 0FE0 @@ -305121,7 +344734,7 @@ ENCODING 28271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -305139,7 +344752,7 @@ ENCODING 28272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5880 0700 @@ -305157,7 +344770,7 @@ ENCODING 28273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -305175,7 +344788,7 @@ ENCODING 28274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2A20 0540 @@ -305193,7 +344806,7 @@ ENCODING 28275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -305211,7 +344824,7 @@ ENCODING 28276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 07E0 @@ -305229,7 +344842,7 @@ ENCODING 28277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4FC0 0200 @@ -305247,7 +344860,7 @@ ENCODING 28278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4F80 0880 @@ -305265,7 +344878,7 @@ ENCODING 28279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -305283,7 +344896,7 @@ ENCODING 28280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0440 @@ -305301,7 +344914,7 @@ ENCODING 28281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0BE0 @@ -305319,7 +344932,7 @@ ENCODING 28282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 4BC0 1240 @@ -305337,7 +344950,7 @@ ENCODING 28283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4200 1FE0 @@ -305355,7 +344968,7 @@ ENCODING 28284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2CC0 8840 @@ -305373,7 +344986,7 @@ ENCODING 28285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8540 4A80 1FE0 @@ -305391,7 +345004,7 @@ ENCODING 28286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 06C0 @@ -305409,7 +345022,7 @@ ENCODING 28287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -305427,7 +345040,7 @@ ENCODING 28288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 0480 @@ -305445,7 +345058,7 @@ ENCODING 28289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 0480 @@ -305463,7 +345076,7 @@ ENCODING 28290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8820 7E20 08A0 @@ -305481,7 +345094,7 @@ ENCODING 28291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0540 @@ -305499,7 +345112,7 @@ ENCODING 28292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 5FC0 0400 @@ -305517,7 +345130,7 @@ ENCODING 28293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BEC0 62A0 2BE0 @@ -305535,7 +345148,7 @@ ENCODING 28294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4600 29E0 10A0 @@ -305553,7 +345166,7 @@ ENCODING 28295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 4A80 1FE0 @@ -305571,7 +345184,7 @@ ENCODING 28296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 2600 1F80 @@ -305589,7 +345202,7 @@ ENCODING 28297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3480 1C80 @@ -305607,7 +345220,7 @@ ENCODING 28298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 3DC0 1440 @@ -305625,7 +345238,7 @@ ENCODING 28299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 4480 07C0 @@ -305643,7 +345256,7 @@ ENCODING 28300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 5D40 1480 @@ -305661,7 +345274,7 @@ ENCODING 28301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 0AA0 @@ -305679,7 +345292,7 @@ ENCODING 28302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 29E0 1E80 @@ -305697,7 +345310,7 @@ ENCODING 28303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0940 @@ -305715,7 +345328,7 @@ ENCODING 28304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2880 8BE0 @@ -305733,7 +345346,7 @@ ENCODING 28305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2680 8FC0 @@ -305751,7 +345364,7 @@ ENCODING 28306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -305769,7 +345382,7 @@ ENCODING 28307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 1FE0 @@ -305787,7 +345400,7 @@ ENCODING 28308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -305805,7 +345418,7 @@ ENCODING 28309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5020 0FC0 @@ -305823,7 +345436,7 @@ ENCODING 28310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8500 4FE0 9900 @@ -305841,7 +345454,7 @@ ENCODING 28311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2200 1FE0 @@ -305859,7 +345472,7 @@ ENCODING 28312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -305877,7 +345490,7 @@ ENCODING 28313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -305895,7 +345508,7 @@ ENCODING 28314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5FC0 0A80 @@ -305913,7 +345526,7 @@ ENCODING 28315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 14A0 @@ -305931,7 +345544,7 @@ ENCODING 28316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2DE0 08A0 @@ -305949,7 +345562,7 @@ ENCODING 28317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 3FE0 0280 @@ -305967,7 +345580,7 @@ ENCODING 28318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 0280 @@ -305985,7 +345598,7 @@ ENCODING 28319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 07C0 @@ -306003,7 +345616,7 @@ ENCODING 28320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -306021,7 +345634,7 @@ ENCODING 28321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 3DE0 1480 @@ -306039,7 +345652,7 @@ ENCODING 28322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -306057,7 +345670,7 @@ ENCODING 28323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6280 2440 @@ -306075,7 +345688,7 @@ ENCODING 28324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2900 0FC0 @@ -306093,7 +345706,7 @@ ENCODING 28325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 3FE0 0920 @@ -306111,7 +345724,7 @@ ENCODING 28326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3540 1F60 @@ -306129,7 +345742,7 @@ ENCODING 28327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 0FE0 @@ -306147,7 +345760,7 @@ ENCODING 28328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 5D20 0900 @@ -306165,7 +345778,7 @@ ENCODING 28329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0840 @@ -306183,7 +345796,7 @@ ENCODING 28330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 04C0 @@ -306201,7 +345814,7 @@ ENCODING 28331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 06C0 @@ -306219,7 +345832,7 @@ ENCODING 28332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5FE0 0200 @@ -306237,7 +345850,7 @@ ENCODING 28333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5240 1FC0 @@ -306255,7 +345868,7 @@ ENCODING 28334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 2880 1C80 @@ -306273,7 +345886,7 @@ ENCODING 28335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AE0 24A0 1FA0 @@ -306291,7 +345904,7 @@ ENCODING 28336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 0FE0 @@ -306309,7 +345922,7 @@ ENCODING 28337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -306327,7 +345940,7 @@ ENCODING 28338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4DE0 2920 0FE0 @@ -306345,7 +345958,7 @@ ENCODING 28339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 0FC0 @@ -306363,7 +345976,7 @@ ENCODING 28340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0440 @@ -306381,7 +345994,7 @@ ENCODING 28341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9DC0 5140 1D40 @@ -306399,7 +346012,7 @@ ENCODING 28342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0AA0 @@ -306417,7 +346030,7 @@ ENCODING 28343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -306435,7 +346048,7 @@ ENCODING 28344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FC0 0200 @@ -306453,7 +346066,7 @@ ENCODING 28345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -306471,7 +346084,7 @@ ENCODING 28346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 2220 1EE0 @@ -306489,7 +346102,7 @@ ENCODING 28347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -306507,7 +346120,7 @@ ENCODING 28348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2880 1540 @@ -306525,7 +346138,7 @@ ENCODING 28349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0BC0 @@ -306543,7 +346156,7 @@ ENCODING 28350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0A40 @@ -306561,7 +346174,7 @@ ENCODING 28351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8080 7EA0 2BC0 @@ -306579,7 +346192,7 @@ ENCODING 28352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0480 @@ -306597,7 +346210,7 @@ ENCODING 28353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 3540 1620 @@ -306615,7 +346228,7 @@ ENCODING 28354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -306633,7 +346246,7 @@ ENCODING 28355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3A40 04A0 @@ -306651,7 +346264,7 @@ ENCODING 28356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 2240 0520 @@ -306669,7 +346282,7 @@ ENCODING 28357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 0FE0 @@ -306687,7 +346300,7 @@ ENCODING 28358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2440 07C0 @@ -306705,7 +346318,7 @@ ENCODING 28359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -306723,7 +346336,7 @@ ENCODING 28360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -306741,7 +346354,7 @@ ENCODING 28361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 0FC0 @@ -306759,7 +346372,7 @@ ENCODING 28362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2FE0 1000 @@ -306777,7 +346390,7 @@ ENCODING 28363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 1FE0 @@ -306795,7 +346408,7 @@ ENCODING 28364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 29E0 1740 @@ -306813,7 +346426,7 @@ ENCODING 28365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 0FE0 @@ -306831,7 +346444,7 @@ ENCODING 28366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -306849,7 +346462,7 @@ ENCODING 28367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 2A20 1180 @@ -306867,7 +346480,7 @@ ENCODING 28368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2FE0 3340 @@ -306885,7 +346498,7 @@ ENCODING 28369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0740 @@ -306903,7 +346516,7 @@ ENCODING 28370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2740 0540 @@ -306921,7 +346534,7 @@ ENCODING 28371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0920 @@ -306939,7 +346552,7 @@ ENCODING 28372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 27A0 0A20 @@ -306957,7 +346570,7 @@ ENCODING 28373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A540 AFE0 @@ -306975,7 +346588,7 @@ ENCODING 28374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0000 @@ -306993,7 +346606,7 @@ ENCODING 28375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2EE0 1540 @@ -307011,7 +346624,7 @@ ENCODING 28376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0440 @@ -307029,7 +346642,7 @@ ENCODING 28377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2A80 2BC0 @@ -307047,7 +346660,7 @@ ENCODING 28378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -307065,7 +346678,7 @@ ENCODING 28379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2E00 2220 @@ -307083,7 +346696,7 @@ ENCODING 28380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 0840 @@ -307101,7 +346714,7 @@ ENCODING 28381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2F80 2500 @@ -307119,7 +346732,7 @@ ENCODING 28382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 3FE0 0540 @@ -307137,7 +346750,7 @@ ENCODING 28383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 29E0 1E40 @@ -307155,7 +346768,7 @@ ENCODING 28384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2440 07C0 @@ -307173,7 +346786,7 @@ ENCODING 28385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 1280 @@ -307191,7 +346804,7 @@ ENCODING 28386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 3FE0 0280 @@ -307209,7 +346822,7 @@ ENCODING 28387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 2FC0 @@ -307227,7 +346840,7 @@ ENCODING 28388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 0FE0 @@ -307245,7 +346858,7 @@ ENCODING 28389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2A80 0AE0 @@ -307263,7 +346876,7 @@ ENCODING 28390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0480 @@ -307281,7 +346894,7 @@ ENCODING 28391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 7E80 14E0 @@ -307299,7 +346912,7 @@ ENCODING 28392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 08A0 @@ -307317,7 +346930,7 @@ ENCODING 28393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 3D40 05E0 @@ -307335,7 +346948,7 @@ ENCODING 28394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BDE0 4480 1900 @@ -307353,7 +346966,7 @@ ENCODING 28395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2720 0AC0 @@ -307371,7 +346984,7 @@ ENCODING 28396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -307389,7 +347002,7 @@ ENCODING 28397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -307407,7 +347020,7 @@ ENCODING 28398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2220 0FC0 @@ -307425,7 +347038,7 @@ ENCODING 28399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 3FE0 0540 @@ -307443,7 +347056,7 @@ ENCODING 28400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2F80 2500 @@ -307461,7 +347074,7 @@ ENCODING 28401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1020 @@ -307479,7 +347092,7 @@ ENCODING 28402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 27A0 1540 @@ -307497,7 +347110,7 @@ ENCODING 28403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2440 @@ -307515,7 +347128,7 @@ ENCODING 28404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -307533,7 +347146,7 @@ ENCODING 28405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1120 @@ -307551,7 +347164,7 @@ ENCODING 28406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F80 04E0 @@ -307569,7 +347182,7 @@ ENCODING 28407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 0100 @@ -307587,7 +347200,7 @@ ENCODING 28408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2480 1EE0 @@ -307605,7 +347218,7 @@ ENCODING 28409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 0FE0 @@ -307623,7 +347236,7 @@ ENCODING 28410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2DE0 1640 @@ -307641,7 +347254,7 @@ ENCODING 28411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -307659,7 +347272,7 @@ ENCODING 28412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 0480 @@ -307677,7 +347290,7 @@ ENCODING 28413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0940 @@ -307695,7 +347308,7 @@ ENCODING 28414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -307713,7 +347326,7 @@ ENCODING 28415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0440 @@ -307731,7 +347344,7 @@ ENCODING 28416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D40 1260 @@ -307749,7 +347362,7 @@ ENCODING 28417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 0880 @@ -307767,7 +347380,7 @@ ENCODING 28418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2280 0FE0 @@ -307785,7 +347398,7 @@ ENCODING 28419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1420 @@ -307803,7 +347416,7 @@ ENCODING 28420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2540 2FE0 @@ -307821,7 +347434,7 @@ ENCODING 28421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2A80 0540 @@ -307839,7 +347452,7 @@ ENCODING 28422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0380 @@ -307857,7 +347470,7 @@ ENCODING 28423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2880 12E0 @@ -307875,7 +347488,7 @@ ENCODING 28424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 27A0 1540 @@ -307893,7 +347506,7 @@ ENCODING 28425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0A80 @@ -307911,7 +347524,7 @@ ENCODING 28426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0540 @@ -307929,7 +347542,7 @@ ENCODING 28427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 55C0 1740 @@ -307947,7 +347560,7 @@ ENCODING 28428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3FE0 8880 @@ -307965,7 +347578,7 @@ ENCODING 28429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 31A0 1160 @@ -307983,7 +347596,7 @@ ENCODING 28430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2940 12A0 @@ -308001,7 +347614,7 @@ ENCODING 28431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -308019,7 +347632,7 @@ ENCODING 28432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57C0 FD40 @@ -308037,7 +347650,7 @@ ENCODING 28433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 5FE0 1440 @@ -308055,7 +347668,7 @@ ENCODING 28434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 2A20 0BE0 @@ -308073,7 +347686,7 @@ ENCODING 28435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0AA0 @@ -308091,7 +347704,7 @@ ENCODING 28436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -308109,7 +347722,7 @@ ENCODING 28437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 3FE0 0AA0 @@ -308127,7 +347740,7 @@ ENCODING 28438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5C80 0AE0 @@ -308145,7 +347758,7 @@ ENCODING 28439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FC0 2A40 @@ -308163,7 +347776,7 @@ ENCODING 28440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0FE0 @@ -308181,7 +347794,7 @@ ENCODING 28441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 0A40 @@ -308199,7 +347812,7 @@ ENCODING 28442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 0BC0 @@ -308217,7 +347830,7 @@ ENCODING 28443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 1FC0 0200 @@ -308235,7 +347848,7 @@ ENCODING 28444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3FE0 0880 @@ -308253,7 +347866,7 @@ ENCODING 28445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2220 2AA0 @@ -308271,7 +347884,7 @@ ENCODING 28446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FA0 2A20 0540 @@ -308289,7 +347902,7 @@ ENCODING 28447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 0FE0 @@ -308307,7 +347920,7 @@ ENCODING 28448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 0480 @@ -308325,7 +347938,7 @@ ENCODING 28449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0A40 @@ -308343,7 +347956,7 @@ ENCODING 28450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2480 0FC0 @@ -308361,7 +347974,7 @@ ENCODING 28451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 2880 0BE0 @@ -308379,7 +347992,7 @@ ENCODING 28452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3FE0 0880 @@ -308397,7 +348010,7 @@ ENCODING 28453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1460 @@ -308415,7 +348028,7 @@ ENCODING 28454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1120 @@ -308433,7 +348046,7 @@ ENCODING 28455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F80 04E0 @@ -308451,7 +348064,7 @@ ENCODING 28456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 53C0 1680 @@ -308469,7 +348082,7 @@ ENCODING 28457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 2500 1FE0 @@ -308487,7 +348100,7 @@ ENCODING 28458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 2BE0 1940 @@ -308505,7 +348118,7 @@ ENCODING 28459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -308523,7 +348136,7 @@ ENCODING 28460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -308541,7 +348154,7 @@ ENCODING 28461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0480 @@ -308559,7 +348172,7 @@ ENCODING 28462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0940 @@ -308577,7 +348190,7 @@ ENCODING 28463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2940 0FC0 @@ -308595,7 +348208,7 @@ ENCODING 28464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2920 0FE0 @@ -308613,7 +348226,7 @@ ENCODING 28465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F80 0480 @@ -308631,7 +348244,7 @@ ENCODING 28466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 2A00 0BC0 @@ -308649,7 +348262,7 @@ ENCODING 28467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -308667,7 +348280,7 @@ ENCODING 28468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 5FC0 0200 @@ -308685,7 +348298,7 @@ ENCODING 28469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 0AE0 @@ -308703,7 +348316,7 @@ ENCODING 28470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 1540 @@ -308721,7 +348334,7 @@ ENCODING 28471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 3FE0 0AA0 @@ -308739,7 +348352,7 @@ ENCODING 28472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 3F00 0500 @@ -308757,7 +348370,7 @@ ENCODING 28473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 05C0 @@ -308775,7 +348388,7 @@ ENCODING 28474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -308793,7 +348406,7 @@ ENCODING 28475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 0660 @@ -308811,7 +348424,7 @@ ENCODING 28476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2FE0 0500 @@ -308829,7 +348442,7 @@ ENCODING 28477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5040 1FC0 @@ -308847,7 +348460,7 @@ ENCODING 28478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 3FE0 0100 @@ -308865,7 +348478,7 @@ ENCODING 28479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 5680 7940 @@ -308883,7 +348496,7 @@ ENCODING 28480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0FE0 @@ -308901,7 +348514,7 @@ ENCODING 28481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 7080 4BE0 @@ -308919,7 +348532,7 @@ ENCODING 28482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5240 1FC0 @@ -308937,7 +348550,7 @@ ENCODING 28483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 29E0 1340 @@ -308955,7 +348568,7 @@ ENCODING 28484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 7E80 0880 @@ -308973,7 +348586,7 @@ ENCODING 28485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5200 2FE0 @@ -308991,7 +348604,7 @@ ENCODING 28486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -309009,7 +348622,7 @@ ENCODING 28487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 0480 @@ -309027,7 +348640,7 @@ ENCODING 28488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4AA0 0AA0 @@ -309045,7 +348658,7 @@ ENCODING 28489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4940 0FC0 @@ -309063,7 +348676,7 @@ ENCODING 28490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 4640 0960 @@ -309081,7 +348694,7 @@ ENCODING 28491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2A80 11E0 @@ -309099,7 +348712,7 @@ ENCODING 28492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 9520 @@ -309117,7 +348730,7 @@ ENCODING 28493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 29E0 1740 @@ -309135,7 +348748,7 @@ ENCODING 28494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5580 2E80 04E0 @@ -309153,7 +348766,7 @@ ENCODING 28495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 0FE0 @@ -309171,7 +348784,7 @@ ENCODING 28496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2FE0 0900 @@ -309189,7 +348802,7 @@ ENCODING 28497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D40 34A0 0840 @@ -309207,7 +348820,7 @@ ENCODING 28498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2480 0FE0 @@ -309225,7 +348838,7 @@ ENCODING 28499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0920 @@ -309243,7 +348856,7 @@ ENCODING 28500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 24A0 1EA0 @@ -309261,7 +348874,7 @@ ENCODING 28501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 5FE0 3540 @@ -309279,7 +348892,7 @@ ENCODING 28502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 4440 1EE0 @@ -309297,7 +348910,7 @@ ENCODING 28503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 27E0 0D00 @@ -309315,7 +348928,7 @@ ENCODING 28504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 3E40 0A80 @@ -309333,7 +348946,7 @@ ENCODING 28505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 81C0 4E40 0A80 @@ -309351,7 +348964,7 @@ ENCODING 28506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2240 0FE0 @@ -309369,7 +348982,7 @@ ENCODING 28507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3540 1FE0 @@ -309387,7 +349000,7 @@ ENCODING 28508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5DC0 0880 @@ -309405,7 +349018,7 @@ ENCODING 28509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2840 17E0 @@ -309423,7 +349036,7 @@ ENCODING 28510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 32E0 1320 @@ -309441,7 +349054,7 @@ ENCODING 28511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46C0 2840 0EC0 @@ -309459,7 +349072,7 @@ ENCODING 28512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DC0 3540 1DC0 @@ -309477,7 +349090,7 @@ ENCODING 28513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F80 0AE0 @@ -309495,7 +349108,7 @@ ENCODING 28514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -309513,7 +349126,7 @@ ENCODING 28515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -309531,7 +349144,7 @@ ENCODING 28516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -309549,7 +349162,7 @@ ENCODING 28517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 4500 1FC0 @@ -309567,7 +349180,7 @@ ENCODING 28518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 14A0 @@ -309585,7 +349198,7 @@ ENCODING 28519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -309603,7 +349216,7 @@ ENCODING 28520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FC0 1540 @@ -309621,7 +349234,7 @@ ENCODING 28521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -309639,7 +349252,7 @@ ENCODING 28522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2EE0 14A0 @@ -309657,7 +349270,7 @@ ENCODING 28523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 0200 @@ -309675,7 +349288,7 @@ ENCODING 28524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0FE0 @@ -309693,7 +349306,7 @@ ENCODING 28525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2280 0FE0 @@ -309711,7 +349324,7 @@ ENCODING 28526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3EA0 04A0 @@ -309729,7 +349342,7 @@ ENCODING 28527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 07C0 @@ -309747,7 +349360,7 @@ ENCODING 28528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 0940 @@ -309765,7 +349378,7 @@ ENCODING 28529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2200 1FE0 @@ -309783,7 +349396,7 @@ ENCODING 28530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4680 3DA0 04C0 @@ -309801,7 +349414,7 @@ ENCODING 28531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -309819,7 +349432,7 @@ ENCODING 28532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 35E0 08A0 @@ -309837,7 +349450,7 @@ ENCODING 28533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 7E80 14E0 @@ -309855,7 +349468,7 @@ ENCODING 28534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0920 @@ -309873,7 +349486,7 @@ ENCODING 28535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 5540 2220 @@ -309891,7 +349504,7 @@ ENCODING 28536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 0440 @@ -309909,7 +349522,7 @@ ENCODING 28537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FC0 0700 @@ -309927,7 +349540,7 @@ ENCODING 28538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0FE0 @@ -309945,7 +349558,7 @@ ENCODING 28539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 0FE0 @@ -309963,7 +349576,7 @@ ENCODING 28540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -309981,7 +349594,7 @@ ENCODING 28541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 0AA0 @@ -309999,7 +349612,7 @@ ENCODING 28542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 0FE0 @@ -310017,7 +349630,7 @@ ENCODING 28543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3220 17A0 @@ -310035,7 +349648,7 @@ ENCODING 28544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 1BA0 @@ -310053,7 +349666,7 @@ ENCODING 28545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4BC0 0A00 @@ -310071,7 +349684,7 @@ ENCODING 28546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3540 1FE0 @@ -310089,7 +349702,7 @@ ENCODING 28547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 C540 26C0 @@ -310107,7 +349720,7 @@ ENCODING 28548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F40 2AA0 0440 @@ -310125,7 +349738,7 @@ ENCODING 28549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2140 0FE0 @@ -310143,7 +349756,7 @@ ENCODING 28550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -310161,7 +349774,7 @@ ENCODING 28551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9540 4EE0 0440 @@ -310179,7 +349792,7 @@ ENCODING 28552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 3F00 15E0 @@ -310197,7 +349810,7 @@ ENCODING 28553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 2480 1FE0 @@ -310215,7 +349828,7 @@ ENCODING 28554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5FE0 0500 @@ -310233,7 +349846,7 @@ ENCODING 28555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -310251,7 +349864,7 @@ ENCODING 28556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AE0 3F80 0A80 @@ -310269,7 +349882,7 @@ ENCODING 28557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 3F20 04E0 @@ -310287,7 +349900,7 @@ ENCODING 28558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 3F20 0440 @@ -310305,7 +349918,7 @@ ENCODING 28559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 8780 @@ -310323,7 +349936,7 @@ ENCODING 28560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0FE0 @@ -310341,7 +349954,7 @@ ENCODING 28561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4280 0EE0 @@ -310359,7 +349972,7 @@ ENCODING 28562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2080 1FE0 @@ -310377,7 +349990,7 @@ ENCODING 28563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4600 2BE0 1240 @@ -310395,7 +350008,7 @@ ENCODING 28564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 2940 1DE0 @@ -310413,7 +350026,7 @@ ENCODING 28565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -310431,7 +350044,7 @@ ENCODING 28566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -310449,7 +350062,7 @@ ENCODING 28567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -310467,7 +350080,7 @@ ENCODING 28568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5FE0 8DC0 @@ -310485,7 +350098,7 @@ ENCODING 28569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 39C0 1040 @@ -310503,7 +350116,7 @@ ENCODING 28570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 5FC0 1AC0 @@ -310521,7 +350134,7 @@ ENCODING 28571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8780 5900 0FC0 @@ -310539,7 +350152,7 @@ ENCODING 28572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 2520 1FE0 @@ -310557,7 +350170,7 @@ ENCODING 28573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1240 @@ -310575,7 +350188,7 @@ ENCODING 28574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 0FE0 @@ -310593,7 +350206,7 @@ ENCODING 28575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 1040 @@ -310611,7 +350224,7 @@ ENCODING 28576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 3540 1DC0 @@ -310629,7 +350242,7 @@ ENCODING 28577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -310647,7 +350260,7 @@ ENCODING 28578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 1FE0 @@ -310665,7 +350278,7 @@ ENCODING 28579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3EC0 0520 @@ -310683,7 +350296,7 @@ ENCODING 28580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0FE0 @@ -310701,7 +350314,7 @@ ENCODING 28581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 2EA0 12A0 @@ -310719,7 +350332,7 @@ ENCODING 28582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3480 09E0 @@ -310737,7 +350350,7 @@ ENCODING 28583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0AA0 @@ -310755,7 +350368,7 @@ ENCODING 28584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2A40 1120 @@ -310773,7 +350386,7 @@ ENCODING 28585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 4A40 75C0 @@ -310791,7 +350404,7 @@ ENCODING 28586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0FE0 @@ -310809,7 +350422,7 @@ ENCODING 28587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -310827,7 +350440,7 @@ ENCODING 28588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 25E0 06A0 @@ -310845,7 +350458,7 @@ ENCODING 28589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0940 @@ -310863,7 +350476,7 @@ ENCODING 28590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2440 0BA0 @@ -310881,7 +350494,7 @@ ENCODING 28591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46E0 24A0 0E40 @@ -310899,7 +350512,7 @@ ENCODING 28592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2380 0440 @@ -310917,7 +350530,7 @@ ENCODING 28593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BEE0 62A0 3EA0 @@ -310935,7 +350548,7 @@ ENCODING 28594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 26C0 0FE0 @@ -310953,7 +350566,7 @@ ENCODING 28595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0D60 @@ -310971,7 +350584,7 @@ ENCODING 28596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0FE0 @@ -310989,7 +350602,7 @@ ENCODING 28597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9020 49C0 3F00 @@ -311007,7 +350620,7 @@ ENCODING 28598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 0AA0 @@ -311025,7 +350638,7 @@ ENCODING 28599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F80 4880 0F80 @@ -311043,7 +350656,7 @@ ENCODING 28600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 2FE0 8880 @@ -311061,7 +350674,7 @@ ENCODING 28601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2480 1FE0 @@ -311079,7 +350692,7 @@ ENCODING 28602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -311097,7 +350710,7 @@ ENCODING 28603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 6280 1FC0 @@ -311115,7 +350728,7 @@ ENCODING 28604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 2BE0 0AA0 @@ -311133,7 +350746,7 @@ ENCODING 28605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 0FE0 @@ -311151,7 +350764,7 @@ ENCODING 28606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 1100 @@ -311169,7 +350782,7 @@ ENCODING 28607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 0440 @@ -311187,7 +350800,7 @@ ENCODING 28608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3E80 12E0 @@ -311205,7 +350818,7 @@ ENCODING 28609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0FE0 @@ -311223,7 +350836,7 @@ ENCODING 28610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0A40 @@ -311241,7 +350854,7 @@ ENCODING 28611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 8AA0 @@ -311259,7 +350872,7 @@ ENCODING 28612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A7C0 5440 1740 @@ -311277,7 +350890,7 @@ ENCODING 28613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 7FE0 20A0 @@ -311295,7 +350908,7 @@ ENCODING 28614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8540 @@ -311313,7 +350926,7 @@ ENCODING 28615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8540 @@ -311331,7 +350944,7 @@ ENCODING 28616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EC0 2AA0 8E80 @@ -311349,7 +350962,7 @@ ENCODING 28617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 3D40 95E0 @@ -311367,7 +350980,7 @@ ENCODING 28618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2500 8FE0 @@ -311385,7 +350998,7 @@ ENCODING 28619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 8440 @@ -311403,7 +351016,7 @@ ENCODING 28620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 26A0 F9C0 @@ -311421,7 +351034,7 @@ ENCODING 28621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 8480 @@ -311439,7 +351052,7 @@ ENCODING 28622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2AA0 8BA0 @@ -311457,7 +351070,7 @@ ENCODING 28623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2440 8EE0 @@ -311475,7 +351088,7 @@ ENCODING 28624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4A40 0FC0 @@ -311493,7 +351106,7 @@ ENCODING 28625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88E0 7F40 09E0 @@ -311511,7 +351124,7 @@ ENCODING 28626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 2E80 8BE0 @@ -311529,7 +351142,7 @@ ENCODING 28627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 0480 @@ -311547,7 +351160,7 @@ ENCODING 28628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 8920 @@ -311565,7 +351178,7 @@ ENCODING 28629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 9FE0 @@ -311583,7 +351196,7 @@ ENCODING 28630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5540 1FC0 @@ -311601,7 +351214,7 @@ ENCODING 28631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8500 5FE0 0500 @@ -311619,7 +351232,7 @@ ENCODING 28632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8AA0 @@ -311637,7 +351250,7 @@ ENCODING 28633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 5DC0 0880 @@ -311655,7 +351268,7 @@ ENCODING 28634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FC0 8480 @@ -311673,7 +351286,7 @@ ENCODING 28635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 8280 @@ -311691,7 +351304,7 @@ ENCODING 28636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 8140 @@ -311709,7 +351322,7 @@ ENCODING 28637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 8480 @@ -311727,7 +351340,7 @@ ENCODING 28638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 9440 @@ -311745,7 +351358,7 @@ ENCODING 28639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 8540 @@ -311763,7 +351376,7 @@ ENCODING 28640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8440 @@ -311781,7 +351394,7 @@ ENCODING 28641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8FE0 @@ -311799,7 +351412,7 @@ ENCODING 28642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 8660 @@ -311817,7 +351430,7 @@ ENCODING 28643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F40 8420 @@ -311835,7 +351448,7 @@ ENCODING 28644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 8200 @@ -311853,7 +351466,7 @@ ENCODING 28645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8780 4D00 0600 @@ -311871,7 +351484,7 @@ ENCODING 28646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 2920 9FE0 @@ -311889,7 +351502,7 @@ ENCODING 28647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5B20 2A20 9F20 @@ -311907,7 +351520,7 @@ ENCODING 28648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 9FE0 @@ -311925,7 +351538,7 @@ ENCODING 28649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 8480 @@ -311943,7 +351556,7 @@ ENCODING 28650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5EE0 0940 @@ -311961,7 +351574,7 @@ ENCODING 28651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 3480 1EE0 @@ -311979,7 +351592,7 @@ ENCODING 28652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 1FE0 @@ -311997,7 +351610,7 @@ ENCODING 28653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 0540 @@ -312015,7 +351628,7 @@ ENCODING 28654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2B60 0FE0 @@ -312033,7 +351646,7 @@ ENCODING 28655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 0660 @@ -312051,7 +351664,7 @@ ENCODING 28656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4980 2940 13E0 @@ -312069,7 +351682,7 @@ ENCODING 28657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1020 @@ -312087,7 +351700,7 @@ ENCODING 28658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3FA0 04A0 @@ -312105,7 +351718,7 @@ ENCODING 28659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 5FE0 2480 @@ -312123,7 +351736,7 @@ ENCODING 28660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2EE0 1440 @@ -312141,7 +351754,7 @@ ENCODING 28661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1020 @@ -312159,7 +351772,7 @@ ENCODING 28662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9DE0 5520 1DE0 @@ -312177,7 +351790,7 @@ ENCODING 28663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0640 7D80 14E0 @@ -312195,7 +351808,7 @@ ENCODING 28664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 7FE0 0A80 @@ -312213,7 +351826,7 @@ ENCODING 28665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FC0 3740 1FC0 @@ -312231,7 +351844,7 @@ ENCODING 28666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D40 37E0 1540 @@ -312249,7 +351862,7 @@ ENCODING 28667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 37E0 16A0 @@ -312267,7 +351880,7 @@ ENCODING 28668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 2FA0 1540 @@ -312285,7 +351898,7 @@ ENCODING 28669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 4EE0 0440 @@ -312303,7 +351916,7 @@ ENCODING 28670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2200 0FE0 @@ -312321,7 +351934,7 @@ ENCODING 28671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3280 1FE0 @@ -312339,7 +351952,7 @@ ENCODING 28672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4440 07C0 @@ -312357,7 +351970,7 @@ ENCODING 28673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0100 @@ -312375,7 +351988,7 @@ ENCODING 28674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8700 4900 1FC0 @@ -312393,7 +352006,7 @@ ENCODING 28675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 81E0 5D20 15E0 @@ -312411,7 +352024,7 @@ ENCODING 28676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 1540 @@ -312429,7 +352042,7 @@ ENCODING 28677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2F60 1540 @@ -312447,7 +352060,7 @@ ENCODING 28678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -312465,7 +352078,7 @@ ENCODING 28679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 1280 @@ -312483,7 +352096,7 @@ ENCODING 28680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9DC0 5540 0CC0 @@ -312501,7 +352114,7 @@ ENCODING 28681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 12A0 @@ -312519,7 +352132,7 @@ ENCODING 28682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49C0 3D40 1620 @@ -312537,7 +352150,7 @@ ENCODING 28683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 9960 @@ -312555,7 +352168,7 @@ ENCODING 28684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 9280 @@ -312573,7 +352186,7 @@ ENCODING 28685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 8AA0 @@ -312591,7 +352204,7 @@ ENCODING 28686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 8480 @@ -312609,7 +352222,7 @@ ENCODING 28687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FA0 34A0 9DA0 @@ -312627,7 +352240,7 @@ ENCODING 28688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5EC0 04A0 @@ -312645,7 +352258,7 @@ ENCODING 28689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2840 8FC0 @@ -312663,7 +352276,7 @@ ENCODING 28690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1240 @@ -312681,7 +352294,7 @@ ENCODING 28691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5280 2AE0 @@ -312699,7 +352312,7 @@ ENCODING 28692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3FA0 84A0 @@ -312717,7 +352330,7 @@ ENCODING 28693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 3680 95E0 @@ -312735,7 +352348,7 @@ ENCODING 28694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8FE0 @@ -312753,7 +352366,7 @@ ENCODING 28695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 9120 @@ -312771,7 +352384,7 @@ ENCODING 28696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2200 8FE0 @@ -312789,7 +352402,7 @@ ENCODING 28697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 3F20 8BE0 @@ -312807,7 +352420,7 @@ ENCODING 28698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3F40 8820 @@ -312825,7 +352438,7 @@ ENCODING 28699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 8800 @@ -312843,7 +352456,7 @@ ENCODING 28700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BE80 5480 1E80 @@ -312861,7 +352474,7 @@ ENCODING 28701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2B60 8A40 @@ -312879,7 +352492,7 @@ ENCODING 28702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 7FC0 0A80 @@ -312897,7 +352510,7 @@ ENCODING 28703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 3FE0 8A80 @@ -312915,7 +352528,7 @@ ENCODING 28704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3760 9540 @@ -312933,7 +352546,7 @@ ENCODING 28705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 35E0 9640 @@ -312951,7 +352564,7 @@ ENCODING 28706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 2BE0 8AA0 @@ -312969,7 +352582,7 @@ ENCODING 28707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 28A0 8FA0 @@ -312987,7 +352600,7 @@ ENCODING 28708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 8AA0 @@ -313005,7 +352618,7 @@ ENCODING 28709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0660 @@ -313023,7 +352636,7 @@ ENCODING 28710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 3FE0 88A0 @@ -313041,7 +352654,7 @@ ENCODING 28711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3F80 8AE0 @@ -313059,7 +352672,7 @@ ENCODING 28712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3EA0 85E0 @@ -313077,7 +352690,7 @@ ENCODING 28713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2440 9FE0 @@ -313095,7 +352708,7 @@ ENCODING 28714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 ABE0 FF40 @@ -313113,7 +352726,7 @@ ENCODING 28715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 3FA0 84A0 @@ -313131,7 +352744,7 @@ ENCODING 28716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 89E0 5E80 09E0 @@ -313149,7 +352762,7 @@ ENCODING 28717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5D40 0BE0 @@ -313167,7 +352780,7 @@ ENCODING 28718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4200 1FE0 @@ -313185,7 +352798,7 @@ ENCODING 28719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3660 9440 @@ -313203,7 +352816,7 @@ ENCODING 28720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFE0 5540 1920 @@ -313221,7 +352834,7 @@ ENCODING 28721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 8FE0 @@ -313239,7 +352852,7 @@ ENCODING 28722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C80 3280 A1E0 @@ -313257,7 +352870,7 @@ ENCODING 28723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 8540 @@ -313275,7 +352888,7 @@ ENCODING 28724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 3520 9DE0 @@ -313293,7 +352906,7 @@ ENCODING 28725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 2FE0 9540 @@ -313311,7 +352924,7 @@ ENCODING 28726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 7DE0 2A00 @@ -313329,7 +352942,7 @@ ENCODING 28727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 8660 @@ -313347,7 +352960,7 @@ ENCODING 28728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 35A0 9FE0 @@ -313365,7 +352978,7 @@ ENCODING 28729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 27C0 8820 @@ -313383,7 +352996,7 @@ ENCODING 28730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2900 9FC0 @@ -313401,7 +353014,7 @@ ENCODING 28731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F60 2440 9FE0 @@ -313419,7 +353032,7 @@ ENCODING 28732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 8AA0 @@ -313437,7 +353050,7 @@ ENCODING 28733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 7FE0 2520 @@ -313455,7 +353068,7 @@ ENCODING 28734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 8EE0 @@ -313473,7 +353086,7 @@ ENCODING 28735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 35E0 9FA0 @@ -313491,7 +353104,7 @@ ENCODING 28736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 8FE0 @@ -313509,7 +353122,7 @@ ENCODING 28737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 32A0 9EE0 @@ -313527,7 +353140,7 @@ ENCODING 28738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FA0 2A40 9FE0 @@ -313545,7 +353158,7 @@ ENCODING 28739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 8AA0 @@ -313563,7 +353176,7 @@ ENCODING 28740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2440 87C0 @@ -313581,7 +353194,7 @@ ENCODING 28741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2A40 8FC0 @@ -313599,7 +353212,7 @@ ENCODING 28742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 8480 @@ -313617,7 +353230,7 @@ ENCODING 28743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 94A0 4CC0 1FE0 @@ -313635,7 +353248,7 @@ ENCODING 28744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 8EE0 @@ -313653,7 +353266,7 @@ ENCODING 28745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 6B40 95E0 @@ -313671,7 +353284,7 @@ ENCODING 28746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3540 9FE0 @@ -313689,7 +353302,7 @@ ENCODING 28747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1540 @@ -313707,7 +353320,7 @@ ENCODING 28748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2440 8EE0 @@ -313725,7 +353338,7 @@ ENCODING 28749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BDE0 6520 3DE0 @@ -313743,7 +353356,7 @@ ENCODING 28750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 7FE0 2A80 @@ -313761,7 +353374,7 @@ ENCODING 28751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3480 9FE0 @@ -313779,7 +353392,7 @@ ENCODING 28752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 94A0 4FC0 0CC0 @@ -313797,7 +353410,7 @@ ENCODING 28753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2000 8FE0 @@ -313815,7 +353428,7 @@ ENCODING 28754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2FE0 8240 @@ -313833,7 +353446,7 @@ ENCODING 28755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 AEA0 4440 @@ -313851,7 +353464,7 @@ ENCODING 28756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 7FE0 2A40 @@ -313869,7 +353482,7 @@ ENCODING 28757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3E40 95E0 @@ -313887,7 +353500,7 @@ ENCODING 28758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 9480 @@ -313905,7 +353518,7 @@ ENCODING 28759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 4BE0 3E20 @@ -313923,7 +353536,7 @@ ENCODING 28760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4B40 3FE0 8940 @@ -313941,7 +353554,7 @@ ENCODING 28761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 5FE0 54A0 @@ -313959,7 +353572,7 @@ ENCODING 28762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2920 8AA0 @@ -313977,7 +353590,7 @@ ENCODING 28763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 2520 3DE0 @@ -313995,7 +353608,7 @@ ENCODING 28764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 3FE0 0800 @@ -314013,7 +353626,7 @@ ENCODING 28765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3280 9FE0 @@ -314031,7 +353644,7 @@ ENCODING 28766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2100 9FE0 @@ -314049,7 +353662,7 @@ ENCODING 28767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 3020 9FE0 @@ -314067,7 +353680,7 @@ ENCODING 28768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 35E0 9E80 @@ -314085,7 +353698,7 @@ ENCODING 28769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2480 8EE0 @@ -314103,7 +353716,7 @@ ENCODING 28770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2940 9FE0 @@ -314121,7 +353734,7 @@ ENCODING 28771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 3FE0 8840 @@ -314139,7 +353752,7 @@ ENCODING 28772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2BC0 9C60 @@ -314157,7 +353770,7 @@ ENCODING 28773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -314175,7 +353788,7 @@ ENCODING 28774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 3240 9EE0 @@ -314193,7 +353806,7 @@ ENCODING 28775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA80 7EE0 2B40 @@ -314211,7 +353824,7 @@ ENCODING 28776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 3FE0 8B40 @@ -314229,7 +353842,7 @@ ENCODING 28777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 3F40 95E0 @@ -314247,7 +353860,7 @@ ENCODING 28778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 3FE0 1240 @@ -314265,7 +353878,7 @@ ENCODING 28779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 2440 @@ -314282,27 +353895,18 @@ STARTCHAR U_706C ENCODING 28780 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 -0000 -0000 -0000 -0000 -0000 +BBX 11 3 0 0 +BITMAP 5240 4920 8920 -0000 ENDCHAR STARTCHAR U_706D ENCODING 28781 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 2440 @@ -314319,7 +353923,7 @@ ENCODING 28782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2440 4580 @@ -314337,7 +353941,7 @@ ENCODING 28783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 17E0 5480 @@ -314355,7 +353959,7 @@ ENCODING 28784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 0A00 @@ -314373,7 +353977,7 @@ ENCODING 28785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 A920 @@ -314390,8 +353994,8 @@ STARTCHAR U_7072 ENCODING 28786 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2040 2040 6A40 @@ -314408,8 +354012,8 @@ STARTCHAR U_7073 ENCODING 28787 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 3FC0 4040 @@ -314427,7 +354031,7 @@ ENCODING 28788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2900 @@ -314445,7 +354049,7 @@ ENCODING 28789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -314463,7 +354067,7 @@ ENCODING 28790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -314481,7 +354085,7 @@ ENCODING 28791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4B00 @@ -314499,7 +354103,7 @@ ENCODING 28792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F00 2200 @@ -314517,7 +354121,7 @@ ENCODING 28793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2A00 @@ -314535,7 +354139,7 @@ ENCODING 28794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 22A0 2AE0 @@ -314553,7 +354157,7 @@ ENCODING 28795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -314571,7 +354175,7 @@ ENCODING 28796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2BE0 @@ -314589,7 +354193,7 @@ ENCODING 28797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4900 4900 @@ -314607,7 +354211,7 @@ ENCODING 28798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -314625,7 +354229,7 @@ ENCODING 28799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 2AA0 @@ -314643,7 +354247,7 @@ ENCODING 28800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2100 2A00 @@ -314661,7 +354265,7 @@ ENCODING 28801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 4400 @@ -314679,7 +354283,7 @@ ENCODING 28802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 2A40 @@ -314697,7 +354301,7 @@ ENCODING 28803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 2040 5FA0 @@ -314715,7 +354319,7 @@ ENCODING 28804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 2A40 @@ -314732,26 +354336,26 @@ STARTCHAR U_7085 ENCODING 28805 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2040 -3FC0 -2040 -3FC0 -0440 -2480 -2500 +BBX 10 11 1 -1 +BITMAP +7F80 +4080 +7F80 +4080 +7F80 +0880 +4900 4A00 -1180 -6060 +9400 +2300 +C0C0 ENDCHAR STARTCHAR U_7086 ENCODING 28806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -314769,7 +354373,7 @@ ENCODING 28807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1100 1500 @@ -314787,7 +354391,7 @@ ENCODING 28808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 2480 6C80 @@ -314805,7 +354409,7 @@ ENCODING 28809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 2FE0 @@ -314823,7 +354427,7 @@ ENCODING 28810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2BE0 @@ -314841,7 +354445,7 @@ ENCODING 28811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2900 @@ -314859,7 +354463,7 @@ ENCODING 28812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 6A80 @@ -314877,7 +354481,7 @@ ENCODING 28813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2400 @@ -314895,7 +354499,7 @@ ENCODING 28814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 2500 @@ -314913,7 +354517,7 @@ ENCODING 28815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 6A40 @@ -314931,7 +354535,7 @@ ENCODING 28816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2900 2FE0 @@ -314949,7 +354553,7 @@ ENCODING 28817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FE0 @@ -314967,7 +354571,7 @@ ENCODING 28818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2940 @@ -314985,7 +354589,7 @@ ENCODING 28819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 2940 @@ -315003,7 +354607,7 @@ ENCODING 28820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FC0 @@ -315021,7 +354625,7 @@ ENCODING 28821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -315039,7 +354643,7 @@ ENCODING 28822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2900 @@ -315057,7 +354661,7 @@ ENCODING 28823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0900 FFE0 @@ -315075,7 +354679,7 @@ ENCODING 28824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2380 2A00 @@ -315093,7 +354697,7 @@ ENCODING 28825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F80 3100 @@ -315111,7 +354715,7 @@ ENCODING 28826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9520 @@ -315129,7 +354733,7 @@ ENCODING 28827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 2480 4B00 @@ -315147,7 +354751,7 @@ ENCODING 28828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2900 @@ -315165,7 +354769,7 @@ ENCODING 28829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2C40 @@ -315183,7 +354787,7 @@ ENCODING 28830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2200 2FE0 @@ -315201,7 +354805,7 @@ ENCODING 28831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2C40 @@ -315219,7 +354823,7 @@ ENCODING 28832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 2CA0 @@ -315237,7 +354841,7 @@ ENCODING 28833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2880 @@ -315255,7 +354859,7 @@ ENCODING 28834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 2900 @@ -315273,7 +354877,7 @@ ENCODING 28835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2040 @@ -315291,7 +354895,7 @@ ENCODING 28836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 2920 @@ -315309,7 +354913,7 @@ ENCODING 28837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 32A0 @@ -315327,7 +354931,7 @@ ENCODING 28838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 2FE0 @@ -315345,7 +354949,7 @@ ENCODING 28839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2C00 @@ -315363,7 +354967,7 @@ ENCODING 28840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -315381,7 +354985,7 @@ ENCODING 28841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2C40 @@ -315398,8 +355002,8 @@ STARTCHAR U_70AA ENCODING 28842 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 2080 24A0 6CA0 @@ -315410,14 +355014,13 @@ A7E0 54A0 4CA0 87E0 -0000 ENDCHAR STARTCHAR U_70AB ENCODING 28843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 2FE0 @@ -315435,7 +355038,7 @@ ENCODING 28844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 2C00 @@ -315453,7 +355056,7 @@ ENCODING 28845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -315471,7 +355074,7 @@ ENCODING 28846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2C20 @@ -315489,7 +355092,7 @@ ENCODING 28847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2820 @@ -315507,7 +355110,7 @@ ENCODING 28848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4040 @@ -315525,7 +355128,7 @@ ENCODING 28849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1080 7FC0 @@ -315543,7 +355146,7 @@ ENCODING 28850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AA80 @@ -315561,7 +355164,7 @@ ENCODING 28851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -315579,7 +355182,7 @@ ENCODING 28852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2FC0 @@ -315597,7 +355200,7 @@ ENCODING 28853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2E40 @@ -315615,7 +355218,7 @@ ENCODING 28854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2900 @@ -315633,7 +355236,7 @@ ENCODING 28855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -315651,7 +355254,7 @@ ENCODING 28856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2BE0 @@ -315669,7 +355272,7 @@ ENCODING 28857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 07C0 @@ -315687,7 +355290,7 @@ ENCODING 28858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 1400 7F80 @@ -315705,7 +355308,7 @@ ENCODING 28859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 A900 @@ -315723,7 +355326,7 @@ ENCODING 28860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2900 @@ -315741,7 +355344,7 @@ ENCODING 28861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2C40 @@ -315759,7 +355362,7 @@ ENCODING 28862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2C40 @@ -315777,7 +355380,7 @@ ENCODING 28863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 AC40 @@ -315795,7 +355398,7 @@ ENCODING 28864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 28A0 @@ -315813,7 +355416,7 @@ ENCODING 28865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2E00 2900 @@ -315831,7 +355434,7 @@ ENCODING 28866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2240 2A80 @@ -315849,7 +355452,7 @@ ENCODING 28867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2080 2900 @@ -315867,7 +355470,7 @@ ENCODING 28868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -315885,7 +355488,7 @@ ENCODING 28869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2200 2FE0 @@ -315903,7 +355506,7 @@ ENCODING 28870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2400 2800 @@ -315921,7 +355524,7 @@ ENCODING 28871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -315939,7 +355542,7 @@ ENCODING 28872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE20 2120 3D20 @@ -315957,7 +355560,7 @@ ENCODING 28873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3F00 4200 @@ -315975,7 +355578,7 @@ ENCODING 28874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -315993,7 +355596,7 @@ ENCODING 28875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 3FE0 @@ -316011,7 +355614,7 @@ ENCODING 28876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 2880 @@ -316029,7 +355632,7 @@ ENCODING 28877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 A7C0 @@ -316047,7 +355650,7 @@ ENCODING 28878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 1100 FFE0 @@ -316065,7 +355668,7 @@ ENCODING 28879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -316083,7 +355686,7 @@ ENCODING 28880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 AC40 @@ -316101,7 +355704,7 @@ ENCODING 28881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2AA0 @@ -316119,7 +355722,7 @@ ENCODING 28882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 2FE0 @@ -316137,7 +355740,7 @@ ENCODING 28883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -316155,7 +355758,7 @@ ENCODING 28884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2BA0 @@ -316173,7 +355776,7 @@ ENCODING 28885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 0240 7FE0 @@ -316191,7 +355794,7 @@ ENCODING 28886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 7A40 1200 @@ -316209,7 +355812,7 @@ ENCODING 28887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2900 @@ -316227,7 +355830,7 @@ ENCODING 28888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2A80 @@ -316245,7 +355848,7 @@ ENCODING 28889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2A40 @@ -316263,7 +355866,7 @@ ENCODING 28890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2A80 @@ -316281,7 +355884,7 @@ ENCODING 28891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 AFE0 @@ -316299,7 +355902,7 @@ ENCODING 28892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 2FC0 @@ -316317,7 +355920,7 @@ ENCODING 28893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0200 F4C0 @@ -316335,7 +355938,7 @@ ENCODING 28894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2F80 @@ -316353,7 +355956,7 @@ ENCODING 28895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 2D20 @@ -316371,7 +355974,7 @@ ENCODING 28896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2A00 @@ -316389,7 +355992,7 @@ ENCODING 28897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 4B00 @@ -316407,7 +356010,7 @@ ENCODING 28898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -316425,7 +356028,7 @@ ENCODING 28899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 2FE0 @@ -316443,7 +356046,7 @@ ENCODING 28900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27C0 2A80 @@ -316461,7 +356064,7 @@ ENCODING 28901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 2C80 @@ -316479,7 +356082,7 @@ ENCODING 28902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2A00 @@ -316497,7 +356100,7 @@ ENCODING 28903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 22E0 2F40 @@ -316515,7 +356118,7 @@ ENCODING 28904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22A0 2CC0 @@ -316533,7 +356136,7 @@ ENCODING 28905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2A80 @@ -316551,7 +356154,7 @@ ENCODING 28906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2840 2480 2FC0 @@ -316569,7 +356172,7 @@ ENCODING 28907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 2100 9FE0 @@ -316587,7 +356190,7 @@ ENCODING 28908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2440 @@ -316605,7 +356208,7 @@ ENCODING 28909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 F780 2280 @@ -316623,7 +356226,7 @@ ENCODING 28910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E40 1140 3D40 @@ -316641,7 +356244,7 @@ ENCODING 28911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44C0 4300 5CC0 @@ -316659,7 +356262,7 @@ ENCODING 28912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2D40 @@ -316677,7 +356280,7 @@ ENCODING 28913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2820 @@ -316695,7 +356298,7 @@ ENCODING 28914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA00 23E0 @@ -316713,7 +356316,7 @@ ENCODING 28915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 27E0 @@ -316731,7 +356334,7 @@ ENCODING 28916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 2AA0 @@ -316749,7 +356352,7 @@ ENCODING 28917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2240 @@ -316767,7 +356370,7 @@ ENCODING 28918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 22C0 B440 @@ -316785,7 +356388,7 @@ ENCODING 28919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2C20 @@ -316803,7 +356406,7 @@ ENCODING 28920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2800 @@ -316821,7 +356424,7 @@ ENCODING 28921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -316839,7 +356442,7 @@ ENCODING 28922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2C40 @@ -316857,7 +356460,7 @@ ENCODING 28923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2C60 25C0 B440 @@ -316875,7 +356478,7 @@ ENCODING 28924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2A00 @@ -316893,7 +356496,7 @@ ENCODING 28925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2440 @@ -316911,7 +356514,7 @@ ENCODING 28926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2440 4A80 @@ -316929,7 +356532,7 @@ ENCODING 28927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2720 2540 2D80 @@ -316947,7 +356550,7 @@ ENCODING 28928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2840 2220 @@ -316965,7 +356568,7 @@ ENCODING 28929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7BE0 4D40 @@ -316983,7 +356586,7 @@ ENCODING 28930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5440 @@ -317001,7 +356604,7 @@ ENCODING 28931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -317019,7 +356622,7 @@ ENCODING 28932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0840 FFE0 @@ -317037,7 +356640,7 @@ ENCODING 28933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 27E0 @@ -317055,7 +356658,7 @@ ENCODING 28934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 27E0 @@ -317073,7 +356676,7 @@ ENCODING 28935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 24A0 2AC0 @@ -317091,7 +356694,7 @@ ENCODING 28936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7BC0 4A40 @@ -317109,7 +356712,7 @@ ENCODING 28937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 2780 @@ -317127,7 +356730,7 @@ ENCODING 28938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2FC0 @@ -317145,7 +356748,7 @@ ENCODING 28939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 7900 0FE0 @@ -317163,7 +356766,7 @@ ENCODING 28940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 2FE0 @@ -317181,7 +356784,7 @@ ENCODING 28941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -317199,7 +356802,7 @@ ENCODING 28942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 7B00 1600 @@ -317217,7 +356820,7 @@ ENCODING 28943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0300 75E0 @@ -317235,7 +356838,7 @@ ENCODING 28944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 2FC0 @@ -317253,7 +356856,7 @@ ENCODING 28945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2920 @@ -317271,7 +356874,7 @@ ENCODING 28946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 2440 @@ -317289,7 +356892,7 @@ ENCODING 28947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2640 @@ -317306,8 +356909,8 @@ STARTCHAR U_7114 ENCODING 28948 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2200 23C0 2A40 @@ -317325,7 +356928,7 @@ ENCODING 28949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2780 2900 @@ -317343,7 +356946,7 @@ ENCODING 28950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2420 B920 @@ -317361,7 +356964,7 @@ ENCODING 28951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 2FE0 @@ -317379,7 +356982,7 @@ ENCODING 28952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -317397,7 +357000,7 @@ ENCODING 28953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2840 @@ -317415,7 +357018,7 @@ ENCODING 28954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2300 @@ -317433,7 +357036,7 @@ ENCODING 28955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -317451,7 +357054,7 @@ ENCODING 28956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2FC0 @@ -317469,7 +357072,7 @@ ENCODING 28957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 27E0 @@ -317487,7 +357090,7 @@ ENCODING 28958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A800 @@ -317505,7 +357108,7 @@ ENCODING 28959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 2A80 @@ -317523,7 +357126,7 @@ ENCODING 28960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2C40 @@ -317541,7 +357144,7 @@ ENCODING 28961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 AA80 @@ -317559,7 +357162,7 @@ ENCODING 28962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -317577,7 +357180,7 @@ ENCODING 28963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 4BC0 7A40 @@ -317595,7 +357198,7 @@ ENCODING 28964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4840 @@ -317613,7 +357216,7 @@ ENCODING 28965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2820 @@ -317631,7 +357234,7 @@ ENCODING 28966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 2200 7FE0 @@ -317649,7 +357252,7 @@ ENCODING 28967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2440 @@ -317667,7 +357270,7 @@ ENCODING 28968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 2DA0 @@ -317685,7 +357288,7 @@ ENCODING 28969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2AA0 @@ -317703,7 +357306,7 @@ ENCODING 28970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -317721,7 +357324,7 @@ ENCODING 28971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -317739,7 +357342,7 @@ ENCODING 28972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2FC0 @@ -317757,7 +357360,7 @@ ENCODING 28973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5540 2A80 @@ -317775,7 +357378,7 @@ ENCODING 28974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2880 2FE0 @@ -317793,7 +357396,7 @@ ENCODING 28975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 2900 @@ -317811,7 +357414,7 @@ ENCODING 28976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 AA40 @@ -317829,7 +357432,7 @@ ENCODING 28977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4480 0A00 @@ -317847,7 +357450,7 @@ ENCODING 28978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AA80 @@ -317865,7 +357468,7 @@ ENCODING 28979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2480 2FE0 @@ -317883,7 +357486,7 @@ ENCODING 28980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -317901,7 +357504,7 @@ ENCODING 28981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 4820 @@ -317919,7 +357522,7 @@ ENCODING 28982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2280 3240 @@ -317937,7 +357540,7 @@ ENCODING 28983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FC0 A940 @@ -317955,7 +357558,7 @@ ENCODING 28984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -317973,7 +357576,7 @@ ENCODING 28985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2AA0 @@ -317991,7 +357594,7 @@ ENCODING 28986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 AFE0 @@ -318009,7 +357612,7 @@ ENCODING 28987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 27E0 @@ -318027,7 +357630,7 @@ ENCODING 28988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -318045,7 +357648,7 @@ ENCODING 28989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -318063,7 +357666,7 @@ ENCODING 28990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2300 2680 @@ -318081,7 +357684,7 @@ ENCODING 28991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 2900 @@ -318099,7 +357702,7 @@ ENCODING 28992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 4FE0 @@ -318117,7 +357720,7 @@ ENCODING 28993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 AA40 @@ -318135,7 +357738,7 @@ ENCODING 28994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AA80 @@ -318153,7 +357756,7 @@ ENCODING 28995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA80 @@ -318171,7 +357774,7 @@ ENCODING 28996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 AFE0 @@ -318189,7 +357792,7 @@ ENCODING 28997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 28A0 AEA0 @@ -318207,7 +357810,7 @@ ENCODING 28998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2520 AD20 @@ -318225,7 +357828,7 @@ ENCODING 28999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 2FE0 @@ -318243,7 +357846,7 @@ ENCODING 29000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2940 AF40 @@ -318261,7 +357864,7 @@ ENCODING 29001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -318279,7 +357882,7 @@ ENCODING 29002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -318297,7 +357900,7 @@ ENCODING 29003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -318315,7 +357918,7 @@ ENCODING 29004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 AC40 @@ -318333,7 +357936,7 @@ ENCODING 29005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E40 2440 2540 @@ -318351,7 +357954,7 @@ ENCODING 29006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0000 @@ -318369,7 +357972,7 @@ ENCODING 29007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2000 AFC0 @@ -318387,7 +357990,7 @@ ENCODING 29008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 AA40 @@ -318405,7 +358008,7 @@ ENCODING 29009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0400 @@ -318423,7 +358026,7 @@ ENCODING 29010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 AA40 @@ -318441,7 +358044,7 @@ ENCODING 29011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 AFE0 @@ -318459,7 +358062,7 @@ ENCODING 29012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A480 A8E0 @@ -318477,7 +358080,7 @@ ENCODING 29013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8940 AD40 @@ -318495,7 +358098,7 @@ ENCODING 29014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 AAC0 @@ -318513,7 +358116,7 @@ ENCODING 29015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 2FE0 @@ -318531,7 +358134,7 @@ ENCODING 29016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 AFE0 @@ -318549,7 +358152,7 @@ ENCODING 29017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -318567,7 +358170,7 @@ ENCODING 29018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 F7C0 @@ -318585,7 +358188,7 @@ ENCODING 29019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5AC0 6B40 @@ -318603,7 +358206,7 @@ ENCODING 29020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -318621,7 +358224,7 @@ ENCODING 29021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 AFE0 @@ -318639,7 +358242,7 @@ ENCODING 29022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3D00 49E0 @@ -318657,7 +358260,7 @@ ENCODING 29023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 AFE0 @@ -318675,7 +358278,7 @@ ENCODING 29024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 AD40 @@ -318693,7 +358296,7 @@ ENCODING 29025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2C80 25E0 ACA0 @@ -318711,7 +358314,7 @@ ENCODING 29026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -318729,7 +358332,7 @@ ENCODING 29027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2940 B080 @@ -318747,7 +358350,7 @@ ENCODING 29028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -318765,7 +358368,7 @@ ENCODING 29029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 AC80 @@ -318783,7 +358386,7 @@ ENCODING 29030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 77C0 5840 @@ -318801,7 +358404,7 @@ ENCODING 29031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 4A20 @@ -318819,7 +358422,7 @@ ENCODING 29032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AFC0 @@ -318837,7 +358440,7 @@ ENCODING 29033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 27C0 @@ -318855,7 +358458,7 @@ ENCODING 29034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -318873,7 +358476,7 @@ ENCODING 29035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2500 2FE0 @@ -318891,7 +358494,7 @@ ENCODING 29036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -318909,7 +358512,7 @@ ENCODING 29037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5440 A940 5540 @@ -318927,7 +358530,7 @@ ENCODING 29038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 3F80 0500 @@ -318945,7 +358548,7 @@ ENCODING 29039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EA0 A8C0 @@ -318963,7 +358566,7 @@ ENCODING 29040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AC40 @@ -318981,7 +358584,7 @@ ENCODING 29041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2F40 @@ -318999,7 +358602,7 @@ ENCODING 29042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2840 4FC0 @@ -319017,7 +358620,7 @@ ENCODING 29043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 AEA0 @@ -319035,7 +358638,7 @@ ENCODING 29044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2FC0 @@ -319053,7 +358656,7 @@ ENCODING 29045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2200 @@ -319071,7 +358674,7 @@ ENCODING 29046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 23C0 @@ -319089,7 +358692,7 @@ ENCODING 29047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2240 @@ -319107,7 +358710,7 @@ ENCODING 29048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 B820 @@ -319125,7 +358728,7 @@ ENCODING 29049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 5480 @@ -319143,7 +358746,7 @@ ENCODING 29050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2520 A5E0 @@ -319161,7 +358764,7 @@ ENCODING 29051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A940 @@ -319179,7 +358782,7 @@ ENCODING 29052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 2AA0 @@ -319197,7 +358800,7 @@ ENCODING 29053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A820 @@ -319215,7 +358818,7 @@ ENCODING 29054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AFC0 @@ -319233,7 +358836,7 @@ ENCODING 29055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3FE0 2A40 @@ -319251,7 +358854,7 @@ ENCODING 29056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -319269,7 +358872,7 @@ ENCODING 29057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 A480 @@ -319287,7 +358890,7 @@ ENCODING 29058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 A800 @@ -319305,7 +358908,7 @@ ENCODING 29059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FC0 1280 @@ -319323,7 +358926,7 @@ ENCODING 29060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 AC40 @@ -319341,7 +358944,7 @@ ENCODING 29061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AEC0 @@ -319359,7 +358962,7 @@ ENCODING 29062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -319377,7 +358980,7 @@ ENCODING 29063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA40 @@ -319395,7 +358998,7 @@ ENCODING 29064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 54A0 5EE0 @@ -319413,7 +359016,7 @@ ENCODING 29065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 AFE0 @@ -319431,7 +359034,7 @@ ENCODING 29066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 FB80 0220 @@ -319449,7 +359052,7 @@ ENCODING 29067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49C0 FD20 48E0 @@ -319467,7 +359070,7 @@ ENCODING 29068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 5EE0 @@ -319485,7 +359088,7 @@ ENCODING 29069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -319503,7 +359106,7 @@ ENCODING 29070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F00 2A40 @@ -319521,7 +359124,7 @@ ENCODING 29071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFE0 @@ -319539,7 +359142,7 @@ ENCODING 29072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 27C0 @@ -319557,7 +359160,7 @@ ENCODING 29073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 7FE0 4500 @@ -319575,7 +359178,7 @@ ENCODING 29074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -319593,7 +359196,7 @@ ENCODING 29075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2C40 @@ -319611,7 +359214,7 @@ ENCODING 29076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2820 @@ -319629,7 +359232,7 @@ ENCODING 29077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 27E0 @@ -319647,7 +359250,7 @@ ENCODING 29078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2620 2920 @@ -319665,7 +359268,7 @@ ENCODING 29079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 AD40 @@ -319683,7 +359286,7 @@ ENCODING 29080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2DE0 A8A0 @@ -319701,7 +359304,7 @@ ENCODING 29081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4920 5D20 @@ -319719,7 +359322,7 @@ ENCODING 29082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AFC0 @@ -319737,7 +359340,7 @@ ENCODING 29083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -319755,7 +359358,7 @@ ENCODING 29084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 A920 @@ -319773,7 +359376,7 @@ ENCODING 29085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA80 @@ -319791,7 +359394,7 @@ ENCODING 29086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFA0 @@ -319809,7 +359412,7 @@ ENCODING 29087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 4BC0 @@ -319827,7 +359430,7 @@ ENCODING 29088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 ADA0 @@ -319845,7 +359448,7 @@ ENCODING 29089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AFE0 @@ -319863,7 +359466,7 @@ ENCODING 29090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 5680 @@ -319881,7 +359484,7 @@ ENCODING 29091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 24A0 27E0 @@ -319899,7 +359502,7 @@ ENCODING 29092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 ADA0 @@ -319917,7 +359520,7 @@ ENCODING 29093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2540 A880 @@ -319935,7 +359538,7 @@ ENCODING 29094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2A60 3380 @@ -319953,7 +359556,7 @@ ENCODING 29095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 46A0 9900 @@ -319971,7 +359574,7 @@ ENCODING 29096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 47E0 7E40 @@ -319989,7 +359592,7 @@ ENCODING 29097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 AC20 @@ -320007,7 +359610,7 @@ ENCODING 29098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2CE0 A520 @@ -320025,7 +359628,7 @@ ENCODING 29099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2A40 @@ -320043,7 +359646,7 @@ ENCODING 29100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -320061,7 +359664,7 @@ ENCODING 29101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7BE0 1100 @@ -320079,7 +359682,7 @@ ENCODING 29102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 25A0 2360 @@ -320097,7 +359700,7 @@ ENCODING 29103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AA80 @@ -320115,7 +359718,7 @@ ENCODING 29104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 ABC0 @@ -320133,7 +359736,7 @@ ENCODING 29105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 23C0 @@ -320151,7 +359754,7 @@ ENCODING 29106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 6880 4BE0 @@ -320169,7 +359772,7 @@ ENCODING 29107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -320187,7 +359790,7 @@ ENCODING 29108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 27E0 @@ -320205,7 +359808,7 @@ ENCODING 29109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA80 @@ -320223,7 +359826,7 @@ ENCODING 29110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFC0 @@ -320241,7 +359844,7 @@ ENCODING 29111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2920 @@ -320259,7 +359862,7 @@ ENCODING 29112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 AFE0 @@ -320277,7 +359880,7 @@ ENCODING 29113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 7FC0 @@ -320295,7 +359898,7 @@ ENCODING 29114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 2FE0 @@ -320313,7 +359916,7 @@ ENCODING 29115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2C60 @@ -320331,7 +359934,7 @@ ENCODING 29116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 AFC0 @@ -320349,7 +359952,7 @@ ENCODING 29117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A140 @@ -320367,7 +359970,7 @@ ENCODING 29118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FC0 BAA0 @@ -320385,7 +359988,7 @@ ENCODING 29119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 B280 @@ -320403,7 +360006,7 @@ ENCODING 29120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AFE0 @@ -320421,7 +360024,7 @@ ENCODING 29121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 B280 @@ -320439,7 +360042,7 @@ ENCODING 29122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 AFE0 @@ -320457,7 +360060,7 @@ ENCODING 29123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2EC0 AAA0 @@ -320475,7 +360078,7 @@ ENCODING 29124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7AA0 4AC0 @@ -320493,7 +360096,7 @@ ENCODING 29125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10A0 7EC0 1280 @@ -320511,7 +360114,7 @@ ENCODING 29126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2200 AFE0 @@ -320529,7 +360132,7 @@ ENCODING 29127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 AA80 @@ -320547,7 +360150,7 @@ ENCODING 29128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FA0 2B40 AC80 @@ -320565,7 +360168,7 @@ ENCODING 29129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2F80 AAE0 @@ -320583,7 +360186,7 @@ ENCODING 29130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1700 2400 1B80 @@ -320601,7 +360204,7 @@ ENCODING 29131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 2FE0 @@ -320619,7 +360222,7 @@ ENCODING 29132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2540 @@ -320637,7 +360240,7 @@ ENCODING 29133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5400 7FE0 5500 @@ -320655,7 +360258,7 @@ ENCODING 29134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -320673,7 +360276,7 @@ ENCODING 29135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 AFE0 @@ -320691,7 +360294,7 @@ ENCODING 29136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 AFE0 @@ -320709,7 +360312,7 @@ ENCODING 29137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 2480 @@ -320727,7 +360330,7 @@ ENCODING 29138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 A900 @@ -320745,7 +360348,7 @@ ENCODING 29139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2440 FBE0 @@ -320763,7 +360366,7 @@ ENCODING 29140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 A540 @@ -320781,7 +360384,7 @@ ENCODING 29141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -320799,7 +360402,7 @@ ENCODING 29142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 A7C0 @@ -320817,7 +360420,7 @@ ENCODING 29143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2EE0 @@ -320835,7 +360438,7 @@ ENCODING 29144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -320853,7 +360456,7 @@ ENCODING 29145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 AA40 4940 @@ -320871,7 +360474,7 @@ ENCODING 29146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55A0 5AC0 9080 @@ -320889,7 +360492,7 @@ ENCODING 29147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2A80 FBE0 @@ -320907,7 +360510,7 @@ ENCODING 29148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -320925,7 +360528,7 @@ ENCODING 29149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -320943,7 +360546,7 @@ ENCODING 29150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7DE0 D2A0 @@ -320961,7 +360564,7 @@ ENCODING 29151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5AC0 5480 A940 @@ -320979,7 +360582,7 @@ ENCODING 29152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 AD60 @@ -320997,7 +360600,7 @@ ENCODING 29153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -321015,7 +360618,7 @@ ENCODING 29154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 64C0 4A40 75C0 @@ -321033,7 +360636,7 @@ ENCODING 29155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5540 @@ -321051,7 +360654,7 @@ ENCODING 29156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AA80 @@ -321069,7 +360672,7 @@ ENCODING 29157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 AFE0 @@ -321087,7 +360690,7 @@ ENCODING 29158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 24A0 BF40 @@ -321105,7 +360708,7 @@ ENCODING 29159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2BE0 A500 @@ -321123,7 +360726,7 @@ ENCODING 29160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 A900 @@ -321141,7 +360744,7 @@ ENCODING 29161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2E80 BAE0 @@ -321159,7 +360762,7 @@ ENCODING 29162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -321177,7 +360780,7 @@ ENCODING 29163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 5FE0 5500 @@ -321195,7 +360798,7 @@ ENCODING 29164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 2B40 B940 @@ -321213,7 +360816,7 @@ ENCODING 29165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -321231,7 +360834,7 @@ ENCODING 29166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AF40 B160 @@ -321249,7 +360852,7 @@ ENCODING 29167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 2FE0 @@ -321267,7 +360870,7 @@ ENCODING 29168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 AFE0 @@ -321285,7 +360888,7 @@ ENCODING 29169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A280 @@ -321303,7 +360906,7 @@ ENCODING 29170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 A240 @@ -321321,7 +360924,7 @@ ENCODING 29171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 5DE0 54A0 @@ -321339,7 +360942,7 @@ ENCODING 29172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 A7C0 @@ -321357,7 +360960,7 @@ ENCODING 29173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2BE0 B480 @@ -321375,7 +360978,7 @@ ENCODING 29174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 AAA0 @@ -321393,7 +360996,7 @@ ENCODING 29175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -321411,7 +361014,7 @@ ENCODING 29176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 AFE0 @@ -321429,7 +361032,7 @@ ENCODING 29177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2900 52A0 @@ -321447,7 +361050,7 @@ ENCODING 29178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2280 @@ -321465,7 +361068,7 @@ ENCODING 29179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 AFE0 @@ -321483,7 +361086,7 @@ ENCODING 29180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FC0 A140 @@ -321501,7 +361104,7 @@ ENCODING 29181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 B900 @@ -321519,7 +361122,7 @@ ENCODING 29182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -321537,7 +361140,7 @@ ENCODING 29183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 AB60 @@ -321555,7 +361158,7 @@ ENCODING 29184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5DC0 6880 @@ -321573,7 +361176,7 @@ ENCODING 29185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 2A40 AF60 @@ -321591,7 +361194,7 @@ ENCODING 29186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DF60 9120 DF60 @@ -321609,7 +361212,7 @@ ENCODING 29187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2B60 AA40 @@ -321627,7 +361230,7 @@ ENCODING 29188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5280 5FE0 @@ -321645,7 +361248,7 @@ ENCODING 29189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 AFE0 @@ -321663,7 +361266,7 @@ ENCODING 29190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 B7C0 @@ -321681,7 +361284,7 @@ ENCODING 29191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -321699,7 +361302,7 @@ ENCODING 29192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 2FE0 @@ -321717,7 +361320,7 @@ ENCODING 29193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 A540 @@ -321735,7 +361338,7 @@ ENCODING 29194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -321753,7 +361356,7 @@ ENCODING 29195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2480 AFE0 @@ -321771,7 +361374,7 @@ ENCODING 29196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AA40 @@ -321789,7 +361392,7 @@ ENCODING 29197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2BC0 A6A0 @@ -321807,7 +361410,7 @@ ENCODING 29198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 5120 @@ -321825,7 +361428,7 @@ ENCODING 29199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5240 5D80 @@ -321843,7 +361446,7 @@ ENCODING 29200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 AFE0 @@ -321861,7 +361464,7 @@ ENCODING 29201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2340 @@ -321879,7 +361482,7 @@ ENCODING 29202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 AAA0 @@ -321897,7 +361500,7 @@ ENCODING 29203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -321915,7 +361518,7 @@ ENCODING 29204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 B100 @@ -321933,7 +361536,7 @@ ENCODING 29205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AEA0 B1C0 @@ -321951,7 +361554,7 @@ ENCODING 29206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 5F00 55E0 @@ -321969,7 +361572,7 @@ ENCODING 29207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2640 A540 @@ -321987,7 +361590,7 @@ ENCODING 29208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0600 24E0 2EA0 @@ -322005,7 +361608,7 @@ ENCODING 29209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 AAA0 @@ -322023,7 +361626,7 @@ ENCODING 29210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 A840 @@ -322041,7 +361644,7 @@ ENCODING 29211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -322059,7 +361662,7 @@ ENCODING 29212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 26C0 2FE0 @@ -322077,7 +361680,7 @@ ENCODING 29213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2940 AFE0 @@ -322095,7 +361698,7 @@ ENCODING 29214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 A520 @@ -322113,7 +361716,7 @@ ENCODING 29215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 A480 @@ -322131,7 +361734,7 @@ ENCODING 29216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 AEE0 @@ -322149,7 +361752,7 @@ ENCODING 29217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 A540 @@ -322167,7 +361770,7 @@ ENCODING 29218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -322185,7 +361788,7 @@ ENCODING 29219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 AFE0 @@ -322203,7 +361806,7 @@ ENCODING 29220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2440 @@ -322221,7 +361824,7 @@ ENCODING 29221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2FE0 2D40 @@ -322239,7 +361842,7 @@ ENCODING 29222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2AE0 BFA0 @@ -322257,7 +361860,7 @@ ENCODING 29223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 AFE0 @@ -322275,7 +361878,7 @@ ENCODING 29224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6FC0 4B40 FFE0 @@ -322293,7 +361896,7 @@ ENCODING 29225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 2B40 BDE0 @@ -322311,7 +361914,7 @@ ENCODING 29226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 3F80 2480 @@ -322328,26 +361931,21 @@ STARTCHAR U_722B ENCODING 29227 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 6 0 4 +BITMAP 00E0 0700 F840 4840 2480 2500 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_722C ENCODING 29228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 EAA0 AAA0 @@ -322365,7 +361963,7 @@ ENCODING 29229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2440 1280 @@ -322383,7 +361981,7 @@ ENCODING 29230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 1BC0 EC40 @@ -322401,7 +361999,7 @@ ENCODING 29231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7E40 1280 @@ -322419,7 +362017,7 @@ ENCODING 29232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2440 1280 @@ -322437,7 +362035,7 @@ ENCODING 29233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 7F40 2480 @@ -322455,7 +362053,7 @@ ENCODING 29234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C80 1500 @@ -322473,7 +362071,7 @@ ENCODING 29235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 1500 3F80 @@ -322491,7 +362089,7 @@ ENCODING 29236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00E0 FF40 9540 @@ -322508,26 +362106,26 @@ STARTCHAR U_7235 ENCODING 29237 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -2480 -7FC0 -5240 -7FC0 -4440 -7FE0 -4540 -7D40 -4840 -7CC0 +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 +BITMAP 1100 2080 4040 @@ -322545,7 +362143,7 @@ ENCODING 29239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 5140 @@ -322563,7 +362161,7 @@ ENCODING 29240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3180 4A40 @@ -322581,7 +362179,7 @@ ENCODING 29241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3180 CA60 0E00 @@ -322599,7 +362197,7 @@ ENCODING 29242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3180 4E40 F1E0 @@ -322616,26 +362214,26 @@ STARTCHAR U_723B ENCODING 29243 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3080 -0D00 -0300 -0C80 -7140 -1100 -0900 -0600 +BBX 10 11 1 -1 +BITMAP +6100 +1A00 0600 -1980 -6060 +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 +BITMAP 4BC0 5240 3240 @@ -322653,7 +362251,7 @@ ENCODING 29245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -322671,7 +362269,7 @@ ENCODING 29246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 7FC0 @@ -322688,26 +362286,26 @@ STARTCHAR U_723F ENCODING 29247 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0880 -0880 -0880 -0F80 -0080 -7F80 -0880 -0880 -0880 -1080 -6080 +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 +BITMAP 1200 5200 5FE0 @@ -322725,7 +362323,7 @@ ENCODING 29249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5040 5040 @@ -322743,7 +362341,7 @@ ENCODING 29250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5440 5280 5FE0 @@ -322761,7 +362359,7 @@ ENCODING 29251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 5FE0 5540 @@ -322779,7 +362377,7 @@ ENCODING 29252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 5240 5520 @@ -322797,7 +362395,7 @@ ENCODING 29253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFE0 A940 @@ -322815,7 +362413,7 @@ ENCODING 29254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A100 AFE0 A540 @@ -322833,7 +362431,7 @@ ENCODING 29255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 2100 @@ -322851,7 +362449,7 @@ ENCODING 29256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 5700 5400 @@ -322869,7 +362467,7 @@ ENCODING 29257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 5520 5340 @@ -322887,7 +362485,7 @@ ENCODING 29258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5120 5120 @@ -322905,7 +362503,7 @@ ENCODING 29259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 53E0 5680 @@ -322923,7 +362521,7 @@ ENCODING 29260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 57E0 5520 @@ -322941,7 +362539,7 @@ ENCODING 29261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 57E0 5100 @@ -322959,7 +362557,7 @@ ENCODING 29262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 A7C0 A540 @@ -322977,7 +362575,7 @@ ENCODING 29263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A100 A280 A440 @@ -322995,7 +362593,7 @@ ENCODING 29264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 A700 A100 @@ -323013,7 +362611,7 @@ ENCODING 29265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFC0 A840 @@ -323031,7 +362629,7 @@ ENCODING 29266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A540 AFE0 A540 @@ -323049,7 +362647,7 @@ ENCODING 29267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A100 AFE0 A280 @@ -323067,7 +362665,7 @@ ENCODING 29268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5FE0 5540 @@ -323085,7 +362683,7 @@ ENCODING 29269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 57C0 5540 @@ -323103,7 +362701,7 @@ ENCODING 29270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A100 AFE0 A820 @@ -323121,7 +362719,7 @@ ENCODING 29271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A940 @@ -323139,7 +362737,7 @@ ENCODING 29272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 5FE0 5100 @@ -323157,7 +362755,7 @@ ENCODING 29273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0100 1100 @@ -323175,7 +362773,7 @@ ENCODING 29274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -323192,44 +362790,44 @@ STARTCHAR U_725B ENCODING 29275 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -1200 -1200 -3FC0 -4200 -0200 -7FE0 -0200 -0200 -0200 -0200 +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 11 11 0 -1 -BITMAP -0800 -4800 -7E00 -4800 -8A00 -0C00 -3800 -E800 -4800 -0800 -0800 +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 +BITMAP 1100 5100 5120 @@ -323247,7 +362845,7 @@ ENCODING 29278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5100 53E0 @@ -323265,7 +362863,7 @@ ENCODING 29279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1080 3FC0 @@ -323283,7 +362881,7 @@ ENCODING 29280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A2A0 A2E0 @@ -323301,7 +362899,7 @@ ENCODING 29281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5080 5080 @@ -323318,26 +362916,26 @@ STARTCHAR U_7262 ENCODING 29282 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -4220 -1200 -1FC0 -2200 -4200 -7FE0 -0200 -0200 -0200 +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 +BITMAP 17E0 5120 5120 @@ -323355,7 +362953,7 @@ ENCODING 29284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A100 A100 @@ -323373,7 +362971,7 @@ ENCODING 29285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 57E0 @@ -323391,7 +362989,7 @@ ENCODING 29286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 5700 5100 @@ -323409,7 +363007,7 @@ ENCODING 29287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5200 53E0 @@ -323427,7 +363025,7 @@ ENCODING 29288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 57E0 @@ -323445,7 +363043,7 @@ ENCODING 29289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A200 A7E0 @@ -323463,7 +363061,7 @@ ENCODING 29290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5280 5280 @@ -323481,7 +363079,7 @@ ENCODING 29291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 5240 52E0 @@ -323499,7 +363097,7 @@ ENCODING 29292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 51C0 5700 @@ -323517,7 +363115,7 @@ ENCODING 29293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 6FE0 6AA0 @@ -323535,7 +363133,7 @@ ENCODING 29294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2240 7FE0 @@ -323553,7 +363151,7 @@ ENCODING 29295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5080 5080 @@ -323571,7 +363169,7 @@ ENCODING 29296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A080 A7E0 @@ -323589,7 +363187,7 @@ ENCODING 29297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 A040 @@ -323607,7 +363205,7 @@ ENCODING 29298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A280 A280 @@ -323625,7 +363223,7 @@ ENCODING 29299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A440 A540 @@ -323643,7 +363241,7 @@ ENCODING 29300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 A780 A480 @@ -323661,7 +363259,7 @@ ENCODING 29301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -323679,7 +363277,7 @@ ENCODING 29302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FC0 @@ -323697,7 +363295,7 @@ ENCODING 29303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5280 5440 @@ -323715,7 +363313,7 @@ ENCODING 29304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A820 @@ -323733,7 +363331,7 @@ ENCODING 29305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A7C0 F100 @@ -323751,7 +363349,7 @@ ENCODING 29306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A280 A280 @@ -323769,7 +363367,7 @@ ENCODING 29307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2440 AFE0 @@ -323787,7 +363385,7 @@ ENCODING 29308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A540 A540 @@ -323805,7 +363403,7 @@ ENCODING 29309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0A00 @@ -323823,7 +363421,7 @@ ENCODING 29310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A100 AFC0 @@ -323841,7 +363439,7 @@ ENCODING 29311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 A500 AFC0 @@ -323859,7 +363457,7 @@ ENCODING 29312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4040 7FC0 @@ -323877,7 +363475,7 @@ ENCODING 29313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 1120 FD20 @@ -323895,7 +363493,7 @@ ENCODING 29314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 73E0 12A0 @@ -323913,7 +363511,7 @@ ENCODING 29315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 57C0 7840 @@ -323931,7 +363529,7 @@ ENCODING 29316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A280 @@ -323949,7 +363547,7 @@ ENCODING 29317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AAA0 A920 @@ -323967,7 +363565,7 @@ ENCODING 29318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A7E0 A100 @@ -323985,7 +363583,7 @@ ENCODING 29319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3FC0 4400 @@ -324003,7 +363601,7 @@ ENCODING 29320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 A540 AFE0 @@ -324021,7 +363619,7 @@ ENCODING 29321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 57E0 5240 @@ -324039,7 +363637,7 @@ ENCODING 29322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A7C0 A100 @@ -324057,7 +363655,7 @@ ENCODING 29323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A440 A7C0 @@ -324075,7 +363673,7 @@ ENCODING 29324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 AA20 AA20 @@ -324093,7 +363691,7 @@ ENCODING 29325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 AFE0 A4A0 @@ -324111,7 +363709,7 @@ ENCODING 29326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FBE0 2040 @@ -324129,7 +363727,7 @@ ENCODING 29327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A820 @@ -324147,7 +363745,7 @@ ENCODING 29328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 AEA0 A260 @@ -324165,7 +363763,7 @@ ENCODING 29329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A440 A7C0 @@ -324183,7 +363781,7 @@ ENCODING 29330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A000 @@ -324201,7 +363799,7 @@ ENCODING 29331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A200 A7E0 F520 @@ -324219,7 +363817,7 @@ ENCODING 29332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 A800 B780 @@ -324237,7 +363835,7 @@ ENCODING 29333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 A7E0 F280 @@ -324255,7 +363853,7 @@ ENCODING 29334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 5AC0 9480 @@ -324273,7 +363871,7 @@ ENCODING 29335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A920 @@ -324291,7 +363889,7 @@ ENCODING 29336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -324309,7 +363907,7 @@ ENCODING 29337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2480 AFC0 @@ -324327,7 +363925,7 @@ ENCODING 29338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 47E0 7E40 @@ -324345,7 +363943,7 @@ ENCODING 29339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2140 @@ -324363,7 +363961,7 @@ ENCODING 29340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AE80 A0E0 @@ -324381,7 +363979,7 @@ ENCODING 29341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A280 @@ -324399,7 +363997,7 @@ ENCODING 29342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 A200 BFE0 @@ -324417,7 +364015,7 @@ ENCODING 29343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 0A40 7FE0 @@ -324435,7 +364033,7 @@ ENCODING 29344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 A7E0 A100 @@ -324453,7 +364051,7 @@ ENCODING 29345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AA80 AFE0 @@ -324471,7 +364069,7 @@ ENCODING 29346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 A100 @@ -324489,7 +364087,7 @@ ENCODING 29347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 AA80 A540 @@ -324507,7 +364105,7 @@ ENCODING 29348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AAA0 AFE0 @@ -324525,7 +364123,7 @@ ENCODING 29349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 AA80 @@ -324543,7 +364141,7 @@ ENCODING 29350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A440 A7C0 @@ -324561,7 +364159,7 @@ ENCODING 29351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 A100 @@ -324579,7 +364177,7 @@ ENCODING 29352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 7DE0 D340 @@ -324597,7 +364195,7 @@ ENCODING 29353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 27C0 FD40 @@ -324615,7 +364213,7 @@ ENCODING 29354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 FA80 @@ -324633,7 +364231,7 @@ ENCODING 29355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 7FE0 D540 @@ -324651,7 +364249,7 @@ ENCODING 29356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 0400 @@ -324668,26 +364266,26 @@ STARTCHAR U_72AD ENCODING 29357 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -6800 -1000 -3000 -4800 -8800 -1800 -2800 -4800 -8800 -2800 -1000 +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 +BITMAP 0900 0880 FFE0 @@ -324705,7 +364303,7 @@ ENCODING 29359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5440 2440 @@ -324723,7 +364321,7 @@ ENCODING 29360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5200 2200 @@ -324741,7 +364339,7 @@ ENCODING 29361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5200 2200 @@ -324759,7 +364357,7 @@ ENCODING 29362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5080 2080 @@ -324777,7 +364375,7 @@ ENCODING 29363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 5200 23E0 @@ -324795,7 +364393,7 @@ ENCODING 29364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 5100 2100 @@ -324813,7 +364411,7 @@ ENCODING 29365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 53E0 2400 @@ -324831,7 +364429,7 @@ ENCODING 29366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 9140 5100 @@ -324849,7 +364447,7 @@ ENCODING 29367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 57E0 2400 @@ -324867,7 +364465,7 @@ ENCODING 29368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5040 2240 @@ -324885,7 +364483,7 @@ ENCODING 29369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 5120 2100 @@ -324903,7 +364501,7 @@ ENCODING 29370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5100 2FE0 @@ -324921,7 +364519,7 @@ ENCODING 29371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 AFE0 4100 @@ -324939,7 +364537,7 @@ ENCODING 29372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 5F80 2180 @@ -324957,7 +364555,7 @@ ENCODING 29373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87E0 5080 2280 @@ -324975,7 +364573,7 @@ ENCODING 29374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5280 2240 @@ -324993,7 +364591,7 @@ ENCODING 29375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5100 2000 @@ -325011,7 +364609,7 @@ ENCODING 29376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 5180 5140 @@ -325029,7 +364627,7 @@ ENCODING 29377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5240 2420 @@ -325047,7 +364645,7 @@ ENCODING 29378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5100 2100 @@ -325065,7 +364663,7 @@ ENCODING 29379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5140 2140 @@ -325083,7 +364681,7 @@ ENCODING 29380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 2520 @@ -325101,7 +364699,7 @@ ENCODING 29381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 5700 2100 @@ -325119,7 +364717,7 @@ ENCODING 29382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 27E0 @@ -325137,7 +364735,7 @@ ENCODING 29383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 9200 6200 @@ -325155,7 +364753,7 @@ ENCODING 29384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5420 24A0 @@ -325173,7 +364771,7 @@ ENCODING 29385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 57E0 2100 @@ -325191,7 +364789,7 @@ ENCODING 29386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -325209,7 +364807,7 @@ ENCODING 29387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5000 2000 @@ -325227,7 +364825,7 @@ ENCODING 29388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5500 2500 @@ -325245,7 +364843,7 @@ ENCODING 29389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 53E0 2420 @@ -325263,7 +364861,7 @@ ENCODING 29390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 54A0 24A0 @@ -325281,7 +364879,7 @@ ENCODING 29391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 57E0 2800 @@ -325299,7 +364897,7 @@ ENCODING 29392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 AF00 4A80 @@ -325317,7 +364915,7 @@ ENCODING 29393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5280 2440 @@ -325335,7 +364933,7 @@ ENCODING 29394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 5FE0 22A0 @@ -325353,7 +364951,7 @@ ENCODING 29395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 9100 6FE0 @@ -325371,7 +364969,7 @@ ENCODING 29396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5420 2420 @@ -325389,7 +364987,7 @@ ENCODING 29397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A080 6480 6480 @@ -325407,7 +365005,7 @@ ENCODING 29398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5100 2FE0 @@ -325425,7 +365023,7 @@ ENCODING 29399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 5200 27E0 @@ -325443,7 +365041,7 @@ ENCODING 29400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 5120 27E0 @@ -325461,7 +365059,7 @@ ENCODING 29401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5440 2440 @@ -325479,7 +365077,7 @@ ENCODING 29402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 5440 2440 @@ -325497,7 +365095,7 @@ ENCODING 29403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5200 27E0 @@ -325515,7 +365113,7 @@ ENCODING 29404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 2FE0 @@ -325533,7 +365131,7 @@ ENCODING 29405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 57E0 2820 @@ -325551,7 +365149,7 @@ ENCODING 29406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 2420 @@ -325569,7 +365167,7 @@ ENCODING 29407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 57E0 2000 @@ -325587,7 +365185,7 @@ ENCODING 29408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5440 27C0 @@ -325605,7 +365203,7 @@ ENCODING 29409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5100 2FE0 @@ -325623,7 +365221,7 @@ ENCODING 29410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 53C0 2440 @@ -325641,7 +365239,7 @@ ENCODING 29411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 5280 2AA0 @@ -325659,7 +365257,7 @@ ENCODING 29412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 2FE0 @@ -325677,7 +365275,7 @@ ENCODING 29413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9400 67E0 2820 @@ -325695,7 +365293,7 @@ ENCODING 29414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 4AA0 AAA0 @@ -325713,7 +365311,7 @@ ENCODING 29415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 91C0 5F00 2100 @@ -325731,7 +365329,7 @@ ENCODING 29416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 5120 2FE0 @@ -325749,7 +365347,7 @@ ENCODING 29417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 2420 @@ -325767,7 +365365,7 @@ ENCODING 29418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 4820 ABA0 @@ -325785,7 +365383,7 @@ ENCODING 29419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A20 57A0 2240 @@ -325803,7 +365401,7 @@ ENCODING 29420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5100 27E0 @@ -325821,7 +365419,7 @@ ENCODING 29421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5FE0 2100 @@ -325839,7 +365437,7 @@ ENCODING 29422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A3E0 4A80 ABE0 @@ -325857,7 +365455,7 @@ ENCODING 29423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5280 2440 @@ -325875,7 +365473,7 @@ ENCODING 29424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 53C0 2480 @@ -325893,7 +365491,7 @@ ENCODING 29425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A8C0 44A0 A480 @@ -325911,7 +365509,7 @@ ENCODING 29426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AE80 4280 A480 @@ -325929,7 +365527,7 @@ ENCODING 29427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A300 4480 A840 @@ -325947,7 +365545,7 @@ ENCODING 29428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 4920 AFC0 @@ -325965,7 +365563,7 @@ ENCODING 29429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5280 2240 @@ -325983,7 +365581,7 @@ ENCODING 29430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8B60 5080 2360 @@ -326001,7 +365599,7 @@ ENCODING 29431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BC0 5240 23C0 @@ -326019,7 +365617,7 @@ ENCODING 29432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5520 2520 @@ -326037,7 +365635,7 @@ ENCODING 29433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 2100 @@ -326055,7 +365653,7 @@ ENCODING 29434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5FE0 2000 @@ -326073,7 +365671,7 @@ ENCODING 29435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A00 5440 2FE0 @@ -326091,7 +365689,7 @@ ENCODING 29436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57C0 2440 @@ -326109,7 +365707,7 @@ ENCODING 29437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5420 27E0 @@ -326127,7 +365725,7 @@ ENCODING 29438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55E0 2500 5F00 @@ -326145,7 +365743,7 @@ ENCODING 29439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E20 25C0 6440 @@ -326163,7 +365761,7 @@ ENCODING 29440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A880 44C0 @@ -326181,7 +365779,7 @@ ENCODING 29441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E20 24A0 64A0 @@ -326199,7 +365797,7 @@ ENCODING 29442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5440 27C0 @@ -326217,7 +365815,7 @@ ENCODING 29443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5280 2440 @@ -326235,7 +365833,7 @@ ENCODING 29444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 4000 @@ -326253,7 +365851,7 @@ ENCODING 29445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 5280 2EE0 @@ -326271,7 +365869,7 @@ ENCODING 29446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7BC0 0A00 @@ -326289,7 +365887,7 @@ ENCODING 29447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A1E0 4100 AFE0 @@ -326307,7 +365905,7 @@ ENCODING 29448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 2520 @@ -326325,7 +365923,7 @@ ENCODING 29449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 97E0 6240 @@ -326343,7 +365941,7 @@ ENCODING 29450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5660 2420 @@ -326361,7 +365959,7 @@ ENCODING 29451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 7FE0 @@ -326379,7 +365977,7 @@ ENCODING 29452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FCC0 10A0 @@ -326397,7 +365995,7 @@ ENCODING 29453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 9FE0 6100 @@ -326415,7 +366013,7 @@ ENCODING 29454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 5280 27C0 @@ -326433,7 +366031,7 @@ ENCODING 29455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 27E0 6420 @@ -326451,7 +366049,7 @@ ENCODING 29456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 6FE0 2200 @@ -326469,7 +366067,7 @@ ENCODING 29457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFC0 4840 AFC0 @@ -326487,7 +366085,7 @@ ENCODING 29458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 48C0 78A0 @@ -326505,7 +366103,7 @@ ENCODING 29459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 2540 57C0 @@ -326523,7 +366121,7 @@ ENCODING 29460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 4820 @@ -326541,7 +366139,7 @@ ENCODING 29461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5D00 2500 65E0 @@ -326559,7 +366157,7 @@ ENCODING 29462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BC0 5240 23C0 @@ -326577,7 +366175,7 @@ ENCODING 29463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 2280 @@ -326595,7 +366193,7 @@ ENCODING 29464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9A20 6A20 6FA0 @@ -326613,7 +366211,7 @@ ENCODING 29465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5A20 2540 @@ -326631,7 +366229,7 @@ ENCODING 29466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 5240 27E0 @@ -326649,7 +366247,7 @@ ENCODING 29467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5080 2100 @@ -326667,7 +366265,7 @@ ENCODING 29468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5FE0 2100 @@ -326685,7 +366283,7 @@ ENCODING 29469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5FE0 2440 @@ -326703,7 +366301,7 @@ ENCODING 29470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 2280 5440 @@ -326721,7 +366319,7 @@ ENCODING 29471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 A540 4080 @@ -326739,7 +366337,7 @@ ENCODING 29472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 A500 5FC0 @@ -326757,7 +366355,7 @@ ENCODING 29473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 5AA0 @@ -326775,7 +366373,7 @@ ENCODING 29474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D4E0 24A0 7FA0 @@ -326793,7 +366391,7 @@ ENCODING 29475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 4920 AAA0 @@ -326811,7 +366409,7 @@ ENCODING 29476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AF40 4AA0 @@ -326829,7 +366427,7 @@ ENCODING 29477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5540 27C0 @@ -326847,7 +366445,7 @@ ENCODING 29478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 2440 57C0 @@ -326865,7 +366463,7 @@ ENCODING 29479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 6440 6740 @@ -326883,7 +366481,7 @@ ENCODING 29480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 AE40 4A80 @@ -326901,7 +366499,7 @@ ENCODING 29481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5440 27C0 @@ -326919,7 +366517,7 @@ ENCODING 29482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8920 57A0 2140 @@ -326937,7 +366535,7 @@ ENCODING 29483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A40 57E0 2240 @@ -326955,7 +366553,7 @@ ENCODING 29484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5920 2FE0 @@ -326973,7 +366571,7 @@ ENCODING 29485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93C0 5480 2780 @@ -326991,7 +366589,7 @@ ENCODING 29486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FCC0 10A0 @@ -327009,7 +366607,7 @@ ENCODING 29487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A920 4FE0 @@ -327027,7 +366625,7 @@ ENCODING 29488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 5FE0 24A0 @@ -327045,7 +366643,7 @@ ENCODING 29489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5280 2100 @@ -327063,7 +366661,7 @@ ENCODING 29490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 2440 57C0 @@ -327081,7 +366679,7 @@ ENCODING 29491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 2A20 6EE0 @@ -327099,7 +366697,7 @@ ENCODING 29492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABC0 4840 AFE0 @@ -327117,7 +366715,7 @@ ENCODING 29493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 6FE0 6820 @@ -327135,7 +366733,7 @@ ENCODING 29494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 A280 5FE0 @@ -327153,7 +366751,7 @@ ENCODING 29495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 28C0 FEA0 @@ -327171,7 +366769,7 @@ ENCODING 29496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 4920 AFE0 @@ -327189,7 +366787,7 @@ ENCODING 29497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5FE0 2540 @@ -327207,7 +366805,7 @@ ENCODING 29498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 5000 2520 @@ -327225,7 +366823,7 @@ ENCODING 29499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFC0 4480 A920 @@ -327243,7 +366841,7 @@ ENCODING 29500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8940 57E0 2520 @@ -327261,7 +366859,7 @@ ENCODING 29501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 A840 4780 @@ -327279,7 +366877,7 @@ ENCODING 29502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 5640 2540 @@ -327297,7 +366895,7 @@ ENCODING 29503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57C0 2100 @@ -327315,7 +366913,7 @@ ENCODING 29504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5760 2520 @@ -327333,7 +366931,7 @@ ENCODING 29505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A500 47C0 @@ -327351,7 +366949,7 @@ ENCODING 29506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 4880 ABE0 @@ -327369,7 +366967,7 @@ ENCODING 29507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A8C0 A8A0 F880 @@ -327387,7 +366985,7 @@ ENCODING 29508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 2EC0 60A0 @@ -327405,7 +367003,7 @@ ENCODING 29509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 3080 7BE0 @@ -327423,7 +367021,7 @@ ENCODING 29510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFC0 4A40 @@ -327441,7 +367039,7 @@ ENCODING 29511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AFC0 4200 @@ -327459,7 +367057,7 @@ ENCODING 29512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A840 4480 4FC0 @@ -327477,7 +367075,7 @@ ENCODING 29513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 2100 @@ -327495,7 +367093,7 @@ ENCODING 29514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8980 5240 2520 @@ -327513,7 +367111,7 @@ ENCODING 29515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A7C0 4440 @@ -327531,7 +367129,7 @@ ENCODING 29516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5440 27C0 @@ -327549,7 +367147,7 @@ ENCODING 29517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 27C0 5280 @@ -327567,7 +367165,7 @@ ENCODING 29518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 5540 7A80 @@ -327585,7 +367183,7 @@ ENCODING 29519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 A480 4FC0 @@ -327603,7 +367201,7 @@ ENCODING 29520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 27C0 5280 @@ -327621,7 +367219,7 @@ ENCODING 29521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D2E0 2F80 6280 @@ -327639,7 +367237,7 @@ ENCODING 29522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 1220 @@ -327657,7 +367255,7 @@ ENCODING 29523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 5E80 24E0 @@ -327675,7 +367273,7 @@ ENCODING 29524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9200 6F80 6880 @@ -327693,7 +367291,7 @@ ENCODING 29525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9100 5940 2FC0 @@ -327711,7 +367309,7 @@ ENCODING 29526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 BFC0 4A80 @@ -327729,7 +367327,7 @@ ENCODING 29527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFE0 5480 DFE0 @@ -327747,7 +367345,7 @@ ENCODING 29528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9500 59E0 FD40 @@ -327765,7 +367363,7 @@ ENCODING 29529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA80 5C80 A8E0 @@ -327783,7 +367381,7 @@ ENCODING 29530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9280 57E0 2280 @@ -327801,7 +367399,7 @@ ENCODING 29531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AA0 56C0 2FE0 @@ -327819,7 +367417,7 @@ ENCODING 29532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 A540 4FE0 @@ -327837,7 +367435,7 @@ ENCODING 29533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97C0 6280 7FE0 @@ -327855,7 +367453,7 @@ ENCODING 29534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57C0 2280 @@ -327873,7 +367471,7 @@ ENCODING 29535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57C0 2100 @@ -327891,7 +367489,7 @@ ENCODING 29536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5FE0 2AA0 @@ -327909,7 +367507,7 @@ ENCODING 29537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 95C0 5840 2DC0 @@ -327927,7 +367525,7 @@ ENCODING 29538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8040 6F80 4200 @@ -327945,7 +367543,7 @@ ENCODING 29539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 28C0 7CA0 @@ -327963,7 +367561,7 @@ ENCODING 29540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9440 5F40 20E0 @@ -327981,7 +367579,7 @@ ENCODING 29541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 5E80 2AE0 @@ -327999,7 +367597,7 @@ ENCODING 29542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5280 2FC0 @@ -328017,7 +367615,7 @@ ENCODING 29543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 6AA0 6FE0 @@ -328035,7 +367633,7 @@ ENCODING 29544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 6AA0 6FE0 @@ -328053,7 +367651,7 @@ ENCODING 29545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 94E0 6480 2FE0 @@ -328071,7 +367669,7 @@ ENCODING 29546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5280 27C0 @@ -328089,7 +367687,7 @@ ENCODING 29547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5280 2440 @@ -328107,7 +367705,7 @@ ENCODING 29548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ADE0 54A0 DFA0 @@ -328125,7 +367723,7 @@ ENCODING 29549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 3F40 6BE0 @@ -328143,7 +367741,7 @@ ENCODING 29550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BFE0 4540 A920 @@ -328161,7 +367759,7 @@ ENCODING 29551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 5100 3FE0 @@ -328179,7 +367777,7 @@ ENCODING 29552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 3520 @@ -328197,7 +367795,7 @@ ENCODING 29553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFE0 4820 @@ -328215,7 +367813,7 @@ ENCODING 29554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 5FE0 2540 @@ -328233,7 +367831,7 @@ ENCODING 29555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5100 2FE0 @@ -328251,7 +367849,7 @@ ENCODING 29556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AFC0 4480 @@ -328269,7 +367867,7 @@ ENCODING 29557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8520 5A40 2520 @@ -328287,7 +367885,7 @@ ENCODING 29558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5440 27C0 @@ -328305,7 +367903,7 @@ ENCODING 29559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8080 5FE0 2940 @@ -328323,7 +367921,7 @@ ENCODING 29560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEC0 AAA0 FE80 @@ -328341,7 +367939,7 @@ ENCODING 29561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 A200 4FE0 @@ -328359,7 +367957,7 @@ ENCODING 29562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 3F40 29E0 @@ -328377,7 +367975,7 @@ ENCODING 29563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C80 20C0 FEA0 @@ -328395,7 +367993,7 @@ ENCODING 29564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 29C0 6AA0 @@ -328413,7 +368011,7 @@ ENCODING 29565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 2AA0 @@ -328431,7 +368029,7 @@ ENCODING 29566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 2480 @@ -328449,7 +368047,7 @@ ENCODING 29567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5100 37E0 @@ -328467,7 +368065,7 @@ ENCODING 29568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5AA0 2FE0 @@ -328485,7 +368083,7 @@ ENCODING 29569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 2AA0 6FE0 @@ -328503,7 +368101,7 @@ ENCODING 29570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 6480 @@ -328521,7 +368119,7 @@ ENCODING 29571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 5AA0 2EE0 @@ -328539,7 +368137,7 @@ ENCODING 29572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 FFE0 @@ -328557,7 +368155,7 @@ ENCODING 29573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FEC0 @@ -328575,7 +368173,7 @@ ENCODING 29574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1080 FFE0 @@ -328593,7 +368191,7 @@ ENCODING 29575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8840 @@ -328611,7 +368209,7 @@ ENCODING 29576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 13E0 FA00 @@ -328629,7 +368227,7 @@ ENCODING 29577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -328647,7 +368245,7 @@ ENCODING 29578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0400 0500 @@ -328665,7 +368263,7 @@ ENCODING 29579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 0400 @@ -328683,7 +368281,7 @@ ENCODING 29580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7A00 2200 @@ -328701,7 +368299,7 @@ ENCODING 29581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1000 1FC0 @@ -328719,7 +368317,7 @@ ENCODING 29582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F880 2080 @@ -328737,7 +368335,7 @@ ENCODING 29583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7900 2100 @@ -328755,7 +368353,7 @@ ENCODING 29584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7500 2500 @@ -328773,7 +368371,7 @@ ENCODING 29585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F480 2480 @@ -328791,7 +368389,7 @@ ENCODING 29586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 2100 @@ -328809,7 +368407,7 @@ ENCODING 29587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2220 @@ -328827,7 +368425,7 @@ ENCODING 29588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FAA0 22A0 @@ -328845,7 +368443,7 @@ ENCODING 29589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F880 2080 @@ -328863,7 +368461,7 @@ ENCODING 29590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23C0 @@ -328881,7 +368479,7 @@ ENCODING 29591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F880 2080 @@ -328899,7 +368497,7 @@ ENCODING 29592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F040 2040 @@ -328917,7 +368515,7 @@ ENCODING 29593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2200 @@ -328935,7 +368533,7 @@ ENCODING 29594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F080 4100 @@ -328953,7 +368551,7 @@ ENCODING 29595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F840 2240 @@ -328971,7 +368569,7 @@ ENCODING 29596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 4480 @@ -328989,7 +368587,7 @@ ENCODING 29597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -329007,7 +368605,7 @@ ENCODING 29598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -329025,7 +368623,7 @@ ENCODING 29599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -329043,7 +368641,7 @@ ENCODING 29600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2440 @@ -329061,7 +368659,7 @@ ENCODING 29601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F840 2240 @@ -329079,7 +368677,7 @@ ENCODING 29602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2440 @@ -329097,7 +368695,7 @@ ENCODING 29603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 4FE0 @@ -329115,7 +368713,7 @@ ENCODING 29604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -329133,7 +368731,7 @@ ENCODING 29605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FA20 2220 @@ -329151,7 +368749,7 @@ ENCODING 29606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -329169,7 +368767,7 @@ ENCODING 29607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 2480 @@ -329187,7 +368785,7 @@ ENCODING 29608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 2100 @@ -329205,7 +368803,7 @@ ENCODING 29609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F800 2000 @@ -329223,7 +368821,7 @@ ENCODING 29610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 4500 @@ -329241,7 +368839,7 @@ ENCODING 29611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -329259,7 +368857,7 @@ ENCODING 29612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2340 @@ -329277,7 +368875,7 @@ ENCODING 29613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FC80 2480 @@ -329295,7 +368893,7 @@ ENCODING 29614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2100 @@ -329313,7 +368911,7 @@ ENCODING 29615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 2100 @@ -329331,7 +368929,7 @@ ENCODING 29616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 2540 @@ -329349,7 +368947,7 @@ ENCODING 29617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0300 F480 @@ -329367,7 +368965,7 @@ ENCODING 29618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2440 @@ -329385,7 +368983,7 @@ ENCODING 29619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FAC0 24A0 @@ -329403,7 +369001,7 @@ ENCODING 29620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FD40 2540 @@ -329421,7 +369019,7 @@ ENCODING 29621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 27E0 @@ -329439,7 +369037,7 @@ ENCODING 29622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 2520 @@ -329457,7 +369055,7 @@ ENCODING 29623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 21E0 @@ -329475,7 +369073,7 @@ ENCODING 29624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2420 @@ -329493,7 +369091,7 @@ ENCODING 29625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 27E0 @@ -329511,7 +369109,7 @@ ENCODING 29626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4440 @@ -329529,7 +369127,7 @@ ENCODING 29627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7E0 24A0 @@ -329547,7 +369145,7 @@ ENCODING 29628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2280 @@ -329565,7 +369163,7 @@ ENCODING 29629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 2820 @@ -329583,7 +369181,7 @@ ENCODING 29630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FCA0 24A0 @@ -329601,7 +369199,7 @@ ENCODING 29631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F920 2120 @@ -329619,7 +369217,7 @@ ENCODING 29632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F900 23E0 @@ -329637,7 +369235,7 @@ ENCODING 29633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F400 2780 @@ -329655,7 +369253,7 @@ ENCODING 29634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F840 2040 @@ -329673,7 +369271,7 @@ ENCODING 29635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2540 @@ -329691,7 +369289,7 @@ ENCODING 29636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 4500 @@ -329709,7 +369307,7 @@ ENCODING 29637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 27E0 @@ -329727,7 +369325,7 @@ ENCODING 29638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2200 @@ -329745,7 +369343,7 @@ ENCODING 29639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 2440 @@ -329763,7 +369361,7 @@ ENCODING 29640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 E8E0 5EA0 @@ -329781,7 +369379,7 @@ ENCODING 29641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 2420 @@ -329799,7 +369397,7 @@ ENCODING 29642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 2AA0 @@ -329817,7 +369415,7 @@ ENCODING 29643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 F8E0 2AA0 @@ -329835,7 +369433,7 @@ ENCODING 29644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 2040 @@ -329853,7 +369451,7 @@ ENCODING 29645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 2440 @@ -329871,7 +369469,7 @@ ENCODING 29646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 27E0 @@ -329889,7 +369487,7 @@ ENCODING 29647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F900 2100 @@ -329907,7 +369505,7 @@ ENCODING 29648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -329925,7 +369523,7 @@ ENCODING 29649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F440 2400 @@ -329943,7 +369541,7 @@ ENCODING 29650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2140 @@ -329961,7 +369559,7 @@ ENCODING 29651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 27E0 @@ -329979,7 +369577,7 @@ ENCODING 29652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 2200 @@ -329997,7 +369595,7 @@ ENCODING 29653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4240 @@ -330015,7 +369613,7 @@ ENCODING 29654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 F520 2340 @@ -330033,7 +369631,7 @@ ENCODING 29655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FD00 27C0 @@ -330051,7 +369649,7 @@ ENCODING 29656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2440 @@ -330069,7 +369667,7 @@ ENCODING 29657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2280 @@ -330087,7 +369685,7 @@ ENCODING 29658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FD20 2520 @@ -330105,7 +369703,7 @@ ENCODING 29659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2FE0 @@ -330123,7 +369721,7 @@ ENCODING 29660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 2FE0 @@ -330141,7 +369739,7 @@ ENCODING 29661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F120 29A0 @@ -330159,7 +369757,7 @@ ENCODING 29662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBC0 2640 @@ -330177,7 +369775,7 @@ ENCODING 29663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 4FC0 @@ -330195,7 +369793,7 @@ ENCODING 29664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F500 27C0 @@ -330213,7 +369811,7 @@ ENCODING 29665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 7BC0 @@ -330231,7 +369829,7 @@ ENCODING 29666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -330249,7 +369847,7 @@ ENCODING 29667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2820 @@ -330267,7 +369865,7 @@ ENCODING 29668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2500 @@ -330285,7 +369883,7 @@ ENCODING 29669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F240 2240 @@ -330303,7 +369901,7 @@ ENCODING 29670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F200 4FE0 @@ -330321,7 +369919,7 @@ ENCODING 29671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FAA0 2AA0 @@ -330339,7 +369937,7 @@ ENCODING 29672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2440 @@ -330357,7 +369955,7 @@ ENCODING 29673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F5E0 2800 @@ -330375,7 +369973,7 @@ ENCODING 29674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -330393,7 +369991,7 @@ ENCODING 29675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -330411,7 +370009,7 @@ ENCODING 29676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F140 4FE0 @@ -330429,7 +370027,7 @@ ENCODING 29677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 2280 @@ -330447,7 +370045,7 @@ ENCODING 29678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 F840 4FC0 @@ -330465,7 +370063,7 @@ ENCODING 29679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F220 4FA0 @@ -330483,7 +370081,7 @@ ENCODING 29680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F520 2340 @@ -330501,7 +370099,7 @@ ENCODING 29681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 F920 2440 @@ -330519,7 +370117,7 @@ ENCODING 29682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 2100 @@ -330537,7 +370135,7 @@ ENCODING 29683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 F420 5F40 @@ -330555,7 +370153,7 @@ ENCODING 29684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 FEC0 22A0 @@ -330573,7 +370171,7 @@ ENCODING 29685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2240 @@ -330591,7 +370189,7 @@ ENCODING 29686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 27E0 @@ -330609,7 +370207,7 @@ ENCODING 29687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 EEC0 40A0 @@ -330627,7 +370225,7 @@ ENCODING 29688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27C0 @@ -330645,7 +370243,7 @@ ENCODING 29689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F140 4FE0 @@ -330663,7 +370261,7 @@ ENCODING 29690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F940 2FE0 @@ -330681,7 +370279,7 @@ ENCODING 29691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 EFC0 5000 @@ -330699,7 +370297,7 @@ ENCODING 29692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 27E0 @@ -330717,7 +370315,7 @@ ENCODING 29693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E20 FBC0 2240 @@ -330735,7 +370333,7 @@ ENCODING 29694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 27C0 @@ -330753,7 +370351,7 @@ ENCODING 29695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 2420 @@ -330771,7 +370369,7 @@ ENCODING 29696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F300 4480 @@ -330789,7 +370387,7 @@ ENCODING 29697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2400 @@ -330807,7 +370405,7 @@ ENCODING 29698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 4FE0 @@ -330825,7 +370423,7 @@ ENCODING 29699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F920 2FE0 @@ -330843,7 +370441,7 @@ ENCODING 29700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 23C0 @@ -330861,7 +370459,7 @@ ENCODING 29701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 27C0 @@ -330879,7 +370477,7 @@ ENCODING 29702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 2FE0 @@ -330897,7 +370495,7 @@ ENCODING 29703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 2FE0 @@ -330915,7 +370513,7 @@ ENCODING 29704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 F7A0 2520 @@ -330933,7 +370531,7 @@ ENCODING 29705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4200 @@ -330951,7 +370549,7 @@ ENCODING 29706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E2A0 4AA0 @@ -330969,7 +370567,7 @@ ENCODING 29707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F980 2240 @@ -330987,7 +370585,7 @@ ENCODING 29708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 FD20 27E0 @@ -331005,7 +370603,7 @@ ENCODING 29709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FC20 24A0 @@ -331023,7 +370621,7 @@ ENCODING 29710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 E240 57E0 @@ -331041,7 +370639,7 @@ ENCODING 29711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBE0 2680 @@ -331059,7 +370657,7 @@ ENCODING 29712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04A0 FAC0 2080 @@ -331077,7 +370675,7 @@ ENCODING 29713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 2100 @@ -331095,7 +370693,7 @@ ENCODING 29714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 2C40 @@ -331113,7 +370711,7 @@ ENCODING 29715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -331131,7 +370729,7 @@ ENCODING 29716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 4820 @@ -331149,7 +370747,7 @@ ENCODING 29717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EFC0 4A40 @@ -331167,7 +370765,7 @@ ENCODING 29718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FC80 27E0 @@ -331185,7 +370783,7 @@ ENCODING 29719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4480 @@ -331203,7 +370801,7 @@ ENCODING 29720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 4A00 @@ -331221,7 +370819,7 @@ ENCODING 29721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 E140 5FE0 @@ -331239,7 +370837,7 @@ ENCODING 29722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 2420 @@ -331257,7 +370855,7 @@ ENCODING 29723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 2AA0 @@ -331275,7 +370873,7 @@ ENCODING 29724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2FE0 @@ -331293,7 +370891,7 @@ ENCODING 29725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -331311,7 +370909,7 @@ ENCODING 29726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -331329,7 +370927,7 @@ ENCODING 29727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F480 27E0 @@ -331347,7 +370945,7 @@ ENCODING 29728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 2FE0 @@ -331365,7 +370963,7 @@ ENCODING 29729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 F6A0 44A0 @@ -331383,7 +370981,7 @@ ENCODING 29730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F100 2220 @@ -331401,7 +370999,7 @@ ENCODING 29731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2440 @@ -331419,7 +371017,7 @@ ENCODING 29732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3C0 2480 @@ -331437,7 +371035,7 @@ ENCODING 29733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 F100 4FE0 @@ -331455,7 +371053,7 @@ ENCODING 29734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2100 @@ -331473,7 +371071,7 @@ ENCODING 29735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0A00 7BC0 @@ -331491,7 +371089,7 @@ ENCODING 29736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 27E0 @@ -331509,7 +371107,7 @@ ENCODING 29737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 23C0 @@ -331527,7 +371125,7 @@ ENCODING 29738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2440 @@ -331545,7 +371143,7 @@ ENCODING 29739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -331563,7 +371161,7 @@ ENCODING 29740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -331581,7 +371179,7 @@ ENCODING 29741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F840 27C0 @@ -331599,7 +371197,7 @@ ENCODING 29742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 2420 @@ -331617,7 +371215,7 @@ ENCODING 29743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -331635,7 +371233,7 @@ ENCODING 29744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD40 2580 @@ -331653,7 +371251,7 @@ ENCODING 29745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 2BA0 @@ -331671,7 +371269,7 @@ ENCODING 29746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2EE0 @@ -331689,7 +371287,7 @@ ENCODING 29747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F480 2FE0 @@ -331707,7 +371305,7 @@ ENCODING 29748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 71C0 @@ -331725,7 +371323,7 @@ ENCODING 29749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 71C0 @@ -331743,7 +371341,7 @@ ENCODING 29750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 71C0 @@ -331761,7 +371359,7 @@ ENCODING 29751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 4200 @@ -331779,7 +371377,7 @@ ENCODING 29752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F200 4FC0 @@ -331797,7 +371395,7 @@ ENCODING 29753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 1100 7BC0 @@ -331815,7 +371413,7 @@ ENCODING 29754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F480 23E0 @@ -331833,7 +371431,7 @@ ENCODING 29755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E300 4480 @@ -331851,7 +371449,7 @@ ENCODING 29756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2000 @@ -331869,7 +371467,7 @@ ENCODING 29757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFA0 4240 @@ -331887,7 +371485,7 @@ ENCODING 29758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 EA40 4FC0 @@ -331905,7 +371503,7 @@ ENCODING 29759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 2FE0 @@ -331923,7 +371521,7 @@ ENCODING 29760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF00 2100 @@ -331941,7 +371539,7 @@ ENCODING 29761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 25A0 @@ -331959,7 +371557,7 @@ ENCODING 29762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FD20 27E0 @@ -331977,7 +371575,7 @@ ENCODING 29763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFC0 4200 @@ -331995,7 +371593,7 @@ ENCODING 29764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 2FE0 @@ -332013,7 +371611,7 @@ ENCODING 29765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F480 4780 @@ -332031,7 +371629,7 @@ ENCODING 29766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC20 27E0 @@ -332049,7 +371647,7 @@ ENCODING 29767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4100 @@ -332067,7 +371665,7 @@ ENCODING 29768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 F280 4100 @@ -332085,7 +371683,7 @@ ENCODING 29769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E840 4FC0 @@ -332103,7 +371701,7 @@ ENCODING 29770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F0A0 2FE0 @@ -332121,7 +371719,7 @@ ENCODING 29771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2140 @@ -332139,7 +371737,7 @@ ENCODING 29772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E200 4FE0 @@ -332157,7 +371755,7 @@ ENCODING 29773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F780 2900 @@ -332175,7 +371773,7 @@ ENCODING 29774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F4A0 27C0 @@ -332193,7 +371791,7 @@ ENCODING 29775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2AA0 @@ -332211,7 +371809,7 @@ ENCODING 29776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 2FE0 @@ -332229,7 +371827,7 @@ ENCODING 29777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2780 @@ -332247,7 +371845,7 @@ ENCODING 29778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 27C0 @@ -332265,7 +371863,7 @@ ENCODING 29779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFC0 4200 @@ -332283,7 +371881,7 @@ ENCODING 29780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 2440 @@ -332301,7 +371899,7 @@ ENCODING 29781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FA20 2A20 @@ -332319,7 +371917,7 @@ ENCODING 29782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EDC0 4940 @@ -332337,7 +371935,7 @@ ENCODING 29783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FA20 2540 @@ -332355,7 +371953,7 @@ ENCODING 29784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 EAE0 4AA0 @@ -332373,7 +371971,7 @@ ENCODING 29785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 F540 2540 @@ -332391,7 +371989,7 @@ ENCODING 29786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 F4A0 2FA0 @@ -332409,7 +372007,7 @@ ENCODING 29787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -332427,7 +372025,7 @@ ENCODING 29788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 0480 EB60 @@ -332445,7 +372043,7 @@ ENCODING 29789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 4640 @@ -332463,7 +372061,7 @@ ENCODING 29790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F920 2FE0 @@ -332481,7 +372079,7 @@ ENCODING 29791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 71C0 @@ -332499,7 +372097,7 @@ ENCODING 29792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0300 F4E0 44A0 @@ -332517,7 +372115,7 @@ ENCODING 29793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 5480 @@ -332535,7 +372133,7 @@ ENCODING 29794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2AA0 @@ -332553,7 +372151,7 @@ ENCODING 29795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 27E0 @@ -332571,7 +372169,7 @@ ENCODING 29796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBE0 2440 @@ -332589,7 +372187,7 @@ ENCODING 29797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 F880 4F80 @@ -332607,7 +372205,7 @@ ENCODING 29798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EF80 4880 @@ -332625,7 +372223,7 @@ ENCODING 29799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -332643,7 +372241,7 @@ ENCODING 29800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 46C0 @@ -332661,7 +372259,7 @@ ENCODING 29801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 5AC0 3180 @@ -332679,7 +372277,7 @@ ENCODING 29802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FD00 27C0 @@ -332697,7 +372295,7 @@ ENCODING 29803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 EE20 4920 @@ -332715,7 +372313,7 @@ ENCODING 29804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 1FC0 C880 @@ -332733,7 +372331,7 @@ ENCODING 29805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2940 @@ -332751,7 +372349,7 @@ ENCODING 29806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 2FE0 @@ -332769,7 +372367,7 @@ ENCODING 29807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 FEA0 2AA0 @@ -332787,7 +372385,7 @@ ENCODING 29808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 2540 @@ -332805,7 +372403,7 @@ ENCODING 29809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2100 @@ -332823,7 +372421,7 @@ ENCODING 29810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2540 @@ -332841,7 +372439,7 @@ ENCODING 29811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 27E0 @@ -332859,7 +372457,7 @@ ENCODING 29812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FD40 2140 @@ -332877,7 +372475,7 @@ ENCODING 29813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F540 2AC0 @@ -332895,7 +372493,7 @@ ENCODING 29814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF20 2A20 @@ -332913,7 +372511,7 @@ ENCODING 29815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F720 2540 @@ -332931,7 +372529,7 @@ ENCODING 29816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4820 @@ -332949,7 +372547,7 @@ ENCODING 29817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 2280 @@ -332967,7 +372565,7 @@ ENCODING 29818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 EA80 5FE0 @@ -332985,7 +372583,7 @@ ENCODING 29819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F540 4FE0 @@ -333003,7 +372601,7 @@ ENCODING 29820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2540 @@ -333021,7 +372619,7 @@ ENCODING 29821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0340 F540 2940 @@ -333039,7 +372637,7 @@ ENCODING 29822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -333057,7 +372655,7 @@ ENCODING 29823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 A460 FBC0 @@ -333075,7 +372673,7 @@ ENCODING 29824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 FD20 27E0 @@ -333093,7 +372691,7 @@ ENCODING 29825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7E0 2520 @@ -333111,7 +372709,7 @@ ENCODING 29826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFC0 4480 @@ -333129,7 +372727,7 @@ ENCODING 29827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2280 @@ -333147,7 +372745,7 @@ ENCODING 29828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4480 @@ -333165,7 +372763,7 @@ ENCODING 29829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FA80 2540 @@ -333183,7 +372781,7 @@ ENCODING 29830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 2660 @@ -333201,7 +372799,7 @@ ENCODING 29831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 E900 5DE0 @@ -333219,7 +372817,7 @@ ENCODING 29832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 24E0 @@ -333237,7 +372835,7 @@ ENCODING 29833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 2AA0 @@ -333255,7 +372853,7 @@ ENCODING 29834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 2480 @@ -333273,7 +372871,7 @@ ENCODING 29835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2280 @@ -333291,7 +372889,7 @@ ENCODING 29836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4BA0 @@ -333309,7 +372907,7 @@ ENCODING 29837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -333327,7 +372925,7 @@ ENCODING 29838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 2AA0 @@ -333345,7 +372943,7 @@ ENCODING 29839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F380 4280 @@ -333363,7 +372961,7 @@ ENCODING 29840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E80 FAE0 4BA0 @@ -333381,7 +372979,7 @@ ENCODING 29841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 4D40 @@ -333399,7 +372997,7 @@ ENCODING 29842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 FBA0 26C0 @@ -333417,7 +373015,7 @@ ENCODING 29843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 4280 @@ -333435,7 +373033,7 @@ ENCODING 29844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2AA0 @@ -333453,7 +373051,7 @@ ENCODING 29845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F040 27C0 @@ -333471,7 +373069,7 @@ ENCODING 29846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 F680 2BE0 @@ -333489,7 +373087,7 @@ ENCODING 29847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 A840 5FC0 @@ -333507,7 +373105,7 @@ ENCODING 29848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 2FE0 @@ -333525,7 +373123,7 @@ ENCODING 29849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2AA0 @@ -333543,7 +373141,7 @@ ENCODING 29850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F280 2FE0 @@ -333561,7 +373159,7 @@ ENCODING 29851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4240 @@ -333579,7 +373177,7 @@ ENCODING 29852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7C0 2280 @@ -333597,7 +373195,7 @@ ENCODING 29853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 4540 @@ -333615,7 +373213,7 @@ ENCODING 29854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 F6C0 2FE0 @@ -333633,7 +373231,7 @@ ENCODING 29855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -333651,7 +373249,7 @@ ENCODING 29856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 FF20 2540 @@ -333669,7 +373267,7 @@ ENCODING 29857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 27E0 @@ -333687,7 +373285,7 @@ ENCODING 29858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E280 4EE0 @@ -333705,7 +373303,7 @@ ENCODING 29859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 F2A0 5FC0 @@ -333723,7 +373321,7 @@ ENCODING 29860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 4A40 @@ -333741,7 +373339,7 @@ ENCODING 29861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 FF80 52E0 @@ -333759,7 +373357,7 @@ ENCODING 29862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F720 2540 @@ -333777,7 +373375,7 @@ ENCODING 29863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7D40 @@ -333795,7 +373393,7 @@ ENCODING 29864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 2AA0 @@ -333813,7 +373411,7 @@ ENCODING 29865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F200 2FE0 @@ -333831,7 +373429,7 @@ ENCODING 29866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -333849,7 +373447,7 @@ ENCODING 29867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F540 2FE0 @@ -333867,7 +373465,7 @@ ENCODING 29868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EE80 4A80 @@ -333885,7 +373483,7 @@ ENCODING 29869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 0920 EFE0 @@ -333903,7 +373501,7 @@ ENCODING 29870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4AA0 @@ -333921,7 +373519,7 @@ ENCODING 29871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 F440 2BA0 @@ -333939,7 +373537,7 @@ ENCODING 29872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2FE0 @@ -333957,7 +373555,7 @@ ENCODING 29873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 F440 2EE0 @@ -333975,7 +373573,7 @@ ENCODING 29874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 F140 2FE0 @@ -333992,8 +373590,8 @@ STARTCHAR U_74B3 ENCODING 29875 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0A00 EFC0 5700 @@ -334011,7 +373609,7 @@ ENCODING 29876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 4EC0 @@ -334029,7 +373627,7 @@ ENCODING 29877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E60 FBA0 2A20 @@ -334047,7 +373645,7 @@ ENCODING 29878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F140 2FE0 @@ -334065,7 +373663,7 @@ ENCODING 29879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FF80 2AE0 @@ -334083,7 +373681,7 @@ ENCODING 29880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2420 @@ -334101,7 +373699,7 @@ ENCODING 29881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 4200 @@ -334119,7 +373717,7 @@ ENCODING 29882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 5140 7FC0 @@ -334137,7 +373735,7 @@ ENCODING 29883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F5A0 2360 @@ -334155,7 +373753,7 @@ ENCODING 29884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E80 F480 5EE0 @@ -334173,7 +373771,7 @@ ENCODING 29885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4440 FFE0 @@ -334191,7 +373789,7 @@ ENCODING 29886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4AA0 @@ -334209,7 +373807,7 @@ ENCODING 29887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 F100 2FE0 @@ -334227,7 +373825,7 @@ ENCODING 29888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 2FE0 @@ -334245,7 +373843,7 @@ ENCODING 29889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2540 @@ -334263,7 +373861,7 @@ ENCODING 29890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2540 @@ -334281,7 +373879,7 @@ ENCODING 29891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F540 27C0 @@ -334299,7 +373897,7 @@ ENCODING 29892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4100 @@ -334317,7 +373915,7 @@ ENCODING 29893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 FBC0 36A0 @@ -334335,7 +373933,7 @@ ENCODING 29894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 06C0 F900 5FE0 @@ -334353,7 +373951,7 @@ ENCODING 29895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F440 47C0 @@ -334371,7 +373969,7 @@ ENCODING 29896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E80 E5E0 5EA0 @@ -334389,7 +373987,7 @@ ENCODING 29897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EEE0 4440 @@ -334407,7 +374005,7 @@ ENCODING 29898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 FFE0 2AA0 @@ -334425,7 +374023,7 @@ ENCODING 29899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4280 @@ -334443,7 +374041,7 @@ ENCODING 29900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 4000 @@ -334461,7 +374059,7 @@ ENCODING 29901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 5500 @@ -334479,7 +374077,7 @@ ENCODING 29902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FEE0 4540 @@ -334497,7 +374095,7 @@ ENCODING 29903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04E0 FE80 2AE0 @@ -334515,7 +374113,7 @@ ENCODING 29904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 E200 5FE0 @@ -334533,7 +374131,7 @@ ENCODING 29905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 56C0 5240 @@ -334551,7 +374149,7 @@ ENCODING 29906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 1FE0 E440 @@ -334569,7 +374167,7 @@ ENCODING 29907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 F2A0 5EE0 @@ -334587,7 +374185,7 @@ ENCODING 29908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 2EE0 @@ -334605,7 +374203,7 @@ ENCODING 29909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2540 EFE0 @@ -334623,7 +374221,7 @@ ENCODING 29910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2AA0 @@ -334641,7 +374239,7 @@ ENCODING 29911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 FFE0 2500 @@ -334659,7 +374257,7 @@ ENCODING 29912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -334677,7 +374275,7 @@ ENCODING 29913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 27E0 @@ -334695,7 +374293,7 @@ ENCODING 29914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 F540 2FE0 @@ -334713,7 +374311,7 @@ ENCODING 29915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0740 E460 5F40 @@ -334731,7 +374329,7 @@ ENCODING 29916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 3F00 2500 @@ -334749,7 +374347,7 @@ ENCODING 29917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 F9E0 AA20 @@ -334767,7 +374365,7 @@ ENCODING 29918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 FA80 ABE0 @@ -334785,7 +374383,7 @@ ENCODING 29919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 EBE0 AC20 @@ -334803,7 +374401,7 @@ ENCODING 29920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FFC0 5540 @@ -334821,7 +374419,7 @@ ENCODING 29921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FFC0 2540 @@ -334839,7 +374437,7 @@ ENCODING 29922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE60 2BA0 FEA0 @@ -334857,7 +374455,7 @@ ENCODING 29923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FDE0 B5A0 @@ -334875,7 +374473,7 @@ ENCODING 29924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FFA0 AAA0 @@ -334893,7 +374491,7 @@ ENCODING 29925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 E920 AB40 @@ -334911,7 +374509,7 @@ ENCODING 29926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1000 1000 @@ -334929,7 +374527,7 @@ ENCODING 29927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4100 7900 @@ -334947,7 +374545,7 @@ ENCODING 29928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F200 2200 @@ -334965,7 +374563,7 @@ ENCODING 29929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC60 4380 4080 @@ -334983,7 +374581,7 @@ ENCODING 29930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FF80 4200 @@ -335001,7 +374599,7 @@ ENCODING 29931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2180 DF60 @@ -335019,7 +374617,7 @@ ENCODING 29932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2400 FC00 @@ -335037,7 +374635,7 @@ ENCODING 29933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FA00 @@ -335055,7 +374653,7 @@ ENCODING 29934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2480 C960 @@ -335073,7 +374671,7 @@ ENCODING 29935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8100 A900 @@ -335091,7 +374689,7 @@ ENCODING 29936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 4280 @@ -335109,7 +374707,7 @@ ENCODING 29937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 4600 7200 @@ -335127,7 +374725,7 @@ ENCODING 29938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 4F80 @@ -335145,7 +374743,7 @@ ENCODING 29939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2200 @@ -335163,7 +374761,7 @@ ENCODING 29940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5200 8A00 @@ -335181,7 +374779,7 @@ ENCODING 29941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47E0 8A00 @@ -335199,7 +374797,7 @@ ENCODING 29942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BE0 5100 FD00 @@ -335217,7 +374815,7 @@ ENCODING 29943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 47E0 2940 @@ -335235,7 +374833,7 @@ ENCODING 29944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4100 7BC0 @@ -335253,7 +374851,7 @@ ENCODING 29945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9200 F380 @@ -335271,7 +374869,7 @@ ENCODING 29946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4200 7B80 @@ -335289,7 +374887,7 @@ ENCODING 29947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP DBE0 2100 D900 @@ -335307,7 +374905,7 @@ ENCODING 29948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 4540 77C0 @@ -335325,7 +374923,7 @@ ENCODING 29949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 FFE0 90A0 @@ -335343,7 +374941,7 @@ ENCODING 29950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 F100 2100 @@ -335361,7 +374959,7 @@ ENCODING 29951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 8900 @@ -335379,7 +374977,7 @@ ENCODING 29952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 1100 FF00 @@ -335397,7 +374995,7 @@ ENCODING 29953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 57E0 F900 @@ -335415,7 +375013,7 @@ ENCODING 29954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 1100 FD00 @@ -335433,7 +375031,7 @@ ENCODING 29955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD20 2540 F980 @@ -335451,7 +375049,7 @@ ENCODING 29956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2880 FE80 @@ -335469,7 +375067,7 @@ ENCODING 29957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 4400 77C0 @@ -335487,7 +375085,7 @@ ENCODING 29958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5280 @@ -335505,7 +375103,7 @@ ENCODING 29959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 B2C0 A480 @@ -335523,7 +375121,7 @@ ENCODING 29960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7900 4900 @@ -335541,7 +375139,7 @@ ENCODING 29961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 FFE0 5100 @@ -335559,7 +375157,7 @@ ENCODING 29962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FE0 5500 @@ -335577,7 +375175,7 @@ ENCODING 29963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FD00 4500 @@ -335595,7 +375193,7 @@ ENCODING 29964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8100 BD00 @@ -335613,7 +375211,7 @@ ENCODING 29965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -335631,7 +375229,7 @@ ENCODING 29966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 5500 @@ -335649,7 +375247,7 @@ ENCODING 29967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEC0 1100 7C60 @@ -335667,7 +375265,7 @@ ENCODING 29968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93E0 5480 FE80 @@ -335685,7 +375283,7 @@ ENCODING 29969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2900 FD00 @@ -335703,7 +375301,7 @@ ENCODING 29970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7E80 D480 @@ -335721,7 +375319,7 @@ ENCODING 29971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -335739,7 +375337,7 @@ ENCODING 29972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3DE0 4480 FE80 @@ -335757,7 +375355,7 @@ ENCODING 29973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5480 2FE0 @@ -335775,7 +375373,7 @@ ENCODING 29974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -335793,7 +375391,7 @@ ENCODING 29975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 2100 FD00 @@ -335810,26 +375408,26 @@ STARTCHAR U_7518 ENCODING 29976 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -1080 -7FE0 -1080 -1080 -1080 -1F80 -1080 -1080 -1F80 -1080 +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 +BITMAP 0140 0120 FFE0 @@ -335847,7 +375445,7 @@ ENCODING 29978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -335865,7 +375463,7 @@ ENCODING 29979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48C0 4F00 4900 @@ -335883,7 +375481,7 @@ ENCODING 29980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A40 E240 2240 @@ -335901,7 +375499,7 @@ ENCODING 29981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3A40 2240 FFE0 @@ -335919,7 +375517,7 @@ ENCODING 29982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FE0 @@ -335937,7 +375535,7 @@ ENCODING 29983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 2200 2200 @@ -335955,7 +375553,7 @@ ENCODING 29984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E100 A900 @@ -335973,7 +375571,7 @@ ENCODING 29985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5280 5280 @@ -335991,7 +375589,7 @@ ENCODING 29986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -336009,7 +375607,7 @@ ENCODING 29987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 1080 @@ -336027,7 +375625,7 @@ ENCODING 29988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7A80 2280 @@ -336045,7 +375643,7 @@ ENCODING 29989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 54A0 7FE0 @@ -336063,7 +375661,7 @@ ENCODING 29990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2280 FA80 @@ -336081,7 +375679,7 @@ ENCODING 29991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7BC0 9500 @@ -336098,8 +375696,8 @@ STARTCHAR U_7528 ENCODING 29992 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 4440 4440 @@ -336117,7 +375715,7 @@ ENCODING 29993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2440 2440 @@ -336135,7 +375733,7 @@ ENCODING 29994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C00 0800 3FE0 @@ -336153,7 +375751,7 @@ ENCODING 29995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 0480 FFE0 @@ -336170,62 +375768,62 @@ STARTCHAR U_752C ENCODING 29996 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -0880 -0500 -3FC0 -2440 -3FC0 -2440 -3FC0 -2440 -2540 -2080 +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 11 11 0 -1 -BITMAP -7FE0 -0400 -1AC0 -6220 -3FC0 -2240 -3FC0 -2240 -3FC0 -2240 -42C0 +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 11 11 0 -1 -BITMAP -1000 -3FC0 -4A40 -1480 -3FC0 -2440 -3FC0 -2440 -3FC0 -2440 -24C0 +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 +BITMAP 0400 FFE0 94A0 @@ -336242,152 +375840,151 @@ STARTCHAR U_7530 ENCODING 30000 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -7FC0 -4440 -4440 -4440 -7FC0 -4440 -4440 -4440 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -4440 -7FC0 -4440 -4440 -4440 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -7FC0 -4440 -4440 -7FC0 -4440 -4440 -7FC0 -4440 -0400 -0400 -0400 +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 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -7FC0 -4440 -4440 -7FC0 -4440 -0400 -0400 +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 11 11 0 -1 -BITMAP -0400 -0400 -0400 -7FC0 -4440 -4440 -7FC0 -4040 -4040 -7FC0 -4040 +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 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -7FC0 -4440 -4440 -7FC0 -0420 -0420 -03E0 +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 11 11 0 -1 -BITMAP -0800 -1000 -7F80 -4880 -4880 -4880 -7F80 -4880 -4880 -7F80 -4080 +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 11 11 0 -1 -BITMAP -3FC0 -2440 -3FC0 -2440 -3FC0 -0400 -7FE0 -0420 -0820 -1120 -60C0 +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 +BITMAP 1000 1FE0 2020 @@ -336404,26 +376001,26 @@ STARTCHAR U_7539 ENCODING 30009 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -3FC0 -2240 -3FC0 -2240 -7FE0 -1000 -3FC0 -0040 -0440 -0380 +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 +BITMAP 07E0 F880 A880 @@ -336441,7 +376038,7 @@ ENCODING 30011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0000 3F80 @@ -336459,7 +376056,7 @@ ENCODING 30012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -336477,7 +376074,7 @@ ENCODING 30013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FAA0 AAA0 @@ -336494,26 +376091,26 @@ STARTCHAR U_753E ENCODING 30014 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0920 -1240 +BBX 9 11 2 -1 +BITMAP 2480 -1240 -0920 -3FE0 -2220 -3FE0 -2220 -3FE0 -2020 +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 +BITMAP 0100 F880 AFE0 @@ -336530,26 +376127,26 @@ STARTCHAR U_7540 ENCODING 30016 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2440 -3FC0 -2440 -3FC0 +BBX 10 11 1 -1 +BITMAP +7F80 +4880 +7F80 +4880 +7F80 0000 -7FE0 -1100 -1100 -2100 -4100 +FFC0 +2200 +2200 +4200 +8200 ENDCHAR STARTCHAR U_7541 ENCODING 30017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4440 @@ -336567,7 +376164,7 @@ ENCODING 30018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 A9C0 @@ -336585,7 +376182,7 @@ ENCODING 30019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -336603,7 +376200,7 @@ ENCODING 30020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 8C60 6480 @@ -336621,7 +376218,7 @@ ENCODING 30021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F880 A900 @@ -336639,7 +376236,7 @@ ENCODING 30022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 1080 FE80 @@ -336657,7 +376254,7 @@ ENCODING 30023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 AA20 @@ -336675,7 +376272,7 @@ ENCODING 30024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FB80 AA00 @@ -336693,7 +376290,7 @@ ENCODING 30025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 AFC0 @@ -336711,7 +376308,7 @@ ENCODING 30026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 AFE0 @@ -336729,7 +376326,7 @@ ENCODING 30027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 A9E0 @@ -336747,7 +376344,7 @@ ENCODING 30028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -336765,7 +376362,7 @@ ENCODING 30029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 AA80 @@ -336783,7 +376380,7 @@ ENCODING 30030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F920 A900 @@ -336801,7 +376398,7 @@ ENCODING 30031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -336818,26 +376415,26 @@ STARTCHAR U_7550 ENCODING 30032 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 +BBX 9 11 1 -1 +BITMAP +FF80 0000 -3F80 -2080 -3F80 +7F00 +4100 +7F00 0000 -7FC0 -4440 -7FC0 -4440 -7FC0 +FF80 +8880 +FF80 +8880 +FF80 ENDCHAR STARTCHAR U_7551 ENCODING 30033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 24A0 @@ -336855,7 +376452,7 @@ ENCODING 30034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FD00 @@ -336873,7 +376470,7 @@ ENCODING 30035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7500 1600 @@ -336891,7 +376488,7 @@ ENCODING 30036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FCA0 AAC0 @@ -336908,26 +376505,26 @@ STARTCHAR U_7555 ENCODING 30037 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2480 -3F80 -2480 -3F80 +BBX 9 11 1 -1 +BITMAP +7F00 +4900 +7F00 +4900 +7F00 0000 -7FC0 -4440 -7FC0 -4440 -7FC0 +FF80 +8880 +FF80 +8880 +FF80 ENDCHAR STARTCHAR U_7556 ENCODING 30038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 AE80 AA80 @@ -336945,7 +376542,7 @@ ENCODING 30039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 0000 @@ -336963,7 +376560,7 @@ ENCODING 30040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 AFC0 @@ -336980,26 +376577,26 @@ STARTCHAR U_7559 ENCODING 30041 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1800 -63E0 -4920 -5920 -6AA0 -4440 -3FC0 -2440 -3FC0 -2440 -3FC0 +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 +BITMAP 0800 1100 3F80 @@ -337017,7 +376614,7 @@ ENCODING 30043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F980 AA40 @@ -337035,7 +376632,7 @@ ENCODING 30044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0880 @@ -337053,7 +376650,7 @@ ENCODING 30045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FFC0 @@ -337071,7 +376668,7 @@ ENCODING 30046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0500 @@ -337088,44 +376685,44 @@ STARTCHAR U_755F ENCODING 30047 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -2440 -3FC0 -2440 -3FC0 -1080 -6860 -1F80 -2900 -0600 -79E0 +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 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2080 -3F80 -7FC0 -4440 -7FC0 -4440 -7FC0 +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 +BITMAP 0100 FFE0 A900 @@ -337143,7 +376740,7 @@ ENCODING 30050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -337161,7 +376758,7 @@ ENCODING 30051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 2E80 @@ -337179,7 +376776,7 @@ ENCODING 30052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FBE0 A880 @@ -337197,7 +376794,7 @@ ENCODING 30053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBC0 AE40 @@ -337215,7 +376812,7 @@ ENCODING 30054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 AFC0 @@ -337232,26 +376829,26 @@ STARTCHAR U_7567 ENCODING 30055 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4440 -7FC0 -4440 -7FC0 -1F80 -6900 -0600 -7FE0 -1080 -1F80 +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 +BITMAP 4480 2500 1600 @@ -337269,7 +376866,7 @@ ENCODING 30057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 AFE0 @@ -337287,7 +376884,7 @@ ENCODING 30058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2480 1500 @@ -337305,7 +376902,7 @@ ENCODING 30059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0480 FFE0 @@ -337323,7 +376920,7 @@ ENCODING 30060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 EEE0 @@ -337341,7 +376938,7 @@ ENCODING 30061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 AC40 @@ -337359,7 +376956,7 @@ ENCODING 30062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBE0 AC00 @@ -337377,7 +376974,7 @@ ENCODING 30063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA40 AFE0 @@ -337395,7 +376992,7 @@ ENCODING 30064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -337413,7 +377010,7 @@ ENCODING 30065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7BC0 @@ -337431,7 +377028,7 @@ ENCODING 30066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 EEE0 @@ -337449,7 +377046,7 @@ ENCODING 30067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -337467,7 +377064,7 @@ ENCODING 30068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 A900 @@ -337485,7 +377082,7 @@ ENCODING 30069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0480 FFE0 @@ -337503,7 +377100,7 @@ ENCODING 30070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -337521,7 +377118,7 @@ ENCODING 30071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FAA0 AA40 @@ -337539,7 +377136,7 @@ ENCODING 30072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 AA80 @@ -337557,7 +377154,7 @@ ENCODING 30073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 AE20 @@ -337575,7 +377172,7 @@ ENCODING 30074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2480 3F80 @@ -337593,7 +377190,7 @@ ENCODING 30075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 FB40 AFE0 @@ -337611,7 +377208,7 @@ ENCODING 30076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 ABC0 @@ -337629,7 +377226,7 @@ ENCODING 30077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 F880 AFE0 @@ -337647,7 +377244,7 @@ ENCODING 30078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -337665,7 +377262,7 @@ ENCODING 30079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA80 EB80 5940 @@ -337683,7 +377280,7 @@ ENCODING 30080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5480 ABE0 @@ -337701,7 +377298,7 @@ ENCODING 30081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FDA0 AB60 @@ -337719,7 +377316,7 @@ ENCODING 30082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -337737,7 +377334,7 @@ ENCODING 30083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 A940 @@ -337755,7 +377352,7 @@ ENCODING 30084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 FB40 AFE0 @@ -337773,7 +377370,7 @@ ENCODING 30085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 02A0 FBE0 @@ -337791,7 +377388,7 @@ ENCODING 30086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1540 F7C0 @@ -337809,7 +377406,7 @@ ENCODING 30087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 A900 @@ -337827,7 +377424,7 @@ ENCODING 30088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0200 72E0 @@ -337845,7 +377442,7 @@ ENCODING 30089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -337863,7 +377460,7 @@ ENCODING 30090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 7FC0 @@ -337881,7 +377478,7 @@ ENCODING 30091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0220 0240 @@ -337899,7 +377496,7 @@ ENCODING 30092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -337917,7 +377514,7 @@ ENCODING 30093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0440 2780 @@ -337935,7 +377532,7 @@ ENCODING 30094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 1100 @@ -337953,7 +377550,7 @@ ENCODING 30095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 1100 @@ -337971,7 +377568,7 @@ ENCODING 30096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -337989,7 +377586,7 @@ ENCODING 30097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 6140 4880 @@ -338007,7 +377604,7 @@ ENCODING 30098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 9000 @@ -338025,7 +377622,7 @@ ENCODING 30099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338043,7 +377640,7 @@ ENCODING 30100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 9000 @@ -338061,7 +377658,7 @@ ENCODING 30101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 9000 @@ -338079,7 +377676,7 @@ ENCODING 30102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338097,7 +377694,7 @@ ENCODING 30103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338115,7 +377712,7 @@ ENCODING 30104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 9000 @@ -338133,7 +377730,7 @@ ENCODING 30105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338151,7 +377748,7 @@ ENCODING 30106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338169,7 +377766,7 @@ ENCODING 30107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338187,7 +377784,7 @@ ENCODING 30108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -338205,7 +377802,7 @@ ENCODING 30109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338223,7 +377820,7 @@ ENCODING 30110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338241,7 +377838,7 @@ ENCODING 30111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338259,7 +377856,7 @@ ENCODING 30112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 1FE0 9000 @@ -338277,7 +377874,7 @@ ENCODING 30113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338295,7 +377892,7 @@ ENCODING 30114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338313,7 +377910,7 @@ ENCODING 30115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A280 @@ -338331,7 +377928,7 @@ ENCODING 30116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338349,7 +377946,7 @@ ENCODING 30117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -338367,7 +377964,7 @@ ENCODING 30118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 A200 @@ -338385,7 +377982,7 @@ ENCODING 30119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A0C0 @@ -338403,7 +378000,7 @@ ENCODING 30120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338421,7 +378018,7 @@ ENCODING 30121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 A200 @@ -338439,7 +378036,7 @@ ENCODING 30122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338457,7 +378054,7 @@ ENCODING 30123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338475,7 +378072,7 @@ ENCODING 30124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338493,7 +378090,7 @@ ENCODING 30125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -338511,7 +378108,7 @@ ENCODING 30126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -338529,7 +378126,7 @@ ENCODING 30127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338547,7 +378144,7 @@ ENCODING 30128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -338565,7 +378162,7 @@ ENCODING 30129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338583,7 +378180,7 @@ ENCODING 30130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -338601,7 +378198,7 @@ ENCODING 30131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -338619,7 +378216,7 @@ ENCODING 30132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338637,7 +378234,7 @@ ENCODING 30133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338655,7 +378252,7 @@ ENCODING 30134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AA80 @@ -338673,7 +378270,7 @@ ENCODING 30135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338691,7 +378288,7 @@ ENCODING 30136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338709,7 +378306,7 @@ ENCODING 30137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 BFE0 6300 @@ -338727,7 +378324,7 @@ ENCODING 30138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338745,7 +378342,7 @@ ENCODING 30139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338763,7 +378360,7 @@ ENCODING 30140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338781,7 +378378,7 @@ ENCODING 30141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338799,7 +378396,7 @@ ENCODING 30142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338817,7 +378414,7 @@ ENCODING 30143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -338835,7 +378432,7 @@ ENCODING 30144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338853,7 +378450,7 @@ ENCODING 30145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338871,7 +378468,7 @@ ENCODING 30146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -338889,7 +378486,7 @@ ENCODING 30147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -338907,7 +378504,7 @@ ENCODING 30148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -338925,7 +378522,7 @@ ENCODING 30149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338943,7 +378540,7 @@ ENCODING 30150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338961,7 +378558,7 @@ ENCODING 30151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338979,7 +378576,7 @@ ENCODING 30152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -338997,7 +378594,7 @@ ENCODING 30153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339015,7 +378612,7 @@ ENCODING 30154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A300 @@ -339033,7 +378630,7 @@ ENCODING 30155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -339051,7 +378648,7 @@ ENCODING 30156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339069,7 +378666,7 @@ ENCODING 30157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -339087,7 +378684,7 @@ ENCODING 30158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339105,7 +378702,7 @@ ENCODING 30159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339123,7 +378720,7 @@ ENCODING 30160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339141,7 +378738,7 @@ ENCODING 30161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339159,7 +378756,7 @@ ENCODING 30162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -339177,7 +378774,7 @@ ENCODING 30163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -339195,7 +378792,7 @@ ENCODING 30164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339213,7 +378810,7 @@ ENCODING 30165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339231,7 +378828,7 @@ ENCODING 30166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339249,7 +378846,7 @@ ENCODING 30167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -339267,7 +378864,7 @@ ENCODING 30168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339285,7 +378882,7 @@ ENCODING 30169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339303,7 +378900,7 @@ ENCODING 30170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AF40 @@ -339321,7 +378918,7 @@ ENCODING 30171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339339,7 +378936,7 @@ ENCODING 30172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -339357,7 +378954,7 @@ ENCODING 30173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A900 @@ -339375,7 +378972,7 @@ ENCODING 30174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339393,7 +378990,7 @@ ENCODING 30175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A920 @@ -339411,7 +379008,7 @@ ENCODING 30176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -339429,7 +379026,7 @@ ENCODING 30177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -339447,7 +379044,7 @@ ENCODING 30178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -339465,7 +379062,7 @@ ENCODING 30179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -339483,7 +379080,7 @@ ENCODING 30180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339501,7 +379098,7 @@ ENCODING 30181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -339519,7 +379116,7 @@ ENCODING 30182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339537,7 +379134,7 @@ ENCODING 30183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -339555,7 +379152,7 @@ ENCODING 30184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A280 @@ -339573,7 +379170,7 @@ ENCODING 30185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FE0 2200 @@ -339591,7 +379188,7 @@ ENCODING 30186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -339609,7 +379206,7 @@ ENCODING 30187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 BFE0 6800 @@ -339627,7 +379224,7 @@ ENCODING 30188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -339645,7 +379242,7 @@ ENCODING 30189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339663,7 +379260,7 @@ ENCODING 30190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339681,7 +379278,7 @@ ENCODING 30191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -339699,7 +379296,7 @@ ENCODING 30192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A520 @@ -339717,7 +379314,7 @@ ENCODING 30193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -339735,7 +379332,7 @@ ENCODING 30194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -339753,7 +379350,7 @@ ENCODING 30195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -339771,7 +379368,7 @@ ENCODING 30196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -339789,7 +379386,7 @@ ENCODING 30197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A380 @@ -339807,7 +379404,7 @@ ENCODING 30198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A280 @@ -339825,7 +379422,7 @@ ENCODING 30199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339843,7 +379440,7 @@ ENCODING 30200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 B400 @@ -339861,7 +379458,7 @@ ENCODING 30201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -339879,7 +379476,7 @@ ENCODING 30202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -339897,7 +379494,7 @@ ENCODING 30203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A040 @@ -339915,7 +379512,7 @@ ENCODING 30204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A000 @@ -339933,7 +379530,7 @@ ENCODING 30205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -339951,7 +379548,7 @@ ENCODING 30206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -339969,7 +379566,7 @@ ENCODING 30207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A040 @@ -339987,7 +379584,7 @@ ENCODING 30208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 2400 @@ -340005,7 +379602,7 @@ ENCODING 30209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340023,7 +379620,7 @@ ENCODING 30210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -340041,7 +379638,7 @@ ENCODING 30211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A000 @@ -340059,7 +379656,7 @@ ENCODING 30212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -340077,7 +379674,7 @@ ENCODING 30213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -340095,7 +379692,7 @@ ENCODING 30214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -340113,7 +379710,7 @@ ENCODING 30215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2000 @@ -340131,7 +379728,7 @@ ENCODING 30216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -340149,7 +379746,7 @@ ENCODING 30217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A280 @@ -340167,7 +379764,7 @@ ENCODING 30218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A5C0 @@ -340185,7 +379782,7 @@ ENCODING 30219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -340203,7 +379800,7 @@ ENCODING 30220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -340221,7 +379818,7 @@ ENCODING 30221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -340239,7 +379836,7 @@ ENCODING 30222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2480 @@ -340257,7 +379854,7 @@ ENCODING 30223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -340275,7 +379872,7 @@ ENCODING 30224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340293,7 +379890,7 @@ ENCODING 30225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A000 @@ -340311,7 +379908,7 @@ ENCODING 30226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -340329,7 +379926,7 @@ ENCODING 30227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -340347,7 +379944,7 @@ ENCODING 30228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -340365,7 +379962,7 @@ ENCODING 30229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A000 @@ -340383,7 +379980,7 @@ ENCODING 30230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340401,7 +379998,7 @@ ENCODING 30231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340419,7 +380016,7 @@ ENCODING 30232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 B240 @@ -340437,7 +380034,7 @@ ENCODING 30233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 AA40 @@ -340455,7 +380052,7 @@ ENCODING 30234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AA80 @@ -340473,7 +380070,7 @@ ENCODING 30235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -340491,7 +380088,7 @@ ENCODING 30236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -340509,7 +380106,7 @@ ENCODING 30237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -340527,7 +380124,7 @@ ENCODING 30238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -340545,7 +380142,7 @@ ENCODING 30239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -340563,7 +380160,7 @@ ENCODING 30240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 B240 @@ -340581,7 +380178,7 @@ ENCODING 30241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -340599,7 +380196,7 @@ ENCODING 30242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A400 @@ -340617,7 +380214,7 @@ ENCODING 30243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -340635,7 +380232,7 @@ ENCODING 30244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -340653,7 +380250,7 @@ ENCODING 30245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -340671,7 +380268,7 @@ ENCODING 30246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A920 @@ -340689,7 +380286,7 @@ ENCODING 30247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A3C0 @@ -340707,7 +380304,7 @@ ENCODING 30248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340725,7 +380322,7 @@ ENCODING 30249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -340743,7 +380340,7 @@ ENCODING 30250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A400 @@ -340761,7 +380358,7 @@ ENCODING 30251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -340779,7 +380376,7 @@ ENCODING 30252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4000 @@ -340797,7 +380394,7 @@ ENCODING 30253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A280 @@ -340815,7 +380412,7 @@ ENCODING 30254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2480 @@ -340833,7 +380430,7 @@ ENCODING 30255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 BFE0 6880 @@ -340851,7 +380448,7 @@ ENCODING 30256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A920 @@ -340869,7 +380466,7 @@ ENCODING 30257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2200 @@ -340887,7 +380484,7 @@ ENCODING 30258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A540 @@ -340905,7 +380502,7 @@ ENCODING 30259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 AAA0 @@ -340923,7 +380520,7 @@ ENCODING 30260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -340941,7 +380538,7 @@ ENCODING 30261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -340959,7 +380556,7 @@ ENCODING 30262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -340977,7 +380574,7 @@ ENCODING 30263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -340995,7 +380592,7 @@ ENCODING 30264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A800 @@ -341013,7 +380610,7 @@ ENCODING 30265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -341031,7 +380628,7 @@ ENCODING 30266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A820 @@ -341049,7 +380646,7 @@ ENCODING 30267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2940 @@ -341067,7 +380664,7 @@ ENCODING 30268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -341085,7 +380682,7 @@ ENCODING 30269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -341103,7 +380700,7 @@ ENCODING 30270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 B9C0 @@ -341121,7 +380718,7 @@ ENCODING 30271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A220 @@ -341139,7 +380736,7 @@ ENCODING 30272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -341157,7 +380754,7 @@ ENCODING 30273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AA00 @@ -341175,7 +380772,7 @@ ENCODING 30274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -341193,7 +380790,7 @@ ENCODING 30275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -341211,7 +380808,7 @@ ENCODING 30276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -341229,7 +380826,7 @@ ENCODING 30277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -341247,7 +380844,7 @@ ENCODING 30278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -341265,7 +380862,7 @@ ENCODING 30279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -341283,7 +380880,7 @@ ENCODING 30280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -341301,7 +380898,7 @@ ENCODING 30281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AAA0 @@ -341319,7 +380916,7 @@ ENCODING 30282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5880 @@ -341337,7 +380934,7 @@ ENCODING 30283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4500 @@ -341355,7 +380952,7 @@ ENCODING 30284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A000 @@ -341373,7 +380970,7 @@ ENCODING 30285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4200 @@ -341391,7 +380988,7 @@ ENCODING 30286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -341409,7 +381006,7 @@ ENCODING 30287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -341427,7 +381024,7 @@ ENCODING 30288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A300 @@ -341445,7 +381042,7 @@ ENCODING 30289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A280 @@ -341463,7 +381060,7 @@ ENCODING 30290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A300 @@ -341481,7 +381078,7 @@ ENCODING 30291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5A80 @@ -341499,7 +381096,7 @@ ENCODING 30292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -341517,7 +381114,7 @@ ENCODING 30293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -341535,7 +381132,7 @@ ENCODING 30294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 2040 @@ -341553,7 +381150,7 @@ ENCODING 30295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A200 @@ -341571,7 +381168,7 @@ ENCODING 30296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A480 @@ -341589,7 +381186,7 @@ ENCODING 30297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A840 @@ -341607,7 +381204,7 @@ ENCODING 30298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A780 @@ -341625,7 +381222,7 @@ ENCODING 30299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4200 @@ -341643,7 +381240,7 @@ ENCODING 30300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 A000 @@ -341661,7 +381258,7 @@ ENCODING 30301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5540 @@ -341679,7 +381276,7 @@ ENCODING 30302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A940 @@ -341697,7 +381294,7 @@ ENCODING 30303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A840 @@ -341715,7 +381312,7 @@ ENCODING 30304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A520 @@ -341733,7 +381330,7 @@ ENCODING 30305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 3FE0 AA00 @@ -341751,7 +381348,7 @@ ENCODING 30306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A500 @@ -341769,7 +381366,7 @@ ENCODING 30307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AB40 @@ -341787,7 +381384,7 @@ ENCODING 30308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A880 @@ -341805,7 +381402,7 @@ ENCODING 30309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 DA80 @@ -341823,7 +381420,7 @@ ENCODING 30310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FC0 4000 @@ -341841,7 +381438,7 @@ ENCODING 30311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4000 @@ -341859,7 +381456,7 @@ ENCODING 30312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A100 @@ -341877,7 +381474,7 @@ ENCODING 30313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A140 @@ -341895,7 +381492,7 @@ ENCODING 30314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A080 @@ -341913,7 +381510,7 @@ ENCODING 30315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4800 @@ -341931,7 +381528,7 @@ ENCODING 30316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A940 @@ -341949,7 +381546,7 @@ ENCODING 30317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AA40 @@ -341967,7 +381564,7 @@ ENCODING 30318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5D40 @@ -341985,7 +381582,7 @@ ENCODING 30319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 AEE0 @@ -342003,7 +381600,7 @@ ENCODING 30320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 6940 @@ -342021,7 +381618,7 @@ ENCODING 30321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 D540 @@ -342039,7 +381636,7 @@ ENCODING 30322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A440 @@ -342057,7 +381654,7 @@ ENCODING 30323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4A80 @@ -342075,7 +381672,7 @@ ENCODING 30324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -342093,7 +381690,7 @@ ENCODING 30325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 3FE0 A940 @@ -342110,8 +381707,8 @@ STARTCHAR U_7676 ENCODING 30326 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 7 0 3 +BITMAP 0480 7B00 0A40 @@ -342119,17 +381716,13 @@ BITMAP 3100 2080 C060 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_7677 ENCODING 30327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 7B00 4940 @@ -342147,7 +381740,7 @@ ENCODING 30328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E80 0920 2940 @@ -342165,7 +381758,7 @@ ENCODING 30329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E80 0920 2940 @@ -342183,7 +381776,7 @@ ENCODING 30330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 0B20 5240 @@ -342201,7 +381794,7 @@ ENCODING 30331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4A80 2940 @@ -342219,7 +381812,7 @@ ENCODING 30332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 0B20 5140 @@ -342236,27 +381829,26 @@ STARTCHAR U_767D ENCODING 30333 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0800 -3FC0 -2040 -2040 -3FC0 -2040 -2040 -2040 -3FC0 -2040 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0800 @@ -342273,7 +381865,7 @@ ENCODING 30335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 F900 @@ -342290,26 +381882,26 @@ STARTCHAR U_7680 ENCODING 30336 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2080 -3F80 -0000 -2380 -3C00 -2040 -1FC0 +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 +BITMAP 0800 3F80 2080 @@ -342327,7 +381919,7 @@ ENCODING 30338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 2040 @@ -342344,44 +381936,44 @@ STARTCHAR U_7683 ENCODING 30339 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 +BBX 10 11 1 -1 +BITMAP 0800 -3F80 -2080 -3F80 -2080 -3F80 -1200 -1220 -2220 -41E0 +1000 +7F00 +4100 +7F00 +4100 +7F00 +2400 +2440 +4440 +83C0 ENDCHAR STARTCHAR U_7684 ENCODING 30340 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1100 -2100 -7BE0 -4C20 -4820 -7A20 -4920 -4920 -4820 -7820 -48C0 +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 +BITMAP 27C0 4540 F540 @@ -342398,26 +381990,26 @@ STARTCHAR U_7686 ENCODING 30342 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4240 -7A80 -4320 -5A20 -65E0 -0800 -3F80 -2080 -3F80 -2080 -3F80 +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 +BITMAP 0400 3F80 2880 @@ -342435,7 +382027,7 @@ ENCODING 30344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 4780 F400 @@ -342453,7 +382045,7 @@ ENCODING 30345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 4280 EA80 @@ -342471,7 +382063,7 @@ ENCODING 30346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4280 F440 @@ -342489,7 +382081,7 @@ ENCODING 30347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -342507,7 +382099,7 @@ ENCODING 30348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 FFE0 @@ -342524,26 +382116,26 @@ STARTCHAR U_768D ENCODING 30349 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2080 -3F80 -4000 -7BC0 -4240 -72C0 -0200 +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 +BITMAP 2200 4100 FFE0 @@ -342561,7 +382153,7 @@ ENCODING 30351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 4140 F7E0 @@ -342579,7 +382171,7 @@ ENCODING 30352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 4040 @@ -342597,7 +382189,7 @@ ENCODING 30353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 4520 F7E0 @@ -342615,7 +382207,7 @@ ENCODING 30354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 4CC0 F4A0 @@ -342633,7 +382225,7 @@ ENCODING 30355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4500 F7C0 @@ -342651,7 +382243,7 @@ ENCODING 30356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4440 F7C0 @@ -342669,7 +382261,7 @@ ENCODING 30357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 4100 @@ -342687,7 +382279,7 @@ ENCODING 30358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4080 F7E0 @@ -342705,7 +382297,7 @@ ENCODING 30359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 8920 EBA0 @@ -342723,7 +382315,7 @@ ENCODING 30360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47C0 F100 @@ -342741,7 +382333,7 @@ ENCODING 30361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 2400 @@ -342759,7 +382351,7 @@ ENCODING 30362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4920 FFE0 @@ -342777,7 +382369,7 @@ ENCODING 30363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -342795,7 +382387,7 @@ ENCODING 30364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4FE0 E440 @@ -342813,7 +382405,7 @@ ENCODING 30365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FD20 8B40 @@ -342831,7 +382423,7 @@ ENCODING 30366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47C0 F440 @@ -342849,7 +382441,7 @@ ENCODING 30367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 E100 @@ -342867,7 +382459,7 @@ ENCODING 30368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4920 EFE0 @@ -342885,7 +382477,7 @@ ENCODING 30369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4F80 E880 @@ -342903,7 +382495,7 @@ ENCODING 30370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4FC0 E200 @@ -342921,7 +382513,7 @@ ENCODING 30371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 E480 @@ -342939,7 +382531,7 @@ ENCODING 30372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4920 F540 @@ -342957,7 +382549,7 @@ ENCODING 30373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4FC0 E840 @@ -342975,7 +382567,7 @@ ENCODING 30374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 5E80 F2E0 @@ -342993,7 +382585,7 @@ ENCODING 30375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4E40 EA80 @@ -343011,7 +382603,7 @@ ENCODING 30376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2480 @@ -343029,7 +382621,7 @@ ENCODING 30377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 97C0 @@ -343047,7 +382639,7 @@ ENCODING 30378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 5740 FDE0 @@ -343065,7 +382657,7 @@ ENCODING 30379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 EA80 @@ -343083,7 +382675,7 @@ ENCODING 30380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 EFE0 @@ -343101,7 +382693,7 @@ ENCODING 30381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4540 EFE0 @@ -343119,7 +382711,7 @@ ENCODING 30382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 0200 3FE0 @@ -343137,7 +382729,7 @@ ENCODING 30383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7C80 5480 @@ -343155,7 +382747,7 @@ ENCODING 30384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 AC20 @@ -343173,7 +382765,7 @@ ENCODING 30385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 8AA0 @@ -343191,7 +382783,7 @@ ENCODING 30386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 8480 23E0 @@ -343209,7 +382801,7 @@ ENCODING 30387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2880 27E0 @@ -343227,7 +382819,7 @@ ENCODING 30388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4880 F7E0 @@ -343245,7 +382837,7 @@ ENCODING 30389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 52A0 @@ -343263,7 +382855,7 @@ ENCODING 30390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 73E0 @@ -343281,7 +382873,7 @@ ENCODING 30391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 13E0 @@ -343299,7 +382891,7 @@ ENCODING 30392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8880 23E0 @@ -343317,7 +382909,7 @@ ENCODING 30393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 7CA0 57E0 @@ -343335,7 +382927,7 @@ ENCODING 30394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 ABE0 FAA0 @@ -343353,7 +382945,7 @@ ENCODING 30395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3880 2080 FFE0 @@ -343371,7 +382963,7 @@ ENCODING 30396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 1080 FFE0 @@ -343389,7 +382981,7 @@ ENCODING 30397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 BAA0 @@ -343407,7 +382999,7 @@ ENCODING 30398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 13E0 @@ -343424,26 +383016,24 @@ STARTCHAR U_76BF ENCODING 30399 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -3FC0 -2940 -2940 -2940 -2940 -2940 -2940 -2940 -7FE0 -0000 +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 +BITMAP 0400 0500 04C0 @@ -343461,7 +383051,7 @@ ENCODING 30401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0880 11C0 @@ -343479,7 +383069,7 @@ ENCODING 30402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0200 0200 @@ -343496,44 +383086,44 @@ STARTCHAR U_76C3 ENCODING 30403 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -0200 -0500 -1CC0 -6420 +BBX 10 11 1 -1 +BITMAP +FFC0 0400 -3FC0 -2940 -2940 -2940 -7FE0 +0A00 +3980 +C840 +0800 +7F80 +5280 +5280 +5280 +FFC0 ENDCHAR STARTCHAR U_76C4 ENCODING 30404 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0440 -3FC0 -2400 -7FC0 -0440 -04C0 -3FC0 -2940 -2940 -7FE0 +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 +BITMAP 0200 3FC0 2240 @@ -343551,7 +383141,7 @@ ENCODING 30406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 1100 2080 @@ -343569,7 +383159,7 @@ ENCODING 30407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -343587,7 +383177,7 @@ ENCODING 30408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 1080 17E0 @@ -343605,7 +383195,7 @@ ENCODING 30409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -343623,7 +383213,7 @@ ENCODING 30410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 FFE0 @@ -343641,7 +383231,7 @@ ENCODING 30411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0800 @@ -343659,7 +383249,7 @@ ENCODING 30412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3BC0 4A40 @@ -343677,7 +383267,7 @@ ENCODING 30413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -343695,7 +383285,7 @@ ENCODING 30414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 2440 @@ -343712,44 +383302,44 @@ STARTCHAR U_76CF ENCODING 30415 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1200 -7FC0 -0800 -7FC0 -08A0 -0720 -78E0 -3FC0 -2940 -2940 -7FE0 +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 11 11 0 -1 -BITMAP -1100 -1100 -7D80 -1160 -1D20 -7100 +BBX 10 11 1 -1 +BITMAP +2200 +2200 +FB00 +22C0 +3A40 +E200 0000 -3FC0 -2940 -2940 -7FE0 +7F80 +5280 +5280 +FFC0 ENDCHAR STARTCHAR U_76D1 ENCODING 30417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 4A00 4BE0 @@ -343767,7 +383357,7 @@ ENCODING 30418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1F00 @@ -343785,7 +383375,7 @@ ENCODING 30419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 4100 @@ -343803,7 +383393,7 @@ ENCODING 30420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 1A40 @@ -343821,7 +383411,7 @@ ENCODING 30421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 1780 4480 @@ -343839,7 +383429,7 @@ ENCODING 30422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -343856,26 +383446,26 @@ STARTCHAR U_76D7 ENCODING 30423 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4400 -27E0 -1920 -6100 -2280 -2C60 +BBX 10 11 1 -1 +BITMAP +8800 +4FC0 +3240 +C200 +4500 +58C0 0000 -3FC0 -2940 -2940 -7FE0 +7F80 +5280 +5280 +FFC0 ENDCHAR STARTCHAR U_76D8 ENCODING 30424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1F80 1480 @@ -343893,7 +383483,7 @@ ENCODING 30425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 2480 @@ -343910,26 +383500,26 @@ STARTCHAR U_76DA ENCODING 30426 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0280 -7FE0 -1240 -0B80 -0E80 -7240 -2620 -3FC0 -2940 -2940 -7FE0 +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 +BITMAP 0280 7FE0 4200 @@ -343947,7 +383537,7 @@ ENCODING 30428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 17E0 5920 @@ -343965,7 +383555,7 @@ ENCODING 30429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0080 3F80 @@ -343982,26 +383572,26 @@ STARTCHAR U_76DE ENCODING 30430 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0A00 -7FC0 -0920 -7FE0 -0200 -7FC0 -0920 -77E0 -3FC0 -2A40 -7FE0 +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 +BITMAP 7BC0 4A40 7BC0 @@ -344019,7 +383609,7 @@ ENCODING 30432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 2100 FFE0 @@ -344037,7 +383627,7 @@ ENCODING 30433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7F80 0480 @@ -344055,7 +383645,7 @@ ENCODING 30434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F920 AFE0 @@ -344073,7 +383663,7 @@ ENCODING 30435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A100 F9E0 @@ -344091,7 +383681,7 @@ ENCODING 30436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 FA80 AAE0 @@ -344109,7 +383699,7 @@ ENCODING 30437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 C4C0 9F40 @@ -344127,7 +383717,7 @@ ENCODING 30438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 64C0 BF20 @@ -344145,7 +383735,7 @@ ENCODING 30439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -344163,7 +383753,7 @@ ENCODING 30440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2200 D7C0 @@ -344181,7 +383771,7 @@ ENCODING 30441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 13E0 FE40 @@ -344199,7 +383789,7 @@ ENCODING 30442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 A880 4F80 @@ -344217,7 +383807,7 @@ ENCODING 30443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 DF60 @@ -344235,7 +383825,7 @@ ENCODING 30444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 F480 @@ -344253,7 +383843,7 @@ ENCODING 30445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 A9E0 FB40 @@ -344270,26 +383860,26 @@ STARTCHAR U_76EE ENCODING 30446 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2080 -3F80 -2080 -2080 -3F80 -2080 -2080 -3F80 -2080 +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 +BITMAP 07E0 F080 9080 @@ -344307,7 +383897,7 @@ ENCODING 30448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9100 @@ -344325,7 +383915,7 @@ ENCODING 30449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 9100 @@ -344343,7 +383933,7 @@ ENCODING 30450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -344361,7 +383951,7 @@ ENCODING 30451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -344379,7 +383969,7 @@ ENCODING 30452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -344397,7 +383987,7 @@ ENCODING 30453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F400 97E0 @@ -344415,7 +384005,7 @@ ENCODING 30454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9000 F000 @@ -344433,7 +384023,7 @@ ENCODING 30455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -344451,7 +384041,7 @@ ENCODING 30456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 7E20 @@ -344469,7 +384059,7 @@ ENCODING 30457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -344487,7 +384077,7 @@ ENCODING 30458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 F780 9400 @@ -344505,7 +384095,7 @@ ENCODING 30459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9440 @@ -344523,7 +384113,7 @@ ENCODING 30460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F280 9240 @@ -344541,7 +384131,7 @@ ENCODING 30461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -344559,7 +384149,7 @@ ENCODING 30462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2200 3FE0 @@ -344577,7 +384167,7 @@ ENCODING 30463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E200 BFE0 @@ -344595,7 +384185,7 @@ ENCODING 30464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 9220 9220 @@ -344613,7 +384203,7 @@ ENCODING 30465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1480 2560 @@ -344631,7 +384221,7 @@ ENCODING 30466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0C0 AF00 A900 @@ -344649,7 +384239,7 @@ ENCODING 30467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F000 9000 @@ -344667,7 +384257,7 @@ ENCODING 30468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F100 9100 @@ -344685,7 +384275,7 @@ ENCODING 30469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9400 @@ -344703,7 +384293,7 @@ ENCODING 30470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E100 BFE0 @@ -344721,7 +384311,7 @@ ENCODING 30471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9540 @@ -344739,7 +384329,7 @@ ENCODING 30472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97E0 @@ -344757,7 +384347,7 @@ ENCODING 30473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2220 3FE0 @@ -344775,7 +384365,7 @@ ENCODING 30474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -344793,7 +384383,7 @@ ENCODING 30475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 7F80 @@ -344811,7 +384401,7 @@ ENCODING 30476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 5080 5F80 @@ -344829,7 +384419,7 @@ ENCODING 30477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F400 9620 @@ -344847,7 +384437,7 @@ ENCODING 30478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A000 A000 @@ -344865,7 +384455,7 @@ ENCODING 30479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 AFC0 @@ -344883,7 +384473,7 @@ ENCODING 30480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F080 9080 @@ -344901,7 +384491,7 @@ ENCODING 30481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 9480 @@ -344919,7 +384509,7 @@ ENCODING 30482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F080 97E0 @@ -344937,7 +384527,7 @@ ENCODING 30483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F120 97E0 @@ -344955,7 +384545,7 @@ ENCODING 30484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -344973,7 +384563,7 @@ ENCODING 30485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -344990,9 +384580,8 @@ STARTCHAR U_7716 ENCODING 30486 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7C0 9440 F440 @@ -345009,7 +384598,7 @@ ENCODING 30487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F200 97E0 @@ -345027,7 +384616,7 @@ ENCODING 30488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8A20 @@ -345045,7 +384634,7 @@ ENCODING 30489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F200 9440 @@ -345063,7 +384652,7 @@ ENCODING 30490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3FC0 4400 @@ -345081,7 +384670,7 @@ ENCODING 30491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 97C0 @@ -345099,7 +384688,7 @@ ENCODING 30492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 BFE0 @@ -345117,7 +384706,7 @@ ENCODING 30493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9420 @@ -345134,44 +384723,44 @@ STARTCHAR U_771E ENCODING 30494 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2020 -1FE0 -5080 -5F80 -5080 -5F80 -5080 -7FE0 -2080 +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 11 11 0 -1 -BITMAP -0400 -7FE0 -0400 -1F80 -1080 -1E80 -1780 -1080 -7FE0 -0900 -30C0 +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 +BITMAP 07E0 F420 97E0 @@ -345189,7 +384778,7 @@ ENCODING 30497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 EF00 A900 @@ -345207,7 +384796,7 @@ ENCODING 30498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 CAC0 @@ -345225,7 +384814,7 @@ ENCODING 30499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F500 97C0 @@ -345243,7 +384832,7 @@ ENCODING 30500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A840 EFC0 @@ -345261,7 +384850,7 @@ ENCODING 30501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5D60 5180 @@ -345279,7 +384868,7 @@ ENCODING 30502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 A280 AAA0 @@ -345297,7 +384886,7 @@ ENCODING 30503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F120 9120 @@ -345315,7 +384904,7 @@ ENCODING 30504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 9100 @@ -345333,7 +384922,7 @@ ENCODING 30505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 9FE0 @@ -345351,7 +384940,7 @@ ENCODING 30506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 AFE0 @@ -345369,7 +384958,7 @@ ENCODING 30507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 9540 @@ -345387,7 +384976,7 @@ ENCODING 30508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E480 A440 @@ -345405,7 +384994,7 @@ ENCODING 30509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -345423,7 +385012,7 @@ ENCODING 30510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A820 ABA0 @@ -345441,7 +385030,7 @@ ENCODING 30511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 F520 9540 @@ -345459,7 +385048,7 @@ ENCODING 30512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A200 A280 @@ -345477,7 +385066,7 @@ ENCODING 30513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9100 @@ -345495,7 +385084,7 @@ ENCODING 30514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9240 9240 @@ -345513,7 +385102,7 @@ ENCODING 30515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93E0 9440 @@ -345531,7 +385120,7 @@ ENCODING 30516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9820 @@ -345549,7 +385138,7 @@ ENCODING 30517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93E0 9440 @@ -345567,7 +385156,7 @@ ENCODING 30518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 97E0 @@ -345585,7 +385174,7 @@ ENCODING 30519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FC0 @@ -345603,7 +385192,7 @@ ENCODING 30520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9240 97E0 @@ -345621,7 +385210,7 @@ ENCODING 30521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 9100 @@ -345639,7 +385228,7 @@ ENCODING 30522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9280 9AA0 @@ -345657,7 +385246,7 @@ ENCODING 30523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 9FE0 @@ -345675,7 +385264,7 @@ ENCODING 30524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -345693,7 +385282,7 @@ ENCODING 30525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A800 ABE0 @@ -345711,7 +385300,7 @@ ENCODING 30526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 4A40 @@ -345729,7 +385318,7 @@ ENCODING 30527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EF00 A100 @@ -345747,7 +385336,7 @@ ENCODING 30528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -345765,7 +385354,7 @@ ENCODING 30529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93C0 9480 @@ -345783,7 +385372,7 @@ ENCODING 30530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C40 E340 1C40 @@ -345801,7 +385390,7 @@ ENCODING 30531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9440 9FE0 @@ -345819,7 +385408,7 @@ ENCODING 30532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9520 9540 @@ -345837,7 +385426,7 @@ ENCODING 30533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -345855,7 +385444,7 @@ ENCODING 30534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9820 @@ -345873,7 +385462,7 @@ ENCODING 30535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 9FE0 @@ -345891,7 +385480,7 @@ ENCODING 30536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A7C0 @@ -345909,7 +385498,7 @@ ENCODING 30537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E200 AA80 @@ -345927,7 +385516,7 @@ ENCODING 30538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -345945,7 +385534,7 @@ ENCODING 30539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9EA0 9280 @@ -345963,7 +385552,7 @@ ENCODING 30540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 93C0 9440 @@ -345981,7 +385570,7 @@ ENCODING 30541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -345999,7 +385588,7 @@ ENCODING 30542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F660 9180 9660 @@ -346017,7 +385606,7 @@ ENCODING 30543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A920 A920 @@ -346035,7 +385624,7 @@ ENCODING 30544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9100 @@ -346053,7 +385642,7 @@ ENCODING 30545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9280 @@ -346071,7 +385660,7 @@ ENCODING 30546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9520 9540 @@ -346089,7 +385678,7 @@ ENCODING 30547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 E280 AFE0 @@ -346107,7 +385696,7 @@ ENCODING 30548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E280 A440 @@ -346125,7 +385714,7 @@ ENCODING 30549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A820 @@ -346143,7 +385732,7 @@ ENCODING 30550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -346161,7 +385750,7 @@ ENCODING 30551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -346179,7 +385768,7 @@ ENCODING 30552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -346197,7 +385786,7 @@ ENCODING 30553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 9420 @@ -346215,7 +385804,7 @@ ENCODING 30554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 9480 @@ -346233,7 +385822,7 @@ ENCODING 30555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9100 @@ -346251,7 +385840,7 @@ ENCODING 30556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9A20 9540 @@ -346269,7 +385858,7 @@ ENCODING 30557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 11E0 7EA0 @@ -346287,7 +385876,7 @@ ENCODING 30558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9540 @@ -346305,7 +385894,7 @@ ENCODING 30559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9440 @@ -346323,7 +385912,7 @@ ENCODING 30560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 AA80 AFE0 @@ -346341,7 +385930,7 @@ ENCODING 30561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 9FE0 @@ -346359,7 +385948,7 @@ ENCODING 30562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F500 9480 97E0 @@ -346377,7 +385966,7 @@ ENCODING 30563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 1120 FD40 @@ -346395,7 +385984,7 @@ ENCODING 30564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 97C0 @@ -346413,7 +386002,7 @@ ENCODING 30565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9520 @@ -346431,7 +386020,7 @@ ENCODING 30566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -346449,7 +386038,7 @@ ENCODING 30567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9480 97E0 @@ -346467,7 +386056,7 @@ ENCODING 30568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 ACE0 A820 @@ -346485,7 +386074,7 @@ ENCODING 30569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 97C0 @@ -346503,7 +386092,7 @@ ENCODING 30570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -346521,7 +386110,7 @@ ENCODING 30571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9140 @@ -346539,7 +386128,7 @@ ENCODING 30572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F720 9920 @@ -346557,7 +386146,7 @@ ENCODING 30573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A920 ABA0 @@ -346575,7 +386164,7 @@ ENCODING 30574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 E440 AFA0 @@ -346593,7 +386182,7 @@ ENCODING 30575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 89E0 FB40 @@ -346611,7 +386200,7 @@ ENCODING 30576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -346629,7 +386218,7 @@ ENCODING 30577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AA20 AA20 @@ -346647,7 +386236,7 @@ ENCODING 30578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -346665,7 +386254,7 @@ ENCODING 30579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A500 @@ -346683,7 +386272,7 @@ ENCODING 30580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 B220 AFC0 @@ -346701,7 +386290,7 @@ ENCODING 30581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 E4C0 BEA0 @@ -346719,7 +386308,7 @@ ENCODING 30582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -346737,7 +386326,7 @@ ENCODING 30583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FD40 A7E0 @@ -346755,7 +386344,7 @@ ENCODING 30584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E920 AFE0 @@ -346773,7 +386362,7 @@ ENCODING 30585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 FF40 9280 @@ -346791,7 +386380,7 @@ ENCODING 30586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E780 A880 @@ -346809,7 +386398,7 @@ ENCODING 30587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFE0 A820 @@ -346827,7 +386416,7 @@ ENCODING 30588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -346845,7 +386434,7 @@ ENCODING 30589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 92A0 9A40 @@ -346863,7 +386452,7 @@ ENCODING 30590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 4940 @@ -346881,7 +386470,7 @@ ENCODING 30591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -346899,7 +386488,7 @@ ENCODING 30592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 FF40 @@ -346917,7 +386506,7 @@ ENCODING 30593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -346935,7 +386524,7 @@ ENCODING 30594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD40 9120 FFE0 @@ -346953,7 +386542,7 @@ ENCODING 30595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A880 AFE0 @@ -346971,7 +386560,7 @@ ENCODING 30596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9240 9FE0 @@ -346989,7 +386578,7 @@ ENCODING 30597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE40 A440 A560 @@ -347007,7 +386596,7 @@ ENCODING 30598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A540 @@ -347025,7 +386614,7 @@ ENCODING 30599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F2A0 AAA0 A9C0 @@ -347043,7 +386632,7 @@ ENCODING 30600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 AA40 B4A0 @@ -347061,7 +386650,7 @@ ENCODING 30601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 1140 FD40 @@ -347079,7 +386668,7 @@ ENCODING 30602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 ABC0 @@ -347097,7 +386686,7 @@ ENCODING 30603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -347115,7 +386704,7 @@ ENCODING 30604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 A7C0 A100 @@ -347133,7 +386722,7 @@ ENCODING 30605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 ADE0 A920 @@ -347151,7 +386740,7 @@ ENCODING 30606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A920 @@ -347169,7 +386758,7 @@ ENCODING 30607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -347186,26 +386775,26 @@ STARTCHAR U_7790 ENCODING 30608 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -3280 -2980 -2480 -3F80 +BBX 9 11 1 -1 +BITMAP +7F00 +6500 +5300 +4900 +7F00 0000 -7BC0 -4A40 -7BC0 -4A40 -7BC0 +F780 +9480 +F780 +9480 +F780 ENDCHAR STARTCHAR U_7791 ENCODING 30609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A820 AFE0 @@ -347223,7 +386812,7 @@ ENCODING 30610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 A280 @@ -347241,7 +386830,7 @@ ENCODING 30611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 FEA0 A2A0 @@ -347259,7 +386848,7 @@ ENCODING 30612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFC0 A100 @@ -347277,7 +386866,7 @@ ENCODING 30613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9280 @@ -347295,7 +386884,7 @@ ENCODING 30614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 B940 D220 @@ -347313,7 +386902,7 @@ ENCODING 30615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 97C0 9440 @@ -347331,7 +386920,7 @@ ENCODING 30616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A800 ABC0 @@ -347349,7 +386938,7 @@ ENCODING 30617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -347367,7 +386956,7 @@ ENCODING 30618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A820 @@ -347385,7 +386974,7 @@ ENCODING 30619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 A940 B2A0 @@ -347403,7 +386992,7 @@ ENCODING 30620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9540 @@ -347421,7 +387010,7 @@ ENCODING 30621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 BFE0 A540 @@ -347439,7 +387028,7 @@ ENCODING 30622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 AFE0 A440 @@ -347457,7 +387046,7 @@ ENCODING 30623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -347475,7 +387064,7 @@ ENCODING 30624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 9FE0 @@ -347493,7 +387082,7 @@ ENCODING 30625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EBC0 AA40 BFC0 @@ -347511,7 +387100,7 @@ ENCODING 30626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -347529,7 +387118,7 @@ ENCODING 30627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 E7C0 A540 @@ -347547,7 +387136,7 @@ ENCODING 30628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -347565,7 +387154,7 @@ ENCODING 30629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 FDE0 9740 @@ -347583,7 +387172,7 @@ ENCODING 30630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 A100 @@ -347601,7 +387190,7 @@ ENCODING 30631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E500 A900 BFE0 @@ -347619,7 +387208,7 @@ ENCODING 30632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAA0 A6C0 AFE0 @@ -347637,7 +387226,7 @@ ENCODING 30633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A820 AFE0 @@ -347655,7 +387244,7 @@ ENCODING 30634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EF40 AAA0 A440 @@ -347673,7 +387262,7 @@ ENCODING 30635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9280 9FE0 @@ -347691,7 +387280,7 @@ ENCODING 30636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0C0 AF20 A540 @@ -347709,7 +387298,7 @@ ENCODING 30637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 9AA0 @@ -347727,7 +387316,7 @@ ENCODING 30638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 AA80 @@ -347745,7 +387334,7 @@ ENCODING 30639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -347763,7 +387352,7 @@ ENCODING 30640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 A480 BFE0 @@ -347781,7 +387370,7 @@ ENCODING 30641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 9FE0 9480 @@ -347799,7 +387388,7 @@ ENCODING 30642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A280 AFE0 @@ -347817,7 +387406,7 @@ ENCODING 30643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A280 @@ -347835,7 +387424,7 @@ ENCODING 30644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E800 AFE0 B540 @@ -347853,7 +387442,7 @@ ENCODING 30645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A540 BFE0 @@ -347871,7 +387460,7 @@ ENCODING 30646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9540 @@ -347889,7 +387478,7 @@ ENCODING 30647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -347907,7 +387496,7 @@ ENCODING 30648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 A480 @@ -347925,7 +387514,7 @@ ENCODING 30649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 EE20 A540 @@ -347943,7 +387532,7 @@ ENCODING 30650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 A480 BFC0 @@ -347961,7 +387550,7 @@ ENCODING 30651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A480 AFE0 @@ -347979,7 +387568,7 @@ ENCODING 30652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 A480 AFC0 @@ -347997,7 +387586,7 @@ ENCODING 30653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 F880 @@ -348015,7 +387604,7 @@ ENCODING 30654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -348033,7 +387622,7 @@ ENCODING 30655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -348051,7 +387640,7 @@ ENCODING 30656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 FA80 AF80 @@ -348069,7 +387658,7 @@ ENCODING 30657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E80 E4A0 BFC0 @@ -348087,7 +387676,7 @@ ENCODING 30658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A7C0 @@ -348105,7 +387694,7 @@ ENCODING 30659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 AAA0 @@ -348123,7 +387712,7 @@ ENCODING 30660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A100 BFE0 @@ -348141,7 +387730,7 @@ ENCODING 30661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 A660 @@ -348159,7 +387748,7 @@ ENCODING 30662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EFE0 A500 @@ -348177,7 +387766,7 @@ ENCODING 30663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 AFE0 A480 @@ -348195,7 +387784,7 @@ ENCODING 30664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E7C0 A440 @@ -348213,7 +387802,7 @@ ENCODING 30665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A820 @@ -348231,7 +387820,7 @@ ENCODING 30666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 A5E0 AB20 @@ -348249,7 +387838,7 @@ ENCODING 30667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EA80 AFE0 @@ -348267,7 +387856,7 @@ ENCODING 30668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 AA40 @@ -348285,7 +387874,7 @@ ENCODING 30669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -348303,7 +387892,7 @@ ENCODING 30670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E780 A880 BFE0 @@ -348321,7 +387910,7 @@ ENCODING 30671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 97C0 9440 @@ -348339,7 +387928,7 @@ ENCODING 30672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A100 AFE0 @@ -348357,7 +387946,7 @@ ENCODING 30673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 E100 AFE0 @@ -348375,7 +387964,7 @@ ENCODING 30674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A280 @@ -348393,7 +387982,7 @@ ENCODING 30675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 BF80 AAE0 @@ -348411,7 +388000,7 @@ ENCODING 30676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9280 9EE0 @@ -348429,7 +388018,7 @@ ENCODING 30677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F40 A0A0 4E40 @@ -348447,7 +388036,7 @@ ENCODING 30678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 E000 AEE0 @@ -348465,7 +388054,7 @@ ENCODING 30679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3280 @@ -348483,7 +388072,7 @@ ENCODING 30680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 AFE0 AAA0 @@ -348501,7 +388090,7 @@ ENCODING 30681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -348519,7 +388108,7 @@ ENCODING 30682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A820 AFE0 @@ -348536,26 +388125,26 @@ STARTCHAR U_77DB ENCODING 30683 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3FC0 -0080 -0D00 -0200 -7FE0 -0640 -0A80 -1200 -2200 -4200 -0E00 +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 +BITMAP 7C80 2940 1140 @@ -348573,7 +388162,7 @@ ENCODING 30685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 1100 6280 @@ -348591,7 +388180,7 @@ ENCODING 30686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0500 FFE0 @@ -348609,7 +388198,7 @@ ENCODING 30687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 54A0 22C0 @@ -348627,7 +388216,7 @@ ENCODING 30688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 5140 27E0 @@ -348645,7 +388234,7 @@ ENCODING 30689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 5EE0 @@ -348663,7 +388252,7 @@ ENCODING 30690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2000 7FC0 @@ -348680,26 +388269,26 @@ STARTCHAR U_77E3 ENCODING 30691 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0800 +1100 +7E80 +2000 +3F80 +4400 +FFC0 0400 -0880 -3F40 -1000 -1FC0 -2200 -7FE0 -0200 -0500 -18E0 -6040 +0A00 +31C0 +C080 ENDCHAR STARTCHAR U_77E4 ENCODING 30692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 1200 17E0 @@ -348717,7 +388306,7 @@ ENCODING 30693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2000 7DE0 @@ -348735,7 +388324,7 @@ ENCODING 30694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F00 2200 @@ -348753,7 +388342,7 @@ ENCODING 30695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47A0 40A0 78A0 @@ -348771,7 +388360,7 @@ ENCODING 30696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 4380 7880 @@ -348789,7 +388378,7 @@ ENCODING 30697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 43E0 7E00 @@ -348807,7 +388396,7 @@ ENCODING 30698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43C0 7A40 @@ -348825,7 +388414,7 @@ ENCODING 30699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7100 @@ -348843,7 +388432,7 @@ ENCODING 30700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 7D40 @@ -348861,7 +388450,7 @@ ENCODING 30701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4000 77C0 @@ -348879,7 +388468,7 @@ ENCODING 30702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7900 @@ -348897,7 +388486,7 @@ ENCODING 30703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 7FE0 @@ -348915,7 +388504,7 @@ ENCODING 30704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 4240 7FE0 @@ -348933,7 +388522,7 @@ ENCODING 30705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 7A40 @@ -348951,7 +388540,7 @@ ENCODING 30706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 7FE0 @@ -348968,9 +388557,8 @@ STARTCHAR U_77F3 ENCODING 30707 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0800 @@ -348986,9 +388574,8 @@ STARTCHAR U_77F4 ENCODING 30708 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 2080 4080 @@ -349004,8 +388591,8 @@ STARTCHAR U_77F5 ENCODING 30709 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0040 F840 2240 @@ -349023,7 +388610,7 @@ ENCODING 30710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 FC80 2480 @@ -349041,7 +388628,7 @@ ENCODING 30711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2040 2080 @@ -349059,7 +388646,7 @@ ENCODING 30712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 2080 @@ -349077,7 +388664,7 @@ ENCODING 30713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2280 2280 @@ -349095,7 +388682,7 @@ ENCODING 30714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 2700 2100 @@ -349113,7 +388700,7 @@ ENCODING 30715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -349131,7 +388718,7 @@ ENCODING 30716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2080 2080 @@ -349149,7 +388736,7 @@ ENCODING 30717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 21E0 @@ -349167,7 +388754,7 @@ ENCODING 30718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 2480 2480 @@ -349185,7 +388772,7 @@ ENCODING 30719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 27E0 2400 @@ -349203,7 +388790,7 @@ ENCODING 30720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 F080 2100 @@ -349221,7 +388808,7 @@ ENCODING 30721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F840 2240 @@ -349239,7 +388826,7 @@ ENCODING 30722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 22C0 @@ -349257,7 +388844,7 @@ ENCODING 30723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2340 @@ -349275,7 +388862,7 @@ ENCODING 30724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -349293,7 +388880,7 @@ ENCODING 30725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2120 @@ -349311,7 +388898,7 @@ ENCODING 30726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 27E0 @@ -349329,7 +388916,7 @@ ENCODING 30727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2FE0 @@ -349346,9 +388933,8 @@ STARTCHAR U_7808 ENCODING 30728 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 2400 45E0 @@ -349365,7 +388951,7 @@ ENCODING 30729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0400 @@ -349383,7 +388969,7 @@ ENCODING 30730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 2FE0 @@ -349401,7 +388987,7 @@ ENCODING 30731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 2080 @@ -349419,7 +389005,7 @@ ENCODING 30732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FDE0 24A0 @@ -349437,7 +389023,7 @@ ENCODING 30733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -349455,7 +389041,7 @@ ENCODING 30734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2280 2440 @@ -349473,7 +389059,7 @@ ENCODING 30735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2440 @@ -349491,7 +389077,7 @@ ENCODING 30736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FA40 2240 @@ -349509,7 +389095,7 @@ ENCODING 30737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F840 2140 @@ -349527,7 +389113,7 @@ ENCODING 30738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F480 2480 @@ -349545,7 +389131,7 @@ ENCODING 30739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2240 @@ -349563,7 +389149,7 @@ ENCODING 30740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 2240 2240 @@ -349581,7 +389167,7 @@ ENCODING 30741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 2240 @@ -349599,7 +389185,7 @@ ENCODING 30742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -349617,7 +389203,7 @@ ENCODING 30743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2100 @@ -349635,7 +389221,7 @@ ENCODING 30744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FBE0 2080 @@ -349652,9 +389238,8 @@ STARTCHAR U_7819 ENCODING 30745 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 2200 4380 @@ -349671,7 +389256,7 @@ ENCODING 30746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 FC40 2540 @@ -349689,7 +389274,7 @@ ENCODING 30747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2280 @@ -349707,7 +389292,7 @@ ENCODING 30748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2440 26C0 @@ -349725,7 +389310,7 @@ ENCODING 30749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27C0 @@ -349743,7 +389328,7 @@ ENCODING 30750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -349761,7 +389346,7 @@ ENCODING 30751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -349779,7 +389364,7 @@ ENCODING 30752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 FA40 2240 @@ -349797,7 +389382,7 @@ ENCODING 30753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 2100 @@ -349815,7 +389400,7 @@ ENCODING 30754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F840 2040 @@ -349833,7 +389418,7 @@ ENCODING 30755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -349851,7 +389436,7 @@ ENCODING 30756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FC00 27E0 @@ -349869,7 +389454,7 @@ ENCODING 30757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FF80 2480 @@ -349887,7 +389472,7 @@ ENCODING 30758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1260 5F80 5220 @@ -349905,7 +389490,7 @@ ENCODING 30759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 20E0 @@ -349923,7 +389508,7 @@ ENCODING 30760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -349941,7 +389526,7 @@ ENCODING 30761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 42A0 @@ -349959,7 +389544,7 @@ ENCODING 30762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2540 24C0 @@ -349977,7 +389562,7 @@ ENCODING 30763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -349995,7 +389580,7 @@ ENCODING 30764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 27E0 @@ -350013,7 +389598,7 @@ ENCODING 30765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FF80 2100 @@ -350031,7 +389616,7 @@ ENCODING 30766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FD40 4880 @@ -350049,7 +389634,7 @@ ENCODING 30767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FA80 20A0 @@ -350067,7 +389652,7 @@ ENCODING 30768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 24A0 @@ -350085,7 +389670,7 @@ ENCODING 30769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD80 2180 2240 @@ -350103,7 +389688,7 @@ ENCODING 30770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 2420 @@ -350121,7 +389706,7 @@ ENCODING 30771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2100 2100 @@ -350139,7 +389724,7 @@ ENCODING 30772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 27E0 @@ -350157,7 +389742,7 @@ ENCODING 30773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 27E0 @@ -350175,7 +389760,7 @@ ENCODING 30774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FD00 23E0 @@ -350193,7 +389778,7 @@ ENCODING 30775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 23E0 @@ -350211,7 +389796,7 @@ ENCODING 30776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 2480 2480 @@ -350229,7 +389814,7 @@ ENCODING 30777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2240 @@ -350247,7 +389832,7 @@ ENCODING 30778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC00 2400 @@ -350265,7 +389850,7 @@ ENCODING 30779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0A80 @@ -350283,7 +389868,7 @@ ENCODING 30780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 2280 @@ -350300,9 +389885,8 @@ STARTCHAR U_783D ENCODING 30781 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7E0 2520 4520 @@ -350319,7 +389903,7 @@ ENCODING 30782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 2780 2400 @@ -350337,7 +389921,7 @@ ENCODING 30783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 47E0 @@ -350355,7 +389939,7 @@ ENCODING 30784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FAA0 22A0 @@ -350372,9 +389956,8 @@ STARTCHAR U_7841 ENCODING 30785 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP F7C0 2080 4100 @@ -350391,7 +389974,7 @@ ENCODING 30786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F980 2240 @@ -350409,7 +389992,7 @@ ENCODING 30787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FD00 27C0 @@ -350427,7 +390010,7 @@ ENCODING 30788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F920 2540 @@ -350445,7 +390028,7 @@ ENCODING 30789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -350463,7 +390046,7 @@ ENCODING 30790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 2140 @@ -350481,7 +390064,7 @@ ENCODING 30791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2420 @@ -350499,7 +390082,7 @@ ENCODING 30792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F880 27E0 @@ -350517,7 +390100,7 @@ ENCODING 30793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2140 @@ -350535,7 +390118,7 @@ ENCODING 30794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3C0 2480 @@ -350553,7 +390136,7 @@ ENCODING 30795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -350571,7 +390154,7 @@ ENCODING 30796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3E0 2640 @@ -350589,7 +390172,7 @@ ENCODING 30797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -350607,7 +390190,7 @@ ENCODING 30798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F20 FA20 2AA0 @@ -350625,7 +390208,7 @@ ENCODING 30799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 2440 2440 @@ -350643,7 +390226,7 @@ ENCODING 30800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 4BA0 @@ -350661,7 +390244,7 @@ ENCODING 30801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 FA40 27E0 @@ -350679,7 +390262,7 @@ ENCODING 30802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 4280 @@ -350697,7 +390280,7 @@ ENCODING 30803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBA0 2120 @@ -350715,7 +390298,7 @@ ENCODING 30804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 2280 @@ -350733,7 +390316,7 @@ ENCODING 30805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F880 23E0 @@ -350751,7 +390334,7 @@ ENCODING 30806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -350769,7 +390352,7 @@ ENCODING 30807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0260 FF80 22A0 @@ -350787,7 +390370,7 @@ ENCODING 30808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2820 2820 @@ -350805,7 +390388,7 @@ ENCODING 30809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FAA0 22A0 @@ -350823,7 +390406,7 @@ ENCODING 30810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 2100 @@ -350841,7 +390424,7 @@ ENCODING 30811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F900 2FE0 @@ -350859,7 +390442,7 @@ ENCODING 30812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F000 22A0 @@ -350877,7 +390460,7 @@ ENCODING 30813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F4A0 22C0 @@ -350895,7 +390478,7 @@ ENCODING 30814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 23E0 @@ -350913,7 +390496,7 @@ ENCODING 30815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C60 F7C0 2540 @@ -350931,7 +390514,7 @@ ENCODING 30816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 27C0 @@ -350949,7 +390532,7 @@ ENCODING 30817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4920 @@ -350967,7 +390550,7 @@ ENCODING 30818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 2440 @@ -350985,7 +390568,7 @@ ENCODING 30819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBE0 2140 @@ -351003,7 +390586,7 @@ ENCODING 30820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 2FE0 @@ -351021,7 +390604,7 @@ ENCODING 30821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F480 2FE0 @@ -351039,7 +390622,7 @@ ENCODING 30822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 27C0 @@ -351057,7 +390640,7 @@ ENCODING 30823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2140 23E0 @@ -351075,7 +390658,7 @@ ENCODING 30824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -351093,7 +390676,7 @@ ENCODING 30825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FF80 2400 @@ -351111,7 +390694,7 @@ ENCODING 30826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 FEC0 22A0 @@ -351129,7 +390712,7 @@ ENCODING 30827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2240 @@ -351147,7 +390730,7 @@ ENCODING 30828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F100 27E0 @@ -351165,7 +390748,7 @@ ENCODING 30829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F240 27E0 @@ -351183,7 +390766,7 @@ ENCODING 30830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F3C0 2480 @@ -351201,7 +390784,7 @@ ENCODING 30831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 2440 @@ -351219,7 +390802,7 @@ ENCODING 30832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 A920 @@ -351237,7 +390820,7 @@ ENCODING 30833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F520 2520 @@ -351255,7 +390838,7 @@ ENCODING 30834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 2440 2920 @@ -351273,7 +390856,7 @@ ENCODING 30835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -351291,7 +390874,7 @@ ENCODING 30836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 2240 @@ -351309,7 +390892,7 @@ ENCODING 30837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F8E0 2080 @@ -351327,7 +390910,7 @@ ENCODING 30838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F520 27E0 @@ -351345,7 +390928,7 @@ ENCODING 30839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2280 @@ -351363,7 +390946,7 @@ ENCODING 30840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FAA0 23E0 @@ -351381,7 +390964,7 @@ ENCODING 30841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E940 4940 5F40 @@ -351399,7 +390982,7 @@ ENCODING 30842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2100 2220 @@ -351417,7 +391000,7 @@ ENCODING 30843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A220 F940 @@ -351435,7 +391018,7 @@ ENCODING 30844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 4AA0 4AA0 @@ -351453,7 +391036,7 @@ ENCODING 30845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2240 @@ -351471,7 +391054,7 @@ ENCODING 30846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 2FE0 @@ -351489,7 +391072,7 @@ ENCODING 30847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -351507,7 +391090,7 @@ ENCODING 30848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2480 @@ -351525,7 +391108,7 @@ ENCODING 30849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7FE0 1080 @@ -351543,7 +391126,7 @@ ENCODING 30850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2820 @@ -351561,7 +391144,7 @@ ENCODING 30851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -351579,7 +391162,7 @@ ENCODING 30852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F480 2FE0 @@ -351597,7 +391180,7 @@ ENCODING 30853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E8A0 4B20 @@ -351615,7 +391198,7 @@ ENCODING 30854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 2920 @@ -351633,7 +391216,7 @@ ENCODING 30855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2420 @@ -351651,7 +391234,7 @@ ENCODING 30856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FA80 23E0 @@ -351669,7 +391252,7 @@ ENCODING 30857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F920 4BA0 @@ -351687,7 +391270,7 @@ ENCODING 30858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 2280 @@ -351705,7 +391288,7 @@ ENCODING 30859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F540 27C0 @@ -351723,7 +391306,7 @@ ENCODING 30860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F840 27C0 @@ -351741,7 +391324,7 @@ ENCODING 30861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -351759,7 +391342,7 @@ ENCODING 30862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2440 @@ -351777,7 +391360,7 @@ ENCODING 30863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 2240 @@ -351795,7 +391378,7 @@ ENCODING 30864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 2200 @@ -351813,7 +391396,7 @@ ENCODING 30865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2520 @@ -351831,7 +391414,7 @@ ENCODING 30866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 2280 @@ -351849,7 +391432,7 @@ ENCODING 30867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 27E0 @@ -351867,7 +391450,7 @@ ENCODING 30868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 EEC0 40A0 @@ -351885,7 +391468,7 @@ ENCODING 30869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2280 @@ -351903,7 +391486,7 @@ ENCODING 30870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 F440 4BA0 @@ -351921,7 +391504,7 @@ ENCODING 30871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2A20 @@ -351939,7 +391522,7 @@ ENCODING 30872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 2FE0 @@ -351957,7 +391540,7 @@ ENCODING 30873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F6A0 2520 @@ -351975,7 +391558,7 @@ ENCODING 30874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2240 @@ -351993,7 +391576,7 @@ ENCODING 30875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -352011,7 +391594,7 @@ ENCODING 30876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F240 27A0 @@ -352029,7 +391612,7 @@ ENCODING 30877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 4100 4FE0 @@ -352047,7 +391630,7 @@ ENCODING 30878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 1F80 @@ -352065,7 +391648,7 @@ ENCODING 30879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 2540 @@ -352083,7 +391666,7 @@ ENCODING 30880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2440 @@ -352101,7 +391684,7 @@ ENCODING 30881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -352119,7 +391702,7 @@ ENCODING 30882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 4740 @@ -352137,7 +391720,7 @@ ENCODING 30883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -352155,7 +391738,7 @@ ENCODING 30884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2440 @@ -352173,7 +391756,7 @@ ENCODING 30885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4820 @@ -352191,7 +391774,7 @@ ENCODING 30886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7E0 4A20 @@ -352209,7 +391792,7 @@ ENCODING 30887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 74A0 @@ -352227,7 +391810,7 @@ ENCODING 30888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F520 27E0 @@ -352245,7 +391828,7 @@ ENCODING 30889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 F880 23E0 @@ -352263,7 +391846,7 @@ ENCODING 30890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2240 @@ -352281,7 +391864,7 @@ ENCODING 30891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 06E0 F4A0 24A0 @@ -352299,7 +391882,7 @@ ENCODING 30892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F520 2520 @@ -352317,7 +391900,7 @@ ENCODING 30893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 27C0 @@ -352335,7 +391918,7 @@ ENCODING 30894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 47C0 @@ -352353,7 +391936,7 @@ ENCODING 30895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 02A0 F540 22A0 @@ -352371,7 +391954,7 @@ ENCODING 30896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 27E0 @@ -352389,7 +391972,7 @@ ENCODING 30897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F0A0 4FE0 @@ -352407,7 +391990,7 @@ ENCODING 30898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2280 @@ -352425,7 +392008,7 @@ ENCODING 30899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 2FE0 4200 @@ -352443,7 +392026,7 @@ ENCODING 30900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2540 @@ -352461,7 +392044,7 @@ ENCODING 30901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F9E0 2100 @@ -352479,7 +392062,7 @@ ENCODING 30902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EFE0 44A0 @@ -352497,7 +392080,7 @@ ENCODING 30903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 E880 4FE0 @@ -352514,9 +392097,8 @@ STARTCHAR U_78B8 ENCODING 30904 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFC0 5040 5F40 @@ -352533,7 +392115,7 @@ ENCODING 30905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -352551,7 +392133,7 @@ ENCODING 30906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2A20 @@ -352569,7 +392151,7 @@ ENCODING 30907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2240 @@ -352587,7 +392169,7 @@ ENCODING 30908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FD00 27C0 @@ -352605,7 +392187,7 @@ ENCODING 30909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F100 2FE0 @@ -352623,7 +392205,7 @@ ENCODING 30910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F420 27E0 @@ -352641,7 +392223,7 @@ ENCODING 30911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F820 4FE0 @@ -352659,7 +392241,7 @@ ENCODING 30912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 F140 2BE0 @@ -352677,7 +392259,7 @@ ENCODING 30913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 2FE0 @@ -352695,7 +392277,7 @@ ENCODING 30914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FDE0 48A0 @@ -352713,7 +392295,7 @@ ENCODING 30915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 F4E0 2480 @@ -352731,7 +392313,7 @@ ENCODING 30916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 27C0 @@ -352749,7 +392331,7 @@ ENCODING 30917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2280 @@ -352767,7 +392349,7 @@ ENCODING 30918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 4740 @@ -352785,7 +392367,7 @@ ENCODING 30919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2540 @@ -352803,7 +392385,7 @@ ENCODING 30920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2520 @@ -352821,7 +392403,7 @@ ENCODING 30921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F280 2140 @@ -352839,7 +392421,7 @@ ENCODING 30922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 1F80 @@ -352857,7 +392439,7 @@ ENCODING 30923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 27E0 @@ -352875,7 +392457,7 @@ ENCODING 30924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -352893,7 +392475,7 @@ ENCODING 30925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2920 @@ -352911,7 +392493,7 @@ ENCODING 30926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 FA20 2540 @@ -352929,7 +392511,7 @@ ENCODING 30927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 2500 @@ -352947,7 +392529,7 @@ ENCODING 30928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D60 57C0 @@ -352965,7 +392547,7 @@ ENCODING 30929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 F520 27E0 @@ -352982,8 +392564,8 @@ STARTCHAR U_78D2 ENCODING 30930 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 07C0 F440 27C0 @@ -353001,7 +392583,7 @@ ENCODING 30931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F9E0 2520 @@ -353019,7 +392601,7 @@ ENCODING 30932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2940 @@ -353037,7 +392619,7 @@ ENCODING 30933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -353055,7 +392637,7 @@ ENCODING 30934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2660 @@ -353073,7 +392655,7 @@ ENCODING 30935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 FFC0 2100 @@ -353091,7 +392673,7 @@ ENCODING 30936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F700 44A0 @@ -353109,7 +392691,7 @@ ENCODING 30937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2280 @@ -353127,7 +392709,7 @@ ENCODING 30938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2540 @@ -353145,7 +392727,7 @@ ENCODING 30939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5500 7DE0 @@ -353163,7 +392745,7 @@ ENCODING 30940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E6E0 49A0 @@ -353181,7 +392763,7 @@ ENCODING 30941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 44E0 @@ -353199,7 +392781,7 @@ ENCODING 30942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 FFE0 4000 @@ -353217,7 +392799,7 @@ ENCODING 30943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F5A0 2360 @@ -353235,7 +392817,7 @@ ENCODING 30944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F1E0 2100 @@ -353253,7 +392835,7 @@ ENCODING 30945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 FF80 4A80 @@ -353271,7 +392853,7 @@ ENCODING 30946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -353289,7 +392871,7 @@ ENCODING 30947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F3C0 2440 @@ -353307,7 +392889,7 @@ ENCODING 30948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FEE0 4AA0 @@ -353325,7 +392907,7 @@ ENCODING 30949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F520 27E0 @@ -353343,7 +392925,7 @@ ENCODING 30950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 4FE0 @@ -353361,7 +392943,7 @@ ENCODING 30951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -353379,7 +392961,7 @@ ENCODING 30952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -353397,7 +392979,7 @@ ENCODING 30953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 FFE0 2480 @@ -353415,7 +392997,7 @@ ENCODING 30954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 04A0 FCA0 27E0 @@ -353433,7 +393015,7 @@ ENCODING 30955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 E940 5140 @@ -353451,7 +393033,7 @@ ENCODING 30956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 1260 7DC0 @@ -353469,7 +393051,7 @@ ENCODING 30957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FC00 27E0 @@ -353487,7 +393069,7 @@ ENCODING 30958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0920 EFE0 4380 @@ -353505,7 +393087,7 @@ ENCODING 30959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 F980 2FE0 @@ -353523,7 +393105,7 @@ ENCODING 30960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 EFE0 4100 @@ -353541,7 +393123,7 @@ ENCODING 30961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F360 26C0 @@ -353559,7 +393141,7 @@ ENCODING 30962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 F500 29E0 @@ -353577,7 +393159,7 @@ ENCODING 30963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 F280 2FE0 @@ -353595,7 +393177,7 @@ ENCODING 30964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0740 F580 22A0 @@ -353613,7 +393195,7 @@ ENCODING 30965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 4AA0 4EE0 @@ -353631,7 +393213,7 @@ ENCODING 30966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FEE0 2420 @@ -353649,7 +393231,7 @@ ENCODING 30967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 F340 2FE0 @@ -353667,7 +393249,7 @@ ENCODING 30968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 4280 @@ -353685,7 +393267,7 @@ ENCODING 30969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 2FE0 @@ -353703,7 +393285,7 @@ ENCODING 30970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -353721,7 +393303,7 @@ ENCODING 30971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F520 2340 @@ -353739,7 +393321,7 @@ ENCODING 30972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 F7E0 2500 @@ -353757,7 +393339,7 @@ ENCODING 30973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -353775,7 +393357,7 @@ ENCODING 30974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 2EE0 @@ -353793,7 +393375,7 @@ ENCODING 30975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 58C0 7BE0 @@ -353811,7 +393393,7 @@ ENCODING 30976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 4EE0 @@ -353829,7 +393411,7 @@ ENCODING 30977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 F7E0 2C80 @@ -353847,7 +393429,7 @@ ENCODING 30978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -353865,7 +393447,7 @@ ENCODING 30979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 4820 @@ -353883,7 +393465,7 @@ ENCODING 30980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 F780 2200 @@ -353901,7 +393483,7 @@ ENCODING 30981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 2AE0 @@ -353919,7 +393501,7 @@ ENCODING 30982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 4440 @@ -353937,7 +393519,7 @@ ENCODING 30983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 4560 @@ -353955,7 +393537,7 @@ ENCODING 30984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0220 F140 47E0 @@ -353973,7 +393555,7 @@ ENCODING 30985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FE80 2AE0 @@ -353991,7 +393573,7 @@ ENCODING 30986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FF40 5540 @@ -354009,7 +393591,7 @@ ENCODING 30987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 4FE0 @@ -354027,7 +393609,7 @@ ENCODING 30988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 4100 4FE0 @@ -354045,7 +393627,7 @@ ENCODING 30989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 4280 @@ -354063,7 +393645,7 @@ ENCODING 30990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 2440 @@ -354081,7 +393663,7 @@ ENCODING 30991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FAA0 46C0 @@ -354099,7 +393681,7 @@ ENCODING 30992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -354117,7 +393699,7 @@ ENCODING 30993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 2AA0 @@ -354135,7 +393717,7 @@ ENCODING 30994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 2100 @@ -354153,7 +393735,7 @@ ENCODING 30995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F540 27C0 @@ -354171,7 +393753,7 @@ ENCODING 30996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0740 FDE0 2520 @@ -354189,7 +393771,7 @@ ENCODING 30997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -354207,7 +393789,7 @@ ENCODING 30998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F760 25A0 @@ -354225,7 +393807,7 @@ ENCODING 30999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2820 @@ -354243,7 +393825,7 @@ ENCODING 31000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 47C0 @@ -354261,7 +393843,7 @@ ENCODING 31001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 FCA0 2940 @@ -354279,7 +393861,7 @@ ENCODING 31002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 4200 @@ -354297,7 +393879,7 @@ ENCODING 31003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 FAE0 2F80 @@ -354315,7 +393897,7 @@ ENCODING 31004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4840 7FC0 @@ -354333,7 +393915,7 @@ ENCODING 31005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 2FE0 @@ -354351,7 +393933,7 @@ ENCODING 31006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 2480 @@ -354369,7 +393951,7 @@ ENCODING 31007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 EAA0 4FA0 @@ -354387,7 +393969,7 @@ ENCODING 31008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2440 @@ -354405,7 +393987,7 @@ ENCODING 31009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F2A0 2FE0 @@ -354423,7 +394005,7 @@ ENCODING 31010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 F7E0 4100 @@ -354441,7 +394023,7 @@ ENCODING 31011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 2280 @@ -354459,7 +394041,7 @@ ENCODING 31012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2480 @@ -354477,7 +394059,7 @@ ENCODING 31013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FAA0 2FA0 @@ -354495,7 +394077,7 @@ ENCODING 31014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7E0 2540 @@ -354513,7 +394095,7 @@ ENCODING 31015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 E540 47C0 @@ -354531,7 +394113,7 @@ ENCODING 31016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -354549,7 +394131,7 @@ ENCODING 31017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F480 27E0 @@ -354567,7 +394149,7 @@ ENCODING 31018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 FA80 4FE0 @@ -354585,7 +394167,7 @@ ENCODING 31019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0520 EBC0 4EA0 @@ -354603,7 +394185,7 @@ ENCODING 31020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 F5E0 4A80 @@ -354621,7 +394203,7 @@ ENCODING 31021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 4FE0 @@ -354639,7 +394221,7 @@ ENCODING 31022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F40 EBE0 4A00 @@ -354657,7 +394239,7 @@ ENCODING 31023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 FB60 26C0 @@ -354675,7 +394257,7 @@ ENCODING 31024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 EA40 4FE0 @@ -354693,7 +394275,7 @@ ENCODING 31025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5200 FFC0 @@ -354711,7 +394293,7 @@ ENCODING 31026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 4A80 @@ -354729,7 +394311,7 @@ ENCODING 31027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 4A40 @@ -354747,7 +394329,7 @@ ENCODING 31028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F7E0 4AA0 @@ -354765,7 +394347,7 @@ ENCODING 31029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F100 2FE0 @@ -354783,7 +394365,7 @@ ENCODING 31030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FFE0 2AA0 @@ -354801,7 +394383,7 @@ ENCODING 31031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 2280 @@ -354819,7 +394401,7 @@ ENCODING 31032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 5FE0 4540 @@ -354837,7 +394419,7 @@ ENCODING 31033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 5FE0 @@ -354854,9 +394436,8 @@ STARTCHAR U_793A ENCODING 31034 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0000 0000 @@ -354872,26 +394453,26 @@ STARTCHAR U_793B ENCODING 31035 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0400 -1F00 -0100 -0200 -0600 -0D00 -1500 -0400 -0400 -0400 +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 +BITMAP 4200 2200 FA00 @@ -354909,7 +394490,7 @@ ENCODING 31037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2240 FA40 @@ -354927,7 +394508,7 @@ ENCODING 31038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -354945,7 +394526,7 @@ ENCODING 31039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -354963,7 +394544,7 @@ ENCODING 31040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 FA20 @@ -354981,7 +394562,7 @@ ENCODING 31041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 21E0 F920 @@ -354999,7 +394580,7 @@ ENCODING 31042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 22A0 FAE0 @@ -355017,7 +394598,7 @@ ENCODING 31043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F240 @@ -355035,7 +394616,7 @@ ENCODING 31044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2180 FA40 @@ -355053,7 +394634,7 @@ ENCODING 31045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F900 @@ -355071,7 +394652,7 @@ ENCODING 31046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F900 @@ -355089,7 +394670,7 @@ ENCODING 31047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2780 F480 @@ -355107,7 +394688,7 @@ ENCODING 31048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2380 FA00 @@ -355125,7 +394706,7 @@ ENCODING 31049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F500 @@ -355143,7 +394724,7 @@ ENCODING 31050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FFE0 @@ -355161,7 +394742,7 @@ ENCODING 31051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -355179,7 +394760,7 @@ ENCODING 31052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FBE0 @@ -355197,7 +394778,7 @@ ENCODING 31053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 F100 @@ -355215,7 +394796,7 @@ ENCODING 31054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 F200 @@ -355233,7 +394814,7 @@ ENCODING 31055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F900 @@ -355251,7 +394832,7 @@ ENCODING 31056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -355269,7 +394850,7 @@ ENCODING 31057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 F7C0 @@ -355287,7 +394868,7 @@ ENCODING 31058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2120 F920 @@ -355305,7 +394886,7 @@ ENCODING 31059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 FFE0 @@ -355323,7 +394904,7 @@ ENCODING 31060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2240 F440 @@ -355341,7 +394922,7 @@ ENCODING 31061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 20A0 F8A0 @@ -355359,7 +394940,7 @@ ENCODING 31062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 17C0 FC40 @@ -355377,7 +394958,7 @@ ENCODING 31063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2780 FC80 @@ -355395,7 +394976,7 @@ ENCODING 31064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 0000 FBE0 @@ -355413,7 +394994,7 @@ ENCODING 31065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F7C0 @@ -355431,7 +395012,7 @@ ENCODING 31066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -355449,7 +395030,7 @@ ENCODING 31067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -355467,7 +395048,7 @@ ENCODING 31068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -355485,7 +395066,7 @@ ENCODING 31069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FC40 @@ -355503,7 +395084,7 @@ ENCODING 31070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -355521,7 +395102,7 @@ ENCODING 31071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 3F80 @@ -355539,7 +395120,7 @@ ENCODING 31072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2020 F7A0 @@ -355557,7 +395138,7 @@ ENCODING 31073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1220 5A40 53A0 @@ -355575,7 +395156,7 @@ ENCODING 31074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 F3E0 @@ -355593,7 +395174,7 @@ ENCODING 31075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC00 @@ -355611,7 +395192,7 @@ ENCODING 31076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2EE0 F220 @@ -355629,7 +395210,7 @@ ENCODING 31077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFE0 @@ -355647,7 +395228,7 @@ ENCODING 31078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F440 @@ -355665,7 +395246,7 @@ ENCODING 31079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 FAA0 @@ -355683,7 +395264,7 @@ ENCODING 31080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -355701,7 +395282,7 @@ ENCODING 31081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 F7C0 @@ -355719,7 +395300,7 @@ ENCODING 31082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2480 FFE0 @@ -355737,7 +395318,7 @@ ENCODING 31083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 F440 @@ -355755,7 +395336,7 @@ ENCODING 31084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 17E0 F900 @@ -355773,7 +395354,7 @@ ENCODING 31085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3E40 4A80 @@ -355791,7 +395372,7 @@ ENCODING 31086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -355809,7 +395390,7 @@ ENCODING 31087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 F900 @@ -355827,7 +395408,7 @@ ENCODING 31088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 F7C0 @@ -355845,7 +395426,7 @@ ENCODING 31089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2240 FA80 @@ -355863,7 +395444,7 @@ ENCODING 31090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 F7C0 @@ -355881,7 +395462,7 @@ ENCODING 31091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 FBC0 @@ -355899,7 +395480,7 @@ ENCODING 31092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 20A0 FFE0 @@ -355917,7 +395498,7 @@ ENCODING 31093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F920 @@ -355935,7 +395516,7 @@ ENCODING 31094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 F7C0 @@ -355953,7 +395534,7 @@ ENCODING 31095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F100 @@ -355971,7 +395552,7 @@ ENCODING 31096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F440 @@ -355989,7 +395570,7 @@ ENCODING 31097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 FC20 @@ -356007,7 +395588,7 @@ ENCODING 31098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2240 F7E0 @@ -356025,7 +395606,7 @@ ENCODING 31099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 F920 @@ -356043,7 +395624,7 @@ ENCODING 31100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 F7C0 @@ -356061,7 +395642,7 @@ ENCODING 31101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F000 @@ -356079,7 +395660,7 @@ ENCODING 31102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F100 @@ -356097,7 +395678,7 @@ ENCODING 31103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 F7C0 @@ -356115,7 +395696,7 @@ ENCODING 31104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 5F40 @@ -356133,7 +395714,7 @@ ENCODING 31105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -356151,7 +395732,7 @@ ENCODING 31106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2520 F7A0 @@ -356169,7 +395750,7 @@ ENCODING 31107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -356187,7 +395768,7 @@ ENCODING 31108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 F7C0 @@ -356205,7 +395786,7 @@ ENCODING 31109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 F7C0 @@ -356223,7 +395804,7 @@ ENCODING 31110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 FFE0 @@ -356241,7 +395822,7 @@ ENCODING 31111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FA0 F240 @@ -356259,7 +395840,7 @@ ENCODING 31112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 F100 @@ -356277,7 +395858,7 @@ ENCODING 31113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 F280 @@ -356295,7 +395876,7 @@ ENCODING 31114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FE0 F4A0 @@ -356313,7 +395894,7 @@ ENCODING 31115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 FFE0 @@ -356331,7 +395912,7 @@ ENCODING 31116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFE0 @@ -356349,7 +395930,7 @@ ENCODING 31117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F740 @@ -356367,7 +395948,7 @@ ENCODING 31118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 F100 @@ -356385,7 +395966,7 @@ ENCODING 31119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 07C0 @@ -356403,7 +395984,7 @@ ENCODING 31120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F20 F540 @@ -356421,7 +396002,7 @@ ENCODING 31121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 F7C0 @@ -356439,7 +396020,7 @@ ENCODING 31122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2440 F780 @@ -356457,7 +396038,7 @@ ENCODING 31123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -356475,7 +396056,7 @@ ENCODING 31124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -356493,7 +396074,7 @@ ENCODING 31125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F140 @@ -356511,7 +396092,7 @@ ENCODING 31126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 F440 @@ -356529,7 +396110,7 @@ ENCODING 31127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 FFC0 @@ -356547,7 +396128,7 @@ ENCODING 31128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F280 @@ -356565,7 +396146,7 @@ ENCODING 31129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 26E0 F280 @@ -356583,7 +396164,7 @@ ENCODING 31130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFE0 @@ -356601,7 +396182,7 @@ ENCODING 31131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F900 @@ -356619,7 +396200,7 @@ ENCODING 31132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 5AC0 3180 @@ -356637,7 +396218,7 @@ ENCODING 31133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 F7C0 @@ -356655,7 +396236,7 @@ ENCODING 31134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F000 @@ -356673,7 +396254,7 @@ ENCODING 31135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 E900 @@ -356691,7 +396272,7 @@ ENCODING 31136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 F9E0 @@ -356709,7 +396290,7 @@ ENCODING 31137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2500 F7C0 @@ -356727,7 +396308,7 @@ ENCODING 31138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -356745,7 +396326,7 @@ ENCODING 31139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2FE0 F100 @@ -356763,7 +396344,7 @@ ENCODING 31140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 FFE0 @@ -356781,7 +396362,7 @@ ENCODING 31141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4FC0 F480 @@ -356799,7 +396380,7 @@ ENCODING 31142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 A4A0 5FA0 @@ -356817,7 +396398,7 @@ ENCODING 31143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -356835,7 +396416,7 @@ ENCODING 31144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2BA0 F540 @@ -356853,7 +396434,7 @@ ENCODING 31145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 0FE0 @@ -356871,7 +396452,7 @@ ENCODING 31146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 FFE0 @@ -356889,7 +396470,7 @@ ENCODING 31147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 FFE0 @@ -356907,7 +396488,7 @@ ENCODING 31148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 F7C0 @@ -356925,7 +396506,7 @@ ENCODING 31149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5440 2A80 FFE0 @@ -356943,7 +396524,7 @@ ENCODING 31150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 FAA0 @@ -356961,7 +396542,7 @@ ENCODING 31151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 EAA0 @@ -356979,7 +396560,7 @@ ENCODING 31152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 F920 @@ -356997,7 +396578,7 @@ ENCODING 31153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -357015,7 +396596,7 @@ ENCODING 31154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5280 FFE0 @@ -357033,7 +396614,7 @@ ENCODING 31155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 FAA0 @@ -357051,7 +396632,7 @@ ENCODING 31156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 FFC0 @@ -357069,7 +396650,7 @@ ENCODING 31157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E00 4AE0 EE40 @@ -357087,7 +396668,7 @@ ENCODING 31158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 F540 @@ -357105,7 +396686,7 @@ ENCODING 31159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 5C40 3FE0 @@ -357122,62 +396703,62 @@ STARTCHAR U_79B8 ENCODING 31160 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0400 -7FC0 -4440 -4840 -4A40 -5140 -7F40 -4040 -4040 -40C0 +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 11 11 0 -1 -BITMAP -00C0 -7F00 -0400 -3FC0 -2440 -3FC0 -0400 -7FE0 -4520 -5EA0 -40E0 +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 11 11 0 -1 -BITMAP -3FC0 -2440 -3FC0 -2440 -3FC0 -0400 -7FE0 -4520 -7EA0 -4020 -40E0 +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 +BITMAP 0400 FFE0 2A80 @@ -357194,26 +396775,26 @@ STARTCHAR U_79BC ENCODING 31164 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0780 -0400 -3F80 -2A80 -2480 -3F80 -0400 -7FC0 -4A40 -5F40 -40C0 +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 +BITMAP 0E00 3580 DF60 @@ -357231,7 +396812,7 @@ ENCODING 31166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 7F00 0400 @@ -357249,7 +396830,7 @@ ENCODING 31167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0400 @@ -357267,7 +396848,7 @@ ENCODING 31168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -357285,7 +396866,7 @@ ENCODING 31169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E100 2100 @@ -357303,7 +396884,7 @@ ENCODING 31170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -357321,7 +396902,7 @@ ENCODING 31171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C00 0400 @@ -357339,7 +396920,7 @@ ENCODING 31172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E7C0 2040 @@ -357357,7 +396938,7 @@ ENCODING 31173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 E780 2100 @@ -357375,7 +396956,7 @@ ENCODING 31174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E100 2100 @@ -357393,7 +396974,7 @@ ENCODING 31175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 E200 2200 @@ -357411,7 +396992,7 @@ ENCODING 31176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E080 2080 @@ -357429,7 +397010,7 @@ ENCODING 31177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 7E00 0400 @@ -357447,7 +397028,7 @@ ENCODING 31178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -357465,7 +397046,7 @@ ENCODING 31179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 2140 @@ -357483,7 +397064,7 @@ ENCODING 31180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2900 @@ -357501,7 +397082,7 @@ ENCODING 31181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 27E0 @@ -357519,7 +397100,7 @@ ENCODING 31182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 E280 2240 @@ -357537,7 +397118,7 @@ ENCODING 31183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 E700 2100 @@ -357555,7 +397136,7 @@ ENCODING 31184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 63C0 2000 @@ -357573,7 +397154,7 @@ ENCODING 31185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1840 E240 2140 @@ -357591,7 +397172,7 @@ ENCODING 31186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E100 2540 @@ -357609,7 +397190,7 @@ ENCODING 31187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 6100 27C0 @@ -357627,7 +397208,7 @@ ENCODING 31188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 E100 2FE0 @@ -357645,7 +397226,7 @@ ENCODING 31189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 E480 2480 @@ -357663,7 +397244,7 @@ ENCODING 31190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 E780 2480 @@ -357681,7 +397262,7 @@ ENCODING 31191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 6700 2100 @@ -357699,7 +397280,7 @@ ENCODING 31192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 E140 2240 @@ -357717,7 +397298,7 @@ ENCODING 31193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 6100 27E0 @@ -357735,7 +397316,7 @@ ENCODING 31194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 6540 2380 @@ -357753,7 +397334,7 @@ ENCODING 31195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 6080 27E0 @@ -357771,7 +397352,7 @@ ENCODING 31196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E420 2420 @@ -357789,7 +397370,7 @@ ENCODING 31197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 E700 2100 @@ -357807,7 +397388,7 @@ ENCODING 31198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E080 2080 @@ -357825,7 +397406,7 @@ ENCODING 31199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BC0 E240 2240 @@ -357843,7 +397424,7 @@ ENCODING 31200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 E7E0 2080 @@ -357861,7 +397442,7 @@ ENCODING 31201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 6240 27E0 @@ -357879,7 +397460,7 @@ ENCODING 31202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 2280 @@ -357897,7 +397478,7 @@ ENCODING 31203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E100 2FE0 @@ -357915,7 +397496,7 @@ ENCODING 31204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E080 24A0 @@ -357933,7 +397514,7 @@ ENCODING 31205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 2100 @@ -357951,7 +397532,7 @@ ENCODING 31206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -357969,7 +397550,7 @@ ENCODING 31207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E100 27C0 @@ -357987,7 +397568,7 @@ ENCODING 31208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 6400 27E0 @@ -358005,7 +397586,7 @@ ENCODING 31209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E280 23C0 @@ -358023,7 +397604,7 @@ ENCODING 31210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 E780 2480 @@ -358041,7 +397622,7 @@ ENCODING 31211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1980 E140 27E0 @@ -358059,7 +397640,7 @@ ENCODING 31212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E400 2400 @@ -358077,7 +397658,7 @@ ENCODING 31213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E0E0 2780 @@ -358095,7 +397676,7 @@ ENCODING 31214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E100 2240 @@ -358113,7 +397694,7 @@ ENCODING 31215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E3E0 2220 @@ -358131,7 +397712,7 @@ ENCODING 31216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A00 E200 27E0 @@ -358149,7 +397730,7 @@ ENCODING 31217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 67E0 2420 @@ -358167,7 +397748,7 @@ ENCODING 31218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 27C0 @@ -358185,7 +397766,7 @@ ENCODING 31219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 60C0 2700 @@ -358203,7 +397784,7 @@ ENCODING 31220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6100 2280 @@ -358221,7 +397802,7 @@ ENCODING 31221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 67E0 2520 @@ -358239,7 +397820,7 @@ ENCODING 31222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 4FE0 3240 @@ -358257,7 +397838,7 @@ ENCODING 31223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E100 2200 @@ -358275,7 +397856,7 @@ ENCODING 31224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E080 27E0 @@ -358293,7 +397874,7 @@ ENCODING 31225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 6260 2580 @@ -358311,7 +397892,7 @@ ENCODING 31226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7E0 2420 @@ -358329,7 +397910,7 @@ ENCODING 31227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E3E0 2420 @@ -358347,7 +397928,7 @@ ENCODING 31228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6500 27C0 @@ -358365,7 +397946,7 @@ ENCODING 31229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E4A0 24A0 @@ -358383,7 +397964,7 @@ ENCODING 31230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6FE0 2920 @@ -358401,7 +397982,7 @@ ENCODING 31231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 6FE0 2100 @@ -358419,7 +398000,7 @@ ENCODING 31232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B60 E080 2360 @@ -358437,7 +398018,7 @@ ENCODING 31233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3F80 @@ -358455,7 +398036,7 @@ ENCODING 31234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 2440 @@ -358473,7 +398054,7 @@ ENCODING 31235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 E720 2540 @@ -358491,7 +398072,7 @@ ENCODING 31236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E240 27A0 @@ -358509,7 +398090,7 @@ ENCODING 31237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E240 2420 @@ -358527,7 +398108,7 @@ ENCODING 31238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 E220 2220 @@ -358545,7 +398126,7 @@ ENCODING 31239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 6FE0 2920 @@ -358563,7 +398144,7 @@ ENCODING 31240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E440 27C0 @@ -358581,7 +398162,7 @@ ENCODING 31241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 6100 27C0 @@ -358599,7 +398180,7 @@ ENCODING 31242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 E280 27E0 @@ -358617,7 +398198,7 @@ ENCODING 31243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E440 2440 @@ -358635,7 +398216,7 @@ ENCODING 31244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E280 2440 @@ -358653,7 +398234,7 @@ ENCODING 31245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1920 E540 2100 @@ -358671,7 +398252,7 @@ ENCODING 31246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 E280 27C0 @@ -358689,7 +398270,7 @@ ENCODING 31247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 EFE0 2280 @@ -358707,7 +398288,7 @@ ENCODING 31248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E280 2440 @@ -358725,7 +398306,7 @@ ENCODING 31249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 2100 @@ -358743,7 +398324,7 @@ ENCODING 31250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E520 2520 @@ -358761,7 +398342,7 @@ ENCODING 31251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 E7E0 2240 @@ -358779,7 +398360,7 @@ ENCODING 31252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E280 2540 @@ -358797,7 +398378,7 @@ ENCODING 31253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7E0 2240 @@ -358815,7 +398396,7 @@ ENCODING 31254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 67C0 2000 @@ -358833,7 +398414,7 @@ ENCODING 31255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7E0 24A0 @@ -358851,7 +398432,7 @@ ENCODING 31256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 E7E0 2240 @@ -358869,7 +398450,7 @@ ENCODING 31257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2100 @@ -358887,7 +398468,7 @@ ENCODING 31258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1300 E280 27E0 @@ -358905,7 +398486,7 @@ ENCODING 31259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E4A0 2720 @@ -358923,7 +398504,7 @@ ENCODING 31260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 2100 @@ -358941,7 +398522,7 @@ ENCODING 31261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 6EE0 2AA0 @@ -358959,7 +398540,7 @@ ENCODING 31262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E540 27C0 @@ -358977,7 +398558,7 @@ ENCODING 31263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2F40 @@ -358995,7 +398576,7 @@ ENCODING 31264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E520 27A0 @@ -359013,7 +398594,7 @@ ENCODING 31265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 67E0 2000 @@ -359031,7 +398612,7 @@ ENCODING 31266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 E0A0 2FE0 @@ -359049,7 +398630,7 @@ ENCODING 31267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7B80 9080 @@ -359067,7 +398648,7 @@ ENCODING 31268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 67E0 2000 @@ -359085,7 +398666,7 @@ ENCODING 31269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -359103,7 +398684,7 @@ ENCODING 31270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 2240 @@ -359121,7 +398702,7 @@ ENCODING 31271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 67E0 22A0 @@ -359139,7 +398720,7 @@ ENCODING 31272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2820 @@ -359156,8 +398737,8 @@ STARTCHAR U_7A29 ENCODING 31273 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1FC0 E540 27C0 @@ -359175,7 +398756,7 @@ ENCODING 31274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 67E0 2C40 @@ -359193,7 +398774,7 @@ ENCODING 31275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E000 23C0 @@ -359211,7 +398792,7 @@ ENCODING 31276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 67E0 2100 @@ -359229,7 +398810,7 @@ ENCODING 31277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 66A0 24C0 @@ -359247,7 +398828,7 @@ ENCODING 31278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E100 27E0 @@ -359265,7 +398846,7 @@ ENCODING 31279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 16A0 E520 26A0 @@ -359283,7 +398864,7 @@ ENCODING 31280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E120 25C0 @@ -359301,7 +398882,7 @@ ENCODING 31281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 E720 2920 @@ -359319,7 +398900,7 @@ ENCODING 31282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 67A0 2520 @@ -359337,7 +398918,7 @@ ENCODING 31283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 E3C0 2480 @@ -359355,7 +398936,7 @@ ENCODING 31284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 6FE0 2280 @@ -359373,7 +398954,7 @@ ENCODING 31285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 6280 2FE0 @@ -359391,7 +398972,7 @@ ENCODING 31286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 18C0 60A0 2FE0 @@ -359409,7 +398990,7 @@ ENCODING 31287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E520 27E0 @@ -359427,7 +399008,7 @@ ENCODING 31288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2200 @@ -359445,7 +399026,7 @@ ENCODING 31289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2100 @@ -359463,7 +399044,7 @@ ENCODING 31290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 6420 27E0 @@ -359481,7 +399062,7 @@ ENCODING 31291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 E720 2520 @@ -359499,7 +399080,7 @@ ENCODING 31292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7E0 2420 @@ -359517,7 +399098,7 @@ ENCODING 31293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EFE0 2520 @@ -359535,7 +399116,7 @@ ENCODING 31294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -359553,7 +399134,7 @@ ENCODING 31295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E7E0 2240 @@ -359571,7 +399152,7 @@ ENCODING 31296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -359589,7 +399170,7 @@ ENCODING 31297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A80 6FE0 2280 @@ -359607,7 +399188,7 @@ ENCODING 31298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6FE0 2100 @@ -359625,7 +399206,7 @@ ENCODING 31299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2820 @@ -359643,7 +399224,7 @@ ENCODING 31300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 E7E0 29A0 @@ -359661,7 +399242,7 @@ ENCODING 31301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 CFE0 4940 @@ -359679,7 +399260,7 @@ ENCODING 31302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7E0 2420 @@ -359697,7 +399278,7 @@ ENCODING 31303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 F7A0 2440 @@ -359715,7 +399296,7 @@ ENCODING 31304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9080 @@ -359733,7 +399314,7 @@ ENCODING 31305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 6820 2FE0 @@ -359751,7 +399332,7 @@ ENCODING 31306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1EE0 EA40 2EC0 @@ -359769,7 +399350,7 @@ ENCODING 31307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 E120 25A0 @@ -359787,7 +399368,7 @@ ENCODING 31308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7380 9080 @@ -359805,7 +399386,7 @@ ENCODING 31309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2100 @@ -359823,7 +399404,7 @@ ENCODING 31310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 6080 4BE0 @@ -359841,7 +399422,7 @@ ENCODING 31311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 6F40 2580 @@ -359859,7 +399440,7 @@ ENCODING 31312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1B80 6500 27C0 @@ -359877,7 +399458,7 @@ ENCODING 31313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2920 @@ -359895,7 +399476,7 @@ ENCODING 31314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFC0 @@ -359913,7 +399494,7 @@ ENCODING 31315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E940 2FC0 @@ -359931,7 +399512,7 @@ ENCODING 31316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 E7E0 2280 @@ -359949,7 +399530,7 @@ ENCODING 31317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 6FE0 3480 @@ -359967,7 +399548,7 @@ ENCODING 31318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 E520 2BC0 @@ -359985,7 +399566,7 @@ ENCODING 31319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2540 @@ -360003,7 +399584,7 @@ ENCODING 31320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 2100 @@ -360021,7 +399602,7 @@ ENCODING 31321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1AA0 66C0 2FE0 @@ -360039,7 +399620,7 @@ ENCODING 31322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E100 2FE0 @@ -360057,7 +399638,7 @@ ENCODING 31323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3500 E7E0 2500 @@ -360075,7 +399656,7 @@ ENCODING 31324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2280 @@ -360093,7 +399674,7 @@ ENCODING 31325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 6440 27C0 @@ -360111,7 +399692,7 @@ ENCODING 31326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BC0 E480 27C0 @@ -360129,7 +399710,7 @@ ENCODING 31327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 E980 2FE0 @@ -360147,7 +399728,7 @@ ENCODING 31328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 EFE0 2AA0 @@ -360165,7 +399746,7 @@ ENCODING 31329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2540 @@ -360183,7 +399764,7 @@ ENCODING 31330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15E0 E500 2FE0 @@ -360201,7 +399782,7 @@ ENCODING 31331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6FE0 2440 @@ -360219,7 +399800,7 @@ ENCODING 31332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 6100 2FE0 @@ -360237,7 +399818,7 @@ ENCODING 31333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 CDE0 4920 @@ -360255,7 +399836,7 @@ ENCODING 31334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6FE0 2820 @@ -360273,7 +399854,7 @@ ENCODING 31335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 26A0 @@ -360291,7 +399872,7 @@ ENCODING 31336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27C0 FD40 @@ -360309,7 +399890,7 @@ ENCODING 31337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E540 2FE0 @@ -360327,7 +399908,7 @@ ENCODING 31338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 6540 2920 @@ -360345,7 +399926,7 @@ ENCODING 31339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 EFE0 2440 @@ -360363,7 +399944,7 @@ ENCODING 31340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2940 @@ -360381,7 +399962,7 @@ ENCODING 31341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1700 E7C0 2D40 @@ -360399,7 +399980,7 @@ ENCODING 31342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2AA0 @@ -360417,7 +399998,7 @@ ENCODING 31343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 EFE0 2100 @@ -360435,7 +400016,7 @@ ENCODING 31344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 EFE0 2AA0 @@ -360453,7 +400034,7 @@ ENCODING 31345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 E940 2FE0 @@ -360471,7 +400052,7 @@ ENCODING 31346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 CAA0 4AA0 @@ -360489,7 +400070,7 @@ ENCODING 31347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1540 6FE0 2440 @@ -360506,44 +400087,44 @@ STARTCHAR U_7A74 ENCODING 31348 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +0800 0400 -0200 -7FE0 -4020 -4920 -0900 -0900 -1080 -1080 -2060 -4020 +FFC0 +8040 +9240 +1200 +1200 +2100 +2100 +40C0 +8040 ENDCHAR STARTCHAR U_7A75 ENCODING 31349 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -4920 -1080 -2040 -5E00 +BBX 10 11 1 -1 +BITMAP 0400 +FFC0 +9240 +2100 +4080 +BC00 0800 -1040 -2040 -1FC0 +1000 +2080 +4080 +3F80 ENDCHAR STARTCHAR U_7A76 ENCODING 31350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360561,7 +400142,7 @@ ENCODING 31351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -360579,7 +400160,7 @@ ENCODING 31352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9220 @@ -360597,7 +400178,7 @@ ENCODING 31353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360615,7 +400196,7 @@ ENCODING 31354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4020 @@ -360633,7 +400214,7 @@ ENCODING 31355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -360651,7 +400232,7 @@ ENCODING 31356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4140 @@ -360669,7 +400250,7 @@ ENCODING 31357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -360687,7 +400268,7 @@ ENCODING 31358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360705,7 +400286,7 @@ ENCODING 31359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360723,7 +400304,7 @@ ENCODING 31360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360741,7 +400322,7 @@ ENCODING 31361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4920 @@ -360759,7 +400340,7 @@ ENCODING 31362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 A120 @@ -360777,7 +400358,7 @@ ENCODING 31363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360794,26 +400375,26 @@ STARTCHAR U_7A84 ENCODING 31364 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -4920 -1080 -3040 -1FE0 -2400 -47C0 -0400 -07E0 -0400 +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 +BITMAP 0400 FFE0 9120 @@ -360831,7 +400412,7 @@ ENCODING 31366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -360849,7 +400430,7 @@ ENCODING 31367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -360867,7 +400448,7 @@ ENCODING 31368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -360885,7 +400466,7 @@ ENCODING 31369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360903,7 +400484,7 @@ ENCODING 31370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360921,7 +400502,7 @@ ENCODING 31371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -360939,7 +400520,7 @@ ENCODING 31372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360957,7 +400538,7 @@ ENCODING 31373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -360975,7 +400556,7 @@ ENCODING 31374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -360993,7 +400574,7 @@ ENCODING 31375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361011,7 +400592,7 @@ ENCODING 31376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361029,7 +400610,7 @@ ENCODING 31377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361047,7 +400628,7 @@ ENCODING 31378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361065,7 +400646,7 @@ ENCODING 31379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 FFE0 8220 @@ -361083,7 +400664,7 @@ ENCODING 31380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361101,7 +400682,7 @@ ENCODING 31381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -361119,7 +400700,7 @@ ENCODING 31382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -361136,26 +400717,26 @@ STARTCHAR U_7A97 ENCODING 31383 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0200 -7FE0 -50A0 -2440 -7FE0 -2440 -2FC0 -3940 -2640 -2940 -3FC0 +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 +BITMAP 0400 FFE0 9120 @@ -361173,7 +400754,7 @@ ENCODING 31385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9520 @@ -361191,7 +400772,7 @@ ENCODING 31386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -361209,7 +400790,7 @@ ENCODING 31387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361227,7 +400808,7 @@ ENCODING 31388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361245,7 +400826,7 @@ ENCODING 31389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361263,7 +400844,7 @@ ENCODING 31390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361281,7 +400862,7 @@ ENCODING 31391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361299,7 +400880,7 @@ ENCODING 31392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361317,7 +400898,7 @@ ENCODING 31393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 A0A0 @@ -361335,7 +400916,7 @@ ENCODING 31394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 92A0 @@ -361353,7 +400934,7 @@ ENCODING 31395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361371,7 +400952,7 @@ ENCODING 31396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361389,7 +400970,7 @@ ENCODING 31397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361407,7 +400988,7 @@ ENCODING 31398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -361425,7 +401006,7 @@ ENCODING 31399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 A0A0 @@ -361443,7 +401024,7 @@ ENCODING 31400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -361461,7 +401042,7 @@ ENCODING 31401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361479,7 +401060,7 @@ ENCODING 31402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361497,7 +401078,7 @@ ENCODING 31403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361515,7 +401096,7 @@ ENCODING 31404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361533,7 +401114,7 @@ ENCODING 31405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 24A0 @@ -361551,7 +401132,7 @@ ENCODING 31406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361569,7 +401150,7 @@ ENCODING 31407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -361587,7 +401168,7 @@ ENCODING 31408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361605,7 +401186,7 @@ ENCODING 31409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361623,7 +401204,7 @@ ENCODING 31410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9220 @@ -361641,7 +401222,7 @@ ENCODING 31411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361659,7 +401240,7 @@ ENCODING 31412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361677,7 +401258,7 @@ ENCODING 31413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361695,7 +401276,7 @@ ENCODING 31414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361713,7 +401294,7 @@ ENCODING 31415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361731,7 +401312,7 @@ ENCODING 31416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361749,7 +401330,7 @@ ENCODING 31417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361767,7 +401348,7 @@ ENCODING 31418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -361785,7 +401366,7 @@ ENCODING 31419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A8A0 @@ -361803,7 +401384,7 @@ ENCODING 31420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 B540 @@ -361821,7 +401402,7 @@ ENCODING 31421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361839,7 +401420,7 @@ ENCODING 31422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -361857,7 +401438,7 @@ ENCODING 31423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 90A0 @@ -361875,7 +401456,7 @@ ENCODING 31424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -361893,7 +401474,7 @@ ENCODING 31425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A8A0 @@ -361911,7 +401492,7 @@ ENCODING 31426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -361929,7 +401510,7 @@ ENCODING 31427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -361947,7 +401528,7 @@ ENCODING 31428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -361965,7 +401546,7 @@ ENCODING 31429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A120 @@ -361983,7 +401564,7 @@ ENCODING 31430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A0A0 @@ -362001,7 +401582,7 @@ ENCODING 31431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -362019,7 +401600,7 @@ ENCODING 31432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 A4A0 @@ -362037,7 +401618,7 @@ ENCODING 31433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 52A0 @@ -362055,7 +401636,7 @@ ENCODING 31434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -362073,7 +401654,7 @@ ENCODING 31435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 7FE0 @@ -362091,7 +401672,7 @@ ENCODING 31436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2380 FA80 @@ -362109,7 +401690,7 @@ ENCODING 31437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1100 FD00 @@ -362127,7 +401708,7 @@ ENCODING 31438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1080 @@ -362145,7 +401726,7 @@ ENCODING 31439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F900 @@ -362163,7 +401744,7 @@ ENCODING 31440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -362181,7 +401762,7 @@ ENCODING 31441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FBE0 @@ -362199,7 +401780,7 @@ ENCODING 31442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -362217,7 +401798,7 @@ ENCODING 31443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23C0 F900 @@ -362235,7 +401816,7 @@ ENCODING 31444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2640 FA40 @@ -362253,7 +401834,7 @@ ENCODING 31445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 FA40 @@ -362271,7 +401852,7 @@ ENCODING 31446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 5440 5280 @@ -362289,7 +401870,7 @@ ENCODING 31447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -362307,7 +401888,7 @@ ENCODING 31448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -362325,7 +401906,7 @@ ENCODING 31449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F9E0 @@ -362343,7 +401924,7 @@ ENCODING 31450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F820 @@ -362361,7 +401942,7 @@ ENCODING 31451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 0500 @@ -362379,7 +401960,7 @@ ENCODING 31452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -362397,7 +401978,7 @@ ENCODING 31453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0000 @@ -362414,26 +401995,26 @@ STARTCHAR U_7ADE ENCODING 31454 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -3FC0 -0900 -7FE0 +BBX 10 11 1 -1 +BITMAP +0800 +7F80 +1200 +FFC0 0000 -1F80 -1080 -1F80 -0A20 -1220 -61E0 +3F00 +2100 +3F00 +1440 +2440 +C3C0 ENDCHAR STARTCHAR U_7ADF ENCODING 31455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -362451,7 +402032,7 @@ ENCODING 31456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -362469,7 +402050,7 @@ ENCODING 31457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 FA00 @@ -362487,7 +402068,7 @@ ENCODING 31458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2440 FFE0 @@ -362505,7 +402086,7 @@ ENCODING 31459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2240 F7A0 @@ -362523,7 +402104,7 @@ ENCODING 31460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 27E0 FD20 @@ -362541,7 +402122,7 @@ ENCODING 31461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -362559,7 +402140,7 @@ ENCODING 31462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -362577,7 +402158,7 @@ ENCODING 31463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 FC40 @@ -362595,7 +402176,7 @@ ENCODING 31464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 21E0 F900 @@ -362613,7 +402194,7 @@ ENCODING 31465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4100 27E0 @@ -362631,7 +402212,7 @@ ENCODING 31466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 53C0 7A40 @@ -362649,7 +402230,7 @@ ENCODING 31467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 FC80 @@ -362667,7 +402248,7 @@ ENCODING 31468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2100 F7C0 @@ -362685,7 +402266,7 @@ ENCODING 31469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -362703,7 +402284,7 @@ ENCODING 31470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 FFE0 @@ -362721,7 +402302,7 @@ ENCODING 31471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4520 F7E0 @@ -362739,7 +402320,7 @@ ENCODING 31472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2800 FBE0 @@ -362757,7 +402338,7 @@ ENCODING 31473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F540 @@ -362775,7 +402356,7 @@ ENCODING 31474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 4280 2FE0 @@ -362793,7 +402374,7 @@ ENCODING 31475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 4F40 2AA0 @@ -362811,7 +402392,7 @@ ENCODING 31476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 4FE0 F280 @@ -362829,7 +402410,7 @@ ENCODING 31477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2040 FFE0 @@ -362847,7 +402428,7 @@ ENCODING 31478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 5140 @@ -362865,7 +402446,7 @@ ENCODING 31479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FE40 5180 @@ -362883,7 +402464,7 @@ ENCODING 31480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 5280 @@ -362901,7 +402482,7 @@ ENCODING 31481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 7BE0 @@ -362919,7 +402500,7 @@ ENCODING 31482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3DE0 @@ -362937,7 +402518,7 @@ ENCODING 31483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -362955,7 +402536,7 @@ ENCODING 31484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -362973,7 +402554,7 @@ ENCODING 31485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -362991,7 +402572,7 @@ ENCODING 31486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5140 @@ -363009,7 +402590,7 @@ ENCODING 31487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363027,7 +402608,7 @@ ENCODING 31488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3DE0 @@ -363045,7 +402626,7 @@ ENCODING 31489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363063,7 +402644,7 @@ ENCODING 31490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5680 @@ -363081,7 +402662,7 @@ ENCODING 31491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A500 @@ -363099,7 +402680,7 @@ ENCODING 31492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -363117,7 +402698,7 @@ ENCODING 31493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363135,7 +402716,7 @@ ENCODING 31494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363153,7 +402734,7 @@ ENCODING 31495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5500 @@ -363171,7 +402752,7 @@ ENCODING 31496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -363189,7 +402770,7 @@ ENCODING 31497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363207,7 +402788,7 @@ ENCODING 31498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A500 @@ -363225,7 +402806,7 @@ ENCODING 31499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 39E0 5280 @@ -363243,7 +402824,7 @@ ENCODING 31500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -363261,7 +402842,7 @@ ENCODING 31501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363279,7 +402860,7 @@ ENCODING 31502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 39E0 5280 @@ -363296,26 +402877,26 @@ STARTCHAR U_7B0F ENCODING 31503 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2100 -3DE0 +BBX 10 11 1 -1 +BITMAP +4200 +7BC0 +9500 +2000 +3F80 4A80 -1000 -1FC0 -2540 -4940 -1240 -2440 -0840 -1180 +9280 +2480 +4880 +1080 +2300 ENDCHAR STARTCHAR U_7B10 ENCODING 31504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -363333,7 +402914,7 @@ ENCODING 31505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -363351,7 +402932,7 @@ ENCODING 31506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9280 @@ -363369,7 +402950,7 @@ ENCODING 31507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363387,7 +402968,7 @@ ENCODING 31508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -363405,7 +402986,7 @@ ENCODING 31509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363423,7 +403004,7 @@ ENCODING 31510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363441,7 +403022,7 @@ ENCODING 31511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -363459,7 +403040,7 @@ ENCODING 31512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363477,7 +403058,7 @@ ENCODING 31513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -363495,7 +403076,7 @@ ENCODING 31514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -363513,7 +403094,7 @@ ENCODING 31515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363531,7 +403112,7 @@ ENCODING 31516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 5480 @@ -363549,7 +403130,7 @@ ENCODING 31517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -363567,7 +403148,7 @@ ENCODING 31518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -363585,7 +403166,7 @@ ENCODING 31519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7FE0 5280 @@ -363603,7 +403184,7 @@ ENCODING 31520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A500 @@ -363621,7 +403202,7 @@ ENCODING 31521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -363639,7 +403220,7 @@ ENCODING 31522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 9080 @@ -363657,7 +403238,7 @@ ENCODING 31523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9280 @@ -363675,7 +403256,7 @@ ENCODING 31524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -363693,7 +403274,7 @@ ENCODING 31525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 8A80 @@ -363711,7 +403292,7 @@ ENCODING 31526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363729,7 +403310,7 @@ ENCODING 31527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -363747,7 +403328,7 @@ ENCODING 31528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 A680 @@ -363765,7 +403346,7 @@ ENCODING 31529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5080 @@ -363783,7 +403364,7 @@ ENCODING 31530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -363801,7 +403382,7 @@ ENCODING 31531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5480 @@ -363819,7 +403400,7 @@ ENCODING 31532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -363837,7 +403418,7 @@ ENCODING 31533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -363855,7 +403436,7 @@ ENCODING 31534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363873,7 +403454,7 @@ ENCODING 31535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -363891,7 +403472,7 @@ ENCODING 31536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9240 @@ -363909,7 +403490,7 @@ ENCODING 31537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -363927,7 +403508,7 @@ ENCODING 31538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363945,7 +403526,7 @@ ENCODING 31539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -363963,7 +403544,7 @@ ENCODING 31540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363981,7 +403562,7 @@ ENCODING 31541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -363999,7 +403580,7 @@ ENCODING 31542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5280 @@ -364017,7 +403598,7 @@ ENCODING 31543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364035,7 +403616,7 @@ ENCODING 31544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364053,7 +403634,7 @@ ENCODING 31545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 2900 @@ -364071,7 +403652,7 @@ ENCODING 31546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364089,7 +403670,7 @@ ENCODING 31547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -364107,7 +403688,7 @@ ENCODING 31548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -364125,7 +403706,7 @@ ENCODING 31549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3DE0 @@ -364143,7 +403724,7 @@ ENCODING 31550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9280 @@ -364161,7 +403742,7 @@ ENCODING 31551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BC0 5500 @@ -364179,7 +403760,7 @@ ENCODING 31552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364197,7 +403778,7 @@ ENCODING 31553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 A280 @@ -364215,7 +403796,7 @@ ENCODING 31554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 7FE0 @@ -364233,7 +403814,7 @@ ENCODING 31555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7FE0 9280 @@ -364251,7 +403832,7 @@ ENCODING 31556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -364269,7 +403850,7 @@ ENCODING 31557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -364287,7 +403868,7 @@ ENCODING 31558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9440 @@ -364305,7 +403886,7 @@ ENCODING 31559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364323,7 +403904,7 @@ ENCODING 31560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A40 @@ -364341,7 +403922,7 @@ ENCODING 31561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364359,7 +403940,7 @@ ENCODING 31562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -364377,7 +403958,7 @@ ENCODING 31563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -364395,7 +403976,7 @@ ENCODING 31564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364413,7 +403994,7 @@ ENCODING 31565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9440 @@ -364431,7 +404012,7 @@ ENCODING 31566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364449,7 +404030,7 @@ ENCODING 31567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 4C40 @@ -364467,7 +404048,7 @@ ENCODING 31568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364485,7 +404066,7 @@ ENCODING 31569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364503,7 +404084,7 @@ ENCODING 31570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -364521,7 +404102,7 @@ ENCODING 31571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5480 @@ -364539,7 +404120,7 @@ ENCODING 31572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5680 @@ -364557,7 +404138,7 @@ ENCODING 31573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364575,7 +404156,7 @@ ENCODING 31574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A280 @@ -364593,7 +404174,7 @@ ENCODING 31575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364611,7 +404192,7 @@ ENCODING 31576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364629,7 +404210,7 @@ ENCODING 31577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364647,7 +404228,7 @@ ENCODING 31578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364665,7 +404246,7 @@ ENCODING 31579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -364683,7 +404264,7 @@ ENCODING 31580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5480 @@ -364701,7 +404282,7 @@ ENCODING 31581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3BE0 5480 @@ -364719,7 +404300,7 @@ ENCODING 31582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364737,7 +404318,7 @@ ENCODING 31583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364755,7 +404336,7 @@ ENCODING 31584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 A500 @@ -364773,7 +404354,7 @@ ENCODING 31585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -364791,7 +404372,7 @@ ENCODING 31586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364809,7 +404390,7 @@ ENCODING 31587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -364827,7 +404408,7 @@ ENCODING 31588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -364845,7 +404426,7 @@ ENCODING 31589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -364863,7 +404444,7 @@ ENCODING 31590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 A480 @@ -364881,7 +404462,7 @@ ENCODING 31591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5240 @@ -364899,7 +404480,7 @@ ENCODING 31592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364917,7 +404498,7 @@ ENCODING 31593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -364935,7 +404516,7 @@ ENCODING 31594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364953,7 +404534,7 @@ ENCODING 31595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364971,7 +404552,7 @@ ENCODING 31596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -364989,7 +404570,7 @@ ENCODING 31597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365007,7 +404588,7 @@ ENCODING 31598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -365025,7 +404606,7 @@ ENCODING 31599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365043,7 +404624,7 @@ ENCODING 31600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 4480 @@ -365061,7 +404642,7 @@ ENCODING 31601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -365079,7 +404660,7 @@ ENCODING 31602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365097,7 +404678,7 @@ ENCODING 31603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365115,7 +404696,7 @@ ENCODING 31604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -365133,7 +404714,7 @@ ENCODING 31605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365151,7 +404732,7 @@ ENCODING 31606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365169,7 +404750,7 @@ ENCODING 31607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -365187,7 +404768,7 @@ ENCODING 31608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9440 @@ -365205,7 +404786,7 @@ ENCODING 31609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FC0 @@ -365223,7 +404804,7 @@ ENCODING 31610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365241,7 +404822,7 @@ ENCODING 31611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A480 1440 @@ -365259,7 +404840,7 @@ ENCODING 31612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365277,7 +404858,7 @@ ENCODING 31613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365295,7 +404876,7 @@ ENCODING 31614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -365313,7 +404894,7 @@ ENCODING 31615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365331,7 +404912,7 @@ ENCODING 31616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365349,7 +404930,7 @@ ENCODING 31617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5280 @@ -365367,7 +404948,7 @@ ENCODING 31618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365385,7 +404966,7 @@ ENCODING 31619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365403,7 +404984,7 @@ ENCODING 31620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365421,7 +405002,7 @@ ENCODING 31621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -365439,7 +405020,7 @@ ENCODING 31622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365456,26 +405037,26 @@ STARTCHAR U_7B87 ENCODING 31623 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2100 -3DE0 -5280 -7FE0 -4420 -5FA0 -4420 -4F20 -4920 -7FE0 -4020 +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 +BITMAP 4200 7BE0 9480 @@ -365493,7 +405074,7 @@ ENCODING 31625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365511,7 +405092,7 @@ ENCODING 31626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365529,7 +405110,7 @@ ENCODING 31627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 0A40 @@ -365547,7 +405128,7 @@ ENCODING 31628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365565,7 +405146,7 @@ ENCODING 31629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5280 AA40 @@ -365583,7 +405164,7 @@ ENCODING 31630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5480 8FC0 @@ -365601,7 +405182,7 @@ ENCODING 31631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FC0 @@ -365619,7 +405200,7 @@ ENCODING 31632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365637,7 +405218,7 @@ ENCODING 31633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -365655,7 +405236,7 @@ ENCODING 31634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365673,7 +405254,7 @@ ENCODING 31635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365691,7 +405272,7 @@ ENCODING 31636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365709,7 +405290,7 @@ ENCODING 31637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9500 @@ -365727,7 +405308,7 @@ ENCODING 31638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365745,7 +405326,7 @@ ENCODING 31639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5240 BF80 @@ -365763,7 +405344,7 @@ ENCODING 31640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -365781,7 +405362,7 @@ ENCODING 31641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365799,7 +405380,7 @@ ENCODING 31642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365817,7 +405398,7 @@ ENCODING 31643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -365835,7 +405416,7 @@ ENCODING 31644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -365853,7 +405434,7 @@ ENCODING 31645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -365871,7 +405452,7 @@ ENCODING 31646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365889,7 +405470,7 @@ ENCODING 31647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365907,7 +405488,7 @@ ENCODING 31648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 3F80 @@ -365925,7 +405506,7 @@ ENCODING 31649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -365943,7 +405524,7 @@ ENCODING 31650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -365961,7 +405542,7 @@ ENCODING 31651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -365979,7 +405560,7 @@ ENCODING 31652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -365997,7 +405578,7 @@ ENCODING 31653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366015,7 +405596,7 @@ ENCODING 31654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366033,7 +405614,7 @@ ENCODING 31655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9080 @@ -366051,7 +405632,7 @@ ENCODING 31656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366069,7 +405650,7 @@ ENCODING 31657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366087,7 +405668,7 @@ ENCODING 31658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366105,7 +405686,7 @@ ENCODING 31659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366123,7 +405704,7 @@ ENCODING 31660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -366141,7 +405722,7 @@ ENCODING 31661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366159,7 +405740,7 @@ ENCODING 31662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366177,7 +405758,7 @@ ENCODING 31663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BE0 5480 @@ -366195,7 +405776,7 @@ ENCODING 31664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4A80 @@ -366213,7 +405794,7 @@ ENCODING 31665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -366231,7 +405812,7 @@ ENCODING 31666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366249,7 +405830,7 @@ ENCODING 31667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366267,7 +405848,7 @@ ENCODING 31668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -366285,7 +405866,7 @@ ENCODING 31669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9440 @@ -366303,7 +405884,7 @@ ENCODING 31670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366321,7 +405902,7 @@ ENCODING 31671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366339,7 +405920,7 @@ ENCODING 31672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -366357,7 +405938,7 @@ ENCODING 31673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366375,7 +405956,7 @@ ENCODING 31674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366393,7 +405974,7 @@ ENCODING 31675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366411,7 +405992,7 @@ ENCODING 31676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366429,7 +406010,7 @@ ENCODING 31677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FC0 4A80 @@ -366447,7 +406028,7 @@ ENCODING 31678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366465,7 +406046,7 @@ ENCODING 31679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366483,7 +406064,7 @@ ENCODING 31680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366501,7 +406082,7 @@ ENCODING 31681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 5500 BF80 @@ -366519,7 +406100,7 @@ ENCODING 31682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366537,7 +406118,7 @@ ENCODING 31683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366555,7 +406136,7 @@ ENCODING 31684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5240 @@ -366573,7 +406154,7 @@ ENCODING 31685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366591,7 +406172,7 @@ ENCODING 31686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366609,7 +406190,7 @@ ENCODING 31687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366627,7 +406208,7 @@ ENCODING 31688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366645,7 +406226,7 @@ ENCODING 31689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366663,7 +406244,7 @@ ENCODING 31690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366681,7 +406262,7 @@ ENCODING 31691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366699,7 +406280,7 @@ ENCODING 31692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366717,7 +406298,7 @@ ENCODING 31693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 CA80 @@ -366735,7 +406316,7 @@ ENCODING 31694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366753,7 +406334,7 @@ ENCODING 31695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366771,7 +406352,7 @@ ENCODING 31696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366789,7 +406370,7 @@ ENCODING 31697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 9480 @@ -366807,7 +406388,7 @@ ENCODING 31698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366825,7 +406406,7 @@ ENCODING 31699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9080 @@ -366843,7 +406424,7 @@ ENCODING 31700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366861,7 +406442,7 @@ ENCODING 31701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -366879,7 +406460,7 @@ ENCODING 31702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -366897,7 +406478,7 @@ ENCODING 31703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9280 @@ -366915,7 +406496,7 @@ ENCODING 31704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 3FC0 @@ -366933,7 +406514,7 @@ ENCODING 31705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -366951,7 +406532,7 @@ ENCODING 31706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9280 7FE0 @@ -366969,7 +406550,7 @@ ENCODING 31707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -366987,7 +406568,7 @@ ENCODING 31708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367005,7 +406586,7 @@ ENCODING 31709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9540 @@ -367023,7 +406604,7 @@ ENCODING 31710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 4FC0 @@ -367041,7 +406622,7 @@ ENCODING 31711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 1FE0 @@ -367059,7 +406640,7 @@ ENCODING 31712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367077,7 +406658,7 @@ ENCODING 31713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 3F80 @@ -367095,7 +406676,7 @@ ENCODING 31714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367113,7 +406694,7 @@ ENCODING 31715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -367131,7 +406712,7 @@ ENCODING 31716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 5480 BFE0 @@ -367149,7 +406730,7 @@ ENCODING 31717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367167,7 +406748,7 @@ ENCODING 31718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367185,7 +406766,7 @@ ENCODING 31719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -367203,7 +406784,7 @@ ENCODING 31720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7DE0 9240 @@ -367221,7 +406802,7 @@ ENCODING 31721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -367239,7 +406820,7 @@ ENCODING 31722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FC0 @@ -367257,7 +406838,7 @@ ENCODING 31723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FF80 @@ -367275,7 +406856,7 @@ ENCODING 31724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -367293,7 +406874,7 @@ ENCODING 31725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367311,7 +406892,7 @@ ENCODING 31726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 5480 @@ -367329,7 +406910,7 @@ ENCODING 31727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -367347,7 +406928,7 @@ ENCODING 31728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367365,7 +406946,7 @@ ENCODING 31729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367383,7 +406964,7 @@ ENCODING 31730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A500 @@ -367401,7 +406982,7 @@ ENCODING 31731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367419,7 +407000,7 @@ ENCODING 31732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 5280 @@ -367437,7 +407018,7 @@ ENCODING 31733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -367455,7 +407036,7 @@ ENCODING 31734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367473,7 +407054,7 @@ ENCODING 31735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 5380 @@ -367491,7 +407072,7 @@ ENCODING 31736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 AC80 1100 @@ -367509,7 +407090,7 @@ ENCODING 31737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 3FC0 @@ -367527,7 +407108,7 @@ ENCODING 31738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -367545,7 +407126,7 @@ ENCODING 31739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -367563,7 +407144,7 @@ ENCODING 31740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 5280 @@ -367581,7 +407162,7 @@ ENCODING 31741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367599,7 +407180,7 @@ ENCODING 31742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367617,7 +407198,7 @@ ENCODING 31743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FFE0 @@ -367635,7 +407216,7 @@ ENCODING 31744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367653,7 +407234,7 @@ ENCODING 31745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367671,7 +407252,7 @@ ENCODING 31746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -367689,7 +407270,7 @@ ENCODING 31747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 9280 @@ -367707,7 +407288,7 @@ ENCODING 31748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 5480 @@ -367725,7 +407306,7 @@ ENCODING 31749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -367743,7 +407324,7 @@ ENCODING 31750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FFE0 @@ -367761,7 +407342,7 @@ ENCODING 31751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9480 @@ -367779,7 +407360,7 @@ ENCODING 31752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5500 @@ -367797,7 +407378,7 @@ ENCODING 31753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367815,7 +407396,7 @@ ENCODING 31754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FC0 @@ -367833,7 +407414,7 @@ ENCODING 31755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -367851,7 +407432,7 @@ ENCODING 31756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367869,7 +407450,7 @@ ENCODING 31757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367887,7 +407468,7 @@ ENCODING 31758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9440 @@ -367905,7 +407486,7 @@ ENCODING 31759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367923,7 +407504,7 @@ ENCODING 31760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367941,7 +407522,7 @@ ENCODING 31761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -367959,7 +407540,7 @@ ENCODING 31762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5280 @@ -367977,7 +407558,7 @@ ENCODING 31763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4880 @@ -367995,7 +407576,7 @@ ENCODING 31764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 5500 @@ -368013,7 +407594,7 @@ ENCODING 31765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368031,7 +407612,7 @@ ENCODING 31766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -368049,7 +407630,7 @@ ENCODING 31767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368067,7 +407648,7 @@ ENCODING 31768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -368085,7 +407666,7 @@ ENCODING 31769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 4FE0 @@ -368103,7 +407684,7 @@ ENCODING 31770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5500 @@ -368121,7 +407702,7 @@ ENCODING 31771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 6480 @@ -368139,7 +407720,7 @@ ENCODING 31772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368157,7 +407738,7 @@ ENCODING 31773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FFC0 @@ -368175,7 +407756,7 @@ ENCODING 31774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368193,7 +407774,7 @@ ENCODING 31775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368211,7 +407792,7 @@ ENCODING 31776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FFE0 @@ -368229,7 +407810,7 @@ ENCODING 31777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -368247,7 +407828,7 @@ ENCODING 31778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9480 @@ -368265,7 +407846,7 @@ ENCODING 31779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368283,7 +407864,7 @@ ENCODING 31780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368301,7 +407882,7 @@ ENCODING 31781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 3F80 @@ -368319,7 +407900,7 @@ ENCODING 31782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7900 @@ -368337,7 +407918,7 @@ ENCODING 31783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9500 @@ -368355,7 +407936,7 @@ ENCODING 31784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 9480 7BC0 @@ -368373,7 +407954,7 @@ ENCODING 31785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368391,7 +407972,7 @@ ENCODING 31786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FBE0 @@ -368409,7 +407990,7 @@ ENCODING 31787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368427,7 +408008,7 @@ ENCODING 31788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368445,7 +408026,7 @@ ENCODING 31789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368463,7 +408044,7 @@ ENCODING 31790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368481,7 +408062,7 @@ ENCODING 31791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368499,7 +408080,7 @@ ENCODING 31792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 8A80 @@ -368517,7 +408098,7 @@ ENCODING 31793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5280 @@ -368535,7 +408116,7 @@ ENCODING 31794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5280 @@ -368553,7 +408134,7 @@ ENCODING 31795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368571,7 +408152,7 @@ ENCODING 31796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368589,7 +408170,7 @@ ENCODING 31797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5500 @@ -368607,7 +408188,7 @@ ENCODING 31798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FC0 5500 @@ -368625,7 +408206,7 @@ ENCODING 31799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9E80 @@ -368643,7 +408224,7 @@ ENCODING 31800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368661,7 +408242,7 @@ ENCODING 31801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 A480 @@ -368679,7 +408260,7 @@ ENCODING 31802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368697,7 +408278,7 @@ ENCODING 31803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 D280 @@ -368715,7 +408296,7 @@ ENCODING 31804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3DE0 4A80 @@ -368733,7 +408314,7 @@ ENCODING 31805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368751,7 +408332,7 @@ ENCODING 31806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -368769,7 +408350,7 @@ ENCODING 31807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 5FE0 @@ -368787,7 +408368,7 @@ ENCODING 31808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 27E0 @@ -368805,7 +408386,7 @@ ENCODING 31809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 21C0 @@ -368823,7 +408404,7 @@ ENCODING 31810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -368841,7 +408422,7 @@ ENCODING 31811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368859,7 +408440,7 @@ ENCODING 31812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5240 @@ -368877,7 +408458,7 @@ ENCODING 31813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 6EC0 @@ -368895,7 +408476,7 @@ ENCODING 31814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 4A40 @@ -368913,7 +408494,7 @@ ENCODING 31815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -368931,7 +408512,7 @@ ENCODING 31816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9240 7FE0 @@ -368949,7 +408530,7 @@ ENCODING 31817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A480 7FC0 @@ -368967,7 +408548,7 @@ ENCODING 31818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 7FE0 @@ -368985,7 +408566,7 @@ ENCODING 31819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369003,7 +408584,7 @@ ENCODING 31820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -369021,7 +408602,7 @@ ENCODING 31821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -369039,7 +408620,7 @@ ENCODING 31822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369057,7 +408638,7 @@ ENCODING 31823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5280 @@ -369075,7 +408656,7 @@ ENCODING 31824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -369093,7 +408674,7 @@ ENCODING 31825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5440 @@ -369111,7 +408692,7 @@ ENCODING 31826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 6480 @@ -369129,7 +408710,7 @@ ENCODING 31827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 4FC0 @@ -369147,7 +408728,7 @@ ENCODING 31828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -369165,7 +408746,7 @@ ENCODING 31829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5280 @@ -369183,7 +408764,7 @@ ENCODING 31830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 5240 @@ -369201,7 +408782,7 @@ ENCODING 31831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -369219,7 +408800,7 @@ ENCODING 31832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5540 @@ -369237,7 +408818,7 @@ ENCODING 31833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9280 @@ -369255,7 +408836,7 @@ ENCODING 31834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9240 7FE0 @@ -369273,7 +408854,7 @@ ENCODING 31835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 AC80 5240 @@ -369291,7 +408872,7 @@ ENCODING 31836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 2840 @@ -369309,7 +408890,7 @@ ENCODING 31837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7FE0 9480 @@ -369327,7 +408908,7 @@ ENCODING 31838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 4480 @@ -369345,7 +408926,7 @@ ENCODING 31839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -369363,7 +408944,7 @@ ENCODING 31840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9340 FDE0 @@ -369381,7 +408962,7 @@ ENCODING 31841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369399,7 +408980,7 @@ ENCODING 31842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369417,7 +408998,7 @@ ENCODING 31843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A480 7BE0 @@ -369435,7 +409016,7 @@ ENCODING 31844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A540 3540 @@ -369453,7 +409034,7 @@ ENCODING 31845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 9440 @@ -369471,7 +409052,7 @@ ENCODING 31846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A480 53C0 @@ -369489,7 +409070,7 @@ ENCODING 31847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5480 9FE0 @@ -369507,7 +409088,7 @@ ENCODING 31848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369525,7 +409106,7 @@ ENCODING 31849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 5480 8440 @@ -369543,7 +409124,7 @@ ENCODING 31850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 8A80 @@ -369561,7 +409142,7 @@ ENCODING 31851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 A540 FBE0 @@ -369579,7 +409160,7 @@ ENCODING 31852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9280 FE80 @@ -369597,7 +409178,7 @@ ENCODING 31853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369615,7 +409196,7 @@ ENCODING 31854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7FE0 C940 @@ -369633,7 +409214,7 @@ ENCODING 31855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 FFE0 @@ -369651,7 +409232,7 @@ ENCODING 31856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3FE0 5480 @@ -369669,7 +409250,7 @@ ENCODING 31857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 5480 @@ -369687,7 +409268,7 @@ ENCODING 31858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 9240 @@ -369705,7 +409286,7 @@ ENCODING 31859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 2480 @@ -369723,7 +409304,7 @@ ENCODING 31860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 0600 0900 @@ -369741,7 +409322,7 @@ ENCODING 31861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A880 7080 @@ -369759,7 +409340,7 @@ ENCODING 31862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 A780 7480 @@ -369777,7 +409358,7 @@ ENCODING 31863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 A8C0 7700 @@ -369795,7 +409376,7 @@ ENCODING 31864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AFC0 7240 @@ -369813,7 +409394,7 @@ ENCODING 31865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7100 @@ -369831,7 +409412,7 @@ ENCODING 31866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AA00 73E0 @@ -369849,7 +409430,7 @@ ENCODING 31867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -369867,7 +409448,7 @@ ENCODING 31868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A880 7080 @@ -369885,7 +409466,7 @@ ENCODING 31869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 A840 7080 @@ -369903,7 +409484,7 @@ ENCODING 31870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABE0 7120 @@ -369921,7 +409502,7 @@ ENCODING 31871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 A840 7040 @@ -369939,7 +409520,7 @@ ENCODING 31872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A880 77E0 @@ -369957,7 +409538,7 @@ ENCODING 31873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 AB80 7080 @@ -369975,7 +409556,7 @@ ENCODING 31874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F00 2200 @@ -369993,7 +409574,7 @@ ENCODING 31875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AC80 74A0 @@ -370011,7 +409592,7 @@ ENCODING 31876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 AF00 7400 @@ -370029,7 +409610,7 @@ ENCODING 31877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AA00 73E0 @@ -370047,7 +409628,7 @@ ENCODING 31878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7180 @@ -370065,7 +409646,7 @@ ENCODING 31879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A900 77E0 @@ -370083,7 +409664,7 @@ ENCODING 31880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AFC0 7240 @@ -370101,7 +409682,7 @@ ENCODING 31881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AA80 7240 @@ -370119,7 +409700,7 @@ ENCODING 31882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7A80 4320 @@ -370137,7 +409718,7 @@ ENCODING 31883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AA00 7780 @@ -370155,7 +409736,7 @@ ENCODING 31884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 A8A0 70A0 @@ -370173,7 +409754,7 @@ ENCODING 31885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 AF00 7100 @@ -370191,7 +409772,7 @@ ENCODING 31886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABC0 7240 @@ -370209,7 +409790,7 @@ ENCODING 31887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7100 @@ -370227,7 +409808,7 @@ ENCODING 31888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A880 73E0 @@ -370245,7 +409826,7 @@ ENCODING 31889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 ABE0 72A0 @@ -370263,7 +409844,7 @@ ENCODING 31890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A880 77E0 @@ -370281,7 +409862,7 @@ ENCODING 31891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 AA40 7240 @@ -370299,7 +409880,7 @@ ENCODING 31892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 AA00 7200 @@ -370317,7 +409898,7 @@ ENCODING 31893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 A900 73E0 @@ -370335,7 +409916,7 @@ ENCODING 31894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 77E0 @@ -370353,7 +409934,7 @@ ENCODING 31895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 AA40 7240 @@ -370371,7 +409952,7 @@ ENCODING 31896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 71E0 @@ -370389,7 +409970,7 @@ ENCODING 31897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 A880 @@ -370407,7 +409988,7 @@ ENCODING 31898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 ABE0 7400 @@ -370425,7 +410006,7 @@ ENCODING 31899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0440 @@ -370443,7 +410024,7 @@ ENCODING 31900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 3F80 @@ -370461,7 +410042,7 @@ ENCODING 31901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 AC00 7400 @@ -370479,7 +410060,7 @@ ENCODING 31902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AA80 7280 @@ -370497,7 +410078,7 @@ ENCODING 31903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -370515,7 +410096,7 @@ ENCODING 31904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AA40 7240 @@ -370533,7 +410114,7 @@ ENCODING 31905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A820 7BA0 @@ -370551,7 +410132,7 @@ ENCODING 31906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 57E0 6A20 @@ -370569,7 +410150,7 @@ ENCODING 31907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 AAA0 7AA0 @@ -370587,7 +410168,7 @@ ENCODING 31908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 5540 @@ -370605,7 +410186,7 @@ ENCODING 31909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 2420 3520 @@ -370623,7 +410204,7 @@ ENCODING 31910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -370641,7 +410222,7 @@ ENCODING 31911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A880 77E0 @@ -370659,7 +410240,7 @@ ENCODING 31912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A880 7100 @@ -370677,7 +410258,7 @@ ENCODING 31913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 77A0 @@ -370695,7 +410276,7 @@ ENCODING 31914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -370713,7 +410294,7 @@ ENCODING 31915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A900 7200 @@ -370731,7 +410312,7 @@ ENCODING 31916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AA80 7280 @@ -370749,7 +410330,7 @@ ENCODING 31917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A900 7280 @@ -370767,7 +410348,7 @@ ENCODING 31918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A900 77C0 @@ -370785,7 +410366,7 @@ ENCODING 31919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AC40 77C0 @@ -370803,7 +410384,7 @@ ENCODING 31920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 AB80 72A0 @@ -370821,7 +410402,7 @@ ENCODING 31921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 A280 6AC0 @@ -370839,7 +410420,7 @@ ENCODING 31922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C00 23E0 7A40 @@ -370857,7 +410438,7 @@ ENCODING 31923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A900 77E0 @@ -370875,7 +410456,7 @@ ENCODING 31924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 ACA0 74A0 @@ -370893,7 +410474,7 @@ ENCODING 31925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FC0 5540 @@ -370911,7 +410492,7 @@ ENCODING 31926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A840 77C0 @@ -370929,7 +410510,7 @@ ENCODING 31927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 ABE0 7420 @@ -370947,7 +410528,7 @@ ENCODING 31928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 AFE0 7240 @@ -370965,7 +410546,7 @@ ENCODING 31929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7240 @@ -370983,7 +410564,7 @@ ENCODING 31930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7520 @@ -371001,7 +410582,7 @@ ENCODING 31931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 AA00 73C0 @@ -371019,7 +410600,7 @@ ENCODING 31932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 92A0 54A0 FEA0 @@ -371037,7 +410618,7 @@ ENCODING 31933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7420 @@ -371055,7 +410636,7 @@ ENCODING 31934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7100 @@ -371073,7 +410654,7 @@ ENCODING 31935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AD40 77C0 @@ -371091,7 +410672,7 @@ ENCODING 31936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AFE0 7480 @@ -371109,7 +410690,7 @@ ENCODING 31937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 AFE0 7100 @@ -371127,7 +410708,7 @@ ENCODING 31938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AFE0 7440 @@ -371145,7 +410726,7 @@ ENCODING 31939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 AA40 73C0 @@ -371163,7 +410744,7 @@ ENCODING 31940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7820 @@ -371181,7 +410762,7 @@ ENCODING 31941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 A940 7080 @@ -371199,7 +410780,7 @@ ENCODING 31942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A900 7200 @@ -371217,7 +410798,7 @@ ENCODING 31943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AC40 77E0 @@ -371235,7 +410816,7 @@ ENCODING 31944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A920 75C0 @@ -371253,7 +410834,7 @@ ENCODING 31945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AD20 76A0 @@ -371271,7 +410852,7 @@ ENCODING 31946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 A4A0 7EA0 @@ -371289,7 +410870,7 @@ ENCODING 31947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 A280 7FE0 @@ -371307,7 +410888,7 @@ ENCODING 31948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AF40 7560 @@ -371325,7 +410906,7 @@ ENCODING 31949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AA80 77E0 @@ -371343,7 +410924,7 @@ ENCODING 31950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 AC00 77E0 @@ -371361,7 +410942,7 @@ ENCODING 31951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A820 7FE0 @@ -371379,7 +410960,7 @@ ENCODING 31952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 AFE0 7520 @@ -371397,7 +410978,7 @@ ENCODING 31953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A920 7760 @@ -371415,7 +410996,7 @@ ENCODING 31954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -371433,7 +411014,7 @@ ENCODING 31955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1380 7A80 1280 @@ -371451,7 +411032,7 @@ ENCODING 31956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 AD40 7280 @@ -371469,7 +411050,7 @@ ENCODING 31957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 AA80 77E0 @@ -371487,7 +411068,7 @@ ENCODING 31958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7940 @@ -371505,7 +411086,7 @@ ENCODING 31959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFC0 7440 @@ -371523,7 +411104,7 @@ ENCODING 31960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 AFE0 7820 @@ -371541,7 +411122,7 @@ ENCODING 31961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 AE80 73E0 @@ -371559,7 +411140,7 @@ ENCODING 31962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 AFE0 7480 @@ -371577,7 +411158,7 @@ ENCODING 31963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 AB40 77E0 @@ -371595,7 +411176,7 @@ ENCODING 31964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9100 @@ -371613,7 +411194,7 @@ ENCODING 31965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 ABA0 74A0 @@ -371631,7 +411212,7 @@ ENCODING 31966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 1500 @@ -371649,7 +411230,7 @@ ENCODING 31967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7AA0 @@ -371667,7 +411248,7 @@ ENCODING 31968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7540 @@ -371685,7 +411266,7 @@ ENCODING 31969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7280 @@ -371703,7 +411284,7 @@ ENCODING 31970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -371721,7 +411302,7 @@ ENCODING 31971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A240 7B40 @@ -371739,7 +411320,7 @@ ENCODING 31972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 BF80 6A80 @@ -371757,7 +411338,7 @@ ENCODING 31973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A100 7FE0 @@ -371775,7 +411356,7 @@ ENCODING 31974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AFE0 7100 @@ -371793,7 +411374,7 @@ ENCODING 31975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 AC40 77C0 @@ -371811,7 +411392,7 @@ ENCODING 31976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AA20 73E0 @@ -371829,7 +411410,7 @@ ENCODING 31977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 AA80 7440 @@ -371847,7 +411428,7 @@ ENCODING 31978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -371865,7 +411446,7 @@ ENCODING 31979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AAA0 7FE0 @@ -371883,7 +411464,7 @@ ENCODING 31980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 AAA0 7FE0 @@ -371901,7 +411482,7 @@ ENCODING 31981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 AEC0 7540 @@ -371919,7 +411500,7 @@ ENCODING 31982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 AA40 7F60 @@ -371937,7 +411518,7 @@ ENCODING 31983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A100 7FE0 @@ -371955,7 +411536,7 @@ ENCODING 31984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A920 7FE0 @@ -371973,7 +411554,7 @@ ENCODING 31985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A880 FBE0 F140 @@ -371991,7 +411572,7 @@ ENCODING 31986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 A940 7FE0 @@ -372009,7 +411590,7 @@ ENCODING 31987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55C0 FF40 1160 @@ -372027,7 +411608,7 @@ ENCODING 31988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 25A0 5360 @@ -372045,7 +411626,7 @@ ENCODING 31989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 2A80 @@ -372063,7 +411644,7 @@ ENCODING 31990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 FDA0 AB60 @@ -372081,7 +411662,7 @@ ENCODING 31991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFE0 7280 @@ -372098,44 +411679,44 @@ STARTCHAR U_7CF8 ENCODING 31992 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -0880 +BBX 10 11 1 -1 +BITMAP +0800 1100 -3E00 -0880 -7F40 -2240 -1280 -1240 -2220 -4E20 +2200 +7C00 +1100 +FE80 +4480 +2500 +2480 +4440 +9C40 ENDCHAR STARTCHAR U_7CF9 ENCODING 31993 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -2000 -4800 -F000 -2000 -4800 -FC00 -0000 -A800 -A800 -8000 +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 +BITMAP 1200 2200 4A00 @@ -372152,26 +411733,26 @@ STARTCHAR U_7CFB ENCODING 31995 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -01C0 +BBX 9 11 1 -1 +BITMAP +0380 +FC00 +1100 7E00 +0800 +1100 +FF80 0880 -3F00 -0400 -0880 -7FC0 -0440 -1500 -2480 -4C40 +2A00 +4900 +9880 ENDCHAR STARTCHAR U_7CFC ENCODING 31996 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2100 2100 4900 @@ -372189,7 +411770,7 @@ ENCODING 31997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 4080 @@ -372207,7 +411788,7 @@ ENCODING 31998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2120 4920 @@ -372225,7 +411806,7 @@ ENCODING 31999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 4920 @@ -372243,7 +411824,7 @@ ENCODING 32000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 4040 @@ -372261,7 +411842,7 @@ ENCODING 32001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4C40 @@ -372279,7 +411860,7 @@ ENCODING 32002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 4040 @@ -372297,7 +411878,7 @@ ENCODING 32003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 22A0 42A0 @@ -372315,7 +411896,7 @@ ENCODING 32004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 43E0 @@ -372333,7 +411914,7 @@ ENCODING 32005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4100 @@ -372351,7 +411932,7 @@ ENCODING 32006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 4080 @@ -372369,7 +411950,7 @@ ENCODING 32007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 57E0 @@ -372387,7 +411968,7 @@ ENCODING 32008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FC0 @@ -372405,7 +411986,7 @@ ENCODING 32009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 4120 @@ -372423,7 +412004,7 @@ ENCODING 32010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -372441,7 +412022,7 @@ ENCODING 32011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -372459,7 +412040,7 @@ ENCODING 32012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 57E0 @@ -372477,7 +412058,7 @@ ENCODING 32013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57E0 @@ -372495,7 +412076,7 @@ ENCODING 32014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 5100 @@ -372513,7 +412094,7 @@ ENCODING 32015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 5140 @@ -372531,7 +412112,7 @@ ENCODING 32016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 5240 @@ -372549,7 +412130,7 @@ ENCODING 32017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 5080 @@ -372567,7 +412148,7 @@ ENCODING 32018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -372585,7 +412166,7 @@ ENCODING 32019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 5140 @@ -372603,7 +412184,7 @@ ENCODING 32020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57E0 @@ -372621,7 +412202,7 @@ ENCODING 32021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5480 @@ -372639,7 +412220,7 @@ ENCODING 32022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 20A0 50A0 @@ -372657,7 +412238,7 @@ ENCODING 32023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 52C0 @@ -372675,7 +412256,7 @@ ENCODING 32024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57E0 @@ -372693,7 +412274,7 @@ ENCODING 32025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 5480 @@ -372711,7 +412292,7 @@ ENCODING 32026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 5240 @@ -372729,7 +412310,7 @@ ENCODING 32027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 5240 @@ -372747,7 +412328,7 @@ ENCODING 32028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23C0 5000 @@ -372765,7 +412346,7 @@ ENCODING 32029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 5080 @@ -372783,7 +412364,7 @@ ENCODING 32030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57E0 @@ -372801,7 +412382,7 @@ ENCODING 32031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -372819,7 +412400,7 @@ ENCODING 32032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -372837,7 +412418,7 @@ ENCODING 32033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 4FE0 @@ -372855,7 +412436,7 @@ ENCODING 32034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -372873,7 +412454,7 @@ ENCODING 32035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 47C0 8240 @@ -372891,7 +412472,7 @@ ENCODING 32036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 2380 4A00 @@ -372909,7 +412490,7 @@ ENCODING 32037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 3120 @@ -372927,7 +412508,7 @@ ENCODING 32038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47C0 9540 @@ -372944,26 +412525,26 @@ STARTCHAR U_7D27 ENCODING 32039 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -17E0 -5240 -5180 -5660 -0880 -1F00 -0880 -3F80 -1540 -2480 -4C40 +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 +BITMAP 2240 2240 5440 @@ -372981,7 +412562,7 @@ ENCODING 32041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 53E0 @@ -372999,7 +412580,7 @@ ENCODING 32042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 4280 @@ -373017,7 +412598,7 @@ ENCODING 32043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5140 5D80 @@ -373035,7 +412616,7 @@ ENCODING 32044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 57E0 @@ -373053,7 +412634,7 @@ ENCODING 32045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 4640 9240 @@ -373071,7 +412652,7 @@ ENCODING 32046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 3120 @@ -373089,7 +412670,7 @@ ENCODING 32047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -373107,7 +412688,7 @@ ENCODING 32048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 5520 @@ -373125,7 +412706,7 @@ ENCODING 32049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 57E0 @@ -373143,7 +412724,7 @@ ENCODING 32050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 5540 @@ -373161,7 +412742,7 @@ ENCODING 32051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 57E0 @@ -373179,7 +412760,7 @@ ENCODING 32052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4100 97E0 @@ -373197,7 +412778,7 @@ ENCODING 32053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -373215,7 +412796,7 @@ ENCODING 32054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57C0 @@ -373233,7 +412814,7 @@ ENCODING 32055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2100 4280 @@ -373251,7 +412832,7 @@ ENCODING 32056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -373269,7 +412850,7 @@ ENCODING 32057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 5120 @@ -373287,7 +412868,7 @@ ENCODING 32058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 57E0 @@ -373305,7 +412886,7 @@ ENCODING 32059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57C0 @@ -373323,7 +412904,7 @@ ENCODING 32060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 57E0 @@ -373341,7 +412922,7 @@ ENCODING 32061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -373359,7 +412940,7 @@ ENCODING 32062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -373377,7 +412958,7 @@ ENCODING 32063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 5240 @@ -373395,7 +412976,7 @@ ENCODING 32064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 54A0 @@ -373413,7 +412994,7 @@ ENCODING 32065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5480 @@ -373431,7 +413012,7 @@ ENCODING 32066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 5440 @@ -373449,7 +413030,7 @@ ENCODING 32067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -373467,7 +413048,7 @@ ENCODING 32068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 5240 @@ -373485,7 +413066,7 @@ ENCODING 32069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 5820 @@ -373503,7 +413084,7 @@ ENCODING 32070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 5540 @@ -373521,7 +413102,7 @@ ENCODING 32071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 53E0 @@ -373539,7 +413120,7 @@ ENCODING 32072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 4100 8BE0 @@ -373557,7 +413138,7 @@ ENCODING 32073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 4920 @@ -373575,7 +413156,7 @@ ENCODING 32074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 5FE0 @@ -373593,7 +413174,7 @@ ENCODING 32075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 4FE0 @@ -373611,7 +413192,7 @@ ENCODING 32076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4440 @@ -373629,7 +413210,7 @@ ENCODING 32077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 2160 43C0 @@ -373647,7 +413228,7 @@ ENCODING 32078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2400 5800 @@ -373665,7 +413246,7 @@ ENCODING 32079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5520 @@ -373683,7 +413264,7 @@ ENCODING 32080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 57E0 @@ -373701,7 +413282,7 @@ ENCODING 32081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 57C0 @@ -373719,7 +413300,7 @@ ENCODING 32082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 22A0 52A0 @@ -373737,7 +413318,7 @@ ENCODING 32083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -373755,7 +413336,7 @@ ENCODING 32084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2080 5100 @@ -373773,7 +413354,7 @@ ENCODING 32085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 5480 @@ -373791,7 +413372,7 @@ ENCODING 32086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 5540 @@ -373809,7 +413390,7 @@ ENCODING 32087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 4C20 @@ -373827,7 +413408,7 @@ ENCODING 32088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2500 55E0 @@ -373845,7 +413426,7 @@ ENCODING 32089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 4BC0 @@ -373863,7 +413444,7 @@ ENCODING 32090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 4A00 @@ -373881,7 +413462,7 @@ ENCODING 32091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5640 @@ -373899,7 +413480,7 @@ ENCODING 32092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 10A0 7CA0 @@ -373917,7 +413498,7 @@ ENCODING 32093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4A80 @@ -373935,7 +413516,7 @@ ENCODING 32094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 5FE0 @@ -373953,7 +413534,7 @@ ENCODING 32095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -373971,7 +413552,7 @@ ENCODING 32096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -373989,7 +413570,7 @@ ENCODING 32097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 5680 @@ -374007,7 +413588,7 @@ ENCODING 32098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5420 @@ -374025,7 +413606,7 @@ ENCODING 32099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 57E0 @@ -374043,7 +413624,7 @@ ENCODING 32100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4280 @@ -374061,7 +413642,7 @@ ENCODING 32101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 2540 4920 @@ -374079,7 +413660,7 @@ ENCODING 32102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -374097,7 +413678,7 @@ ENCODING 32103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4820 @@ -374115,7 +413696,7 @@ ENCODING 32104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 57E0 @@ -374133,7 +413714,7 @@ ENCODING 32105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AA0 56A0 @@ -374151,7 +413732,7 @@ ENCODING 32106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 5520 @@ -374169,7 +413750,7 @@ ENCODING 32107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 3F80 @@ -374187,7 +413768,7 @@ ENCODING 32108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 4900 @@ -374205,7 +413786,7 @@ ENCODING 32109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 7FC0 1000 @@ -374223,7 +413804,7 @@ ENCODING 32110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FDE0 2920 @@ -374241,7 +413822,7 @@ ENCODING 32111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5100 @@ -374259,7 +413840,7 @@ ENCODING 32112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 5100 @@ -374277,7 +413858,7 @@ ENCODING 32113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -374295,7 +413876,7 @@ ENCODING 32114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 5240 @@ -374313,7 +413894,7 @@ ENCODING 32115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5240 @@ -374331,7 +413912,7 @@ ENCODING 32116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -374349,7 +413930,7 @@ ENCODING 32117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4A80 @@ -374367,7 +413948,7 @@ ENCODING 32118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 4A40 @@ -374385,7 +413966,7 @@ ENCODING 32119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2140 @@ -374403,7 +413984,7 @@ ENCODING 32120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -374421,7 +414002,7 @@ ENCODING 32121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 53E0 @@ -374439,7 +414020,7 @@ ENCODING 32122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2660 2180 5240 @@ -374457,7 +414038,7 @@ ENCODING 32123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 5480 @@ -374475,7 +414056,7 @@ ENCODING 32124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2740 5220 @@ -374493,7 +414074,7 @@ ENCODING 32125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 5440 @@ -374511,7 +414092,7 @@ ENCODING 32126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 4FE0 @@ -374529,7 +414110,7 @@ ENCODING 32127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 57E0 @@ -374547,7 +414128,7 @@ ENCODING 32128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5100 @@ -374565,7 +414146,7 @@ ENCODING 32129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 22A0 5FA0 @@ -374583,7 +414164,7 @@ ENCODING 32130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -374601,7 +414182,7 @@ ENCODING 32131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 22C0 5080 @@ -374619,7 +414200,7 @@ ENCODING 32132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 57E0 @@ -374637,7 +414218,7 @@ ENCODING 32133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 57C0 @@ -374655,7 +414236,7 @@ ENCODING 32134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 57E0 @@ -374673,7 +414254,7 @@ ENCODING 32135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4280 @@ -374691,7 +414272,7 @@ ENCODING 32136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 57E0 @@ -374709,7 +414290,7 @@ ENCODING 32137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2700 4100 @@ -374727,7 +414308,7 @@ ENCODING 32138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -374745,7 +414326,7 @@ ENCODING 32139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 47E0 @@ -374763,7 +414344,7 @@ ENCODING 32140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2440 5920 @@ -374781,7 +414362,7 @@ ENCODING 32141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -374799,7 +414380,7 @@ ENCODING 32142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 22C0 5240 @@ -374817,7 +414398,7 @@ ENCODING 32143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 27A0 5940 @@ -374835,7 +414416,7 @@ ENCODING 32144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FC0 @@ -374853,7 +414434,7 @@ ENCODING 32145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 5520 @@ -374871,7 +414452,7 @@ ENCODING 32146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 5540 @@ -374889,7 +414470,7 @@ ENCODING 32147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 5540 @@ -374907,7 +414488,7 @@ ENCODING 32148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 5100 @@ -374925,7 +414506,7 @@ ENCODING 32149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -374943,7 +414524,7 @@ ENCODING 32150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2FC0 5240 @@ -374961,7 +414542,7 @@ ENCODING 32151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4AA0 @@ -374979,7 +414560,7 @@ ENCODING 32152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 4640 @@ -374996,8 +414577,8 @@ STARTCHAR U_7D99 ENCODING 32153 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2100 2900 4D40 @@ -375015,7 +414596,7 @@ ENCODING 32154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -375033,7 +414614,7 @@ ENCODING 32155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 4D20 @@ -375051,7 +414632,7 @@ ENCODING 32156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -375069,7 +414650,7 @@ ENCODING 32157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2440 5FE0 @@ -375087,7 +414668,7 @@ ENCODING 32158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 5100 @@ -375105,7 +414686,7 @@ ENCODING 32159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -375123,7 +414704,7 @@ ENCODING 32160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 5780 @@ -375141,7 +414722,7 @@ ENCODING 32161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5000 @@ -375159,7 +414740,7 @@ ENCODING 32162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 4BA0 @@ -375177,7 +414758,7 @@ ENCODING 32163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 5FE0 @@ -375195,7 +414776,7 @@ ENCODING 32164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 1540 2580 @@ -375213,7 +414794,7 @@ ENCODING 32165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 47C0 @@ -375231,7 +414812,7 @@ ENCODING 32166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7FE0 1080 @@ -375249,7 +414830,7 @@ ENCODING 32167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5240 @@ -375267,7 +414848,7 @@ ENCODING 32168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 47E0 @@ -375285,7 +414866,7 @@ ENCODING 32169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5820 @@ -375303,7 +414884,7 @@ ENCODING 32170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5100 @@ -375321,7 +414902,7 @@ ENCODING 32171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 4FE0 @@ -375339,7 +414920,7 @@ ENCODING 32172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 5540 @@ -375357,7 +414938,7 @@ ENCODING 32173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2480 57E0 @@ -375375,7 +414956,7 @@ ENCODING 32174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 4A40 @@ -375393,7 +414974,7 @@ ENCODING 32175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2FE0 4420 @@ -375411,7 +414992,7 @@ ENCODING 32176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -375429,7 +415010,7 @@ ENCODING 32177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 5560 @@ -375447,7 +415028,7 @@ ENCODING 32178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 5560 @@ -375465,7 +415046,7 @@ ENCODING 32179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4AA0 @@ -375483,7 +415064,7 @@ ENCODING 32180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2120 56C0 @@ -375501,7 +415082,7 @@ ENCODING 32181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 5520 @@ -375519,7 +415100,7 @@ ENCODING 32182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 4FC0 @@ -375537,7 +415118,7 @@ ENCODING 32183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5240 @@ -375555,7 +415136,7 @@ ENCODING 32184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 4BA0 @@ -375573,7 +415154,7 @@ ENCODING 32185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2740 5560 @@ -375591,7 +415172,7 @@ ENCODING 32186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5280 @@ -375609,7 +415190,7 @@ ENCODING 32187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -375627,7 +415208,7 @@ ENCODING 32188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5520 @@ -375645,7 +415226,7 @@ ENCODING 32189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 57C0 @@ -375663,7 +415244,7 @@ ENCODING 32190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -375681,7 +415262,7 @@ ENCODING 32191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 5240 @@ -375699,7 +415280,7 @@ ENCODING 32192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5140 @@ -375717,7 +415298,7 @@ ENCODING 32193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 57C0 @@ -375735,7 +415316,7 @@ ENCODING 32194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 22C0 5480 @@ -375753,7 +415334,7 @@ ENCODING 32195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5680 @@ -375771,7 +415352,7 @@ ENCODING 32196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -375789,7 +415370,7 @@ ENCODING 32197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 4A00 9FE0 @@ -375807,7 +415388,7 @@ ENCODING 32198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -375825,7 +415406,7 @@ ENCODING 32199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 5A80 @@ -375843,7 +415424,7 @@ ENCODING 32200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4100 @@ -375861,7 +415442,7 @@ ENCODING 32201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4100 @@ -375878,26 +415459,26 @@ STARTCHAR U_7DCA ENCODING 32202 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -5140 -7C80 -5140 -7E20 -0880 -1F00 -0840 -3FC0 -1280 -6E60 +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 +BITMAP 2280 2280 5EE0 @@ -375915,7 +415496,7 @@ ENCODING 32204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 5900 @@ -375933,7 +415514,7 @@ ENCODING 32205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2600 5480 @@ -375951,7 +415532,7 @@ ENCODING 32206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 4FE0 @@ -375969,7 +415550,7 @@ ENCODING 32207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2480 4440 @@ -375987,7 +415568,7 @@ ENCODING 32208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 7B80 8100 @@ -376005,7 +415586,7 @@ ENCODING 32209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4040 97C0 @@ -376023,7 +415604,7 @@ ENCODING 32210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 5140 @@ -376041,7 +415622,7 @@ ENCODING 32211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 5280 @@ -376059,7 +415640,7 @@ ENCODING 32212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2520 4540 @@ -376077,7 +415658,7 @@ ENCODING 32213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4280 @@ -376095,7 +415676,7 @@ ENCODING 32214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2240 57C0 @@ -376113,7 +415694,7 @@ ENCODING 32215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 25E0 5F20 @@ -376131,7 +415712,7 @@ ENCODING 32216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 57E0 @@ -376149,7 +415730,7 @@ ENCODING 32217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 5280 @@ -376167,7 +415748,7 @@ ENCODING 32218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5440 @@ -376185,7 +415766,7 @@ ENCODING 32219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4FE0 @@ -376203,7 +415784,7 @@ ENCODING 32220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 FF00 8900 @@ -376221,7 +415802,7 @@ ENCODING 32221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 53C0 @@ -376239,7 +415820,7 @@ ENCODING 32222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26E0 24A0 54A0 @@ -376257,7 +415838,7 @@ ENCODING 32223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 5FE0 @@ -376275,7 +415856,7 @@ ENCODING 32224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5280 @@ -376293,7 +415874,7 @@ ENCODING 32225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -376311,7 +415892,7 @@ ENCODING 32226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 5FE0 @@ -376329,7 +415910,7 @@ ENCODING 32227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 5780 @@ -376347,7 +415928,7 @@ ENCODING 32228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 4540 @@ -376365,7 +415946,7 @@ ENCODING 32229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 4A40 @@ -376383,7 +415964,7 @@ ENCODING 32230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 5520 @@ -376401,7 +415982,7 @@ ENCODING 32231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 5FE0 @@ -376419,7 +416000,7 @@ ENCODING 32232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5820 @@ -376437,7 +416018,7 @@ ENCODING 32233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 5280 @@ -376455,7 +416036,7 @@ ENCODING 32234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 5480 @@ -376473,7 +416054,7 @@ ENCODING 32235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 5AA0 @@ -376491,7 +416072,7 @@ ENCODING 32236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2200 5FE0 @@ -376509,7 +416090,7 @@ ENCODING 32237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 57E0 @@ -376527,7 +416108,7 @@ ENCODING 32238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5400 @@ -376545,7 +416126,7 @@ ENCODING 32239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5240 @@ -376563,7 +416144,7 @@ ENCODING 32240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 4BA0 @@ -376581,7 +416162,7 @@ ENCODING 32241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 2440 57E0 @@ -376599,7 +416180,7 @@ ENCODING 32242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 4A80 5EC0 @@ -376617,7 +416198,7 @@ ENCODING 32243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5000 @@ -376635,7 +416216,7 @@ ENCODING 32244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5100 @@ -376653,7 +416234,7 @@ ENCODING 32245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2AA0 4920 @@ -376671,7 +416252,7 @@ ENCODING 32246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4880 9BE0 @@ -376689,7 +416270,7 @@ ENCODING 32247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 5FE0 @@ -376707,7 +416288,7 @@ ENCODING 32248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 4280 @@ -376725,7 +416306,7 @@ ENCODING 32249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -376743,7 +416324,7 @@ ENCODING 32250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 5740 @@ -376761,7 +416342,7 @@ ENCODING 32251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 4480 9AE0 @@ -376779,7 +416360,7 @@ ENCODING 32252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -376797,7 +416378,7 @@ ENCODING 32253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 47E0 @@ -376815,7 +416396,7 @@ ENCODING 32254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 5BE0 @@ -376833,7 +416414,7 @@ ENCODING 32255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 57C0 @@ -376851,7 +416432,7 @@ ENCODING 32256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 2520 4520 @@ -376869,7 +416450,7 @@ ENCODING 32257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 57C0 @@ -376887,7 +416468,7 @@ ENCODING 32258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 47C0 @@ -376905,7 +416486,7 @@ ENCODING 32259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2920 55C0 @@ -376923,7 +416504,7 @@ ENCODING 32260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 47E0 @@ -376941,7 +416522,7 @@ ENCODING 32261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 2FE0 4880 @@ -376959,7 +416540,7 @@ ENCODING 32262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 4800 @@ -376977,7 +416558,7 @@ ENCODING 32263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4100 4FE0 @@ -376995,7 +416576,7 @@ ENCODING 32264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5AE0 9480 @@ -377013,7 +416594,7 @@ ENCODING 32265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 5AA0 @@ -377031,7 +416612,7 @@ ENCODING 32266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 57E0 @@ -377049,7 +416630,7 @@ ENCODING 32267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25E0 5520 @@ -377067,7 +416648,7 @@ ENCODING 32268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5220 4940 8BE0 @@ -377085,7 +416666,7 @@ ENCODING 32269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 8240 @@ -377103,7 +416684,7 @@ ENCODING 32270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 5740 @@ -377121,7 +416702,7 @@ ENCODING 32271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA60 AFC0 @@ -377139,7 +416720,7 @@ ENCODING 32272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 56A0 @@ -377157,7 +416738,7 @@ ENCODING 32273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5FE0 9500 @@ -377175,7 +416756,7 @@ ENCODING 32274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 5FE0 @@ -377193,7 +416774,7 @@ ENCODING 32275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 4BE0 @@ -377211,7 +416792,7 @@ ENCODING 32276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2240 5180 @@ -377229,7 +416810,7 @@ ENCODING 32277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 5540 @@ -377247,7 +416828,7 @@ ENCODING 32278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4920 @@ -377265,7 +416846,7 @@ ENCODING 32279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5000 @@ -377283,7 +416864,7 @@ ENCODING 32280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2E40 4A80 @@ -377301,7 +416882,7 @@ ENCODING 32281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -377319,7 +416900,7 @@ ENCODING 32282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 5520 @@ -377337,7 +416918,7 @@ ENCODING 32283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 4FE0 5520 @@ -377355,7 +416936,7 @@ ENCODING 32284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 4FE0 @@ -377373,7 +416954,7 @@ ENCODING 32285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5440 @@ -377391,7 +416972,7 @@ ENCODING 32286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5240 @@ -377409,7 +416990,7 @@ ENCODING 32287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 4BC0 @@ -377427,7 +417008,7 @@ ENCODING 32288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D40 1140 @@ -377445,7 +417026,7 @@ ENCODING 32289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4920 @@ -377463,7 +417044,7 @@ ENCODING 32290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 AA80 BFE0 @@ -377481,7 +417062,7 @@ ENCODING 32291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 7920 @@ -377499,7 +417080,7 @@ ENCODING 32292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 47C0 @@ -377517,7 +417098,7 @@ ENCODING 32293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -377535,7 +417116,7 @@ ENCODING 32294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2620 2520 4840 @@ -377553,7 +417134,7 @@ ENCODING 32295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 25E0 5540 @@ -377571,7 +417152,7 @@ ENCODING 32296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -377589,7 +417170,7 @@ ENCODING 32297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 49A0 @@ -377607,7 +417188,7 @@ ENCODING 32298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 47C0 @@ -377625,7 +417206,7 @@ ENCODING 32299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 25E0 5140 @@ -377643,7 +417224,7 @@ ENCODING 32300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 4FE0 @@ -377661,7 +417242,7 @@ ENCODING 32301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5280 @@ -377679,7 +417260,7 @@ ENCODING 32302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4420 @@ -377697,7 +417278,7 @@ ENCODING 32303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -377715,7 +417296,7 @@ ENCODING 32304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4A80 92E0 @@ -377733,7 +417314,7 @@ ENCODING 32305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 4940 96A0 @@ -377751,7 +417332,7 @@ ENCODING 32306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 57E0 @@ -377769,7 +417350,7 @@ ENCODING 32307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5540 @@ -377787,7 +417368,7 @@ ENCODING 32308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4280 @@ -377805,7 +417386,7 @@ ENCODING 32309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -377823,7 +417404,7 @@ ENCODING 32310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5140 @@ -377841,7 +417422,7 @@ ENCODING 32311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4540 @@ -377859,7 +417440,7 @@ ENCODING 32312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4280 @@ -377877,7 +417458,7 @@ ENCODING 32313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4FE0 @@ -377895,7 +417476,7 @@ ENCODING 32314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 4FE0 82A0 @@ -377913,7 +417494,7 @@ ENCODING 32315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -377931,7 +417512,7 @@ ENCODING 32316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 4900 BDE0 @@ -377949,7 +417530,7 @@ ENCODING 32317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5560 @@ -377967,7 +417548,7 @@ ENCODING 32318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5100 @@ -377985,7 +417566,7 @@ ENCODING 32319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 5440 @@ -378003,7 +417584,7 @@ ENCODING 32320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 24A0 57E0 @@ -378021,7 +417602,7 @@ ENCODING 32321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 D540 @@ -378039,7 +417620,7 @@ ENCODING 32322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4920 @@ -378057,7 +417638,7 @@ ENCODING 32323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2920 4FE0 @@ -378075,7 +417656,7 @@ ENCODING 32324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 9140 FA20 @@ -378093,7 +417674,7 @@ ENCODING 32325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 5540 @@ -378111,7 +417692,7 @@ ENCODING 32326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 4360 @@ -378129,7 +417710,7 @@ ENCODING 32327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C60 E780 A880 @@ -378147,7 +417728,7 @@ ENCODING 32328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 4520 A7E0 @@ -378165,7 +417746,7 @@ ENCODING 32329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -378183,7 +417764,7 @@ ENCODING 32330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EC0 44A0 @@ -378201,7 +417782,7 @@ ENCODING 32331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 AC20 @@ -378219,7 +417800,7 @@ ENCODING 32332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4D60 @@ -378237,7 +417818,7 @@ ENCODING 32333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5140 @@ -378255,7 +417836,7 @@ ENCODING 32334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26C0 4AA0 @@ -378273,7 +417854,7 @@ ENCODING 32335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EE0 @@ -378291,7 +417872,7 @@ ENCODING 32336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4540 @@ -378309,7 +417890,7 @@ ENCODING 32337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2100 4FE0 @@ -378327,7 +417908,7 @@ ENCODING 32338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -378345,7 +417926,7 @@ ENCODING 32339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -378363,7 +417944,7 @@ ENCODING 32340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 2FA0 4A80 @@ -378381,7 +417962,7 @@ ENCODING 32341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4100 @@ -378399,7 +417980,7 @@ ENCODING 32342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5F80 8AE0 @@ -378417,7 +417998,7 @@ ENCODING 32343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4FE0 @@ -378435,7 +418016,7 @@ ENCODING 32344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 4FE0 @@ -378453,7 +418034,7 @@ ENCODING 32345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 5540 @@ -378471,7 +418052,7 @@ ENCODING 32346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5FE0 8AA0 @@ -378489,7 +418070,7 @@ ENCODING 32347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7CE0 1080 @@ -378507,7 +418088,7 @@ ENCODING 32348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 5FE0 @@ -378525,7 +418106,7 @@ ENCODING 32349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EE0 @@ -378543,7 +418124,7 @@ ENCODING 32350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -378561,7 +418142,7 @@ ENCODING 32351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4FE0 @@ -378579,7 +418160,7 @@ ENCODING 32352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5480 5140 9F00 @@ -378597,7 +418178,7 @@ ENCODING 32353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47C0 5140 @@ -378615,7 +418196,7 @@ ENCODING 32354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 47C0 9540 @@ -378633,7 +418214,7 @@ ENCODING 32355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2140 4FE0 @@ -378651,7 +418232,7 @@ ENCODING 32356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -378669,7 +418250,7 @@ ENCODING 32357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4100 @@ -378687,7 +418268,7 @@ ENCODING 32358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3DE0 4520 @@ -378705,7 +418286,7 @@ ENCODING 32359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4FE0 @@ -378723,7 +418304,7 @@ ENCODING 32360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25C0 5480 @@ -378741,7 +418322,7 @@ ENCODING 32361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4EE0 @@ -378759,7 +418340,7 @@ ENCODING 32362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 47C0 @@ -378777,7 +418358,7 @@ ENCODING 32363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FF40 5460 @@ -378795,7 +418376,7 @@ ENCODING 32364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5540 @@ -378813,7 +418394,7 @@ ENCODING 32365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FFE0 @@ -378831,7 +418412,7 @@ ENCODING 32366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 47C0 @@ -378849,7 +418430,7 @@ ENCODING 32367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 5FE0 @@ -378867,7 +418448,7 @@ ENCODING 32368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4440 @@ -378885,7 +418466,7 @@ ENCODING 32369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 2480 @@ -378903,7 +418484,7 @@ ENCODING 32370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4EA0 9520 @@ -378921,7 +418502,7 @@ ENCODING 32371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4E80 AAE0 @@ -378939,7 +418520,7 @@ ENCODING 32372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -378957,7 +418538,7 @@ ENCODING 32373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 9B40 @@ -378975,7 +418556,7 @@ ENCODING 32374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4280 @@ -378993,7 +418574,7 @@ ENCODING 32375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 4AA0 @@ -379011,7 +418592,7 @@ ENCODING 32376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2BE0 5480 @@ -379029,7 +418610,7 @@ ENCODING 32377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 8FE0 @@ -379047,7 +418628,7 @@ ENCODING 32378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 4E80 94E0 @@ -379065,7 +418646,7 @@ ENCODING 32379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 8FE0 @@ -379083,7 +418664,7 @@ ENCODING 32380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4DA0 8A40 @@ -379101,7 +418682,7 @@ ENCODING 32381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 8820 @@ -379119,7 +418700,7 @@ ENCODING 32382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 4BE0 92A0 @@ -379137,7 +418718,7 @@ ENCODING 32383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 2540 4760 @@ -379155,7 +418736,7 @@ ENCODING 32384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4560 4B40 9FE0 @@ -379173,7 +418754,7 @@ ENCODING 32385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 9FE0 @@ -379191,7 +418772,7 @@ ENCODING 32386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9480 @@ -379209,7 +418790,7 @@ ENCODING 32387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5280 @@ -379227,7 +418808,7 @@ ENCODING 32388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 5FE0 A480 @@ -379245,7 +418826,7 @@ ENCODING 32389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 4BA0 AAE0 @@ -379263,7 +418844,7 @@ ENCODING 32390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 9FE0 @@ -379281,7 +418862,7 @@ ENCODING 32391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 95E0 5880 FFE0 @@ -379299,7 +418880,7 @@ ENCODING 32392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 4480 9FE0 @@ -379317,7 +418898,7 @@ ENCODING 32393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 4FE0 E440 @@ -379335,7 +418916,7 @@ ENCODING 32394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 9A40 @@ -379353,7 +418934,7 @@ ENCODING 32395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4440 97C0 @@ -379371,7 +418952,7 @@ ENCODING 32396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 9100 @@ -379389,7 +418970,7 @@ ENCODING 32397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 FFE0 @@ -379407,7 +418988,7 @@ ENCODING 32398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24C0 5EA0 8480 @@ -379425,7 +419006,7 @@ ENCODING 32399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 9940 @@ -379443,7 +419024,7 @@ ENCODING 32400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 5E80 8DE0 @@ -379461,7 +419042,7 @@ ENCODING 32401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 9FE0 @@ -379479,7 +419060,7 @@ ENCODING 32402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4800 8BE0 @@ -379497,7 +419078,7 @@ ENCODING 32403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 9EE0 @@ -379515,7 +419096,7 @@ ENCODING 32404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4880 5FC0 @@ -379533,7 +419114,7 @@ ENCODING 32405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 9AA0 @@ -379551,7 +419132,7 @@ ENCODING 32406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 45A0 9FE0 @@ -379569,7 +419150,7 @@ ENCODING 32407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4FE0 9900 @@ -379587,7 +419168,7 @@ ENCODING 32408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 4FE0 9A40 @@ -379605,7 +419186,7 @@ ENCODING 32409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 AFE0 @@ -379623,7 +419204,7 @@ ENCODING 32410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4000 8FE0 @@ -379641,7 +419222,7 @@ ENCODING 32411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -379659,7 +419240,7 @@ ENCODING 32412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2AE0 5F40 @@ -379677,7 +419258,7 @@ ENCODING 32413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4540 87C0 @@ -379695,7 +419276,7 @@ ENCODING 32414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 4BC0 9C60 @@ -379712,26 +419293,25 @@ STARTCHAR U_7E9F ENCODING 32415 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -2000 -4000 -F000 -2000 -4000 -F000 -0000 -3000 -C000 -0000 +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 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2040 2240 4A40 @@ -379749,7 +419329,7 @@ ENCODING 32417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 4080 @@ -379767,7 +419347,7 @@ ENCODING 32418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4100 @@ -379785,7 +419365,7 @@ ENCODING 32419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2040 4840 @@ -379803,7 +419383,7 @@ ENCODING 32420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 4900 @@ -379821,7 +419401,7 @@ ENCODING 32421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 4BE0 @@ -379839,7 +419419,7 @@ ENCODING 32422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 4BE0 @@ -379857,7 +419437,7 @@ ENCODING 32423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2240 4A40 @@ -379875,7 +419455,7 @@ ENCODING 32424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 47C0 @@ -379893,7 +419473,7 @@ ENCODING 32425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 4FE0 @@ -379911,7 +419491,7 @@ ENCODING 32426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4040 @@ -379929,7 +419509,7 @@ ENCODING 32427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 20A0 48A0 @@ -379947,7 +419527,7 @@ ENCODING 32428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4900 @@ -379965,7 +419545,7 @@ ENCODING 32429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 4800 @@ -379983,7 +419563,7 @@ ENCODING 32430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4100 @@ -380001,7 +419581,7 @@ ENCODING 32431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4900 @@ -380019,7 +419599,7 @@ ENCODING 32432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4C80 @@ -380037,7 +419617,7 @@ ENCODING 32433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4540 @@ -380055,7 +419635,7 @@ ENCODING 32434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 4E60 @@ -380073,7 +419653,7 @@ ENCODING 32435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -380091,7 +419671,7 @@ ENCODING 32436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 20C0 4700 @@ -380109,7 +419689,7 @@ ENCODING 32437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 4480 @@ -380127,7 +419707,7 @@ ENCODING 32438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 4C40 @@ -380145,7 +419725,7 @@ ENCODING 32439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 4240 @@ -380163,7 +419743,7 @@ ENCODING 32440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 4C80 @@ -380181,7 +419761,7 @@ ENCODING 32441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -380199,7 +419779,7 @@ ENCODING 32442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -380217,7 +419797,7 @@ ENCODING 32443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 47E0 @@ -380235,7 +419815,7 @@ ENCODING 32444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27A0 20A0 40A0 @@ -380253,7 +419833,7 @@ ENCODING 32445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4A40 @@ -380271,7 +419851,7 @@ ENCODING 32446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2240 4980 @@ -380289,7 +419869,7 @@ ENCODING 32447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 43C0 @@ -380307,7 +419887,7 @@ ENCODING 32448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 4FE0 @@ -380325,7 +419905,7 @@ ENCODING 32449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2540 4540 @@ -380343,7 +419923,7 @@ ENCODING 32450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 4FE0 @@ -380361,7 +419941,7 @@ ENCODING 32451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4A00 @@ -380379,7 +419959,7 @@ ENCODING 32452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 4440 @@ -380397,7 +419977,7 @@ ENCODING 32453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 47E0 @@ -380415,7 +419995,7 @@ ENCODING 32454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 44A0 @@ -380433,7 +420013,7 @@ ENCODING 32455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4C40 @@ -380451,7 +420031,7 @@ ENCODING 32456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 5440 @@ -380469,7 +420049,7 @@ ENCODING 32457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 4480 @@ -380487,7 +420067,7 @@ ENCODING 32458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2920 4540 @@ -380505,7 +420085,7 @@ ENCODING 32459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 4FE0 @@ -380523,7 +420103,7 @@ ENCODING 32460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 4540 @@ -380541,7 +420121,7 @@ ENCODING 32461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 4920 @@ -380559,7 +420139,7 @@ ENCODING 32462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2280 4100 @@ -380577,7 +420157,7 @@ ENCODING 32463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2080 4900 @@ -380595,7 +420175,7 @@ ENCODING 32464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4A00 @@ -380613,7 +420193,7 @@ ENCODING 32465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 4FA0 @@ -380631,7 +420211,7 @@ ENCODING 32466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2120 4FE0 @@ -380649,7 +420229,7 @@ ENCODING 32467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -380667,7 +420247,7 @@ ENCODING 32468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4FE0 @@ -380685,7 +420265,7 @@ ENCODING 32469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 4FE0 @@ -380703,7 +420283,7 @@ ENCODING 32470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4200 @@ -380721,7 +420301,7 @@ ENCODING 32471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2400 4800 @@ -380739,7 +420319,7 @@ ENCODING 32472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4280 @@ -380757,7 +420337,7 @@ ENCODING 32473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 4280 @@ -380775,7 +420355,7 @@ ENCODING 32474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 47E0 @@ -380793,7 +420373,7 @@ ENCODING 32475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 4C40 @@ -380811,7 +420391,7 @@ ENCODING 32476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 4440 @@ -380829,7 +420409,7 @@ ENCODING 32477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 4480 @@ -380847,7 +420427,7 @@ ENCODING 32478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -380865,7 +420445,7 @@ ENCODING 32479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4200 @@ -380883,7 +420463,7 @@ ENCODING 32480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 4FE0 @@ -380901,7 +420481,7 @@ ENCODING 32481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 22C0 4880 @@ -380919,7 +420499,7 @@ ENCODING 32482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -380937,7 +420517,7 @@ ENCODING 32483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 4900 @@ -380955,7 +420535,7 @@ ENCODING 32484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2420 4920 @@ -380973,7 +420553,7 @@ ENCODING 32485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2F20 4A20 @@ -380991,7 +420571,7 @@ ENCODING 32486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 4E40 @@ -381009,7 +420589,7 @@ ENCODING 32487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 26A0 45C0 @@ -381027,7 +420607,7 @@ ENCODING 32488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -381045,7 +420625,7 @@ ENCODING 32489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4900 @@ -381063,7 +420643,7 @@ ENCODING 32490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27A0 4940 @@ -381081,7 +420661,7 @@ ENCODING 32491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4900 @@ -381099,7 +420679,7 @@ ENCODING 32492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 4240 @@ -381117,7 +420697,7 @@ ENCODING 32493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4100 @@ -381135,7 +420715,7 @@ ENCODING 32494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4A80 @@ -381153,7 +420733,7 @@ ENCODING 32495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 4EE0 @@ -381171,7 +420751,7 @@ ENCODING 32496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 4900 @@ -381189,7 +420769,7 @@ ENCODING 32497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4900 @@ -381207,7 +420787,7 @@ ENCODING 32498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -381225,7 +420805,7 @@ ENCODING 32499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -381243,7 +420823,7 @@ ENCODING 32500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 2480 4FE0 @@ -381261,7 +420841,7 @@ ENCODING 32501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4C40 @@ -381279,7 +420859,7 @@ ENCODING 32502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 4A20 @@ -381297,7 +420877,7 @@ ENCODING 32503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4AA0 @@ -381315,7 +420895,7 @@ ENCODING 32504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 4BA0 @@ -381333,7 +420913,7 @@ ENCODING 32505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2FE0 4420 @@ -381351,7 +420931,7 @@ ENCODING 32506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2740 4D60 @@ -381369,7 +420949,7 @@ ENCODING 32507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4FC0 @@ -381387,7 +420967,7 @@ ENCODING 32508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4820 @@ -381405,7 +420985,7 @@ ENCODING 32509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4C20 @@ -381423,7 +421003,7 @@ ENCODING 32510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 4C20 @@ -381441,7 +421021,7 @@ ENCODING 32511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 43C0 @@ -381459,7 +421039,7 @@ ENCODING 32512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2220 4CC0 @@ -381477,7 +421057,7 @@ ENCODING 32513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 22A0 4D40 @@ -381495,7 +421075,7 @@ ENCODING 32514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 4240 @@ -381513,7 +421093,7 @@ ENCODING 32515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 4F20 @@ -381531,7 +421111,7 @@ ENCODING 32516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 4FE0 @@ -381549,7 +421129,7 @@ ENCODING 32517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2100 4200 @@ -381567,7 +421147,7 @@ ENCODING 32518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2AE0 4B40 @@ -381585,7 +421165,7 @@ ENCODING 32519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -381603,7 +421183,7 @@ ENCODING 32520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 2A80 4AC0 @@ -381621,7 +421201,7 @@ ENCODING 32521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -381639,7 +421219,7 @@ ENCODING 32522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 47C0 @@ -381657,7 +421237,7 @@ ENCODING 32523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 4D40 @@ -381675,7 +421255,7 @@ ENCODING 32524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 4FE0 @@ -381693,7 +421273,7 @@ ENCODING 32525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 4900 @@ -381711,7 +421291,7 @@ ENCODING 32526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 24A0 4CA0 @@ -381729,7 +421309,7 @@ ENCODING 32527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 4BE0 @@ -381747,7 +421327,7 @@ ENCODING 32528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 4440 @@ -381765,7 +421345,7 @@ ENCODING 32529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 2440 4BE0 @@ -381783,7 +421363,7 @@ ENCODING 32530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 25E0 4520 @@ -381801,7 +421381,7 @@ ENCODING 32531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A20 4540 @@ -381819,7 +421399,7 @@ ENCODING 32532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4A80 @@ -381837,7 +421417,7 @@ ENCODING 32533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4FE0 @@ -381855,7 +421435,7 @@ ENCODING 32534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4820 @@ -381873,7 +421453,7 @@ ENCODING 32535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -381891,7 +421471,7 @@ ENCODING 32536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4F80 @@ -381909,7 +421489,7 @@ ENCODING 32537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4EC0 @@ -381927,7 +421507,7 @@ ENCODING 32538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2FE0 4D20 @@ -381945,7 +421525,7 @@ ENCODING 32539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2800 4BC0 @@ -381963,7 +421543,7 @@ ENCODING 32540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4100 @@ -381981,7 +421561,7 @@ ENCODING 32541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2A40 4D80 @@ -381999,7 +421579,7 @@ ENCODING 32542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 4000 @@ -382017,7 +421597,7 @@ ENCODING 32543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4A40 @@ -382035,7 +421615,7 @@ ENCODING 32544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4800 @@ -382053,7 +421633,7 @@ ENCODING 32545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4D40 @@ -382071,7 +421651,7 @@ ENCODING 32546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -382089,7 +421669,7 @@ ENCODING 32547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -382107,7 +421687,7 @@ ENCODING 32548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4820 @@ -382125,7 +421705,7 @@ ENCODING 32549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 4FE0 @@ -382143,7 +421723,7 @@ ENCODING 32550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4FC0 @@ -382161,7 +421741,7 @@ ENCODING 32551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 4FE0 @@ -382179,7 +421759,7 @@ ENCODING 32552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 4AA0 @@ -382197,7 +421777,7 @@ ENCODING 32553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4A20 @@ -382215,7 +421795,7 @@ ENCODING 32554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4660 @@ -382233,7 +421813,7 @@ ENCODING 32555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2280 4D40 @@ -382251,7 +421831,7 @@ ENCODING 32556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 4880 7FE0 @@ -382269,7 +421849,7 @@ ENCODING 32557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 4AA0 @@ -382287,7 +421867,7 @@ ENCODING 32558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 4100 @@ -382305,7 +421885,7 @@ ENCODING 32559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 4FE0 @@ -382323,7 +421903,7 @@ ENCODING 32560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2540 4FC0 @@ -382341,7 +421921,7 @@ ENCODING 32561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 4AA0 @@ -382359,7 +421939,7 @@ ENCODING 32562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 4440 @@ -382377,7 +421957,7 @@ ENCODING 32563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 4FE0 @@ -382395,7 +421975,7 @@ ENCODING 32564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 5E80 9280 @@ -382413,7 +421993,7 @@ ENCODING 32565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 4240 @@ -382431,7 +422011,7 @@ ENCODING 32566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1FC0 2400 @@ -382449,7 +422029,7 @@ ENCODING 32567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7DE0 5120 @@ -382467,7 +422047,7 @@ ENCODING 32568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 43E0 7880 @@ -382485,7 +422065,7 @@ ENCODING 32569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FC0 4400 @@ -382503,7 +422083,7 @@ ENCODING 32570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7BC0 @@ -382521,7 +422101,7 @@ ENCODING 32571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 A200 @@ -382539,7 +422119,7 @@ ENCODING 32572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 A3E0 @@ -382557,7 +422137,7 @@ ENCODING 32573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7FE0 @@ -382575,7 +422155,7 @@ ENCODING 32574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 7FE0 @@ -382593,7 +422173,7 @@ ENCODING 32575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4380 7A00 @@ -382611,7 +422191,7 @@ ENCODING 32576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 AAA0 @@ -382629,7 +422209,7 @@ ENCODING 32577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4A60 79A0 @@ -382647,7 +422227,7 @@ ENCODING 32578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 AAA0 @@ -382665,7 +422245,7 @@ ENCODING 32579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 B2C0 5140 @@ -382683,7 +422263,7 @@ ENCODING 32580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 1140 7E20 @@ -382701,7 +422281,7 @@ ENCODING 32581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 4100 7FE0 @@ -382719,7 +422299,7 @@ ENCODING 32582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7540 AFE0 @@ -382737,7 +422317,7 @@ ENCODING 32583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 A140 @@ -382755,7 +422335,7 @@ ENCODING 32584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 7FE0 @@ -382773,7 +422353,7 @@ ENCODING 32585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 7340 AFE0 @@ -382791,7 +422371,7 @@ ENCODING 32586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A940 FA60 @@ -382809,7 +422389,7 @@ ENCODING 32587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 47E0 @@ -382827,7 +422407,7 @@ ENCODING 32588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -382845,7 +422425,7 @@ ENCODING 32589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 FFE0 @@ -382863,7 +422443,7 @@ ENCODING 32590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7640 A540 @@ -382881,7 +422461,7 @@ ENCODING 32591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4100 7FE0 @@ -382899,7 +422479,7 @@ ENCODING 32592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47E0 7A80 @@ -382916,80 +422496,66 @@ STARTCHAR U_7F51 ENCODING 32593 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4020 -48A0 -6AA0 -5120 -4920 -56A0 -62A0 -4420 -4020 -40E0 +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 11 0 -1 -BITMAP +BBX 11 4 0 6 +BITMAP FFE0 9120 9120 FFE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_7F53 ENCODING 32595 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4940 -4640 -5940 -0000 -0000 -0000 -0000 -0000 -0000 -0000 +BBX 9 4 1 6 +BITMAP +FF80 +9280 +8C80 +B280 ENDCHAR STARTCHAR U_7F54 ENCODING 32596 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -5120 -4A20 -5FA0 -4420 -5FA0 -4820 -4820 -4FA0 -4020 -40E0 +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 +BITMAP FFE0 9120 3080 @@ -383007,7 +422573,7 @@ ENCODING 32598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5240 5240 @@ -383024,26 +422590,26 @@ STARTCHAR U_7F57 ENCODING 32599 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4920 -4920 -7FE0 -0800 -0FC0 -1080 -2900 -0600 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +9240 +FFC0 +1000 +1F80 +2100 +5200 0C00 -7000 +1800 +E000 ENDCHAR STARTCHAR U_7F58 ENCODING 32600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 4920 @@ -383061,7 +422627,7 @@ ENCODING 32601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 2080 @@ -383078,26 +422644,26 @@ STARTCHAR U_7F5A ENCODING 32602 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4920 -4920 -7FE0 -1000 -0920 -7120 -1120 -1520 -1820 -10E0 +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 +BITMAP FFC0 9240 9240 @@ -383115,7 +422681,7 @@ ENCODING 32604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 4920 @@ -383133,7 +422699,7 @@ ENCODING 32605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383151,7 +422717,7 @@ ENCODING 32606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383169,7 +422735,7 @@ ENCODING 32607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 4920 @@ -383186,26 +422752,26 @@ STARTCHAR U_7F60 ENCODING 32608 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4920 -7FE0 +BBX 10 11 1 -1 +BITMAP +FFC0 +9240 +FFC0 0000 -3FC0 -2040 -3FC0 -2200 -3FE0 -2120 -38E0 +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 +BITMAP 7FE0 4920 7FE0 @@ -383223,7 +422789,7 @@ ENCODING 32610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383241,7 +422807,7 @@ ENCODING 32611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383259,7 +422825,7 @@ ENCODING 32612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -383276,26 +422842,26 @@ STARTCHAR U_7F65 ENCODING 32613 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4920 -7FE0 -1080 -3FC0 -2040 -3FC0 -2040 -3FC0 -2040 -21C0 +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 +BITMAP 7FC0 4A40 7FC0 @@ -383313,7 +422879,7 @@ ENCODING 32615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383331,7 +422897,7 @@ ENCODING 32616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383349,7 +422915,7 @@ ENCODING 32617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383366,26 +422932,26 @@ STARTCHAR U_7F6A ENCODING 32618 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4920 -7FE0 -0900 -79E0 -0900 -79E0 -0900 -79E0 -0900 -0900 +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 +BITMAP FFC0 9240 FFC0 @@ -383403,7 +422969,7 @@ ENCODING 32620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383421,7 +422987,7 @@ ENCODING 32621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383439,7 +423005,7 @@ ENCODING 32622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383457,7 +423023,7 @@ ENCODING 32623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383475,7 +423041,7 @@ ENCODING 32624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9120 FFE0 @@ -383493,7 +423059,7 @@ ENCODING 32625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 FFE0 @@ -383511,7 +423077,7 @@ ENCODING 32626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383529,7 +423095,7 @@ ENCODING 32627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383547,7 +423113,7 @@ ENCODING 32628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -383565,7 +423131,7 @@ ENCODING 32629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383582,44 +423148,44 @@ STARTCHAR U_7F76 ENCODING 32630 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4A40 -7FC0 -0800 -77C0 -4A40 -7FC0 -2440 -3FC0 -2440 -3FC0 +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 11 11 0 -1 -BITMAP -7FE0 -4920 -7FE0 -2200 -4B80 -7E20 -49E0 -7A40 -4B80 -7A20 -59E0 +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 +BITMAP 7FC0 4A40 7FC0 @@ -383637,7 +423203,7 @@ ENCODING 32633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383655,7 +423221,7 @@ ENCODING 32634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383673,7 +423239,7 @@ ENCODING 32635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383691,7 +423257,7 @@ ENCODING 32636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9220 FFE0 @@ -383709,7 +423275,7 @@ ENCODING 32637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383727,7 +423293,7 @@ ENCODING 32638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -383745,7 +423311,7 @@ ENCODING 32639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9220 FFE0 @@ -383763,7 +423329,7 @@ ENCODING 32640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 FFE0 @@ -383781,7 +423347,7 @@ ENCODING 32641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFC0 @@ -383799,7 +423365,7 @@ ENCODING 32642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -383817,7 +423383,7 @@ ENCODING 32643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 FFE0 @@ -383835,7 +423401,7 @@ ENCODING 32644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383853,7 +423419,7 @@ ENCODING 32645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383871,7 +423437,7 @@ ENCODING 32646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -383889,7 +423455,7 @@ ENCODING 32647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -383907,7 +423473,7 @@ ENCODING 32648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FFE0 @@ -383925,7 +423491,7 @@ ENCODING 32649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4940 7FC0 @@ -383943,7 +423509,7 @@ ENCODING 32650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 7FC0 @@ -383961,7 +423527,7 @@ ENCODING 32651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 F5E0 1500 @@ -383979,7 +423545,7 @@ ENCODING 32652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 7FC0 @@ -383997,7 +423563,7 @@ ENCODING 32653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -384015,7 +423581,7 @@ ENCODING 32654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -384033,7 +423599,7 @@ ENCODING 32655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2840 7C80 @@ -384051,7 +423617,7 @@ ENCODING 32656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 F1E0 1500 @@ -384069,7 +423635,7 @@ ENCODING 32657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384087,7 +423653,7 @@ ENCODING 32658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 5280 FA40 @@ -384105,7 +423671,7 @@ ENCODING 32659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 57C0 FD40 @@ -384123,7 +423689,7 @@ ENCODING 32660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 FFE0 @@ -384141,7 +423707,7 @@ ENCODING 32661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384159,7 +423725,7 @@ ENCODING 32662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BC0 5240 FA40 @@ -384177,7 +423743,7 @@ ENCODING 32663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 7FC0 @@ -384195,7 +423761,7 @@ ENCODING 32664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 7280 5FE0 @@ -384213,7 +423779,7 @@ ENCODING 32665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384231,7 +423797,7 @@ ENCODING 32666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5100 FA80 @@ -384249,7 +423815,7 @@ ENCODING 32667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 FFC0 @@ -384267,7 +423833,7 @@ ENCODING 32668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 FC20 @@ -384285,7 +423851,7 @@ ENCODING 32669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8860 5780 FC80 @@ -384303,7 +423869,7 @@ ENCODING 32670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 FFE0 @@ -384321,7 +423887,7 @@ ENCODING 32671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BE0 5040 F840 @@ -384339,7 +423905,7 @@ ENCODING 32672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 F900 @@ -384357,7 +423923,7 @@ ENCODING 32673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384375,7 +423941,7 @@ ENCODING 32674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 50A0 FFE0 @@ -384393,7 +423959,7 @@ ENCODING 32675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 1080 FFE0 @@ -384411,7 +423977,7 @@ ENCODING 32676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 2940 FFE0 @@ -384429,7 +423995,7 @@ ENCODING 32677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5000 FAA0 @@ -384447,7 +424013,7 @@ ENCODING 32678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5080 FFE0 @@ -384465,7 +424031,7 @@ ENCODING 32679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5240 FFE0 @@ -384483,7 +424049,7 @@ ENCODING 32680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384501,7 +424067,7 @@ ENCODING 32681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -384519,7 +424085,7 @@ ENCODING 32682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57C0 FC40 @@ -384537,7 +424103,7 @@ ENCODING 32683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5080 FFE0 @@ -384555,7 +424121,7 @@ ENCODING 32684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 50A0 FFE0 @@ -384573,7 +424139,7 @@ ENCODING 32685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8B80 5440 FBA0 @@ -384591,7 +424157,7 @@ ENCODING 32686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -384609,7 +424175,7 @@ ENCODING 32687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BC0 5240 FBC0 @@ -384627,7 +424193,7 @@ ENCODING 32688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 54A0 FFE0 @@ -384645,7 +424211,7 @@ ENCODING 32689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5480 FDE0 @@ -384663,7 +424229,7 @@ ENCODING 32690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 0400 @@ -384681,7 +424247,7 @@ ENCODING 32691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 5720 FD40 @@ -384699,7 +424265,7 @@ ENCODING 32692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 3F80 0400 @@ -384717,7 +424283,7 @@ ENCODING 32693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 F540 @@ -384735,7 +424301,7 @@ ENCODING 32694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 FDA0 @@ -384753,7 +424319,7 @@ ENCODING 32695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5280 FC40 @@ -384771,7 +424337,7 @@ ENCODING 32696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -384789,7 +424355,7 @@ ENCODING 32697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 0900 7FC0 @@ -384807,7 +424373,7 @@ ENCODING 32698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5100 FFE0 @@ -384825,7 +424391,7 @@ ENCODING 32699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 57E0 FD40 @@ -384843,7 +424409,7 @@ ENCODING 32700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4020 7FE0 @@ -384861,7 +424427,7 @@ ENCODING 32701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0820 4920 @@ -384879,7 +424445,7 @@ ENCODING 32702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 27E0 B480 @@ -384897,7 +424463,7 @@ ENCODING 32703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 4A40 2940 @@ -384915,7 +424481,7 @@ ENCODING 32704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2480 A7E0 @@ -384933,7 +424499,7 @@ ENCODING 32705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2500 4A80 @@ -384951,7 +424517,7 @@ ENCODING 32706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 2540 2540 @@ -384969,7 +424535,7 @@ ENCODING 32707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 FDA0 @@ -384987,7 +424553,7 @@ ENCODING 32708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFE0 2480 @@ -385005,7 +424571,7 @@ ENCODING 32709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -385023,7 +424589,7 @@ ENCODING 32710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 4A40 2940 @@ -385041,7 +424607,7 @@ ENCODING 32711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 4A40 2940 @@ -385059,7 +424625,7 @@ ENCODING 32712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A920 ADA0 @@ -385077,7 +424643,7 @@ ENCODING 32713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 FDA0 @@ -385095,7 +424661,7 @@ ENCODING 32714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2120 FDA0 @@ -385113,7 +424679,7 @@ ENCODING 32715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2480 B7E0 @@ -385131,7 +424697,7 @@ ENCODING 32716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 2940 18C0 @@ -385149,7 +424715,7 @@ ENCODING 32717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 25E0 B560 @@ -385167,7 +424733,7 @@ ENCODING 32718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1760 2920 45A0 @@ -385185,7 +424751,7 @@ ENCODING 32719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 4A40 2940 @@ -385203,7 +424769,7 @@ ENCODING 32720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2680 B7E0 @@ -385221,7 +424787,7 @@ ENCODING 32721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 25E0 B620 @@ -385239,7 +424805,7 @@ ENCODING 32722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 5960 @@ -385257,7 +424823,7 @@ ENCODING 32723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -385275,7 +424841,7 @@ ENCODING 32724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5120 F920 @@ -385293,7 +424859,7 @@ ENCODING 32725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 DF60 @@ -385311,7 +424877,7 @@ ENCODING 32726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 5120 @@ -385329,7 +424895,7 @@ ENCODING 32727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3920 4DA0 @@ -385347,7 +424913,7 @@ ENCODING 32728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F120 55A0 @@ -385365,7 +424931,7 @@ ENCODING 32729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 AFE0 A920 @@ -385383,7 +424949,7 @@ ENCODING 32730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 2940 4A40 @@ -385401,7 +424967,7 @@ ENCODING 32731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5540 @@ -385419,7 +424985,7 @@ ENCODING 32732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 38E0 @@ -385437,7 +425003,7 @@ ENCODING 32733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F920 A920 @@ -385455,7 +425021,7 @@ ENCODING 32734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 27E0 B400 @@ -385473,7 +425039,7 @@ ENCODING 32735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2940 18C0 @@ -385491,7 +425057,7 @@ ENCODING 32736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 2940 18C0 @@ -385509,7 +425075,7 @@ ENCODING 32737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -385527,7 +425093,7 @@ ENCODING 32738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A920 FDA0 @@ -385545,7 +425111,7 @@ ENCODING 32739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 38E0 @@ -385563,7 +425129,7 @@ ENCODING 32740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9120 95A0 @@ -385581,7 +425147,7 @@ ENCODING 32741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 3F80 0500 @@ -385599,7 +425165,7 @@ ENCODING 32742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4840 @@ -385617,7 +425183,7 @@ ENCODING 32743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 8920 @@ -385635,7 +425201,7 @@ ENCODING 32744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 38E0 @@ -385653,7 +425219,7 @@ ENCODING 32745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 8920 @@ -385671,7 +425237,7 @@ ENCODING 32746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF60 26A0 B760 @@ -385689,7 +425255,7 @@ ENCODING 32747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2400 B400 @@ -385707,7 +425273,7 @@ ENCODING 32748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 4A40 39C0 @@ -385725,7 +425291,7 @@ ENCODING 32749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FCC0 2540 B640 @@ -385743,7 +425309,7 @@ ENCODING 32750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4920 7DA0 @@ -385761,7 +425327,7 @@ ENCODING 32751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4920 38E0 @@ -385779,7 +425345,7 @@ ENCODING 32752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 FA40 2420 @@ -385797,7 +425363,7 @@ ENCODING 32753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F920 8DA0 @@ -385815,7 +425381,7 @@ ENCODING 32754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2920 FDA0 @@ -385833,7 +425399,7 @@ ENCODING 32755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 FC60 @@ -385851,7 +425417,7 @@ ENCODING 32756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2C80 ABE0 @@ -385869,7 +425435,7 @@ ENCODING 32757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2BC0 AA40 @@ -385887,7 +425453,7 @@ ENCODING 32758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 FFE0 8920 @@ -385905,7 +425471,7 @@ ENCODING 32759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93E0 54A0 FEA0 @@ -385923,7 +425489,7 @@ ENCODING 32760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F920 6DA0 @@ -385941,7 +425507,7 @@ ENCODING 32761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F8A0 22E0 @@ -385959,7 +425525,7 @@ ENCODING 32762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 FFE0 A920 @@ -385977,7 +425543,7 @@ ENCODING 32763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E7E0 A920 @@ -385995,7 +425561,7 @@ ENCODING 32764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4920 38E0 @@ -386013,7 +425579,7 @@ ENCODING 32765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5120 FDA0 @@ -386031,7 +425597,7 @@ ENCODING 32766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A920 FDA0 @@ -386049,7 +425615,7 @@ ENCODING 32767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 10A0 FEE0 @@ -386067,7 +425633,7 @@ ENCODING 32768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 ADA0 @@ -386085,7 +425651,7 @@ ENCODING 32769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0440 3F80 @@ -386103,7 +425669,7 @@ ENCODING 32770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 7F40 @@ -386121,7 +425687,7 @@ ENCODING 32771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 7F80 0900 @@ -386139,7 +425705,7 @@ ENCODING 32772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 7F00 0A00 @@ -386157,7 +425723,7 @@ ENCODING 32773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F40 0480 @@ -386175,7 +425741,7 @@ ENCODING 32774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 7E80 0500 @@ -386193,7 +425759,7 @@ ENCODING 32775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 7F80 0900 @@ -386211,7 +425777,7 @@ ENCODING 32776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F40 0480 @@ -386229,7 +425795,7 @@ ENCODING 32777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7F40 0480 @@ -386247,7 +425813,7 @@ ENCODING 32778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F40 0480 @@ -386265,7 +425831,7 @@ ENCODING 32779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0840 7F80 0A00 @@ -386283,7 +425849,7 @@ ENCODING 32780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0800 @@ -386301,7 +425867,7 @@ ENCODING 32781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 7FC0 @@ -386319,7 +425885,7 @@ ENCODING 32782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 7FC0 @@ -386337,7 +425903,7 @@ ENCODING 32783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 1080 2100 @@ -386355,7 +425921,7 @@ ENCODING 32784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 1040 21E0 @@ -386373,7 +425939,7 @@ ENCODING 32785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -386391,7 +425957,7 @@ ENCODING 32786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -386409,7 +425975,7 @@ ENCODING 32787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2080 @@ -386427,7 +425993,7 @@ ENCODING 32788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 2040 @@ -386445,7 +426011,7 @@ ENCODING 32789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FA40 27E0 @@ -386463,7 +426029,7 @@ ENCODING 32790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F8C0 22A0 @@ -386481,7 +426047,7 @@ ENCODING 32791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 2100 @@ -386499,7 +426065,7 @@ ENCODING 32792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 F800 2000 @@ -386517,7 +426083,7 @@ ENCODING 32793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 22A0 @@ -386535,7 +426101,7 @@ ENCODING 32794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 27E0 @@ -386553,7 +426119,7 @@ ENCODING 32795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 2240 @@ -386571,7 +426137,7 @@ ENCODING 32796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -386589,7 +426155,7 @@ ENCODING 32797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2240 @@ -386607,7 +426173,7 @@ ENCODING 32798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 FEE0 2AA0 @@ -386625,7 +426191,7 @@ ENCODING 32799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 2200 @@ -386643,7 +426209,7 @@ ENCODING 32800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F980 2240 @@ -386661,7 +426227,7 @@ ENCODING 32801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 FA80 4BE0 @@ -386679,7 +426245,7 @@ ENCODING 32802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F7E0 2140 @@ -386697,7 +426263,7 @@ ENCODING 32803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA80 2440 @@ -386715,7 +426281,7 @@ ENCODING 32804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -386733,7 +426299,7 @@ ENCODING 32805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 F520 2340 @@ -386751,7 +426317,7 @@ ENCODING 32806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FD40 27C0 @@ -386769,7 +426335,7 @@ ENCODING 32807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 FB40 27E0 @@ -386787,7 +426353,7 @@ ENCODING 32808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F800 4BC0 @@ -386805,7 +426371,7 @@ ENCODING 32809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -386823,7 +426389,7 @@ ENCODING 32810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2280 @@ -386841,7 +426407,7 @@ ENCODING 32811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2100 @@ -386859,7 +426425,7 @@ ENCODING 32812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2540 @@ -386877,7 +426443,7 @@ ENCODING 32813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2340 FD40 27A0 @@ -386895,7 +426461,7 @@ ENCODING 32814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -386913,7 +426479,7 @@ ENCODING 32815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FFE0 2280 @@ -386931,7 +426497,7 @@ ENCODING 32816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FA40 23C0 @@ -386949,7 +426515,7 @@ ENCODING 32817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2A40 @@ -386967,7 +426533,7 @@ ENCODING 32818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2540 @@ -386984,26 +426550,26 @@ STARTCHAR U_8033 ENCODING 32819 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -1080 -1080 -1F80 -1080 -1F80 -1080 -10E0 -7F80 -0080 -0080 +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 +BITMAP FD00 4900 4900 @@ -387021,7 +426587,7 @@ ENCODING 32821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 4BE0 4880 @@ -387039,7 +426605,7 @@ ENCODING 32822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 4920 4920 @@ -387057,7 +426623,7 @@ ENCODING 32823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -387075,7 +426641,7 @@ ENCODING 32824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2A80 4440 @@ -387093,7 +426659,7 @@ ENCODING 32825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4980 4A40 @@ -387110,9 +426676,8 @@ STARTCHAR U_803A ENCODING 32826 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FBC0 5000 7000 @@ -387129,7 +426694,7 @@ ENCODING 32827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4880 4880 @@ -387147,7 +426712,7 @@ ENCODING 32828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5240 5240 @@ -387165,7 +426730,7 @@ ENCODING 32829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5100 57E0 @@ -387183,7 +426748,7 @@ ENCODING 32830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4900 4FE0 @@ -387201,7 +426766,7 @@ ENCODING 32831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4880 4880 @@ -387219,7 +426784,7 @@ ENCODING 32832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD40 5120 @@ -387236,9 +426801,8 @@ STARTCHAR U_8041 ENCODING 32833 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FA80 5280 7440 @@ -387255,7 +426819,7 @@ ENCODING 32834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2100 3F00 @@ -387273,7 +426837,7 @@ ENCODING 32835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5100 57C0 @@ -387291,7 +426855,7 @@ ENCODING 32836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 5280 @@ -387309,7 +426873,7 @@ ENCODING 32837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 57C0 @@ -387327,7 +426891,7 @@ ENCODING 32838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4980 4A40 @@ -387345,7 +426909,7 @@ ENCODING 32839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4880 4880 @@ -387363,7 +426927,7 @@ ENCODING 32840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 5480 5880 @@ -387381,7 +426945,7 @@ ENCODING 32841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FC80 52A0 @@ -387399,7 +426963,7 @@ ENCODING 32842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 ACE0 AAA0 @@ -387417,7 +426981,7 @@ ENCODING 32843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 1480 @@ -387435,7 +426999,7 @@ ENCODING 32844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A20 4A20 @@ -387453,7 +427017,7 @@ ENCODING 32845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4BE0 4A20 @@ -387471,7 +427035,7 @@ ENCODING 32846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 52A0 @@ -387489,7 +427053,7 @@ ENCODING 32847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A100 A200 @@ -387507,7 +427071,7 @@ ENCODING 32848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 4880 4FE0 @@ -387525,7 +427089,7 @@ ENCODING 32849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A40 4A40 @@ -387543,7 +427107,7 @@ ENCODING 32850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 5380 5080 @@ -387561,7 +427125,7 @@ ENCODING 32851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB80 22A0 3BA0 @@ -387579,7 +427143,7 @@ ENCODING 32852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 5280 57E0 @@ -387597,7 +427161,7 @@ ENCODING 32853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FA80 53E0 @@ -387615,7 +427179,7 @@ ENCODING 32854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 49E0 7920 @@ -387633,7 +427197,7 @@ ENCODING 32855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 57E0 @@ -387651,7 +427215,7 @@ ENCODING 32856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 53E0 52A0 @@ -387669,7 +427233,7 @@ ENCODING 32857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 5100 @@ -387687,7 +427251,7 @@ ENCODING 32858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4520 7CC0 @@ -387705,7 +427269,7 @@ ENCODING 32859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 5520 @@ -387723,7 +427287,7 @@ ENCODING 32860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5420 @@ -387741,7 +427305,7 @@ ENCODING 32861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 50A0 57E0 @@ -387758,26 +427322,26 @@ STARTCHAR U_805E ENCODING 32862 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -79E0 -4920 -79E0 -4920 -7FE0 -4920 -4F20 -4920 -4FE0 -7920 -4160 +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 +BITMAP 2000 3BC0 5240 @@ -387795,7 +427359,7 @@ ENCODING 32864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0420 FA40 5240 @@ -387813,7 +427377,7 @@ ENCODING 32865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FA80 5540 @@ -387831,7 +427395,7 @@ ENCODING 32866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 57E0 @@ -387849,7 +427413,7 @@ ENCODING 32867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FEC0 5440 @@ -387867,7 +427431,7 @@ ENCODING 32868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5240 @@ -387885,7 +427449,7 @@ ENCODING 32869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F900 57C0 @@ -387903,7 +427467,7 @@ ENCODING 32870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBE0 5560 @@ -387921,7 +427485,7 @@ ENCODING 32871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 55A0 52C0 @@ -387939,7 +427503,7 @@ ENCODING 32872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FDA0 56E0 @@ -387957,7 +427521,7 @@ ENCODING 32873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57C0 5540 @@ -387975,7 +427539,7 @@ ENCODING 32874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FA80 57C0 @@ -387993,7 +427557,7 @@ ENCODING 32875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 55A0 @@ -388011,7 +427575,7 @@ ENCODING 32876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 5240 5520 @@ -388029,7 +427593,7 @@ ENCODING 32877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA00 57C0 @@ -388047,7 +427611,7 @@ ENCODING 32878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 FA40 55A0 @@ -388065,7 +427629,7 @@ ENCODING 32879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 A440 AAA0 @@ -388083,7 +427647,7 @@ ENCODING 32880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 56A0 @@ -388101,7 +427665,7 @@ ENCODING 32881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FDE0 2340 @@ -388119,7 +427683,7 @@ ENCODING 32882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FD40 5620 @@ -388137,7 +427701,7 @@ ENCODING 32883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 AB40 5220 @@ -388155,7 +427719,7 @@ ENCODING 32884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 5100 @@ -388173,7 +427737,7 @@ ENCODING 32885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57C0 5540 @@ -388191,7 +427755,7 @@ ENCODING 32886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0880 0F80 @@ -388209,7 +427773,7 @@ ENCODING 32887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 AFC0 AAA0 @@ -388227,7 +427791,7 @@ ENCODING 32888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB80 57E0 5D40 @@ -388245,7 +427809,7 @@ ENCODING 32889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 AD60 @@ -388263,7 +427827,7 @@ ENCODING 32890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 5420 @@ -388281,7 +427845,7 @@ ENCODING 32891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 3F00 A9E0 @@ -388299,7 +427863,7 @@ ENCODING 32892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 17E0 F900 @@ -388317,7 +427881,7 @@ ENCODING 32893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 5FE0 7100 @@ -388335,7 +427899,7 @@ ENCODING 32894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 2900 FFE0 @@ -388353,7 +427917,7 @@ ENCODING 32895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0480 @@ -388371,7 +427935,7 @@ ENCODING 32896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 0440 @@ -388388,8 +427952,8 @@ STARTCHAR U_8081 ENCODING 32897 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 7FC0 4040 @@ -388407,7 +427971,7 @@ ENCODING 32898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2140 @@ -388425,7 +427989,7 @@ ENCODING 32899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0440 @@ -388443,7 +428007,7 @@ ENCODING 32900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 67C0 4940 @@ -388461,7 +428025,7 @@ ENCODING 32901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0440 @@ -388479,7 +428043,7 @@ ENCODING 32902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 77C0 4140 @@ -388497,7 +428061,7 @@ ENCODING 32903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 4940 @@ -388515,7 +428079,7 @@ ENCODING 32904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 7FE0 4940 @@ -388532,26 +428096,26 @@ STARTCHAR U_8089 ENCODING 32905 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FC0 -4440 -4A40 -7140 -4440 -4440 -4A40 -7140 -4040 -40C0 +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 +BITMAP 7800 4FC0 4840 @@ -388569,7 +428133,7 @@ ENCODING 32907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4900 @@ -388587,7 +428151,7 @@ ENCODING 32908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 9480 9480 @@ -388605,7 +428169,7 @@ ENCODING 32909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5200 5780 @@ -388623,7 +428187,7 @@ ENCODING 32910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 8040 3F80 @@ -388641,7 +428205,7 @@ ENCODING 32911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 0A00 3180 @@ -388659,7 +428223,7 @@ ENCODING 32912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4A00 4BE0 @@ -388677,7 +428241,7 @@ ENCODING 32913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5200 53E0 @@ -388695,7 +428259,7 @@ ENCODING 32914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5200 5F80 @@ -388713,7 +428277,7 @@ ENCODING 32915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -388731,7 +428295,7 @@ ENCODING 32916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 5500 @@ -388749,7 +428313,7 @@ ENCODING 32917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5120 5120 @@ -388766,26 +428330,26 @@ STARTCHAR U_8096 ENCODING 32918 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4440 -2480 -1500 -3F80 -2080 -3F80 -2080 -3F80 -2080 -2080 -2180 +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 +BITMAP 7100 5100 5100 @@ -388803,7 +428367,7 @@ ENCODING 32920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 4840 4840 @@ -388820,26 +428384,26 @@ STARTCHAR U_8099 ENCODING 32921 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1F80 -1080 -1F80 -0000 -3FC0 -2040 -3FC0 -2040 -3FC0 -2040 -21C0 +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 +BITMAP 7900 4900 4900 @@ -388857,7 +428421,7 @@ ENCODING 32923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 4BE0 4880 @@ -388875,7 +428439,7 @@ ENCODING 32924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 4880 4900 @@ -388893,7 +428457,7 @@ ENCODING 32925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 4880 @@ -388911,7 +428475,7 @@ ENCODING 32926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 5540 @@ -388929,7 +428493,7 @@ ENCODING 32927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4800 4800 @@ -388947,7 +428511,7 @@ ENCODING 32928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4880 4900 @@ -388965,7 +428529,7 @@ ENCODING 32929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -388983,7 +428547,7 @@ ENCODING 32930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4FE0 @@ -389001,7 +428565,7 @@ ENCODING 32931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4A80 4C40 @@ -389019,7 +428583,7 @@ ENCODING 32932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4FC0 @@ -389037,7 +428601,7 @@ ENCODING 32933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 4AA0 @@ -389055,7 +428619,7 @@ ENCODING 32934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5280 @@ -389073,7 +428637,7 @@ ENCODING 32935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5100 5100 @@ -389091,7 +428655,7 @@ ENCODING 32936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 57C0 @@ -389108,8 +428672,8 @@ STARTCHAR U_80A9 ENCODING 32937 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 0400 3FC0 2040 @@ -389127,7 +428691,7 @@ ENCODING 32938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 4FE0 @@ -389145,7 +428709,7 @@ ENCODING 32939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4FE0 @@ -389163,7 +428727,7 @@ ENCODING 32940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7280 5240 @@ -389181,7 +428745,7 @@ ENCODING 32941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4BE0 @@ -389199,7 +428763,7 @@ ENCODING 32942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5100 5FE0 @@ -389217,7 +428781,7 @@ ENCODING 32943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -389235,7 +428799,7 @@ ENCODING 32944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5140 5120 @@ -389253,7 +428817,7 @@ ENCODING 32945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4FE0 @@ -389271,7 +428835,7 @@ ENCODING 32946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -389289,7 +428853,7 @@ ENCODING 32947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5200 53E0 @@ -389307,7 +428871,7 @@ ENCODING 32948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71C0 0E00 71C0 @@ -389325,7 +428889,7 @@ ENCODING 32949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 4A00 @@ -389343,7 +428907,7 @@ ENCODING 32950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 7480 5480 @@ -389361,7 +428925,7 @@ ENCODING 32951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4A00 4BE0 @@ -389379,7 +428943,7 @@ ENCODING 32952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 4A80 4C40 @@ -389397,7 +428961,7 @@ ENCODING 32953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5440 @@ -389415,7 +428979,7 @@ ENCODING 32954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -389433,7 +428997,7 @@ ENCODING 32955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -389451,7 +429015,7 @@ ENCODING 32956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4A40 4FE0 @@ -389469,7 +429033,7 @@ ENCODING 32957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4900 @@ -389487,7 +429051,7 @@ ENCODING 32958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 9280 9100 @@ -389505,7 +429069,7 @@ ENCODING 32959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4BE0 @@ -389523,7 +429087,7 @@ ENCODING 32960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 4A40 4A80 @@ -389541,7 +429105,7 @@ ENCODING 32961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 9FC0 @@ -389559,7 +429123,7 @@ ENCODING 32962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 5080 57E0 @@ -389576,44 +429140,44 @@ STARTCHAR U_80C3 ENCODING 32963 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -4440 -7FC0 -4440 -7FC0 -2080 -3F80 -2080 -3F80 -2080 -2380 +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 11 11 0 -1 -BITMAP -0400 -7FC0 -4440 -7FC0 -4440 -7FC0 -2080 -3F80 -2080 -3F80 -2080 +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 +BITMAP 7100 5500 57C0 @@ -389631,7 +429195,7 @@ ENCODING 32966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 4BC0 4A40 @@ -389649,7 +429213,7 @@ ENCODING 32967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 52A0 @@ -389667,7 +429231,7 @@ ENCODING 32968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4920 4FE0 @@ -389685,7 +429249,7 @@ ENCODING 32969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4900 4BE0 @@ -389703,7 +429267,7 @@ ENCODING 32970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4A00 4BE0 @@ -389721,7 +429285,7 @@ ENCODING 32971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 51E0 @@ -389739,7 +429303,7 @@ ENCODING 32972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 F380 1220 @@ -389757,7 +429321,7 @@ ENCODING 32973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7060 57C0 5540 @@ -389775,7 +429339,7 @@ ENCODING 32974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4A40 @@ -389793,7 +429357,7 @@ ENCODING 32975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 48A0 4BC0 @@ -389811,7 +429375,7 @@ ENCODING 32976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5520 5520 @@ -389829,7 +429393,7 @@ ENCODING 32977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4A20 @@ -389847,7 +429411,7 @@ ENCODING 32978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -389865,7 +429429,7 @@ ENCODING 32979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 5540 @@ -389883,7 +429447,7 @@ ENCODING 32980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5D80 5120 @@ -389901,7 +429465,7 @@ ENCODING 32981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 5240 5440 @@ -389919,7 +429483,7 @@ ENCODING 32982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5520 5540 @@ -389937,7 +429501,7 @@ ENCODING 32983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4A80 4C40 @@ -389955,7 +429519,7 @@ ENCODING 32984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 4FE0 @@ -389973,7 +429537,7 @@ ENCODING 32985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4A00 4BE0 @@ -389991,7 +429555,7 @@ ENCODING 32986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 4900 @@ -390009,7 +429573,7 @@ ENCODING 32987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 4AA0 @@ -390027,7 +429591,7 @@ ENCODING 32988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5500 5500 @@ -390045,7 +429609,7 @@ ENCODING 32989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7040 5780 5480 @@ -390063,7 +429627,7 @@ ENCODING 32990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53E0 5420 @@ -390081,7 +429645,7 @@ ENCODING 32991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 5540 @@ -390099,7 +429663,7 @@ ENCODING 32992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4FC0 @@ -390117,7 +429681,7 @@ ENCODING 32993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 FE20 @@ -390135,7 +429699,7 @@ ENCODING 32994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5040 5740 @@ -390153,7 +429717,7 @@ ENCODING 32995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4BE0 4C80 @@ -390171,7 +429735,7 @@ ENCODING 32996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 5C80 4A80 @@ -390189,7 +429753,7 @@ ENCODING 32997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2440 2780 @@ -390207,7 +429771,7 @@ ENCODING 32998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5100 57C0 @@ -390225,7 +429789,7 @@ ENCODING 32999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5240 5FE0 @@ -390243,7 +429807,7 @@ ENCODING 33000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 4900 @@ -390261,7 +429825,7 @@ ENCODING 33001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 49E0 @@ -390279,7 +429843,7 @@ ENCODING 33002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 48E0 4880 @@ -390297,7 +429861,7 @@ ENCODING 33003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5040 5080 @@ -390315,7 +429879,7 @@ ENCODING 33004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F940 5080 @@ -390333,7 +429897,7 @@ ENCODING 33005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5520 5520 @@ -390351,7 +429915,7 @@ ENCODING 33006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 4A20 4940 @@ -390369,7 +429933,7 @@ ENCODING 33007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -390387,7 +429951,7 @@ ENCODING 33008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -390405,7 +429969,7 @@ ENCODING 33009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5920 5540 @@ -390423,7 +429987,7 @@ ENCODING 33010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 5100 5FE0 @@ -390441,7 +430005,7 @@ ENCODING 33011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53C0 5680 @@ -390459,7 +430023,7 @@ ENCODING 33012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 55E0 @@ -390477,7 +430041,7 @@ ENCODING 33013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5100 5200 @@ -390495,7 +430059,7 @@ ENCODING 33014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5280 @@ -390513,7 +430077,7 @@ ENCODING 33015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A20 A4A0 @@ -390531,7 +430095,7 @@ ENCODING 33016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53E0 5420 @@ -390549,7 +430113,7 @@ ENCODING 33017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 A200 @@ -390567,7 +430131,7 @@ ENCODING 33018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5420 @@ -390585,7 +430149,7 @@ ENCODING 33019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 72E0 5400 5800 @@ -390603,7 +430167,7 @@ ENCODING 33020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5280 5FE0 @@ -390621,7 +430185,7 @@ ENCODING 33021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4940 FD80 @@ -390639,7 +430203,7 @@ ENCODING 33022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD40 1120 @@ -390657,7 +430221,7 @@ ENCODING 33023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 4900 @@ -390675,7 +430239,7 @@ ENCODING 33024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0120 7640 @@ -390693,7 +430257,7 @@ ENCODING 33025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5AA0 56C0 @@ -390711,7 +430275,7 @@ ENCODING 33026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4A60 4B80 @@ -390729,7 +430293,7 @@ ENCODING 33027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BE0 4C40 @@ -390747,7 +430311,7 @@ ENCODING 33028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 4900 @@ -390765,7 +430329,7 @@ ENCODING 33029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F80 2080 @@ -390783,7 +430347,7 @@ ENCODING 33030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5480 5FE0 @@ -390801,7 +430365,7 @@ ENCODING 33031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FC0 4940 @@ -390819,7 +430383,7 @@ ENCODING 33032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0E0 AF00 A860 @@ -390837,7 +430401,7 @@ ENCODING 33033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5080 5700 @@ -390854,26 +430418,26 @@ STARTCHAR U_810A ENCODING 33034 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -6460 -1680 -6960 -1080 -3FC0 -50A0 -1F80 -1080 -1F80 -1080 -1380 +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 +BITMAP 3F80 0880 1100 @@ -390891,7 +430455,7 @@ ENCODING 33036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BE0 4C80 @@ -390909,7 +430473,7 @@ ENCODING 33037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5280 5440 @@ -390927,7 +430491,7 @@ ENCODING 33038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E60 4980 4A40 @@ -390945,7 +430509,7 @@ ENCODING 33039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 57E0 5400 @@ -390963,7 +430527,7 @@ ENCODING 33040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5240 @@ -390981,7 +430545,7 @@ ENCODING 33041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5080 57E0 @@ -390999,7 +430563,7 @@ ENCODING 33042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4D20 4B40 @@ -391017,7 +430581,7 @@ ENCODING 33043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5920 @@ -391035,7 +430599,7 @@ ENCODING 33044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2A80 @@ -391053,7 +430617,7 @@ ENCODING 33045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 53C0 5480 @@ -391071,7 +430635,7 @@ ENCODING 33046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5100 @@ -391089,7 +430653,7 @@ ENCODING 33047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BE0 4D60 @@ -391107,7 +430671,7 @@ ENCODING 33048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 4FE0 @@ -391125,7 +430689,7 @@ ENCODING 33049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7180 5140 5FE0 @@ -391143,7 +430707,7 @@ ENCODING 33050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 74E0 54A0 5FA0 @@ -391161,7 +430725,7 @@ ENCODING 33051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5540 5540 @@ -391179,7 +430743,7 @@ ENCODING 33052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 4900 @@ -391197,7 +430761,7 @@ ENCODING 33053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 4A40 @@ -391215,7 +430779,7 @@ ENCODING 33054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5540 5540 @@ -391233,7 +430797,7 @@ ENCODING 33055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4BA0 4D20 @@ -391251,7 +430815,7 @@ ENCODING 33056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7060 5DC0 5440 @@ -391269,7 +430833,7 @@ ENCODING 33057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7020 5EC0 5240 @@ -391287,7 +430851,7 @@ ENCODING 33058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 57E0 5800 @@ -391305,7 +430869,7 @@ ENCODING 33059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4000 7FE0 @@ -391323,7 +430887,7 @@ ENCODING 33060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5400 57C0 @@ -391341,7 +430905,7 @@ ENCODING 33061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -391359,7 +430923,7 @@ ENCODING 33062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70C0 50A0 5FE0 @@ -391377,7 +430941,7 @@ ENCODING 33063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5240 57A0 @@ -391395,7 +430959,7 @@ ENCODING 33064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -391413,7 +430977,7 @@ ENCODING 33065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 4A40 @@ -391431,7 +430995,7 @@ ENCODING 33066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4880 4B60 @@ -391449,7 +431013,7 @@ ENCODING 33067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5440 5FE0 @@ -391467,7 +431031,7 @@ ENCODING 33068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70C0 5F20 5A20 @@ -391485,7 +431049,7 @@ ENCODING 33069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 5440 @@ -391503,7 +431067,7 @@ ENCODING 33070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78E0 4FA0 4AA0 @@ -391521,7 +431085,7 @@ ENCODING 33071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E140 A120 AFE0 @@ -391539,7 +431103,7 @@ ENCODING 33072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4800 4BC0 @@ -391557,7 +431121,7 @@ ENCODING 33073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7440 5280 57C0 @@ -391575,7 +431139,7 @@ ENCODING 33074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -391593,7 +431157,7 @@ ENCODING 33075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D20 4AA0 4AC0 @@ -391611,7 +431175,7 @@ ENCODING 33076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4880 4900 @@ -391629,7 +431193,7 @@ ENCODING 33077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -391647,7 +431211,7 @@ ENCODING 33078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 5240 @@ -391665,7 +431229,7 @@ ENCODING 33079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B20 4E20 4A20 @@ -391683,7 +431247,7 @@ ENCODING 33080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4940 @@ -391701,7 +431265,7 @@ ENCODING 33081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A00 4BC0 @@ -391719,7 +431283,7 @@ ENCODING 33082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 4FE0 @@ -391737,7 +431301,7 @@ ENCODING 33083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 4900 @@ -391755,7 +431319,7 @@ ENCODING 33084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5100 5100 @@ -391773,7 +431337,7 @@ ENCODING 33085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7300 5280 57E0 @@ -391791,7 +431355,7 @@ ENCODING 33086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5520 @@ -391809,7 +431373,7 @@ ENCODING 33087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 4900 @@ -391827,7 +431391,7 @@ ENCODING 33088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4980 4A40 @@ -391845,7 +431409,7 @@ ENCODING 33089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7220 5440 5EE0 @@ -391863,7 +431427,7 @@ ENCODING 33090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 4BE0 @@ -391881,7 +431445,7 @@ ENCODING 33091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 5680 5FE0 @@ -391899,7 +431463,7 @@ ENCODING 33092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 5FE0 @@ -391917,7 +431481,7 @@ ENCODING 33093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7AA0 4AA0 4880 @@ -391935,7 +431499,7 @@ ENCODING 33094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 A280 AFE0 @@ -391953,7 +431517,7 @@ ENCODING 33095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 5FE0 @@ -391971,7 +431535,7 @@ ENCODING 33096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -391989,7 +431553,7 @@ ENCODING 33097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4AE0 4A20 @@ -392007,7 +431571,7 @@ ENCODING 33098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 57C0 @@ -392025,7 +431589,7 @@ ENCODING 33099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -392043,7 +431607,7 @@ ENCODING 33100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -392061,7 +431625,7 @@ ENCODING 33101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7380 5440 5A20 @@ -392079,7 +431643,7 @@ ENCODING 33102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9240 F980 @@ -392097,7 +431661,7 @@ ENCODING 33103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5120 56C0 @@ -392115,7 +431679,7 @@ ENCODING 33104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4840 @@ -392133,7 +431697,7 @@ ENCODING 33105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5480 @@ -392151,7 +431715,7 @@ ENCODING 33106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -392169,7 +431733,7 @@ ENCODING 33107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5280 5EE0 @@ -392187,7 +431751,7 @@ ENCODING 33108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5820 @@ -392205,7 +431769,7 @@ ENCODING 33109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5820 @@ -392223,7 +431787,7 @@ ENCODING 33110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 4880 @@ -392241,7 +431805,7 @@ ENCODING 33111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5540 @@ -392259,7 +431823,7 @@ ENCODING 33112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -392277,7 +431841,7 @@ ENCODING 33113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5420 @@ -392295,7 +431859,7 @@ ENCODING 33114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5420 @@ -392313,7 +431877,7 @@ ENCODING 33115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5420 57E0 @@ -392331,7 +431895,7 @@ ENCODING 33116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4FE0 4A40 @@ -392349,7 +431913,7 @@ ENCODING 33117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5200 5FE0 @@ -392367,7 +431931,7 @@ ENCODING 33118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 5240 57C0 @@ -392385,7 +431949,7 @@ ENCODING 33119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5820 @@ -392403,7 +431967,7 @@ ENCODING 33120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5200 @@ -392421,7 +431985,7 @@ ENCODING 33121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A740 @@ -392439,7 +432003,7 @@ ENCODING 33122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5540 57C0 @@ -392457,7 +432021,7 @@ ENCODING 33123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -392475,7 +432039,7 @@ ENCODING 33124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -392493,7 +432057,7 @@ ENCODING 33125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4BE0 @@ -392511,7 +432075,7 @@ ENCODING 33126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 72A0 5540 52A0 @@ -392529,7 +432093,7 @@ ENCODING 33127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 A280 A440 @@ -392547,7 +432111,7 @@ ENCODING 33128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5540 5540 @@ -392565,7 +432129,7 @@ ENCODING 33129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A100 @@ -392583,7 +432147,7 @@ ENCODING 33130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5920 57C0 @@ -392601,7 +432165,7 @@ ENCODING 33131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 5FE0 @@ -392619,7 +432183,7 @@ ENCODING 33132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5280 5100 @@ -392637,7 +432201,7 @@ ENCODING 33133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EE0 5AA0 5EE0 @@ -392655,7 +432219,7 @@ ENCODING 33134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5520 57E0 @@ -392673,7 +432237,7 @@ ENCODING 33135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5480 57E0 @@ -392691,7 +432255,7 @@ ENCODING 33136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -392709,7 +432273,7 @@ ENCODING 33137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 5FE0 54A0 @@ -392727,7 +432291,7 @@ ENCODING 33138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5520 57E0 @@ -392745,7 +432309,7 @@ ENCODING 33139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAE0 AAA0 B1A0 @@ -392763,7 +432327,7 @@ ENCODING 33140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AD60 A920 @@ -392781,7 +432345,7 @@ ENCODING 33141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7760 5520 5520 @@ -392799,7 +432363,7 @@ ENCODING 33142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 76E0 54A0 54A0 @@ -392817,7 +432381,7 @@ ENCODING 33143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5000 53C0 @@ -392835,7 +432399,7 @@ ENCODING 33144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5440 57C0 @@ -392853,7 +432417,7 @@ ENCODING 33145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 57E0 5C40 @@ -392871,7 +432435,7 @@ ENCODING 33146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 57C0 5440 @@ -392889,7 +432453,7 @@ ENCODING 33147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0A0 BFE0 A080 @@ -392907,7 +432471,7 @@ ENCODING 33148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 AFE0 @@ -392925,7 +432489,7 @@ ENCODING 33149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A7C0 @@ -392943,7 +432507,7 @@ ENCODING 33150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5FE0 5200 @@ -392961,7 +432525,7 @@ ENCODING 33151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71E0 5920 55E0 @@ -392979,7 +432543,7 @@ ENCODING 33152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -392997,7 +432561,7 @@ ENCODING 33153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7480 5FC0 5500 @@ -393015,7 +432579,7 @@ ENCODING 33154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFE0 2B20 @@ -393033,7 +432597,7 @@ ENCODING 33155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A540 A6C0 @@ -393051,7 +432615,7 @@ ENCODING 33156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7760 5520 5760 @@ -393069,7 +432633,7 @@ ENCODING 33157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5500 @@ -393087,7 +432651,7 @@ ENCODING 33158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5100 @@ -393105,7 +432669,7 @@ ENCODING 33159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 59E0 5520 @@ -393123,7 +432687,7 @@ ENCODING 33160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A000 A7C0 @@ -393141,7 +432705,7 @@ ENCODING 33161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 A280 AFE0 @@ -393159,7 +432723,7 @@ ENCODING 33162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7140 5FE0 5520 @@ -393177,7 +432741,7 @@ ENCODING 33163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 52A0 94A0 @@ -393195,7 +432759,7 @@ ENCODING 33164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 5580 5340 @@ -393213,7 +432777,7 @@ ENCODING 33165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 56A0 @@ -393231,7 +432795,7 @@ ENCODING 33166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70C0 5F40 5540 @@ -393249,7 +432813,7 @@ ENCODING 33167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -393267,7 +432831,7 @@ ENCODING 33168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA40 2580 @@ -393285,7 +432849,7 @@ ENCODING 33169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 57E0 5420 @@ -393303,7 +432867,7 @@ ENCODING 33170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5400 55C0 @@ -393321,7 +432885,7 @@ ENCODING 33171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 57E0 5C40 @@ -393339,7 +432903,7 @@ ENCODING 33172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 AA80 @@ -393357,7 +432921,7 @@ ENCODING 33173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A960 AFE0 @@ -393375,7 +432939,7 @@ ENCODING 33174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5BE0 5540 @@ -393393,7 +432957,7 @@ ENCODING 33175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7520 5520 57E0 @@ -393411,7 +432975,7 @@ ENCODING 33176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -393429,7 +432993,7 @@ ENCODING 33177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5520 55E0 @@ -393447,7 +433011,7 @@ ENCODING 33178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -393465,7 +433029,7 @@ ENCODING 33179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 5FE0 @@ -393483,7 +433047,7 @@ ENCODING 33180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -393501,7 +433065,7 @@ ENCODING 33181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5540 @@ -393519,7 +433083,7 @@ ENCODING 33182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5540 @@ -393537,7 +433101,7 @@ ENCODING 33183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57E0 5920 @@ -393555,7 +433119,7 @@ ENCODING 33184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5AA0 5660 @@ -393573,7 +433137,7 @@ ENCODING 33185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 57C0 5100 @@ -393591,7 +433155,7 @@ ENCODING 33186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5D60 @@ -393609,7 +433173,7 @@ ENCODING 33187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5AA0 @@ -393627,7 +433191,7 @@ ENCODING 33188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 5100 5FE0 @@ -393645,7 +433209,7 @@ ENCODING 33189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 FFE0 2480 @@ -393663,7 +433227,7 @@ ENCODING 33190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 5FE0 @@ -393681,7 +433245,7 @@ ENCODING 33191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5440 @@ -393699,7 +433263,7 @@ ENCODING 33192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7220 5FA0 5240 @@ -393717,7 +433281,7 @@ ENCODING 33193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70A0 5FE0 5080 @@ -393735,7 +433299,7 @@ ENCODING 33194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -393753,7 +433317,7 @@ ENCODING 33195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5AA0 @@ -393771,7 +433335,7 @@ ENCODING 33196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 57C0 @@ -393789,7 +433353,7 @@ ENCODING 33197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5540 @@ -393807,7 +433371,7 @@ ENCODING 33198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 57C0 5100 @@ -393825,7 +433389,7 @@ ENCODING 33199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7740 52A0 56C0 @@ -393843,7 +433407,7 @@ ENCODING 33200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 70C0 5F20 5540 @@ -393861,7 +433425,7 @@ ENCODING 33201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BFC0 AAA0 @@ -393879,7 +433443,7 @@ ENCODING 33202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7480 57E0 5480 @@ -393897,7 +433461,7 @@ ENCODING 33203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5100 @@ -393915,7 +433479,7 @@ ENCODING 33204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7400 5FE0 5540 @@ -393933,7 +433497,7 @@ ENCODING 33205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -393951,7 +433515,7 @@ ENCODING 33206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -393969,7 +433533,7 @@ ENCODING 33207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAE0 ABA0 B2A0 @@ -393987,7 +433551,7 @@ ENCODING 33208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 A100 @@ -394005,7 +433569,7 @@ ENCODING 33209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5540 @@ -394023,7 +433587,7 @@ ENCODING 33210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5480 @@ -394041,7 +433605,7 @@ ENCODING 33211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 BFE0 AB40 @@ -394059,7 +433623,7 @@ ENCODING 33212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 AA40 AB40 @@ -394077,7 +433641,7 @@ ENCODING 33213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E780 AFE0 BA40 @@ -394095,7 +433659,7 @@ ENCODING 33214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7300 5480 5FC0 @@ -394113,7 +433677,7 @@ ENCODING 33215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 AAA0 @@ -394131,7 +433695,7 @@ ENCODING 33216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8540 FE20 @@ -394149,7 +433713,7 @@ ENCODING 33217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 AA80 @@ -394167,7 +433731,7 @@ ENCODING 33218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -394185,7 +433749,7 @@ ENCODING 33219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 54C0 @@ -394203,7 +433767,7 @@ ENCODING 33220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 71E0 5100 57E0 @@ -394221,7 +433785,7 @@ ENCODING 33221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AAA0 AFE0 @@ -394239,7 +433803,7 @@ ENCODING 33222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5280 @@ -394257,7 +433821,7 @@ ENCODING 33223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E500 AFE0 A900 @@ -394275,7 +433839,7 @@ ENCODING 33224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 5FE0 5240 @@ -394293,7 +433857,7 @@ ENCODING 33225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7300 5480 5840 @@ -394311,7 +433875,7 @@ ENCODING 33226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7C0 A440 A7C0 @@ -394329,7 +433893,7 @@ ENCODING 33227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 4540 7E20 @@ -394347,7 +433911,7 @@ ENCODING 33228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 BF40 A4E0 @@ -394365,7 +433929,7 @@ ENCODING 33229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 BFE0 AAA0 @@ -394383,7 +433947,7 @@ ENCODING 33230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EE0 5AA0 5660 @@ -394401,7 +433965,7 @@ ENCODING 33231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5820 @@ -394419,7 +433983,7 @@ ENCODING 33232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 5100 5FE0 @@ -394437,7 +434001,7 @@ ENCODING 33233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 AFE0 @@ -394455,7 +434019,7 @@ ENCODING 33234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 5FE0 5480 @@ -394473,7 +434037,7 @@ ENCODING 33235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0240 77E0 50A0 @@ -394491,7 +434055,7 @@ ENCODING 33236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 54A0 5740 @@ -394509,7 +434073,7 @@ ENCODING 33237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 AAA0 @@ -394527,7 +434091,7 @@ ENCODING 33238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4A40 6EC0 @@ -394545,7 +434109,7 @@ ENCODING 33239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 5FE0 5AA0 @@ -394563,7 +434127,7 @@ ENCODING 33240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5A80 5540 @@ -394581,7 +434145,7 @@ ENCODING 33241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 5FE0 5280 @@ -394599,7 +434163,7 @@ ENCODING 33242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E3C0 A200 AFE0 @@ -394617,7 +434181,7 @@ ENCODING 33243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A100 AFE0 @@ -394635,7 +434199,7 @@ ENCODING 33244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7540 5FE0 5540 @@ -394653,7 +434217,7 @@ ENCODING 33245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4000 7F80 @@ -394671,7 +434235,7 @@ ENCODING 33246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -394689,7 +434253,7 @@ ENCODING 33247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BFE0 A4A0 @@ -394707,7 +434271,7 @@ ENCODING 33248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 AEA0 4040 @@ -394725,7 +434289,7 @@ ENCODING 33249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FBE0 5680 @@ -394743,7 +434307,7 @@ ENCODING 33250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D540 BFE0 A540 @@ -394760,27 +434324,25 @@ STARTCHAR U_81E3 ENCODING 33251 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -3FC0 -2200 -2200 -3FC0 -2040 -2040 -3FC0 -2200 -2200 -3FE0 +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 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FBC0 9240 9240 @@ -394797,7 +434359,7 @@ ENCODING 33253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 9080 9080 @@ -394815,7 +434377,7 @@ ENCODING 33254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2A80 2A80 @@ -394833,7 +434395,7 @@ ENCODING 33255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00A0 5FE0 5080 @@ -394851,7 +434413,7 @@ ENCODING 33256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 A7E0 A800 @@ -394869,7 +434431,7 @@ ENCODING 33257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2A80 FBE0 @@ -394886,44 +434448,44 @@ STARTCHAR U_81EA ENCODING 33258 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -2080 -3F80 -2080 -3F80 -2080 -2080 -3F80 -2080 +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 11 11 0 -1 -BITMAP -2200 -2200 -7A00 -4A00 -7A00 -4A00 -7A00 -4A00 -4A00 -7A20 -49E0 +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 +BITMAP 0800 3F80 2080 @@ -394941,7 +434503,7 @@ ENCODING 33261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -394959,7 +434521,7 @@ ENCODING 33262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -394977,7 +434539,7 @@ ENCODING 33263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -394995,7 +434557,7 @@ ENCODING 33264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -395013,7 +434575,7 @@ ENCODING 33265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2880 @@ -395031,7 +434593,7 @@ ENCODING 33266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F3C0 9480 @@ -395049,7 +434611,7 @@ ENCODING 33267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 1100 @@ -395067,7 +434629,7 @@ ENCODING 33268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2100 29E0 @@ -395085,7 +434647,7 @@ ENCODING 33269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FBC0 2240 @@ -395103,7 +434665,7 @@ ENCODING 33270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 2400 @@ -395121,7 +434683,7 @@ ENCODING 33271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 1120 FFE0 @@ -395139,7 +434701,7 @@ ENCODING 33272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2100 4900 @@ -395157,7 +434719,7 @@ ENCODING 33273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 40A0 AFE0 @@ -395175,7 +434737,7 @@ ENCODING 33274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -395193,7 +434755,7 @@ ENCODING 33275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -395210,26 +434772,26 @@ STARTCHAR U_81FC ENCODING 33276 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -71E0 -4020 -4020 -4020 -7DE0 -4020 -4020 -4020 -7FE0 -4020 +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 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 3FC0 4080 @@ -395247,7 +434809,7 @@ ENCODING 33278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 65C0 4440 @@ -395265,7 +434827,7 @@ ENCODING 33279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 0400 @@ -395282,8 +434844,8 @@ STARTCHAR U_8200 ENCODING 33280 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 00C0 FF00 4840 @@ -395301,7 +434863,7 @@ ENCODING 33281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73C0 4040 7BC0 @@ -395319,7 +434881,7 @@ ENCODING 33282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 3F80 @@ -395337,7 +434899,7 @@ ENCODING 33283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 73C0 4040 @@ -395355,7 +434917,7 @@ ENCODING 33284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 4040 79C0 @@ -395372,26 +434934,26 @@ STARTCHAR U_8205 ENCODING 33285 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -4040 -79C0 -4040 -7FC0 -2480 -3F80 -2480 -7FE0 -0820 -70C0 +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 +BITMAP 1400 6EC0 4840 @@ -395409,7 +434971,7 @@ ENCODING 33287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 6EC0 4840 @@ -395427,7 +434989,7 @@ ENCODING 33288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 71C0 5F40 @@ -395445,7 +435007,7 @@ ENCODING 33289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4840 6EC0 @@ -395463,7 +435025,7 @@ ENCODING 33290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0A80 3FE0 @@ -395481,7 +435043,7 @@ ENCODING 33291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 5140 5F40 @@ -395498,26 +435060,26 @@ STARTCHAR U_820C ENCODING 33292 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -01C0 -3E00 -0200 -7FE0 -0200 -0200 -1FC0 -1040 -1040 -1FC0 -1040 +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 +BITMAP 0400 0A00 1100 @@ -395535,7 +435097,7 @@ ENCODING 33294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1B00 64C0 @@ -395553,7 +435115,7 @@ ENCODING 33295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0020 7D20 1120 @@ -395571,7 +435133,7 @@ ENCODING 33296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0820 F3C0 2280 @@ -395589,7 +435151,7 @@ ENCODING 33297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 E7C0 4540 @@ -395607,7 +435169,7 @@ ENCODING 33298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2840 4580 @@ -395625,7 +435187,7 @@ ENCODING 33299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BC0 6240 23C0 @@ -395643,7 +435205,7 @@ ENCODING 33300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 E100 2FE0 @@ -395661,7 +435223,7 @@ ENCODING 33301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1520 E540 4900 @@ -395679,7 +435241,7 @@ ENCODING 33302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 5120 8FE0 @@ -395697,7 +435259,7 @@ ENCODING 33303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 50A0 ABE0 @@ -395715,7 +435277,7 @@ ENCODING 33304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -395733,7 +435295,7 @@ ENCODING 33305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -395751,7 +435313,7 @@ ENCODING 33306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33C0 C480 47E0 @@ -395769,7 +435331,7 @@ ENCODING 33307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 3BE0 @@ -395787,7 +435349,7 @@ ENCODING 33308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E40 2480 @@ -395805,7 +435367,7 @@ ENCODING 33309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F80 1080 @@ -395823,7 +435385,7 @@ ENCODING 33310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 AA80 @@ -395841,7 +435403,7 @@ ENCODING 33311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1F80 1080 @@ -395859,7 +435421,7 @@ ENCODING 33312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7FE0 4920 @@ -395877,7 +435439,7 @@ ENCODING 33313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 4880 @@ -395895,7 +435457,7 @@ ENCODING 33314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 4880 @@ -395913,7 +435475,7 @@ ENCODING 33315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7540 5540 @@ -395931,7 +435493,7 @@ ENCODING 33316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7780 5480 @@ -395949,7 +435511,7 @@ ENCODING 33317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 4AA0 @@ -395967,7 +435529,7 @@ ENCODING 33318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 5100 @@ -395985,7 +435547,7 @@ ENCODING 33319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7780 5480 @@ -396003,7 +435565,7 @@ ENCODING 33320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 7BC0 4A00 @@ -396021,7 +435583,7 @@ ENCODING 33321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7280 5280 @@ -396039,7 +435601,7 @@ ENCODING 33322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 4FE0 @@ -396057,7 +435619,7 @@ ENCODING 33323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 4FE0 @@ -396075,7 +435637,7 @@ ENCODING 33324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 7A40 4A40 @@ -396093,7 +435655,7 @@ ENCODING 33325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7A80 4A80 @@ -396111,7 +435673,7 @@ ENCODING 33326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 4BE0 @@ -396129,7 +435691,7 @@ ENCODING 33327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 4BE0 @@ -396147,7 +435709,7 @@ ENCODING 33328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77C0 5440 @@ -396165,7 +435727,7 @@ ENCODING 33329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7940 4A20 @@ -396183,7 +435745,7 @@ ENCODING 33330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7100 5280 @@ -396201,7 +435763,7 @@ ENCODING 33331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 4BE0 @@ -396219,7 +435781,7 @@ ENCODING 33332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4BE0 @@ -396237,7 +435799,7 @@ ENCODING 33333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 4FE0 @@ -396255,7 +435817,7 @@ ENCODING 33334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7900 4BE0 @@ -396273,7 +435835,7 @@ ENCODING 33335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7880 4FE0 @@ -396291,7 +435853,7 @@ ENCODING 33336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 7040 5040 @@ -396309,7 +435871,7 @@ ENCODING 33337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 4A40 @@ -396327,7 +435889,7 @@ ENCODING 33338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7AA0 4AA0 @@ -396345,7 +435907,7 @@ ENCODING 33339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 78E0 4880 @@ -396363,7 +435925,7 @@ ENCODING 33340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7A40 4A40 @@ -396381,7 +435943,7 @@ ENCODING 33341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BC0 4E40 @@ -396399,7 +435961,7 @@ ENCODING 33342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7140 5140 @@ -396417,7 +435979,7 @@ ENCODING 33343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 4A80 @@ -396435,7 +435997,7 @@ ENCODING 33344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 7F80 4AA0 @@ -396453,7 +436015,7 @@ ENCODING 33345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7A80 4BE0 @@ -396471,7 +436033,7 @@ ENCODING 33346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7A40 4D80 @@ -396489,7 +436051,7 @@ ENCODING 33347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7AA0 4AA0 @@ -396507,7 +436069,7 @@ ENCODING 33348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7AA0 49C0 @@ -396525,7 +436087,7 @@ ENCODING 33349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7940 4A20 @@ -396543,7 +436105,7 @@ ENCODING 33350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -396561,7 +436123,7 @@ ENCODING 33351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7EE0 5240 @@ -396579,7 +436141,7 @@ ENCODING 33352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5200 @@ -396597,7 +436159,7 @@ ENCODING 33353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7420 57E0 @@ -396615,7 +436177,7 @@ ENCODING 33354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 4A20 @@ -396633,7 +436195,7 @@ ENCODING 33355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7840 4880 @@ -396651,7 +436213,7 @@ ENCODING 33356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7280 5640 @@ -396669,7 +436231,7 @@ ENCODING 33357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77E0 5420 @@ -396687,7 +436249,7 @@ ENCODING 33358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 4A20 @@ -396705,7 +436267,7 @@ ENCODING 33359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 7940 4BE0 @@ -396723,7 +436285,7 @@ ENCODING 33360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7D20 4EA0 @@ -396741,7 +436303,7 @@ ENCODING 33361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BE0 4A20 @@ -396759,7 +436321,7 @@ ENCODING 33362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7C20 4FE0 @@ -396777,7 +436339,7 @@ ENCODING 33363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 7FE0 5540 @@ -396795,7 +436357,7 @@ ENCODING 33364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 77E0 5540 @@ -396813,7 +436375,7 @@ ENCODING 33365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 4A80 @@ -396831,7 +436393,7 @@ ENCODING 33366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7FE0 4880 @@ -396849,7 +436411,7 @@ ENCODING 33367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F280 9000 @@ -396867,7 +436429,7 @@ ENCODING 33368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 74E0 54A0 @@ -396885,7 +436447,7 @@ ENCODING 33369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 7540 5FE0 @@ -396903,7 +436465,7 @@ ENCODING 33370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7FE0 5280 @@ -396921,7 +436483,7 @@ ENCODING 33371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77C0 5540 @@ -396939,7 +436501,7 @@ ENCODING 33372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 7FE0 5540 @@ -396957,7 +436519,7 @@ ENCODING 33373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7100 5FE0 @@ -396975,7 +436537,7 @@ ENCODING 33374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 77E0 5A40 @@ -396993,7 +436555,7 @@ ENCODING 33375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5280 @@ -397011,7 +436573,7 @@ ENCODING 33376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 7AA0 5640 @@ -397029,7 +436591,7 @@ ENCODING 33377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 7540 5FE0 @@ -397047,7 +436609,7 @@ ENCODING 33378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5540 @@ -397065,7 +436627,7 @@ ENCODING 33379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 7100 57E0 @@ -397083,7 +436645,7 @@ ENCODING 33380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7FE0 5100 @@ -397101,7 +436663,7 @@ ENCODING 33381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 7560 5740 @@ -397119,7 +436681,7 @@ ENCODING 33382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 7A40 4F60 @@ -397137,7 +436699,7 @@ ENCODING 33383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7FE0 5240 @@ -397155,7 +436717,7 @@ ENCODING 33384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7FE0 5280 @@ -397173,7 +436735,7 @@ ENCODING 33385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 5AA0 @@ -397191,7 +436753,7 @@ ENCODING 33386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 7500 5FC0 @@ -397209,7 +436771,7 @@ ENCODING 33387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 7100 57E0 @@ -397227,7 +436789,7 @@ ENCODING 33388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7880 57C0 @@ -397245,7 +436807,7 @@ ENCODING 33389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 FFE0 9540 @@ -397262,44 +436824,44 @@ STARTCHAR U_826E ENCODING 33390 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -2420 -2440 -2280 -2500 -28E0 -3040 +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 11 11 0 -1 -BITMAP -0400 -3F80 -2080 -3F80 -2080 -3F80 -2440 -2280 -2100 -2880 -3060 +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 +BITMAP 07C0 FC40 17C0 @@ -397317,7 +436879,7 @@ ENCODING 33393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FE20 53E0 @@ -397335,7 +436897,7 @@ ENCODING 33394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F80 2200 @@ -397353,7 +436915,7 @@ ENCODING 33395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 FC80 @@ -397371,7 +436933,7 @@ ENCODING 33396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 51C0 FE40 @@ -397389,7 +436951,7 @@ ENCODING 33397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 51C0 FA40 @@ -397407,7 +436969,7 @@ ENCODING 33398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FFE0 AA40 @@ -397425,7 +436987,7 @@ ENCODING 33399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FFE0 AA40 @@ -397443,7 +437005,7 @@ ENCODING 33400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 AAA0 @@ -397460,26 +437022,20 @@ STARTCHAR U_8279 ENCODING 33401 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 5 0 5 +BITMAP 1100 1100 FFE0 1100 1100 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_827A ENCODING 33402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -397497,7 +437053,7 @@ ENCODING 33403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397514,26 +437070,26 @@ STARTCHAR U_827C ENCODING 33404 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -7FE0 -0200 -0200 -0200 -0200 -0200 -0E00 +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 +BITMAP 1100 FFE0 1100 @@ -397550,80 +437106,80 @@ STARTCHAR U_827E ENCODING 33406 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -1100 -1100 -0A00 -0A00 -0600 -1980 -6060 +2200 +2200 +1400 +1400 +0C00 +3300 +C0C0 ENDCHAR STARTCHAR U_827F ENCODING 33407 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7F00 -0900 -09C0 -0840 -1040 -1040 -2240 -4180 +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 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -7FC0 -0840 -0840 -0840 -1040 -2240 -4180 +FF80 +1080 +1080 +1080 +2080 +4480 +8300 ENDCHAR STARTCHAR U_8281 ENCODING 33409 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -0F00 -0900 -0900 -0900 -1120 -2120 -40E0 +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 +BITMAP 1100 FFE0 1100 @@ -397641,7 +437197,7 @@ ENCODING 33411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -397658,44 +437214,44 @@ STARTCHAR U_8284 ENCODING 33412 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0800 +FF00 0900 -7FE0 +3900 0900 -0400 -7F80 -0480 -1C80 -0480 -0AA0 -10A0 -6060 +1540 +2140 +C0C0 ENDCHAR STARTCHAR U_8285 ENCODING 33413 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0900 -0480 +0880 +0FC0 +F800 +0800 0440 -07E0 -7C00 -0400 -0220 -0120 -00E0 +0240 +01C0 ENDCHAR STARTCHAR U_8286 ENCODING 33414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397713,7 +437269,7 @@ ENCODING 33415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397731,7 +437287,7 @@ ENCODING 33416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 1500 F5E0 @@ -397749,7 +437305,7 @@ ENCODING 33417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397767,7 +437323,7 @@ ENCODING 33418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397784,26 +437340,26 @@ STARTCHAR U_828B ENCODING 33419 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -3FC0 -0200 -7FE0 -0200 -0200 -0200 -0E00 +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 +BITMAP 1100 FFE0 1100 @@ -397821,7 +437377,7 @@ ENCODING 33421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -397839,7 +437395,7 @@ ENCODING 33422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397857,7 +437413,7 @@ ENCODING 33423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397875,7 +437431,7 @@ ENCODING 33424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397893,7 +437449,7 @@ ENCODING 33425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397911,7 +437467,7 @@ ENCODING 33426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397929,7 +437485,7 @@ ENCODING 33427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -397947,7 +437503,7 @@ ENCODING 33428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 2480 2480 @@ -397965,7 +437521,7 @@ ENCODING 33429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -397983,7 +437539,7 @@ ENCODING 33430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398001,7 +437557,7 @@ ENCODING 33431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -398019,7 +437575,7 @@ ENCODING 33432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398037,7 +437593,7 @@ ENCODING 33433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398055,7 +437611,7 @@ ENCODING 33434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398072,26 +437628,26 @@ STARTCHAR U_829B ENCODING 33435 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -3F80 -0880 -7FE0 -0880 -3F80 -0800 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7F00 +1100 +FFC0 +1100 +7F00 1000 -6000 +2000 +C000 ENDCHAR STARTCHAR U_829C ENCODING 33436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398108,62 +437664,62 @@ STARTCHAR U_829D ENCODING 33437 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +0800 0400 +FF00 0200 -7F80 -0100 -0600 -0800 -3000 -4FE0 +0C00 +1000 +6000 +9FC0 ENDCHAR STARTCHAR U_829E ENCODING 33438 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -3FE0 -4000 -1F80 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7FC0 +8000 +3F00 0000 -3F80 -00A0 -0060 -0020 +7F00 +0140 +00C0 +0040 ENDCHAR STARTCHAR U_829F ENCODING 33439 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -1F00 -1100 -60E0 -3F80 -0900 -0600 -1980 -6060 +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 +BITMAP 1100 FFE0 1100 @@ -398180,26 +437736,26 @@ STARTCHAR U_82A1 ENCODING 33441 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -1000 -1FC0 -2480 -4400 -0A00 -1100 -20E0 -4040 +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 +BITMAP 0900 7FE0 0900 @@ -398216,26 +437772,26 @@ STARTCHAR U_82A3 ENCODING 33443 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7FE0 -0400 -0C00 -1500 -24C0 -4440 -0400 -0400 +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 +BITMAP 0900 FFE0 0900 @@ -398253,7 +437809,7 @@ ENCODING 33445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -398271,7 +437827,7 @@ ENCODING 33446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0D00 @@ -398289,7 +437845,7 @@ ENCODING 33447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398307,7 +437863,7 @@ ENCODING 33448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398324,26 +437880,26 @@ STARTCHAR U_82A9 ENCODING 33449 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -0600 -1980 -6460 -0200 -3F80 -0100 +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 +BITMAP 1100 FFE0 1100 @@ -398361,7 +437917,7 @@ ENCODING 33451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398379,7 +437935,7 @@ ENCODING 33452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398396,26 +437952,26 @@ STARTCHAR U_82AD ENCODING 33453 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -3FC0 -2240 -2240 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 +7F80 +4480 +4480 +7F80 +4000 +4040 +4040 3FC0 -2000 -2020 -2020 -1FE0 ENDCHAR STARTCHAR U_82AE ENCODING 33454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -398432,26 +437988,26 @@ STARTCHAR U_82AF ENCODING 33455 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 +BBX 10 11 1 -1 +BITMAP +1200 +FFC0 +1200 0000 -0400 -0A40 -2A20 -2820 -2880 -4880 -0780 +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 +BITMAP 1100 FFE0 1500 @@ -398469,7 +438025,7 @@ ENCODING 33457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398487,7 +438043,7 @@ ENCODING 33458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -398504,26 +438060,26 @@ STARTCHAR U_82B3 ENCODING 33459 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -0200 -7FE0 -0800 -0FC0 -0840 -0840 -1040 -6180 +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 +BITMAP 0900 FFE0 0900 @@ -398541,7 +438097,7 @@ ENCODING 33461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398559,7 +438115,7 @@ ENCODING 33462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398577,7 +438133,7 @@ ENCODING 33463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398595,7 +438151,7 @@ ENCODING 33464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398613,7 +438169,7 @@ ENCODING 33465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -398631,7 +438187,7 @@ ENCODING 33466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398649,7 +438205,7 @@ ENCODING 33467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 5520 @@ -398667,7 +438223,7 @@ ENCODING 33468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398685,7 +438241,7 @@ ENCODING 33469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398703,7 +438259,7 @@ ENCODING 33470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2480 @@ -398721,7 +438277,7 @@ ENCODING 33471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398739,7 +438295,7 @@ ENCODING 33472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398757,7 +438313,7 @@ ENCODING 33473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398775,7 +438331,7 @@ ENCODING 33474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398793,7 +438349,7 @@ ENCODING 33475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398811,7 +438367,7 @@ ENCODING 33476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -398829,7 +438385,7 @@ ENCODING 33477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398847,7 +438403,7 @@ ENCODING 33478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398865,7 +438421,7 @@ ENCODING 33479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -398883,7 +438439,7 @@ ENCODING 33480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398901,7 +438457,7 @@ ENCODING 33481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398919,7 +438475,7 @@ ENCODING 33482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398937,7 +438493,7 @@ ENCODING 33483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398955,7 +438511,7 @@ ENCODING 33484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -398973,7 +438529,7 @@ ENCODING 33485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -398990,8 +438546,8 @@ STARTCHAR U_82CE ENCODING 33486 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 1100 FFE0 1100 @@ -399002,14 +438558,13 @@ FFE0 0000 0000 FFE0 -0000 ENDCHAR STARTCHAR U_82CF ENCODING 33487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399027,7 +438582,7 @@ ENCODING 33488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399045,7 +438600,7 @@ ENCODING 33489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399063,7 +438618,7 @@ ENCODING 33490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -399081,7 +438636,7 @@ ENCODING 33491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399099,7 +438654,7 @@ ENCODING 33492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399116,26 +438671,26 @@ STARTCHAR U_82D5 ENCODING 33493 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7FC0 -0840 -1140 -6080 -1FC0 -1040 -1FC0 -1040 +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 +BITMAP 1100 FFE0 1100 @@ -399153,7 +438708,7 @@ ENCODING 33495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399171,7 +438726,7 @@ ENCODING 33496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399189,7 +438744,7 @@ ENCODING 33497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -399207,7 +438762,7 @@ ENCODING 33498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399225,7 +438780,7 @@ ENCODING 33499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399243,7 +438798,7 @@ ENCODING 33500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399261,7 +438816,7 @@ ENCODING 33501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399279,7 +438834,7 @@ ENCODING 33502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399297,7 +438852,7 @@ ENCODING 33503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399315,7 +438870,7 @@ ENCODING 33504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399332,26 +438887,26 @@ STARTCHAR U_82E1 ENCODING 33505 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -2480 -2280 -2280 -2080 -2880 -3140 -6220 -0C20 +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 +BITMAP 0900 FFE0 0900 @@ -399369,7 +438924,7 @@ ENCODING 33507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399387,7 +438942,7 @@ ENCODING 33508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399404,26 +438959,26 @@ STARTCHAR U_82E5 ENCODING 33509 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0880 -7FE0 -0880 -0400 -7FE0 +BBX 10 11 1 -1 +BITMAP +1100 +FFC0 +1100 0800 -1FC0 -2840 -4840 -0FC0 -0840 +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 +BITMAP 1100 7FC0 1100 @@ -399441,7 +438996,7 @@ ENCODING 33511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -399459,7 +439014,7 @@ ENCODING 33512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -399477,7 +439032,7 @@ ENCODING 33513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399495,7 +439050,7 @@ ENCODING 33514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399513,7 +439068,7 @@ ENCODING 33515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399531,7 +439086,7 @@ ENCODING 33516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399549,7 +439104,7 @@ ENCODING 33517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399567,7 +439122,7 @@ ENCODING 33518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399585,7 +439140,7 @@ ENCODING 33519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399603,7 +439158,7 @@ ENCODING 33520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399621,7 +439176,7 @@ ENCODING 33521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399639,7 +439194,7 @@ ENCODING 33522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -399657,7 +439212,7 @@ ENCODING 33523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399675,7 +439230,7 @@ ENCODING 33524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399693,7 +439248,7 @@ ENCODING 33525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399711,7 +439266,7 @@ ENCODING 33526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399729,7 +439284,7 @@ ENCODING 33527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399747,7 +439302,7 @@ ENCODING 33528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399765,7 +439320,7 @@ ENCODING 33529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399783,7 +439338,7 @@ ENCODING 33530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399801,7 +439356,7 @@ ENCODING 33531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399819,7 +439374,7 @@ ENCODING 33532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 1100 @@ -399837,7 +439392,7 @@ ENCODING 33533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399855,7 +439410,7 @@ ENCODING 33534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399873,7 +439428,7 @@ ENCODING 33535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399891,7 +439446,7 @@ ENCODING 33536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1280 @@ -399909,7 +439464,7 @@ ENCODING 33537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399927,7 +439482,7 @@ ENCODING 33538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1080 @@ -399945,7 +439500,7 @@ ENCODING 33539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -399963,7 +439518,7 @@ ENCODING 33540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -399981,7 +439536,7 @@ ENCODING 33541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -399999,7 +439554,7 @@ ENCODING 33542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400017,7 +439572,7 @@ ENCODING 33543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400035,7 +439590,7 @@ ENCODING 33544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400053,7 +439608,7 @@ ENCODING 33545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400071,7 +439626,7 @@ ENCODING 33546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400089,7 +439644,7 @@ ENCODING 33547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400107,7 +439662,7 @@ ENCODING 33548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400124,26 +439679,26 @@ STARTCHAR U_830D ENCODING 33549 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -79E0 -0900 -2000 -3FC0 -4040 -1E40 -1240 -1E40 -0040 -0380 +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 +BITMAP 1100 FFE0 1100 @@ -400161,7 +439716,7 @@ ENCODING 33551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400179,7 +439734,7 @@ ENCODING 33552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400197,7 +439752,7 @@ ENCODING 33553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -400215,7 +439770,7 @@ ENCODING 33554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -400233,7 +439788,7 @@ ENCODING 33555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400251,7 +439806,7 @@ ENCODING 33556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -400269,7 +439824,7 @@ ENCODING 33557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400287,7 +439842,7 @@ ENCODING 33558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400305,7 +439860,7 @@ ENCODING 33559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400323,7 +439878,7 @@ ENCODING 33560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400340,26 +439895,26 @@ STARTCHAR U_8319 ENCODING 33561 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -0240 -7FE0 +BBX 10 11 1 -1 +BITMAP 1200 -7E40 -1280 -1120 -22A0 -4C60 +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 +BITMAP 1100 FFE0 1100 @@ -400377,7 +439932,7 @@ ENCODING 33563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400395,7 +439950,7 @@ ENCODING 33564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400413,7 +439968,7 @@ ENCODING 33565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400431,7 +439986,7 @@ ENCODING 33566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400449,7 +440004,7 @@ ENCODING 33567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -400467,7 +440022,7 @@ ENCODING 33568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -400485,7 +440040,7 @@ ENCODING 33569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 1500 @@ -400502,26 +440057,26 @@ STARTCHAR U_8322 ENCODING 33570 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7E20 -1120 -3D20 -2520 -5520 -0920 -1020 -60E0 +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 +BITMAP 1100 FFE0 1100 @@ -400539,7 +440094,7 @@ ENCODING 33572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -400557,7 +440112,7 @@ ENCODING 33573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400575,7 +440130,7 @@ ENCODING 33574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400593,7 +440148,7 @@ ENCODING 33575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400610,26 +440165,26 @@ STARTCHAR U_8328 ENCODING 33576 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -4200 -2BE0 -1420 -1940 -6100 -2280 -2440 -3820 +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 +BITMAP 0900 FFE0 0940 @@ -400647,7 +440202,7 @@ ENCODING 33578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400665,7 +440220,7 @@ ENCODING 33579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -400683,7 +440238,7 @@ ENCODING 33580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400701,7 +440256,7 @@ ENCODING 33581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400719,7 +440274,7 @@ ENCODING 33582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400737,7 +440292,7 @@ ENCODING 33583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400755,7 +440310,7 @@ ENCODING 33584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -400773,7 +440328,7 @@ ENCODING 33585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1000 @@ -400791,7 +440346,7 @@ ENCODING 33586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400809,7 +440364,7 @@ ENCODING 33587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400827,7 +440382,7 @@ ENCODING 33588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400845,7 +440400,7 @@ ENCODING 33589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400863,7 +440418,7 @@ ENCODING 33590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400881,7 +440436,7 @@ ENCODING 33591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1280 @@ -400898,26 +440453,26 @@ STARTCHAR U_8338 ENCODING 33592 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7FE0 -1080 -1F80 -1080 -1F80 -10E0 -7F80 -0080 +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 +BITMAP 0900 FFE0 0900 @@ -400935,7 +440490,7 @@ ENCODING 33594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -400953,7 +440508,7 @@ ENCODING 33595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 AAA0 FBE0 @@ -400971,7 +440526,7 @@ ENCODING 33596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -400989,7 +440544,7 @@ ENCODING 33597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401007,7 +440562,7 @@ ENCODING 33598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401025,7 +440580,7 @@ ENCODING 33599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401043,7 +440598,7 @@ ENCODING 33600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401061,7 +440616,7 @@ ENCODING 33601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401079,7 +440634,7 @@ ENCODING 33602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401097,7 +440652,7 @@ ENCODING 33603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401115,7 +440670,7 @@ ENCODING 33604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401133,7 +440688,7 @@ ENCODING 33605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401151,7 +440706,7 @@ ENCODING 33606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 FF20 24A0 @@ -401169,7 +440724,7 @@ ENCODING 33607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401187,7 +440742,7 @@ ENCODING 33608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401205,7 +440760,7 @@ ENCODING 33609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401223,7 +440778,7 @@ ENCODING 33610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401241,7 +440796,7 @@ ENCODING 33611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401259,7 +440814,7 @@ ENCODING 33612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401277,7 +440832,7 @@ ENCODING 33613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401295,7 +440850,7 @@ ENCODING 33614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401313,7 +440868,7 @@ ENCODING 33615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401331,7 +440886,7 @@ ENCODING 33616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401349,7 +440904,7 @@ ENCODING 33617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401367,7 +440922,7 @@ ENCODING 33618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401385,7 +440940,7 @@ ENCODING 33619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401403,7 +440958,7 @@ ENCODING 33620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401421,7 +440976,7 @@ ENCODING 33621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401439,7 +440994,7 @@ ENCODING 33622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401457,7 +441012,7 @@ ENCODING 33623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401475,7 +441030,7 @@ ENCODING 33624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401493,7 +441048,7 @@ ENCODING 33625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -401511,7 +441066,7 @@ ENCODING 33626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401529,7 +441084,7 @@ ENCODING 33627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -401547,7 +441102,7 @@ ENCODING 33628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401565,7 +441120,7 @@ ENCODING 33629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401583,7 +441138,7 @@ ENCODING 33630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401601,7 +441156,7 @@ ENCODING 33631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401619,7 +441174,7 @@ ENCODING 33632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401637,7 +441192,7 @@ ENCODING 33633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -401655,7 +441210,7 @@ ENCODING 33634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401673,7 +441228,7 @@ ENCODING 33635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401691,7 +441246,7 @@ ENCODING 33636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401709,7 +441264,7 @@ ENCODING 33637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401727,7 +441282,7 @@ ENCODING 33638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401745,7 +441300,7 @@ ENCODING 33639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401763,7 +441318,7 @@ ENCODING 33640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401781,7 +441336,7 @@ ENCODING 33641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401799,7 +441354,7 @@ ENCODING 33642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401817,7 +441372,7 @@ ENCODING 33643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401835,7 +441390,7 @@ ENCODING 33644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401853,7 +441408,7 @@ ENCODING 33645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401871,7 +441426,7 @@ ENCODING 33646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401889,7 +441444,7 @@ ENCODING 33647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401907,7 +441462,7 @@ ENCODING 33648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401925,7 +441480,7 @@ ENCODING 33649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -401943,7 +441498,7 @@ ENCODING 33650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401961,7 +441516,7 @@ ENCODING 33651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401979,7 +441534,7 @@ ENCODING 33652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -401997,7 +441552,7 @@ ENCODING 33653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402015,7 +441570,7 @@ ENCODING 33654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402033,7 +441588,7 @@ ENCODING 33655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402051,7 +441606,7 @@ ENCODING 33656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402069,7 +441624,7 @@ ENCODING 33657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402087,7 +441642,7 @@ ENCODING 33658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402105,7 +441660,7 @@ ENCODING 33659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -402123,7 +441678,7 @@ ENCODING 33660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402141,7 +441696,7 @@ ENCODING 33661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402159,7 +441714,7 @@ ENCODING 33662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402177,7 +441732,7 @@ ENCODING 33663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -402195,7 +441750,7 @@ ENCODING 33664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402213,7 +441768,7 @@ ENCODING 33665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402231,7 +441786,7 @@ ENCODING 33666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402249,7 +441804,7 @@ ENCODING 33667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402267,7 +441822,7 @@ ENCODING 33668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402285,7 +441840,7 @@ ENCODING 33669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1200 @@ -402303,7 +441858,7 @@ ENCODING 33670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1540 @@ -402321,7 +441876,7 @@ ENCODING 33671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402339,7 +441894,7 @@ ENCODING 33672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402357,7 +441912,7 @@ ENCODING 33673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -402375,7 +441930,7 @@ ENCODING 33674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402393,7 +441948,7 @@ ENCODING 33675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402411,7 +441966,7 @@ ENCODING 33676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402429,7 +441984,7 @@ ENCODING 33677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -402447,7 +442002,7 @@ ENCODING 33678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402465,7 +442020,7 @@ ENCODING 33679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402483,7 +442038,7 @@ ENCODING 33680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402501,7 +442056,7 @@ ENCODING 33681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402519,7 +442074,7 @@ ENCODING 33682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402537,7 +442092,7 @@ ENCODING 33683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -402555,7 +442110,7 @@ ENCODING 33684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402573,7 +442128,7 @@ ENCODING 33685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402591,7 +442146,7 @@ ENCODING 33686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402609,7 +442164,7 @@ ENCODING 33687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402627,7 +442182,7 @@ ENCODING 33688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402645,7 +442200,7 @@ ENCODING 33689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402663,7 +442218,7 @@ ENCODING 33690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402681,7 +442236,7 @@ ENCODING 33691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402699,7 +442254,7 @@ ENCODING 33692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402717,7 +442272,7 @@ ENCODING 33693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402735,7 +442290,7 @@ ENCODING 33694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402753,7 +442308,7 @@ ENCODING 33695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402771,7 +442326,7 @@ ENCODING 33696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402789,7 +442344,7 @@ ENCODING 33697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402807,7 +442362,7 @@ ENCODING 33698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402825,7 +442380,7 @@ ENCODING 33699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402843,7 +442398,7 @@ ENCODING 33700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402861,7 +442416,7 @@ ENCODING 33701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402879,7 +442434,7 @@ ENCODING 33702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402897,7 +442452,7 @@ ENCODING 33703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402915,7 +442470,7 @@ ENCODING 33704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -402933,7 +442488,7 @@ ENCODING 33705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402951,7 +442506,7 @@ ENCODING 33706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -402969,7 +442524,7 @@ ENCODING 33707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 3F80 @@ -402987,7 +442542,7 @@ ENCODING 33708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -403005,7 +442560,7 @@ ENCODING 33709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403023,7 +442578,7 @@ ENCODING 33710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403041,7 +442596,7 @@ ENCODING 33711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403059,7 +442614,7 @@ ENCODING 33712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403077,7 +442632,7 @@ ENCODING 33713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403095,7 +442650,7 @@ ENCODING 33714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1200 @@ -403113,7 +442668,7 @@ ENCODING 33715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403131,7 +442686,7 @@ ENCODING 33716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403149,7 +442704,7 @@ ENCODING 33717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403167,7 +442722,7 @@ ENCODING 33718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403185,7 +442740,7 @@ ENCODING 33719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403203,7 +442758,7 @@ ENCODING 33720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403221,7 +442776,7 @@ ENCODING 33721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403239,7 +442794,7 @@ ENCODING 33722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403257,7 +442812,7 @@ ENCODING 33723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403275,7 +442830,7 @@ ENCODING 33724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403293,7 +442848,7 @@ ENCODING 33725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403311,7 +442866,7 @@ ENCODING 33726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403329,7 +442884,7 @@ ENCODING 33727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403347,7 +442902,7 @@ ENCODING 33728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403365,7 +442920,7 @@ ENCODING 33729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403383,7 +442938,7 @@ ENCODING 33730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403401,7 +442956,7 @@ ENCODING 33731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403419,7 +442974,7 @@ ENCODING 33732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403436,26 +442991,26 @@ STARTCHAR U_83C5 ENCODING 33733 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1100 -7FE0 -1500 -7FE0 -4020 -1F80 -1080 -1FC0 -1040 -1FC0 -1040 +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 +BITMAP 1100 FFE0 1100 @@ -403472,26 +443027,26 @@ STARTCHAR U_83C7 ENCODING 33735 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -1080 -7FE0 -2880 -2BE0 -6A20 -1220 -2BE0 -4220 +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 +BITMAP 1100 FFE0 1100 @@ -403509,7 +443064,7 @@ ENCODING 33737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403527,7 +443082,7 @@ ENCODING 33738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -403545,7 +443100,7 @@ ENCODING 33739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403563,7 +443118,7 @@ ENCODING 33740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403581,7 +443136,7 @@ ENCODING 33741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403599,7 +443154,7 @@ ENCODING 33742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 3F80 @@ -403617,7 +443172,7 @@ ENCODING 33743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403635,7 +443190,7 @@ ENCODING 33744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A80 FFE0 @@ -403653,7 +443208,7 @@ ENCODING 33745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403671,7 +443226,7 @@ ENCODING 33746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403689,7 +443244,7 @@ ENCODING 33747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403707,7 +443262,7 @@ ENCODING 33748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403725,7 +443280,7 @@ ENCODING 33749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -403743,7 +443298,7 @@ ENCODING 33750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403761,7 +443316,7 @@ ENCODING 33751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403778,26 +443333,26 @@ STARTCHAR U_83D8 ENCODING 33752 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -1080 -7E80 -1280 -1D40 -3520 -5200 -1440 -17A0 +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 +BITMAP 1100 FFE0 1100 @@ -403815,7 +443370,7 @@ ENCODING 33754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403833,7 +443388,7 @@ ENCODING 33755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403851,7 +443406,7 @@ ENCODING 33756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403869,7 +443424,7 @@ ENCODING 33757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403887,7 +443442,7 @@ ENCODING 33758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403905,7 +443460,7 @@ ENCODING 33759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403923,7 +443478,7 @@ ENCODING 33760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -403941,7 +443496,7 @@ ENCODING 33761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403959,7 +443514,7 @@ ENCODING 33762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403977,7 +443532,7 @@ ENCODING 33763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -403995,7 +443550,7 @@ ENCODING 33764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404013,7 +443568,7 @@ ENCODING 33765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404031,7 +443586,7 @@ ENCODING 33766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -404049,7 +443604,7 @@ ENCODING 33767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404067,7 +443622,7 @@ ENCODING 33768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404085,7 +443640,7 @@ ENCODING 33769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404103,7 +443658,7 @@ ENCODING 33770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404121,7 +443676,7 @@ ENCODING 33771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404139,7 +443694,7 @@ ENCODING 33772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -404157,7 +443712,7 @@ ENCODING 33773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -404175,7 +443730,7 @@ ENCODING 33774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404193,7 +443748,7 @@ ENCODING 33775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404211,7 +443766,7 @@ ENCODING 33776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404229,7 +443784,7 @@ ENCODING 33777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404247,7 +443802,7 @@ ENCODING 33778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404265,7 +443820,7 @@ ENCODING 33779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404283,7 +443838,7 @@ ENCODING 33780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404301,7 +443856,7 @@ ENCODING 33781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404319,7 +443874,7 @@ ENCODING 33782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404337,7 +443892,7 @@ ENCODING 33783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -404355,7 +443910,7 @@ ENCODING 33784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404373,7 +443928,7 @@ ENCODING 33785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404391,7 +443946,7 @@ ENCODING 33786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404409,7 +443964,7 @@ ENCODING 33787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -404427,7 +443982,7 @@ ENCODING 33788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404445,7 +444000,7 @@ ENCODING 33789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404463,7 +444018,7 @@ ENCODING 33790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404481,7 +444036,7 @@ ENCODING 33791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -404499,7 +444054,7 @@ ENCODING 33792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404517,7 +444072,7 @@ ENCODING 33793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404535,7 +444090,7 @@ ENCODING 33794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -404553,7 +444108,7 @@ ENCODING 33795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404571,7 +444126,7 @@ ENCODING 33796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404589,7 +444144,7 @@ ENCODING 33797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404606,26 +444161,26 @@ STARTCHAR U_8406 ENCODING 33798 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1100 -7FE0 -1500 -3FC0 -2440 -3FC0 -2440 -3FC0 -1200 -7FE0 -0200 +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 +BITMAP 0900 FFE0 0900 @@ -404643,7 +444198,7 @@ ENCODING 33800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -404661,7 +444216,7 @@ ENCODING 33801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404679,7 +444234,7 @@ ENCODING 33802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404697,7 +444252,7 @@ ENCODING 33803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404715,7 +444270,7 @@ ENCODING 33804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404733,7 +444288,7 @@ ENCODING 33805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -404751,7 +444306,7 @@ ENCODING 33806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -404768,26 +444323,26 @@ STARTCHAR U_840F ENCODING 33807 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -0F00 +BBX 10 11 1 -1 +BITMAP 1200 -2BC0 -6040 -3BC0 -2040 -3FC0 -2040 +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 +BITMAP 1100 FFE0 1500 @@ -404805,7 +444360,7 @@ ENCODING 33809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404823,7 +444378,7 @@ ENCODING 33810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404840,26 +444395,26 @@ STARTCHAR U_8413 ENCODING 33811 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1100 -7FE0 -1500 -7FE0 -4020 -5FA0 -1080 -1E80 -1780 -1080 -7FE0 +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 +BITMAP 0A00 FFE0 0A00 @@ -404877,7 +444432,7 @@ ENCODING 33813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404895,7 +444450,7 @@ ENCODING 33814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404913,7 +444468,7 @@ ENCODING 33815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404931,7 +444486,7 @@ ENCODING 33816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -404949,7 +444504,7 @@ ENCODING 33817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404967,7 +444522,7 @@ ENCODING 33818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -404985,7 +444540,7 @@ ENCODING 33819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405003,7 +444558,7 @@ ENCODING 33820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405021,7 +444576,7 @@ ENCODING 33821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405039,7 +444594,7 @@ ENCODING 33822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -405057,7 +444612,7 @@ ENCODING 33823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405075,7 +444630,7 @@ ENCODING 33824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -405093,7 +444648,7 @@ ENCODING 33825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -405111,7 +444666,7 @@ ENCODING 33826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405129,7 +444684,7 @@ ENCODING 33827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405147,7 +444702,7 @@ ENCODING 33828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405164,26 +444719,26 @@ STARTCHAR U_8425 ENCODING 33829 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -7FE0 -4020 -5F80 -1080 -3FC0 -2040 -2040 -3FC0 +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 +BITMAP 1100 FFE0 1100 @@ -405201,7 +444756,7 @@ ENCODING 33831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405219,7 +444774,7 @@ ENCODING 33832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405237,7 +444792,7 @@ ENCODING 33833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405255,7 +444810,7 @@ ENCODING 33834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405273,7 +444828,7 @@ ENCODING 33835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7F80 @@ -405291,7 +444846,7 @@ ENCODING 33836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405309,7 +444864,7 @@ ENCODING 33837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -405327,7 +444882,7 @@ ENCODING 33838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405345,7 +444900,7 @@ ENCODING 33839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405363,7 +444918,7 @@ ENCODING 33840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405381,7 +444936,7 @@ ENCODING 33841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405399,7 +444954,7 @@ ENCODING 33842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405417,7 +444972,7 @@ ENCODING 33843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405435,7 +444990,7 @@ ENCODING 33844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405453,7 +445008,7 @@ ENCODING 33845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405471,7 +445026,7 @@ ENCODING 33846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405489,7 +445044,7 @@ ENCODING 33847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405507,7 +445062,7 @@ ENCODING 33848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405525,7 +445080,7 @@ ENCODING 33849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405543,7 +445098,7 @@ ENCODING 33850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405561,7 +445116,7 @@ ENCODING 33851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405579,7 +445134,7 @@ ENCODING 33852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405597,7 +445152,7 @@ ENCODING 33853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405615,7 +445170,7 @@ ENCODING 33854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -405633,7 +445188,7 @@ ENCODING 33855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405651,7 +445206,7 @@ ENCODING 33856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405669,7 +445224,7 @@ ENCODING 33857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0A00 @@ -405687,7 +445242,7 @@ ENCODING 33858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405705,7 +445260,7 @@ ENCODING 33859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405723,7 +445278,7 @@ ENCODING 33860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405741,7 +445296,7 @@ ENCODING 33861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405759,7 +445314,7 @@ ENCODING 33862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405777,7 +445332,7 @@ ENCODING 33863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405795,7 +445350,7 @@ ENCODING 33864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405813,7 +445368,7 @@ ENCODING 33865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -405831,7 +445386,7 @@ ENCODING 33866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -405849,7 +445404,7 @@ ENCODING 33867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405867,7 +445422,7 @@ ENCODING 33868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -405885,7 +445440,7 @@ ENCODING 33869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405903,7 +445458,7 @@ ENCODING 33870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405921,7 +445476,7 @@ ENCODING 33871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1200 @@ -405939,7 +445494,7 @@ ENCODING 33872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405957,7 +445512,7 @@ ENCODING 33873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -405975,7 +445530,7 @@ ENCODING 33874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -405993,7 +445548,7 @@ ENCODING 33875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -406011,7 +445566,7 @@ ENCODING 33876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 2F80 @@ -406029,7 +445584,7 @@ ENCODING 33877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406047,7 +445602,7 @@ ENCODING 33878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406065,7 +445620,7 @@ ENCODING 33879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1540 @@ -406083,7 +445638,7 @@ ENCODING 33880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1240 @@ -406101,7 +445656,7 @@ ENCODING 33881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -406119,7 +445674,7 @@ ENCODING 33882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406137,7 +445692,7 @@ ENCODING 33883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406155,7 +445710,7 @@ ENCODING 33884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406173,7 +445728,7 @@ ENCODING 33885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406191,7 +445746,7 @@ ENCODING 33886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406209,7 +445764,7 @@ ENCODING 33887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 3F80 @@ -406227,7 +445782,7 @@ ENCODING 33888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406245,7 +445800,7 @@ ENCODING 33889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406263,7 +445818,7 @@ ENCODING 33890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406281,7 +445836,7 @@ ENCODING 33891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 3F80 @@ -406299,7 +445854,7 @@ ENCODING 33892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2940 @@ -406317,7 +445872,7 @@ ENCODING 33893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406335,7 +445890,7 @@ ENCODING 33894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406353,7 +445908,7 @@ ENCODING 33895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406371,7 +445926,7 @@ ENCODING 33896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406389,7 +445944,7 @@ ENCODING 33897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -406407,7 +445962,7 @@ ENCODING 33898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 2A00 @@ -406425,7 +445980,7 @@ ENCODING 33899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406443,7 +445998,7 @@ ENCODING 33900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406461,7 +446016,7 @@ ENCODING 33901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406479,7 +446034,7 @@ ENCODING 33902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406497,7 +446052,7 @@ ENCODING 33903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406515,7 +446070,7 @@ ENCODING 33904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406533,7 +446088,7 @@ ENCODING 33905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -406551,7 +446106,7 @@ ENCODING 33906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406569,7 +446124,7 @@ ENCODING 33907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -406587,7 +446142,7 @@ ENCODING 33908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -406605,7 +446160,7 @@ ENCODING 33909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406623,7 +446178,7 @@ ENCODING 33910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406641,7 +446196,7 @@ ENCODING 33911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406659,7 +446214,7 @@ ENCODING 33912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406677,7 +446232,7 @@ ENCODING 33913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -406694,26 +446249,26 @@ STARTCHAR U_847A ENCODING 33914 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FE0 -0900 -1F80 -1080 -7FE0 -1080 -1F80 -1080 -7FC0 -0080 +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 +BITMAP 1100 FFE0 1100 @@ -406731,7 +446286,7 @@ ENCODING 33916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406749,7 +446304,7 @@ ENCODING 33917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406767,7 +446322,7 @@ ENCODING 33918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406785,7 +446340,7 @@ ENCODING 33919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -406803,7 +446358,7 @@ ENCODING 33920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -406821,7 +446376,7 @@ ENCODING 33921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406839,7 +446394,7 @@ ENCODING 33922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406857,7 +446412,7 @@ ENCODING 33923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -406875,7 +446430,7 @@ ENCODING 33924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -406893,7 +446448,7 @@ ENCODING 33925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -406911,7 +446466,7 @@ ENCODING 33926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -406929,7 +446484,7 @@ ENCODING 33927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0940 @@ -406947,7 +446502,7 @@ ENCODING 33928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5240 @@ -406965,7 +446520,7 @@ ENCODING 33929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -406983,7 +446538,7 @@ ENCODING 33930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFC0 1200 @@ -407001,7 +446556,7 @@ ENCODING 33931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407019,7 +446574,7 @@ ENCODING 33932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5140 @@ -407037,7 +446592,7 @@ ENCODING 33933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5500 @@ -407055,7 +446610,7 @@ ENCODING 33934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -407073,7 +446628,7 @@ ENCODING 33935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407091,7 +446646,7 @@ ENCODING 33936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407109,7 +446664,7 @@ ENCODING 33937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407127,7 +446682,7 @@ ENCODING 33938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2100 @@ -407145,7 +446700,7 @@ ENCODING 33939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -407163,7 +446718,7 @@ ENCODING 33940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407181,7 +446736,7 @@ ENCODING 33941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407199,7 +446754,7 @@ ENCODING 33942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407217,7 +446772,7 @@ ENCODING 33943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407235,7 +446790,7 @@ ENCODING 33944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5100 FBC0 @@ -407253,7 +446808,7 @@ ENCODING 33945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407271,7 +446826,7 @@ ENCODING 33946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -407289,7 +446844,7 @@ ENCODING 33947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407307,7 +446862,7 @@ ENCODING 33948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407325,7 +446880,7 @@ ENCODING 33949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407343,7 +446898,7 @@ ENCODING 33950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407361,7 +446916,7 @@ ENCODING 33951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407379,7 +446934,7 @@ ENCODING 33952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407397,7 +446952,7 @@ ENCODING 33953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 7FE0 @@ -407415,7 +446970,7 @@ ENCODING 33954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407433,7 +446988,7 @@ ENCODING 33955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1080 @@ -407451,7 +447006,7 @@ ENCODING 33956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407469,7 +447024,7 @@ ENCODING 33957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 1900 @@ -407487,7 +447042,7 @@ ENCODING 33958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2200 @@ -407505,7 +447060,7 @@ ENCODING 33959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -407523,7 +447078,7 @@ ENCODING 33960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407541,7 +447096,7 @@ ENCODING 33961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407559,7 +447114,7 @@ ENCODING 33962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407577,7 +447132,7 @@ ENCODING 33963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407595,7 +447150,7 @@ ENCODING 33964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407613,7 +447168,7 @@ ENCODING 33965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -407631,7 +447186,7 @@ ENCODING 33966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407649,7 +447204,7 @@ ENCODING 33967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2420 FF20 24A0 @@ -407667,7 +447222,7 @@ ENCODING 33968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407685,7 +447240,7 @@ ENCODING 33969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -407703,7 +447258,7 @@ ENCODING 33970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -407721,7 +447276,7 @@ ENCODING 33971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -407739,7 +447294,7 @@ ENCODING 33972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -407757,7 +447312,7 @@ ENCODING 33973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407775,7 +447330,7 @@ ENCODING 33974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -407793,7 +447348,7 @@ ENCODING 33975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407811,7 +447366,7 @@ ENCODING 33976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407829,7 +447384,7 @@ ENCODING 33977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -407847,7 +447402,7 @@ ENCODING 33978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407865,7 +447420,7 @@ ENCODING 33979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407883,7 +447438,7 @@ ENCODING 33980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407901,7 +447456,7 @@ ENCODING 33981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -407919,7 +447474,7 @@ ENCODING 33982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407937,7 +447492,7 @@ ENCODING 33983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407955,7 +447510,7 @@ ENCODING 33984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -407973,7 +447528,7 @@ ENCODING 33985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -407991,7 +447546,7 @@ ENCODING 33986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408009,7 +447564,7 @@ ENCODING 33987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -408027,7 +447582,7 @@ ENCODING 33988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408045,7 +447600,7 @@ ENCODING 33989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408063,7 +447618,7 @@ ENCODING 33990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408081,7 +447636,7 @@ ENCODING 33991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408099,7 +447654,7 @@ ENCODING 33992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2100 @@ -408117,7 +447672,7 @@ ENCODING 33993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408135,7 +447690,7 @@ ENCODING 33994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408153,7 +447708,7 @@ ENCODING 33995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408171,7 +447726,7 @@ ENCODING 33996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408189,7 +447744,7 @@ ENCODING 33997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1540 7F80 @@ -408207,7 +447762,7 @@ ENCODING 33998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 7FE0 @@ -408225,7 +447780,7 @@ ENCODING 33999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFE0 0880 @@ -408243,7 +447798,7 @@ ENCODING 34000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408261,7 +447816,7 @@ ENCODING 34001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408279,7 +447834,7 @@ ENCODING 34002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408297,7 +447852,7 @@ ENCODING 34003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408315,7 +447870,7 @@ ENCODING 34004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408333,7 +447888,7 @@ ENCODING 34005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -408351,7 +447906,7 @@ ENCODING 34006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408369,7 +447924,7 @@ ENCODING 34007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408387,7 +447942,7 @@ ENCODING 34008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408405,7 +447960,7 @@ ENCODING 34009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408423,7 +447978,7 @@ ENCODING 34010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1200 @@ -408441,7 +447996,7 @@ ENCODING 34011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408459,7 +448014,7 @@ ENCODING 34012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2100 @@ -408477,7 +448032,7 @@ ENCODING 34013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408495,7 +448050,7 @@ ENCODING 34014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -408513,7 +448068,7 @@ ENCODING 34015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408531,7 +448086,7 @@ ENCODING 34016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408549,7 +448104,7 @@ ENCODING 34017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408567,7 +448122,7 @@ ENCODING 34018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408585,7 +448140,7 @@ ENCODING 34019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408603,7 +448158,7 @@ ENCODING 34020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1280 @@ -408621,7 +448176,7 @@ ENCODING 34021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408639,7 +448194,7 @@ ENCODING 34022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408657,7 +448212,7 @@ ENCODING 34023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408675,7 +448230,7 @@ ENCODING 34024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408693,7 +448248,7 @@ ENCODING 34025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408711,7 +448266,7 @@ ENCODING 34026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 9100 @@ -408729,7 +448284,7 @@ ENCODING 34027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408747,7 +448302,7 @@ ENCODING 34028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1380 @@ -408765,7 +448320,7 @@ ENCODING 34029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1280 @@ -408783,7 +448338,7 @@ ENCODING 34030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408801,7 +448356,7 @@ ENCODING 34031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408819,7 +448374,7 @@ ENCODING 34032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408837,7 +448392,7 @@ ENCODING 34033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408855,7 +448410,7 @@ ENCODING 34034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408873,7 +448428,7 @@ ENCODING 34035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408891,7 +448446,7 @@ ENCODING 34036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -408909,7 +448464,7 @@ ENCODING 34037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408927,7 +448482,7 @@ ENCODING 34038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408945,7 +448500,7 @@ ENCODING 34039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408963,7 +448518,7 @@ ENCODING 34040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2A80 @@ -408981,7 +448536,7 @@ ENCODING 34041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -408999,7 +448554,7 @@ ENCODING 34042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409017,7 +448572,7 @@ ENCODING 34043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409035,7 +448590,7 @@ ENCODING 34044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409053,7 +448608,7 @@ ENCODING 34045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409071,7 +448626,7 @@ ENCODING 34046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409089,7 +448644,7 @@ ENCODING 34047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409107,7 +448662,7 @@ ENCODING 34048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409125,7 +448680,7 @@ ENCODING 34049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409143,7 +448698,7 @@ ENCODING 34050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4440 @@ -409161,7 +448716,7 @@ ENCODING 34051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409179,7 +448734,7 @@ ENCODING 34052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409197,7 +448752,7 @@ ENCODING 34053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409215,7 +448770,7 @@ ENCODING 34054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409233,7 +448788,7 @@ ENCODING 34055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409251,7 +448806,7 @@ ENCODING 34056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -409269,7 +448824,7 @@ ENCODING 34057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409287,7 +448842,7 @@ ENCODING 34058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409305,7 +448860,7 @@ ENCODING 34059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409323,7 +448878,7 @@ ENCODING 34060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409341,7 +448896,7 @@ ENCODING 34061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409359,7 +448914,7 @@ ENCODING 34062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409377,7 +448932,7 @@ ENCODING 34063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409395,7 +448950,7 @@ ENCODING 34064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409413,7 +448968,7 @@ ENCODING 34065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409431,7 +448986,7 @@ ENCODING 34066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409449,7 +449004,7 @@ ENCODING 34067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409467,7 +449022,7 @@ ENCODING 34068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -409485,7 +449040,7 @@ ENCODING 34069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2A80 @@ -409503,7 +449058,7 @@ ENCODING 34070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1780 @@ -409521,7 +449076,7 @@ ENCODING 34071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409539,7 +449094,7 @@ ENCODING 34072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409557,7 +449112,7 @@ ENCODING 34073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409575,7 +449130,7 @@ ENCODING 34074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409593,7 +449148,7 @@ ENCODING 34075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2100 @@ -409611,7 +449166,7 @@ ENCODING 34076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409629,7 +449184,7 @@ ENCODING 34077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1920 @@ -409647,7 +449202,7 @@ ENCODING 34078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409665,7 +449220,7 @@ ENCODING 34079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409683,7 +449238,7 @@ ENCODING 34080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409701,7 +449256,7 @@ ENCODING 34081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409719,7 +449274,7 @@ ENCODING 34082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5200 @@ -409737,7 +449292,7 @@ ENCODING 34083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409755,7 +449310,7 @@ ENCODING 34084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409773,7 +449328,7 @@ ENCODING 34085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409791,7 +449346,7 @@ ENCODING 34086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409809,7 +449364,7 @@ ENCODING 34087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409827,7 +449382,7 @@ ENCODING 34088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409845,7 +449400,7 @@ ENCODING 34089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -409863,7 +449418,7 @@ ENCODING 34090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409881,7 +449436,7 @@ ENCODING 34091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409899,7 +449454,7 @@ ENCODING 34092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409917,7 +449472,7 @@ ENCODING 34093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1380 @@ -409935,7 +449490,7 @@ ENCODING 34094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -409953,7 +449508,7 @@ ENCODING 34095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -409971,7 +449526,7 @@ ENCODING 34096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 7FC0 @@ -409989,7 +449544,7 @@ ENCODING 34097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410007,7 +449562,7 @@ ENCODING 34098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410025,7 +449580,7 @@ ENCODING 34099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410043,7 +449598,7 @@ ENCODING 34100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410061,7 +449616,7 @@ ENCODING 34101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -410079,7 +449634,7 @@ ENCODING 34102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410097,7 +449652,7 @@ ENCODING 34103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410115,7 +449670,7 @@ ENCODING 34104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410133,7 +449688,7 @@ ENCODING 34105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410151,7 +449706,7 @@ ENCODING 34106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -410169,7 +449724,7 @@ ENCODING 34107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -410187,7 +449742,7 @@ ENCODING 34108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410205,7 +449760,7 @@ ENCODING 34109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -410223,7 +449778,7 @@ ENCODING 34110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410241,7 +449796,7 @@ ENCODING 34111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -410259,7 +449814,7 @@ ENCODING 34112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -410277,7 +449832,7 @@ ENCODING 34113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 3FC0 @@ -410295,7 +449850,7 @@ ENCODING 34114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7540 @@ -410313,7 +449868,7 @@ ENCODING 34115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410331,7 +449886,7 @@ ENCODING 34116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -410349,7 +449904,7 @@ ENCODING 34117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410367,7 +449922,7 @@ ENCODING 34118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -410385,7 +449940,7 @@ ENCODING 34119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410403,7 +449958,7 @@ ENCODING 34120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410421,7 +449976,7 @@ ENCODING 34121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410439,7 +449994,7 @@ ENCODING 34122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410457,7 +450012,7 @@ ENCODING 34123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2500 @@ -410475,7 +450030,7 @@ ENCODING 34124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410493,7 +450048,7 @@ ENCODING 34125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -410511,7 +450066,7 @@ ENCODING 34126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410529,7 +450084,7 @@ ENCODING 34127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410547,7 +450102,7 @@ ENCODING 34128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410565,7 +450120,7 @@ ENCODING 34129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4A20 @@ -410583,7 +450138,7 @@ ENCODING 34130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -410601,7 +450156,7 @@ ENCODING 34131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410619,7 +450174,7 @@ ENCODING 34132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410637,7 +450192,7 @@ ENCODING 34133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1540 @@ -410655,7 +450210,7 @@ ENCODING 34134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -410673,7 +450228,7 @@ ENCODING 34135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410691,7 +450246,7 @@ ENCODING 34136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410709,7 +450264,7 @@ ENCODING 34137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410726,8 +450281,8 @@ STARTCHAR U_855A ENCODING 34138 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 1200 3F00 @@ -410745,7 +450300,7 @@ ENCODING 34139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0940 @@ -410763,7 +450318,7 @@ ENCODING 34140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410781,7 +450336,7 @@ ENCODING 34141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410799,7 +450354,7 @@ ENCODING 34142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 3F80 @@ -410817,7 +450372,7 @@ ENCODING 34143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0100 @@ -410835,7 +450390,7 @@ ENCODING 34144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410853,7 +450408,7 @@ ENCODING 34145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410871,7 +450426,7 @@ ENCODING 34146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410889,7 +450444,7 @@ ENCODING 34147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410907,7 +450462,7 @@ ENCODING 34148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410925,7 +450480,7 @@ ENCODING 34149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410943,7 +450498,7 @@ ENCODING 34150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410961,7 +450516,7 @@ ENCODING 34151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -410979,7 +450534,7 @@ ENCODING 34152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -410997,7 +450552,7 @@ ENCODING 34153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -411015,7 +450570,7 @@ ENCODING 34154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -411033,7 +450588,7 @@ ENCODING 34155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 7FC0 @@ -411051,7 +450606,7 @@ ENCODING 34156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411069,7 +450624,7 @@ ENCODING 34157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411087,7 +450642,7 @@ ENCODING 34158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -411105,7 +450660,7 @@ ENCODING 34159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0200 @@ -411123,7 +450678,7 @@ ENCODING 34160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411141,7 +450696,7 @@ ENCODING 34161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1520 @@ -411159,7 +450714,7 @@ ENCODING 34162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5480 @@ -411177,7 +450732,7 @@ ENCODING 34163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411195,7 +450750,7 @@ ENCODING 34164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411213,7 +450768,7 @@ ENCODING 34165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1380 @@ -411231,7 +450786,7 @@ ENCODING 34166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411249,7 +450804,7 @@ ENCODING 34167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -411267,7 +450822,7 @@ ENCODING 34168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -411285,7 +450840,7 @@ ENCODING 34169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411303,7 +450858,7 @@ ENCODING 34170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411321,7 +450876,7 @@ ENCODING 34171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411339,7 +450894,7 @@ ENCODING 34172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411357,7 +450912,7 @@ ENCODING 34173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0A00 @@ -411375,7 +450930,7 @@ ENCODING 34174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -411393,7 +450948,7 @@ ENCODING 34175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1140 @@ -411411,7 +450966,7 @@ ENCODING 34176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -411429,7 +450984,7 @@ ENCODING 34177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411447,7 +451002,7 @@ ENCODING 34178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFE0 0880 @@ -411465,7 +451020,7 @@ ENCODING 34179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -411483,7 +451038,7 @@ ENCODING 34180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 9280 @@ -411501,7 +451056,7 @@ ENCODING 34181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411519,7 +451074,7 @@ ENCODING 34182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411537,7 +451092,7 @@ ENCODING 34183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0900 @@ -411555,7 +451110,7 @@ ENCODING 34184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1B00 @@ -411573,7 +451128,7 @@ ENCODING 34185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1780 @@ -411591,7 +451146,7 @@ ENCODING 34186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -411609,7 +451164,7 @@ ENCODING 34187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411627,7 +451182,7 @@ ENCODING 34188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411645,7 +451200,7 @@ ENCODING 34189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -411663,7 +451218,7 @@ ENCODING 34190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411681,7 +451236,7 @@ ENCODING 34191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411699,7 +451254,7 @@ ENCODING 34192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411717,7 +451272,7 @@ ENCODING 34193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411735,7 +451290,7 @@ ENCODING 34194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411753,7 +451308,7 @@ ENCODING 34195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 4780 @@ -411771,7 +451326,7 @@ ENCODING 34196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411789,7 +451344,7 @@ ENCODING 34197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 1500 @@ -411807,7 +451362,7 @@ ENCODING 34198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411825,7 +451380,7 @@ ENCODING 34199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -411843,7 +451398,7 @@ ENCODING 34200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 97C0 @@ -411861,7 +451416,7 @@ ENCODING 34201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411879,7 +451434,7 @@ ENCODING 34202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1440 @@ -411897,7 +451452,7 @@ ENCODING 34203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411915,7 +451470,7 @@ ENCODING 34204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -411933,7 +451488,7 @@ ENCODING 34205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411951,7 +451506,7 @@ ENCODING 34206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -411969,7 +451524,7 @@ ENCODING 34207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -411987,7 +451542,7 @@ ENCODING 34208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412005,7 +451560,7 @@ ENCODING 34209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412023,7 +451578,7 @@ ENCODING 34210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412041,7 +451596,7 @@ ENCODING 34211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412059,7 +451614,7 @@ ENCODING 34212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412077,7 +451632,7 @@ ENCODING 34213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412095,7 +451650,7 @@ ENCODING 34214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412113,7 +451668,7 @@ ENCODING 34215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412131,7 +451686,7 @@ ENCODING 34216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412149,7 +451704,7 @@ ENCODING 34217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412167,7 +451722,7 @@ ENCODING 34218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412185,7 +451740,7 @@ ENCODING 34219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -412203,7 +451758,7 @@ ENCODING 34220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 1480 @@ -412221,7 +451776,7 @@ ENCODING 34221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 0A00 @@ -412239,7 +451794,7 @@ ENCODING 34222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5500 @@ -412257,7 +451812,7 @@ ENCODING 34223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -412275,7 +451830,7 @@ ENCODING 34224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412293,7 +451848,7 @@ ENCODING 34225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412311,7 +451866,7 @@ ENCODING 34226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1080 7FE0 @@ -412329,7 +451884,7 @@ ENCODING 34227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1200 @@ -412347,7 +451902,7 @@ ENCODING 34228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412365,7 +451920,7 @@ ENCODING 34229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412383,7 +451938,7 @@ ENCODING 34230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412401,7 +451956,7 @@ ENCODING 34231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412419,7 +451974,7 @@ ENCODING 34232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4100 @@ -412437,7 +451992,7 @@ ENCODING 34233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412455,7 +452010,7 @@ ENCODING 34234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412473,7 +452028,7 @@ ENCODING 34235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5540 @@ -412491,7 +452046,7 @@ ENCODING 34236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412509,7 +452064,7 @@ ENCODING 34237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 FDE0 @@ -412527,7 +452082,7 @@ ENCODING 34238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -412545,7 +452100,7 @@ ENCODING 34239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -412563,7 +452118,7 @@ ENCODING 34240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412581,7 +452136,7 @@ ENCODING 34241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -412599,7 +452154,7 @@ ENCODING 34242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412617,7 +452172,7 @@ ENCODING 34243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412635,7 +452190,7 @@ ENCODING 34244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412653,7 +452208,7 @@ ENCODING 34245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 7FE0 @@ -412671,7 +452226,7 @@ ENCODING 34246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412689,7 +452244,7 @@ ENCODING 34247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412707,7 +452262,7 @@ ENCODING 34248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0940 @@ -412725,7 +452280,7 @@ ENCODING 34249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412743,7 +452298,7 @@ ENCODING 34250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -412761,7 +452316,7 @@ ENCODING 34251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FFC0 @@ -412779,7 +452334,7 @@ ENCODING 34252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412797,7 +452352,7 @@ ENCODING 34253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 9100 @@ -412815,7 +452370,7 @@ ENCODING 34254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 3FC0 @@ -412833,7 +452388,7 @@ ENCODING 34255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0940 @@ -412851,7 +452406,7 @@ ENCODING 34256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412869,7 +452424,7 @@ ENCODING 34257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412887,7 +452442,7 @@ ENCODING 34258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -412905,7 +452460,7 @@ ENCODING 34259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1120 @@ -412923,7 +452478,7 @@ ENCODING 34260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -412941,7 +452496,7 @@ ENCODING 34261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412959,7 +452514,7 @@ ENCODING 34262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -412977,7 +452532,7 @@ ENCODING 34263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFE0 0880 @@ -412995,7 +452550,7 @@ ENCODING 34264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -413013,7 +452568,7 @@ ENCODING 34265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413031,7 +452586,7 @@ ENCODING 34266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413049,7 +452604,7 @@ ENCODING 34267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413067,7 +452622,7 @@ ENCODING 34268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 79E0 @@ -413085,7 +452640,7 @@ ENCODING 34269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FFC0 @@ -413103,7 +452658,7 @@ ENCODING 34270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413121,7 +452676,7 @@ ENCODING 34271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -413139,7 +452694,7 @@ ENCODING 34272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413157,7 +452712,7 @@ ENCODING 34273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 9FE0 @@ -413175,7 +452730,7 @@ ENCODING 34274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1900 @@ -413193,7 +452748,7 @@ ENCODING 34275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4A40 @@ -413211,7 +452766,7 @@ ENCODING 34276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1540 @@ -413229,7 +452784,7 @@ ENCODING 34277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5540 @@ -413247,7 +452802,7 @@ ENCODING 34278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -413265,7 +452820,7 @@ ENCODING 34279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 2A00 @@ -413283,7 +452838,7 @@ ENCODING 34280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413301,7 +452856,7 @@ ENCODING 34281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4B20 @@ -413319,7 +452874,7 @@ ENCODING 34282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413337,7 +452892,7 @@ ENCODING 34283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 9480 @@ -413355,7 +452910,7 @@ ENCODING 34284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -413373,7 +452928,7 @@ ENCODING 34285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -413391,7 +452946,7 @@ ENCODING 34286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413409,7 +452964,7 @@ ENCODING 34287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -413427,7 +452982,7 @@ ENCODING 34288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413445,7 +453000,7 @@ ENCODING 34289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413463,7 +453018,7 @@ ENCODING 34290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413481,7 +453036,7 @@ ENCODING 34291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413499,7 +453054,7 @@ ENCODING 34292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 3100 @@ -413517,7 +453072,7 @@ ENCODING 34293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 1200 @@ -413535,7 +453090,7 @@ ENCODING 34294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413553,7 +453108,7 @@ ENCODING 34295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1120 @@ -413571,7 +453126,7 @@ ENCODING 34296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413589,7 +453144,7 @@ ENCODING 34297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -413607,7 +453162,7 @@ ENCODING 34298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4920 @@ -413625,7 +453180,7 @@ ENCODING 34299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 4900 @@ -413643,7 +453198,7 @@ ENCODING 34300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 FFE0 @@ -413661,7 +453216,7 @@ ENCODING 34301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -413679,7 +453234,7 @@ ENCODING 34302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413697,7 +453252,7 @@ ENCODING 34303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -413715,7 +453270,7 @@ ENCODING 34304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413733,7 +453288,7 @@ ENCODING 34305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413751,7 +453306,7 @@ ENCODING 34306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7FE0 0A00 @@ -413769,7 +453324,7 @@ ENCODING 34307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -413787,7 +453342,7 @@ ENCODING 34308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413805,7 +453360,7 @@ ENCODING 34309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413823,7 +453378,7 @@ ENCODING 34310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -413841,7 +453396,7 @@ ENCODING 34311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413859,7 +453414,7 @@ ENCODING 34312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413877,7 +453432,7 @@ ENCODING 34313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FFE0 4A40 @@ -413895,7 +453450,7 @@ ENCODING 34314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -413913,7 +453468,7 @@ ENCODING 34315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413931,7 +453486,7 @@ ENCODING 34316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5100 @@ -413949,7 +453504,7 @@ ENCODING 34317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413967,7 +453522,7 @@ ENCODING 34318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -413985,7 +453540,7 @@ ENCODING 34319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414003,7 +453558,7 @@ ENCODING 34320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414021,7 +453576,7 @@ ENCODING 34321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFE0 0A80 @@ -414039,7 +453594,7 @@ ENCODING 34322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414057,7 +453612,7 @@ ENCODING 34323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414075,7 +453630,7 @@ ENCODING 34324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414093,7 +453648,7 @@ ENCODING 34325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414111,7 +453666,7 @@ ENCODING 34326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4900 F7E0 @@ -414129,7 +453684,7 @@ ENCODING 34327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7BE0 @@ -414147,7 +453702,7 @@ ENCODING 34328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -414165,7 +453720,7 @@ ENCODING 34329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 9380 @@ -414183,7 +453738,7 @@ ENCODING 34330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0940 @@ -414201,7 +453756,7 @@ ENCODING 34331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414219,7 +453774,7 @@ ENCODING 34332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5500 @@ -414237,7 +453792,7 @@ ENCODING 34333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414255,7 +453810,7 @@ ENCODING 34334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414273,7 +453828,7 @@ ENCODING 34335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414291,7 +453846,7 @@ ENCODING 34336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414309,7 +453864,7 @@ ENCODING 34337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4A40 @@ -414327,7 +453882,7 @@ ENCODING 34338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414345,7 +453900,7 @@ ENCODING 34339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 2900 @@ -414363,7 +453918,7 @@ ENCODING 34340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414381,7 +453936,7 @@ ENCODING 34341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -414399,7 +453954,7 @@ ENCODING 34342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414417,7 +453972,7 @@ ENCODING 34343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 8200 @@ -414435,7 +453990,7 @@ ENCODING 34344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414453,7 +454008,7 @@ ENCODING 34345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4900 FD00 @@ -414471,7 +454026,7 @@ ENCODING 34346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFC0 @@ -414489,7 +454044,7 @@ ENCODING 34347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414507,7 +454062,7 @@ ENCODING 34348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5100 F7C0 @@ -414525,7 +454080,7 @@ ENCODING 34349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414543,7 +454098,7 @@ ENCODING 34350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -414561,7 +454116,7 @@ ENCODING 34351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 1100 @@ -414579,7 +454134,7 @@ ENCODING 34352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414597,7 +454152,7 @@ ENCODING 34353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 A100 @@ -414615,7 +454170,7 @@ ENCODING 34354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 3F80 @@ -414633,7 +454188,7 @@ ENCODING 34355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414651,7 +454206,7 @@ ENCODING 34356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414669,7 +454224,7 @@ ENCODING 34357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 F4C0 @@ -414687,7 +454242,7 @@ ENCODING 34358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0880 73E0 @@ -414705,7 +454260,7 @@ ENCODING 34359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414723,7 +454278,7 @@ ENCODING 34360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 FDE0 @@ -414741,7 +454296,7 @@ ENCODING 34361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414759,7 +454314,7 @@ ENCODING 34362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FA80 @@ -414777,7 +454332,7 @@ ENCODING 34363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 FDC0 @@ -414795,7 +454350,7 @@ ENCODING 34364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -414813,7 +454368,7 @@ ENCODING 34365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414831,7 +454386,7 @@ ENCODING 34366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414849,7 +454404,7 @@ ENCODING 34367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 7FE0 @@ -414867,7 +454422,7 @@ ENCODING 34368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1500 FFE0 @@ -414885,7 +454440,7 @@ ENCODING 34369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -414903,7 +454458,7 @@ ENCODING 34370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414921,7 +454476,7 @@ ENCODING 34371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 8AC0 @@ -414939,7 +454494,7 @@ ENCODING 34372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -414957,7 +454512,7 @@ ENCODING 34373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1540 @@ -414975,7 +454530,7 @@ ENCODING 34374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1200 7FC0 @@ -414993,7 +454548,7 @@ ENCODING 34375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 17E0 @@ -415011,7 +454566,7 @@ ENCODING 34376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0900 @@ -415029,7 +454584,7 @@ ENCODING 34377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFC0 1280 @@ -415047,7 +454602,7 @@ ENCODING 34378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFC0 1200 @@ -415065,7 +454620,7 @@ ENCODING 34379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 52C0 @@ -415083,7 +454638,7 @@ ENCODING 34380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1200 ABE0 @@ -415101,7 +454656,7 @@ ENCODING 34381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 07E0 0400 @@ -415119,7 +454674,7 @@ ENCODING 34382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415137,7 +454692,7 @@ ENCODING 34383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415155,7 +454710,7 @@ ENCODING 34384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415173,7 +454728,7 @@ ENCODING 34385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415191,7 +454746,7 @@ ENCODING 34386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 7F80 4200 @@ -415209,7 +454764,7 @@ ENCODING 34387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 4100 F7E0 @@ -415227,7 +454782,7 @@ ENCODING 34388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415245,7 +454800,7 @@ ENCODING 34389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415263,7 +454818,7 @@ ENCODING 34390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415281,7 +454836,7 @@ ENCODING 34391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -415299,7 +454854,7 @@ ENCODING 34392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -415317,7 +454872,7 @@ ENCODING 34393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415335,7 +454890,7 @@ ENCODING 34394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415353,7 +454908,7 @@ ENCODING 34395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -415371,7 +454926,7 @@ ENCODING 34396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415389,7 +454944,7 @@ ENCODING 34397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 1100 7DE0 @@ -415407,7 +454962,7 @@ ENCODING 34398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415425,7 +454980,7 @@ ENCODING 34399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1E0 9100 F7E0 @@ -415443,7 +454998,7 @@ ENCODING 34400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 FFE0 @@ -415461,7 +455016,7 @@ ENCODING 34401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -415479,7 +455034,7 @@ ENCODING 34402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 F100 4FE0 @@ -415497,7 +455052,7 @@ ENCODING 34403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 EC80 0BE0 @@ -415515,7 +455070,7 @@ ENCODING 34404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 38E0 2080 FBE0 @@ -415533,7 +455088,7 @@ ENCODING 34405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3A40 23E0 FE80 @@ -415551,7 +455106,7 @@ ENCODING 34406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 61C0 5100 FFE0 @@ -415569,7 +455124,7 @@ ENCODING 34407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1E00 11E0 FE00 @@ -415587,7 +455142,7 @@ ENCODING 34408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1E40 1080 @@ -415605,7 +455160,7 @@ ENCODING 34409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A8E0 7080 23E0 @@ -415623,7 +455178,7 @@ ENCODING 34410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 31E0 2B20 FEC0 @@ -415641,7 +455196,7 @@ ENCODING 34411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -415659,7 +455214,7 @@ ENCODING 34412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FA00 @@ -415677,7 +455232,7 @@ ENCODING 34413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F920 @@ -415695,7 +455250,7 @@ ENCODING 34414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2280 FA80 @@ -415713,7 +455268,7 @@ ENCODING 34415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 2220 FA20 @@ -415731,7 +455286,7 @@ ENCODING 34416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F880 @@ -415749,7 +455304,7 @@ ENCODING 34417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 0080 0C80 @@ -415767,7 +455322,7 @@ ENCODING 34418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7D00 @@ -415785,7 +455340,7 @@ ENCODING 34419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -415803,7 +455358,7 @@ ENCODING 34420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2780 F900 @@ -415821,7 +455376,7 @@ ENCODING 34421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 2280 @@ -415839,7 +455394,7 @@ ENCODING 34422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F900 @@ -415857,7 +455412,7 @@ ENCODING 34423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2080 F880 @@ -415875,7 +455430,7 @@ ENCODING 34424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F880 @@ -415893,7 +455448,7 @@ ENCODING 34425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 F880 @@ -415911,7 +455466,7 @@ ENCODING 34426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5100 57C0 @@ -415929,7 +455484,7 @@ ENCODING 34427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -415947,7 +455502,7 @@ ENCODING 34428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 FBE0 @@ -415965,7 +455520,7 @@ ENCODING 34429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -415983,7 +455538,7 @@ ENCODING 34430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 F900 @@ -416001,7 +455556,7 @@ ENCODING 34431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 0FC0 @@ -416019,7 +455574,7 @@ ENCODING 34432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7FE0 @@ -416037,7 +455592,7 @@ ENCODING 34433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 22A0 22A0 @@ -416055,7 +455610,7 @@ ENCODING 34434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2040 FA40 @@ -416073,7 +455628,7 @@ ENCODING 34435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1080 7F00 @@ -416091,7 +455646,7 @@ ENCODING 34436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 2FE0 @@ -416109,7 +455664,7 @@ ENCODING 34437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 2400 @@ -416127,7 +455682,7 @@ ENCODING 34438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 FAA0 @@ -416145,7 +455700,7 @@ ENCODING 34439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 2220 @@ -416162,8 +455717,8 @@ STARTCHAR U_8688 ENCODING 34440 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 2000 27C0 2280 @@ -416181,7 +455736,7 @@ ENCODING 34441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -416199,7 +455754,7 @@ ENCODING 34442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -416217,7 +455772,7 @@ ENCODING 34443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 FBE0 @@ -416235,7 +455790,7 @@ ENCODING 34444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 2080 @@ -416253,7 +455808,7 @@ ENCODING 34445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FA80 @@ -416271,7 +455826,7 @@ ENCODING 34446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA20 @@ -416289,7 +455844,7 @@ ENCODING 34447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2220 @@ -416307,7 +455862,7 @@ ENCODING 34448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -416325,7 +455880,7 @@ ENCODING 34449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 27E0 @@ -416343,7 +455898,7 @@ ENCODING 34450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2340 @@ -416361,7 +455916,7 @@ ENCODING 34451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23A0 20A0 20A0 @@ -416379,7 +455934,7 @@ ENCODING 34452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2280 @@ -416397,7 +455952,7 @@ ENCODING 34453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0800 0800 @@ -416415,7 +455970,7 @@ ENCODING 34454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2000 2000 @@ -416433,7 +455988,7 @@ ENCODING 34455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 23C0 @@ -416451,7 +456006,7 @@ ENCODING 34456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2140 2120 @@ -416469,7 +456024,7 @@ ENCODING 34457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2240 @@ -416487,7 +456042,7 @@ ENCODING 34458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 23C0 2200 @@ -416505,7 +456060,7 @@ ENCODING 34459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 23E0 @@ -416523,7 +456078,7 @@ ENCODING 34460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 2140 @@ -416541,7 +456096,7 @@ ENCODING 34461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -416559,7 +456114,7 @@ ENCODING 34462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -416577,7 +456132,7 @@ ENCODING 34463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2100 @@ -416595,7 +456150,7 @@ ENCODING 34464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 1080 3F40 @@ -416613,7 +456168,7 @@ ENCODING 34465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2240 @@ -416631,7 +456186,7 @@ ENCODING 34466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -416649,7 +456204,7 @@ ENCODING 34467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2280 2240 @@ -416667,7 +456222,7 @@ ENCODING 34468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2880 1500 @@ -416685,7 +456240,7 @@ ENCODING 34469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2220 2220 @@ -416703,7 +456258,7 @@ ENCODING 34470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -416721,7 +456276,7 @@ ENCODING 34471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2240 @@ -416739,7 +456294,7 @@ ENCODING 34472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -416757,7 +456312,7 @@ ENCODING 34473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -416775,7 +456330,7 @@ ENCODING 34474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2240 2140 @@ -416793,7 +456348,7 @@ ENCODING 34475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2420 @@ -416811,7 +456366,7 @@ ENCODING 34476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 2540 @@ -416829,7 +456384,7 @@ ENCODING 34477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2220 @@ -416847,7 +456402,7 @@ ENCODING 34478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22C0 22A0 @@ -416865,7 +456420,7 @@ ENCODING 34479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2200 @@ -416883,7 +456438,7 @@ ENCODING 34480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 23E0 @@ -416901,7 +456456,7 @@ ENCODING 34481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -416919,7 +456474,7 @@ ENCODING 34482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27E0 2080 @@ -416937,7 +456492,7 @@ ENCODING 34483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2380 2280 @@ -416955,7 +456510,7 @@ ENCODING 34484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 2480 @@ -416973,7 +456528,7 @@ ENCODING 34485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 2040 @@ -416991,7 +456546,7 @@ ENCODING 34486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 2240 @@ -417009,7 +456564,7 @@ ENCODING 34487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 2200 @@ -417027,7 +456582,7 @@ ENCODING 34488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 23C0 2200 @@ -417045,7 +456600,7 @@ ENCODING 34489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2240 2240 @@ -417063,7 +456618,7 @@ ENCODING 34490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27C0 @@ -417081,7 +456636,7 @@ ENCODING 34491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 1100 @@ -417099,7 +456654,7 @@ ENCODING 34492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 23E0 @@ -417117,7 +456672,7 @@ ENCODING 34493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2080 @@ -417135,7 +456690,7 @@ ENCODING 34494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 23E0 @@ -417153,7 +456708,7 @@ ENCODING 34495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -417171,7 +456726,7 @@ ENCODING 34496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 27E0 @@ -417189,7 +456744,7 @@ ENCODING 34497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 2120 @@ -417207,7 +456762,7 @@ ENCODING 34498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2220 27E0 @@ -417225,7 +456780,7 @@ ENCODING 34499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2080 @@ -417243,7 +456798,7 @@ ENCODING 34500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 27E0 @@ -417261,7 +456816,7 @@ ENCODING 34501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 20E0 @@ -417279,7 +456834,7 @@ ENCODING 34502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -417297,7 +456852,7 @@ ENCODING 34503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -417315,7 +456870,7 @@ ENCODING 34504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2500 27C0 @@ -417333,7 +456888,7 @@ ENCODING 34505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -417351,7 +456906,7 @@ ENCODING 34506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4440 @@ -417369,7 +456924,7 @@ ENCODING 34507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0440 2780 @@ -417387,7 +456942,7 @@ ENCODING 34508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 23E0 22A0 @@ -417405,7 +456960,7 @@ ENCODING 34509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 1240 1280 @@ -417423,7 +456978,7 @@ ENCODING 34510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2200 23E0 @@ -417441,7 +456996,7 @@ ENCODING 34511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2220 2140 @@ -417459,7 +457014,7 @@ ENCODING 34512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -417477,7 +457032,7 @@ ENCODING 34513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2240 27A0 @@ -417495,7 +457050,7 @@ ENCODING 34514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 2520 @@ -417513,7 +457068,7 @@ ENCODING 34515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 FD40 2100 @@ -417531,7 +457086,7 @@ ENCODING 34516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 23A0 @@ -417549,7 +457104,7 @@ ENCODING 34517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -417567,7 +457122,7 @@ ENCODING 34518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 27E0 @@ -417585,7 +457140,7 @@ ENCODING 34519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -417603,7 +457158,7 @@ ENCODING 34520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2140 23E0 @@ -417621,7 +457176,7 @@ ENCODING 34521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -417639,7 +457194,7 @@ ENCODING 34522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2720 2420 24A0 @@ -417657,7 +457212,7 @@ ENCODING 34523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 23E0 @@ -417675,7 +457230,7 @@ ENCODING 34524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27C0 2540 @@ -417693,7 +457248,7 @@ ENCODING 34525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 2240 @@ -417711,7 +457266,7 @@ ENCODING 34526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2380 2080 @@ -417729,7 +457284,7 @@ ENCODING 34527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -417747,7 +457302,7 @@ ENCODING 34528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2240 @@ -417765,7 +457320,7 @@ ENCODING 34529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 25A0 @@ -417783,7 +457338,7 @@ ENCODING 34530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2140 27E0 @@ -417801,7 +457356,7 @@ ENCODING 34531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 27E0 @@ -417819,7 +457374,7 @@ ENCODING 34532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2180 2240 @@ -417837,7 +457392,7 @@ ENCODING 34533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2220 2540 @@ -417855,7 +457410,7 @@ ENCODING 34534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2080 @@ -417873,7 +457428,7 @@ ENCODING 34535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 26A0 @@ -417891,7 +457446,7 @@ ENCODING 34536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2100 @@ -417909,7 +457464,7 @@ ENCODING 34537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 FC80 2680 @@ -417926,26 +457481,26 @@ STARTCHAR U_86EA ENCODING 34538 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -1120 -7D20 -1120 -7EA0 -1440 -3FC0 -2440 -3FC0 -0440 -7FA0 +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 +BITMAP 2200 23C0 2240 @@ -417963,7 +457518,7 @@ ENCODING 34540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FE0 1100 @@ -417981,7 +457536,7 @@ ENCODING 34541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 2200 @@ -417999,7 +457554,7 @@ ENCODING 34542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -418017,7 +457572,7 @@ ENCODING 34543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2140 @@ -418035,7 +457590,7 @@ ENCODING 34544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F7C0 2140 @@ -418053,7 +457608,7 @@ ENCODING 34545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -418071,7 +457626,7 @@ ENCODING 34546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27E0 2140 @@ -418089,7 +457644,7 @@ ENCODING 34547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2880 2880 @@ -418107,7 +457662,7 @@ ENCODING 34548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -418125,7 +457680,7 @@ ENCODING 34549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 22A0 22A0 @@ -418143,7 +457698,7 @@ ENCODING 34550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 2780 2520 @@ -418161,7 +457716,7 @@ ENCODING 34551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2140 27E0 @@ -418179,7 +457734,7 @@ ENCODING 34552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 22C0 2080 @@ -418197,7 +457752,7 @@ ENCODING 34553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 23E0 @@ -418215,7 +457770,7 @@ ENCODING 34554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 27E0 @@ -418233,7 +457788,7 @@ ENCODING 34555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2C40 27E0 @@ -418251,7 +457806,7 @@ ENCODING 34556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2080 @@ -418269,7 +457824,7 @@ ENCODING 34557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2220 @@ -418287,7 +457842,7 @@ ENCODING 34558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 26C0 22A0 @@ -418305,7 +457860,7 @@ ENCODING 34559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -418323,7 +457878,7 @@ ENCODING 34560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4920 7FE0 @@ -418341,7 +457896,7 @@ ENCODING 34561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2400 @@ -418359,7 +457914,7 @@ ENCODING 34562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2480 @@ -418377,7 +457932,7 @@ ENCODING 34563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5FC0 4000 @@ -418395,7 +457950,7 @@ ENCODING 34564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2400 25C0 @@ -418413,7 +457968,7 @@ ENCODING 34565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 27E0 @@ -418431,7 +457986,7 @@ ENCODING 34566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 23C0 @@ -418449,7 +458004,7 @@ ENCODING 34567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 2200 @@ -418467,7 +458022,7 @@ ENCODING 34568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -418485,7 +458040,7 @@ ENCODING 34569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 27A0 2520 @@ -418503,7 +458058,7 @@ ENCODING 34570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 2620 22A0 @@ -418521,7 +458076,7 @@ ENCODING 34571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 2220 @@ -418539,7 +458094,7 @@ ENCODING 34572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24A0 27C0 @@ -418557,7 +458112,7 @@ ENCODING 34573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -418575,7 +458130,7 @@ ENCODING 34574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 23E0 @@ -418593,7 +458148,7 @@ ENCODING 34575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 2100 @@ -418611,7 +458166,7 @@ ENCODING 34576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2780 2280 @@ -418629,7 +458184,7 @@ ENCODING 34577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 2100 45E0 @@ -418647,7 +458202,7 @@ ENCODING 34578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 26C0 2240 @@ -418665,7 +458220,7 @@ ENCODING 34579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2720 21C0 F940 @@ -418683,7 +458238,7 @@ ENCODING 34580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2420 @@ -418701,7 +458256,7 @@ ENCODING 34581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2140 27E0 @@ -418719,7 +458274,7 @@ ENCODING 34582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2AA0 @@ -418737,7 +458292,7 @@ ENCODING 34583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 2220 @@ -418755,7 +458310,7 @@ ENCODING 34584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -418773,7 +458328,7 @@ ENCODING 34585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 22C0 27A0 @@ -418791,7 +458346,7 @@ ENCODING 34586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 1200 F3C0 @@ -418809,7 +458364,7 @@ ENCODING 34587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 23E0 @@ -418827,7 +458382,7 @@ ENCODING 34588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8A20 @@ -418845,7 +458400,7 @@ ENCODING 34589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1900 @@ -418863,7 +458418,7 @@ ENCODING 34590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -418881,7 +458436,7 @@ ENCODING 34591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -418899,7 +458454,7 @@ ENCODING 34592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2460 27A0 @@ -418917,7 +458472,7 @@ ENCODING 34593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -418935,7 +458490,7 @@ ENCODING 34594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 2080 @@ -418953,7 +458508,7 @@ ENCODING 34595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2140 27E0 @@ -418971,7 +458526,7 @@ ENCODING 34596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FE00 23E0 @@ -418989,7 +458544,7 @@ ENCODING 34597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 22C0 2280 @@ -419007,7 +458562,7 @@ ENCODING 34598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 2240 FC20 @@ -419025,7 +458580,7 @@ ENCODING 34599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 2220 @@ -419043,7 +458598,7 @@ ENCODING 34600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2140 @@ -419061,7 +458616,7 @@ ENCODING 34601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2520 27E0 @@ -419079,7 +458634,7 @@ ENCODING 34602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2620 @@ -419097,7 +458652,7 @@ ENCODING 34603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -419115,7 +458670,7 @@ ENCODING 34604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2040 2080 @@ -419133,7 +458688,7 @@ ENCODING 34605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 21E0 2240 @@ -419151,7 +458706,7 @@ ENCODING 34606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 27E0 @@ -419169,7 +458724,7 @@ ENCODING 34607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -419187,7 +458742,7 @@ ENCODING 34608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 7BE0 @@ -419205,7 +458760,7 @@ ENCODING 34609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2520 @@ -419223,7 +458778,7 @@ ENCODING 34610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 2380 2100 @@ -419241,7 +458796,7 @@ ENCODING 34611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -419259,7 +458814,7 @@ ENCODING 34612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -419277,7 +458832,7 @@ ENCODING 34613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 2AA0 2AA0 @@ -419295,7 +458850,7 @@ ENCODING 34614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -419313,7 +458868,7 @@ ENCODING 34615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2340 FFE0 @@ -419331,7 +458886,7 @@ ENCODING 34616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5140 7D40 @@ -419349,7 +458904,7 @@ ENCODING 34617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2240 @@ -419367,7 +458922,7 @@ ENCODING 34618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 26E0 2420 @@ -419385,7 +458940,7 @@ ENCODING 34619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 27C0 @@ -419403,7 +458958,7 @@ ENCODING 34620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 23E0 @@ -419421,7 +458976,7 @@ ENCODING 34621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2100 @@ -419439,7 +458994,7 @@ ENCODING 34622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 23E0 @@ -419457,7 +459012,7 @@ ENCODING 34623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -419475,7 +459030,7 @@ ENCODING 34624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -419493,7 +459048,7 @@ ENCODING 34625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7BC0 @@ -419511,7 +459066,7 @@ ENCODING 34626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 2AC0 FA80 @@ -419529,7 +459084,7 @@ ENCODING 34627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 25A0 @@ -419547,7 +459102,7 @@ ENCODING 34628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 FAA0 @@ -419565,7 +459120,7 @@ ENCODING 34629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 1080 FFE0 @@ -419583,7 +459138,7 @@ ENCODING 34630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 2560 @@ -419601,7 +459156,7 @@ ENCODING 34631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -419619,7 +459174,7 @@ ENCODING 34632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 27E0 @@ -419637,7 +459192,7 @@ ENCODING 34633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2140 23E0 @@ -419655,7 +459210,7 @@ ENCODING 34634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -419673,7 +459228,7 @@ ENCODING 34635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2540 2580 @@ -419691,7 +459246,7 @@ ENCODING 34636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 2640 22C0 @@ -419709,7 +459264,7 @@ ENCODING 34637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 2AA0 @@ -419727,7 +459282,7 @@ ENCODING 34638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 23C0 @@ -419745,7 +459300,7 @@ ENCODING 34639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -419763,7 +459318,7 @@ ENCODING 34640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 25A0 @@ -419781,7 +459336,7 @@ ENCODING 34641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 25C0 @@ -419799,7 +459354,7 @@ ENCODING 34642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 2100 @@ -419817,7 +459372,7 @@ ENCODING 34643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2440 @@ -419835,7 +459390,7 @@ ENCODING 34644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 24A0 27C0 @@ -419853,7 +459408,7 @@ ENCODING 34645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 ABE0 @@ -419871,7 +459426,7 @@ ENCODING 34646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -419889,7 +459444,7 @@ ENCODING 34647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 2220 @@ -419907,7 +459462,7 @@ ENCODING 34648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2540 25C0 @@ -419925,7 +459480,7 @@ ENCODING 34649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F820 @@ -419943,7 +459498,7 @@ ENCODING 34650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2140 2080 @@ -419961,7 +459516,7 @@ ENCODING 34651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 2FE0 @@ -419979,7 +459534,7 @@ ENCODING 34652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2240 27E0 @@ -419997,7 +459552,7 @@ ENCODING 34653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 23C0 @@ -420015,7 +459570,7 @@ ENCODING 34654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2920 FFE0 @@ -420033,7 +459588,7 @@ ENCODING 34655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 FFE0 @@ -420051,7 +459606,7 @@ ENCODING 34656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 23E0 @@ -420069,7 +459624,7 @@ ENCODING 34657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FFE0 @@ -420087,7 +459642,7 @@ ENCODING 34658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 23E0 @@ -420105,7 +459660,7 @@ ENCODING 34659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 22E0 FF00 @@ -420123,7 +459678,7 @@ ENCODING 34660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 FFE0 @@ -420141,7 +459696,7 @@ ENCODING 34661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 FD40 @@ -420159,7 +459714,7 @@ ENCODING 34662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2A20 FA20 @@ -420177,7 +459732,7 @@ ENCODING 34663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -420195,7 +459750,7 @@ ENCODING 34664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0880 0880 @@ -420213,7 +459768,7 @@ ENCODING 34665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2080 27E0 @@ -420231,7 +459786,7 @@ ENCODING 34666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 27C0 @@ -420249,7 +459804,7 @@ ENCODING 34667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27A0 2140 @@ -420267,7 +459822,7 @@ ENCODING 34668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26A0 2520 26A0 @@ -420285,7 +459840,7 @@ ENCODING 34669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 23C0 @@ -420303,7 +459858,7 @@ ENCODING 34670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 2620 @@ -420321,7 +459876,7 @@ ENCODING 34671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 27A0 22C0 @@ -420339,7 +459894,7 @@ ENCODING 34672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -420357,7 +459912,7 @@ ENCODING 34673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -420375,7 +459930,7 @@ ENCODING 34674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 2FA0 FAA0 @@ -420393,7 +459948,7 @@ ENCODING 34675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -420411,7 +459966,7 @@ ENCODING 34676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 24A0 2FA0 @@ -420429,7 +459984,7 @@ ENCODING 34677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 2540 FD80 @@ -420447,7 +460002,7 @@ ENCODING 34678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 2540 @@ -420465,7 +460020,7 @@ ENCODING 34679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2FE0 FA20 @@ -420483,7 +460038,7 @@ ENCODING 34680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FF40 @@ -420501,7 +460056,7 @@ ENCODING 34681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -420519,7 +460074,7 @@ ENCODING 34682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 23E0 @@ -420537,7 +460092,7 @@ ENCODING 34683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2100 @@ -420555,7 +460110,7 @@ ENCODING 34684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2340 2100 @@ -420573,7 +460128,7 @@ ENCODING 34685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 27E0 @@ -420591,7 +460146,7 @@ ENCODING 34686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 2240 @@ -420609,7 +460164,7 @@ ENCODING 34687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 27C0 @@ -420627,7 +460182,7 @@ ENCODING 34688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93C0 5680 1980 @@ -420645,7 +460200,7 @@ ENCODING 34689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2520 FBE0 @@ -420663,7 +460218,7 @@ ENCODING 34690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 24E0 FEA0 @@ -420681,7 +460236,7 @@ ENCODING 34691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA80 @@ -420699,7 +460254,7 @@ ENCODING 34692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2480 FE80 @@ -420717,7 +460272,7 @@ ENCODING 34693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23E0 2220 @@ -420735,7 +460290,7 @@ ENCODING 34694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -420753,7 +460308,7 @@ ENCODING 34695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2720 2540 @@ -420771,7 +460326,7 @@ ENCODING 34696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 25E0 @@ -420789,7 +460344,7 @@ ENCODING 34697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2520 FA40 @@ -420807,7 +460362,7 @@ ENCODING 34698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 27E0 2280 @@ -420825,7 +460380,7 @@ ENCODING 34699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 26E0 24A0 @@ -420843,7 +460398,7 @@ ENCODING 34700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 7940 6A60 @@ -420861,7 +460416,7 @@ ENCODING 34701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 0080 7BE0 @@ -420879,7 +460434,7 @@ ENCODING 34702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2000 23C0 @@ -420897,7 +460452,7 @@ ENCODING 34703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 2400 @@ -420915,7 +460470,7 @@ ENCODING 34704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -420933,7 +460488,7 @@ ENCODING 34705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -420951,7 +460506,7 @@ ENCODING 34706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 2220 @@ -420969,7 +460524,7 @@ ENCODING 34707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 27C0 @@ -420987,7 +460542,7 @@ ENCODING 34708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 28E0 F880 @@ -421005,7 +460560,7 @@ ENCODING 34709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FC0 FAC0 @@ -421023,7 +460578,7 @@ ENCODING 34710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FB40 @@ -421041,7 +460596,7 @@ ENCODING 34711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2480 @@ -421059,7 +460614,7 @@ ENCODING 34712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 27E0 2000 @@ -421077,7 +460632,7 @@ ENCODING 34713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0E00 @@ -421095,7 +460650,7 @@ ENCODING 34714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 4A20 FBE0 @@ -421113,7 +460668,7 @@ ENCODING 34715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 FCA0 @@ -421131,7 +460686,7 @@ ENCODING 34716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2660 FBC0 @@ -421149,7 +460704,7 @@ ENCODING 34717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 F920 @@ -421167,7 +460722,7 @@ ENCODING 34718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2280 FBE0 @@ -421185,7 +460740,7 @@ ENCODING 34719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2420 FBC0 @@ -421203,7 +460758,7 @@ ENCODING 34720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2280 2FE0 @@ -421221,7 +460776,7 @@ ENCODING 34721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -421239,7 +460794,7 @@ ENCODING 34722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 59C0 9140 @@ -421257,7 +460812,7 @@ ENCODING 34723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA40 A680 BFE0 @@ -421275,7 +460830,7 @@ ENCODING 34724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 53E0 @@ -421293,7 +460848,7 @@ ENCODING 34725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2540 @@ -421311,7 +460866,7 @@ ENCODING 34726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2100 @@ -421329,7 +460884,7 @@ ENCODING 34727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 27C0 F940 @@ -421347,7 +460902,7 @@ ENCODING 34728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 2280 @@ -421365,7 +460920,7 @@ ENCODING 34729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 25E0 2B40 @@ -421383,7 +460938,7 @@ ENCODING 34730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FC40 @@ -421401,7 +460956,7 @@ ENCODING 34731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1140 @@ -421419,7 +460974,7 @@ ENCODING 34732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2280 FFE0 @@ -421437,7 +460992,7 @@ ENCODING 34733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -421455,7 +461010,7 @@ ENCODING 34734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -421473,7 +461028,7 @@ ENCODING 34735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1340 @@ -421491,7 +461046,7 @@ ENCODING 34736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA80 @@ -421509,7 +461064,7 @@ ENCODING 34737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 47E0 7D40 @@ -421527,7 +461082,7 @@ ENCODING 34738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 2AA0 @@ -421545,7 +461100,7 @@ ENCODING 34739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2340 27E0 @@ -421563,7 +461118,7 @@ ENCODING 34740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 C540 @@ -421581,7 +461136,7 @@ ENCODING 34741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2280 2FE0 @@ -421599,7 +461154,7 @@ ENCODING 34742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 7F80 @@ -421617,7 +461172,7 @@ ENCODING 34743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -421635,7 +461190,7 @@ ENCODING 34744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 B5E0 4AA0 @@ -421653,7 +461208,7 @@ ENCODING 34745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 2F80 F280 @@ -421671,7 +461226,7 @@ ENCODING 34746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 24A0 27E0 @@ -421689,7 +461244,7 @@ ENCODING 34747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 23E0 26A0 @@ -421707,7 +461262,7 @@ ENCODING 34748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 2280 @@ -421725,7 +461280,7 @@ ENCODING 34749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 7900 0F00 @@ -421743,7 +461298,7 @@ ENCODING 34750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2420 @@ -421761,7 +461316,7 @@ ENCODING 34751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 7A80 1480 @@ -421779,7 +461334,7 @@ ENCODING 34752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2120 @@ -421797,7 +461352,7 @@ ENCODING 34753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 7FE0 @@ -421815,7 +461370,7 @@ ENCODING 34754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 2440 @@ -421833,7 +461388,7 @@ ENCODING 34755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -421851,7 +461406,7 @@ ENCODING 34756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27C0 FD40 @@ -421869,7 +461424,7 @@ ENCODING 34757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA40 @@ -421887,7 +461442,7 @@ ENCODING 34758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 2280 @@ -421905,7 +461460,7 @@ ENCODING 34759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2A80 @@ -421923,7 +461478,7 @@ ENCODING 34760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2960 FFE0 @@ -421941,7 +461496,7 @@ ENCODING 34761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 25A0 @@ -421959,7 +461514,7 @@ ENCODING 34762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0500 FFE0 @@ -421977,7 +461532,7 @@ ENCODING 34763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2720 2520 @@ -421995,7 +461550,7 @@ ENCODING 34764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 F920 @@ -422013,7 +461568,7 @@ ENCODING 34765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2720 2220 27A0 @@ -422031,7 +461586,7 @@ ENCODING 34766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 27E0 2440 @@ -422049,7 +461604,7 @@ ENCODING 34767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 2540 @@ -422067,7 +461622,7 @@ ENCODING 34768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 2FE0 @@ -422085,7 +461640,7 @@ ENCODING 34769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2240 @@ -422103,7 +461658,7 @@ ENCODING 34770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 2280 @@ -422121,7 +461676,7 @@ ENCODING 34771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFE0 @@ -422139,7 +461694,7 @@ ENCODING 34772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 22A0 23E0 @@ -422157,7 +461712,7 @@ ENCODING 34773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2BE0 2A80 @@ -422175,7 +461730,7 @@ ENCODING 34774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A60 2A80 2F80 @@ -422193,7 +461748,7 @@ ENCODING 34775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4440 FFE0 @@ -422211,7 +461766,7 @@ ENCODING 34776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 22E0 FF80 @@ -422229,7 +461784,7 @@ ENCODING 34777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FC0 F5A0 @@ -422247,7 +461802,7 @@ ENCODING 34778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 FF20 44C0 @@ -422265,7 +461820,7 @@ ENCODING 34779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FA0 FA40 @@ -422283,7 +461838,7 @@ ENCODING 34780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2100 FFE0 @@ -422301,7 +461856,7 @@ ENCODING 34781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2280 FDE0 @@ -422319,7 +461874,7 @@ ENCODING 34782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FDE0 A740 @@ -422337,7 +461892,7 @@ ENCODING 34783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FD20 @@ -422355,7 +461910,7 @@ ENCODING 34784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 27A0 FAA0 @@ -422373,7 +461928,7 @@ ENCODING 34785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2F20 F940 @@ -422391,7 +461946,7 @@ ENCODING 34786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 F900 @@ -422409,7 +461964,7 @@ ENCODING 34787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2BA0 2540 @@ -422427,7 +461982,7 @@ ENCODING 34788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -422445,7 +462000,7 @@ ENCODING 34789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 2140 @@ -422463,7 +462018,7 @@ ENCODING 34790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 2540 @@ -422481,7 +462036,7 @@ ENCODING 34791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 25E0 2540 @@ -422499,7 +462054,7 @@ ENCODING 34792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A900 FDE0 @@ -422517,7 +462072,7 @@ ENCODING 34793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2840 @@ -422535,7 +462090,7 @@ ENCODING 34794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 22A0 @@ -422553,7 +462108,7 @@ ENCODING 34795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2280 FFE0 @@ -422571,7 +462126,7 @@ ENCODING 34796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 25A0 27E0 @@ -422589,7 +462144,7 @@ ENCODING 34797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 23E0 @@ -422607,7 +462162,7 @@ ENCODING 34798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 27E0 2080 @@ -422625,7 +462180,7 @@ ENCODING 34799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2100 @@ -422643,7 +462198,7 @@ ENCODING 34800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2140 @@ -422661,7 +462216,7 @@ ENCODING 34801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2400 27E0 @@ -422679,7 +462234,7 @@ ENCODING 34802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -422697,7 +462252,7 @@ ENCODING 34803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2020 FFE0 @@ -422715,7 +462270,7 @@ ENCODING 34804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4A00 7BE0 @@ -422733,7 +462288,7 @@ ENCODING 34805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 2840 @@ -422751,7 +462306,7 @@ ENCODING 34806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F00 2AE0 FEA0 @@ -422769,7 +462324,7 @@ ENCODING 34807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 FFE0 @@ -422787,7 +462342,7 @@ ENCODING 34808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2880 D900 @@ -422805,7 +462360,7 @@ ENCODING 34809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 4920 FD60 @@ -422823,7 +462378,7 @@ ENCODING 34810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -422841,7 +462396,7 @@ ENCODING 34811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 F900 @@ -422859,7 +462414,7 @@ ENCODING 34812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 7F40 @@ -422877,7 +462432,7 @@ ENCODING 34813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 25E0 2280 @@ -422895,7 +462450,7 @@ ENCODING 34814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 FFE0 @@ -422913,7 +462468,7 @@ ENCODING 34815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 A940 FA60 @@ -422931,7 +462486,7 @@ ENCODING 34816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 25E0 FAA0 @@ -422949,7 +462504,7 @@ ENCODING 34817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 AAA0 5EC0 @@ -422967,7 +462522,7 @@ ENCODING 34818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 F540 @@ -422985,7 +462540,7 @@ ENCODING 34819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4000 7F80 @@ -423003,7 +462558,7 @@ ENCODING 34820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 2540 @@ -423021,7 +462576,7 @@ ENCODING 34821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FEE0 @@ -423039,7 +462594,7 @@ ENCODING 34822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 7FC0 @@ -423057,7 +462612,7 @@ ENCODING 34823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 F900 @@ -423075,7 +462630,7 @@ ENCODING 34824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F140 9FE0 F4A0 @@ -423093,7 +462648,7 @@ ENCODING 34825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -423111,7 +462666,7 @@ ENCODING 34826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FA40 @@ -423129,7 +462684,7 @@ ENCODING 34827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 2FE0 @@ -423147,7 +462702,7 @@ ENCODING 34828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2AA0 FFE0 @@ -423165,7 +462720,7 @@ ENCODING 34829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F00 2980 FFE0 @@ -423183,7 +462738,7 @@ ENCODING 34830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 2FE0 2100 @@ -423201,7 +462756,7 @@ ENCODING 34831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 4FE0 F2A0 @@ -423219,7 +462774,7 @@ ENCODING 34832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -423237,7 +462792,7 @@ ENCODING 34833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2560 FD40 @@ -423255,7 +462810,7 @@ ENCODING 34834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 FFE0 @@ -423273,7 +462828,7 @@ ENCODING 34835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FA80 @@ -423291,7 +462846,7 @@ ENCODING 34836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FA40 @@ -423309,7 +462864,7 @@ ENCODING 34837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 27E0 @@ -423327,7 +462882,7 @@ ENCODING 34838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -423345,7 +462900,7 @@ ENCODING 34839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 25A0 FB60 @@ -423363,7 +462918,7 @@ ENCODING 34840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27C0 FAA0 @@ -423381,7 +462936,7 @@ ENCODING 34841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 FC20 @@ -423399,7 +462954,7 @@ ENCODING 34842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -423417,7 +462972,7 @@ ENCODING 34843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 27E0 FA80 @@ -423435,7 +462990,7 @@ ENCODING 34844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 F5E0 4A40 @@ -423453,7 +463008,7 @@ ENCODING 34845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 FFC0 @@ -423471,7 +463026,7 @@ ENCODING 34846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 9480 79E0 @@ -423489,7 +463044,7 @@ ENCODING 34847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 2540 FAA0 @@ -423507,7 +463062,7 @@ ENCODING 34848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 7FC0 @@ -423525,7 +463080,7 @@ ENCODING 34849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 1100 FFE0 @@ -423543,7 +463098,7 @@ ENCODING 34850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -423561,7 +463116,7 @@ ENCODING 34851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2A40 FFE0 @@ -423579,7 +463134,7 @@ ENCODING 34852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 4A40 @@ -423597,7 +463152,7 @@ ENCODING 34853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AFE0 FA80 57E0 @@ -423615,7 +463170,7 @@ ENCODING 34854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2100 FFE0 @@ -423633,7 +463188,7 @@ ENCODING 34855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 FFE0 @@ -423651,7 +463206,7 @@ ENCODING 34856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 FA80 @@ -423669,7 +463224,7 @@ ENCODING 34857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 2FE0 F0A0 @@ -423687,7 +463242,7 @@ ENCODING 34858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 2A00 FFE0 @@ -423705,7 +463260,7 @@ ENCODING 34859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1840 6D40 F940 @@ -423723,7 +463278,7 @@ ENCODING 34860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2F80 FAE0 @@ -423741,7 +463296,7 @@ ENCODING 34861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 D880 4700 @@ -423759,7 +463314,7 @@ ENCODING 34862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 28A0 FFE0 @@ -423777,7 +463332,7 @@ ENCODING 34863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A440 BFC0 @@ -423795,7 +463350,7 @@ ENCODING 34864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 FAA0 @@ -423813,7 +463368,7 @@ ENCODING 34865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -423831,7 +463386,7 @@ ENCODING 34866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 2AA0 FFE0 @@ -423849,7 +463404,7 @@ ENCODING 34867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -423867,7 +463422,7 @@ ENCODING 34868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2FE0 2480 @@ -423885,7 +463440,7 @@ ENCODING 34869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 2520 FFE0 @@ -423903,7 +463458,7 @@ ENCODING 34870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A280 FBE0 @@ -423921,7 +463476,7 @@ ENCODING 34871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FEE0 @@ -423939,7 +463494,7 @@ ENCODING 34872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2240 FEE0 @@ -423957,7 +463512,7 @@ ENCODING 34873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 FFE0 @@ -423975,7 +463530,7 @@ ENCODING 34874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2080 FFE0 @@ -423993,7 +463548,7 @@ ENCODING 34875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 EEE0 4040 @@ -424011,7 +463566,7 @@ ENCODING 34876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 FAA0 @@ -424029,7 +463584,7 @@ ENCODING 34877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6940 A520 3FE0 @@ -424047,7 +463602,7 @@ ENCODING 34878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2820 FFE0 @@ -424065,7 +463620,7 @@ ENCODING 34879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5520 2AA0 FFE0 @@ -424083,7 +463638,7 @@ ENCODING 34880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1000 7FC0 @@ -424101,7 +463656,7 @@ ENCODING 34881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 2000 @@ -424119,7 +463674,7 @@ ENCODING 34882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 47E0 F920 @@ -424137,7 +463692,7 @@ ENCODING 34883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4080 F880 @@ -424155,7 +463710,7 @@ ENCODING 34884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4140 F940 @@ -424173,7 +463728,7 @@ ENCODING 34885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 44A0 FAC0 @@ -424191,7 +463746,7 @@ ENCODING 34886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3FC0 2A40 @@ -424209,7 +463764,7 @@ ENCODING 34887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 4700 FCC0 @@ -424227,7 +463782,7 @@ ENCODING 34888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 4240 FA40 @@ -424245,7 +463800,7 @@ ENCODING 34889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 4200 FBC0 @@ -424263,7 +463818,7 @@ ENCODING 34890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 47E0 FA80 @@ -424281,7 +463836,7 @@ ENCODING 34891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 7FE0 0440 @@ -424299,7 +463854,7 @@ ENCODING 34892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 4000 8000 @@ -424317,7 +463872,7 @@ ENCODING 34893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 25E0 4000 @@ -424335,7 +463890,7 @@ ENCODING 34894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 4E00 8400 @@ -424353,7 +463908,7 @@ ENCODING 34895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 4000 @@ -424371,7 +463926,7 @@ ENCODING 34896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 4800 @@ -424389,7 +463944,7 @@ ENCODING 34897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 29E0 5400 @@ -424407,7 +463962,7 @@ ENCODING 34898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 2200 4F00 @@ -424425,7 +463980,7 @@ ENCODING 34899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 4DE0 8A00 @@ -424443,7 +463998,7 @@ ENCODING 34900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 4E00 B000 @@ -424461,7 +464016,7 @@ ENCODING 34901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 5F00 9100 @@ -424479,7 +464034,7 @@ ENCODING 34902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AE0 4A00 9F00 @@ -424497,7 +464052,7 @@ ENCODING 34903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 5E00 8400 @@ -424515,7 +464070,7 @@ ENCODING 34904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2EE0 5400 @@ -424533,7 +464088,7 @@ ENCODING 34905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 4400 9E00 @@ -424551,7 +464106,7 @@ ENCODING 34906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 5500 9500 @@ -424569,7 +464124,7 @@ ENCODING 34907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28E0 5E00 8A00 @@ -424587,7 +464142,7 @@ ENCODING 34908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 4CE0 BE00 @@ -424605,7 +464160,7 @@ ENCODING 34909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 4400 9F00 @@ -424623,7 +464178,7 @@ ENCODING 34910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3FE0 4500 @@ -424641,7 +464196,7 @@ ENCODING 34911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A00 34E0 4A00 @@ -424659,7 +464214,7 @@ ENCODING 34912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3EE0 4800 @@ -424677,7 +464232,7 @@ ENCODING 34913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5400 9F00 @@ -424695,7 +464250,7 @@ ENCODING 34914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 5500 9F00 @@ -424713,7 +464268,7 @@ ENCODING 34915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0200 FFE0 @@ -424730,26 +464285,26 @@ STARTCHAR U_8864 ENCODING 34916 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -0400 -1F00 -0200 -0500 -0E00 -1500 -0500 -0400 -0400 -0400 +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 +BITMAP 4100 2100 F900 @@ -424767,7 +464322,7 @@ ENCODING 34918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 F900 @@ -424785,7 +464340,7 @@ ENCODING 34919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2080 F880 @@ -424803,7 +464358,7 @@ ENCODING 34920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -424821,7 +464376,7 @@ ENCODING 34921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2FE0 FD40 @@ -424839,7 +464394,7 @@ ENCODING 34922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 FAA0 @@ -424857,7 +464412,7 @@ ENCODING 34923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2080 FB00 @@ -424875,7 +464430,7 @@ ENCODING 34924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2040 FFE0 @@ -424893,7 +464448,7 @@ ENCODING 34925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -424911,7 +464466,7 @@ ENCODING 34926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -424929,7 +464484,7 @@ ENCODING 34927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 F440 @@ -424947,7 +464502,7 @@ ENCODING 34928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3F80 @@ -424965,7 +464520,7 @@ ENCODING 34929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2240 FA80 @@ -424983,7 +464538,7 @@ ENCODING 34930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -425001,7 +464556,7 @@ ENCODING 34931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 F280 @@ -425019,7 +464574,7 @@ ENCODING 34932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -425037,7 +464592,7 @@ ENCODING 34933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23E0 FA20 @@ -425055,7 +464610,7 @@ ENCODING 34934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -425073,7 +464628,7 @@ ENCODING 34935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -425091,7 +464646,7 @@ ENCODING 34936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F280 @@ -425109,7 +464664,7 @@ ENCODING 34937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 27C0 FC80 @@ -425127,7 +464682,7 @@ ENCODING 34938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -425145,7 +464700,7 @@ ENCODING 34939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 FC40 @@ -425163,7 +464718,7 @@ ENCODING 34940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -425181,7 +464736,7 @@ ENCODING 34941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 27C0 F900 @@ -425199,7 +464754,7 @@ ENCODING 34942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1500 2480 @@ -425217,7 +464772,7 @@ ENCODING 34943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -425235,7 +464790,7 @@ ENCODING 34944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -425253,7 +464808,7 @@ ENCODING 34945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -425271,7 +464826,7 @@ ENCODING 34946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -425289,7 +464844,7 @@ ENCODING 34947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 F920 4120 @@ -425307,7 +464862,7 @@ ENCODING 34948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F900 @@ -425325,7 +464880,7 @@ ENCODING 34949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7F80 4880 @@ -425343,7 +464898,7 @@ ENCODING 34950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -425361,7 +464916,7 @@ ENCODING 34951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 F640 @@ -425379,7 +464934,7 @@ ENCODING 34952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2A40 @@ -425397,7 +464952,7 @@ ENCODING 34953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FFE0 @@ -425415,7 +464970,7 @@ ENCODING 34954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F280 @@ -425433,7 +464988,7 @@ ENCODING 34955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2240 7FE0 @@ -425451,7 +465006,7 @@ ENCODING 34956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -425469,7 +465024,7 @@ ENCODING 34957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC20 @@ -425487,7 +465042,7 @@ ENCODING 34958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2480 F5E0 @@ -425505,7 +465060,7 @@ ENCODING 34959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F7E0 @@ -425523,7 +465078,7 @@ ENCODING 34960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F2A0 @@ -425541,7 +465096,7 @@ ENCODING 34961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2120 F920 @@ -425559,7 +465114,7 @@ ENCODING 34962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -425577,7 +465132,7 @@ ENCODING 34963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FA40 @@ -425595,7 +465150,7 @@ ENCODING 34964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F040 @@ -425613,7 +465168,7 @@ ENCODING 34965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FFE0 @@ -425631,7 +465186,7 @@ ENCODING 34966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -425649,7 +465204,7 @@ ENCODING 34967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 FC40 @@ -425667,7 +465222,7 @@ ENCODING 34968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC80 @@ -425685,7 +465240,7 @@ ENCODING 34969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 2100 FBE0 @@ -425703,7 +465258,7 @@ ENCODING 34970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2240 FFE0 @@ -425721,7 +465276,7 @@ ENCODING 34971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4460 2780 FC80 @@ -425739,7 +465294,7 @@ ENCODING 34972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -425757,7 +465312,7 @@ ENCODING 34973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2240 F440 @@ -425775,7 +465330,7 @@ ENCODING 34974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -425793,7 +465348,7 @@ ENCODING 34975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 FFC0 @@ -425811,7 +465366,7 @@ ENCODING 34976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2400 @@ -425829,7 +465384,7 @@ ENCODING 34977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -425847,7 +465402,7 @@ ENCODING 34978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2520 FB40 @@ -425865,7 +465420,7 @@ ENCODING 34979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2540 F540 @@ -425883,7 +465438,7 @@ ENCODING 34980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -425901,7 +465456,7 @@ ENCODING 34981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F200 @@ -425919,7 +465474,7 @@ ENCODING 34982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F520 @@ -425937,7 +465492,7 @@ ENCODING 34983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FC20 @@ -425955,7 +465510,7 @@ ENCODING 34984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2100 FFE0 @@ -425973,7 +465528,7 @@ ENCODING 34985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F1E0 @@ -425991,7 +465546,7 @@ ENCODING 34986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -426009,7 +465564,7 @@ ENCODING 34987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -426027,7 +465582,7 @@ ENCODING 34988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -426045,7 +465600,7 @@ ENCODING 34989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 FFE0 0A80 @@ -426063,7 +465618,7 @@ ENCODING 34990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 F7E0 @@ -426081,7 +465636,7 @@ ENCODING 34991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 F520 @@ -426099,7 +465654,7 @@ ENCODING 34992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2440 FFE0 @@ -426117,7 +465672,7 @@ ENCODING 34993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 22C0 F4A0 @@ -426135,7 +465690,7 @@ ENCODING 34994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3100 @@ -426153,7 +465708,7 @@ ENCODING 34995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23E0 F220 @@ -426171,7 +465726,7 @@ ENCODING 34996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F280 @@ -426189,7 +465744,7 @@ ENCODING 34997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2260 F380 @@ -426207,7 +465762,7 @@ ENCODING 34998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FE40 @@ -426225,7 +465780,7 @@ ENCODING 34999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2180 FA40 @@ -426243,7 +465798,7 @@ ENCODING 35000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27E0 FA00 @@ -426261,7 +465816,7 @@ ENCODING 35001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2080 F900 @@ -426279,7 +465834,7 @@ ENCODING 35002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 FFE0 @@ -426297,7 +465852,7 @@ ENCODING 35003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 F200 @@ -426315,7 +465870,7 @@ ENCODING 35004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 F440 @@ -426333,7 +465888,7 @@ ENCODING 35005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 24E0 FFA0 @@ -426351,7 +465906,7 @@ ENCODING 35006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 FFC0 @@ -426369,7 +465924,7 @@ ENCODING 35007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F7C0 @@ -426387,7 +465942,7 @@ ENCODING 35008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 FD20 @@ -426405,7 +465960,7 @@ ENCODING 35009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D40 1120 @@ -426423,7 +465978,7 @@ ENCODING 35010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC20 2120 7D20 @@ -426441,7 +465996,7 @@ ENCODING 35011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 F200 @@ -426459,7 +466014,7 @@ ENCODING 35012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 22E0 F400 @@ -426477,7 +466032,7 @@ ENCODING 35013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 9FE0 5100 @@ -426495,7 +466050,7 @@ ENCODING 35014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2520 FD40 @@ -426513,7 +466068,7 @@ ENCODING 35015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 FFE0 @@ -426531,7 +466086,7 @@ ENCODING 35016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 F900 @@ -426549,7 +466104,7 @@ ENCODING 35017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -426567,7 +466122,7 @@ ENCODING 35018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 3F00 2100 @@ -426585,7 +466140,7 @@ ENCODING 35019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F800 @@ -426603,7 +466158,7 @@ ENCODING 35020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -426621,7 +466176,7 @@ ENCODING 35021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 FCA0 @@ -426639,7 +466194,7 @@ ENCODING 35022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FC40 @@ -426657,7 +466212,7 @@ ENCODING 35023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -426675,7 +466230,7 @@ ENCODING 35024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 F7E0 @@ -426693,7 +466248,7 @@ ENCODING 35025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 FC40 @@ -426711,7 +466266,7 @@ ENCODING 35026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -426729,7 +466284,7 @@ ENCODING 35027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 20A0 FFE0 @@ -426747,7 +466302,7 @@ ENCODING 35028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1240 @@ -426765,7 +466320,7 @@ ENCODING 35029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2240 F420 @@ -426783,7 +466338,7 @@ ENCODING 35030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 F7C0 @@ -426801,7 +466356,7 @@ ENCODING 35031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F200 @@ -426819,7 +466374,7 @@ ENCODING 35032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 2480 @@ -426837,7 +466392,7 @@ ENCODING 35033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2240 FFE0 @@ -426855,7 +466410,7 @@ ENCODING 35034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC00 27E0 @@ -426873,7 +466428,7 @@ ENCODING 35035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -426891,7 +466446,7 @@ ENCODING 35036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 27E0 F900 @@ -426909,7 +466464,7 @@ ENCODING 35037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7FE0 1100 @@ -426927,7 +466482,7 @@ ENCODING 35038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFC0 @@ -426945,7 +466500,7 @@ ENCODING 35039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 8920 @@ -426963,7 +466518,7 @@ ENCODING 35040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0880 FFE0 @@ -426981,7 +466536,7 @@ ENCODING 35041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 FD40 @@ -426999,7 +466554,7 @@ ENCODING 35042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 4880 E3E0 @@ -427017,7 +466572,7 @@ ENCODING 35043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F280 @@ -427035,7 +466590,7 @@ ENCODING 35044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F900 @@ -427053,7 +466608,7 @@ ENCODING 35045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8800 45E0 E820 @@ -427071,7 +466626,7 @@ ENCODING 35046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3280 @@ -427089,7 +466644,7 @@ ENCODING 35047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4520 F540 @@ -427107,7 +466662,7 @@ ENCODING 35048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 FD20 @@ -427125,7 +466680,7 @@ ENCODING 35049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -427143,7 +466698,7 @@ ENCODING 35050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FE0 F420 @@ -427161,7 +466716,7 @@ ENCODING 35051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AA0 4AA0 FAA0 @@ -427179,7 +466734,7 @@ ENCODING 35052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -427197,7 +466752,7 @@ ENCODING 35053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 FFE0 @@ -427215,7 +466770,7 @@ ENCODING 35054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FBC0 @@ -427233,7 +466788,7 @@ ENCODING 35055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4920 FBA0 @@ -427251,7 +466806,7 @@ ENCODING 35056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 29A0 F540 @@ -427269,7 +466824,7 @@ ENCODING 35057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F100 @@ -427287,7 +466842,7 @@ ENCODING 35058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 F100 @@ -427305,7 +466860,7 @@ ENCODING 35059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FE0 @@ -427323,7 +466878,7 @@ ENCODING 35060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A00 7BC0 @@ -427341,7 +466896,7 @@ ENCODING 35061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A00 @@ -427359,7 +466914,7 @@ ENCODING 35062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 FEE0 @@ -427377,7 +466932,7 @@ ENCODING 35063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 FFE0 @@ -427395,7 +466950,7 @@ ENCODING 35064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 FFC0 @@ -427413,7 +466968,7 @@ ENCODING 35065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -427431,7 +466986,7 @@ ENCODING 35066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 FA80 @@ -427449,7 +467004,7 @@ ENCODING 35067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 13E0 FD40 @@ -427467,7 +467022,7 @@ ENCODING 35068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -427485,7 +467040,7 @@ ENCODING 35069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5020 7D20 9120 @@ -427503,7 +467058,7 @@ ENCODING 35070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 FFE0 @@ -427521,7 +467076,7 @@ ENCODING 35071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F900 @@ -427539,7 +467094,7 @@ ENCODING 35072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 27E0 FA40 @@ -427557,7 +467112,7 @@ ENCODING 35073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -427575,7 +467130,7 @@ ENCODING 35074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2F80 F280 @@ -427593,7 +467148,7 @@ ENCODING 35075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 25C0 F500 @@ -427611,7 +467166,7 @@ ENCODING 35076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F140 @@ -427629,7 +467184,7 @@ ENCODING 35077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F440 @@ -427647,7 +467202,7 @@ ENCODING 35078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -427665,7 +467220,7 @@ ENCODING 35079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 F800 @@ -427683,7 +467238,7 @@ ENCODING 35080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 FFE0 @@ -427701,7 +467256,7 @@ ENCODING 35081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4FE0 F4A0 @@ -427719,7 +467274,7 @@ ENCODING 35082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F820 @@ -427737,7 +467292,7 @@ ENCODING 35083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 27E0 FD40 @@ -427755,7 +467310,7 @@ ENCODING 35084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 F7C0 @@ -427773,7 +467328,7 @@ ENCODING 35085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 FD40 @@ -427791,7 +467346,7 @@ ENCODING 35086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2100 @@ -427809,7 +467364,7 @@ ENCODING 35087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 3100 @@ -427827,7 +467382,7 @@ ENCODING 35088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -427845,7 +467400,7 @@ ENCODING 35089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 80C0 4F20 F540 @@ -427863,7 +467418,7 @@ ENCODING 35090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1440 @@ -427881,7 +467436,7 @@ ENCODING 35091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 F540 @@ -427899,7 +467454,7 @@ ENCODING 35092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2000 FBC0 @@ -427917,7 +467472,7 @@ ENCODING 35093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8380 4440 FBA0 @@ -427935,7 +467490,7 @@ ENCODING 35094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 83C0 4440 F780 @@ -427953,7 +467508,7 @@ ENCODING 35095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4A40 FBC0 @@ -427971,7 +467526,7 @@ ENCODING 35096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F940 @@ -427989,7 +467544,7 @@ ENCODING 35097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 2EC0 F280 @@ -428007,7 +467562,7 @@ ENCODING 35098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2120 F7C0 @@ -428025,7 +467580,7 @@ ENCODING 35099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 FFE0 @@ -428043,7 +467598,7 @@ ENCODING 35100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7200 57C0 7D40 @@ -428061,7 +467616,7 @@ ENCODING 35101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A20 2540 F7C0 @@ -428079,7 +467634,7 @@ ENCODING 35102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -428097,7 +467652,7 @@ ENCODING 35103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -428115,7 +467670,7 @@ ENCODING 35104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 F280 @@ -428133,7 +467688,7 @@ ENCODING 35105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 F280 @@ -428151,7 +467706,7 @@ ENCODING 35106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -428169,7 +467724,7 @@ ENCODING 35107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 FAA0 @@ -428187,7 +467742,7 @@ ENCODING 35108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F100 @@ -428205,7 +467760,7 @@ ENCODING 35109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 25C0 FC00 @@ -428223,7 +467778,7 @@ ENCODING 35110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 84A0 4AC0 FF80 @@ -428241,7 +467796,7 @@ ENCODING 35111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 4AA0 7AC0 @@ -428259,7 +467814,7 @@ ENCODING 35112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFE0 @@ -428277,7 +467832,7 @@ ENCODING 35113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 4C20 @@ -428295,7 +467850,7 @@ ENCODING 35114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93C0 4A40 E3C0 @@ -428313,7 +467868,7 @@ ENCODING 35115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 80E0 4F80 F880 @@ -428331,7 +467886,7 @@ ENCODING 35116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 4240 F180 @@ -428349,7 +467904,7 @@ ENCODING 35117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4400 @@ -428367,7 +467922,7 @@ ENCODING 35118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -428385,7 +467940,7 @@ ENCODING 35119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 FA40 @@ -428403,7 +467958,7 @@ ENCODING 35120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8920 @@ -428421,7 +467976,7 @@ ENCODING 35121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4A40 @@ -428439,7 +467994,7 @@ ENCODING 35122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F880 @@ -428457,7 +468012,7 @@ ENCODING 35123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8080 57E0 EAA0 @@ -428475,7 +468030,7 @@ ENCODING 35124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4A80 EAE0 @@ -428493,7 +468048,7 @@ ENCODING 35125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 FA80 @@ -428511,7 +468066,7 @@ ENCODING 35126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 4220 FAA0 @@ -428529,7 +468084,7 @@ ENCODING 35127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4880 F2E0 @@ -428547,7 +468102,7 @@ ENCODING 35128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 F540 @@ -428565,7 +468120,7 @@ ENCODING 35129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 5D00 EBC0 @@ -428583,7 +468138,7 @@ ENCODING 35130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7780 2280 @@ -428601,7 +468156,7 @@ ENCODING 35131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2100 @@ -428619,7 +468174,7 @@ ENCODING 35132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4280 FFE0 @@ -428637,7 +468192,7 @@ ENCODING 35133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 4440 7FE0 @@ -428655,7 +468210,7 @@ ENCODING 35134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4280 FFE0 @@ -428673,7 +468228,7 @@ ENCODING 35135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 F280 @@ -428691,7 +468246,7 @@ ENCODING 35136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -428709,7 +468264,7 @@ ENCODING 35137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8DE0 4520 F5E0 @@ -428727,7 +468282,7 @@ ENCODING 35138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 47C0 F440 @@ -428745,7 +468300,7 @@ ENCODING 35139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2440 @@ -428763,7 +468318,7 @@ ENCODING 35140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4A40 @@ -428781,7 +468336,7 @@ ENCODING 35141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 FFE0 @@ -428799,7 +468354,7 @@ ENCODING 35142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AA0 46C0 FFE0 @@ -428817,7 +468372,7 @@ ENCODING 35143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 FEE0 @@ -428835,7 +468390,7 @@ ENCODING 35144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2B40 FFC0 @@ -428853,7 +468408,7 @@ ENCODING 35145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 4AA0 EEE0 @@ -428871,7 +468426,7 @@ ENCODING 35146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F7C0 @@ -428889,7 +468444,7 @@ ENCODING 35147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5FE0 E480 @@ -428907,7 +468462,7 @@ ENCODING 35148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 FFE0 @@ -428925,7 +468480,7 @@ ENCODING 35149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 27C0 FD00 @@ -428943,7 +468498,7 @@ ENCODING 35150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F40 FA80 @@ -428961,7 +468516,7 @@ ENCODING 35151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F40 4A80 E4A0 @@ -428979,7 +468534,7 @@ ENCODING 35152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 83C0 4480 FFE0 @@ -428997,7 +468552,7 @@ ENCODING 35153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4040 F7C0 @@ -429015,7 +468570,7 @@ ENCODING 35154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9540 4E40 E440 @@ -429033,7 +468588,7 @@ ENCODING 35155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 E100 @@ -429051,7 +468606,7 @@ ENCODING 35156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 F240 @@ -429069,7 +468624,7 @@ ENCODING 35157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 23E0 F920 @@ -429087,7 +468642,7 @@ ENCODING 35158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4FC0 ED40 @@ -429105,7 +468660,7 @@ ENCODING 35159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 FFE0 @@ -429123,7 +468678,7 @@ ENCODING 35160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2440 FBA0 @@ -429141,7 +468696,7 @@ ENCODING 35161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 4440 F7C0 @@ -429159,7 +468714,7 @@ ENCODING 35162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9440 4A80 E7E0 @@ -429177,7 +468732,7 @@ ENCODING 35163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4FE0 EAA0 @@ -429195,7 +468750,7 @@ ENCODING 35164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2440 F7E0 @@ -429213,7 +468768,7 @@ ENCODING 35165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8300 4480 E840 @@ -429231,7 +468786,7 @@ ENCODING 35166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -429249,7 +468804,7 @@ ENCODING 35167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 4FE0 E440 @@ -429267,7 +468822,7 @@ ENCODING 35168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 FFE0 @@ -429285,7 +468840,7 @@ ENCODING 35169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5540 FFC0 @@ -429303,7 +468858,7 @@ ENCODING 35170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 FBA0 @@ -429321,7 +468876,7 @@ ENCODING 35171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 F440 @@ -429339,7 +468894,7 @@ ENCODING 35172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8F80 4A80 FEE0 @@ -429357,7 +468912,7 @@ ENCODING 35173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 2EC0 EFE0 @@ -429375,7 +468930,7 @@ ENCODING 35174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4100 EFE0 @@ -429393,7 +468948,7 @@ ENCODING 35175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 F920 @@ -429411,7 +468966,7 @@ ENCODING 35176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAA0 5B20 EA20 @@ -429429,7 +468984,7 @@ ENCODING 35177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F100 @@ -429447,7 +469002,7 @@ ENCODING 35178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4FE0 F280 @@ -429465,7 +469020,7 @@ ENCODING 35179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4FE0 F540 @@ -429483,7 +469038,7 @@ ENCODING 35180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4AA0 FFE0 @@ -429501,7 +469056,7 @@ ENCODING 35181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 85E0 4E80 F5E0 @@ -429519,7 +469074,7 @@ ENCODING 35182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 4440 F7C0 @@ -429537,7 +469092,7 @@ ENCODING 35183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 85E0 4F20 EBE0 @@ -429555,7 +469110,7 @@ ENCODING 35184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 5EE0 E540 @@ -429573,7 +469128,7 @@ ENCODING 35185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 84E0 4E80 FAE0 @@ -429591,7 +469146,7 @@ ENCODING 35186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE00 53E0 @@ -429609,7 +469164,7 @@ ENCODING 35187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AC0 55A0 FFE0 @@ -429627,7 +469182,7 @@ ENCODING 35188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8EE0 4AA0 EEE0 @@ -429645,7 +469200,7 @@ ENCODING 35189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 22C0 F340 @@ -429663,7 +469218,7 @@ ENCODING 35190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 22A0 FFE0 @@ -429681,7 +469236,7 @@ ENCODING 35191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4600 2B60 FA20 @@ -429699,7 +469254,7 @@ ENCODING 35192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 F540 @@ -429717,7 +469272,7 @@ ENCODING 35193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4000 FFE0 @@ -429735,7 +469290,7 @@ ENCODING 35194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8280 4FE0 F280 @@ -429753,7 +469308,7 @@ ENCODING 35195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AC0 5D60 EAC0 @@ -429771,7 +469326,7 @@ ENCODING 35196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4480 FFE0 @@ -429789,7 +469344,7 @@ ENCODING 35197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 FAA0 @@ -429807,7 +469362,7 @@ ENCODING 35198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 0900 @@ -429824,9 +469379,8 @@ STARTCHAR U_897F ENCODING 35199 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0A00 7FC0 @@ -429842,26 +469396,20 @@ STARTCHAR U_8980 ENCODING 35200 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 5 0 4 +BITMAP FFE0 0A00 7FC0 4A40 7FC0 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_8981 ENCODING 35201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -429879,7 +469427,7 @@ ENCODING 35202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -429897,7 +469445,7 @@ ENCODING 35203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -429915,7 +469463,7 @@ ENCODING 35204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -429933,7 +469481,7 @@ ENCODING 35205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 2900 FFE0 @@ -429951,7 +469499,7 @@ ENCODING 35206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -429969,7 +469517,7 @@ ENCODING 35207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A40 7FC0 @@ -429987,7 +469535,7 @@ ENCODING 35208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A40 7FC0 @@ -430005,7 +469553,7 @@ ENCODING 35209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A40 7FC0 @@ -430023,7 +469571,7 @@ ENCODING 35210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4A40 7FC0 @@ -430041,7 +469589,7 @@ ENCODING 35211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -430059,7 +469607,7 @@ ENCODING 35212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 17C0 @@ -430077,7 +469625,7 @@ ENCODING 35213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 4440 BFA0 @@ -430095,7 +469643,7 @@ ENCODING 35214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8840 F880 @@ -430113,7 +469661,7 @@ ENCODING 35215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -430131,7 +469679,7 @@ ENCODING 35216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E40 4540 7C80 @@ -430149,7 +469697,7 @@ ENCODING 35217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 5440 57C0 @@ -430167,7 +469715,7 @@ ENCODING 35218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 E440 3FC0 @@ -430185,7 +469733,7 @@ ENCODING 35219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 FE40 4480 @@ -430203,7 +469751,7 @@ ENCODING 35220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 0E00 3580 @@ -430221,7 +469769,7 @@ ENCODING 35221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 1A20 2BE0 @@ -430239,7 +469787,7 @@ ENCODING 35222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -430257,7 +469805,7 @@ ENCODING 35223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A20 EBE0 @@ -430275,7 +469823,7 @@ ENCODING 35224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7FC0 @@ -430293,7 +469841,7 @@ ENCODING 35225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7E40 4BC0 @@ -430311,7 +469859,7 @@ ENCODING 35226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 7FE0 @@ -430329,7 +469877,7 @@ ENCODING 35227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 E220 8BE0 @@ -430347,7 +469895,7 @@ ENCODING 35228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 AA20 6FE0 @@ -430365,7 +469913,7 @@ ENCODING 35229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2220 FFE0 @@ -430383,7 +469931,7 @@ ENCODING 35230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -430401,7 +469949,7 @@ ENCODING 35231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 FFE0 @@ -430419,7 +469967,7 @@ ENCODING 35232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 2A40 FFC0 @@ -430437,7 +469985,7 @@ ENCODING 35233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 1120 55E0 @@ -430455,7 +470003,7 @@ ENCODING 35234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 B240 A3C0 @@ -430473,7 +470021,7 @@ ENCODING 35235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 FBC0 @@ -430491,7 +470039,7 @@ ENCODING 35236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DE0 1120 7DE0 @@ -430509,7 +470057,7 @@ ENCODING 35237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 2A40 FFC0 @@ -430527,7 +470075,7 @@ ENCODING 35238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 31E0 4920 B5E0 @@ -430544,26 +470092,26 @@ STARTCHAR U_89A7 ENCODING 35239 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7D00 -51E0 -7900 -4A80 -7F40 -5100 -7F00 -1100 -1F00 -0A40 -73C0 +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 +BITMAP FFC0 B640 FFC0 @@ -430581,7 +470129,7 @@ ENCODING 35241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7E40 2BC0 @@ -430599,7 +470147,7 @@ ENCODING 35242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FE20 4BE0 @@ -430617,7 +470165,7 @@ ENCODING 35243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 7E40 2BC0 @@ -430635,7 +470183,7 @@ ENCODING 35244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 FA20 03E0 @@ -430653,7 +470201,7 @@ ENCODING 35245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8620 7BE0 @@ -430671,7 +470219,7 @@ ENCODING 35246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 5AC0 1080 @@ -430689,7 +470237,7 @@ ENCODING 35247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FE20 53E0 @@ -430707,7 +470255,7 @@ ENCODING 35248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C00 13C0 7E40 @@ -430725,7 +470273,7 @@ ENCODING 35249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE00 ABE0 @@ -430743,7 +470291,7 @@ ENCODING 35250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FE20 53E0 @@ -430761,7 +470309,7 @@ ENCODING 35251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 9240 @@ -430779,7 +470327,7 @@ ENCODING 35252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EBC0 AE40 47C0 @@ -430797,7 +470345,7 @@ ENCODING 35253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 EEE0 @@ -430815,7 +470363,7 @@ ENCODING 35254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 F520 A9E0 @@ -430833,7 +470381,7 @@ ENCODING 35255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 39E0 2120 FDE0 @@ -430851,7 +470399,7 @@ ENCODING 35256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 EEE0 @@ -430869,7 +470417,7 @@ ENCODING 35257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 BA80 EFE0 @@ -430887,7 +470435,7 @@ ENCODING 35258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -430905,7 +470453,7 @@ ENCODING 35259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 1240 7FC0 @@ -430923,7 +470471,7 @@ ENCODING 35260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 54A0 92E0 @@ -430941,7 +470489,7 @@ ENCODING 35261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE00 A3E0 FC80 @@ -430959,7 +470507,7 @@ ENCODING 35262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 55E0 @@ -430977,7 +470525,7 @@ ENCODING 35263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 11E0 @@ -430995,7 +470543,7 @@ ENCODING 35264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2A20 EFE0 @@ -431013,7 +470561,7 @@ ENCODING 35265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2480 @@ -431031,7 +470579,7 @@ ENCODING 35266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 F440 1540 @@ -431049,7 +470597,7 @@ ENCODING 35267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4440 5480 @@ -431067,7 +470615,7 @@ ENCODING 35268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FD40 @@ -431085,7 +470633,7 @@ ENCODING 35269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C40 2480 @@ -431103,7 +470651,7 @@ ENCODING 35270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 F540 @@ -431121,7 +470669,7 @@ ENCODING 35271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7540 @@ -431139,7 +470687,7 @@ ENCODING 35272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 53E0 5480 @@ -431157,7 +470705,7 @@ ENCODING 35273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 1280 7FE0 @@ -431175,7 +470723,7 @@ ENCODING 35274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 AA20 FAA0 @@ -431193,7 +470741,7 @@ ENCODING 35275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1220 56A0 @@ -431211,7 +470759,7 @@ ENCODING 35276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FE20 12A0 @@ -431229,7 +470777,7 @@ ENCODING 35277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 2BE0 FE20 @@ -431247,7 +470795,7 @@ ENCODING 35278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 4620 BAA0 @@ -431265,7 +470813,7 @@ ENCODING 35279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FE20 52A0 @@ -431283,7 +470831,7 @@ ENCODING 35280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FE20 52A0 @@ -431301,7 +470849,7 @@ ENCODING 35281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 2220 FEA0 @@ -431318,8 +470866,8 @@ STARTCHAR U_89D2 ENCODING 35282 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 1F00 2200 @@ -431337,7 +470885,7 @@ ENCODING 35283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 7920 5120 @@ -431355,7 +470903,7 @@ ENCODING 35284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3C80 4880 @@ -431373,7 +470921,7 @@ ENCODING 35285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 A3C0 A480 @@ -431391,7 +470939,7 @@ ENCODING 35286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 53C0 @@ -431409,7 +470957,7 @@ ENCODING 35287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7B80 9280 @@ -431427,7 +470975,7 @@ ENCODING 35288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9140 @@ -431445,7 +470993,7 @@ ENCODING 35289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7920 5140 @@ -431463,7 +471011,7 @@ ENCODING 35290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7FC0 5540 @@ -431481,7 +471029,7 @@ ENCODING 35291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 5220 @@ -431499,7 +471047,7 @@ ENCODING 35292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 5F80 5220 @@ -431517,7 +471065,7 @@ ENCODING 35293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8020 F3C0 A280 @@ -431535,7 +471083,7 @@ ENCODING 35294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 F3E0 A400 @@ -431553,7 +471101,7 @@ ENCODING 35295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 53E0 @@ -431571,7 +471119,7 @@ ENCODING 35296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 7FE0 0800 @@ -431589,7 +471137,7 @@ ENCODING 35297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 5120 @@ -431607,7 +471155,7 @@ ENCODING 35298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F920 2220 @@ -431625,7 +471173,7 @@ ENCODING 35299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7920 5220 @@ -431643,7 +471191,7 @@ ENCODING 35300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BC0 5240 @@ -431661,7 +471209,7 @@ ENCODING 35301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 7AA0 52C0 @@ -431679,7 +471227,7 @@ ENCODING 35302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9080 @@ -431697,7 +471245,7 @@ ENCODING 35303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 3D40 4BE0 @@ -431715,7 +471263,7 @@ ENCODING 35304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4880 @@ -431733,7 +471281,7 @@ ENCODING 35305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 38A0 53E0 @@ -431751,7 +471299,7 @@ ENCODING 35306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3FE0 4A20 @@ -431769,7 +471317,7 @@ ENCODING 35307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3BE0 5080 @@ -431787,7 +471335,7 @@ ENCODING 35308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3A60 5220 @@ -431805,7 +471353,7 @@ ENCODING 35309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9140 @@ -431823,7 +471371,7 @@ ENCODING 35310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7840 93C0 @@ -431841,7 +471389,7 @@ ENCODING 35311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 53E0 @@ -431859,7 +471407,7 @@ ENCODING 35312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 7BE0 50A0 @@ -431877,7 +471425,7 @@ ENCODING 35313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 7FE0 5500 @@ -431895,7 +471443,7 @@ ENCODING 35314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7BE0 5080 @@ -431913,7 +471461,7 @@ ENCODING 35315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 1140 FD40 @@ -431931,7 +471479,7 @@ ENCODING 35316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 73E0 A640 @@ -431949,7 +471497,7 @@ ENCODING 35317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7BE0 9140 @@ -431967,7 +471515,7 @@ ENCODING 35318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F5A0 A7E0 @@ -431985,7 +471533,7 @@ ENCODING 35319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -432003,7 +471551,7 @@ ENCODING 35320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 7D40 AFC0 @@ -432021,7 +471569,7 @@ ENCODING 35321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3BE0 5480 @@ -432039,7 +471587,7 @@ ENCODING 35322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 73E0 4940 7FE0 @@ -432057,7 +471605,7 @@ ENCODING 35323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 7BC0 AEA0 @@ -432075,7 +471623,7 @@ ENCODING 35324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 77E0 A6A0 @@ -432093,7 +471641,7 @@ ENCODING 35325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 5BE0 9280 @@ -432111,7 +471659,7 @@ ENCODING 35326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 A240 @@ -432129,7 +471677,7 @@ ENCODING 35327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 77E0 A280 @@ -432147,7 +471695,7 @@ ENCODING 35328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0400 FFE0 @@ -432164,26 +471712,26 @@ STARTCHAR U_8A01 ENCODING 35329 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -1000 -FC00 -0000 -7800 -0000 -7800 -0000 -7800 -4800 -7800 +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 +BITMAP 4000 F7E0 0080 @@ -432201,7 +471749,7 @@ ENCODING 35331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FD00 0100 @@ -432219,7 +471767,7 @@ ENCODING 35332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 27E0 @@ -432237,7 +471785,7 @@ ENCODING 35333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FA00 @@ -432255,7 +471803,7 @@ ENCODING 35334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 2120 FD20 @@ -432273,7 +471821,7 @@ ENCODING 35335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4820 @@ -432291,7 +471839,7 @@ ENCODING 35336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1080 FC80 @@ -432309,7 +471857,7 @@ ENCODING 35337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2380 FE80 @@ -432327,7 +471875,7 @@ ENCODING 35338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 F240 0240 @@ -432345,7 +471893,7 @@ ENCODING 35339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FBE0 @@ -432363,7 +471911,7 @@ ENCODING 35340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 F7E0 0100 @@ -432381,7 +471929,7 @@ ENCODING 35341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 FA20 @@ -432399,7 +471947,7 @@ ENCODING 35342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 1040 FC40 @@ -432417,7 +471965,7 @@ ENCODING 35343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 1080 F880 @@ -432435,7 +471983,7 @@ ENCODING 35344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2080 F880 @@ -432453,7 +472001,7 @@ ENCODING 35345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F2A0 02E0 @@ -432471,7 +472019,7 @@ ENCODING 35346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F0A0 00A0 @@ -432489,7 +472037,7 @@ ENCODING 35347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 F2A0 02A0 @@ -432507,7 +472055,7 @@ ENCODING 35348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 4440 7FC0 @@ -432525,7 +472073,7 @@ ENCODING 35349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F080 0080 @@ -432543,7 +472091,7 @@ ENCODING 35350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F3E0 0400 @@ -432561,7 +472109,7 @@ ENCODING 35351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F700 0100 @@ -432579,7 +472127,7 @@ ENCODING 35352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 F7C0 0040 @@ -432597,7 +472145,7 @@ ENCODING 35353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FF80 @@ -432614,26 +472162,26 @@ STARTCHAR U_8A1A ENCODING 35354 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -5FC0 -0440 -5F40 -4040 -5F40 -4040 -5F40 -4040 -5F40 -5140 -5FC0 +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 +BITMAP 4280 F280 04A0 @@ -432651,7 +472199,7 @@ ENCODING 35356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 FA40 @@ -432669,7 +472217,7 @@ ENCODING 35357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F040 0240 @@ -432687,7 +472235,7 @@ ENCODING 35358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 F780 0100 @@ -432705,7 +472253,7 @@ ENCODING 35359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F280 0280 @@ -432723,7 +472271,7 @@ ENCODING 35360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4720 2120 F920 @@ -432741,7 +472289,7 @@ ENCODING 35361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -432759,7 +472307,7 @@ ENCODING 35362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 F780 0400 @@ -432777,7 +472325,7 @@ ENCODING 35363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 07C0 @@ -432795,7 +472343,7 @@ ENCODING 35364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 F900 @@ -432813,7 +472361,7 @@ ENCODING 35365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 07E0 @@ -432831,7 +472379,7 @@ ENCODING 35366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -432849,7 +472397,7 @@ ENCODING 35367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 F120 0100 @@ -432867,7 +472415,7 @@ ENCODING 35368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -432885,7 +472433,7 @@ ENCODING 35369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2420 FC60 @@ -432903,7 +472451,7 @@ ENCODING 35370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F080 0FE0 @@ -432921,7 +472469,7 @@ ENCODING 35371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2100 F880 @@ -432939,7 +472487,7 @@ ENCODING 35372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F080 02C0 @@ -432957,7 +472505,7 @@ ENCODING 35373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 F480 0480 @@ -432975,7 +472523,7 @@ ENCODING 35374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2240 FA40 @@ -432993,7 +472541,7 @@ ENCODING 35375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 FA20 @@ -433011,7 +472559,7 @@ ENCODING 35376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0FE0 @@ -433029,7 +472577,7 @@ ENCODING 35377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F200 03E0 @@ -433046,8 +472594,8 @@ STARTCHAR U_8A32 ENCODING 35378 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 4100 2100 F900 @@ -433065,7 +472613,7 @@ ENCODING 35379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 FC40 @@ -433083,7 +472631,7 @@ ENCODING 35380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 F700 0400 @@ -433101,7 +472649,7 @@ ENCODING 35381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 EAA0 @@ -433119,7 +472667,7 @@ ENCODING 35382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F040 0040 @@ -433137,7 +472685,7 @@ ENCODING 35383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F900 @@ -433155,7 +472703,7 @@ ENCODING 35384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 F900 @@ -433173,7 +472721,7 @@ ENCODING 35385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 F120 0FE0 @@ -433191,7 +472739,7 @@ ENCODING 35386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 0440 @@ -433209,7 +472757,7 @@ ENCODING 35387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F100 0FE0 @@ -433227,7 +472775,7 @@ ENCODING 35388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F100 0100 @@ -433245,7 +472793,7 @@ ENCODING 35389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 FA20 @@ -433263,7 +472811,7 @@ ENCODING 35390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 5320 FFE0 @@ -433281,7 +472829,7 @@ ENCODING 35391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F280 0280 @@ -433299,7 +472847,7 @@ ENCODING 35392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 00E0 @@ -433317,7 +472865,7 @@ ENCODING 35393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0100 @@ -433335,7 +472883,7 @@ ENCODING 35394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2240 F440 @@ -433353,7 +472901,7 @@ ENCODING 35395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 F7E0 @@ -433371,7 +472919,7 @@ ENCODING 35396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F500 07C0 @@ -433389,7 +472937,7 @@ ENCODING 35397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0280 @@ -433407,7 +472955,7 @@ ENCODING 35398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 F780 0480 @@ -433425,7 +472973,7 @@ ENCODING 35399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -433443,7 +472991,7 @@ ENCODING 35400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 7FC0 @@ -433461,7 +473009,7 @@ ENCODING 35401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 25C0 FF40 @@ -433479,7 +473027,7 @@ ENCODING 35402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 F540 0100 @@ -433497,7 +473045,7 @@ ENCODING 35403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 FC40 @@ -433515,7 +473063,7 @@ ENCODING 35404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F240 07E0 @@ -433533,7 +473081,7 @@ ENCODING 35405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 F540 0540 @@ -433551,7 +473099,7 @@ ENCODING 35406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F400 0400 @@ -433569,7 +473117,7 @@ ENCODING 35407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 F280 0480 @@ -433587,7 +473135,7 @@ ENCODING 35408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F200 03E0 @@ -433605,7 +473153,7 @@ ENCODING 35409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F100 0FE0 @@ -433623,7 +473171,7 @@ ENCODING 35410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0200 @@ -433641,7 +473189,7 @@ ENCODING 35411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFC0 @@ -433659,7 +473207,7 @@ ENCODING 35412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F120 0120 @@ -433677,7 +473225,7 @@ ENCODING 35413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F100 0520 @@ -433695,7 +473243,7 @@ ENCODING 35414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 07E0 @@ -433713,7 +473261,7 @@ ENCODING 35415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F820 0820 @@ -433731,7 +473279,7 @@ ENCODING 35416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F080 04A0 @@ -433749,7 +473297,7 @@ ENCODING 35417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F240 0FE0 @@ -433767,7 +473315,7 @@ ENCODING 35418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 23C0 FA40 @@ -433785,7 +473333,7 @@ ENCODING 35419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 F240 0240 @@ -433803,7 +473351,7 @@ ENCODING 35420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 FD40 @@ -433821,7 +473369,7 @@ ENCODING 35421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FFE0 @@ -433839,7 +473387,7 @@ ENCODING 35422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F020 07A0 @@ -433857,7 +473405,7 @@ ENCODING 35423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 7FE0 0A80 @@ -433875,7 +473423,7 @@ ENCODING 35424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 F700 @@ -433893,7 +473441,7 @@ ENCODING 35425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F120 05A0 @@ -433911,7 +473459,7 @@ ENCODING 35426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 F7E0 0820 @@ -433929,7 +473477,7 @@ ENCODING 35427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F480 0720 @@ -433947,7 +473495,7 @@ ENCODING 35428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 FD40 @@ -433965,7 +473513,7 @@ ENCODING 35429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -433983,7 +473531,7 @@ ENCODING 35430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F0A0 0FE0 @@ -434001,7 +473549,7 @@ ENCODING 35431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 4A40 A940 @@ -434019,7 +473567,7 @@ ENCODING 35432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 FFE0 @@ -434037,7 +473585,7 @@ ENCODING 35433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0100 @@ -434055,7 +473603,7 @@ ENCODING 35434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 FC40 @@ -434073,7 +473621,7 @@ ENCODING 35435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 0420 @@ -434091,7 +473639,7 @@ ENCODING 35436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 F700 0400 @@ -434109,7 +473657,7 @@ ENCODING 35437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F3C0 0480 @@ -434127,7 +473675,7 @@ ENCODING 35438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 0440 @@ -434145,7 +473693,7 @@ ENCODING 35439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 FFE0 @@ -434163,7 +473711,7 @@ ENCODING 35440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0FE0 @@ -434181,7 +473729,7 @@ ENCODING 35441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F700 0100 @@ -434199,7 +473747,7 @@ ENCODING 35442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0200 @@ -434217,7 +473765,7 @@ ENCODING 35443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F280 0FE0 @@ -434235,7 +473783,7 @@ ENCODING 35444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 0200 @@ -434253,7 +473801,7 @@ ENCODING 35445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F500 07E0 @@ -434271,7 +473819,7 @@ ENCODING 35446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 F2A0 02A0 @@ -434289,7 +473837,7 @@ ENCODING 35447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F820 0BA0 @@ -434307,7 +473855,7 @@ ENCODING 35448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2540 FB80 @@ -434325,7 +473873,7 @@ ENCODING 35449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 1100 3FE0 @@ -434343,7 +473891,7 @@ ENCODING 35450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F1E0 0220 @@ -434361,7 +473909,7 @@ ENCODING 35451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F3C0 0640 @@ -434379,7 +473927,7 @@ ENCODING 35452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F200 0FE0 @@ -434397,7 +473945,7 @@ ENCODING 35453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2EE0 F440 @@ -434415,7 +473963,7 @@ ENCODING 35454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 FDE0 @@ -434433,7 +473981,7 @@ ENCODING 35455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0100 @@ -434451,7 +473999,7 @@ ENCODING 35456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 FA40 @@ -434469,7 +474017,7 @@ ENCODING 35457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F280 0FE0 @@ -434487,7 +474035,7 @@ ENCODING 35458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F2A0 0AC0 @@ -434505,7 +474053,7 @@ ENCODING 35459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F3E0 0540 @@ -434523,7 +474071,7 @@ ENCODING 35460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -434541,7 +474089,7 @@ ENCODING 35461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F500 07C0 @@ -434559,7 +474107,7 @@ ENCODING 35462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F800 0BE0 @@ -434577,7 +474125,7 @@ ENCODING 35463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0280 @@ -434595,7 +474143,7 @@ ENCODING 35464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27E0 F900 @@ -434613,7 +474161,7 @@ ENCODING 35465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 1500 FFE0 @@ -434631,7 +474179,7 @@ ENCODING 35466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 7FC0 @@ -434649,7 +474197,7 @@ ENCODING 35467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F040 07C0 @@ -434667,7 +474215,7 @@ ENCODING 35468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 0FE0 @@ -434685,7 +474233,7 @@ ENCODING 35469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F920 0520 @@ -434703,7 +474251,7 @@ ENCODING 35470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FFE0 @@ -434721,7 +474269,7 @@ ENCODING 35471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0440 @@ -434739,7 +474287,7 @@ ENCODING 35472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 26C0 FAA0 @@ -434757,7 +474305,7 @@ ENCODING 35473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 F640 0440 @@ -434775,7 +474323,7 @@ ENCODING 35474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F200 0440 @@ -434793,7 +474341,7 @@ ENCODING 35475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2400 F7E0 @@ -434811,7 +474359,7 @@ ENCODING 35476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2E60 FB80 @@ -434829,7 +474377,7 @@ ENCODING 35477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 FDC0 0440 @@ -434847,7 +474395,7 @@ ENCODING 35478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0100 @@ -434865,7 +474413,7 @@ ENCODING 35479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8320 5CA0 E4A0 @@ -434883,7 +474431,7 @@ ENCODING 35480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F700 0100 @@ -434901,7 +474449,7 @@ ENCODING 35481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F000 0540 @@ -434919,7 +474467,7 @@ ENCODING 35482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 F540 0100 @@ -434937,7 +474485,7 @@ ENCODING 35483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 FBC0 @@ -434955,7 +474503,7 @@ ENCODING 35484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2240 F7E0 @@ -434973,7 +474521,7 @@ ENCODING 35485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 FA80 @@ -434991,7 +474539,7 @@ ENCODING 35486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F100 07C0 @@ -435009,7 +474557,7 @@ ENCODING 35487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 27A0 F940 @@ -435027,7 +474575,7 @@ ENCODING 35488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F0A0 0FE0 @@ -435045,7 +474593,7 @@ ENCODING 35489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F0A0 0FE0 @@ -435063,7 +474611,7 @@ ENCODING 35490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FFC0 @@ -435081,7 +474629,7 @@ ENCODING 35491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F100 0540 @@ -435099,7 +474647,7 @@ ENCODING 35492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 0440 @@ -435117,7 +474665,7 @@ ENCODING 35493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F500 07C0 @@ -435135,7 +474683,7 @@ ENCODING 35494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F240 0180 @@ -435153,7 +474701,7 @@ ENCODING 35495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 F7E0 0100 @@ -435171,7 +474719,7 @@ ENCODING 35496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 F7E0 0800 @@ -435189,7 +474737,7 @@ ENCODING 35497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2080 FBE0 @@ -435207,7 +474755,7 @@ ENCODING 35498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F280 0440 @@ -435225,7 +474773,7 @@ ENCODING 35499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F800 0BC0 @@ -435243,7 +474791,7 @@ ENCODING 35500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFC0 @@ -435261,7 +474809,7 @@ ENCODING 35501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F900 @@ -435279,7 +474827,7 @@ ENCODING 35502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 FFE0 @@ -435297,7 +474845,7 @@ ENCODING 35503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 FBC0 @@ -435315,7 +474863,7 @@ ENCODING 35504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 F480 07E0 @@ -435333,7 +474881,7 @@ ENCODING 35505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 F900 @@ -435351,7 +474899,7 @@ ENCODING 35506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F520 07E0 @@ -435369,7 +474917,7 @@ ENCODING 35507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2220 FFE0 @@ -435387,7 +474935,7 @@ ENCODING 35508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F820 @@ -435405,7 +474953,7 @@ ENCODING 35509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2180 FA40 @@ -435423,7 +474971,7 @@ ENCODING 35510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0440 @@ -435441,7 +474989,7 @@ ENCODING 35511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2660 FDA0 @@ -435459,7 +475007,7 @@ ENCODING 35512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 F240 03E0 @@ -435477,7 +475025,7 @@ ENCODING 35513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F280 0EE0 @@ -435495,7 +475043,7 @@ ENCODING 35514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -435513,7 +475061,7 @@ ENCODING 35515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 FF40 0580 @@ -435531,7 +475079,7 @@ ENCODING 35516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F100 07E0 @@ -435549,7 +475097,7 @@ ENCODING 35517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FCE0 0820 @@ -435567,7 +475115,7 @@ ENCODING 35518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -435585,7 +475133,7 @@ ENCODING 35519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F420 0520 @@ -435603,7 +475151,7 @@ ENCODING 35520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 0520 @@ -435621,7 +475169,7 @@ ENCODING 35521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2EE0 FAA0 @@ -435639,7 +475187,7 @@ ENCODING 35522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F3E0 0240 @@ -435657,7 +475205,7 @@ ENCODING 35523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 F480 0FE0 @@ -435675,7 +475223,7 @@ ENCODING 35524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0440 @@ -435693,7 +475241,7 @@ ENCODING 35525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1500 @@ -435711,7 +475259,7 @@ ENCODING 35526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F7E0 0240 @@ -435729,7 +475277,7 @@ ENCODING 35527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 F540 0580 @@ -435747,7 +475295,7 @@ ENCODING 35528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 FF00 0100 @@ -435765,7 +475313,7 @@ ENCODING 35529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 F700 0100 @@ -435783,7 +475331,7 @@ ENCODING 35530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 F920 @@ -435801,7 +475349,7 @@ ENCODING 35531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -435819,7 +475367,7 @@ ENCODING 35532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -435837,7 +475385,7 @@ ENCODING 35533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 F480 0900 @@ -435855,7 +475403,7 @@ ENCODING 35534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 27C0 FA80 @@ -435873,7 +475421,7 @@ ENCODING 35535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 EAE0 0AA0 @@ -435891,7 +475439,7 @@ ENCODING 35536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 5040 DFC0 @@ -435909,7 +475457,7 @@ ENCODING 35537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F200 0500 @@ -435927,7 +475475,7 @@ ENCODING 35538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0000 @@ -435945,7 +475493,7 @@ ENCODING 35539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 0240 @@ -435963,7 +475511,7 @@ ENCODING 35540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 F4E0 07A0 @@ -435981,7 +475529,7 @@ ENCODING 35541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 F100 07E0 @@ -435999,7 +475547,7 @@ ENCODING 35542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 E280 0440 @@ -436017,7 +475565,7 @@ ENCODING 35543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 0440 @@ -436035,7 +475583,7 @@ ENCODING 35544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -436053,7 +475601,7 @@ ENCODING 35545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F480 07E0 @@ -436071,7 +475619,7 @@ ENCODING 35546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F820 @@ -436089,7 +475637,7 @@ ENCODING 35547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F560 0920 @@ -436107,7 +475655,7 @@ ENCODING 35548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 FFE0 0540 @@ -436125,7 +475673,7 @@ ENCODING 35549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F520 05C0 @@ -436143,7 +475691,7 @@ ENCODING 35550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 FFE0 0820 @@ -436161,7 +475709,7 @@ ENCODING 35551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -436179,7 +475727,7 @@ ENCODING 35552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 F100 0FE0 @@ -436197,7 +475745,7 @@ ENCODING 35553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F440 0BA0 @@ -436215,7 +475763,7 @@ ENCODING 35554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F920 0FE0 @@ -436233,7 +475781,7 @@ ENCODING 35555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 4440 F740 @@ -436251,7 +475799,7 @@ ENCODING 35556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0EE0 @@ -436269,7 +475817,7 @@ ENCODING 35557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 FFE0 @@ -436287,7 +475835,7 @@ ENCODING 35558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0280 @@ -436305,7 +475853,7 @@ ENCODING 35559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 F4A0 07C0 @@ -436323,7 +475871,7 @@ ENCODING 35560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F000 03C0 @@ -436341,7 +475889,7 @@ ENCODING 35561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 FFE0 @@ -436359,7 +475907,7 @@ ENCODING 35562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F800 @@ -436377,7 +475925,7 @@ ENCODING 35563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -436395,7 +475943,7 @@ ENCODING 35564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 27E0 FA80 @@ -436413,7 +475961,7 @@ ENCODING 35565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 F440 0BA0 @@ -436431,7 +475979,7 @@ ENCODING 35566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 F5E0 0220 @@ -436449,7 +475997,7 @@ ENCODING 35567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 F520 07E0 @@ -436467,7 +476015,7 @@ ENCODING 35568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F520 0520 @@ -436485,7 +476033,7 @@ ENCODING 35569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0240 @@ -436503,7 +476051,7 @@ ENCODING 35570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F280 0FE0 @@ -436521,7 +476069,7 @@ ENCODING 35571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0440 @@ -436539,7 +476087,7 @@ ENCODING 35572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 E0A0 0FE0 @@ -436557,7 +476105,7 @@ ENCODING 35573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 0100 @@ -436575,7 +476123,7 @@ ENCODING 35574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F7E0 0240 @@ -436593,7 +476141,7 @@ ENCODING 35575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -436611,7 +476159,7 @@ ENCODING 35576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 F7A0 0240 @@ -436629,7 +476177,7 @@ ENCODING 35577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2240 F3C0 @@ -436647,7 +476195,7 @@ ENCODING 35578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0280 @@ -436665,7 +476213,7 @@ ENCODING 35579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0440 @@ -436683,7 +476231,7 @@ ENCODING 35580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F520 0240 @@ -436701,7 +476249,7 @@ ENCODING 35581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 FA80 @@ -436719,7 +476267,7 @@ ENCODING 35582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 FFE0 0480 @@ -436737,7 +476285,7 @@ ENCODING 35583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -436755,7 +476303,7 @@ ENCODING 35584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 27E0 FA40 @@ -436773,7 +476321,7 @@ ENCODING 35585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -436791,7 +476339,7 @@ ENCODING 35586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F920 0FE0 @@ -436809,7 +476357,7 @@ ENCODING 35587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2220 FBE0 @@ -436827,7 +476375,7 @@ ENCODING 35588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9FE0 9200 @@ -436845,7 +476393,7 @@ ENCODING 35589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 F7E0 0D20 @@ -436863,7 +476411,7 @@ ENCODING 35590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0820 @@ -436881,7 +476429,7 @@ ENCODING 35591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -436899,7 +476447,7 @@ ENCODING 35592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 3F80 @@ -436917,7 +476465,7 @@ ENCODING 35593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2FC0 FA40 @@ -436935,7 +476483,7 @@ ENCODING 35594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 FFE0 0540 @@ -436953,7 +476501,7 @@ ENCODING 35595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F7E0 0D40 @@ -436971,7 +476519,7 @@ ENCODING 35596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2040 F740 @@ -436989,7 +476537,7 @@ ENCODING 35597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 5AC0 1080 @@ -437007,7 +476555,7 @@ ENCODING 35598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48A0 F6A0 01C0 @@ -437025,7 +476573,7 @@ ENCODING 35599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 F5E0 0520 @@ -437043,7 +476591,7 @@ ENCODING 35600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 F240 0AA0 @@ -437061,7 +476609,7 @@ ENCODING 35601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 FE20 0540 @@ -437079,7 +476627,7 @@ ENCODING 35602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 F540 0FE0 @@ -437097,7 +476645,7 @@ ENCODING 35603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0200 @@ -437115,7 +476663,7 @@ ENCODING 35604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 F100 07E0 @@ -437133,7 +476681,7 @@ ENCODING 35605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 EF00 09C0 @@ -437151,7 +476699,7 @@ ENCODING 35606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F920 0FE0 @@ -437169,7 +476717,7 @@ ENCODING 35607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0280 @@ -437187,7 +476735,7 @@ ENCODING 35608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F420 07E0 @@ -437205,7 +476753,7 @@ ENCODING 35609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 0280 @@ -437223,7 +476771,7 @@ ENCODING 35610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 F280 0100 @@ -437241,7 +476789,7 @@ ENCODING 35611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F280 07C0 @@ -437259,7 +476807,7 @@ ENCODING 35612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F900 0BE0 @@ -437277,7 +476825,7 @@ ENCODING 35613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 FE40 0A40 @@ -437295,7 +476843,7 @@ ENCODING 35614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0240 @@ -437313,7 +476861,7 @@ ENCODING 35615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2720 F520 @@ -437331,7 +476879,7 @@ ENCODING 35616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F3E0 0D40 @@ -437349,7 +476897,7 @@ ENCODING 35617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2620 F940 @@ -437367,7 +476915,7 @@ ENCODING 35618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 F7E0 0C80 @@ -437385,7 +476933,7 @@ ENCODING 35619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F100 0FE0 @@ -437403,7 +476951,7 @@ ENCODING 35620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F280 0FE0 @@ -437421,7 +476969,7 @@ ENCODING 35621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 FFE0 0920 @@ -437439,7 +476987,7 @@ ENCODING 35622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 1140 7E20 @@ -437457,7 +477005,7 @@ ENCODING 35623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0540 @@ -437475,7 +477023,7 @@ ENCODING 35624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0280 @@ -437493,7 +477041,7 @@ ENCODING 35625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 7FE0 0900 @@ -437511,7 +477059,7 @@ ENCODING 35626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0440 @@ -437529,7 +477077,7 @@ ENCODING 35627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0280 @@ -437547,7 +477095,7 @@ ENCODING 35628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0660 @@ -437565,7 +477113,7 @@ ENCODING 35629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 5FE0 EA20 @@ -437583,7 +477131,7 @@ ENCODING 35630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -437601,7 +477149,7 @@ ENCODING 35631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 F100 0FE0 @@ -437619,7 +477167,7 @@ ENCODING 35632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 E880 0BE0 @@ -437637,7 +477185,7 @@ ENCODING 35633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0540 @@ -437655,7 +477203,7 @@ ENCODING 35634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 FFC0 @@ -437673,7 +477221,7 @@ ENCODING 35635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F800 0BC0 @@ -437691,7 +477239,7 @@ ENCODING 35636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F540 0FE0 @@ -437709,7 +477257,7 @@ ENCODING 35637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 F220 0AA0 @@ -437727,7 +477275,7 @@ ENCODING 35638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F7E0 0400 @@ -437745,7 +477293,7 @@ ENCODING 35639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1340 @@ -437763,7 +477311,7 @@ ENCODING 35640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 EE80 0480 @@ -437781,7 +477329,7 @@ ENCODING 35641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0280 @@ -437799,7 +477347,7 @@ ENCODING 35642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27C0 F940 @@ -437817,7 +477365,7 @@ ENCODING 35643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FCE0 0520 @@ -437835,7 +477383,7 @@ ENCODING 35644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 F100 0FE0 @@ -437853,7 +477401,7 @@ ENCODING 35645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1240 F7E0 @@ -437871,7 +477419,7 @@ ENCODING 35646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -437889,7 +477437,7 @@ ENCODING 35647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2EE0 F4A0 @@ -437907,7 +477455,7 @@ ENCODING 35648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4D00 F500 0FE0 @@ -437925,7 +477473,7 @@ ENCODING 35649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0280 @@ -437943,7 +477491,7 @@ ENCODING 35650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0FE0 @@ -437961,7 +477509,7 @@ ENCODING 35651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 2100 FFE0 @@ -437979,7 +477527,7 @@ ENCODING 35652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FFE0 0D60 @@ -437997,7 +477545,7 @@ ENCODING 35653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 EAA0 1BA0 @@ -438015,7 +477563,7 @@ ENCODING 35654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -438033,7 +477581,7 @@ ENCODING 35655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0540 @@ -438051,7 +477599,7 @@ ENCODING 35656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 FE80 0BE0 @@ -438069,7 +477617,7 @@ ENCODING 35657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 F580 02A0 @@ -438087,7 +477635,7 @@ ENCODING 35658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 0100 @@ -438105,7 +477653,7 @@ ENCODING 35659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0EE0 @@ -438123,7 +477671,7 @@ ENCODING 35660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 EFC0 0540 @@ -438141,7 +477689,7 @@ ENCODING 35661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4A80 @@ -438159,7 +477707,7 @@ ENCODING 35662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 F280 0FE0 @@ -438177,7 +477725,7 @@ ENCODING 35663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 F5A0 0B40 @@ -438195,7 +477743,7 @@ ENCODING 35664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0280 @@ -438213,7 +477761,7 @@ ENCODING 35665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 F200 0FE0 @@ -438231,7 +477779,7 @@ ENCODING 35666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 FF20 0540 @@ -438249,7 +477797,7 @@ ENCODING 35667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0540 @@ -438267,7 +477815,7 @@ ENCODING 35668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0EE0 @@ -438285,7 +477833,7 @@ ENCODING 35669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 F7E0 0D40 @@ -438303,7 +477851,7 @@ ENCODING 35670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 F540 1FE0 @@ -438321,7 +477869,7 @@ ENCODING 35671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 F7E0 0A40 @@ -438339,7 +477887,7 @@ ENCODING 35672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 EFC0 0AA0 @@ -438357,7 +477905,7 @@ ENCODING 35673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 F7E0 0C80 @@ -438375,7 +477923,7 @@ ENCODING 35674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F280 0FE0 @@ -438393,7 +477941,7 @@ ENCODING 35675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2EE0 F440 @@ -438411,7 +477959,7 @@ ENCODING 35676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 FFE0 0AA0 @@ -438429,7 +477977,7 @@ ENCODING 35677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 FAA0 0EE0 @@ -438447,7 +477995,7 @@ ENCODING 35678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 FFE0 @@ -438465,7 +478013,7 @@ ENCODING 35679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 07C0 @@ -438483,7 +478031,7 @@ ENCODING 35680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0BA0 @@ -438501,7 +478049,7 @@ ENCODING 35681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 FFE0 @@ -438519,7 +478067,7 @@ ENCODING 35682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 F7E0 0900 @@ -438537,7 +478085,7 @@ ENCODING 35683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F280 0440 @@ -438555,7 +478103,7 @@ ENCODING 35684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4E80 FA80 @@ -438573,7 +478121,7 @@ ENCODING 35685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 A940 @@ -438591,7 +478139,7 @@ ENCODING 35686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 49E0 FE80 @@ -438609,7 +478157,7 @@ ENCODING 35687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 0A80 @@ -438627,7 +478175,7 @@ ENCODING 35688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0AA0 @@ -438645,7 +478193,7 @@ ENCODING 35689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F240 @@ -438663,7 +478211,7 @@ ENCODING 35690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 FFE0 0440 @@ -438681,7 +478229,7 @@ ENCODING 35691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 E480 0FE0 @@ -438699,7 +478247,7 @@ ENCODING 35692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8A80 FFC0 @@ -438717,7 +478265,7 @@ ENCODING 35693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AE0 F2A0 1EA0 @@ -438735,7 +478283,7 @@ ENCODING 35694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 F440 @@ -438753,7 +478301,7 @@ ENCODING 35695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 FAA0 0FE0 @@ -438771,7 +478319,7 @@ ENCODING 35696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 0100 @@ -438789,7 +478337,7 @@ ENCODING 35697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -438807,7 +478355,7 @@ ENCODING 35698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 0440 @@ -438825,7 +478373,7 @@ ENCODING 35699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4100 FFE0 @@ -438843,7 +478391,7 @@ ENCODING 35700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 EBE0 06A0 @@ -438861,7 +478409,7 @@ ENCODING 35701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A20 EAA0 1B20 @@ -438879,7 +478427,7 @@ ENCODING 35702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0000 @@ -438897,7 +478445,7 @@ ENCODING 35703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F240 0480 @@ -438915,7 +478463,7 @@ ENCODING 35704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 0100 @@ -438933,7 +478481,7 @@ ENCODING 35705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0440 @@ -438951,7 +478499,7 @@ ENCODING 35706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55E0 F8A0 1240 @@ -438969,7 +478517,7 @@ ENCODING 35707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -438987,7 +478535,7 @@ ENCODING 35708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5500 7BE0 @@ -439005,7 +478553,7 @@ ENCODING 35709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4840 7FC0 @@ -439023,7 +478571,7 @@ ENCODING 35710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 0A20 @@ -439041,7 +478589,7 @@ ENCODING 35711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 E440 0EE0 @@ -439059,7 +478607,7 @@ ENCODING 35712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0100 @@ -439077,7 +478625,7 @@ ENCODING 35713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 F7E0 0940 @@ -439095,7 +478643,7 @@ ENCODING 35714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 F480 0FE0 @@ -439113,7 +478661,7 @@ ENCODING 35715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FFE0 0440 @@ -439131,7 +478679,7 @@ ENCODING 35716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F540 07C0 @@ -439149,7 +478697,7 @@ ENCODING 35717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0920 @@ -439167,7 +478715,7 @@ ENCODING 35718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 4A00 BFE0 @@ -439185,7 +478733,7 @@ ENCODING 35719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 EAA0 0EE0 @@ -439203,7 +478751,7 @@ ENCODING 35720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 FEC0 0A40 @@ -439221,7 +478769,7 @@ ENCODING 35721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 E7C0 1540 @@ -439239,7 +478787,7 @@ ENCODING 35722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 AEA0 4040 @@ -439257,7 +478805,7 @@ ENCODING 35723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5200 FBE0 @@ -439275,7 +478823,7 @@ ENCODING 35724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 0280 @@ -439293,7 +478841,7 @@ ENCODING 35725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 E200 0EE0 @@ -439311,7 +478859,7 @@ ENCODING 35726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 AF40 F1E0 @@ -439329,7 +478877,7 @@ ENCODING 35727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 4F60 A500 @@ -439347,7 +478895,7 @@ ENCODING 35728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 7BE0 D680 @@ -439365,7 +478913,7 @@ ENCODING 35729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 E280 0440 @@ -439383,7 +478931,7 @@ ENCODING 35730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 FFC0 0440 @@ -439401,7 +478949,7 @@ ENCODING 35731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 0AA0 @@ -439419,7 +478967,7 @@ ENCODING 35732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 FAA0 0BE0 @@ -439437,7 +478985,7 @@ ENCODING 35733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 FAA0 0EE0 @@ -439455,7 +479003,7 @@ ENCODING 35734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AC0 F5A0 1FE0 @@ -439473,7 +479021,7 @@ ENCODING 35735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 EFE0 0900 @@ -439491,7 +479039,7 @@ ENCODING 35736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F440 07C0 @@ -439509,7 +479057,7 @@ ENCODING 35737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 F280 0EE0 @@ -439527,7 +479075,7 @@ ENCODING 35738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 EFE0 0240 @@ -439545,7 +479093,7 @@ ENCODING 35739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 EFE0 0480 @@ -439563,7 +479111,7 @@ ENCODING 35740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 EFE0 0AA0 @@ -439581,7 +479129,7 @@ ENCODING 35741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 EAA0 0FE0 @@ -439599,7 +479147,7 @@ ENCODING 35742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4740 E460 1F40 @@ -439617,7 +479165,7 @@ ENCODING 35743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 FFE0 0400 @@ -439634,26 +479182,25 @@ STARTCHAR U_8BA0 ENCODING 35744 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4000 -2000 -2000 -0000 -E000 -2000 -2000 -2800 -3000 -2000 -0000 +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 +BITMAP 4100 2100 0100 @@ -439671,7 +479218,7 @@ ENCODING 35746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 0080 @@ -439689,7 +479236,7 @@ ENCODING 35747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0100 @@ -439707,7 +479254,7 @@ ENCODING 35748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0100 @@ -439725,7 +479272,7 @@ ENCODING 35749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 0480 @@ -439743,7 +479290,7 @@ ENCODING 35750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 0100 @@ -439760,8 +479307,8 @@ STARTCHAR U_8BA7 ENCODING 35751 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 10 0 0 +BITMAP 4000 2FE0 0100 @@ -439772,14 +479319,13 @@ E100 2900 3100 2FE0 -0000 ENDCHAR STARTCHAR U_8BA8 ENCODING 35752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2040 0040 @@ -439797,7 +479343,7 @@ ENCODING 35753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2100 @@ -439815,7 +479361,7 @@ ENCODING 35754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0100 @@ -439833,7 +479379,7 @@ ENCODING 35755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 0400 @@ -439850,9 +479396,8 @@ STARTCHAR U_8BAC ENCODING 35756 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 41C0 4E00 0200 @@ -439869,7 +479414,7 @@ ENCODING 35757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 2520 0520 @@ -439887,7 +479432,7 @@ ENCODING 35758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2140 0540 @@ -439905,7 +479450,7 @@ ENCODING 35759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9F80 4480 4480 @@ -439923,7 +479468,7 @@ ENCODING 35760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 27C0 0040 @@ -439940,9 +479485,8 @@ STARTCHAR U_8BB1 ENCODING 35761 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 4FE0 2120 0120 @@ -439959,7 +479503,7 @@ ENCODING 35762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8480 4480 1FE0 @@ -439977,7 +479521,7 @@ ENCODING 35763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -439995,7 +479539,7 @@ ENCODING 35764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 0440 @@ -440013,7 +479557,7 @@ ENCODING 35765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 0400 @@ -440031,7 +479575,7 @@ ENCODING 35766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2080 0480 @@ -440049,7 +479593,7 @@ ENCODING 35767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 07E0 @@ -440067,7 +479611,7 @@ ENCODING 35768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 07C0 @@ -440085,7 +479629,7 @@ ENCODING 35769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8500 4500 0920 @@ -440103,7 +479647,7 @@ ENCODING 35770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 0280 @@ -440121,7 +479665,7 @@ ENCODING 35771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8840 4440 4AA0 @@ -440139,7 +479683,7 @@ ENCODING 35772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2280 0240 @@ -440157,7 +479701,7 @@ ENCODING 35773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 04C0 @@ -440175,7 +479719,7 @@ ENCODING 35774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2480 0480 @@ -440193,7 +479737,7 @@ ENCODING 35775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -440211,7 +479755,7 @@ ENCODING 35776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 07C0 @@ -440229,7 +479773,7 @@ ENCODING 35777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2FE0 2100 @@ -440247,7 +479791,7 @@ ENCODING 35778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8200 4200 @@ -440265,7 +479809,7 @@ ENCODING 35779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2040 0040 @@ -440283,7 +479827,7 @@ ENCODING 35780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0920 @@ -440301,7 +479845,7 @@ ENCODING 35781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0440 @@ -440319,7 +479863,7 @@ ENCODING 35782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 0420 @@ -440337,7 +479881,7 @@ ENCODING 35783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4820 0820 @@ -440355,7 +479899,7 @@ ENCODING 35784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 03E0 @@ -440373,7 +479917,7 @@ ENCODING 35785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 0400 @@ -440391,7 +479935,7 @@ ENCODING 35786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 0440 @@ -440409,7 +479953,7 @@ ENCODING 35787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2780 0480 @@ -440427,7 +479971,7 @@ ENCODING 35788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23E0 0440 @@ -440445,7 +479989,7 @@ ENCODING 35789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2020 0FA0 @@ -440463,7 +480007,7 @@ ENCODING 35790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2520 0520 @@ -440481,7 +480025,7 @@ ENCODING 35791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2120 2120 @@ -440499,7 +480043,7 @@ ENCODING 35792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4100 0FE0 @@ -440517,7 +480061,7 @@ ENCODING 35793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0280 @@ -440535,7 +480079,7 @@ ENCODING 35794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 0440 @@ -440553,7 +480097,7 @@ ENCODING 35795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2400 07E0 @@ -440571,7 +480115,7 @@ ENCODING 35796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -440589,7 +480133,7 @@ ENCODING 35797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 1FE0 @@ -440607,7 +480151,7 @@ ENCODING 35798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -440625,7 +480169,7 @@ ENCODING 35799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 0100 @@ -440643,7 +480187,7 @@ ENCODING 35800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -440661,7 +480205,7 @@ ENCODING 35801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 0200 @@ -440679,7 +480223,7 @@ ENCODING 35802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 1FE0 @@ -440697,7 +480241,7 @@ ENCODING 35803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 07E0 @@ -440715,7 +480259,7 @@ ENCODING 35804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 07C0 @@ -440733,7 +480277,7 @@ ENCODING 35805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 0100 @@ -440751,7 +480295,7 @@ ENCODING 35806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8060 5B80 0880 @@ -440769,7 +480313,7 @@ ENCODING 35807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2780 0400 @@ -440787,7 +480331,7 @@ ENCODING 35808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 0440 @@ -440805,7 +480349,7 @@ ENCODING 35809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4780 0900 @@ -440823,7 +480367,7 @@ ENCODING 35810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0820 @@ -440841,7 +480385,7 @@ ENCODING 35811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 24C0 0700 @@ -440859,7 +480403,7 @@ ENCODING 35812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 2480 @@ -440877,7 +480421,7 @@ ENCODING 35813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -440895,7 +480439,7 @@ ENCODING 35814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 0FE0 @@ -440913,7 +480457,7 @@ ENCODING 35815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1020 @@ -440931,7 +480475,7 @@ ENCODING 35816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 0200 @@ -440949,7 +480493,7 @@ ENCODING 35817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2120 25A0 @@ -440967,7 +480511,7 @@ ENCODING 35818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 0200 @@ -440985,7 +480529,7 @@ ENCODING 35819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 80C0 40A0 1FE0 @@ -441003,7 +480547,7 @@ ENCODING 35820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 0540 @@ -441021,7 +480565,7 @@ ENCODING 35821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 07C0 @@ -441039,7 +480583,7 @@ ENCODING 35822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 0100 @@ -441057,7 +480601,7 @@ ENCODING 35823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 0440 @@ -441075,7 +480619,7 @@ ENCODING 35824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 27C0 @@ -441093,7 +480637,7 @@ ENCODING 35825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2F80 0100 @@ -441111,7 +480655,7 @@ ENCODING 35826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 0800 @@ -441129,7 +480673,7 @@ ENCODING 35827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 4880 1480 @@ -441147,7 +480691,7 @@ ENCODING 35828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 07C0 @@ -441165,7 +480709,7 @@ ENCODING 35829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2240 0180 @@ -441183,7 +480727,7 @@ ENCODING 35830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 4440 2FC0 @@ -441201,7 +480745,7 @@ ENCODING 35831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2100 @@ -441219,7 +480763,7 @@ ENCODING 35832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27A0 0240 @@ -441237,7 +480781,7 @@ ENCODING 35833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 2A00 0BE0 @@ -441255,7 +480799,7 @@ ENCODING 35834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 0240 @@ -441273,7 +480817,7 @@ ENCODING 35835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 0100 @@ -441291,7 +480835,7 @@ ENCODING 35836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2200 0420 @@ -441309,7 +480853,7 @@ ENCODING 35837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 0EE0 @@ -441327,7 +480871,7 @@ ENCODING 35838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2940 0FC0 @@ -441345,7 +480889,7 @@ ENCODING 35839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 0100 @@ -441363,7 +480907,7 @@ ENCODING 35840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2D60 0920 @@ -441381,7 +480925,7 @@ ENCODING 35841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2480 0FE0 @@ -441399,7 +480943,7 @@ ENCODING 35842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 0440 @@ -441417,7 +480961,7 @@ ENCODING 35843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0BA0 @@ -441435,7 +480979,7 @@ ENCODING 35844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 23C0 0480 @@ -441453,7 +480997,7 @@ ENCODING 35845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0000 @@ -441471,7 +481015,7 @@ ENCODING 35846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -441489,7 +481033,7 @@ ENCODING 35847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0440 @@ -441507,7 +481051,7 @@ ENCODING 35848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 2540 2980 @@ -441525,7 +481069,7 @@ ENCODING 35849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 5FE0 1220 @@ -441543,7 +481087,7 @@ ENCODING 35850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -441561,7 +481105,7 @@ ENCODING 35851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0440 @@ -441579,7 +481123,7 @@ ENCODING 35852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 0240 @@ -441597,7 +481141,7 @@ ENCODING 35853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2FE0 0540 @@ -441615,7 +481159,7 @@ ENCODING 35854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 0240 @@ -441633,7 +481177,7 @@ ENCODING 35855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0100 @@ -441651,7 +481195,7 @@ ENCODING 35856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 24A0 07C0 @@ -441669,7 +481213,7 @@ ENCODING 35857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 07E0 @@ -441687,7 +481231,7 @@ ENCODING 35858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -441705,7 +481249,7 @@ ENCODING 35859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 0FE0 @@ -441723,7 +481267,7 @@ ENCODING 35860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 0EE0 @@ -441741,7 +481285,7 @@ ENCODING 35861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 2440 0BA0 @@ -441759,7 +481303,7 @@ ENCODING 35862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F20 0540 @@ -441777,7 +481321,7 @@ ENCODING 35863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 2900 1FC0 @@ -441795,7 +481339,7 @@ ENCODING 35864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 25E0 0220 @@ -441813,7 +481357,7 @@ ENCODING 35865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -441831,7 +481375,7 @@ ENCODING 35866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0240 @@ -441849,7 +481393,7 @@ ENCODING 35867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -441867,7 +481411,7 @@ ENCODING 35868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2AA0 05C0 @@ -441885,7 +481429,7 @@ ENCODING 35869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0820 @@ -441903,7 +481447,7 @@ ENCODING 35870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4520 05C0 @@ -441921,7 +481465,7 @@ ENCODING 35871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -441939,7 +481483,7 @@ ENCODING 35872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9240 4A80 5FE0 @@ -441957,7 +481501,7 @@ ENCODING 35873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2540 07C0 @@ -441975,7 +481519,7 @@ ENCODING 35874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8840 5E40 1240 @@ -441993,7 +481537,7 @@ ENCODING 35875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F20 0A20 @@ -442011,7 +481555,7 @@ ENCODING 35876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -442029,7 +481573,7 @@ ENCODING 35877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 0FE0 @@ -442047,7 +481591,7 @@ ENCODING 35878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5FE0 0500 @@ -442065,7 +481609,7 @@ ENCODING 35879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8320 4A40 0AA0 @@ -442083,7 +481627,7 @@ ENCODING 35880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 0280 @@ -442101,7 +481645,7 @@ ENCODING 35881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 07C0 @@ -442119,7 +481663,7 @@ ENCODING 35882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 0280 @@ -442137,7 +481681,7 @@ ENCODING 35883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2FE0 0A20 @@ -442155,7 +481699,7 @@ ENCODING 35884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 0660 @@ -442173,7 +481717,7 @@ ENCODING 35885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 0FE0 @@ -442191,7 +481735,7 @@ ENCODING 35886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5540 1FE0 @@ -442209,7 +481753,7 @@ ENCODING 35887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 27E0 0480 @@ -442227,7 +481771,7 @@ ENCODING 35888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 2520 0FE0 @@ -442245,7 +481789,7 @@ ENCODING 35889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2FE0 0AA0 @@ -442263,7 +481807,7 @@ ENCODING 35890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 0FE0 @@ -442281,7 +481825,7 @@ ENCODING 35891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8440 5F60 0440 @@ -442299,7 +481843,7 @@ ENCODING 35892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 2BE0 0AA0 @@ -442317,7 +481861,7 @@ ENCODING 35893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2440 0FE0 @@ -442335,7 +481879,7 @@ ENCODING 35894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8AC0 55A0 1FE0 @@ -442353,7 +481897,7 @@ ENCODING 35895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 1080 2440 @@ -442371,7 +481915,7 @@ ENCODING 35896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 E240 2420 @@ -442389,7 +481933,7 @@ ENCODING 35897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4900 87E0 @@ -442407,7 +481951,7 @@ ENCODING 35898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 8840 2240 @@ -442425,7 +481969,7 @@ ENCODING 35899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 8940 1140 @@ -442443,7 +481987,7 @@ ENCODING 35900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 4940 83E0 @@ -442461,7 +482005,7 @@ ENCODING 35901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 4A40 8520 @@ -442479,7 +482023,7 @@ ENCODING 35902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 4FE0 8420 @@ -442497,7 +482041,7 @@ ENCODING 35903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 9520 5200 @@ -442515,7 +482059,7 @@ ENCODING 35904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 5520 8AC0 @@ -442533,7 +482077,7 @@ ENCODING 35905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FD20 9600 @@ -442551,7 +482095,7 @@ ENCODING 35906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4DA0 8360 @@ -442569,7 +482113,7 @@ ENCODING 35907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6E80 9480 2FE0 @@ -442587,7 +482131,7 @@ ENCODING 35908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 4FE0 A100 @@ -442605,7 +482149,7 @@ ENCODING 35909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 64E0 9E80 0AE0 @@ -442622,9 +482166,8 @@ STARTCHAR U_8C46 ENCODING 35910 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 7FC0 0000 3F80 @@ -442641,7 +482184,7 @@ ENCODING 35911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 03E0 0080 @@ -442659,7 +482202,7 @@ ENCODING 35912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4440 7FC0 @@ -442677,7 +482220,7 @@ ENCODING 35913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 03E0 F880 @@ -442695,7 +482238,7 @@ ENCODING 35914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 7FC0 4A40 @@ -442713,7 +482256,7 @@ ENCODING 35915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3DE0 4540 @@ -442731,7 +482274,7 @@ ENCODING 35916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 07E0 F420 @@ -442749,7 +482292,7 @@ ENCODING 35917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 07E0 F520 @@ -442767,7 +482310,7 @@ ENCODING 35918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 A240 FA40 @@ -442785,7 +482328,7 @@ ENCODING 35919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 F500 0FE0 @@ -442803,7 +482346,7 @@ ENCODING 35920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 7FC0 5540 @@ -442821,7 +482364,7 @@ ENCODING 35921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FBE0 A8A0 @@ -442839,7 +482382,7 @@ ENCODING 35922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A940 FFE0 A8A0 @@ -442857,7 +482400,7 @@ ENCODING 35923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FFE0 A900 @@ -442875,7 +482418,7 @@ ENCODING 35924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D480 FFE0 D480 @@ -442893,7 +482436,7 @@ ENCODING 35925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0840 @@ -442911,7 +482454,7 @@ ENCODING 35926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0840 @@ -442929,7 +482472,7 @@ ENCODING 35927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5120 5340 @@ -442947,7 +482490,7 @@ ENCODING 35928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 27E0 @@ -442965,7 +482508,7 @@ ENCODING 35929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -442983,7 +482526,7 @@ ENCODING 35930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5100 5220 @@ -443001,7 +482544,7 @@ ENCODING 35931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2240 @@ -443019,7 +482562,7 @@ ENCODING 35932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2140 6540 @@ -443037,7 +482580,7 @@ ENCODING 35933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 22A0 66A0 @@ -443055,7 +482598,7 @@ ENCODING 35934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FA00 23E0 @@ -443073,7 +482616,7 @@ ENCODING 35935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 6620 @@ -443091,7 +482634,7 @@ ENCODING 35936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 2BC0 @@ -443109,7 +482652,7 @@ ENCODING 35937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2200 7FC0 @@ -443127,7 +482670,7 @@ ENCODING 35938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 7FC0 0800 @@ -443145,7 +482688,7 @@ ENCODING 35939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F6E0 4240 4A40 @@ -443163,7 +482706,7 @@ ENCODING 35940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2240 67C0 @@ -443181,7 +482724,7 @@ ENCODING 35941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 6480 @@ -443199,7 +482742,7 @@ ENCODING 35942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -443217,7 +482760,7 @@ ENCODING 35943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 F920 27E0 @@ -443235,7 +482778,7 @@ ENCODING 35944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 21C0 6620 @@ -443253,7 +482796,7 @@ ENCODING 35945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2100 6320 @@ -443271,7 +482814,7 @@ ENCODING 35946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -443289,7 +482832,7 @@ ENCODING 35947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 1480 AFE0 @@ -443307,7 +482850,7 @@ ENCODING 35948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7A0 2140 @@ -443325,7 +482868,7 @@ ENCODING 35949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF60 2520 6520 @@ -443343,7 +482886,7 @@ ENCODING 35950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2540 @@ -443361,7 +482904,7 @@ ENCODING 35951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2520 62C0 @@ -443379,7 +482922,7 @@ ENCODING 35952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 1140 FD40 @@ -443397,7 +482940,7 @@ ENCODING 35953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2440 6FC0 @@ -443415,7 +482958,7 @@ ENCODING 35954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2480 65E0 @@ -443433,7 +482976,7 @@ ENCODING 35955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 A520 EF60 @@ -443451,7 +482994,7 @@ ENCODING 35956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFE0 4240 @@ -443469,7 +483012,7 @@ ENCODING 35957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 4940 D6A0 @@ -443487,7 +483030,7 @@ ENCODING 35958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 6D40 @@ -443505,7 +483048,7 @@ ENCODING 35959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2100 67E0 @@ -443522,26 +483065,26 @@ STARTCHAR U_8C78 ENCODING 35960 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0380 -0C00 -32C0 -0B00 -0D80 -3280 -0D80 -3280 -0C80 -3080 -0300 +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 +BITMAP 3100 D100 59E0 @@ -443559,7 +483102,7 @@ ENCODING 35962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3040 D040 5840 @@ -443577,7 +483120,7 @@ ENCODING 35963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 D080 5880 @@ -443595,7 +483138,7 @@ ENCODING 35964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 E480 5C80 @@ -443613,7 +483156,7 @@ ENCODING 35965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 E880 5FE0 @@ -443631,7 +483174,7 @@ ENCODING 35966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3000 E7E0 5080 @@ -443649,7 +483192,7 @@ ENCODING 35967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 F100 4BE0 @@ -443667,7 +483210,7 @@ ENCODING 35968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3080 D2A0 5AA0 @@ -443685,7 +483228,7 @@ ENCODING 35969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 E100 5FE0 @@ -443703,7 +483246,7 @@ ENCODING 35970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 D120 5920 @@ -443721,7 +483264,7 @@ ENCODING 35971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1880 F100 4BE0 @@ -443739,7 +483282,7 @@ ENCODING 35972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 D7C0 5940 @@ -443757,7 +483300,7 @@ ENCODING 35973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 A480 @@ -443775,7 +483318,7 @@ ENCODING 35974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 D000 5800 @@ -443793,7 +483336,7 @@ ENCODING 35975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BC0 E240 5FC0 @@ -443811,7 +483354,7 @@ ENCODING 35976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 F3C0 4A40 @@ -443829,7 +483372,7 @@ ENCODING 35977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 D3C0 5D40 @@ -443847,7 +483390,7 @@ ENCODING 35978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 D080 5900 @@ -443865,7 +483408,7 @@ ENCODING 35979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 E440 5FC0 @@ -443883,7 +483426,7 @@ ENCODING 35980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 D7E0 5C20 @@ -443901,7 +483444,7 @@ ENCODING 35981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 33E0 D2A0 5AA0 @@ -443919,7 +483462,7 @@ ENCODING 35982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3A00 E4C0 5C40 @@ -443937,7 +483480,7 @@ ENCODING 35983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 D7E0 5D20 @@ -443955,7 +483498,7 @@ ENCODING 35984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 E440 5BA0 @@ -443973,7 +483516,7 @@ ENCODING 35985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 E520 5D20 @@ -443991,7 +483534,7 @@ ENCODING 35986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3520 D520 5FE0 @@ -444009,7 +483552,7 @@ ENCODING 35987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3240 D240 5FE0 @@ -444027,7 +483570,7 @@ ENCODING 35988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 D7E0 5D20 @@ -444045,7 +483588,7 @@ ENCODING 35989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 D4A0 5D40 @@ -444063,7 +483606,7 @@ ENCODING 35990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3440 E240 5080 @@ -444081,7 +483624,7 @@ ENCODING 35991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 D7C0 5D40 @@ -444099,7 +483642,7 @@ ENCODING 35992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5FE0 A280 @@ -444117,7 +483660,7 @@ ENCODING 35993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 6800 DBC0 @@ -444135,7 +483678,7 @@ ENCODING 35994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3EE0 6AA0 9FE0 @@ -444153,7 +483696,7 @@ ENCODING 35995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1A40 E7E0 5A40 @@ -444171,7 +483714,7 @@ ENCODING 35996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 EAA0 5AA0 @@ -444188,62 +483731,62 @@ STARTCHAR U_8C9D ENCODING 35997 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -2080 -3F80 -2080 -2080 -3F80 -1100 -2080 -4040 +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 11 11 0 -1 -BITMAP -0400 -07E0 -0400 -3F80 -2080 -3F80 -2080 -3F80 -2080 -3F80 -60C0 +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 11 11 0 -1 -BITMAP -1000 -2080 -7FC0 +BBX 9 11 1 -1 +BITMAP +2000 +4100 +FF80 0000 -3F80 -2080 -3F80 -2080 -3F80 -1100 -60C0 +7F00 +4100 +7F00 +4100 +7F00 +2200 +C180 ENDCHAR STARTCHAR U_8CA0 ENCODING 36000 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1F00 2200 FF80 @@ -444261,7 +483804,7 @@ ENCODING 36001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0040 7840 4FE0 @@ -444279,7 +483822,7 @@ ENCODING 36002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -444297,7 +483840,7 @@ ENCODING 36003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0BE0 FC00 @@ -444315,7 +483858,7 @@ ENCODING 36004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4A80 7AE0 @@ -444333,7 +483876,7 @@ ENCODING 36005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 FFE0 @@ -444351,7 +483894,7 @@ ENCODING 36006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4800 7800 @@ -444369,7 +483912,7 @@ ENCODING 36007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 FFE0 @@ -444387,7 +483930,7 @@ ENCODING 36008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2280 6320 @@ -444405,7 +483948,7 @@ ENCODING 36009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9700 F400 @@ -444423,7 +483966,7 @@ ENCODING 36010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3580 @@ -444441,7 +483984,7 @@ ENCODING 36011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -444459,7 +484002,7 @@ ENCODING 36012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -444477,7 +484020,7 @@ ENCODING 36013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4200 7FE0 @@ -444495,7 +484038,7 @@ ENCODING 36014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 7A40 0200 @@ -444513,7 +484056,7 @@ ENCODING 36015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 97E0 F420 @@ -444531,7 +484074,7 @@ ENCODING 36016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 FFE0 2500 @@ -444549,7 +484092,7 @@ ENCODING 36017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 77E0 54A0 @@ -444567,7 +484110,7 @@ ENCODING 36018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5D80 5120 @@ -444585,7 +484128,7 @@ ENCODING 36019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 FFE0 0100 @@ -444603,7 +484146,7 @@ ENCODING 36020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -444621,7 +484164,7 @@ ENCODING 36021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1100 3F80 @@ -444639,7 +484182,7 @@ ENCODING 36022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F020 97C0 F100 @@ -444657,7 +484200,7 @@ ENCODING 36023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 4A40 @@ -444675,7 +484218,7 @@ ENCODING 36024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2240 7FE0 @@ -444693,7 +484236,7 @@ ENCODING 36025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9280 F3E0 @@ -444711,7 +484254,7 @@ ENCODING 36026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 F420 @@ -444729,7 +484272,7 @@ ENCODING 36027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 7FC0 1240 @@ -444747,7 +484290,7 @@ ENCODING 36028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 48E0 @@ -444765,7 +484308,7 @@ ENCODING 36029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 F240 @@ -444783,7 +484326,7 @@ ENCODING 36030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9780 F480 @@ -444800,26 +484343,26 @@ STARTCHAR U_8CBF ENCODING 36031 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -77C0 -4240 -5240 -6C40 -3F80 -2080 -3F80 -2080 -3F80 -1100 -60C0 +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 +BITMAP 2000 FBE0 2A20 @@ -444837,7 +484380,7 @@ ENCODING 36033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1500 @@ -444855,7 +484398,7 @@ ENCODING 36034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93C0 9440 @@ -444873,7 +484416,7 @@ ENCODING 36035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 2200 7FE0 @@ -444891,7 +484434,7 @@ ENCODING 36036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 F200 @@ -444909,7 +484452,7 @@ ENCODING 36037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -444927,7 +484470,7 @@ ENCODING 36038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 8940 FFE0 @@ -444944,26 +484487,26 @@ STARTCHAR U_8CC7 ENCODING 36039 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4400 -2FE0 -1120 -7F80 -30E0 -1F80 -1080 -1F80 -1080 -1F80 -70E0 +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 +BITMAP FFE0 0A00 7FC0 @@ -444981,7 +484524,7 @@ ENCODING 36041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F200 97C0 @@ -444999,7 +484542,7 @@ ENCODING 36042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 90A0 FFE0 @@ -445017,7 +484560,7 @@ ENCODING 36043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8880 FFE0 @@ -445035,7 +484578,7 @@ ENCODING 36044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1200 @@ -445053,7 +484596,7 @@ ENCODING 36045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BE0 FA80 @@ -445071,7 +484614,7 @@ ENCODING 36046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 93C0 FE00 @@ -445089,7 +484632,7 @@ ENCODING 36047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 8A20 @@ -445107,7 +484650,7 @@ ENCODING 36048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F240 97E0 @@ -445125,7 +484668,7 @@ ENCODING 36049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 95C0 @@ -445143,7 +484686,7 @@ ENCODING 36050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9440 9820 @@ -445161,7 +484704,7 @@ ENCODING 36051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -445179,7 +484722,7 @@ ENCODING 36052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -445197,7 +484740,7 @@ ENCODING 36053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 8920 8FE0 @@ -445215,7 +484758,7 @@ ENCODING 36054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8940 FE20 @@ -445233,7 +484776,7 @@ ENCODING 36055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 97E0 F4A0 @@ -445251,7 +484794,7 @@ ENCODING 36056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 E100 AFE0 @@ -445269,7 +484812,7 @@ ENCODING 36057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9520 F7E0 @@ -445287,7 +484830,7 @@ ENCODING 36058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -445305,7 +484848,7 @@ ENCODING 36059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BC0 2080 @@ -445323,7 +484866,7 @@ ENCODING 36060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -445341,7 +484884,7 @@ ENCODING 36061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9820 9280 @@ -445359,7 +484902,7 @@ ENCODING 36062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 9120 @@ -445377,7 +484920,7 @@ ENCODING 36063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 EAA0 @@ -445395,7 +484938,7 @@ ENCODING 36064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 F440 @@ -445413,7 +484956,7 @@ ENCODING 36065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4440 @@ -445431,7 +484974,7 @@ ENCODING 36066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A240 F980 @@ -445449,7 +484992,7 @@ ENCODING 36067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -445467,7 +485010,7 @@ ENCODING 36068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 F140 @@ -445485,7 +485028,7 @@ ENCODING 36069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 F440 @@ -445503,7 +485046,7 @@ ENCODING 36070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9EC0 F0A0 @@ -445521,7 +485064,7 @@ ENCODING 36071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 9540 F980 @@ -445539,7 +485082,7 @@ ENCODING 36072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8020 @@ -445557,7 +485100,7 @@ ENCODING 36073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7A20 @@ -445575,7 +485118,7 @@ ENCODING 36074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4200 7FE0 @@ -445593,7 +485136,7 @@ ENCODING 36075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -445611,7 +485154,7 @@ ENCODING 36076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 F7C0 @@ -445629,7 +485172,7 @@ ENCODING 36077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9120 F7A0 @@ -445647,7 +485190,7 @@ ENCODING 36078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7F80 0880 @@ -445665,7 +485208,7 @@ ENCODING 36079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7E0 9AA0 @@ -445683,7 +485226,7 @@ ENCODING 36080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 F100 @@ -445701,7 +485244,7 @@ ENCODING 36081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9920 FFE0 @@ -445719,7 +485262,7 @@ ENCODING 36082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1780 2480 EFE0 @@ -445737,7 +485280,7 @@ ENCODING 36083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 94C0 FEA0 @@ -445755,7 +485298,7 @@ ENCODING 36084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA40 27E0 @@ -445773,7 +485316,7 @@ ENCODING 36085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 F5A0 @@ -445791,7 +485334,7 @@ ENCODING 36086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F280 9440 @@ -445809,7 +485352,7 @@ ENCODING 36087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 5540 @@ -445827,7 +485370,7 @@ ENCODING 36088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7920 5540 5FE0 @@ -445845,7 +485388,7 @@ ENCODING 36089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 F7E0 @@ -445863,7 +485406,7 @@ ENCODING 36090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9FE0 F280 @@ -445881,7 +485424,7 @@ ENCODING 36091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F140 9FE0 F520 @@ -445899,7 +485442,7 @@ ENCODING 36092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 F280 @@ -445917,7 +485460,7 @@ ENCODING 36093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8A20 @@ -445935,7 +485478,7 @@ ENCODING 36094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 A100 @@ -445953,7 +485496,7 @@ ENCODING 36095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF60 95A0 F360 @@ -445971,7 +485514,7 @@ ENCODING 36096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 9360 F940 @@ -445989,7 +485532,7 @@ ENCODING 36097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 79E0 @@ -446007,7 +485550,7 @@ ENCODING 36098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 97A0 F540 @@ -446025,7 +485568,7 @@ ENCODING 36099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9540 @@ -446043,7 +485586,7 @@ ENCODING 36100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5140 @@ -446061,7 +485604,7 @@ ENCODING 36101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FDE0 1340 @@ -446079,7 +485622,7 @@ ENCODING 36102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F140 9FE0 F100 @@ -446097,7 +485640,7 @@ ENCODING 36103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 46C0 F0A0 AFE0 @@ -446115,7 +485658,7 @@ ENCODING 36104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 FFE0 @@ -446133,7 +485676,7 @@ ENCODING 36105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9280 FFE0 @@ -446151,7 +485694,7 @@ ENCODING 36106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A500 FFC0 A500 @@ -446169,7 +485712,7 @@ ENCODING 36107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5480 7FE0 @@ -446187,7 +485730,7 @@ ENCODING 36108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AA0 F6C0 9FE0 @@ -446205,7 +485748,7 @@ ENCODING 36109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9480 F7E0 @@ -446223,7 +485766,7 @@ ENCODING 36110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 FFE0 9280 @@ -446241,7 +485784,7 @@ ENCODING 36111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -446259,7 +485802,7 @@ ENCODING 36112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 F160 @@ -446277,7 +485820,7 @@ ENCODING 36113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 5080 @@ -446295,7 +485838,7 @@ ENCODING 36114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A2A0 FBE0 @@ -446313,7 +485856,7 @@ ENCODING 36115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E0C0 A0A0 EFE0 @@ -446331,7 +485874,7 @@ ENCODING 36116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -446349,7 +485892,7 @@ ENCODING 36117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 AFE0 A880 @@ -446367,7 +485910,7 @@ ENCODING 36118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 F100 @@ -446385,7 +485928,7 @@ ENCODING 36119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AFC0 E840 @@ -446403,7 +485946,7 @@ ENCODING 36120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 FFE0 9AA0 @@ -446421,7 +485964,7 @@ ENCODING 36121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1CE0 1080 FFE0 @@ -446439,7 +485982,7 @@ ENCODING 36122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 EEE0 AA80 @@ -446457,7 +486000,7 @@ ENCODING 36123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 5540 @@ -446475,7 +486018,7 @@ ENCODING 36124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 EFE0 A080 @@ -446492,26 +486035,26 @@ STARTCHAR U_8D1D ENCODING 36125 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -2480 -2480 -2480 -2480 -2480 -2480 -0A00 -1180 -6080 +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 +BITMAP 0400 07E0 0400 @@ -446528,8 +486071,8 @@ STARTCHAR U_8D1F ENCODING 36127 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 1000 1F00 2200 @@ -446546,26 +486089,26 @@ STARTCHAR U_8D20 ENCODING 36128 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -1900 -2080 -7FC0 -0080 -3F80 -2480 -2480 -2A80 -1100 -60C0 +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 +BITMAP 3F80 0400 FFE0 @@ -446583,7 +486126,7 @@ ENCODING 36130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8880 AFE0 @@ -446601,7 +486144,7 @@ ENCODING 36131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -446619,7 +486162,7 @@ ENCODING 36132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 9240 9180 @@ -446637,7 +486180,7 @@ ENCODING 36133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 A9E0 @@ -446655,7 +486198,7 @@ ENCODING 36134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 8A40 AA80 @@ -446673,7 +486216,7 @@ ENCODING 36135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2380 6E20 @@ -446691,7 +486234,7 @@ ENCODING 36136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01C0 7E00 4200 @@ -446709,7 +486252,7 @@ ENCODING 36137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F820 8BC0 AA00 @@ -446727,7 +486270,7 @@ ENCODING 36138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 3580 @@ -446745,7 +486288,7 @@ ENCODING 36139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2080 DFE0 @@ -446763,7 +486306,7 @@ ENCODING 36140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 8F80 A900 @@ -446781,7 +486324,7 @@ ENCODING 36141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8A00 ABE0 @@ -446799,7 +486342,7 @@ ENCODING 36142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8880 ABE0 @@ -446817,7 +486360,7 @@ ENCODING 36143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -446835,7 +486378,7 @@ ENCODING 36144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 0140 FFE0 @@ -446853,7 +486396,7 @@ ENCODING 36145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 8A40 AFC0 @@ -446871,7 +486414,7 @@ ENCODING 36146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1500 @@ -446889,7 +486432,7 @@ ENCODING 36147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 2480 @@ -446907,7 +486450,7 @@ ENCODING 36148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8880 A8E0 @@ -446925,7 +486468,7 @@ ENCODING 36149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 2480 @@ -446943,7 +486486,7 @@ ENCODING 36150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 AA20 @@ -446961,7 +486504,7 @@ ENCODING 36151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 24E0 6F00 @@ -446979,7 +486522,7 @@ ENCODING 36152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 4120 5120 @@ -446996,26 +486539,26 @@ STARTCHAR U_8D39 ENCODING 36153 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -7FC0 -0940 -7FC0 +BBX 10 11 1 -1 +BITMAP +1200 +FF80 +1280 +FF80 +9200 +FFC0 +4140 4900 -7FE0 -20A0 -2480 -2480 -0B00 -70C0 +4900 +1600 +E180 ENDCHAR STARTCHAR U_8D3A ENCODING 36154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD20 25E0 @@ -447033,7 +486576,7 @@ ENCODING 36155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8900 AA40 @@ -447051,7 +486594,7 @@ ENCODING 36156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 88A0 AFE0 @@ -447069,7 +486612,7 @@ ENCODING 36157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FF80 2280 @@ -447087,7 +486630,7 @@ ENCODING 36158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 7FC0 @@ -447105,7 +486648,7 @@ ENCODING 36159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FE0 A900 @@ -447123,7 +486666,7 @@ ENCODING 36160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 BA80 A320 @@ -447141,7 +486684,7 @@ ENCODING 36161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4200 DFE0 @@ -447159,7 +486702,7 @@ ENCODING 36162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8BE0 AA40 @@ -447177,7 +486720,7 @@ ENCODING 36163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BE0 AA00 @@ -447195,7 +486738,7 @@ ENCODING 36164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2FE0 D240 @@ -447213,7 +486756,7 @@ ENCODING 36165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8FE0 A900 @@ -447231,7 +486774,7 @@ ENCODING 36166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 AA20 @@ -447249,7 +486792,7 @@ ENCODING 36167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 88A0 AFE0 @@ -447267,7 +486810,7 @@ ENCODING 36168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8800 ABE0 @@ -447285,7 +486828,7 @@ ENCODING 36169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1480 @@ -447303,7 +486846,7 @@ ENCODING 36170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8940 AA20 @@ -447321,7 +486864,7 @@ ENCODING 36171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8EC0 A8A0 @@ -447339,7 +486882,7 @@ ENCODING 36172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FA0 A940 @@ -447357,7 +486900,7 @@ ENCODING 36173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -447375,7 +486918,7 @@ ENCODING 36174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FE0 A900 @@ -447393,7 +486936,7 @@ ENCODING 36175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 1500 FFE0 @@ -447411,7 +486954,7 @@ ENCODING 36176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8A40 ABC0 @@ -447429,7 +486972,7 @@ ENCODING 36177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 2480 @@ -447447,7 +486990,7 @@ ENCODING 36178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8AA0 AAA0 @@ -447465,7 +487008,7 @@ ENCODING 36179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4240 @@ -447483,7 +487026,7 @@ ENCODING 36180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F880 8FE0 @@ -447501,7 +487044,7 @@ ENCODING 36181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAA0 8AC0 AC80 @@ -447519,7 +487062,7 @@ ENCODING 36182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9E0 2240 @@ -447537,7 +487080,7 @@ ENCODING 36183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 AAA0 @@ -447555,7 +487098,7 @@ ENCODING 36184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 11E0 FF40 @@ -447573,7 +487116,7 @@ ENCODING 36185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 8FE0 AAA0 @@ -447591,7 +487134,7 @@ ENCODING 36186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 FFE0 8A80 @@ -447609,7 +487152,7 @@ ENCODING 36187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9220 @@ -447627,7 +487170,7 @@ ENCODING 36188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 97E0 9080 @@ -447645,7 +487188,7 @@ ENCODING 36189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A900 EFC0 @@ -447663,7 +487206,7 @@ ENCODING 36190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 7BC0 9480 @@ -447681,7 +487224,7 @@ ENCODING 36191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26C0 F880 57E0 @@ -447699,7 +487242,7 @@ ENCODING 36192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 8FE0 A920 @@ -447717,7 +487260,7 @@ ENCODING 36193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8A40 AFE0 @@ -447735,7 +487278,7 @@ ENCODING 36194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2000 @@ -447753,7 +487296,7 @@ ENCODING 36195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 FA80 5140 @@ -447771,7 +487314,7 @@ ENCODING 36196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 3FC0 @@ -447789,7 +487332,7 @@ ENCODING 36197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 23E0 @@ -447807,7 +487350,7 @@ ENCODING 36198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D00 11E0 @@ -447825,7 +487368,7 @@ ENCODING 36199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1160 @@ -447843,7 +487386,7 @@ ENCODING 36200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7C80 13E0 @@ -447861,7 +487404,7 @@ ENCODING 36201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DC0 1280 @@ -447879,7 +487422,7 @@ ENCODING 36202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F8E0 2080 @@ -447897,7 +487440,7 @@ ENCODING 36203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7FE0 1080 @@ -447915,7 +487458,7 @@ ENCODING 36204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 7C80 13E0 @@ -447933,7 +487476,7 @@ ENCODING 36205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1120 7FA0 1140 @@ -447951,7 +487494,7 @@ ENCODING 36206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 FD20 2520 @@ -447969,7 +487512,7 @@ ENCODING 36207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7FE0 12A0 @@ -447987,7 +487530,7 @@ ENCODING 36208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -448005,7 +487548,7 @@ ENCODING 36209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0400 7FC0 @@ -448023,7 +487566,7 @@ ENCODING 36210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7FE0 @@ -448041,7 +487584,7 @@ ENCODING 36211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 1140 7D40 @@ -448059,7 +487602,7 @@ ENCODING 36212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7C80 @@ -448077,7 +487620,7 @@ ENCODING 36213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1240 7D40 @@ -448095,7 +487638,7 @@ ENCODING 36214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 7C80 @@ -448113,7 +487656,7 @@ ENCODING 36215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13C0 7C40 @@ -448131,7 +487674,7 @@ ENCODING 36216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7EA0 @@ -448149,7 +487692,7 @@ ENCODING 36217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 11E0 7E20 @@ -448167,7 +487710,7 @@ ENCODING 36218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 2080 F940 @@ -448185,7 +487728,7 @@ ENCODING 36219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 10C0 7DA0 @@ -448203,7 +487746,7 @@ ENCODING 36220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1100 7BE0 @@ -448221,7 +487764,7 @@ ENCODING 36221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 7D40 @@ -448239,7 +487782,7 @@ ENCODING 36222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 7980 1100 @@ -448257,7 +487800,7 @@ ENCODING 36223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 1380 7A80 @@ -448275,7 +487818,7 @@ ENCODING 36224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 13E0 7E80 @@ -448293,7 +487836,7 @@ ENCODING 36225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1140 7E20 @@ -448311,7 +487854,7 @@ ENCODING 36226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 7A00 17E0 @@ -448329,7 +487872,7 @@ ENCODING 36227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7880 1280 @@ -448347,7 +487890,7 @@ ENCODING 36228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 7E40 @@ -448365,7 +487908,7 @@ ENCODING 36229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 1140 7D40 @@ -448383,7 +487926,7 @@ ENCODING 36230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 F780 2480 @@ -448401,7 +487944,7 @@ ENCODING 36231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F080 27E0 @@ -448419,7 +487962,7 @@ ENCODING 36232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F100 21E0 @@ -448437,7 +487980,7 @@ ENCODING 36233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 12A0 7EA0 @@ -448455,7 +487998,7 @@ ENCODING 36234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 10A0 7FE0 @@ -448473,7 +488016,7 @@ ENCODING 36235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 11C0 7E40 @@ -448491,7 +488034,7 @@ ENCODING 36236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1080 7FE0 @@ -448509,7 +488052,7 @@ ENCODING 36237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 11C0 7A40 @@ -448527,7 +488070,7 @@ ENCODING 36238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1280 7FE0 @@ -448545,7 +488088,7 @@ ENCODING 36239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 13C0 7C80 @@ -448563,7 +488106,7 @@ ENCODING 36240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2120 FDA0 @@ -448581,7 +488124,7 @@ ENCODING 36241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 1180 7CE0 @@ -448599,7 +488142,7 @@ ENCODING 36242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 1140 7D60 @@ -448617,7 +488160,7 @@ ENCODING 36243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 7E40 @@ -448635,7 +488178,7 @@ ENCODING 36244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F20 22A0 FBA0 @@ -448653,7 +488196,7 @@ ENCODING 36245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1220 7FE0 @@ -448671,7 +488214,7 @@ ENCODING 36246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1540 7D40 @@ -448689,7 +488232,7 @@ ENCODING 36247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FA20 1220 @@ -448707,7 +488250,7 @@ ENCODING 36248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -448725,7 +488268,7 @@ ENCODING 36249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12A0 11C0 7C80 @@ -448743,7 +488286,7 @@ ENCODING 36250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F7C0 2100 @@ -448761,7 +488304,7 @@ ENCODING 36251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 1140 7E20 @@ -448779,7 +488322,7 @@ ENCODING 36252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 13E0 7D60 @@ -448797,7 +488340,7 @@ ENCODING 36253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F280 2D60 @@ -448815,7 +488358,7 @@ ENCODING 36254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 F7C0 2280 @@ -448833,7 +488376,7 @@ ENCODING 36255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 F100 @@ -448851,7 +488394,7 @@ ENCODING 36256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 1080 7FE0 @@ -448869,7 +488412,7 @@ ENCODING 36257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1300 1280 7FE0 @@ -448887,7 +488430,7 @@ ENCODING 36258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 F840 23C0 @@ -448905,7 +488448,7 @@ ENCODING 36259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2500 F7E0 @@ -448923,7 +488466,7 @@ ENCODING 36260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F7E0 2420 @@ -448941,7 +488484,7 @@ ENCODING 36261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 13E0 7D40 @@ -448959,7 +488502,7 @@ ENCODING 36262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 F5E0 22A0 @@ -448977,7 +488520,7 @@ ENCODING 36263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 1240 7FC0 @@ -448995,7 +488538,7 @@ ENCODING 36264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 12A0 7FE0 @@ -449013,7 +488556,7 @@ ENCODING 36265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FD40 27C0 @@ -449031,7 +488574,7 @@ ENCODING 36266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 FA40 @@ -449049,7 +488592,7 @@ ENCODING 36267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2100 FFE0 @@ -449067,7 +488610,7 @@ ENCODING 36268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 F100 @@ -449085,7 +488628,7 @@ ENCODING 36269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 23E0 FE80 @@ -449103,7 +488646,7 @@ ENCODING 36270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 FBC0 @@ -449121,7 +488664,7 @@ ENCODING 36271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 25A0 FB60 @@ -449139,7 +488682,7 @@ ENCODING 36272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 F540 2920 @@ -449157,7 +488700,7 @@ ENCODING 36273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 F240 @@ -449175,7 +488718,7 @@ ENCODING 36274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A40 2FE0 F240 @@ -449193,7 +488736,7 @@ ENCODING 36275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 2080 @@ -449211,7 +488754,7 @@ ENCODING 36276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9280 9280 @@ -449229,7 +488772,7 @@ ENCODING 36277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7A00 4BE0 @@ -449247,7 +488790,7 @@ ENCODING 36278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 4880 @@ -449265,7 +488808,7 @@ ENCODING 36279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7BE0 4C00 @@ -449283,7 +488826,7 @@ ENCODING 36280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0800 0F80 @@ -449301,7 +488844,7 @@ ENCODING 36281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7900 4FC0 @@ -449319,7 +488862,7 @@ ENCODING 36282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4FC0 @@ -449337,7 +488880,7 @@ ENCODING 36283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7900 4A80 @@ -449355,7 +488898,7 @@ ENCODING 36284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A40 4A40 @@ -449373,7 +488916,7 @@ ENCODING 36285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7880 4FE0 @@ -449391,7 +488934,7 @@ ENCODING 36286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7880 4880 @@ -449409,7 +488952,7 @@ ENCODING 36287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A40 4A40 @@ -449427,7 +488970,7 @@ ENCODING 36288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A20 4A20 @@ -449445,7 +488988,7 @@ ENCODING 36289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 7AA0 4AA0 @@ -449463,7 +489006,7 @@ ENCODING 36290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7880 4FE0 @@ -449481,7 +489024,7 @@ ENCODING 36291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 4F00 4900 @@ -449499,7 +489042,7 @@ ENCODING 36292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7A80 4C40 @@ -449517,7 +489060,7 @@ ENCODING 36293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 4A00 @@ -449535,7 +489078,7 @@ ENCODING 36294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7880 4940 @@ -449553,7 +489096,7 @@ ENCODING 36295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 7D40 4D40 @@ -449571,7 +489114,7 @@ ENCODING 36296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7A80 4C40 @@ -449589,7 +489132,7 @@ ENCODING 36297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 4A80 @@ -449607,7 +489150,7 @@ ENCODING 36298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FC0 4900 @@ -449625,7 +489168,7 @@ ENCODING 36299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 7A40 4FE0 @@ -449643,7 +489186,7 @@ ENCODING 36300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7A80 4BE0 @@ -449661,7 +489204,7 @@ ENCODING 36301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 4FE0 @@ -449679,7 +489222,7 @@ ENCODING 36302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 4C20 @@ -449697,7 +489240,7 @@ ENCODING 36303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 94E0 9FA0 @@ -449715,7 +489258,7 @@ ENCODING 36304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9280 9280 @@ -449733,7 +489276,7 @@ ENCODING 36305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 F7C0 9840 @@ -449751,7 +489294,7 @@ ENCODING 36306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 7820 4BA0 @@ -449769,7 +489312,7 @@ ENCODING 36307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7880 4FE0 @@ -449787,7 +489330,7 @@ ENCODING 36308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 4BE0 4C20 @@ -449805,7 +489348,7 @@ ENCODING 36309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 48E0 @@ -449823,7 +489366,7 @@ ENCODING 36310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4900 4900 @@ -449841,7 +489384,7 @@ ENCODING 36311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9240 9440 @@ -449859,7 +489402,7 @@ ENCODING 36312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4CA0 4AC0 @@ -449877,7 +489420,7 @@ ENCODING 36313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 4A40 @@ -449895,7 +489438,7 @@ ENCODING 36314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 9AA0 9AA0 @@ -449913,7 +489456,7 @@ ENCODING 36315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 97E0 94A0 @@ -449931,7 +489474,7 @@ ENCODING 36316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 9420 @@ -449949,7 +489492,7 @@ ENCODING 36317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4A00 4A00 @@ -449967,7 +489510,7 @@ ENCODING 36318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0E0 9700 9480 @@ -449985,7 +489528,7 @@ ENCODING 36319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -450003,7 +489546,7 @@ ENCODING 36320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -450021,7 +489564,7 @@ ENCODING 36321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F100 9FE0 @@ -450039,7 +489582,7 @@ ENCODING 36322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93C0 9440 @@ -450057,7 +489600,7 @@ ENCODING 36323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 7D00 4FE0 @@ -450075,7 +489618,7 @@ ENCODING 36324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7900 4FE0 @@ -450093,7 +489636,7 @@ ENCODING 36325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 8A40 8A60 @@ -450111,7 +489654,7 @@ ENCODING 36326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F500 9500 97E0 @@ -450129,7 +489672,7 @@ ENCODING 36327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 9440 @@ -450147,7 +489690,7 @@ ENCODING 36328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9280 @@ -450165,7 +489708,7 @@ ENCODING 36329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7FE0 4D20 @@ -450183,7 +489726,7 @@ ENCODING 36330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 9240 9FE0 @@ -450201,7 +489744,7 @@ ENCODING 36331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB80 2280 3BA0 @@ -450219,7 +489762,7 @@ ENCODING 36332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7880 4BE0 @@ -450237,7 +489780,7 @@ ENCODING 36333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8C40 8A80 @@ -450255,7 +489798,7 @@ ENCODING 36334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9100 9100 @@ -450273,7 +489816,7 @@ ENCODING 36335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97C0 9440 @@ -450291,7 +489834,7 @@ ENCODING 36336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F420 9240 97E0 @@ -450309,7 +489852,7 @@ ENCODING 36337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -450327,7 +489870,7 @@ ENCODING 36338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 9440 @@ -450345,7 +489888,7 @@ ENCODING 36339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9AA0 96C0 @@ -450363,7 +489906,7 @@ ENCODING 36340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9280 9280 @@ -450381,7 +489924,7 @@ ENCODING 36341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9240 9FE0 @@ -450399,7 +489942,7 @@ ENCODING 36342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 9480 93E0 @@ -450417,7 +489960,7 @@ ENCODING 36343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 9240 @@ -450435,7 +489978,7 @@ ENCODING 36344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 94A0 97C0 @@ -450453,7 +489996,7 @@ ENCODING 36345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F020 99C0 9480 @@ -450471,7 +490014,7 @@ ENCODING 36346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9280 9280 @@ -450489,7 +490032,7 @@ ENCODING 36347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9240 @@ -450507,7 +490050,7 @@ ENCODING 36348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -450525,7 +490068,7 @@ ENCODING 36349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 97C0 @@ -450543,7 +490086,7 @@ ENCODING 36350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5A40 D180 @@ -450561,7 +490104,7 @@ ENCODING 36351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -450579,7 +490122,7 @@ ENCODING 36352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 9440 @@ -450597,7 +490140,7 @@ ENCODING 36353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8800 8AA0 @@ -450615,7 +490158,7 @@ ENCODING 36354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9540 9740 @@ -450633,7 +490176,7 @@ ENCODING 36355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 9340 9100 @@ -450651,7 +490194,7 @@ ENCODING 36356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 92E0 9280 @@ -450669,7 +490212,7 @@ ENCODING 36357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC00 27E0 @@ -450687,7 +490230,7 @@ ENCODING 36358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9240 97C0 @@ -450705,7 +490248,7 @@ ENCODING 36359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97E0 9800 @@ -450723,7 +490266,7 @@ ENCODING 36360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8FE0 8900 @@ -450741,7 +490284,7 @@ ENCODING 36361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9440 @@ -450759,7 +490302,7 @@ ENCODING 36362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9280 9100 @@ -450777,7 +490320,7 @@ ENCODING 36363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 94E0 9FA0 @@ -450795,7 +490338,7 @@ ENCODING 36364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -450813,7 +490356,7 @@ ENCODING 36365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F120 97A0 9140 @@ -450831,7 +490374,7 @@ ENCODING 36366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8880 8900 @@ -450849,7 +490392,7 @@ ENCODING 36367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F120 9F40 9380 @@ -450867,7 +490410,7 @@ ENCODING 36368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 97E0 92A0 @@ -450885,7 +490428,7 @@ ENCODING 36369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 97E0 9240 @@ -450903,7 +490446,7 @@ ENCODING 36370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9080 97E0 @@ -450921,7 +490464,7 @@ ENCODING 36371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 9280 93E0 @@ -450939,7 +490482,7 @@ ENCODING 36372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1E0 9100 97C0 @@ -450957,7 +490500,7 @@ ENCODING 36373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 97C0 @@ -450975,7 +490518,7 @@ ENCODING 36374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9240 97E0 @@ -450993,7 +490536,7 @@ ENCODING 36375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 9540 @@ -451011,7 +490554,7 @@ ENCODING 36376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97E0 9960 @@ -451029,7 +490572,7 @@ ENCODING 36377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 9BE0 9AA0 @@ -451047,7 +490590,7 @@ ENCODING 36378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 9440 @@ -451065,7 +490608,7 @@ ENCODING 36379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -451083,7 +490626,7 @@ ENCODING 36380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -451101,7 +490644,7 @@ ENCODING 36381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 97C0 @@ -451119,7 +490662,7 @@ ENCODING 36382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -451137,7 +490680,7 @@ ENCODING 36383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 94E0 97A0 @@ -451155,7 +490698,7 @@ ENCODING 36384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9820 @@ -451173,7 +490716,7 @@ ENCODING 36385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 9FE0 @@ -451191,7 +490734,7 @@ ENCODING 36386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -451209,7 +490752,7 @@ ENCODING 36387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9440 @@ -451227,7 +490770,7 @@ ENCODING 36388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9240 @@ -451245,7 +490788,7 @@ ENCODING 36389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9440 @@ -451263,7 +490806,7 @@ ENCODING 36390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9280 @@ -451281,7 +490824,7 @@ ENCODING 36391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93E0 92A0 @@ -451299,7 +490842,7 @@ ENCODING 36392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9440 9AA0 @@ -451317,7 +490860,7 @@ ENCODING 36393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 9F20 9540 @@ -451335,7 +490878,7 @@ ENCODING 36394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 9420 @@ -451353,7 +490896,7 @@ ENCODING 36395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 97E0 @@ -451371,7 +490914,7 @@ ENCODING 36396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F840 8F80 8880 @@ -451389,7 +490932,7 @@ ENCODING 36397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93C0 9480 @@ -451407,7 +490950,7 @@ ENCODING 36398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F080 97E0 @@ -451425,7 +490968,7 @@ ENCODING 36399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F5E0 92A0 9FA0 @@ -451443,7 +490986,7 @@ ENCODING 36400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9440 9BA0 @@ -451460,8 +491003,8 @@ STARTCHAR U_8E31 ENCODING 36401 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP F080 97C0 9540 @@ -451479,7 +491022,7 @@ ENCODING 36402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9480 97E0 @@ -451497,7 +491040,7 @@ ENCODING 36403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -451515,7 +491058,7 @@ ENCODING 36404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9140 97E0 @@ -451533,7 +491076,7 @@ ENCODING 36405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 9FE0 @@ -451551,7 +491094,7 @@ ENCODING 36406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -451569,7 +491112,7 @@ ENCODING 36407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F120 97E0 9140 @@ -451587,7 +491130,7 @@ ENCODING 36408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 97E0 9240 @@ -451605,7 +491148,7 @@ ENCODING 36409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 9520 97E0 @@ -451623,7 +491166,7 @@ ENCODING 36410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 93E0 92A0 @@ -451641,7 +491184,7 @@ ENCODING 36411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 9740 @@ -451659,7 +491202,7 @@ ENCODING 36412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -451677,7 +491220,7 @@ ENCODING 36413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 97C0 @@ -451695,7 +491238,7 @@ ENCODING 36414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9000 93C0 @@ -451713,7 +491256,7 @@ ENCODING 36415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9C40 9540 @@ -451731,7 +491274,7 @@ ENCODING 36416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9FE0 9540 @@ -451749,7 +491292,7 @@ ENCODING 36417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 9FE0 9820 @@ -451767,7 +491310,7 @@ ENCODING 36418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9280 9FE0 @@ -451785,7 +491328,7 @@ ENCODING 36419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 9280 @@ -451803,7 +491346,7 @@ ENCODING 36420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9280 @@ -451821,7 +491364,7 @@ ENCODING 36421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9380 @@ -451839,7 +491382,7 @@ ENCODING 36422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 9520 95E0 @@ -451857,7 +491400,7 @@ ENCODING 36423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -451875,7 +491418,7 @@ ENCODING 36424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 9F20 9520 @@ -451893,7 +491436,7 @@ ENCODING 36425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F220 9140 97E0 @@ -451911,7 +491454,7 @@ ENCODING 36426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F040 9FA0 9940 @@ -451929,7 +491472,7 @@ ENCODING 36427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -451947,7 +491490,7 @@ ENCODING 36428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9440 9920 @@ -451965,7 +491508,7 @@ ENCODING 36429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 97E0 @@ -451983,7 +491526,7 @@ ENCODING 36430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -452001,7 +491544,7 @@ ENCODING 36431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9500 97E0 @@ -452019,7 +491562,7 @@ ENCODING 36432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9380 9540 @@ -452037,7 +491580,7 @@ ENCODING 36433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9240 93C0 @@ -452055,7 +491598,7 @@ ENCODING 36434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 9280 @@ -452073,7 +491616,7 @@ ENCODING 36435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F6E0 94A0 96A0 @@ -452091,7 +491634,7 @@ ENCODING 36436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF00 55E0 @@ -452109,7 +491652,7 @@ ENCODING 36437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9920 9FE0 @@ -452127,7 +491670,7 @@ ENCODING 36438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 97C0 @@ -452145,7 +491688,7 @@ ENCODING 36439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9A80 @@ -452163,7 +491706,7 @@ ENCODING 36440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 A660 @@ -452181,7 +491724,7 @@ ENCODING 36441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0140 FFE0 9100 @@ -452199,7 +491742,7 @@ ENCODING 36442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 9FE0 @@ -452217,7 +491760,7 @@ ENCODING 36443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 9280 @@ -452235,7 +491778,7 @@ ENCODING 36444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9820 @@ -452253,7 +491796,7 @@ ENCODING 36445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 9A80 92E0 @@ -452271,7 +491814,7 @@ ENCODING 36446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 9480 95E0 @@ -452289,7 +491832,7 @@ ENCODING 36447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -452307,7 +491850,7 @@ ENCODING 36448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 97E0 9400 @@ -452325,7 +491868,7 @@ ENCODING 36449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F2E0 92A0 9360 @@ -452343,7 +491886,7 @@ ENCODING 36450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9280 @@ -452361,7 +491904,7 @@ ENCODING 36451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9FE0 9240 @@ -452379,7 +491922,7 @@ ENCODING 36452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9940 96A0 @@ -452397,7 +491940,7 @@ ENCODING 36453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9BE0 9480 @@ -452415,7 +491958,7 @@ ENCODING 36454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E920 A920 AFE0 @@ -452433,7 +491976,7 @@ ENCODING 36455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 9AA0 @@ -452451,7 +491994,7 @@ ENCODING 36456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08A0 FE80 8BE0 @@ -452469,7 +492012,7 @@ ENCODING 36457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FBE0 AE40 @@ -452487,7 +492030,7 @@ ENCODING 36458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9540 @@ -452505,7 +492048,7 @@ ENCODING 36459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9280 9FE0 @@ -452523,7 +492066,7 @@ ENCODING 36460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F740 95A0 9240 @@ -452541,7 +492084,7 @@ ENCODING 36461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9FE0 9AA0 @@ -452559,7 +492102,7 @@ ENCODING 36462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F280 9FE0 @@ -452577,7 +492120,7 @@ ENCODING 36463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 9F20 9540 @@ -452595,7 +492138,7 @@ ENCODING 36464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9800 9F40 @@ -452613,7 +492156,7 @@ ENCODING 36465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9440 @@ -452631,7 +492174,7 @@ ENCODING 36466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E440 AFE0 A280 @@ -452649,7 +492192,7 @@ ENCODING 36467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 95A0 9240 @@ -452667,7 +492210,7 @@ ENCODING 36468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9F60 9040 @@ -452685,7 +492228,7 @@ ENCODING 36469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FEA0 45E0 @@ -452703,7 +492246,7 @@ ENCODING 36470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 96C0 9540 @@ -452721,7 +492264,7 @@ ENCODING 36471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A80 7EE0 @@ -452739,7 +492282,7 @@ ENCODING 36472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 9540 9FE0 @@ -452757,7 +492300,7 @@ ENCODING 36473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 8C40 @@ -452775,7 +492318,7 @@ ENCODING 36474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 9100 @@ -452793,7 +492336,7 @@ ENCODING 36475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 9FE0 @@ -452811,7 +492354,7 @@ ENCODING 36476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAA0 96C0 9FE0 @@ -452829,7 +492372,7 @@ ENCODING 36477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 9540 @@ -452847,7 +492390,7 @@ ENCODING 36478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FF80 AA80 @@ -452865,7 +492408,7 @@ ENCODING 36479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9AA0 @@ -452883,7 +492426,7 @@ ENCODING 36480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 9FE0 @@ -452901,7 +492444,7 @@ ENCODING 36481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 97C0 @@ -452919,7 +492462,7 @@ ENCODING 36482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 95E0 9080 @@ -452937,7 +492480,7 @@ ENCODING 36483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F040 97E0 95A0 @@ -452955,7 +492498,7 @@ ENCODING 36484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4540 7FE0 @@ -452973,7 +492516,7 @@ ENCODING 36485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9540 9FC0 @@ -452991,7 +492534,7 @@ ENCODING 36486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1E0 9100 9FE0 @@ -453009,7 +492552,7 @@ ENCODING 36487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9FE0 9540 @@ -453027,7 +492570,7 @@ ENCODING 36488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 AE80 AAE0 @@ -453045,7 +492588,7 @@ ENCODING 36489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2480 @@ -453063,7 +492606,7 @@ ENCODING 36490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9100 @@ -453081,7 +492624,7 @@ ENCODING 36491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 92A0 @@ -453099,7 +492642,7 @@ ENCODING 36492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97E0 9AA0 @@ -453117,7 +492660,7 @@ ENCODING 36493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9AA0 9660 @@ -453135,7 +492678,7 @@ ENCODING 36494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A540 A920 @@ -453153,7 +492696,7 @@ ENCODING 36495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9FE0 9240 @@ -453171,7 +492714,7 @@ ENCODING 36496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F2A0 9540 92A0 @@ -453189,7 +492732,7 @@ ENCODING 36497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EAE0 BFA0 A4A0 @@ -453207,7 +492750,7 @@ ENCODING 36498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 9BC0 96A0 @@ -453225,7 +492768,7 @@ ENCODING 36499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 A880 AFE0 @@ -453243,7 +492786,7 @@ ENCODING 36500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 9AA0 @@ -453261,7 +492804,7 @@ ENCODING 36501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 AA20 @@ -453279,7 +492822,7 @@ ENCODING 36502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB60 94A0 9B60 @@ -453297,7 +492840,7 @@ ENCODING 36503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 8A00 7FE0 @@ -453315,7 +492858,7 @@ ENCODING 36504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 BF80 AAE0 @@ -453333,7 +492876,7 @@ ENCODING 36505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 EAA0 AEE0 @@ -453351,7 +492894,7 @@ ENCODING 36506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A940 A7E0 @@ -453369,7 +492912,7 @@ ENCODING 36507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 5E00 AAE0 @@ -453387,7 +492930,7 @@ ENCODING 36508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 9FE0 9240 @@ -453405,7 +492948,7 @@ ENCODING 36509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -453423,7 +492966,7 @@ ENCODING 36510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 97C0 9C60 @@ -453441,7 +492984,7 @@ ENCODING 36511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 BFE0 AAA0 @@ -453459,7 +493002,7 @@ ENCODING 36512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2900 7BE0 @@ -453477,7 +493020,7 @@ ENCODING 36513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9240 93C0 @@ -453495,7 +493038,7 @@ ENCODING 36514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 FAA0 9EE0 @@ -453513,7 +493056,7 @@ ENCODING 36515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -453531,7 +493074,7 @@ ENCODING 36516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9FE0 92A0 @@ -453549,7 +493092,7 @@ ENCODING 36517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AAA0 AEC0 @@ -453567,7 +493110,7 @@ ENCODING 36518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 9FE0 9540 @@ -453585,7 +493128,7 @@ ENCODING 36519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 06E0 F000 96E0 @@ -453603,7 +493146,7 @@ ENCODING 36520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A900 ABE0 @@ -453621,7 +493164,7 @@ ENCODING 36521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 AEE0 @@ -453639,7 +493182,7 @@ ENCODING 36522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 AFE0 AAA0 @@ -453656,26 +493199,26 @@ STARTCHAR U_8EAB ENCODING 36523 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -1F80 -1080 -1F80 -10A0 -1FC0 -1080 -7F80 -0480 -1A80 -6100 +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 +BITMAP 21E0 7C20 4420 @@ -453693,7 +493236,7 @@ ENCODING 36525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4FE0 @@ -453711,7 +493254,7 @@ ENCODING 36526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7A80 4A40 @@ -453729,7 +493272,7 @@ ENCODING 36527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F400 9440 @@ -453747,7 +493290,7 @@ ENCODING 36528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4FE0 @@ -453765,7 +493308,7 @@ ENCODING 36529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7BC0 4940 @@ -453783,7 +493326,7 @@ ENCODING 36530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 4A40 @@ -453801,7 +493344,7 @@ ENCODING 36531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7BE0 4A20 @@ -453819,7 +493362,7 @@ ENCODING 36532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -453837,7 +493380,7 @@ ENCODING 36533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BC0 4940 @@ -453855,7 +493398,7 @@ ENCODING 36534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7540 57C0 @@ -453873,7 +493416,7 @@ ENCODING 36535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7900 4FE0 @@ -453891,7 +493434,7 @@ ENCODING 36536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 4900 @@ -453909,7 +493452,7 @@ ENCODING 36537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7BE0 4C20 @@ -453927,7 +493470,7 @@ ENCODING 36538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 7540 5100 @@ -453945,7 +493488,7 @@ ENCODING 36539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7FE0 4C20 @@ -453963,7 +493506,7 @@ ENCODING 36540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BC0 4A00 @@ -453981,7 +493524,7 @@ ENCODING 36541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F520 95E0 @@ -453999,7 +493542,7 @@ ENCODING 36542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 7FE0 4900 @@ -454017,7 +493560,7 @@ ENCODING 36543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5540 @@ -454035,7 +493578,7 @@ ENCODING 36544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F400 95C0 @@ -454053,7 +493596,7 @@ ENCODING 36545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 7540 5FE0 @@ -454071,7 +493614,7 @@ ENCODING 36546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 EBE0 B240 @@ -454089,7 +493632,7 @@ ENCODING 36547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 7AA0 5EE0 @@ -454107,7 +493650,7 @@ ENCODING 36548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7EC0 5AA0 @@ -454125,7 +493668,7 @@ ENCODING 36549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 EFE0 AD40 @@ -454143,7 +493686,7 @@ ENCODING 36550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7FE0 5AA0 @@ -454161,7 +493704,7 @@ ENCODING 36551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77E0 5100 @@ -454179,7 +493722,7 @@ ENCODING 36552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 EFE0 A940 @@ -454197,7 +493740,7 @@ ENCODING 36553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FFE0 B520 @@ -454215,7 +493758,7 @@ ENCODING 36554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -454233,7 +493776,7 @@ ENCODING 36555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FF00 1100 @@ -454251,7 +493794,7 @@ ENCODING 36556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 2780 @@ -454269,7 +493812,7 @@ ENCODING 36557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 FFE0 @@ -454287,7 +493830,7 @@ ENCODING 36558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -454305,7 +493848,7 @@ ENCODING 36559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2280 @@ -454323,7 +493866,7 @@ ENCODING 36560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FF80 2280 @@ -454341,7 +493884,7 @@ ENCODING 36561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 2100 @@ -454359,7 +493902,7 @@ ENCODING 36562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 2080 @@ -454377,7 +493920,7 @@ ENCODING 36563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -454395,7 +493938,7 @@ ENCODING 36564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 20A0 @@ -454413,7 +493956,7 @@ ENCODING 36565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 2080 @@ -454431,7 +493974,7 @@ ENCODING 36566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -454449,7 +493992,7 @@ ENCODING 36567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2240 @@ -454467,7 +494010,7 @@ ENCODING 36568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -454485,7 +494028,7 @@ ENCODING 36569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F8E0 2080 @@ -454503,7 +494046,7 @@ ENCODING 36570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 27E0 @@ -454521,7 +494064,7 @@ ENCODING 36571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 2200 @@ -454539,7 +494082,7 @@ ENCODING 36572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -454557,7 +494100,7 @@ ENCODING 36573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 2280 @@ -454575,7 +494118,7 @@ ENCODING 36574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 2100 @@ -454593,7 +494136,7 @@ ENCODING 36575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 23E0 @@ -454611,7 +494154,7 @@ ENCODING 36576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 2080 @@ -454629,7 +494172,7 @@ ENCODING 36577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 2280 @@ -454647,7 +494190,7 @@ ENCODING 36578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 2000 @@ -454665,7 +494208,7 @@ ENCODING 36579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0400 @@ -454683,7 +494226,7 @@ ENCODING 36580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 2080 @@ -454701,7 +494244,7 @@ ENCODING 36581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 23E0 @@ -454719,7 +494262,7 @@ ENCODING 36582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 2440 @@ -454737,7 +494280,7 @@ ENCODING 36583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 FBC0 2280 @@ -454755,7 +494298,7 @@ ENCODING 36584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F980 2240 @@ -454773,7 +494316,7 @@ ENCODING 36585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 2240 @@ -454791,7 +494334,7 @@ ENCODING 36586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FA80 2480 @@ -454809,7 +494352,7 @@ ENCODING 36587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 2220 @@ -454827,7 +494370,7 @@ ENCODING 36588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FC0 0400 @@ -454845,7 +494388,7 @@ ENCODING 36589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2400 @@ -454863,7 +494406,7 @@ ENCODING 36590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -454881,7 +494424,7 @@ ENCODING 36591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 24A0 @@ -454899,7 +494442,7 @@ ENCODING 36592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A40 7B80 0A20 @@ -454917,7 +494460,7 @@ ENCODING 36593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FFC0 2540 @@ -454935,7 +494478,7 @@ ENCODING 36594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -454953,7 +494496,7 @@ ENCODING 36595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2420 @@ -454971,7 +494514,7 @@ ENCODING 36596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 27E0 @@ -454989,7 +494532,7 @@ ENCODING 36597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F940 2240 @@ -455007,7 +494550,7 @@ ENCODING 36598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2220 @@ -455025,7 +494568,7 @@ ENCODING 36599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F920 27E0 @@ -455043,7 +494586,7 @@ ENCODING 36600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 23E0 @@ -455061,7 +494604,7 @@ ENCODING 36601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 2220 @@ -455079,7 +494622,7 @@ ENCODING 36602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F920 2120 @@ -455097,7 +494640,7 @@ ENCODING 36603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC20 2020 @@ -455115,7 +494658,7 @@ ENCODING 36604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FA80 2280 @@ -455133,7 +494676,7 @@ ENCODING 36605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFC0 2240 @@ -455151,7 +494694,7 @@ ENCODING 36606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 27E0 @@ -455169,7 +494712,7 @@ ENCODING 36607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 F940 27E0 @@ -455187,7 +494730,7 @@ ENCODING 36608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -455205,7 +494748,7 @@ ENCODING 36609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FA40 27E0 @@ -455223,7 +494766,7 @@ ENCODING 36610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -455241,7 +494784,7 @@ ENCODING 36611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 27E0 @@ -455259,7 +494802,7 @@ ENCODING 36612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F920 2540 @@ -455277,7 +494820,7 @@ ENCODING 36613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9E0 2140 @@ -455295,7 +494838,7 @@ ENCODING 36614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -455313,7 +494856,7 @@ ENCODING 36615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA80 2440 @@ -455331,7 +494874,7 @@ ENCODING 36616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2220 @@ -455349,7 +494892,7 @@ ENCODING 36617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 7D40 1100 @@ -455367,7 +494910,7 @@ ENCODING 36618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -455385,7 +494928,7 @@ ENCODING 36619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FC0 0800 @@ -455403,7 +494946,7 @@ ENCODING 36620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -455421,7 +494964,7 @@ ENCODING 36621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FA20 2080 @@ -455439,7 +494982,7 @@ ENCODING 36622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 FAC0 2080 @@ -455457,7 +495000,7 @@ ENCODING 36623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2180 @@ -455475,7 +495018,7 @@ ENCODING 36624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2420 @@ -455493,7 +495036,7 @@ ENCODING 36625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F940 27E0 @@ -455511,7 +495054,7 @@ ENCODING 36626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FD40 2540 @@ -455529,7 +495072,7 @@ ENCODING 36627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9C0 2240 @@ -455547,7 +495090,7 @@ ENCODING 36628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 23E0 @@ -455565,7 +495108,7 @@ ENCODING 36629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F800 22A0 @@ -455583,7 +495126,7 @@ ENCODING 36630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FD20 27A0 @@ -455601,7 +495144,7 @@ ENCODING 36631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FEE0 2420 @@ -455619,7 +495162,7 @@ ENCODING 36632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -455637,7 +495180,7 @@ ENCODING 36633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FF80 2500 @@ -455655,7 +495198,7 @@ ENCODING 36634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FA40 27E0 @@ -455673,7 +495216,7 @@ ENCODING 36635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 2100 @@ -455691,7 +495234,7 @@ ENCODING 36636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FAA0 2540 @@ -455709,7 +495252,7 @@ ENCODING 36637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 ACA0 73C0 @@ -455727,7 +495270,7 @@ ENCODING 36638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC20 26A0 @@ -455745,7 +495288,7 @@ ENCODING 36639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F920 23C0 @@ -455763,7 +495306,7 @@ ENCODING 36640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 23E0 @@ -455781,7 +495324,7 @@ ENCODING 36641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9E0 2120 @@ -455799,7 +495342,7 @@ ENCODING 36642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2100 @@ -455817,7 +495360,7 @@ ENCODING 36643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 FAA0 2AA0 @@ -455835,7 +495378,7 @@ ENCODING 36644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 2080 @@ -455853,7 +495396,7 @@ ENCODING 36645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 23E0 @@ -455871,7 +495414,7 @@ ENCODING 36646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -455889,7 +495432,7 @@ ENCODING 36647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 FA40 27E0 @@ -455907,7 +495450,7 @@ ENCODING 36648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2420 @@ -455925,7 +495468,7 @@ ENCODING 36649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 F1E0 1100 @@ -455943,7 +495486,7 @@ ENCODING 36650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA80 2440 @@ -455961,7 +495504,7 @@ ENCODING 36651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FA80 2EE0 @@ -455979,7 +495522,7 @@ ENCODING 36652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2000 @@ -455997,7 +495540,7 @@ ENCODING 36653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 F900 27E0 @@ -456015,7 +495558,7 @@ ENCODING 36654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FD40 27C0 @@ -456033,7 +495576,7 @@ ENCODING 36655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 23C0 @@ -456051,7 +495594,7 @@ ENCODING 36656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 23C0 @@ -456069,7 +495612,7 @@ ENCODING 36657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 27E0 @@ -456087,7 +495630,7 @@ ENCODING 36658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 FD40 27C0 @@ -456105,7 +495648,7 @@ ENCODING 36659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 27C0 @@ -456123,7 +495666,7 @@ ENCODING 36660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC80 27E0 @@ -456141,7 +495684,7 @@ ENCODING 36661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 27C0 @@ -456159,7 +495702,7 @@ ENCODING 36662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FA80 27E0 @@ -456177,7 +495720,7 @@ ENCODING 36663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2520 @@ -456195,7 +495738,7 @@ ENCODING 36664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA80 2460 @@ -456213,7 +495756,7 @@ ENCODING 36665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2640 @@ -456231,7 +495774,7 @@ ENCODING 36666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FAA0 2540 @@ -456249,7 +495792,7 @@ ENCODING 36667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F800 21C0 @@ -456267,7 +495810,7 @@ ENCODING 36668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 23C0 @@ -456285,7 +495828,7 @@ ENCODING 36669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFC0 2100 @@ -456303,7 +495846,7 @@ ENCODING 36670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC20 27E0 @@ -456321,7 +495864,7 @@ ENCODING 36671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 64C0 5F40 64C0 @@ -456339,7 +495882,7 @@ ENCODING 36672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 22A0 @@ -456357,7 +495900,7 @@ ENCODING 36673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 FF20 2520 @@ -456375,7 +495918,7 @@ ENCODING 36674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 FF40 1140 @@ -456393,7 +495936,7 @@ ENCODING 36675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2100 @@ -456411,7 +495954,7 @@ ENCODING 36676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2520 @@ -456429,7 +495972,7 @@ ENCODING 36677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2100 @@ -456447,7 +495990,7 @@ ENCODING 36678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2A80 @@ -456465,7 +496008,7 @@ ENCODING 36679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F920 25A0 @@ -456483,7 +496026,7 @@ ENCODING 36680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FD40 22A0 @@ -456501,7 +496044,7 @@ ENCODING 36681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2540 @@ -456519,7 +496062,7 @@ ENCODING 36682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 2240 @@ -456537,7 +496080,7 @@ ENCODING 36683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 22A0 @@ -456555,7 +496098,7 @@ ENCODING 36684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 27E0 @@ -456573,7 +496116,7 @@ ENCODING 36685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FF80 2AE0 @@ -456591,7 +496134,7 @@ ENCODING 36686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F900 27E0 @@ -456609,7 +496152,7 @@ ENCODING 36687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 F820 2FE0 @@ -456627,7 +496170,7 @@ ENCODING 36688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26A0 FAC0 2FE0 @@ -456645,7 +496188,7 @@ ENCODING 36689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F7E0 25A0 @@ -456663,7 +496206,7 @@ ENCODING 36690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 22A0 @@ -456681,7 +496224,7 @@ ENCODING 36691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F920 2540 @@ -456699,7 +496242,7 @@ ENCODING 36692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 FB40 27E0 @@ -456717,7 +496260,7 @@ ENCODING 36693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FA80 23C0 @@ -456735,7 +496278,7 @@ ENCODING 36694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2540 @@ -456753,7 +496296,7 @@ ENCODING 36695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 FFE0 2880 @@ -456771,7 +496314,7 @@ ENCODING 36696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 FAA0 2FE0 @@ -456789,7 +496332,7 @@ ENCODING 36697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FFC0 2100 @@ -456807,7 +496350,7 @@ ENCODING 36698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 AA60 FFC0 @@ -456825,7 +496368,7 @@ ENCODING 36699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 F720 2720 @@ -456843,7 +496386,7 @@ ENCODING 36700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F900 27E0 @@ -456861,7 +496404,7 @@ ENCODING 36701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6DC0 4E40 4A40 @@ -456879,7 +496422,7 @@ ENCODING 36702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 FA40 2F60 @@ -456897,7 +496440,7 @@ ENCODING 36703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2480 @@ -456915,7 +496458,7 @@ ENCODING 36704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FD40 27C0 @@ -456933,7 +496476,7 @@ ENCODING 36705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5F40 B5A0 @@ -456951,7 +496494,7 @@ ENCODING 36706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 FBA0 26C0 @@ -456969,7 +496512,7 @@ ENCODING 36707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 FEC0 2A40 @@ -456987,7 +496530,7 @@ ENCODING 36708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 F100 2FE0 @@ -457005,7 +496548,7 @@ ENCODING 36709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FFE0 2AA0 @@ -457023,7 +496566,7 @@ ENCODING 36710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 0800 7FC0 @@ -457041,7 +496584,7 @@ ENCODING 36711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 FD00 @@ -457059,7 +496602,7 @@ ENCODING 36712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 F280 @@ -457077,7 +496620,7 @@ ENCODING 36713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 F100 @@ -457095,7 +496638,7 @@ ENCODING 36714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 4100 @@ -457113,7 +496656,7 @@ ENCODING 36715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 40A0 @@ -457131,7 +496674,7 @@ ENCODING 36716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F7C0 4100 @@ -457149,7 +496692,7 @@ ENCODING 36717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC00 4400 @@ -457167,7 +496710,7 @@ ENCODING 36718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F980 4240 @@ -457185,7 +496728,7 @@ ENCODING 36719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 FBE0 @@ -457203,7 +496746,7 @@ ENCODING 36720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FC0 2400 @@ -457221,7 +496764,7 @@ ENCODING 36721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 47E0 @@ -457239,7 +496782,7 @@ ENCODING 36722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F840 4040 @@ -457257,7 +496800,7 @@ ENCODING 36723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9E0 4100 @@ -457275,7 +496818,7 @@ ENCODING 36724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 47E0 @@ -457293,7 +496836,7 @@ ENCODING 36725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 4220 @@ -457311,7 +496854,7 @@ ENCODING 36726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FA80 43E0 @@ -457329,7 +496872,7 @@ ENCODING 36727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FB80 44A0 @@ -457347,7 +496890,7 @@ ENCODING 36728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F980 4240 @@ -457365,7 +496908,7 @@ ENCODING 36729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 FB80 4200 @@ -457383,7 +496926,7 @@ ENCODING 36730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBE0 4120 @@ -457401,7 +496944,7 @@ ENCODING 36731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 F840 4080 @@ -457419,7 +496962,7 @@ ENCODING 36732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 47E0 @@ -457437,7 +496980,7 @@ ENCODING 36733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D40 1120 @@ -457455,7 +496998,7 @@ ENCODING 36734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 4100 @@ -457473,7 +497016,7 @@ ENCODING 36735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 FF00 4100 @@ -457491,7 +497034,7 @@ ENCODING 36736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -457509,7 +497052,7 @@ ENCODING 36737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FA80 4440 @@ -457527,7 +497070,7 @@ ENCODING 36738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBC0 4640 @@ -457545,7 +497088,7 @@ ENCODING 36739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F880 47E0 @@ -457563,7 +497106,7 @@ ENCODING 36740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 4A00 FA80 @@ -457581,7 +497124,7 @@ ENCODING 36741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 FFE0 4100 @@ -457599,7 +497142,7 @@ ENCODING 36742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FA80 4280 @@ -457617,7 +497160,7 @@ ENCODING 36743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2080 @@ -457635,7 +497178,7 @@ ENCODING 36744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -457653,7 +497196,7 @@ ENCODING 36745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 AC20 7100 @@ -457671,7 +497214,7 @@ ENCODING 36746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FC20 47E0 @@ -457689,7 +497232,7 @@ ENCODING 36747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 F820 4AA0 @@ -457707,7 +497250,7 @@ ENCODING 36748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 FFE0 @@ -457725,7 +497268,7 @@ ENCODING 36749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FDA0 4240 @@ -457743,7 +497286,7 @@ ENCODING 36750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 FAA0 4540 @@ -457761,7 +497304,7 @@ ENCODING 36751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 47C0 @@ -457779,7 +497322,7 @@ ENCODING 36752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4000 F3C0 @@ -457797,7 +497340,7 @@ ENCODING 36753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 43C0 @@ -457815,7 +497358,7 @@ ENCODING 36754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 FFC0 @@ -457833,7 +497376,7 @@ ENCODING 36755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 F440 @@ -457851,7 +497394,7 @@ ENCODING 36756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 9E80 F5E0 @@ -457869,7 +497412,7 @@ ENCODING 36757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 4100 @@ -457887,7 +497430,7 @@ ENCODING 36758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 4920 @@ -457905,7 +497448,7 @@ ENCODING 36759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 FFE0 @@ -457923,7 +497466,7 @@ ENCODING 36760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 FA80 @@ -457941,7 +497484,7 @@ ENCODING 36761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4F80 FAE0 @@ -457959,7 +497502,7 @@ ENCODING 36762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 FB40 47E0 @@ -457977,7 +497520,7 @@ ENCODING 36763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 2080 @@ -457995,7 +497538,7 @@ ENCODING 36764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2080 @@ -458013,7 +497556,7 @@ ENCODING 36765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2100 4FE0 @@ -458031,7 +497574,7 @@ ENCODING 36766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 E7E0 2220 @@ -458049,7 +497592,7 @@ ENCODING 36767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C80 27E0 2620 @@ -458067,7 +497610,7 @@ ENCODING 36768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -458085,7 +497628,7 @@ ENCODING 36769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 1080 7BE0 @@ -458103,7 +497646,7 @@ ENCODING 36770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2080 FFE0 @@ -458121,7 +497664,7 @@ ENCODING 36771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -458139,7 +497682,7 @@ ENCODING 36772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 C080 AFE0 @@ -458157,7 +497700,7 @@ ENCODING 36773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A880 FFE0 @@ -458175,7 +497718,7 @@ ENCODING 36774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 F5E0 54A0 @@ -458193,7 +497736,7 @@ ENCODING 36775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8080 4040 FFE0 @@ -458211,7 +497754,7 @@ ENCODING 36776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FBE0 52A0 @@ -458229,7 +497772,7 @@ ENCODING 36777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 FBE0 52A0 @@ -458247,7 +497790,7 @@ ENCODING 36778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5C80 53E0 @@ -458265,7 +497808,7 @@ ENCODING 36779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FCE0 55A0 @@ -458283,7 +497826,7 @@ ENCODING 36780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 4440 F5E0 @@ -458301,7 +497844,7 @@ ENCODING 36781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 F7E0 5540 @@ -458319,7 +497862,7 @@ ENCODING 36782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 F9E0 5EA0 @@ -458337,7 +497880,7 @@ ENCODING 36783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 50A0 @@ -458355,7 +497898,7 @@ ENCODING 36784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2000 2FC0 @@ -458373,7 +497916,7 @@ ENCODING 36785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4000 5F80 @@ -458391,7 +497934,7 @@ ENCODING 36786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 3FC0 2940 @@ -458409,7 +497952,7 @@ ENCODING 36787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 5540 @@ -458427,7 +497970,7 @@ ENCODING 36788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AA00 FAC0 @@ -458445,7 +497988,7 @@ ENCODING 36789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03C0 7C00 03C0 @@ -458463,7 +498006,7 @@ ENCODING 36790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 2000 2000 @@ -458481,7 +498024,7 @@ ENCODING 36791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 4000 4000 @@ -458499,7 +498042,7 @@ ENCODING 36792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 5FC0 4480 @@ -458517,7 +498060,7 @@ ENCODING 36793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2FE0 @@ -458535,7 +498078,7 @@ ENCODING 36794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 4FC0 4240 @@ -458553,7 +498096,7 @@ ENCODING 36795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4100 4100 @@ -458571,7 +498114,7 @@ ENCODING 36796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8400 4200 4100 @@ -458589,7 +498132,7 @@ ENCODING 36797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2040 2080 @@ -458607,7 +498150,7 @@ ENCODING 36798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2100 @@ -458625,7 +498168,7 @@ ENCODING 36799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2520 @@ -458643,7 +498186,7 @@ ENCODING 36800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 2100 @@ -458661,7 +498204,7 @@ ENCODING 36801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 2100 @@ -458679,7 +498222,7 @@ ENCODING 36802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 2100 @@ -458697,7 +498240,7 @@ ENCODING 36803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8000 4FC0 4000 @@ -458715,7 +498258,7 @@ ENCODING 36804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2800 @@ -458733,7 +498276,7 @@ ENCODING 36805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 2280 2280 @@ -458751,7 +498294,7 @@ ENCODING 36806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 2560 @@ -458769,7 +498312,7 @@ ENCODING 36807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 2080 2FE0 @@ -458787,7 +498330,7 @@ ENCODING 36808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2200 2200 @@ -458805,7 +498348,7 @@ ENCODING 36809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 2420 @@ -458823,7 +498366,7 @@ ENCODING 36810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 2100 @@ -458841,7 +498384,7 @@ ENCODING 36811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 2100 @@ -458859,7 +498402,7 @@ ENCODING 36812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 2440 @@ -458877,7 +498420,7 @@ ENCODING 36813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 2100 @@ -458895,7 +498438,7 @@ ENCODING 36814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2DE0 2920 @@ -458913,7 +498456,7 @@ ENCODING 36815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2200 @@ -458931,7 +498474,7 @@ ENCODING 36816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2000 2000 @@ -458949,7 +498492,7 @@ ENCODING 36817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2700 2400 @@ -458967,7 +498510,7 @@ ENCODING 36818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2000 @@ -458985,7 +498528,7 @@ ENCODING 36819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2080 2480 @@ -459003,7 +498546,7 @@ ENCODING 36820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2780 2400 @@ -459021,7 +498564,7 @@ ENCODING 36821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27C0 2900 @@ -459039,7 +498582,7 @@ ENCODING 36822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 2140 2100 @@ -459057,7 +498600,7 @@ ENCODING 36823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 2100 @@ -459075,7 +498618,7 @@ ENCODING 36824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2080 2100 @@ -459093,7 +498636,7 @@ ENCODING 36825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 0FE0 @@ -459111,7 +498654,7 @@ ENCODING 36826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 4100 4FE0 @@ -459129,7 +498672,7 @@ ENCODING 36827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 2FC0 @@ -459147,7 +498690,7 @@ ENCODING 36828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2000 2000 @@ -459165,7 +498708,7 @@ ENCODING 36829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2100 @@ -459183,7 +498726,7 @@ ENCODING 36830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 2200 @@ -459201,7 +498744,7 @@ ENCODING 36831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 2440 @@ -459219,7 +498762,7 @@ ENCODING 36832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 21E0 @@ -459237,7 +498780,7 @@ ENCODING 36833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2420 27E0 @@ -459255,7 +498798,7 @@ ENCODING 36834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2220 2220 @@ -459273,7 +498816,7 @@ ENCODING 36835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2540 2540 @@ -459291,7 +498834,7 @@ ENCODING 36836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2900 @@ -459309,7 +498852,7 @@ ENCODING 36837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 2820 @@ -459327,7 +498870,7 @@ ENCODING 36838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 2800 3EE0 @@ -459345,7 +498888,7 @@ ENCODING 36839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2200 2FC0 @@ -459363,7 +498906,7 @@ ENCODING 36840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 2440 @@ -459381,7 +498924,7 @@ ENCODING 36841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2820 @@ -459399,7 +498942,7 @@ ENCODING 36842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2FE0 @@ -459417,7 +498960,7 @@ ENCODING 36843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2200 27C0 @@ -459435,7 +498978,7 @@ ENCODING 36844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4100 4FE0 @@ -459453,7 +498996,7 @@ ENCODING 36845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 27C0 @@ -459471,7 +499014,7 @@ ENCODING 36846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2400 27E0 @@ -459489,7 +499032,7 @@ ENCODING 36847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 2480 2880 @@ -459507,7 +499050,7 @@ ENCODING 36848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2120 2FE0 @@ -459525,7 +499068,7 @@ ENCODING 36849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 9FC0 5040 @@ -459543,7 +499086,7 @@ ENCODING 36850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8200 4FC0 @@ -459561,7 +499104,7 @@ ENCODING 36851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2080 2180 @@ -459579,7 +499122,7 @@ ENCODING 36852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 2BA0 @@ -459597,7 +499140,7 @@ ENCODING 36853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 2BA0 @@ -459615,7 +499158,7 @@ ENCODING 36854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FE0 2200 @@ -459633,7 +499176,7 @@ ENCODING 36855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2920 2540 @@ -459651,7 +499194,7 @@ ENCODING 36856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 2FE0 @@ -459669,7 +499212,7 @@ ENCODING 36857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 2FE0 @@ -459687,7 +499230,7 @@ ENCODING 36858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 2280 @@ -459705,7 +499248,7 @@ ENCODING 36859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 2880 @@ -459723,7 +499266,7 @@ ENCODING 36860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 2FE0 @@ -459741,7 +499284,7 @@ ENCODING 36861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 2440 @@ -459759,7 +499302,7 @@ ENCODING 36862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 24A0 24A0 @@ -459777,7 +499320,7 @@ ENCODING 36863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 27E0 2820 @@ -459795,7 +499338,7 @@ ENCODING 36864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FC0 4840 4FC0 @@ -459813,7 +499356,7 @@ ENCODING 36865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 27C0 @@ -459831,7 +499374,7 @@ ENCODING 36866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 2100 @@ -459849,7 +499392,7 @@ ENCODING 36867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 22A0 2AC0 @@ -459867,7 +499410,7 @@ ENCODING 36868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 27C0 2C40 @@ -459885,7 +499428,7 @@ ENCODING 36869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 2F00 2800 @@ -459903,7 +499446,7 @@ ENCODING 36870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 2FE0 @@ -459921,7 +499464,7 @@ ENCODING 36871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 8880 5EE0 @@ -459939,7 +499482,7 @@ ENCODING 36872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8400 5FC0 @@ -459957,7 +499500,7 @@ ENCODING 36873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2500 27C0 @@ -459975,7 +499518,7 @@ ENCODING 36874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 2280 2480 @@ -459993,7 +499536,7 @@ ENCODING 36875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 2FE0 2100 @@ -460011,7 +499554,7 @@ ENCODING 36876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 2FE0 @@ -460029,7 +499572,7 @@ ENCODING 36877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 27C0 @@ -460047,7 +499590,7 @@ ENCODING 36878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 8500 5FC0 @@ -460065,7 +499608,7 @@ ENCODING 36879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2100 3FE0 @@ -460083,7 +499626,7 @@ ENCODING 36880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 2200 @@ -460101,7 +499644,7 @@ ENCODING 36881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 2140 3FE0 @@ -460119,7 +499662,7 @@ ENCODING 36882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 2FE0 @@ -460137,7 +499680,7 @@ ENCODING 36883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 8900 4FC0 @@ -460155,7 +499698,7 @@ ENCODING 36884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 2440 @@ -460173,7 +499716,7 @@ ENCODING 36885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2540 2540 @@ -460191,7 +499734,7 @@ ENCODING 36886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 2C80 2DA0 @@ -460209,7 +499752,7 @@ ENCODING 36887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 27C0 @@ -460227,7 +499770,7 @@ ENCODING 36888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8440 4FC0 @@ -460245,7 +499788,7 @@ ENCODING 36889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2100 2FE0 @@ -460263,7 +499806,7 @@ ENCODING 36890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 2FE0 @@ -460281,7 +499824,7 @@ ENCODING 36891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 2C80 2C80 @@ -460299,7 +499842,7 @@ ENCODING 36892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 27C0 @@ -460317,7 +499860,7 @@ ENCODING 36893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 25C0 3F00 @@ -460335,7 +499878,7 @@ ENCODING 36894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 27C0 @@ -460353,7 +499896,7 @@ ENCODING 36895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 2100 @@ -460371,7 +499914,7 @@ ENCODING 36896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2500 27C0 @@ -460389,7 +499932,7 @@ ENCODING 36897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2440 2FE0 @@ -460407,7 +499950,7 @@ ENCODING 36898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2480 2B00 @@ -460425,7 +499968,7 @@ ENCODING 36899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2540 @@ -460443,7 +499986,7 @@ ENCODING 36900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9080 48C0 42A0 @@ -460460,9 +500003,8 @@ STARTCHAR U_9025 ENCODING 36901 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP 9FC0 5540 1740 @@ -460479,7 +500021,7 @@ ENCODING 36902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2000 2FE0 @@ -460497,7 +500039,7 @@ ENCODING 36903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 8440 4820 @@ -460515,7 +500057,7 @@ ENCODING 36904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 9FC0 4A80 @@ -460533,7 +500075,7 @@ ENCODING 36905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2280 @@ -460551,7 +500093,7 @@ ENCODING 36906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 8FC0 4480 @@ -460569,7 +500111,7 @@ ENCODING 36907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 9320 4CC0 @@ -460587,7 +500129,7 @@ ENCODING 36908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0440 8880 5DE0 @@ -460605,7 +500147,7 @@ ENCODING 36909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2820 @@ -460623,7 +500165,7 @@ ENCODING 36910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2140 @@ -460641,7 +500183,7 @@ ENCODING 36911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2040 27C0 @@ -460659,7 +500201,7 @@ ENCODING 36912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 89E0 5E00 @@ -460677,7 +500219,7 @@ ENCODING 36913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 2BA0 @@ -460695,7 +500237,7 @@ ENCODING 36914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 2480 27E0 @@ -460713,7 +500255,7 @@ ENCODING 36915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8FC0 4480 @@ -460731,7 +500273,7 @@ ENCODING 36916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 27C0 @@ -460749,7 +500291,7 @@ ENCODING 36917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 2100 @@ -460767,7 +500309,7 @@ ENCODING 36918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 2F80 2100 @@ -460785,7 +500327,7 @@ ENCODING 36919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 8880 4F80 @@ -460803,7 +500345,7 @@ ENCODING 36920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 2780 2900 @@ -460821,7 +500363,7 @@ ENCODING 36921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8F80 4200 @@ -460839,7 +500381,7 @@ ENCODING 36922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8F80 4200 @@ -460857,7 +500399,7 @@ ENCODING 36923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 2FE0 @@ -460875,7 +500417,7 @@ ENCODING 36924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2440 27C0 @@ -460893,7 +500435,7 @@ ENCODING 36925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3FE0 2480 @@ -460911,7 +500453,7 @@ ENCODING 36926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2280 2440 @@ -460929,7 +500471,7 @@ ENCODING 36927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 27C0 @@ -460947,7 +500489,7 @@ ENCODING 36928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 8FC0 4400 @@ -460965,7 +500507,7 @@ ENCODING 36929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 2F80 2880 @@ -460983,7 +500525,7 @@ ENCODING 36930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 3FE0 @@ -461001,7 +500543,7 @@ ENCODING 36931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 8FE0 4280 @@ -461019,7 +500561,7 @@ ENCODING 36932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2FE0 2000 @@ -461037,7 +500579,7 @@ ENCODING 36933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 8840 4FC0 @@ -461055,7 +500597,7 @@ ENCODING 36934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 8FE0 4280 @@ -461073,7 +500615,7 @@ ENCODING 36935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 8A40 4FC0 @@ -461091,7 +500633,7 @@ ENCODING 36936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F80 8880 4F80 @@ -461109,7 +500651,7 @@ ENCODING 36937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 2100 27C0 @@ -461127,7 +500669,7 @@ ENCODING 36938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 24E0 3F00 @@ -461145,7 +500687,7 @@ ENCODING 36939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2920 2FE0 @@ -461163,7 +500705,7 @@ ENCODING 36940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0EE0 CAA0 4EE0 @@ -461181,7 +500723,7 @@ ENCODING 36941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2820 @@ -461199,7 +500741,7 @@ ENCODING 36942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 2740 @@ -461217,7 +500759,7 @@ ENCODING 36943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 27C0 @@ -461235,7 +500777,7 @@ ENCODING 36944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2A20 2EE0 @@ -461253,7 +500795,7 @@ ENCODING 36945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2440 @@ -461271,7 +500813,7 @@ ENCODING 36946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 2280 @@ -461289,7 +500831,7 @@ ENCODING 36947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 2280 2FE0 @@ -461307,7 +500849,7 @@ ENCODING 36948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2100 @@ -461325,7 +500867,7 @@ ENCODING 36949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2240 2FE0 @@ -461343,7 +500885,7 @@ ENCODING 36950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 9FE0 4400 @@ -461361,7 +500903,7 @@ ENCODING 36951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 2940 @@ -461379,7 +500921,7 @@ ENCODING 36952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 2280 @@ -461397,7 +500939,7 @@ ENCODING 36953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2440 2A80 @@ -461415,7 +500957,7 @@ ENCODING 36954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0AC0 5240 5AC0 @@ -461433,7 +500975,7 @@ ENCODING 36955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 28A0 2AA0 @@ -461451,7 +500993,7 @@ ENCODING 36956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E80 2540 26A0 @@ -461469,7 +501011,7 @@ ENCODING 36957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 2FE0 @@ -461487,7 +501029,7 @@ ENCODING 36958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2880 2BE0 @@ -461505,7 +501047,7 @@ ENCODING 36959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 4840 0FC0 @@ -461523,7 +501065,7 @@ ENCODING 36960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2100 @@ -461541,7 +501083,7 @@ ENCODING 36961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A2E0 54A0 7EE0 @@ -461559,7 +501101,7 @@ ENCODING 36962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 27C0 @@ -461577,7 +501119,7 @@ ENCODING 36963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2540 @@ -461595,7 +501137,7 @@ ENCODING 36964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2900 0FC0 @@ -461613,7 +501155,7 @@ ENCODING 36965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 2F20 2540 @@ -461631,7 +501173,7 @@ ENCODING 36966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 CA40 5FE0 @@ -461649,7 +501191,7 @@ ENCODING 36967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FC0 2280 @@ -461667,7 +501209,7 @@ ENCODING 36968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F80 2480 2EE0 @@ -461685,7 +501227,7 @@ ENCODING 36969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2280 @@ -461703,7 +501245,7 @@ ENCODING 36970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 8FC0 4480 @@ -461721,7 +501263,7 @@ ENCODING 36971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 3F80 24E0 @@ -461739,7 +501281,7 @@ ENCODING 36972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 9E80 44E0 @@ -461757,7 +501299,7 @@ ENCODING 36973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8500 7FE0 5540 @@ -461775,7 +501317,7 @@ ENCODING 36974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2A40 @@ -461793,7 +501335,7 @@ ENCODING 36975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 5480 5520 @@ -461811,7 +501353,7 @@ ENCODING 36976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 3FE0 2AA0 @@ -461829,7 +501371,7 @@ ENCODING 36977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8200 4FC0 4A40 @@ -461847,7 +501389,7 @@ ENCODING 36978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 2FE0 @@ -461865,7 +501407,7 @@ ENCODING 36979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 3FE0 2440 @@ -461883,7 +501425,7 @@ ENCODING 36980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 2540 2FE0 @@ -461901,7 +501443,7 @@ ENCODING 36981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 2FE0 2280 @@ -461919,7 +501461,7 @@ ENCODING 36982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2100 @@ -461937,7 +501479,7 @@ ENCODING 36983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 2FE0 @@ -461955,7 +501497,7 @@ ENCODING 36984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 2EE0 @@ -461973,7 +501515,7 @@ ENCODING 36985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 2280 2FE0 @@ -461991,7 +501533,7 @@ ENCODING 36986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 2540 @@ -462009,7 +501551,7 @@ ENCODING 36987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2AA0 2EE0 @@ -462027,7 +501569,7 @@ ENCODING 36988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FE0 2AA0 @@ -462045,7 +501587,7 @@ ENCODING 36989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 2200 2FE0 @@ -462063,7 +501605,7 @@ ENCODING 36990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2EE0 3540 @@ -462081,7 +501623,7 @@ ENCODING 36991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9C80 57E0 1540 @@ -462099,7 +501641,7 @@ ENCODING 36992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 5E80 52E0 @@ -462117,7 +501659,7 @@ ENCODING 36993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2FE0 2540 @@ -462135,7 +501677,7 @@ ENCODING 36994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 4AA0 5FA0 @@ -462153,7 +501695,7 @@ ENCODING 36995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 2AA0 @@ -462171,7 +501713,7 @@ ENCODING 36996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FC0 5540 5FC0 @@ -462189,7 +501731,7 @@ ENCODING 36997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FE0 4BA0 @@ -462207,7 +501749,7 @@ ENCODING 36998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 2AA0 27C0 @@ -462225,7 +501767,7 @@ ENCODING 36999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4540 4FE0 @@ -462243,7 +501785,7 @@ ENCODING 37000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C80 35E0 2B20 @@ -462261,7 +501803,7 @@ ENCODING 37001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 CFC0 4840 @@ -462279,7 +501821,7 @@ ENCODING 37002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 2FC0 2840 @@ -462297,7 +501839,7 @@ ENCODING 37003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 2A80 2540 @@ -462315,7 +501857,7 @@ ENCODING 37004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9E80 44E0 5F60 @@ -462333,7 +501875,7 @@ ENCODING 37005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87C0 5C80 47C0 @@ -462351,7 +501893,7 @@ ENCODING 37006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8860 4D80 5480 @@ -462369,7 +501911,7 @@ ENCODING 37007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2AA0 2FE0 @@ -462387,7 +501929,7 @@ ENCODING 37008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 2000 2EE0 @@ -462404,26 +501946,26 @@ STARTCHAR U_9091 ENCODING 37009 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F00 -2100 -3F00 +BBX 9 11 1 -1 +BITMAP +7E00 +4200 +7E00 0000 +FF00 +8900 +FF00 +8000 +8080 +8080 7F80 -4480 -7F80 -4000 -4040 -4040 -3FC0 ENDCHAR STARTCHAR U_9092 ENCODING 37010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1220 1240 @@ -462441,7 +501983,7 @@ ENCODING 37011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 03E0 FA20 0A40 @@ -462458,44 +502000,44 @@ STARTCHAR U_9094 ENCODING 37012 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7DE0 -0520 -0540 -0540 -7D80 -4140 -4120 -4520 -49A0 -5140 -6100 +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 11 11 0 -1 -BITMAP -1240 +BBX 10 11 1 -1 +BITMAP 2480 -1240 -3F80 -2080 -7FC0 -4440 +4900 +2480 +7F00 +4100 +FF80 +8880 +FF80 +8040 +8040 7FC0 -4020 -4020 -3FE0 ENDCHAR STARTCHAR U_9096 ENCODING 37014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 2240 @@ -462513,7 +502055,7 @@ ENCODING 37015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 1120 1140 @@ -462531,7 +502073,7 @@ ENCODING 37016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 1120 1140 @@ -462549,7 +502091,7 @@ ENCODING 37017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 1120 FF40 @@ -462567,7 +502109,7 @@ ENCODING 37018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1120 FF20 @@ -462585,7 +502127,7 @@ ENCODING 37019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2220 2240 @@ -462603,7 +502145,7 @@ ENCODING 37020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 23E0 3E40 @@ -462621,7 +502163,7 @@ ENCODING 37021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 1120 7F40 @@ -462639,7 +502181,7 @@ ENCODING 37022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1120 7D40 @@ -462657,7 +502199,7 @@ ENCODING 37023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 0140 @@ -462675,7 +502217,7 @@ ENCODING 37024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2520 4340 @@ -462693,7 +502235,7 @@ ENCODING 37025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 1120 FF40 @@ -462711,7 +502253,7 @@ ENCODING 37026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 2920 2940 @@ -462729,7 +502271,7 @@ ENCODING 37027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2520 2540 @@ -462747,7 +502289,7 @@ ENCODING 37028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 63E0 4240 @@ -462765,7 +502307,7 @@ ENCODING 37029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1120 7F40 @@ -462783,7 +502325,7 @@ ENCODING 37030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1140 @@ -462801,7 +502343,7 @@ ENCODING 37031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 0120 0140 @@ -462819,7 +502361,7 @@ ENCODING 37032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 11E0 FF20 @@ -462837,7 +502379,7 @@ ENCODING 37033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 13E0 1240 @@ -462855,7 +502397,7 @@ ENCODING 37034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 0920 2940 @@ -462873,7 +502415,7 @@ ENCODING 37035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 FC40 @@ -462891,7 +502433,7 @@ ENCODING 37036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 7D20 4540 @@ -462909,7 +502451,7 @@ ENCODING 37037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7DE0 8540 @@ -462927,7 +502469,7 @@ ENCODING 37038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2220 FA40 @@ -462945,7 +502487,7 @@ ENCODING 37039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 FF40 @@ -462963,7 +502505,7 @@ ENCODING 37040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 2120 4540 @@ -462981,7 +502523,7 @@ ENCODING 37041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 7120 4140 @@ -462999,7 +502541,7 @@ ENCODING 37042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0D20 0540 2540 @@ -463017,7 +502559,7 @@ ENCODING 37043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 01E0 FD20 1140 @@ -463035,7 +502577,7 @@ ENCODING 37044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2120 2140 @@ -463053,7 +502595,7 @@ ENCODING 37045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2520 2540 @@ -463071,7 +502613,7 @@ ENCODING 37046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2920 2940 @@ -463089,7 +502631,7 @@ ENCODING 37047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2120 3940 @@ -463107,7 +502649,7 @@ ENCODING 37048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 F120 9140 @@ -463125,7 +502667,7 @@ ENCODING 37049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 3D20 4940 @@ -463143,7 +502685,7 @@ ENCODING 37050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 2920 A940 @@ -463161,7 +502703,7 @@ ENCODING 37051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1920 2540 @@ -463179,7 +502721,7 @@ ENCODING 37052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 8120 FD40 @@ -463197,7 +502739,7 @@ ENCODING 37053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1140 @@ -463215,7 +502757,7 @@ ENCODING 37054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 51E0 5120 7D20 @@ -463233,7 +502775,7 @@ ENCODING 37055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1120 @@ -463251,7 +502793,7 @@ ENCODING 37056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7F20 2920 @@ -463269,7 +502811,7 @@ ENCODING 37057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 2120 @@ -463287,7 +502829,7 @@ ENCODING 37058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD20 2120 @@ -463305,7 +502847,7 @@ ENCODING 37059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 2920 4520 @@ -463323,7 +502865,7 @@ ENCODING 37060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 1920 1520 @@ -463341,7 +502883,7 @@ ENCODING 37061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2120 4920 @@ -463359,7 +502901,7 @@ ENCODING 37062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 1120 FF20 @@ -463377,7 +502919,7 @@ ENCODING 37063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7D20 8520 @@ -463395,7 +502937,7 @@ ENCODING 37064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 F120 8120 @@ -463413,7 +502955,7 @@ ENCODING 37065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EDE0 4920 4920 @@ -463431,7 +502973,7 @@ ENCODING 37066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 1120 FF20 @@ -463448,26 +502990,26 @@ STARTCHAR U_90CB ENCODING 37067 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -11E0 -2120 -7D20 -4540 -7D80 -4540 -4520 -7D20 -45A0 -7D40 -4500 +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 +BITMAP 27C0 F440 27C0 @@ -463485,7 +503027,7 @@ ENCODING 37069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 3D20 2520 @@ -463502,26 +503044,26 @@ STARTCHAR U_90CE ENCODING 37070 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -11E0 -7D20 -4520 -7D40 -4540 -7D20 -5120 -4920 -55A0 -6540 -0100 +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 +BITMAP 11E0 FF20 1120 @@ -463539,7 +503081,7 @@ ENCODING 37072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 2920 4520 @@ -463557,7 +503099,7 @@ ENCODING 37073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 29E0 7D20 @@ -463575,7 +503117,7 @@ ENCODING 37074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F440 97C0 @@ -463593,7 +503135,7 @@ ENCODING 37075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 8520 2120 @@ -463611,7 +503153,7 @@ ENCODING 37076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP C3E0 5D20 4520 @@ -463629,7 +503171,7 @@ ENCODING 37077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 0B20 FF20 @@ -463647,7 +503189,7 @@ ENCODING 37078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0120 7D20 @@ -463665,7 +503207,7 @@ ENCODING 37079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CDE0 3120 CD20 @@ -463683,7 +503225,7 @@ ENCODING 37080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79E0 4920 4920 @@ -463701,7 +503243,7 @@ ENCODING 37081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 15E0 FF20 1120 @@ -463719,7 +503261,7 @@ ENCODING 37082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1120 7D20 @@ -463737,7 +503279,7 @@ ENCODING 37083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 09E0 F520 A520 @@ -463755,7 +503297,7 @@ ENCODING 37084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 51E0 7D20 9120 @@ -463773,7 +503315,7 @@ ENCODING 37085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1120 @@ -463791,7 +503333,7 @@ ENCODING 37086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 8A20 @@ -463809,7 +503351,7 @@ ENCODING 37087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 1120 @@ -463827,7 +503369,7 @@ ENCODING 37088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 1120 FD20 @@ -463845,7 +503387,7 @@ ENCODING 37089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 2520 FF20 @@ -463863,7 +503405,7 @@ ENCODING 37090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 8920 8920 @@ -463881,7 +503423,7 @@ ENCODING 37091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 1120 @@ -463899,7 +503441,7 @@ ENCODING 37092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 4520 8320 @@ -463917,7 +503459,7 @@ ENCODING 37093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 4520 @@ -463935,7 +503477,7 @@ ENCODING 37094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 00A0 FEA0 @@ -463953,7 +503495,7 @@ ENCODING 37095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D20 @@ -463971,7 +503513,7 @@ ENCODING 37096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 4520 @@ -463989,7 +503531,7 @@ ENCODING 37097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 3120 4920 @@ -464007,7 +503549,7 @@ ENCODING 37098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FF20 2520 @@ -464025,7 +503567,7 @@ ENCODING 37099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 FD20 9520 @@ -464043,7 +503585,7 @@ ENCODING 37100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 1120 @@ -464061,7 +503603,7 @@ ENCODING 37101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 4520 @@ -464079,7 +503621,7 @@ ENCODING 37102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 92A0 FEA0 @@ -464097,7 +503639,7 @@ ENCODING 37103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 5320 9520 @@ -464115,7 +503657,7 @@ ENCODING 37104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8E0 50A0 5FA0 @@ -464133,7 +503675,7 @@ ENCODING 37105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2920 7D20 @@ -464151,7 +503693,7 @@ ENCODING 37106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 1120 @@ -464169,7 +503711,7 @@ ENCODING 37107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 9D20 8520 @@ -464187,7 +503729,7 @@ ENCODING 37108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 2520 FF20 @@ -464205,7 +503747,7 @@ ENCODING 37109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 7920 1120 @@ -464223,7 +503765,7 @@ ENCODING 37110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 4BE0 @@ -464241,7 +503783,7 @@ ENCODING 37111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 4EA0 @@ -464259,7 +503801,7 @@ ENCODING 37112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 2920 7D20 @@ -464277,7 +503819,7 @@ ENCODING 37113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D20 @@ -464295,7 +503837,7 @@ ENCODING 37114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 3D40 4AA0 @@ -464313,7 +503855,7 @@ ENCODING 37115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3DE0 A520 BD20 @@ -464331,7 +503873,7 @@ ENCODING 37116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 2520 @@ -464349,7 +503891,7 @@ ENCODING 37117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7D20 1540 @@ -464367,7 +503909,7 @@ ENCODING 37118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A520 BD20 @@ -464385,7 +503927,7 @@ ENCODING 37119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5520 7D20 @@ -464403,7 +503945,7 @@ ENCODING 37120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 FF20 2520 @@ -464421,7 +503963,7 @@ ENCODING 37121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 ED20 2920 @@ -464439,7 +503981,7 @@ ENCODING 37122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 AB20 EF20 @@ -464457,7 +503999,7 @@ ENCODING 37123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10E0 28A0 44A0 @@ -464475,7 +504017,7 @@ ENCODING 37124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2920 FF20 @@ -464493,7 +504035,7 @@ ENCODING 37125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 F120 1120 @@ -464511,7 +504053,7 @@ ENCODING 37126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 82A0 10A0 @@ -464529,7 +504071,7 @@ ENCODING 37127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 22A0 42A0 @@ -464547,7 +504089,7 @@ ENCODING 37128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAE0 95A0 66A0 @@ -464565,7 +504107,7 @@ ENCODING 37129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2EE0 4AA0 @@ -464583,7 +504125,7 @@ ENCODING 37130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 5FE0 9AA0 @@ -464601,7 +504143,7 @@ ENCODING 37131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 31E0 DD20 9520 @@ -464619,7 +504161,7 @@ ENCODING 37132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7F20 5120 @@ -464637,7 +504179,7 @@ ENCODING 37133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8320 7D20 @@ -464655,7 +504197,7 @@ ENCODING 37134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 4520 @@ -464673,7 +504215,7 @@ ENCODING 37135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 80A0 BCA0 @@ -464691,7 +504233,7 @@ ENCODING 37136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 2920 @@ -464709,7 +504251,7 @@ ENCODING 37137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2920 6D20 @@ -464727,7 +504269,7 @@ ENCODING 37138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7D20 D520 @@ -464745,7 +504287,7 @@ ENCODING 37139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 4520 @@ -464763,7 +504305,7 @@ ENCODING 37140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 F920 8920 @@ -464781,7 +504323,7 @@ ENCODING 37141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 4EA0 AAA0 @@ -464798,26 +504340,26 @@ STARTCHAR U_9116 ENCODING 37142 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7DE0 -4520 -7D20 -0140 -7D80 -4540 -7D20 -4520 -7DA0 -2940 -4500 +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 +BITMAP 10E0 FEA0 24A0 @@ -464835,7 +504377,7 @@ ENCODING 37144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 FFA0 8AA0 @@ -464853,7 +504395,7 @@ ENCODING 37145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CE0 44A0 7CA0 @@ -464871,7 +504413,7 @@ ENCODING 37146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 2920 @@ -464889,7 +504431,7 @@ ENCODING 37147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 55E0 A920 5520 @@ -464907,7 +504449,7 @@ ENCODING 37148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 7FA0 54A0 @@ -464925,7 +504467,7 @@ ENCODING 37149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2520 B540 @@ -464943,7 +504485,7 @@ ENCODING 37150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 2920 @@ -464961,7 +504503,7 @@ ENCODING 37151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FF20 9520 @@ -464979,7 +504521,7 @@ ENCODING 37152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 1120 FF40 @@ -464997,7 +504539,7 @@ ENCODING 37153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D40 @@ -465015,7 +504557,7 @@ ENCODING 37154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 10A0 5EA0 @@ -465033,7 +504575,7 @@ ENCODING 37155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 7D20 2940 @@ -465051,7 +504593,7 @@ ENCODING 37156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D40 @@ -465069,7 +504611,7 @@ ENCODING 37157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 7D20 4520 @@ -465087,7 +504629,7 @@ ENCODING 37158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7F20 D540 @@ -465105,7 +504647,7 @@ ENCODING 37159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 5320 2D20 @@ -465123,7 +504665,7 @@ ENCODING 37160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 FFE0 B540 @@ -465141,7 +504683,7 @@ ENCODING 37161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 0520 7D20 @@ -465159,7 +504701,7 @@ ENCODING 37162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28E0 FEA0 AAA0 @@ -465177,7 +504719,7 @@ ENCODING 37163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 28A0 FEA0 @@ -465195,7 +504737,7 @@ ENCODING 37164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1DE0 E520 A920 @@ -465213,7 +504755,7 @@ ENCODING 37165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 FFA0 28A0 @@ -465231,7 +504773,7 @@ ENCODING 37166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 DEA0 AAA0 @@ -465249,7 +504791,7 @@ ENCODING 37167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 1140 @@ -465267,7 +504809,7 @@ ENCODING 37168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93E0 5520 FF20 @@ -465285,7 +504827,7 @@ ENCODING 37169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0DE0 F320 5540 @@ -465303,7 +504845,7 @@ ENCODING 37170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EEE0 AAA0 FEA0 @@ -465321,7 +504863,7 @@ ENCODING 37171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 AAA0 EEA0 @@ -465339,7 +504881,7 @@ ENCODING 37172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 6D20 FF20 @@ -465357,7 +504899,7 @@ ENCODING 37173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4520 7D40 @@ -465375,7 +504917,7 @@ ENCODING 37174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 2920 7D40 @@ -465393,7 +504935,7 @@ ENCODING 37175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 AB20 @@ -465411,7 +504953,7 @@ ENCODING 37176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 2920 @@ -465429,7 +504971,7 @@ ENCODING 37177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 5720 7B20 @@ -465447,7 +504989,7 @@ ENCODING 37178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 08E0 7FA0 54A0 @@ -465465,7 +505007,7 @@ ENCODING 37179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 44A0 EFA0 @@ -465483,7 +505025,7 @@ ENCODING 37180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FD20 2920 @@ -465501,7 +505043,7 @@ ENCODING 37181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7FE0 6AA0 @@ -465519,7 +505061,7 @@ ENCODING 37182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 44A0 7CA0 @@ -465537,7 +505079,7 @@ ENCODING 37183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29E0 FF20 2940 @@ -465555,7 +505097,7 @@ ENCODING 37184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 FFA0 24A0 @@ -465573,7 +505115,7 @@ ENCODING 37185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CE0 88A0 7EA0 @@ -465591,7 +505133,7 @@ ENCODING 37186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A800 FFE0 2920 @@ -465609,7 +505151,7 @@ ENCODING 37187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 10A0 FEA0 @@ -465627,7 +505169,7 @@ ENCODING 37188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 28A0 EEA0 @@ -465645,7 +505187,7 @@ ENCODING 37189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 92E0 FEA0 48A0 @@ -465663,7 +505205,7 @@ ENCODING 37190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAE0 FEA0 AAA0 @@ -465681,7 +505223,7 @@ ENCODING 37191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A4E0 FFA0 24A0 @@ -465699,7 +505241,7 @@ ENCODING 37192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 AAA0 EEA0 @@ -465717,7 +505259,7 @@ ENCODING 37193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0A00 0A00 @@ -465735,7 +505277,7 @@ ENCODING 37194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2840 2840 @@ -465753,7 +505295,7 @@ ENCODING 37195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 0A00 FFE0 @@ -465771,7 +505313,7 @@ ENCODING 37196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 2900 29E0 @@ -465789,7 +505331,7 @@ ENCODING 37197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5020 5020 @@ -465807,7 +505349,7 @@ ENCODING 37198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 5040 53E0 @@ -465825,7 +505367,7 @@ ENCODING 37199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5280 52A0 @@ -465843,7 +505385,7 @@ ENCODING 37200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5080 5080 @@ -465861,7 +505403,7 @@ ENCODING 37201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5080 F880 @@ -465879,7 +505421,7 @@ ENCODING 37202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2280 8280 @@ -465897,7 +505439,7 @@ ENCODING 37203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1900 2480 @@ -465915,7 +505457,7 @@ ENCODING 37204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FF80 5280 @@ -465933,7 +505475,7 @@ ENCODING 37205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8E0 5700 5100 @@ -465951,7 +505493,7 @@ ENCODING 37206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5080 53E0 @@ -465969,7 +505511,7 @@ ENCODING 37207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F840 5140 52A0 @@ -465987,7 +505529,7 @@ ENCODING 37208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5240 5240 @@ -466005,7 +505547,7 @@ ENCODING 37209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F840 2240 F940 @@ -466023,7 +505565,7 @@ ENCODING 37210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5280 5240 @@ -466041,7 +505583,7 @@ ENCODING 37211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5000 5000 @@ -466059,7 +505601,7 @@ ENCODING 37212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5100 FFC0 @@ -466077,7 +505619,7 @@ ENCODING 37213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F800 53E0 5000 @@ -466095,7 +505637,7 @@ ENCODING 37214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5100 5100 @@ -466113,7 +505655,7 @@ ENCODING 37215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5080 50E0 @@ -466131,7 +505673,7 @@ ENCODING 37216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5020 5020 @@ -466149,7 +505691,7 @@ ENCODING 37217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 53E0 5220 @@ -466167,7 +505709,7 @@ ENCODING 37218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 5100 51E0 @@ -466185,7 +505727,7 @@ ENCODING 37219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 5240 5240 @@ -466203,7 +505745,7 @@ ENCODING 37220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5080 53E0 @@ -466221,7 +505763,7 @@ ENCODING 37221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 5380 5080 @@ -466239,7 +505781,7 @@ ENCODING 37222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FAC0 52A0 @@ -466257,7 +505799,7 @@ ENCODING 37223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 5420 @@ -466275,7 +505817,7 @@ ENCODING 37224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 10A0 FFE0 @@ -466293,7 +505835,7 @@ ENCODING 37225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 51E0 5220 @@ -466311,7 +505853,7 @@ ENCODING 37226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 51E0 5340 @@ -466329,7 +505871,7 @@ ENCODING 37227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F900 5280 @@ -466347,7 +505889,7 @@ ENCODING 37228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 52A0 52A0 @@ -466365,7 +505907,7 @@ ENCODING 37229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5100 @@ -466383,7 +505925,7 @@ ENCODING 37230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5220 53E0 @@ -466401,7 +505943,7 @@ ENCODING 37231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 5260 5380 @@ -466419,7 +505961,7 @@ ENCODING 37232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 5280 53E0 @@ -466437,7 +505979,7 @@ ENCODING 37233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 37C0 DC80 @@ -466455,7 +505997,7 @@ ENCODING 37234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5220 5220 @@ -466473,7 +506015,7 @@ ENCODING 37235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5140 5280 @@ -466491,7 +506033,7 @@ ENCODING 37236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F980 5240 5420 @@ -466509,7 +506051,7 @@ ENCODING 37237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57A0 5140 @@ -466527,7 +506069,7 @@ ENCODING 37238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 5400 @@ -466545,7 +506087,7 @@ ENCODING 37239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 5280 53E0 @@ -466563,7 +506105,7 @@ ENCODING 37240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 5240 57A0 @@ -466581,7 +506123,7 @@ ENCODING 37241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F840 57A0 5520 @@ -466599,7 +506141,7 @@ ENCODING 37242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 53E0 5080 @@ -466617,7 +506159,7 @@ ENCODING 37243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0060 FBA0 2520 @@ -466635,7 +506177,7 @@ ENCODING 37244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2100 @@ -466653,7 +506195,7 @@ ENCODING 37245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5540 5360 @@ -466671,7 +506213,7 @@ ENCODING 37246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5000 53E0 @@ -466689,7 +506231,7 @@ ENCODING 37247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 53C0 5240 @@ -466707,7 +506249,7 @@ ENCODING 37248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 5240 57E0 @@ -466725,7 +506267,7 @@ ENCODING 37249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5040 53C0 @@ -466743,7 +506285,7 @@ ENCODING 37250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 5240 57E0 @@ -466761,7 +506303,7 @@ ENCODING 37251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5280 @@ -466779,7 +506321,7 @@ ENCODING 37252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 5420 @@ -466797,7 +506339,7 @@ ENCODING 37253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 57E0 5220 @@ -466815,7 +506357,7 @@ ENCODING 37254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 5240 57C0 @@ -466833,7 +506375,7 @@ ENCODING 37255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5240 @@ -466851,7 +506393,7 @@ ENCODING 37256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FD40 2380 @@ -466869,7 +506411,7 @@ ENCODING 37257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5240 @@ -466887,7 +506429,7 @@ ENCODING 37258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 55A0 5240 @@ -466905,7 +506447,7 @@ ENCODING 37259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 5140 57E0 @@ -466923,7 +506465,7 @@ ENCODING 37260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5220 53E0 @@ -466941,7 +506483,7 @@ ENCODING 37261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5240 53C0 @@ -466959,7 +506501,7 @@ ENCODING 37262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 00C0 F8A0 27E0 @@ -466977,7 +506519,7 @@ ENCODING 37263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 53E0 5140 @@ -466995,7 +506537,7 @@ ENCODING 37264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAE0 52A0 57A0 @@ -467013,7 +506555,7 @@ ENCODING 37265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5120 55C0 @@ -467031,7 +506573,7 @@ ENCODING 37266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5220 53E0 @@ -467049,7 +506591,7 @@ ENCODING 37267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 57E0 5520 @@ -467067,7 +506609,7 @@ ENCODING 37268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 1380 7D00 @@ -467085,7 +506627,7 @@ ENCODING 37269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FBE0 2000 @@ -467103,7 +506645,7 @@ ENCODING 37270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 2240 FBC0 @@ -467121,7 +506663,7 @@ ENCODING 37271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7A0 2540 @@ -467139,7 +506681,7 @@ ENCODING 37272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2100 @@ -467157,7 +506699,7 @@ ENCODING 37273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F980 56E0 54A0 @@ -467175,7 +506717,7 @@ ENCODING 37274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 55A0 52C0 @@ -467193,7 +506735,7 @@ ENCODING 37275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 57E0 5240 @@ -467211,7 +506753,7 @@ ENCODING 37276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5520 @@ -467229,7 +506771,7 @@ ENCODING 37277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 53E0 5080 @@ -467247,7 +506789,7 @@ ENCODING 37278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 52A0 52A0 @@ -467265,7 +506807,7 @@ ENCODING 37279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 56A0 5AC0 2980 @@ -467283,7 +506825,7 @@ ENCODING 37280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 53E0 52A0 @@ -467301,7 +506843,7 @@ ENCODING 37281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 55A0 @@ -467319,7 +506861,7 @@ ENCODING 37282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5100 @@ -467337,7 +506879,7 @@ ENCODING 37283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5540 @@ -467355,7 +506897,7 @@ ENCODING 37284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5540 3FE0 @@ -467373,7 +506915,7 @@ ENCODING 37285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5280 57E0 @@ -467391,7 +506933,7 @@ ENCODING 37286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 27C0 FA40 @@ -467409,7 +506951,7 @@ ENCODING 37287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5200 53C0 @@ -467427,7 +506969,7 @@ ENCODING 37288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 53E0 5360 @@ -467445,7 +506987,7 @@ ENCODING 37289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 FA80 2FE0 @@ -467463,7 +507005,7 @@ ENCODING 37290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 55A0 5360 @@ -467481,7 +507023,7 @@ ENCODING 37291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 9140 FFE0 @@ -467499,7 +507041,7 @@ ENCODING 37292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 7540 1D40 @@ -467517,7 +507059,7 @@ ENCODING 37293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEA0 52C0 57E0 @@ -467535,7 +507077,7 @@ ENCODING 37294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 53E0 5680 @@ -467553,7 +507095,7 @@ ENCODING 37295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5240 @@ -467571,7 +507113,7 @@ ENCODING 37296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5280 5FE0 @@ -467589,7 +507131,7 @@ ENCODING 37297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 55A0 52C0 @@ -467607,7 +507149,7 @@ ENCODING 37298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 57E0 52A0 @@ -467625,7 +507167,7 @@ ENCODING 37299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 52A0 56A0 @@ -467643,7 +507185,7 @@ ENCODING 37300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 57E0 52A0 @@ -467661,7 +507203,7 @@ ENCODING 37301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 5100 57E0 @@ -467679,7 +507221,7 @@ ENCODING 37302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 FA40 2420 @@ -467697,7 +507239,7 @@ ENCODING 37303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 5240 @@ -467715,7 +507257,7 @@ ENCODING 37304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2440 @@ -467733,7 +507275,7 @@ ENCODING 37305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5100 57E0 @@ -467751,7 +507293,7 @@ ENCODING 37306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5100 57E0 @@ -467769,7 +507311,7 @@ ENCODING 37307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2100 @@ -467787,7 +507329,7 @@ ENCODING 37308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 57E0 5280 @@ -467805,7 +507347,7 @@ ENCODING 37309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5100 57E0 @@ -467823,7 +507365,7 @@ ENCODING 37310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 57E0 5540 @@ -467841,7 +507383,7 @@ ENCODING 37311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFE0 2A40 @@ -467859,7 +507401,7 @@ ENCODING 37312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57E0 55A0 @@ -467877,7 +507419,7 @@ ENCODING 37313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5140 7FC0 @@ -467895,7 +507437,7 @@ ENCODING 37314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 52A0 57E0 @@ -467913,7 +507455,7 @@ ENCODING 37315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5000 57E0 @@ -467931,7 +507473,7 @@ ENCODING 37316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 F7E0 2540 @@ -467949,7 +507491,7 @@ ENCODING 37317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 5AA0 5FE0 @@ -467967,7 +507509,7 @@ ENCODING 37318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0380 7C40 2480 @@ -467985,7 +507527,7 @@ ENCODING 37319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 7840 2480 @@ -468003,7 +507545,7 @@ ENCODING 37320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 EBC0 AA40 @@ -468021,7 +507563,7 @@ ENCODING 37321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E100 A900 @@ -468039,7 +507581,7 @@ ENCODING 37322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FC0 E280 A900 @@ -468057,7 +507599,7 @@ ENCODING 37323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2AA0 AFE0 @@ -468075,7 +507617,7 @@ ENCODING 37324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 4440 @@ -468093,7 +507635,7 @@ ENCODING 37325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -468111,7 +507653,7 @@ ENCODING 37326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A840 F980 @@ -468129,7 +507671,7 @@ ENCODING 37327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3F80 @@ -468147,7 +507689,7 @@ ENCODING 37328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 FC80 @@ -468165,7 +507707,7 @@ ENCODING 37329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1100 @@ -468182,26 +507724,26 @@ STARTCHAR U_91D2 ENCODING 37330 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -2800 -4400 -FE00 -1000 -7C00 -1000 -5400 -3800 -1C00 -E000 +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 +BITMAP 2100 5100 8900 @@ -468219,7 +507761,7 @@ ENCODING 37332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5020 8840 @@ -468237,7 +507779,7 @@ ENCODING 37333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5040 8880 @@ -468255,7 +507797,7 @@ ENCODING 37334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BE0 44A0 @@ -468273,7 +507815,7 @@ ENCODING 37335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 2820 4520 @@ -468291,7 +507833,7 @@ ENCODING 37336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57E0 8880 @@ -468309,7 +507851,7 @@ ENCODING 37337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 8900 @@ -468327,7 +507869,7 @@ ENCODING 37338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 8F80 @@ -468345,7 +507887,7 @@ ENCODING 37339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 4500 @@ -468363,7 +507905,7 @@ ENCODING 37340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3180 5240 0C00 @@ -468381,7 +507923,7 @@ ENCODING 37341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8880 @@ -468399,7 +507941,7 @@ ENCODING 37342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4900 @@ -468417,7 +507959,7 @@ ENCODING 37343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3280 4A80 @@ -468435,7 +507977,7 @@ ENCODING 37344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1380 2A80 @@ -468453,7 +507995,7 @@ ENCODING 37345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 64C0 0A40 @@ -468471,7 +508013,7 @@ ENCODING 37346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5240 8A40 @@ -468489,7 +508031,7 @@ ENCODING 37347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 89E0 @@ -468507,7 +508049,7 @@ ENCODING 37348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 5080 8900 @@ -468525,7 +508067,7 @@ ENCODING 37349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -468543,7 +508085,7 @@ ENCODING 37350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4A20 @@ -468561,7 +508103,7 @@ ENCODING 37351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 52A0 8AA0 @@ -468579,7 +508121,7 @@ ENCODING 37352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3040 4880 @@ -468597,7 +508139,7 @@ ENCODING 37353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 3480 4C80 @@ -468615,7 +508157,7 @@ ENCODING 37354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3080 4880 @@ -468633,7 +508175,7 @@ ENCODING 37355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3000 4800 @@ -468651,7 +508193,7 @@ ENCODING 37356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4880 @@ -468669,7 +508211,7 @@ ENCODING 37357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4880 @@ -468687,7 +508229,7 @@ ENCODING 37358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 3040 4840 @@ -468705,7 +508247,7 @@ ENCODING 37359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3080 4FE0 @@ -468723,7 +508265,7 @@ ENCODING 37360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 48A0 @@ -468741,7 +508283,7 @@ ENCODING 37361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -468759,7 +508301,7 @@ ENCODING 37362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33C0 4A40 @@ -468777,7 +508319,7 @@ ENCODING 37363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 31E0 4A00 @@ -468795,7 +508337,7 @@ ENCODING 37364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5140 8920 @@ -468813,7 +508355,7 @@ ENCODING 37365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57E0 8A20 @@ -468831,7 +508373,7 @@ ENCODING 37366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4D00 @@ -468849,7 +508391,7 @@ ENCODING 37367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8880 @@ -468867,7 +508409,7 @@ ENCODING 37368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 49E0 @@ -468885,7 +508427,7 @@ ENCODING 37369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 8900 @@ -468903,7 +508445,7 @@ ENCODING 37370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3300 4900 @@ -468921,7 +508463,7 @@ ENCODING 37371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4A00 @@ -468939,7 +508481,7 @@ ENCODING 37372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37C0 4A40 @@ -468957,7 +508499,7 @@ ENCODING 37373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 5740 8D40 @@ -468975,7 +508517,7 @@ ENCODING 37374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37C0 4A80 @@ -468993,7 +508535,7 @@ ENCODING 37375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 5380 8A00 @@ -469011,7 +508553,7 @@ ENCODING 37376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37C0 4D40 @@ -469029,7 +508571,7 @@ ENCODING 37377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -469047,7 +508589,7 @@ ENCODING 37378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 8FE0 @@ -469065,7 +508607,7 @@ ENCODING 37379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3240 4A40 @@ -469083,7 +508625,7 @@ ENCODING 37380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 3240 4940 @@ -469101,7 +508643,7 @@ ENCODING 37381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8A20 @@ -469119,7 +508661,7 @@ ENCODING 37382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5280 8A40 @@ -469137,7 +508679,7 @@ ENCODING 37383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4BE0 @@ -469155,7 +508697,7 @@ ENCODING 37384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4900 @@ -469173,7 +508715,7 @@ ENCODING 37385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 57E0 @@ -469191,7 +508733,7 @@ ENCODING 37386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8880 @@ -469209,7 +508751,7 @@ ENCODING 37387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3280 4A80 @@ -469227,7 +508769,7 @@ ENCODING 37388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4FC0 @@ -469245,7 +508787,7 @@ ENCODING 37389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4880 @@ -469263,7 +508805,7 @@ ENCODING 37390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 49E0 @@ -469281,7 +508823,7 @@ ENCODING 37391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23A0 30A0 48A0 @@ -469299,7 +508841,7 @@ ENCODING 37392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4940 @@ -469317,7 +508859,7 @@ ENCODING 37393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4A00 @@ -469335,7 +508877,7 @@ ENCODING 37394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3240 4A40 @@ -469353,7 +508895,7 @@ ENCODING 37395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3700 4900 @@ -469371,7 +508913,7 @@ ENCODING 37396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -469389,7 +508931,7 @@ ENCODING 37397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3140 4940 @@ -469407,7 +508949,7 @@ ENCODING 37398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3280 4A40 @@ -469425,7 +508967,7 @@ ENCODING 37399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A40 @@ -469443,7 +508985,7 @@ ENCODING 37400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4FE0 @@ -469461,7 +509003,7 @@ ENCODING 37401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 49E0 @@ -469479,7 +509021,7 @@ ENCODING 37402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2480 5480 @@ -469497,7 +509039,7 @@ ENCODING 37403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3280 4A40 @@ -469515,7 +509057,7 @@ ENCODING 37404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4900 @@ -469533,7 +509075,7 @@ ENCODING 37405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3500 4D00 @@ -469551,7 +509093,7 @@ ENCODING 37406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4BE0 @@ -469569,7 +509111,7 @@ ENCODING 37407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37C0 4940 @@ -469587,7 +509129,7 @@ ENCODING 37408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3240 4A40 @@ -469605,7 +509147,7 @@ ENCODING 37409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -469623,7 +509165,7 @@ ENCODING 37410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4900 @@ -469641,7 +509183,7 @@ ENCODING 37411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3080 4880 @@ -469659,7 +509201,7 @@ ENCODING 37412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3220 4A20 @@ -469677,7 +509219,7 @@ ENCODING 37413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4AA0 @@ -469695,7 +509237,7 @@ ENCODING 37414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4900 @@ -469713,7 +509255,7 @@ ENCODING 37415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4FE0 @@ -469731,7 +509273,7 @@ ENCODING 37416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33C0 4800 @@ -469749,7 +509291,7 @@ ENCODING 37417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3080 4BE0 @@ -469767,7 +509309,7 @@ ENCODING 37418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4C00 @@ -469785,7 +509327,7 @@ ENCODING 37419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4FE0 @@ -469803,7 +509345,7 @@ ENCODING 37420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33C0 4A40 @@ -469821,7 +509363,7 @@ ENCODING 37421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1160 5D80 5120 @@ -469839,7 +509381,7 @@ ENCODING 37422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3220 4A20 @@ -469857,7 +509399,7 @@ ENCODING 37423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4AA0 @@ -469875,7 +509417,7 @@ ENCODING 37424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4FE0 @@ -469893,7 +509435,7 @@ ENCODING 37425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3420 4FE0 @@ -469911,7 +509453,7 @@ ENCODING 37426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 3740 4D40 @@ -469929,7 +509471,7 @@ ENCODING 37427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3040 4840 @@ -469947,7 +509489,7 @@ ENCODING 37428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4940 @@ -469965,7 +509507,7 @@ ENCODING 37429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4900 @@ -469983,7 +509525,7 @@ ENCODING 37430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 5240 @@ -470001,7 +509543,7 @@ ENCODING 37431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4880 @@ -470019,7 +509561,7 @@ ENCODING 37432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3240 4FE0 @@ -470037,7 +509579,7 @@ ENCODING 37433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4FE0 @@ -470055,7 +509597,7 @@ ENCODING 37434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3100 4900 @@ -470073,7 +509615,7 @@ ENCODING 37435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33C0 4A40 @@ -470091,7 +509633,7 @@ ENCODING 37436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4FE0 @@ -470109,7 +509651,7 @@ ENCODING 37437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4900 @@ -470127,7 +509669,7 @@ ENCODING 37438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4BE0 @@ -470145,7 +509687,7 @@ ENCODING 37439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53E0 8AA0 @@ -470163,7 +509705,7 @@ ENCODING 37440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 52A0 8AA0 @@ -470181,7 +509723,7 @@ ENCODING 37441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A80 @@ -470199,7 +509741,7 @@ ENCODING 37442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4FC0 @@ -470217,7 +509759,7 @@ ENCODING 37443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4BC0 @@ -470235,7 +509777,7 @@ ENCODING 37444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3280 4A80 @@ -470253,7 +509795,7 @@ ENCODING 37445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5200 8A00 @@ -470271,7 +509813,7 @@ ENCODING 37446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 88E0 @@ -470289,7 +509831,7 @@ ENCODING 37447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 37E0 4C00 @@ -470307,7 +509849,7 @@ ENCODING 37448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -470325,7 +509867,7 @@ ENCODING 37449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -470343,7 +509885,7 @@ ENCODING 37450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5120 8920 @@ -470361,7 +509903,7 @@ ENCODING 37451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8C20 @@ -470379,7 +509921,7 @@ ENCODING 37452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 53C0 8880 @@ -470397,7 +509939,7 @@ ENCODING 37453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 50A0 8A20 @@ -470415,7 +509957,7 @@ ENCODING 37454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5280 8A80 @@ -470433,7 +509975,7 @@ ENCODING 37455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8A40 @@ -470451,7 +509993,7 @@ ENCODING 37456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57E0 8880 @@ -470469,7 +510011,7 @@ ENCODING 37457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5100 8BE0 @@ -470487,7 +510029,7 @@ ENCODING 37458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8BE0 @@ -470505,7 +510047,7 @@ ENCODING 37459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 8BE0 @@ -470523,7 +510065,7 @@ ENCODING 37460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5400 8C80 @@ -470541,7 +510083,7 @@ ENCODING 37461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4C00 @@ -470559,7 +510101,7 @@ ENCODING 37462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 51E0 8B40 @@ -470577,7 +510119,7 @@ ENCODING 37463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5240 8A40 @@ -470595,7 +510137,7 @@ ENCODING 37464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3280 4FE0 @@ -470613,7 +510155,7 @@ ENCODING 37465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 33E0 4A20 @@ -470631,7 +510173,7 @@ ENCODING 37466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 5AE0 8AA0 @@ -470649,7 +510191,7 @@ ENCODING 37467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8A40 @@ -470667,7 +510209,7 @@ ENCODING 37468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 3240 4A40 @@ -470685,7 +510227,7 @@ ENCODING 37469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3100 4880 @@ -470703,7 +510245,7 @@ ENCODING 37470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 8FE0 @@ -470721,7 +510263,7 @@ ENCODING 37471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4880 @@ -470739,7 +510281,7 @@ ENCODING 37472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8BE0 @@ -470757,7 +510299,7 @@ ENCODING 37473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 52A0 89C0 @@ -470775,7 +510317,7 @@ ENCODING 37474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4900 @@ -470793,7 +510335,7 @@ ENCODING 37475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8FE0 @@ -470811,7 +510353,7 @@ ENCODING 37476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 8BE0 @@ -470829,7 +510371,7 @@ ENCODING 37477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3120 4FE0 @@ -470847,7 +510389,7 @@ ENCODING 37478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 57E0 8880 @@ -470865,7 +510407,7 @@ ENCODING 37479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8D40 @@ -470883,7 +510425,7 @@ ENCODING 37480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3200 4BE0 @@ -470901,7 +510443,7 @@ ENCODING 37481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A80 @@ -470919,7 +510461,7 @@ ENCODING 37482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3540 4D40 @@ -470937,7 +510479,7 @@ ENCODING 37483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3400 4CE0 @@ -470955,7 +510497,7 @@ ENCODING 37484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8A20 @@ -470973,7 +510515,7 @@ ENCODING 37485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53E0 8A20 @@ -470991,7 +510533,7 @@ ENCODING 37486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3080 4FE0 @@ -471009,7 +510551,7 @@ ENCODING 37487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 5440 8D40 @@ -471027,7 +510569,7 @@ ENCODING 37488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5020 8BA0 @@ -471045,7 +510587,7 @@ ENCODING 37489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3080 4FE0 @@ -471063,7 +510605,7 @@ ENCODING 37490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 89E0 @@ -471081,7 +510623,7 @@ ENCODING 37491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3280 4A80 @@ -471099,7 +510641,7 @@ ENCODING 37492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 93E0 9500 @@ -471117,7 +510659,7 @@ ENCODING 37493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4900 @@ -471135,7 +510677,7 @@ ENCODING 37494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F20 5A20 8AA0 @@ -471153,7 +510695,7 @@ ENCODING 37495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3240 4A40 @@ -471171,7 +510713,7 @@ ENCODING 37496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -471189,7 +510731,7 @@ ENCODING 37497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 51E0 8A20 @@ -471207,7 +510749,7 @@ ENCODING 37498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5240 8A40 @@ -471225,7 +510767,7 @@ ENCODING 37499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53C0 8C40 @@ -471243,7 +510785,7 @@ ENCODING 37500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 5140 8FE0 @@ -471261,7 +510803,7 @@ ENCODING 37501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 8FE0 @@ -471279,7 +510821,7 @@ ENCODING 37502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5240 8FA0 @@ -471297,7 +510839,7 @@ ENCODING 37503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5140 8A20 @@ -471315,7 +510857,7 @@ ENCODING 37504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -471333,7 +510875,7 @@ ENCODING 37505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 33E0 4C20 @@ -471351,7 +510893,7 @@ ENCODING 37506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 52A0 8AA0 @@ -471369,7 +510911,7 @@ ENCODING 37507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -471387,7 +510929,7 @@ ENCODING 37508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3200 4FE0 @@ -471405,7 +510947,7 @@ ENCODING 37509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5420 8FA0 @@ -471423,7 +510965,7 @@ ENCODING 37510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 8900 @@ -471441,7 +510983,7 @@ ENCODING 37511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 8880 @@ -471459,7 +511001,7 @@ ENCODING 37512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 8FC0 @@ -471477,7 +511019,7 @@ ENCODING 37513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 33C0 4940 @@ -471495,7 +511037,7 @@ ENCODING 37514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 8FE0 @@ -471513,7 +511055,7 @@ ENCODING 37515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5220 8DC0 @@ -471531,7 +511073,7 @@ ENCODING 37516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -471549,7 +511091,7 @@ ENCODING 37517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5100 8900 @@ -471567,7 +511109,7 @@ ENCODING 37518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 2480 3EA0 @@ -471585,7 +511127,7 @@ ENCODING 37519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2EE0 5AA0 @@ -471603,7 +511145,7 @@ ENCODING 37520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE40 2140 7940 @@ -471621,7 +511163,7 @@ ENCODING 37521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5500 8FC0 @@ -471639,7 +511181,7 @@ ENCODING 37522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 36E0 4C40 @@ -471657,7 +511199,7 @@ ENCODING 37523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3280 4C40 @@ -471675,7 +511217,7 @@ ENCODING 37524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 89C0 @@ -471693,7 +511235,7 @@ ENCODING 37525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -471711,7 +511253,7 @@ ENCODING 37526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 8BE0 @@ -471729,7 +511271,7 @@ ENCODING 37527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 53C0 8A00 @@ -471747,7 +511289,7 @@ ENCODING 37528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 51E0 8A20 @@ -471765,7 +511307,7 @@ ENCODING 37529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -471783,7 +511325,7 @@ ENCODING 37530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 52A0 8EA0 @@ -471801,7 +511343,7 @@ ENCODING 37531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 5380 8880 @@ -471819,7 +511361,7 @@ ENCODING 37532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 4A00 9F00 @@ -471837,7 +511379,7 @@ ENCODING 37533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 8C80 @@ -471855,7 +511397,7 @@ ENCODING 37534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 6140 BF40 @@ -471873,7 +511415,7 @@ ENCODING 37535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 32A0 4AA0 @@ -471891,7 +511433,7 @@ ENCODING 37536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57A0 8940 @@ -471909,7 +511451,7 @@ ENCODING 37537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8FE0 @@ -471927,7 +511469,7 @@ ENCODING 37538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5000 8FE0 @@ -471945,7 +511487,7 @@ ENCODING 37539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 64E0 9FA0 @@ -471963,7 +511505,7 @@ ENCODING 37540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 52A0 89C0 @@ -471981,7 +511523,7 @@ ENCODING 37541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -471999,7 +511541,7 @@ ENCODING 37542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 54A0 8CA0 @@ -472017,7 +511559,7 @@ ENCODING 37543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5520 8B40 @@ -472035,7 +511577,7 @@ ENCODING 37544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -472053,7 +511595,7 @@ ENCODING 37545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 5780 8880 @@ -472071,7 +511613,7 @@ ENCODING 37546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 8FE0 @@ -472089,7 +511631,7 @@ ENCODING 37547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53C0 8A80 @@ -472107,7 +511649,7 @@ ENCODING 37548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53A0 8940 @@ -472125,7 +511667,7 @@ ENCODING 37549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3240 4BE0 @@ -472143,7 +511685,7 @@ ENCODING 37550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -472161,7 +511703,7 @@ ENCODING 37551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A40 @@ -472179,7 +511721,7 @@ ENCODING 37552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 3240 4FE0 @@ -472197,7 +511739,7 @@ ENCODING 37553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4C40 @@ -472215,7 +511757,7 @@ ENCODING 37554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8BE0 @@ -472233,7 +511775,7 @@ ENCODING 37555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5440 8FE0 @@ -472251,7 +511793,7 @@ ENCODING 37556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA00 23E0 @@ -472269,7 +511811,7 @@ ENCODING 37557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53E0 8A20 @@ -472287,7 +511829,7 @@ ENCODING 37558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 5120 8FE0 @@ -472305,7 +511847,7 @@ ENCODING 37559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 52A0 89C0 @@ -472323,7 +511865,7 @@ ENCODING 37560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4A00 @@ -472341,7 +511883,7 @@ ENCODING 37561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5100 8FE0 @@ -472359,7 +511901,7 @@ ENCODING 37562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2900 7FE0 @@ -472377,7 +511919,7 @@ ENCODING 37563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -472395,7 +511937,7 @@ ENCODING 37564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5540 8D40 @@ -472413,7 +511955,7 @@ ENCODING 37565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3780 4C80 @@ -472431,7 +511973,7 @@ ENCODING 37566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3100 4FE0 @@ -472449,7 +511991,7 @@ ENCODING 37567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3280 4900 @@ -472467,7 +512009,7 @@ ENCODING 37568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5000 8BC0 @@ -472485,7 +512027,7 @@ ENCODING 37569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8A20 @@ -472503,7 +512045,7 @@ ENCODING 37570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8C00 @@ -472521,7 +512063,7 @@ ENCODING 37571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 53E0 8A20 @@ -472539,7 +512081,7 @@ ENCODING 37572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 8AA0 @@ -472557,7 +512099,7 @@ ENCODING 37573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -472575,7 +512117,7 @@ ENCODING 37574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2520 @@ -472593,7 +512135,7 @@ ENCODING 37575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8A20 @@ -472611,7 +512153,7 @@ ENCODING 37576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 A200 5FE0 @@ -472629,7 +512171,7 @@ ENCODING 37577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -472647,7 +512189,7 @@ ENCODING 37578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5240 8C20 @@ -472665,7 +512207,7 @@ ENCODING 37579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 52C0 8A40 @@ -472683,7 +512225,7 @@ ENCODING 37580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 53C0 8A40 @@ -472701,7 +512243,7 @@ ENCODING 37581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -472719,7 +512261,7 @@ ENCODING 37582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -472737,7 +512279,7 @@ ENCODING 37583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8940 @@ -472755,7 +512297,7 @@ ENCODING 37584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -472773,7 +512315,7 @@ ENCODING 37585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5240 8FE0 @@ -472791,7 +512333,7 @@ ENCODING 37586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 5340 8C80 @@ -472809,7 +512351,7 @@ ENCODING 37587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2120 5620 8AA0 @@ -472827,7 +512369,7 @@ ENCODING 37588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 33C0 4C80 @@ -472845,7 +512387,7 @@ ENCODING 37589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 8FE0 @@ -472863,7 +512405,7 @@ ENCODING 37590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3520 4AC0 @@ -472881,7 +512423,7 @@ ENCODING 37591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8BC0 @@ -472899,7 +512441,7 @@ ENCODING 37592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8A40 @@ -472917,7 +512459,7 @@ ENCODING 37593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 8BC0 @@ -472935,7 +512477,7 @@ ENCODING 37594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 5640 @@ -472953,7 +512495,7 @@ ENCODING 37595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37C0 4D40 @@ -472971,7 +512513,7 @@ ENCODING 37596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4C40 @@ -472989,7 +512531,7 @@ ENCODING 37597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 57A0 8D20 @@ -473007,7 +512549,7 @@ ENCODING 37598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 52A0 8AA0 @@ -473025,7 +512567,7 @@ ENCODING 37599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5040 8BC0 @@ -473043,7 +512585,7 @@ ENCODING 37600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5400 8DC0 @@ -473061,7 +512603,7 @@ ENCODING 37601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5280 8D40 @@ -473079,7 +512621,7 @@ ENCODING 37602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3720 4D40 @@ -473097,7 +512639,7 @@ ENCODING 37603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 52A0 @@ -473115,7 +512657,7 @@ ENCODING 37604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 5A80 8A80 @@ -473133,7 +512675,7 @@ ENCODING 37605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4C40 @@ -473151,7 +512693,7 @@ ENCODING 37606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -473169,7 +512711,7 @@ ENCODING 37607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -473187,7 +512729,7 @@ ENCODING 37608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 56C0 8AA0 @@ -473205,7 +512747,7 @@ ENCODING 37609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -473223,7 +512765,7 @@ ENCODING 37610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 5120 8FE0 @@ -473241,7 +512783,7 @@ ENCODING 37611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 1140 FD40 @@ -473259,7 +512801,7 @@ ENCODING 37612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 F400 27C0 @@ -473277,7 +512819,7 @@ ENCODING 37613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3280 4FC0 @@ -473295,7 +512837,7 @@ ENCODING 37614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 20A0 5FE0 @@ -473313,7 +512855,7 @@ ENCODING 37615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 8BE0 @@ -473331,7 +512873,7 @@ ENCODING 37616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 52A0 8AA0 @@ -473349,7 +512891,7 @@ ENCODING 37617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 5040 8FE0 @@ -473367,7 +512909,7 @@ ENCODING 37618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 3700 4C00 @@ -473385,7 +512927,7 @@ ENCODING 37619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4900 @@ -473403,7 +512945,7 @@ ENCODING 37620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4900 @@ -473421,7 +512963,7 @@ ENCODING 37621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 3700 4900 @@ -473439,7 +512981,7 @@ ENCODING 37622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4FE0 @@ -473457,7 +512999,7 @@ ENCODING 37623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 AA00 1FE0 @@ -473475,7 +513017,7 @@ ENCODING 37624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5420 8FE0 @@ -473493,7 +513035,7 @@ ENCODING 37625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5200 8BC0 @@ -473511,7 +513053,7 @@ ENCODING 37626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 8FE0 @@ -473529,7 +513071,7 @@ ENCODING 37627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A240 F940 @@ -473547,7 +513089,7 @@ ENCODING 37628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8920 @@ -473565,7 +513107,7 @@ ENCODING 37629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 31C0 4900 @@ -473583,7 +513125,7 @@ ENCODING 37630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8C20 @@ -473601,7 +513143,7 @@ ENCODING 37631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 52C0 8880 @@ -473619,7 +513161,7 @@ ENCODING 37632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2280 5440 @@ -473637,7 +513179,7 @@ ENCODING 37633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 54A0 8FE0 @@ -473655,7 +513197,7 @@ ENCODING 37634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8900 @@ -473673,7 +513215,7 @@ ENCODING 37635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 17E0 44A0 @@ -473691,7 +513233,7 @@ ENCODING 37636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8BC0 @@ -473709,7 +513251,7 @@ ENCODING 37637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 11E0 FEA0 @@ -473727,7 +513269,7 @@ ENCODING 37638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -473745,7 +513287,7 @@ ENCODING 37639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4FE0 @@ -473763,7 +513305,7 @@ ENCODING 37640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 5340 8FE0 @@ -473781,7 +513323,7 @@ ENCODING 37641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5480 8FE0 @@ -473799,7 +513341,7 @@ ENCODING 37642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3100 4FE0 @@ -473817,7 +513359,7 @@ ENCODING 37643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8AA0 @@ -473835,7 +513377,7 @@ ENCODING 37644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 52A0 8BE0 @@ -473853,7 +513395,7 @@ ENCODING 37645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8CA0 @@ -473871,7 +513413,7 @@ ENCODING 37646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8C40 @@ -473889,7 +513431,7 @@ ENCODING 37647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5280 8A80 @@ -473907,7 +513449,7 @@ ENCODING 37648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5280 8FE0 @@ -473925,7 +513467,7 @@ ENCODING 37649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4C20 @@ -473943,7 +513485,7 @@ ENCODING 37650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5A20 8A20 @@ -473961,7 +513503,7 @@ ENCODING 37651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -473979,7 +513521,7 @@ ENCODING 37652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57A0 8AC0 @@ -473997,7 +513539,7 @@ ENCODING 37653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -474015,7 +513557,7 @@ ENCODING 37654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 2120 FCC0 @@ -474033,7 +513575,7 @@ ENCODING 37655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3100 4FE0 @@ -474051,7 +513593,7 @@ ENCODING 37656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 5780 8900 @@ -474069,7 +513611,7 @@ ENCODING 37657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 52A0 8D40 @@ -474087,7 +513629,7 @@ ENCODING 37658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53C0 8480 @@ -474105,7 +513647,7 @@ ENCODING 37659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -474123,7 +513665,7 @@ ENCODING 37660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A80 @@ -474141,7 +513683,7 @@ ENCODING 37661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -474159,7 +513701,7 @@ ENCODING 37662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -474177,7 +513719,7 @@ ENCODING 37663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 52C0 8C80 @@ -474195,7 +513737,7 @@ ENCODING 37664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -474213,7 +513755,7 @@ ENCODING 37665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A80 @@ -474231,7 +513773,7 @@ ENCODING 37666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3240 4FC0 @@ -474249,7 +513791,7 @@ ENCODING 37667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 8AC0 @@ -474267,7 +513809,7 @@ ENCODING 37668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5240 8FE0 @@ -474285,7 +513827,7 @@ ENCODING 37669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 8940 @@ -474303,7 +513845,7 @@ ENCODING 37670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 53E0 8A20 @@ -474321,7 +513863,7 @@ ENCODING 37671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -474339,7 +513881,7 @@ ENCODING 37672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5240 8FE0 @@ -474357,7 +513899,7 @@ ENCODING 37673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8BC0 @@ -474375,7 +513917,7 @@ ENCODING 37674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5280 8FE0 @@ -474393,7 +513935,7 @@ ENCODING 37675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -474411,7 +513953,7 @@ ENCODING 37676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4900 @@ -474429,7 +513971,7 @@ ENCODING 37677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 8FA0 @@ -474447,7 +513989,7 @@ ENCODING 37678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5820 8920 @@ -474465,7 +514007,7 @@ ENCODING 37679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -474483,7 +514025,7 @@ ENCODING 37680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4FE0 @@ -474501,7 +514043,7 @@ ENCODING 37681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1100 EEE0 @@ -474519,7 +514061,7 @@ ENCODING 37682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3040 4BC0 @@ -474537,7 +514079,7 @@ ENCODING 37683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5040 8880 @@ -474555,7 +514097,7 @@ ENCODING 37684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 53E0 8880 @@ -474573,7 +514115,7 @@ ENCODING 37685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -474591,7 +514133,7 @@ ENCODING 37686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -474609,7 +514151,7 @@ ENCODING 37687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 5F40 A440 @@ -474627,7 +514169,7 @@ ENCODING 37688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -474645,7 +514187,7 @@ ENCODING 37689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 5280 8FE0 @@ -474663,7 +514205,7 @@ ENCODING 37690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 37E0 4A80 @@ -474681,7 +514223,7 @@ ENCODING 37691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 36C0 48A0 @@ -474699,7 +514241,7 @@ ENCODING 37692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A80 @@ -474717,7 +514259,7 @@ ENCODING 37693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 37E0 4940 @@ -474735,7 +514277,7 @@ ENCODING 37694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A200 FBE0 @@ -474753,7 +514295,7 @@ ENCODING 37695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 3100 4FE0 @@ -474771,7 +514313,7 @@ ENCODING 37696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4FC0 @@ -474789,7 +514331,7 @@ ENCODING 37697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3C80 48E0 @@ -474807,7 +514349,7 @@ ENCODING 37698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3100 4A80 @@ -474825,7 +514367,7 @@ ENCODING 37699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 33E0 4AA0 @@ -474843,7 +514385,7 @@ ENCODING 37700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2FE0 5000 @@ -474861,7 +514403,7 @@ ENCODING 37701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 3280 4880 @@ -474879,7 +514421,7 @@ ENCODING 37702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 6AA0 9EE0 @@ -474897,7 +514439,7 @@ ENCODING 37703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 54A0 8EC0 @@ -474915,7 +514457,7 @@ ENCODING 37704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3FE0 4440 @@ -474933,7 +514475,7 @@ ENCODING 37705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5220 8BE0 @@ -474951,7 +514493,7 @@ ENCODING 37706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -474969,7 +514511,7 @@ ENCODING 37707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8B40 @@ -474987,7 +514529,7 @@ ENCODING 37708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 B7C0 4900 @@ -475005,7 +514547,7 @@ ENCODING 37709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 8D40 @@ -475023,7 +514565,7 @@ ENCODING 37710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5480 8FE0 @@ -475041,7 +514583,7 @@ ENCODING 37711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53C0 8940 @@ -475059,7 +514601,7 @@ ENCODING 37712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 26A0 5520 8EA0 @@ -475077,7 +514619,7 @@ ENCODING 37713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8E40 @@ -475095,7 +514637,7 @@ ENCODING 37714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5140 8FE0 @@ -475113,7 +514655,7 @@ ENCODING 37715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3240 4BC0 @@ -475131,7 +514673,7 @@ ENCODING 37716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8EE0 @@ -475149,7 +514691,7 @@ ENCODING 37717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 8FE0 @@ -475167,7 +514709,7 @@ ENCODING 37718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -475185,7 +514727,7 @@ ENCODING 37719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A80 @@ -475203,7 +514745,7 @@ ENCODING 37720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 5A20 8EA0 @@ -475221,7 +514763,7 @@ ENCODING 37721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 AFE0 4480 @@ -475239,7 +514781,7 @@ ENCODING 37722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 8BC0 @@ -475257,7 +514799,7 @@ ENCODING 37723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5540 8F40 @@ -475275,7 +514817,7 @@ ENCODING 37724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 8D20 @@ -475293,7 +514835,7 @@ ENCODING 37725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3540 4FC0 @@ -475311,7 +514853,7 @@ ENCODING 37726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 5100 8FC0 @@ -475329,7 +514871,7 @@ ENCODING 37727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4FC0 @@ -475347,7 +514889,7 @@ ENCODING 37728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53C0 8A40 @@ -475365,7 +514907,7 @@ ENCODING 37729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 52A0 8BE0 @@ -475383,7 +514925,7 @@ ENCODING 37730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3000 4BC0 @@ -475401,7 +514943,7 @@ ENCODING 37731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -475419,7 +514961,7 @@ ENCODING 37732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 5700 8900 @@ -475437,7 +514979,7 @@ ENCODING 37733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 5FE0 84A0 @@ -475455,7 +514997,7 @@ ENCODING 37734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2900 55E0 @@ -475473,7 +515015,7 @@ ENCODING 37735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 8D20 @@ -475491,7 +515033,7 @@ ENCODING 37736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3680 4AA0 @@ -475509,7 +515051,7 @@ ENCODING 37737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 37E0 4C40 @@ -475527,7 +515069,7 @@ ENCODING 37738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 2FE0 FA80 @@ -475545,7 +515087,7 @@ ENCODING 37739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 6520 2540 @@ -475563,7 +515105,7 @@ ENCODING 37740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 5480 85A0 @@ -475581,7 +515123,7 @@ ENCODING 37741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5440 8FE0 @@ -475599,7 +515141,7 @@ ENCODING 37742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3280 4C40 @@ -475617,7 +515159,7 @@ ENCODING 37743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 5AA0 @@ -475635,7 +515177,7 @@ ENCODING 37744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20E0 2740 5280 @@ -475653,7 +515195,7 @@ ENCODING 37745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 57E0 8AA0 @@ -475671,7 +515213,7 @@ ENCODING 37746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -475689,7 +515231,7 @@ ENCODING 37747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 53E0 7D00 @@ -475707,7 +515249,7 @@ ENCODING 37748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2540 5540 @@ -475725,7 +515267,7 @@ ENCODING 37749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2C80 25E0 54A0 @@ -475743,7 +515285,7 @@ ENCODING 37750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5D20 8520 @@ -475761,7 +515303,7 @@ ENCODING 37751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -475779,7 +515321,7 @@ ENCODING 37752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 34E0 4CA0 @@ -475797,7 +515339,7 @@ ENCODING 37753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8820 @@ -475815,7 +515357,7 @@ ENCODING 37754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53A0 8940 @@ -475833,7 +515375,7 @@ ENCODING 37755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -475851,7 +515393,7 @@ ENCODING 37756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 8FE0 @@ -475869,7 +515411,7 @@ ENCODING 37757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37C0 4C40 @@ -475887,7 +515429,7 @@ ENCODING 37758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5100 8FE0 @@ -475905,7 +515447,7 @@ ENCODING 37759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 22A0 57E0 @@ -475923,7 +515465,7 @@ ENCODING 37760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 54E0 88A0 @@ -475941,7 +515483,7 @@ ENCODING 37761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 5AA0 @@ -475959,7 +515501,7 @@ ENCODING 37762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -475977,7 +515519,7 @@ ENCODING 37763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 28C0 5700 8420 @@ -475995,7 +515537,7 @@ ENCODING 37764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4800 @@ -476013,7 +515555,7 @@ ENCODING 37765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2540 57C0 @@ -476031,7 +515573,7 @@ ENCODING 37766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3280 4FE0 @@ -476049,7 +515591,7 @@ ENCODING 37767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3520 4FE0 @@ -476067,7 +515609,7 @@ ENCODING 37768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 5140 8BE0 @@ -476085,7 +515627,7 @@ ENCODING 37769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 8FC0 @@ -476103,7 +515645,7 @@ ENCODING 37770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -476121,7 +515663,7 @@ ENCODING 37771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4D20 @@ -476139,7 +515681,7 @@ ENCODING 37772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -476157,7 +515699,7 @@ ENCODING 37773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8100 @@ -476175,7 +515717,7 @@ ENCODING 37774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 57E0 8800 @@ -476193,7 +515735,7 @@ ENCODING 37775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 6480 @@ -476211,7 +515753,7 @@ ENCODING 37776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 3640 4D40 @@ -476229,7 +515771,7 @@ ENCODING 37777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8900 @@ -476247,7 +515789,7 @@ ENCODING 37778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5800 8FE0 @@ -476265,7 +515807,7 @@ ENCODING 37779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 3540 4AA0 @@ -476283,7 +515825,7 @@ ENCODING 37780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8C20 @@ -476301,7 +515843,7 @@ ENCODING 37781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8D40 @@ -476319,7 +515861,7 @@ ENCODING 37782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 52C0 8BE0 @@ -476337,7 +515879,7 @@ ENCODING 37783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 5240 8D20 @@ -476355,7 +515897,7 @@ ENCODING 37784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5240 8BC0 @@ -476373,7 +515915,7 @@ ENCODING 37785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 52A0 8FA0 @@ -476391,7 +515933,7 @@ ENCODING 37786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 52E0 8AA0 @@ -476409,7 +515951,7 @@ ENCODING 37787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 57E0 8AA0 @@ -476427,7 +515969,7 @@ ENCODING 37788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 4C60 @@ -476445,7 +515987,7 @@ ENCODING 37789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -476463,7 +516005,7 @@ ENCODING 37790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8EA0 @@ -476481,7 +516023,7 @@ ENCODING 37791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5280 8140 @@ -476499,7 +516041,7 @@ ENCODING 37792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 5AA0 @@ -476517,7 +516059,7 @@ ENCODING 37793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -476535,7 +516077,7 @@ ENCODING 37794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8C40 @@ -476553,7 +516095,7 @@ ENCODING 37795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5EE0 B580 4A40 @@ -476571,7 +516113,7 @@ ENCODING 37796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5420 8FE0 @@ -476589,7 +516131,7 @@ ENCODING 37797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5A80 D540 @@ -476607,7 +516149,7 @@ ENCODING 37798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 58A0 8AA0 @@ -476625,7 +516167,7 @@ ENCODING 37799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 57E0 8800 @@ -476643,7 +516185,7 @@ ENCODING 37800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 57E0 8C80 @@ -476661,7 +516203,7 @@ ENCODING 37801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 52A0 8DA0 @@ -476679,7 +516221,7 @@ ENCODING 37802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 55E0 8D20 @@ -476697,7 +516239,7 @@ ENCODING 37803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4D60 @@ -476715,7 +516257,7 @@ ENCODING 37804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A40 @@ -476733,7 +516275,7 @@ ENCODING 37805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 2300 53E0 @@ -476751,7 +516293,7 @@ ENCODING 37806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8900 @@ -476769,7 +516311,7 @@ ENCODING 37807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 5EA0 8AA0 @@ -476787,7 +516329,7 @@ ENCODING 37808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -476805,7 +516347,7 @@ ENCODING 37809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8900 @@ -476823,7 +516365,7 @@ ENCODING 37810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 5540 8FE0 @@ -476841,7 +516383,7 @@ ENCODING 37811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8C40 @@ -476859,7 +516401,7 @@ ENCODING 37812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8C40 @@ -476877,7 +516419,7 @@ ENCODING 37813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8820 @@ -476895,7 +516437,7 @@ ENCODING 37814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3040 4F40 @@ -476913,7 +516455,7 @@ ENCODING 37815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5480 8FE0 @@ -476931,7 +516473,7 @@ ENCODING 37816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 37E0 4C80 @@ -476949,7 +516491,7 @@ ENCODING 37817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3220 4940 @@ -476967,7 +516509,7 @@ ENCODING 37818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 65C0 9D40 @@ -476985,7 +516527,7 @@ ENCODING 37819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 3540 4AA0 @@ -477003,7 +516545,7 @@ ENCODING 37820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 3100 4FE0 @@ -477021,7 +516563,7 @@ ENCODING 37821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 37C0 4A00 @@ -477039,7 +516581,7 @@ ENCODING 37822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 2440 57C0 @@ -477057,7 +516599,7 @@ ENCODING 37823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 3240 4FE0 @@ -477075,7 +516617,7 @@ ENCODING 37824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 5100 8FE0 @@ -477093,7 +516635,7 @@ ENCODING 37825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2A80 5540 @@ -477111,7 +516653,7 @@ ENCODING 37826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5800 8BC0 @@ -477129,7 +516671,7 @@ ENCODING 37827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5FE0 8440 @@ -477147,7 +516689,7 @@ ENCODING 37828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8D40 @@ -477165,7 +516707,7 @@ ENCODING 37829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 35E0 4940 @@ -477183,7 +516725,7 @@ ENCODING 37830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3540 4FE0 @@ -477201,7 +516743,7 @@ ENCODING 37831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5EE0 8900 @@ -477219,7 +516761,7 @@ ENCODING 37832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 57E0 8AA0 @@ -477237,7 +516779,7 @@ ENCODING 37833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4480 AE80 @@ -477255,7 +516797,7 @@ ENCODING 37834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 11E0 FF40 @@ -477273,7 +516815,7 @@ ENCODING 37835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 5240 @@ -477291,7 +516833,7 @@ ENCODING 37836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 8A40 @@ -477309,7 +516851,7 @@ ENCODING 37837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 8FE0 @@ -477327,7 +516869,7 @@ ENCODING 37838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 87E0 @@ -477345,7 +516887,7 @@ ENCODING 37839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5240 8FE0 @@ -477363,7 +516905,7 @@ ENCODING 37840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 55A0 8B60 @@ -477381,7 +516923,7 @@ ENCODING 37841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8280 @@ -477399,7 +516941,7 @@ ENCODING 37842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57A0 84A0 @@ -477417,7 +516959,7 @@ ENCODING 37843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 27C0 5540 @@ -477435,7 +516977,7 @@ ENCODING 37844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8820 @@ -477453,7 +516995,7 @@ ENCODING 37845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8A80 @@ -477471,7 +517013,7 @@ ENCODING 37846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -477489,7 +517031,7 @@ ENCODING 37847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FA0 @@ -477507,7 +517049,7 @@ ENCODING 37848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5AE0 8B20 @@ -477525,7 +517067,7 @@ ENCODING 37849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24A0 54A0 8FE0 @@ -477543,7 +517085,7 @@ ENCODING 37850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 8FE0 @@ -477561,7 +517103,7 @@ ENCODING 37851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 37E0 4C20 @@ -477579,7 +517121,7 @@ ENCODING 37852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 5340 8FE0 @@ -477597,7 +517139,7 @@ ENCODING 37853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 87C0 @@ -477615,7 +517157,7 @@ ENCODING 37854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8940 @@ -477633,7 +517175,7 @@ ENCODING 37855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 8940 @@ -477651,7 +517193,7 @@ ENCODING 37856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 33E0 4A40 @@ -477669,7 +517211,7 @@ ENCODING 37857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8A80 @@ -477687,7 +517229,7 @@ ENCODING 37858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5280 8FE0 @@ -477705,7 +517247,7 @@ ENCODING 37859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 8D40 @@ -477723,7 +517265,7 @@ ENCODING 37860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8540 @@ -477741,7 +517283,7 @@ ENCODING 37861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3FE0 4A20 @@ -477759,7 +517301,7 @@ ENCODING 37862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5940 81C0 @@ -477777,7 +517319,7 @@ ENCODING 37863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 1160 7E00 @@ -477795,7 +517337,7 @@ ENCODING 37864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 AA00 FBE0 @@ -477813,7 +517355,7 @@ ENCODING 37865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2F60 5280 @@ -477831,7 +517373,7 @@ ENCODING 37866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 37E0 4A80 @@ -477849,7 +517391,7 @@ ENCODING 37867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E20 34A0 4FA0 @@ -477867,7 +517409,7 @@ ENCODING 37868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 5100 8FE0 @@ -477885,7 +517427,7 @@ ENCODING 37869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3520 4B40 @@ -477903,7 +517445,7 @@ ENCODING 37870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8900 @@ -477921,7 +517463,7 @@ ENCODING 37871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4900 @@ -477939,7 +517481,7 @@ ENCODING 37872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3520 4FE0 @@ -477957,7 +517499,7 @@ ENCODING 37873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37C0 4A80 @@ -477975,7 +517517,7 @@ ENCODING 37874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4A00 @@ -477993,7 +517535,7 @@ ENCODING 37875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3280 4FE0 @@ -478011,7 +517553,7 @@ ENCODING 37876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E80 6AE0 9BA0 @@ -478029,7 +517571,7 @@ ENCODING 37877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5FE0 8280 @@ -478047,7 +517589,7 @@ ENCODING 37878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 57E0 8C80 @@ -478065,7 +517607,7 @@ ENCODING 37879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 56C0 8FE0 @@ -478083,7 +517625,7 @@ ENCODING 37880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8540 @@ -478101,7 +517643,7 @@ ENCODING 37881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2DE0 5520 85E0 @@ -478119,7 +517661,7 @@ ENCODING 37882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 55A0 8240 @@ -478137,7 +517679,7 @@ ENCODING 37883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 5340 8FE0 @@ -478155,7 +517697,7 @@ ENCODING 37884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 27E0 5940 @@ -478173,7 +517715,7 @@ ENCODING 37885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5140 8FE0 @@ -478191,7 +517733,7 @@ ENCODING 37886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 5F80 8AE0 @@ -478209,7 +517751,7 @@ ENCODING 37887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5FE0 8820 @@ -478227,7 +517769,7 @@ ENCODING 37888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37C0 4D40 @@ -478245,7 +517787,7 @@ ENCODING 37889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A00 5F20 AAC0 @@ -478263,7 +517805,7 @@ ENCODING 37890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 3280 4EE0 @@ -478281,7 +517823,7 @@ ENCODING 37891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8900 @@ -478299,7 +517841,7 @@ ENCODING 37892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 37C0 4A80 @@ -478316,26 +517858,26 @@ STARTCHAR U_9405 ENCODING 37893 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -5500 -39E0 -7E20 -5540 -7E80 -5560 -1F80 -6260 -1FC0 -0A80 -7FE0 +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 +BITMAP E440 AFE0 C540 @@ -478353,7 +517895,7 @@ ENCODING 37895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5920 8540 @@ -478371,7 +517913,7 @@ ENCODING 37896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3100 4FE0 @@ -478389,7 +517931,7 @@ ENCODING 37897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 54A0 8FE0 @@ -478407,7 +517949,7 @@ ENCODING 37898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 5B40 8BC0 @@ -478425,7 +517967,7 @@ ENCODING 37899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 5640 87C0 @@ -478443,7 +517985,7 @@ ENCODING 37900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 5480 8FE0 @@ -478461,7 +518003,7 @@ ENCODING 37901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5140 8FE0 @@ -478479,7 +518021,7 @@ ENCODING 37902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 57E0 8C80 @@ -478497,7 +518039,7 @@ ENCODING 37903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 8280 @@ -478515,7 +518057,7 @@ ENCODING 37904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -478533,7 +518075,7 @@ ENCODING 37905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5440 89E0 @@ -478551,7 +518093,7 @@ ENCODING 37906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -478569,7 +518111,7 @@ ENCODING 37907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 5F80 8AE0 @@ -478587,7 +518129,7 @@ ENCODING 37908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5280 8FE0 @@ -478605,7 +518147,7 @@ ENCODING 37909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5540 8FE0 @@ -478623,7 +518165,7 @@ ENCODING 37910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2320 5540 8FE0 @@ -478641,7 +518183,7 @@ ENCODING 37911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 3AA0 4EE0 @@ -478659,7 +518201,7 @@ ENCODING 37912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8C40 @@ -478677,7 +518219,7 @@ ENCODING 37913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2740 55A0 8A40 @@ -478695,7 +518237,7 @@ ENCODING 37914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3280 4EE0 @@ -478713,7 +518255,7 @@ ENCODING 37915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 3440 4FC0 @@ -478731,7 +518273,7 @@ ENCODING 37916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 2640 @@ -478749,7 +518291,7 @@ ENCODING 37917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 3FE0 4D40 @@ -478767,7 +518309,7 @@ ENCODING 37918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3040 4BC0 @@ -478785,7 +518327,7 @@ ENCODING 37919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 5440 @@ -478803,7 +518345,7 @@ ENCODING 37920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 8FE0 @@ -478821,7 +518363,7 @@ ENCODING 37921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 2EC0 54A0 @@ -478839,7 +518381,7 @@ ENCODING 37922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 F5E0 2880 @@ -478857,7 +518399,7 @@ ENCODING 37923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 3540 4FE0 @@ -478875,7 +518417,7 @@ ENCODING 37924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 3280 4BA0 @@ -478893,7 +518435,7 @@ ENCODING 37925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 37C0 4900 @@ -478911,7 +518453,7 @@ ENCODING 37926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 3AA0 4EE0 @@ -478929,7 +518471,7 @@ ENCODING 37927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 5EE0 @@ -478947,7 +518489,7 @@ ENCODING 37928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 57E0 8A80 @@ -478965,7 +518507,7 @@ ENCODING 37929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A20 5540 8BE0 @@ -478983,7 +518525,7 @@ ENCODING 37930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5100 8FE0 @@ -479001,7 +518543,7 @@ ENCODING 37931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 57E0 8C80 @@ -479019,7 +518561,7 @@ ENCODING 37932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25C0 5500 8FE0 @@ -479037,7 +518579,7 @@ ENCODING 37933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 37E0 4DA0 @@ -479055,7 +518597,7 @@ ENCODING 37934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8A80 @@ -479073,7 +518615,7 @@ ENCODING 37935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 37E0 4A40 @@ -479091,7 +518633,7 @@ ENCODING 37936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 83C0 @@ -479109,7 +518651,7 @@ ENCODING 37937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5280 8440 @@ -479127,7 +518669,7 @@ ENCODING 37938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FE0 @@ -479145,7 +518687,7 @@ ENCODING 37939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5100 8FE0 @@ -479163,7 +518705,7 @@ ENCODING 37940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4D00 @@ -479181,7 +518723,7 @@ ENCODING 37941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 54A0 8FE0 @@ -479199,7 +518741,7 @@ ENCODING 37942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FE0 @@ -479217,7 +518759,7 @@ ENCODING 37943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -479235,7 +518777,7 @@ ENCODING 37944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FE0 @@ -479253,7 +518795,7 @@ ENCODING 37945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BC0 3640 4B40 @@ -479271,7 +518813,7 @@ ENCODING 37946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 5540 8FE0 @@ -479289,7 +518831,7 @@ ENCODING 37947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5100 8FE0 @@ -479307,7 +518849,7 @@ ENCODING 37948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 8D40 @@ -479325,7 +518867,7 @@ ENCODING 37949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 57E0 8880 @@ -479343,7 +518885,7 @@ ENCODING 37950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7940 @@ -479361,7 +518903,7 @@ ENCODING 37951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 8A80 @@ -479379,7 +518921,7 @@ ENCODING 37952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 5540 8FE0 @@ -479397,7 +518939,7 @@ ENCODING 37953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 26A0 5560 @@ -479415,7 +518957,7 @@ ENCODING 37954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 2700 5100 @@ -479433,7 +518975,7 @@ ENCODING 37955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2760 25A0 5360 @@ -479451,7 +518993,7 @@ ENCODING 37956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8100 @@ -479469,7 +519011,7 @@ ENCODING 37957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5EE0 8540 @@ -479487,7 +519029,7 @@ ENCODING 37958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2B40 5A40 8F40 @@ -479505,7 +519047,7 @@ ENCODING 37959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 82A0 @@ -479523,7 +519065,7 @@ ENCODING 37960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5540 8FE0 @@ -479541,7 +519083,7 @@ ENCODING 37961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5FE0 8540 @@ -479559,7 +519101,7 @@ ENCODING 37962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 8240 @@ -479577,7 +519119,7 @@ ENCODING 37963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A940 FAA0 @@ -479595,7 +519137,7 @@ ENCODING 37964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8820 @@ -479613,7 +519155,7 @@ ENCODING 37965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 AAA0 AAA0 @@ -479631,7 +519173,7 @@ ENCODING 37966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2480 55C0 @@ -479649,7 +519191,7 @@ ENCODING 37967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -479667,7 +519209,7 @@ ENCODING 37968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5100 8FE0 @@ -479685,7 +519227,7 @@ ENCODING 37969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F40 5A40 8F60 @@ -479703,7 +519245,7 @@ ENCODING 37970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 FD00 @@ -479721,7 +519263,7 @@ ENCODING 37971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2BE0 52A0 @@ -479739,7 +519281,7 @@ ENCODING 37972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27E0 5420 @@ -479757,7 +519299,7 @@ ENCODING 37973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5880 8FE0 @@ -479775,7 +519317,7 @@ ENCODING 37974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 27E0 5240 @@ -479793,7 +519335,7 @@ ENCODING 37975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2E80 54E0 8FA0 @@ -479811,7 +519353,7 @@ ENCODING 37976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 27C0 5540 @@ -479829,7 +519371,7 @@ ENCODING 37977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2CA0 55E0 @@ -479847,7 +519389,7 @@ ENCODING 37978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 5440 @@ -479865,7 +519407,7 @@ ENCODING 37979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 27E0 5540 @@ -479883,7 +519425,7 @@ ENCODING 37980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 5AA0 @@ -479901,7 +519443,7 @@ ENCODING 37981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -479919,7 +519461,7 @@ ENCODING 37982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 5540 8AA0 @@ -479937,7 +519479,7 @@ ENCODING 37983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5100 @@ -479955,7 +519497,7 @@ ENCODING 37984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 5BC0 86A0 @@ -479973,7 +519515,7 @@ ENCODING 37985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 25E0 5500 @@ -479991,7 +519533,7 @@ ENCODING 37986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5100 8FE0 @@ -480009,7 +519551,7 @@ ENCODING 37987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -480027,7 +519569,7 @@ ENCODING 37988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 87C0 @@ -480045,7 +519587,7 @@ ENCODING 37989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2480 57E0 @@ -480063,7 +519605,7 @@ ENCODING 37990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F00 2AE0 5FA0 @@ -480081,7 +519623,7 @@ ENCODING 37991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5AA0 @@ -480099,7 +519641,7 @@ ENCODING 37992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 24E0 5F80 8AE0 @@ -480117,7 +519659,7 @@ ENCODING 37993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5100 8FE0 @@ -480135,7 +519677,7 @@ ENCODING 37994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 5100 8FE0 @@ -480153,7 +519695,7 @@ ENCODING 37995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 1500 7FC0 @@ -480171,7 +519713,7 @@ ENCODING 37996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2F80 2AE0 5F40 @@ -480189,7 +519731,7 @@ ENCODING 37997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8EE0 @@ -480207,7 +519749,7 @@ ENCODING 37998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 8A40 @@ -480225,7 +519767,7 @@ ENCODING 37999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AC0 55A0 8FE0 @@ -480243,7 +519785,7 @@ ENCODING 38000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 5440 8BA0 @@ -480261,7 +519803,7 @@ ENCODING 38001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 57C0 8C40 @@ -480279,7 +519821,7 @@ ENCODING 38002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -480297,7 +519839,7 @@ ENCODING 38003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 8AA0 @@ -480315,7 +519857,7 @@ ENCODING 38004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2520 57E0 8D00 @@ -480333,7 +519875,7 @@ ENCODING 38005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5FE0 8280 @@ -480351,7 +519893,7 @@ ENCODING 38006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 57E0 8AA0 @@ -480369,7 +519911,7 @@ ENCODING 38007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5240 8BC0 @@ -480387,7 +519929,7 @@ ENCODING 38008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5540 87C0 @@ -480405,7 +519947,7 @@ ENCODING 38009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5AA0 @@ -480423,7 +519965,7 @@ ENCODING 38010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 2AA0 5EE0 @@ -480441,7 +519983,7 @@ ENCODING 38011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2EE0 5540 @@ -480459,7 +520001,7 @@ ENCODING 38012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 8FE0 @@ -480477,7 +520019,7 @@ ENCODING 38013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5FE0 8440 @@ -480495,7 +520037,7 @@ ENCODING 38014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 A0A0 4E40 @@ -480513,7 +520055,7 @@ ENCODING 38015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 29C0 FD40 2A60 @@ -480531,7 +520073,7 @@ ENCODING 38016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4740 A460 1F40 @@ -480549,7 +520091,7 @@ ENCODING 38017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 8EE0 @@ -480567,7 +520109,7 @@ ENCODING 38018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5FE0 84A0 @@ -480585,7 +520127,7 @@ ENCODING 38019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5820 8FE0 @@ -480603,7 +520145,7 @@ ENCODING 38020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 2FE0 5440 @@ -480620,26 +520162,26 @@ STARTCHAR U_9485 ENCODING 38021 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -2000 -7C00 -8000 -7800 -2000 -FC00 -2000 -2800 -3000 -2000 +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 +BITMAP 4200 4200 7A00 @@ -480657,7 +520199,7 @@ ENCODING 38023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 43C0 7840 @@ -480675,7 +520217,7 @@ ENCODING 38024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7880 @@ -480693,7 +520235,7 @@ ENCODING 38025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7880 @@ -480711,7 +520253,7 @@ ENCODING 38026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 4020 7920 @@ -480729,7 +520271,7 @@ ENCODING 38027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7900 @@ -480747,7 +520289,7 @@ ENCODING 38028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4020 7840 @@ -480765,7 +520307,7 @@ ENCODING 38029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7880 @@ -480783,7 +520325,7 @@ ENCODING 38030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4380 7880 @@ -480801,7 +520343,7 @@ ENCODING 38031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 4220 7AA0 @@ -480819,7 +520361,7 @@ ENCODING 38032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4080 7900 @@ -480837,7 +520379,7 @@ ENCODING 38033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7A40 4240 @@ -480855,7 +520397,7 @@ ENCODING 38034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7A40 @@ -480873,7 +520415,7 @@ ENCODING 38035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -480891,7 +520433,7 @@ ENCODING 38036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 42E0 7820 @@ -480909,7 +520451,7 @@ ENCODING 38037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7900 @@ -480927,7 +520469,7 @@ ENCODING 38038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7880 4100 @@ -480945,7 +520487,7 @@ ENCODING 38039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7AA0 @@ -480963,7 +520505,7 @@ ENCODING 38040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7A40 4240 @@ -480981,7 +520523,7 @@ ENCODING 38041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4080 7A80 @@ -480999,7 +520541,7 @@ ENCODING 38042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7880 @@ -481017,7 +520559,7 @@ ENCODING 38043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7900 @@ -481035,7 +520577,7 @@ ENCODING 38044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4200 7A00 @@ -481053,7 +520595,7 @@ ENCODING 38045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -481071,7 +520613,7 @@ ENCODING 38046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7AC0 @@ -481089,7 +520631,7 @@ ENCODING 38047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7FE0 @@ -481107,7 +520649,7 @@ ENCODING 38048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7FE0 @@ -481125,7 +520667,7 @@ ENCODING 38049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7D40 @@ -481143,7 +520685,7 @@ ENCODING 38050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7CA0 @@ -481161,7 +520703,7 @@ ENCODING 38051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 4380 7A00 @@ -481179,7 +520721,7 @@ ENCODING 38052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 7C40 @@ -481197,7 +520739,7 @@ ENCODING 38053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4220 7A20 @@ -481215,7 +520757,7 @@ ENCODING 38054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -481233,7 +520775,7 @@ ENCODING 38055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -481251,7 +520793,7 @@ ENCODING 38056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7C40 @@ -481269,7 +520811,7 @@ ENCODING 38057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -481287,7 +520829,7 @@ ENCODING 38058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -481305,7 +520847,7 @@ ENCODING 38059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -481323,7 +520865,7 @@ ENCODING 38060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7AA0 @@ -481341,7 +520883,7 @@ ENCODING 38061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4240 7940 @@ -481359,7 +520901,7 @@ ENCODING 38062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47C0 7940 @@ -481377,7 +520919,7 @@ ENCODING 38063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7CA0 @@ -481395,7 +520937,7 @@ ENCODING 38064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7900 @@ -481413,7 +520955,7 @@ ENCODING 38065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4240 72E0 @@ -481431,7 +520973,7 @@ ENCODING 38066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4080 7880 @@ -481449,7 +520991,7 @@ ENCODING 38067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4240 7FE0 @@ -481467,7 +521009,7 @@ ENCODING 38068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7FE0 @@ -481485,7 +521027,7 @@ ENCODING 38069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7FE0 @@ -481503,7 +521045,7 @@ ENCODING 38070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4040 7840 @@ -481521,7 +521063,7 @@ ENCODING 38071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4400 7C00 @@ -481539,7 +521081,7 @@ ENCODING 38072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43E0 7900 @@ -481557,7 +521099,7 @@ ENCODING 38073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4240 7FE0 @@ -481575,7 +521117,7 @@ ENCODING 38074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 40A0 7FE0 @@ -481593,7 +521135,7 @@ ENCODING 38075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 79E0 @@ -481611,7 +521153,7 @@ ENCODING 38076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4220 7A20 @@ -481629,7 +521171,7 @@ ENCODING 38077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7A40 @@ -481647,7 +521189,7 @@ ENCODING 38078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 44A0 7CA0 @@ -481665,7 +521207,7 @@ ENCODING 38079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 47E0 7CA0 @@ -481683,7 +521225,7 @@ ENCODING 38080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4080 7FE0 @@ -481701,7 +521243,7 @@ ENCODING 38081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 7500 47C0 @@ -481719,7 +521261,7 @@ ENCODING 38082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4100 7BE0 @@ -481737,7 +521279,7 @@ ENCODING 38083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4180 7A40 @@ -481755,7 +521297,7 @@ ENCODING 38084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4380 7A00 @@ -481773,7 +521315,7 @@ ENCODING 38085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7A40 @@ -481791,7 +521333,7 @@ ENCODING 38086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4CE0 78A0 @@ -481809,7 +521351,7 @@ ENCODING 38087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 2200 77C0 @@ -481827,7 +521369,7 @@ ENCODING 38088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 47E0 7880 @@ -481845,7 +521387,7 @@ ENCODING 38089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 7FE0 @@ -481863,7 +521405,7 @@ ENCODING 38090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 47E0 7C20 @@ -481881,7 +521423,7 @@ ENCODING 38091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 40A0 78A0 @@ -481899,7 +521441,7 @@ ENCODING 38092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7C20 @@ -481917,7 +521459,7 @@ ENCODING 38093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 43E0 7AA0 @@ -481935,7 +521477,7 @@ ENCODING 38094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4240 7980 @@ -481953,7 +521495,7 @@ ENCODING 38095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 5F20 6AA0 @@ -481971,7 +521513,7 @@ ENCODING 38096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 47A0 7940 @@ -481989,7 +521531,7 @@ ENCODING 38097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4120 7FA0 @@ -482007,7 +521549,7 @@ ENCODING 38098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4240 7A40 @@ -482025,7 +521567,7 @@ ENCODING 38099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4FE0 7240 @@ -482043,7 +521585,7 @@ ENCODING 38100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 7280 @@ -482061,7 +521603,7 @@ ENCODING 38101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -482079,7 +521621,7 @@ ENCODING 38102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 40A0 7FE0 @@ -482097,7 +521639,7 @@ ENCODING 38103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -482115,7 +521657,7 @@ ENCODING 38104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 42A0 7AA0 @@ -482133,7 +521675,7 @@ ENCODING 38105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47E0 7A80 @@ -482151,7 +521693,7 @@ ENCODING 38106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 7100 @@ -482169,7 +521711,7 @@ ENCODING 38107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 42A0 7AC0 @@ -482187,7 +521729,7 @@ ENCODING 38108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 7820 @@ -482205,7 +521747,7 @@ ENCODING 38109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7A40 @@ -482223,7 +521765,7 @@ ENCODING 38110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4220 7A20 @@ -482241,7 +521783,7 @@ ENCODING 38111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 7920 @@ -482259,7 +521801,7 @@ ENCODING 38112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 44A0 7FE0 @@ -482277,7 +521819,7 @@ ENCODING 38113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F20 5120 7520 @@ -482295,7 +521837,7 @@ ENCODING 38114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4500 77E0 @@ -482313,7 +521855,7 @@ ENCODING 38115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4500 7FE0 @@ -482331,7 +521873,7 @@ ENCODING 38116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E20 43C0 7240 @@ -482349,7 +521891,7 @@ ENCODING 38117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 43C0 7880 @@ -482367,7 +521909,7 @@ ENCODING 38118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 7700 8100 @@ -482385,7 +521927,7 @@ ENCODING 38119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 42A0 7EC0 @@ -482403,7 +521945,7 @@ ENCODING 38120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 7C40 @@ -482421,7 +521963,7 @@ ENCODING 38121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 4240 7980 @@ -482439,7 +521981,7 @@ ENCODING 38122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4180 7240 @@ -482457,7 +521999,7 @@ ENCODING 38123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 7AA0 @@ -482475,7 +522017,7 @@ ENCODING 38124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 7A40 @@ -482493,7 +522035,7 @@ ENCODING 38125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 41E0 7A20 @@ -482511,7 +522053,7 @@ ENCODING 38126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4380 7500 @@ -482529,7 +522071,7 @@ ENCODING 38127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 7A80 @@ -482547,7 +522089,7 @@ ENCODING 38128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -482565,7 +522107,7 @@ ENCODING 38129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 7FE0 @@ -482583,7 +522125,7 @@ ENCODING 38130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7A20 @@ -482601,7 +522143,7 @@ ENCODING 38131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -482619,7 +522161,7 @@ ENCODING 38132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 4440 7080 @@ -482637,7 +522179,7 @@ ENCODING 38133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7C20 @@ -482655,7 +522197,7 @@ ENCODING 38134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7C40 @@ -482673,7 +522215,7 @@ ENCODING 38135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4400 7FE0 @@ -482691,7 +522233,7 @@ ENCODING 38136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7100 @@ -482709,7 +522251,7 @@ ENCODING 38137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 7280 @@ -482727,7 +522269,7 @@ ENCODING 38138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 4140 7FE0 @@ -482745,7 +522287,7 @@ ENCODING 38139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 77C0 @@ -482763,7 +522305,7 @@ ENCODING 38140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -482781,7 +522323,7 @@ ENCODING 38141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 70A0 8FE0 @@ -482799,7 +522341,7 @@ ENCODING 38142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4BE0 7500 @@ -482817,7 +522359,7 @@ ENCODING 38143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4AE0 7AA0 @@ -482835,7 +522377,7 @@ ENCODING 38144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4520 7B40 @@ -482853,7 +522395,7 @@ ENCODING 38145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2920 2540 4100 @@ -482871,7 +522413,7 @@ ENCODING 38146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 42A0 7AA0 @@ -482889,7 +522431,7 @@ ENCODING 38147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 4220 7A20 @@ -482907,7 +522449,7 @@ ENCODING 38148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4E80 7BE0 @@ -482925,7 +522467,7 @@ ENCODING 38149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7A40 @@ -482943,7 +522485,7 @@ ENCODING 38150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4280 7BE0 @@ -482961,7 +522503,7 @@ ENCODING 38151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 46C0 7AA0 @@ -482979,7 +522521,7 @@ ENCODING 38152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7100 8FE0 @@ -482997,7 +522539,7 @@ ENCODING 38153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 7D40 @@ -483015,7 +522557,7 @@ ENCODING 38154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 47A0 7D20 @@ -483033,7 +522575,7 @@ ENCODING 38155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4640 7980 @@ -483051,7 +522593,7 @@ ENCODING 38156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 37E0 4220 @@ -483069,7 +522611,7 @@ ENCODING 38157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -483087,7 +522629,7 @@ ENCODING 38158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 4220 7820 @@ -483105,7 +522647,7 @@ ENCODING 38159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 4220 7820 @@ -483123,7 +522665,7 @@ ENCODING 38160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 77C0 @@ -483141,7 +522683,7 @@ ENCODING 38161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4280 7FE0 @@ -483159,7 +522701,7 @@ ENCODING 38162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7C40 @@ -483177,7 +522719,7 @@ ENCODING 38163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4040 7BC0 @@ -483195,7 +522737,7 @@ ENCODING 38164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7FE0 @@ -483213,7 +522755,7 @@ ENCODING 38165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 5440 7440 @@ -483231,7 +522773,7 @@ ENCODING 38166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 77C0 @@ -483249,7 +522791,7 @@ ENCODING 38167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47A0 7940 @@ -483267,7 +522809,7 @@ ENCODING 38168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 7A40 @@ -483285,7 +522827,7 @@ ENCODING 38169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 7280 @@ -483303,7 +522845,7 @@ ENCODING 38170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 7A40 @@ -483321,7 +522863,7 @@ ENCODING 38171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7280 @@ -483339,7 +522881,7 @@ ENCODING 38172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 4280 @@ -483357,7 +522899,7 @@ ENCODING 38173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4240 7BC0 @@ -483375,7 +522917,7 @@ ENCODING 38174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 7FC0 @@ -483393,7 +522935,7 @@ ENCODING 38175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7FE0 @@ -483411,7 +522953,7 @@ ENCODING 38176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 2240 3BC0 @@ -483429,7 +522971,7 @@ ENCODING 38177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 77C0 @@ -483447,7 +522989,7 @@ ENCODING 38178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4820 7920 @@ -483465,7 +523007,7 @@ ENCODING 38179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 7AA0 @@ -483483,7 +523025,7 @@ ENCODING 38180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7100 @@ -483501,7 +523043,7 @@ ENCODING 38181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 4480 7FE0 @@ -483519,7 +523061,7 @@ ENCODING 38182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7C40 @@ -483537,7 +523079,7 @@ ENCODING 38183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 6880 8FE0 @@ -483555,7 +523097,7 @@ ENCODING 38184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4C80 78E0 @@ -483573,7 +523115,7 @@ ENCODING 38185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4540 7FE0 @@ -483591,7 +523133,7 @@ ENCODING 38186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47E0 7AA0 @@ -483609,7 +523151,7 @@ ENCODING 38187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7A20 @@ -483627,7 +523169,7 @@ ENCODING 38188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 42C0 7A80 @@ -483645,7 +523187,7 @@ ENCODING 38189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7C20 @@ -483663,7 +523205,7 @@ ENCODING 38190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 47E0 68A0 @@ -483681,7 +523223,7 @@ ENCODING 38191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7C20 @@ -483699,7 +523241,7 @@ ENCODING 38192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4080 7100 @@ -483717,7 +523259,7 @@ ENCODING 38193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 42A0 7D40 @@ -483735,7 +523277,7 @@ ENCODING 38194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 4FE0 74A0 @@ -483753,7 +523295,7 @@ ENCODING 38195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 2FE0 7280 @@ -483771,7 +523313,7 @@ ENCODING 38196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 44A0 7FC0 @@ -483789,7 +523331,7 @@ ENCODING 38197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 42E0 7B20 @@ -483807,7 +523349,7 @@ ENCODING 38198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 44A0 7CA0 @@ -483825,7 +523367,7 @@ ENCODING 38199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 7EE0 @@ -483843,7 +523385,7 @@ ENCODING 38200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 4380 7080 @@ -483861,7 +523403,7 @@ ENCODING 38201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4C40 7540 @@ -483879,7 +523421,7 @@ ENCODING 38202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4100 7FE0 @@ -483897,7 +523439,7 @@ ENCODING 38203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7D40 4940 @@ -483915,7 +523457,7 @@ ENCODING 38204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 4D60 7920 @@ -483933,7 +523475,7 @@ ENCODING 38205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47C0 7440 @@ -483951,7 +523493,7 @@ ENCODING 38206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4520 7AC0 @@ -483969,7 +523511,7 @@ ENCODING 38207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7800 @@ -483987,7 +523529,7 @@ ENCODING 38208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 47E0 7D40 @@ -484005,7 +523547,7 @@ ENCODING 38209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4FE0 7100 @@ -484023,7 +523565,7 @@ ENCODING 38210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44A0 42C0 77E0 @@ -484041,7 +523583,7 @@ ENCODING 38211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 4480 7FE0 @@ -484059,7 +523601,7 @@ ENCODING 38212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47E0 72A0 @@ -484077,7 +523619,7 @@ ENCODING 38213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 44A0 77E0 @@ -484095,7 +523637,7 @@ ENCODING 38214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 7280 @@ -484113,7 +523655,7 @@ ENCODING 38215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7100 @@ -484131,7 +523673,7 @@ ENCODING 38216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7FE0 8540 @@ -484149,7 +523691,7 @@ ENCODING 38217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4000 73C0 @@ -484167,7 +523709,7 @@ ENCODING 38218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4240 73C0 @@ -484185,7 +523727,7 @@ ENCODING 38219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4540 7FE0 @@ -484203,7 +523745,7 @@ ENCODING 38220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 4480 7FE0 @@ -484221,7 +523763,7 @@ ENCODING 38221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7C40 @@ -484239,7 +523781,7 @@ ENCODING 38222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 46C0 79A0 @@ -484257,7 +523799,7 @@ ENCODING 38223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 45E0 74A0 @@ -484275,7 +523817,7 @@ ENCODING 38224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 4FE0 7240 @@ -484293,7 +523835,7 @@ ENCODING 38225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7280 @@ -484311,7 +523853,7 @@ ENCODING 38226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 4A80 77E0 @@ -484329,7 +523871,7 @@ ENCODING 38227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7820 @@ -484347,7 +523889,7 @@ ENCODING 38228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 47E0 7420 @@ -484365,7 +523907,7 @@ ENCODING 38229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7820 @@ -484383,7 +523925,7 @@ ENCODING 38230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 7FE0 @@ -484401,7 +523943,7 @@ ENCODING 38231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4920 4540 7FE0 @@ -484419,7 +523961,7 @@ ENCODING 38232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 77C0 @@ -484437,7 +523979,7 @@ ENCODING 38233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4520 77E0 @@ -484455,7 +523997,7 @@ ENCODING 38234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4920 6FE0 @@ -484473,7 +524015,7 @@ ENCODING 38235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7940 @@ -484491,7 +524033,7 @@ ENCODING 38236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7280 @@ -484509,7 +524051,7 @@ ENCODING 38237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7280 @@ -484527,7 +524069,7 @@ ENCODING 38238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 44E0 7F00 @@ -484545,7 +524087,7 @@ ENCODING 38239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 44E0 7F00 @@ -484563,7 +524105,7 @@ ENCODING 38240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 4AA0 7660 @@ -484581,7 +524123,7 @@ ENCODING 38241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4280 7FE0 @@ -484599,7 +524141,7 @@ ENCODING 38242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4D40 7A40 @@ -484617,7 +524159,7 @@ ENCODING 38243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7B40 @@ -484635,7 +524177,7 @@ ENCODING 38244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 46C0 7FE0 @@ -484653,7 +524195,7 @@ ENCODING 38245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4480 7FC0 @@ -484671,7 +524213,7 @@ ENCODING 38246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 4F80 7AE0 @@ -484689,7 +524231,7 @@ ENCODING 38247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 4420 7920 @@ -484707,7 +524249,7 @@ ENCODING 38248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4FE0 7AA0 @@ -484725,7 +524267,7 @@ ENCODING 38249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7AA0 @@ -484743,7 +524285,7 @@ ENCODING 38250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4DE0 4520 7DE0 @@ -484761,7 +524303,7 @@ ENCODING 38251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F40 4AA0 7440 @@ -484779,7 +524321,7 @@ ENCODING 38252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4FE0 7240 @@ -484797,7 +524339,7 @@ ENCODING 38253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4100 7FE0 @@ -484815,7 +524357,7 @@ ENCODING 38254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 77C0 @@ -484833,7 +524375,7 @@ ENCODING 38255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4AA0 7FE0 @@ -484851,7 +524393,7 @@ ENCODING 38256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7A80 @@ -484869,7 +524411,7 @@ ENCODING 38257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7280 @@ -484887,7 +524429,7 @@ ENCODING 38258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7820 @@ -484905,7 +524447,7 @@ ENCODING 38259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7A80 @@ -484923,7 +524465,7 @@ ENCODING 38260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 4A80 7540 @@ -484941,7 +524483,7 @@ ENCODING 38261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4FC0 7440 @@ -484959,7 +524501,7 @@ ENCODING 38262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7AA0 @@ -484976,26 +524518,26 @@ STARTCHAR U_9577 ENCODING 38263 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1FC0 -1000 -1F80 -1000 -1F80 -1000 -7FE0 -1240 -1180 -1480 -1860 +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 +BITMAP 1FC0 1000 1F80 @@ -485013,7 +524555,7 @@ ENCODING 38265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 4100 79C0 @@ -485031,7 +524573,7 @@ ENCODING 38266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4380 7880 @@ -485049,7 +524591,7 @@ ENCODING 38267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4280 7BE0 @@ -485067,7 +524609,7 @@ ENCODING 38268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8420 F7E0 @@ -485085,7 +524627,7 @@ ENCODING 38269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 47E0 7CA0 @@ -485103,7 +524645,7 @@ ENCODING 38270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 4540 7920 @@ -485120,44 +524662,44 @@ STARTCHAR U_957F ENCODING 38271 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1080 -1100 -1200 -1400 -1800 -7FE0 -1400 -1200 -1100 -1480 -1860 +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 11 11 0 -1 -BITMAP -79E0 -4920 -79E0 -4920 -79E0 -4020 -4020 -4020 -4020 -4020 -40E0 +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 +BITMAP F9E0 8920 F9E0 @@ -485174,44 +524716,44 @@ STARTCHAR U_9582 ENCODING 38274 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -79E0 -4920 -79E0 -4920 -79E0 -4020 -4020 -5FA0 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -79E0 -4920 -79E0 -4920 -79E0 -4420 -4420 -4420 -4A20 -51A0 -4060 +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 +BITMAP EE80 AA80 EE80 @@ -485229,7 +524771,7 @@ ENCODING 38277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 8920 F9E0 @@ -485247,7 +524789,7 @@ ENCODING 38278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485265,7 +524807,7 @@ ENCODING 38279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485283,7 +524825,7 @@ ENCODING 38280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485301,7 +524843,7 @@ ENCODING 38281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485319,7 +524861,7 @@ ENCODING 38282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485337,7 +524879,7 @@ ENCODING 38283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485355,7 +524897,7 @@ ENCODING 38284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485373,7 +524915,7 @@ ENCODING 38285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485391,7 +524933,7 @@ ENCODING 38286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485409,7 +524951,7 @@ ENCODING 38287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485427,7 +524969,7 @@ ENCODING 38288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485445,7 +524987,7 @@ ENCODING 38289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485463,7 +525005,7 @@ ENCODING 38290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485481,7 +525023,7 @@ ENCODING 38291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485499,7 +525041,7 @@ ENCODING 38292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485517,7 +525059,7 @@ ENCODING 38293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485535,7 +525077,7 @@ ENCODING 38294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485553,7 +525095,7 @@ ENCODING 38295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485571,7 +525113,7 @@ ENCODING 38296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485589,7 +525131,7 @@ ENCODING 38297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485606,8 +525148,8 @@ STARTCHAR U_959A ENCODING 38298 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FBC0 8A40 FBC0 @@ -485625,7 +525167,7 @@ ENCODING 38299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485643,7 +525185,7 @@ ENCODING 38300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485661,7 +525203,7 @@ ENCODING 38301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485679,7 +525221,7 @@ ENCODING 38302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485697,7 +525239,7 @@ ENCODING 38303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485715,7 +525257,7 @@ ENCODING 38304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485733,7 +525275,7 @@ ENCODING 38305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485751,7 +525293,7 @@ ENCODING 38306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 FBE0 8A20 @@ -485768,26 +525310,26 @@ STARTCHAR U_95A3 ENCODING 38307 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -79E0 -4920 -79E0 -4920 -79E0 -4F20 -4A20 -4520 -5FA0 -4920 -4F60 +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 +BITMAP FBE0 8A20 FBE0 @@ -485805,7 +525347,7 @@ ENCODING 38309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485823,7 +525365,7 @@ ENCODING 38310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485841,7 +525383,7 @@ ENCODING 38311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485859,7 +525401,7 @@ ENCODING 38312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485877,7 +525419,7 @@ ENCODING 38313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485895,7 +525437,7 @@ ENCODING 38314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485913,7 +525455,7 @@ ENCODING 38315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485931,7 +525473,7 @@ ENCODING 38316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485949,7 +525491,7 @@ ENCODING 38317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485967,7 +525509,7 @@ ENCODING 38318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -485985,7 +525527,7 @@ ENCODING 38319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486003,7 +525545,7 @@ ENCODING 38320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486021,7 +525563,7 @@ ENCODING 38321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486039,7 +525581,7 @@ ENCODING 38322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486057,7 +525599,7 @@ ENCODING 38323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486075,7 +525617,7 @@ ENCODING 38324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486093,7 +525635,7 @@ ENCODING 38325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486111,7 +525653,7 @@ ENCODING 38326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486129,7 +525671,7 @@ ENCODING 38327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AEE0 4AA0 AEE0 @@ -486147,7 +525689,7 @@ ENCODING 38328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486165,7 +525707,7 @@ ENCODING 38329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486183,7 +525725,7 @@ ENCODING 38330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486201,7 +525743,7 @@ ENCODING 38331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486219,7 +525761,7 @@ ENCODING 38332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486237,7 +525779,7 @@ ENCODING 38333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486255,7 +525797,7 @@ ENCODING 38334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486273,7 +525815,7 @@ ENCODING 38335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486291,7 +525833,7 @@ ENCODING 38336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486309,7 +525851,7 @@ ENCODING 38337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486327,7 +525869,7 @@ ENCODING 38338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486345,7 +525887,7 @@ ENCODING 38339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486363,7 +525905,7 @@ ENCODING 38340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486381,7 +525923,7 @@ ENCODING 38341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486399,7 +525941,7 @@ ENCODING 38342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486417,7 +525959,7 @@ ENCODING 38343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486435,7 +525977,7 @@ ENCODING 38344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486453,7 +525995,7 @@ ENCODING 38345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486471,7 +526013,7 @@ ENCODING 38346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486489,7 +526031,7 @@ ENCODING 38347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486507,7 +526049,7 @@ ENCODING 38348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486525,7 +526067,7 @@ ENCODING 38349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486542,26 +526084,26 @@ STARTCHAR U_95CE ENCODING 38350 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -4A40 -7BC0 -4A40 -7FC0 -5540 -5F40 -45C0 -7640 -5540 -6C80 +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 +BITMAP FBE0 8A20 FBE0 @@ -486579,7 +526121,7 @@ ENCODING 38352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486597,7 +526139,7 @@ ENCODING 38353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486615,7 +526157,7 @@ ENCODING 38354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486633,7 +526175,7 @@ ENCODING 38355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486651,7 +526193,7 @@ ENCODING 38356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486669,7 +526211,7 @@ ENCODING 38357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486687,7 +526229,7 @@ ENCODING 38358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486705,7 +526247,7 @@ ENCODING 38359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486723,7 +526265,7 @@ ENCODING 38360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486741,7 +526283,7 @@ ENCODING 38361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486759,7 +526301,7 @@ ENCODING 38362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486777,7 +526319,7 @@ ENCODING 38363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486795,7 +526337,7 @@ ENCODING 38364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486813,7 +526355,7 @@ ENCODING 38365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486831,7 +526373,7 @@ ENCODING 38366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486849,7 +526391,7 @@ ENCODING 38367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FFE0 @@ -486867,7 +526409,7 @@ ENCODING 38368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486885,7 +526427,7 @@ ENCODING 38369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486903,7 +526445,7 @@ ENCODING 38370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486921,7 +526463,7 @@ ENCODING 38371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486939,7 +526481,7 @@ ENCODING 38372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486957,7 +526499,7 @@ ENCODING 38373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486975,7 +526517,7 @@ ENCODING 38374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -486993,7 +526535,7 @@ ENCODING 38375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FBE0 @@ -487010,98 +526552,98 @@ STARTCHAR U_95E8 ENCODING 38376 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -1020 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -27E0 -1020 -4020 -4020 -4020 -5FA0 -4020 -4020 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -27E0 -1020 -4420 -4420 -4420 -4620 -4920 -50A0 -6020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -2FE0 -1020 -4020 -5FA0 -4020 -4020 -4F20 -4020 -4020 -5FA0 -4060 +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 11 11 0 -1 -BITMAP -2000 -17C0 -4040 -5F40 -4440 -4440 -5F40 -4440 -4440 -4440 -40C0 +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 +BITMAP 47E0 2020 8220 @@ -487118,44 +526660,44 @@ STARTCHAR U_95EE ENCODING 38382 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -1020 -4020 -4F20 -4920 -4920 -4920 -4F20 -4020 -4020 -40E0 +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 11 11 0 -1 -BITMAP -47E0 -2020 -5F20 -4920 -4920 -4FA0 -40A0 -5EA0 -40A0 -4320 -4060 +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 +BITMAP 27E0 9020 8020 @@ -487173,7 +526715,7 @@ ENCODING 38385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8420 @@ -487191,7 +526733,7 @@ ENCODING 38386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8420 @@ -487209,7 +526751,7 @@ ENCODING 38387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8420 @@ -487226,26 +526768,26 @@ STARTCHAR U_95F4 ENCODING 38388 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -1020 -4020 -4F20 -4920 -4F20 -4920 -4920 -4F20 -4020 -40E0 +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 +BITMAP 27E0 9020 8420 @@ -487263,7 +526805,7 @@ ENCODING 38390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8420 @@ -487281,7 +526823,7 @@ ENCODING 38391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 1020 8420 @@ -487298,26 +526840,26 @@ STARTCHAR U_95F8 ENCODING 38392 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -1020 -5FA0 -54A0 -5FA0 -54A0 -5FA0 -54A0 -4420 -4420 -4060 +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 +BITMAP 4FE0 2020 8420 @@ -487335,7 +526877,7 @@ ENCODING 38394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8420 @@ -487352,98 +526894,98 @@ STARTCHAR U_95FB ENCODING 38395 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -1020 -5FA0 -4920 -4F20 -4920 -4F20 -49A0 -5F20 -4120 -4060 +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 11 11 0 -1 -BITMAP -27E0 -1020 -6120 -57A0 -4120 -7920 -4AA0 -4C60 -5420 -63A0 -4060 +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 11 11 0 -1 -BITMAP -27E0 -1020 -4420 -5FA0 -54A0 -54A0 -5FA0 -4420 -44A0 -5FA0 -4060 +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 11 11 0 -1 -BITMAP -27E0 -1020 -4F20 -4920 -4F20 -4020 -5FA0 -50A0 -5FA0 -4020 -4060 +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 11 11 0 -1 -BITMAP -5FC0 -0040 -5540 -5F40 -4040 -5E40 -4240 -5E40 -5140 -4F40 -40C0 +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 +BITMAP 4FE0 2020 8D20 @@ -487461,7 +527003,7 @@ ENCODING 38401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4820 0F20 @@ -487479,7 +527021,7 @@ ENCODING 38402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2820 8420 @@ -487497,7 +527039,7 @@ ENCODING 38403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 BFA0 @@ -487514,26 +527056,26 @@ STARTCHAR U_9604 ENCODING 38404 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -5020 -4E20 -5220 -7F20 -5520 -5F20 -5520 -5F20 -44A0 -43E0 +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 +BITMAP 27E0 9020 9120 @@ -487550,26 +527092,26 @@ STARTCHAR U_9606 ENCODING 38406 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2FE0 -1020 -4420 -5F20 -5120 -5F20 -5120 -5F20 -54A0 -5B20 -40E0 +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 +BITMAP 9FE0 44A0 9FA0 @@ -487587,7 +527129,7 @@ ENCODING 38408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 1120 82A0 @@ -487605,7 +527147,7 @@ ENCODING 38409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 1420 FFA0 @@ -487623,7 +527165,7 @@ ENCODING 38410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 9F20 @@ -487641,7 +527183,7 @@ ENCODING 38411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 8820 @@ -487659,7 +527201,7 @@ ENCODING 38412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 9FA0 @@ -487677,7 +527219,7 @@ ENCODING 38413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 20A0 9F20 @@ -487695,7 +527237,7 @@ ENCODING 38414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 9020 8820 @@ -487713,7 +527255,7 @@ ENCODING 38415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 1020 8920 @@ -487731,7 +527273,7 @@ ENCODING 38416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 9120 BFA0 @@ -487749,7 +527291,7 @@ ENCODING 38417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2420 BFA0 @@ -487767,7 +527309,7 @@ ENCODING 38418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 9F20 @@ -487785,7 +527327,7 @@ ENCODING 38419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4420 1F20 @@ -487803,7 +527345,7 @@ ENCODING 38420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 A1A0 @@ -487821,7 +527363,7 @@ ENCODING 38421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 9F20 @@ -487839,7 +527381,7 @@ ENCODING 38422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 9420 9F20 @@ -487857,7 +527399,7 @@ ENCODING 38423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 9420 BFA0 @@ -487875,7 +527417,7 @@ ENCODING 38424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 9F20 @@ -487893,7 +527435,7 @@ ENCODING 38425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 AA20 @@ -487911,7 +527453,7 @@ ENCODING 38426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2020 BA20 @@ -487929,7 +527471,7 @@ ENCODING 38427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9FE0 4020 BFA0 @@ -487947,7 +527489,7 @@ ENCODING 38428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 7F80 4080 @@ -487964,26 +527506,26 @@ STARTCHAR U_961D ENCODING 38429 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -F800 -8800 -9000 -A000 -9000 -8800 -8800 -C800 -B000 -8000 -8000 +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 +BITMAP F100 9100 AFE0 @@ -488001,7 +527543,7 @@ ENCODING 38431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A100 @@ -488019,7 +527561,7 @@ ENCODING 38432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 9280 A280 @@ -488037,7 +527579,7 @@ ENCODING 38433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 9700 A100 @@ -488055,7 +527597,7 @@ ENCODING 38434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9280 A280 @@ -488073,7 +527615,7 @@ ENCODING 38435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 9400 A7E0 @@ -488091,7 +527633,7 @@ ENCODING 38436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9520 A560 @@ -488109,7 +527651,7 @@ ENCODING 38437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A200 A240 @@ -488127,7 +527669,7 @@ ENCODING 38438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 A240 @@ -488145,7 +527687,7 @@ ENCODING 38439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9480 A280 @@ -488163,7 +527705,7 @@ ENCODING 38440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9400 A5E0 @@ -488181,7 +527723,7 @@ ENCODING 38441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9C80 A480 @@ -488199,7 +527741,7 @@ ENCODING 38442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 9780 A400 @@ -488217,7 +527759,7 @@ ENCODING 38443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 9FE0 A080 @@ -488235,7 +527777,7 @@ ENCODING 38444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 AFE0 @@ -488253,7 +527795,7 @@ ENCODING 38445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9200 A440 @@ -488271,7 +527813,7 @@ ENCODING 38446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9000 A000 @@ -488289,7 +527831,7 @@ ENCODING 38447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 9080 A080 @@ -488307,7 +527849,7 @@ ENCODING 38448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 9480 A480 @@ -488325,7 +527867,7 @@ ENCODING 38449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9240 A7E0 @@ -488343,7 +527885,7 @@ ENCODING 38450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 AFE0 @@ -488361,7 +527903,7 @@ ENCODING 38451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 A420 @@ -488379,7 +527921,7 @@ ENCODING 38452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 9220 A220 @@ -488397,7 +527939,7 @@ ENCODING 38453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 A400 @@ -488415,7 +527957,7 @@ ENCODING 38454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A280 @@ -488433,7 +527975,7 @@ ENCODING 38455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A100 A100 @@ -488451,7 +527993,7 @@ ENCODING 38456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AFC0 A840 @@ -488469,7 +528011,7 @@ ENCODING 38457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A7C0 @@ -488487,7 +528029,7 @@ ENCODING 38458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 9780 A480 @@ -488505,7 +528047,7 @@ ENCODING 38459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A440 @@ -488523,7 +528065,7 @@ ENCODING 38460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9200 A3E0 @@ -488541,7 +528083,7 @@ ENCODING 38461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A1E0 @@ -488559,7 +528101,7 @@ ENCODING 38462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A200 A500 @@ -488577,7 +528119,7 @@ ENCODING 38463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9040 A040 @@ -488595,7 +528137,7 @@ ENCODING 38464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 AFE0 @@ -488613,7 +528155,7 @@ ENCODING 38465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E800 AFE0 B000 @@ -488631,7 +528173,7 @@ ENCODING 38466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A7E0 @@ -488649,7 +528191,7 @@ ENCODING 38467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9100 A100 @@ -488667,7 +528209,7 @@ ENCODING 38468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9240 A440 @@ -488685,7 +528227,7 @@ ENCODING 38469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9000 A000 @@ -488703,7 +528245,7 @@ ENCODING 38470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A100 @@ -488721,7 +528263,7 @@ ENCODING 38471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9240 AFE0 @@ -488739,7 +528281,7 @@ ENCODING 38472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 A400 @@ -488757,7 +528299,7 @@ ENCODING 38473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9040 A080 @@ -488775,7 +528317,7 @@ ENCODING 38474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 93E0 A440 @@ -488793,7 +528335,7 @@ ENCODING 38475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E7E0 A080 A3E0 @@ -488811,7 +528353,7 @@ ENCODING 38476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9080 A100 @@ -488829,7 +528371,7 @@ ENCODING 38477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93E0 A640 @@ -488847,7 +528389,7 @@ ENCODING 38478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F500 9500 A7C0 @@ -488865,7 +528407,7 @@ ENCODING 38479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A200 @@ -488883,7 +528425,7 @@ ENCODING 38480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -488901,7 +528443,7 @@ ENCODING 38481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 A200 @@ -488919,7 +528461,7 @@ ENCODING 38482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A3C0 C480 @@ -488937,7 +528479,7 @@ ENCODING 38483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 A480 @@ -488955,7 +528497,7 @@ ENCODING 38484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 9100 AFE0 @@ -488973,7 +528515,7 @@ ENCODING 38485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A920 @@ -488991,7 +528533,7 @@ ENCODING 38486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A480 CFC0 @@ -489009,7 +528551,7 @@ ENCODING 38487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F220 AA40 A680 @@ -489027,7 +528569,7 @@ ENCODING 38488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9540 A540 @@ -489045,7 +528587,7 @@ ENCODING 38489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A800 ABC0 @@ -489063,7 +528605,7 @@ ENCODING 38490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E080 AEC0 C0A0 @@ -489081,7 +528623,7 @@ ENCODING 38491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 94A0 A7C0 @@ -489099,7 +528641,7 @@ ENCODING 38492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A100 @@ -489117,7 +528659,7 @@ ENCODING 38493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A100 @@ -489135,7 +528677,7 @@ ENCODING 38494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F140 9640 A240 @@ -489153,7 +528695,7 @@ ENCODING 38495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 95E0 A500 @@ -489171,7 +528713,7 @@ ENCODING 38496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E280 BFE0 C200 @@ -489189,7 +528731,7 @@ ENCODING 38497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9100 A7C0 @@ -489207,7 +528749,7 @@ ENCODING 38498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9100 AFE0 @@ -489225,7 +528767,7 @@ ENCODING 38499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A100 @@ -489243,7 +528785,7 @@ ENCODING 38500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 A440 @@ -489261,7 +528803,7 @@ ENCODING 38501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 91E0 A240 @@ -489279,7 +528821,7 @@ ENCODING 38502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AFE0 C200 @@ -489297,7 +528839,7 @@ ENCODING 38503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 A7E0 @@ -489315,7 +528857,7 @@ ENCODING 38504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -489333,7 +528875,7 @@ ENCODING 38505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9280 A440 @@ -489351,7 +528893,7 @@ ENCODING 38506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A440 @@ -489369,7 +528911,7 @@ ENCODING 38507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 9EE0 A280 @@ -489387,7 +528929,7 @@ ENCODING 38508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 ABE0 AEA0 @@ -489405,7 +528947,7 @@ ENCODING 38509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A280 @@ -489423,7 +528965,7 @@ ENCODING 38510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E500 A480 AFE0 @@ -489441,7 +528983,7 @@ ENCODING 38511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 A480 A840 @@ -489459,7 +529001,7 @@ ENCODING 38512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 9480 AA40 @@ -489477,7 +529019,7 @@ ENCODING 38513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97E0 A920 @@ -489495,7 +529037,7 @@ ENCODING 38514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9100 AFE0 @@ -489513,7 +529055,7 @@ ENCODING 38515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A100 @@ -489531,7 +529073,7 @@ ENCODING 38516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 97E0 A520 @@ -489549,7 +529091,7 @@ ENCODING 38517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A100 @@ -489567,7 +529109,7 @@ ENCODING 38518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 A7E0 A820 @@ -489585,7 +529127,7 @@ ENCODING 38519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 93E0 A440 @@ -489603,7 +529145,7 @@ ENCODING 38520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A100 @@ -489621,7 +529163,7 @@ ENCODING 38521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 A480 DFE0 @@ -489639,7 +529181,7 @@ ENCODING 38522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 A500 A880 @@ -489657,7 +529199,7 @@ ENCODING 38523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A280 AFE0 @@ -489675,7 +529217,7 @@ ENCODING 38524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97A0 9120 @@ -489693,7 +529235,7 @@ ENCODING 38525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -489711,7 +529253,7 @@ ENCODING 38526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9200 AFE0 @@ -489729,7 +529271,7 @@ ENCODING 38527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 B100 BFE0 @@ -489747,7 +529289,7 @@ ENCODING 38528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9100 AFE0 @@ -489765,7 +529307,7 @@ ENCODING 38529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9440 B7C0 @@ -489783,7 +529325,7 @@ ENCODING 38530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E300 A480 AFE0 @@ -489801,7 +529343,7 @@ ENCODING 38531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F380 9440 ABA0 @@ -489819,7 +529361,7 @@ ENCODING 38532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -489837,7 +529379,7 @@ ENCODING 38533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 A7C0 @@ -489855,7 +529397,7 @@ ENCODING 38534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F400 97C0 AC40 @@ -489873,7 +529415,7 @@ ENCODING 38535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0A0 9FE0 A880 @@ -489891,7 +529433,7 @@ ENCODING 38536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9540 A7C0 @@ -489909,7 +529451,7 @@ ENCODING 38537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9CE0 A820 @@ -489927,7 +529469,7 @@ ENCODING 38538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9280 AFE0 @@ -489945,7 +529487,7 @@ ENCODING 38539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97E0 A200 @@ -489963,7 +529505,7 @@ ENCODING 38540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A440 @@ -489981,7 +529523,7 @@ ENCODING 38541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 97C0 A440 @@ -489999,7 +529541,7 @@ ENCODING 38542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 98A0 AEC0 @@ -490017,7 +529559,7 @@ ENCODING 38543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 B7E0 AA00 @@ -490035,7 +529577,7 @@ ENCODING 38544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 9480 AFC0 @@ -490053,7 +529595,7 @@ ENCODING 38545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 9520 A7E0 @@ -490071,7 +529613,7 @@ ENCODING 38546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 9FE0 A280 @@ -490089,7 +529631,7 @@ ENCODING 38547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9200 A5C0 @@ -490107,7 +529649,7 @@ ENCODING 38548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A440 A7C0 @@ -490125,7 +529667,7 @@ ENCODING 38549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 9440 A7C0 @@ -490143,7 +529685,7 @@ ENCODING 38550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E400 AFC0 A840 @@ -490161,7 +529703,7 @@ ENCODING 38551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A540 @@ -490179,7 +529721,7 @@ ENCODING 38552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E880 A500 BFE0 @@ -490197,7 +529739,7 @@ ENCODING 38553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9540 A920 @@ -490215,7 +529757,7 @@ ENCODING 38554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 A700 DFE0 @@ -490233,7 +529775,7 @@ ENCODING 38555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 95A0 AAC0 @@ -490251,7 +529793,7 @@ ENCODING 38556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A480 @@ -490269,7 +529811,7 @@ ENCODING 38557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 EF80 A880 @@ -490287,7 +529829,7 @@ ENCODING 38558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E480 BF80 A4E0 @@ -490305,7 +529847,7 @@ ENCODING 38559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 AA80 A540 @@ -490323,7 +529865,7 @@ ENCODING 38560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E1C0 AE40 AA80 @@ -490341,7 +529883,7 @@ ENCODING 38561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9FE0 A240 @@ -490359,7 +529901,7 @@ ENCODING 38562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A100 @@ -490377,7 +529919,7 @@ ENCODING 38563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A80 E700 BFE0 @@ -490395,7 +529937,7 @@ ENCODING 38564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 A540 @@ -490413,7 +529955,7 @@ ENCODING 38565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 B540 A880 @@ -490431,7 +529973,7 @@ ENCODING 38566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE40 ABE0 AA20 @@ -490449,7 +529991,7 @@ ENCODING 38567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 9FE0 A500 @@ -490467,7 +530009,7 @@ ENCODING 38568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 9BE0 A480 @@ -490485,7 +530027,7 @@ ENCODING 38569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 9FE0 AD60 @@ -490503,7 +530045,7 @@ ENCODING 38570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 9480 A840 @@ -490521,7 +530063,7 @@ ENCODING 38571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A540 @@ -490539,7 +530081,7 @@ ENCODING 38572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 A540 A920 @@ -490557,7 +530099,7 @@ ENCODING 38573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFC0 A200 DFE0 @@ -490575,7 +530117,7 @@ ENCODING 38574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 AFE0 A2A0 @@ -490593,7 +530135,7 @@ ENCODING 38575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 EFC0 A200 @@ -490611,7 +530153,7 @@ ENCODING 38576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9420 A7E0 @@ -490629,7 +530171,7 @@ ENCODING 38577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9540 9FE0 @@ -490647,7 +530189,7 @@ ENCODING 38578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AAC0 B300 @@ -490665,7 +530207,7 @@ ENCODING 38579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 AFE0 A500 @@ -490683,7 +530225,7 @@ ENCODING 38580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E4E0 BF80 AAE0 @@ -490701,7 +530243,7 @@ ENCODING 38581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E780 A4C0 DFA0 @@ -490719,7 +530261,7 @@ ENCODING 38582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0480 @@ -490737,7 +530279,7 @@ ENCODING 38583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2140 @@ -490755,7 +530297,7 @@ ENCODING 38584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2140 @@ -490773,7 +530315,7 @@ ENCODING 38585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1100 3FE0 @@ -490791,7 +530333,7 @@ ENCODING 38586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4840 @@ -490809,7 +530351,7 @@ ENCODING 38587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 3FE0 2200 @@ -490827,7 +530369,7 @@ ENCODING 38588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 3FE0 6200 @@ -490845,7 +530387,7 @@ ENCODING 38589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 2200 3FE0 @@ -490863,7 +530405,7 @@ ENCODING 38590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0280 F280 17E0 @@ -490881,7 +530423,7 @@ ENCODING 38591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6300 5480 47E0 @@ -490899,7 +530441,7 @@ ENCODING 38592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 2560 4620 @@ -490917,7 +530459,7 @@ ENCODING 38593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A00 4A80 @@ -490935,7 +530477,7 @@ ENCODING 38594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 3280 @@ -490953,7 +530495,7 @@ ENCODING 38595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB00 5280 53E0 @@ -490971,7 +530513,7 @@ ENCODING 38596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 1280 FFE0 @@ -490989,7 +530531,7 @@ ENCODING 38597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB00 1280 53E0 @@ -491007,7 +530549,7 @@ ENCODING 38598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 2200 7FE0 @@ -491025,7 +530567,7 @@ ENCODING 38599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 4040 @@ -491043,7 +530585,7 @@ ENCODING 38600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 F9E0 0900 @@ -491061,7 +530603,7 @@ ENCODING 38601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 4280 7BE0 @@ -491079,7 +530621,7 @@ ENCODING 38602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 4280 7BE0 @@ -491097,7 +530639,7 @@ ENCODING 38603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 3FE0 2200 @@ -491115,7 +530657,7 @@ ENCODING 38604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2A80 2BE0 @@ -491133,7 +530675,7 @@ ENCODING 38605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -491151,7 +530693,7 @@ ENCODING 38606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B00 4A80 4BE0 @@ -491169,7 +530711,7 @@ ENCODING 38607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 7A80 4BE0 @@ -491187,7 +530729,7 @@ ENCODING 38608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 7FE0 @@ -491205,7 +530747,7 @@ ENCODING 38609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7A80 2BE0 @@ -491223,7 +530765,7 @@ ENCODING 38610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4300 7280 93E0 @@ -491241,7 +530783,7 @@ ENCODING 38611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 5480 8FE0 @@ -491259,7 +530801,7 @@ ENCODING 38612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6100 9280 FFE0 @@ -491277,7 +530819,7 @@ ENCODING 38613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F980 AA40 FBE0 @@ -491295,7 +530837,7 @@ ENCODING 38614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8A80 FBE0 @@ -491313,7 +530855,7 @@ ENCODING 38615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2480 @@ -491331,7 +530873,7 @@ ENCODING 38616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 4FE0 6A40 @@ -491349,7 +530891,7 @@ ENCODING 38617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 3FE0 6A80 @@ -491367,7 +530909,7 @@ ENCODING 38618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0900 7BC0 @@ -491385,7 +530927,7 @@ ENCODING 38619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FA80 ABE0 @@ -491403,7 +530945,7 @@ ENCODING 38620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FE80 4BE0 @@ -491421,7 +530963,7 @@ ENCODING 38621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5580 AA80 57E0 @@ -491439,7 +530981,7 @@ ENCODING 38622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1980 EA80 A7E0 @@ -491457,7 +530999,7 @@ ENCODING 38623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FE0 1200 @@ -491475,7 +531017,7 @@ ENCODING 38624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A940 F5E0 A140 @@ -491493,7 +531035,7 @@ ENCODING 38625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 B540 6FE0 @@ -491511,7 +531053,7 @@ ENCODING 38626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1180 FD40 55E0 @@ -491529,7 +531071,7 @@ ENCODING 38627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 FE80 53E0 @@ -491547,7 +531089,7 @@ ENCODING 38628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AC0 4440 7BC0 @@ -491565,7 +531107,7 @@ ENCODING 38629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 6200 BFC0 @@ -491583,7 +531125,7 @@ ENCODING 38630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP CCC0 AAA0 FFE0 @@ -491601,7 +531143,7 @@ ENCODING 38631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 3F80 1200 @@ -491619,7 +531161,7 @@ ENCODING 38632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 0400 @@ -491637,7 +531179,7 @@ ENCODING 38633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491655,7 +531197,7 @@ ENCODING 38634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491673,7 +531215,7 @@ ENCODING 38635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491691,7 +531233,7 @@ ENCODING 38636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491709,7 +531251,7 @@ ENCODING 38637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491727,7 +531269,7 @@ ENCODING 38638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491745,7 +531287,7 @@ ENCODING 38639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491763,7 +531305,7 @@ ENCODING 38640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491781,7 +531323,7 @@ ENCODING 38641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491799,7 +531341,7 @@ ENCODING 38642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491817,7 +531359,7 @@ ENCODING 38643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491835,7 +531377,7 @@ ENCODING 38644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0400 FFE0 @@ -491853,7 +531395,7 @@ ENCODING 38645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491871,7 +531413,7 @@ ENCODING 38646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491889,7 +531431,7 @@ ENCODING 38647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491907,7 +531449,7 @@ ENCODING 38648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491925,7 +531467,7 @@ ENCODING 38649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491943,7 +531485,7 @@ ENCODING 38650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491961,7 +531503,7 @@ ENCODING 38651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491979,7 +531521,7 @@ ENCODING 38652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -491997,7 +531539,7 @@ ENCODING 38653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492015,7 +531557,7 @@ ENCODING 38654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492033,7 +531575,7 @@ ENCODING 38655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492051,7 +531593,7 @@ ENCODING 38656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492069,7 +531611,7 @@ ENCODING 38657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492087,7 +531629,7 @@ ENCODING 38658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492105,7 +531647,7 @@ ENCODING 38659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0400 FFE0 @@ -492123,7 +531665,7 @@ ENCODING 38660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492141,7 +531683,7 @@ ENCODING 38661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492159,7 +531701,7 @@ ENCODING 38662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492177,7 +531719,7 @@ ENCODING 38663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492195,7 +531737,7 @@ ENCODING 38664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492213,7 +531755,7 @@ ENCODING 38665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492231,7 +531773,7 @@ ENCODING 38666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492249,7 +531791,7 @@ ENCODING 38667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492267,7 +531809,7 @@ ENCODING 38668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492285,7 +531827,7 @@ ENCODING 38669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492303,7 +531845,7 @@ ENCODING 38670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492321,7 +531863,7 @@ ENCODING 38671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492339,7 +531881,7 @@ ENCODING 38672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492357,7 +531899,7 @@ ENCODING 38673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492375,7 +531917,7 @@ ENCODING 38674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 1080 FF40 @@ -492393,7 +531935,7 @@ ENCODING 38675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492411,7 +531953,7 @@ ENCODING 38676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0400 FFE0 @@ -492429,7 +531971,7 @@ ENCODING 38677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 2100 FFE0 @@ -492447,7 +531989,7 @@ ENCODING 38678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492465,7 +532007,7 @@ ENCODING 38679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0400 FFE0 @@ -492483,7 +532025,7 @@ ENCODING 38680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492501,7 +532043,7 @@ ENCODING 38681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492519,7 +532061,7 @@ ENCODING 38682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0400 FFE0 @@ -492537,7 +532079,7 @@ ENCODING 38683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492555,7 +532097,7 @@ ENCODING 38684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492573,7 +532115,7 @@ ENCODING 38685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492591,7 +532133,7 @@ ENCODING 38686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492609,7 +532151,7 @@ ENCODING 38687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492627,7 +532169,7 @@ ENCODING 38688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492645,7 +532187,7 @@ ENCODING 38689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492663,7 +532205,7 @@ ENCODING 38690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492681,7 +532223,7 @@ ENCODING 38691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492699,7 +532241,7 @@ ENCODING 38692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492717,7 +532259,7 @@ ENCODING 38693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492735,7 +532277,7 @@ ENCODING 38694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492753,7 +532295,7 @@ ENCODING 38695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492771,7 +532313,7 @@ ENCODING 38696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492789,7 +532331,7 @@ ENCODING 38697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492807,7 +532349,7 @@ ENCODING 38698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492825,7 +532367,7 @@ ENCODING 38699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492843,7 +532385,7 @@ ENCODING 38700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492861,7 +532403,7 @@ ENCODING 38701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492879,7 +532421,7 @@ ENCODING 38702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492897,7 +532439,7 @@ ENCODING 38703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492915,7 +532457,7 @@ ENCODING 38704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492933,7 +532475,7 @@ ENCODING 38705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492951,7 +532493,7 @@ ENCODING 38706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492969,7 +532511,7 @@ ENCODING 38707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -492987,7 +532529,7 @@ ENCODING 38708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 23C0 FD40 @@ -493005,7 +532547,7 @@ ENCODING 38709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493023,7 +532565,7 @@ ENCODING 38710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493041,7 +532583,7 @@ ENCODING 38711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493059,7 +532601,7 @@ ENCODING 38712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493077,7 +532619,7 @@ ENCODING 38713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493095,7 +532637,7 @@ ENCODING 38714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493113,7 +532655,7 @@ ENCODING 38715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493131,7 +532673,7 @@ ENCODING 38716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 FC00 @@ -493149,7 +532691,7 @@ ENCODING 38717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493167,7 +532709,7 @@ ENCODING 38718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493185,7 +532727,7 @@ ENCODING 38719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493203,7 +532745,7 @@ ENCODING 38720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493221,7 +532763,7 @@ ENCODING 38721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493239,7 +532781,7 @@ ENCODING 38722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493257,7 +532799,7 @@ ENCODING 38723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493275,7 +532817,7 @@ ENCODING 38724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493293,7 +532835,7 @@ ENCODING 38725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 27E0 FAA0 @@ -493311,7 +532853,7 @@ ENCODING 38726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23E0 F8A0 @@ -493329,7 +532871,7 @@ ENCODING 38727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493347,7 +532889,7 @@ ENCODING 38728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493365,7 +532907,7 @@ ENCODING 38729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 22A0 FFE0 @@ -493383,7 +532925,7 @@ ENCODING 38730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493401,7 +532943,7 @@ ENCODING 38731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493419,7 +532961,7 @@ ENCODING 38732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493437,7 +532979,7 @@ ENCODING 38733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493455,7 +532997,7 @@ ENCODING 38734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 0400 FFE0 @@ -493473,7 +533015,7 @@ ENCODING 38735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493491,7 +533033,7 @@ ENCODING 38736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -493509,7 +533051,7 @@ ENCODING 38737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -493527,7 +533069,7 @@ ENCODING 38738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -493545,7 +533087,7 @@ ENCODING 38739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 2540 @@ -493563,7 +533105,7 @@ ENCODING 38740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2400 @@ -493581,7 +533123,7 @@ ENCODING 38741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 2100 @@ -493599,7 +533141,7 @@ ENCODING 38742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27E0 F900 @@ -493617,7 +533159,7 @@ ENCODING 38743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F140 2540 @@ -493635,7 +533177,7 @@ ENCODING 38744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9C0 2280 @@ -493653,7 +533195,7 @@ ENCODING 38745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FDC0 2280 @@ -493671,7 +533213,7 @@ ENCODING 38746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2220 FBE0 @@ -493689,7 +533231,7 @@ ENCODING 38747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBE0 2220 @@ -493707,7 +533249,7 @@ ENCODING 38748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 2520 FAC0 @@ -493725,7 +533267,7 @@ ENCODING 38749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 F7E0 2800 @@ -493743,7 +533285,7 @@ ENCODING 38750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 0A00 FBE0 @@ -493761,7 +533303,7 @@ ENCODING 38751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0A00 FBE0 0A00 @@ -493779,7 +533321,7 @@ ENCODING 38752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 3FC0 4400 @@ -493797,7 +533339,7 @@ ENCODING 38753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 9080 @@ -493814,27 +533356,26 @@ STARTCHAR U_9762 ENCODING 38754 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -0400 +BBX 10 11 1 -1 +BITMAP +FFC0 0800 -7FE0 -4920 -4F20 -4920 -4F20 -4920 -7FE0 -4020 +1000 +FFC0 +9240 +9E40 +9240 +9E40 +9240 +FFC0 +8040 ENDCHAR STARTCHAR U_9763 ENCODING 38755 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 +BBX 11 10 0 -1 +BITMAP FFE0 0400 0800 @@ -493851,7 +533392,7 @@ ENCODING 38756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FDE0 2220 @@ -493869,7 +533410,7 @@ ENCODING 38757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4280 7FE0 @@ -493887,7 +533428,7 @@ ENCODING 38758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2120 FFE0 @@ -493905,7 +533446,7 @@ ENCODING 38759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 4540 @@ -493923,7 +533464,7 @@ ENCODING 38760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4C0 BCA0 @@ -493941,7 +533482,7 @@ ENCODING 38761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -493959,7 +533500,7 @@ ENCODING 38762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 FC40 2840 @@ -493977,7 +533518,7 @@ ENCODING 38763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FFC0 5440 @@ -493995,7 +533536,7 @@ ENCODING 38764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 FC80 2880 @@ -494013,7 +533554,7 @@ ENCODING 38765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2800 FDE0 28A0 @@ -494031,7 +533572,7 @@ ENCODING 38766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 53E0 @@ -494049,7 +533590,7 @@ ENCODING 38767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 5100 @@ -494067,7 +533608,7 @@ ENCODING 38768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FA80 5280 @@ -494085,7 +533626,7 @@ ENCODING 38769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBC0 5140 @@ -494103,7 +533644,7 @@ ENCODING 38770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F980 5240 @@ -494121,7 +533662,7 @@ ENCODING 38771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2860 FF80 2900 @@ -494139,7 +533680,7 @@ ENCODING 38772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 FA80 5280 @@ -494157,7 +533698,7 @@ ENCODING 38773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBC0 5140 @@ -494175,7 +533716,7 @@ ENCODING 38774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FFE0 52A0 @@ -494193,7 +533734,7 @@ ENCODING 38775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53A0 F8A0 50A0 @@ -494211,7 +533752,7 @@ ENCODING 38776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57C0 FA40 5240 @@ -494229,7 +533770,7 @@ ENCODING 38777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 5080 @@ -494247,7 +533788,7 @@ ENCODING 38778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 5080 @@ -494265,7 +533806,7 @@ ENCODING 38779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FA40 5240 @@ -494283,7 +533824,7 @@ ENCODING 38780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FBC0 5240 @@ -494301,7 +533842,7 @@ ENCODING 38781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FEA0 51C0 @@ -494319,7 +533860,7 @@ ENCODING 38782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52A0 FAA0 52A0 @@ -494337,7 +533878,7 @@ ENCODING 38783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FA80 5480 @@ -494355,7 +533896,7 @@ ENCODING 38784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 F920 5120 @@ -494373,7 +533914,7 @@ ENCODING 38785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FBE0 52A0 @@ -494391,7 +533932,7 @@ ENCODING 38786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5060 FB80 5080 @@ -494409,7 +533950,7 @@ ENCODING 38787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5740 F940 5140 @@ -494427,7 +533968,7 @@ ENCODING 38788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FBE0 5420 @@ -494445,7 +533986,7 @@ ENCODING 38789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 53E0 @@ -494463,7 +534004,7 @@ ENCODING 38790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FFE0 5100 @@ -494481,7 +534022,7 @@ ENCODING 38791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5000 FFE0 5520 @@ -494499,7 +534040,7 @@ ENCODING 38792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F980 5240 @@ -494517,7 +534058,7 @@ ENCODING 38793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FA80 52A0 @@ -494535,7 +534076,7 @@ ENCODING 38794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 57E0 @@ -494553,7 +534094,7 @@ ENCODING 38795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 53E0 @@ -494571,7 +534112,7 @@ ENCODING 38796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -494589,7 +534130,7 @@ ENCODING 38797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5420 @@ -494607,7 +534148,7 @@ ENCODING 38798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA20 53E0 @@ -494625,7 +534166,7 @@ ENCODING 38799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 24A0 3EA0 @@ -494643,7 +534184,7 @@ ENCODING 38800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FDC0 5100 @@ -494661,7 +534202,7 @@ ENCODING 38801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FC80 5280 @@ -494679,7 +534220,7 @@ ENCODING 38802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5040 FB80 5100 @@ -494697,7 +534238,7 @@ ENCODING 38803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FA40 53C0 @@ -494715,7 +534256,7 @@ ENCODING 38804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F9C0 5240 @@ -494733,7 +534274,7 @@ ENCODING 38805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 F900 57C0 @@ -494751,7 +534292,7 @@ ENCODING 38806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 50E0 FF40 5540 @@ -494769,7 +534310,7 @@ ENCODING 38807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 27E0 5A40 @@ -494787,7 +534328,7 @@ ENCODING 38808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FAA0 51C0 @@ -494805,7 +534346,7 @@ ENCODING 38809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA20 53E0 @@ -494823,7 +534364,7 @@ ENCODING 38810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5420 @@ -494841,7 +534382,7 @@ ENCODING 38811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5040 @@ -494859,7 +534400,7 @@ ENCODING 38812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F8A0 57C0 @@ -494877,7 +534418,7 @@ ENCODING 38813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5520 FB40 5100 @@ -494895,7 +534436,7 @@ ENCODING 38814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFE0 5520 @@ -494913,7 +534454,7 @@ ENCODING 38815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5000 @@ -494931,7 +534472,7 @@ ENCODING 38816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FBE0 5560 @@ -494949,7 +534490,7 @@ ENCODING 38817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FA40 57E0 @@ -494967,7 +534508,7 @@ ENCODING 38818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 FFE0 5540 @@ -494985,7 +534526,7 @@ ENCODING 38819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 F940 57E0 @@ -495003,7 +534544,7 @@ ENCODING 38820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FBE0 2140 @@ -495021,7 +534562,7 @@ ENCODING 38821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5180 FA40 55A0 @@ -495039,7 +534580,7 @@ ENCODING 38822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 FE40 5240 @@ -495057,7 +534598,7 @@ ENCODING 38823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFE0 5280 @@ -495075,7 +534616,7 @@ ENCODING 38824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA20 53E0 @@ -495093,7 +534634,7 @@ ENCODING 38825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5220 FAA0 5720 @@ -495111,7 +534652,7 @@ ENCODING 38826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 F940 @@ -495129,7 +534670,7 @@ ENCODING 38827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FBE0 5520 @@ -495147,7 +534688,7 @@ ENCODING 38828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FAA0 53E0 @@ -495165,7 +534706,7 @@ ENCODING 38829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA80 53E0 @@ -495183,7 +534724,7 @@ ENCODING 38830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FA20 53E0 @@ -495201,7 +534742,7 @@ ENCODING 38831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 FFE0 5140 @@ -495219,7 +534760,7 @@ ENCODING 38832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 FA40 53C0 @@ -495237,7 +534778,7 @@ ENCODING 38833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 50E0 FF20 52A0 @@ -495255,7 +534796,7 @@ ENCODING 38834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5280 @@ -495273,7 +534814,7 @@ ENCODING 38835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FBE0 5240 @@ -495291,7 +534832,7 @@ ENCODING 38836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 FBE0 5140 @@ -495309,7 +534850,7 @@ ENCODING 38837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 51C0 FE40 5540 @@ -495327,7 +534868,7 @@ ENCODING 38838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE60 AB80 @@ -495345,7 +534886,7 @@ ENCODING 38839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2080 7FC0 @@ -495363,7 +534904,7 @@ ENCODING 38840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FAA0 53E0 @@ -495381,7 +534922,7 @@ ENCODING 38841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 52E0 FFA0 55A0 @@ -495399,7 +534940,7 @@ ENCODING 38842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 FB80 57E0 @@ -495417,7 +534958,7 @@ ENCODING 38843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFC0 5540 @@ -495435,7 +534976,7 @@ ENCODING 38844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFC0 5540 @@ -495453,7 +534994,7 @@ ENCODING 38845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53C0 F900 5FE0 @@ -495471,7 +535012,7 @@ ENCODING 38846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFE0 5240 @@ -495489,7 +535030,7 @@ ENCODING 38847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5540 F5A0 5FC0 @@ -495507,7 +535048,7 @@ ENCODING 38848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5540 @@ -495525,7 +535066,7 @@ ENCODING 38849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FAA0 53E0 @@ -495543,7 +535084,7 @@ ENCODING 38850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5200 FBC0 5480 @@ -495561,7 +535102,7 @@ ENCODING 38851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FDC0 5280 @@ -495579,7 +535120,7 @@ ENCODING 38852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5140 FFE0 5140 @@ -495597,7 +535138,7 @@ ENCODING 38853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FC20 57E0 @@ -495615,7 +535156,7 @@ ENCODING 38854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FA80 57E0 @@ -495633,7 +535174,7 @@ ENCODING 38855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFE0 5080 @@ -495651,7 +535192,7 @@ ENCODING 38856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5240 FFE0 5280 @@ -495669,7 +535210,7 @@ ENCODING 38857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 FA40 5FE0 @@ -495687,7 +535228,7 @@ ENCODING 38858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5280 FFE0 5AA0 @@ -495705,7 +535246,7 @@ ENCODING 38859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 3F80 0880 @@ -495723,7 +535264,7 @@ ENCODING 38860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 F7E0 50A0 @@ -495741,7 +535282,7 @@ ENCODING 38861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 F140 57E0 @@ -495759,7 +535300,7 @@ ENCODING 38862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7880 2BE0 @@ -495777,7 +535318,7 @@ ENCODING 38863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 7FE0 0800 @@ -495795,7 +535336,7 @@ ENCODING 38864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7940 2A20 @@ -495813,7 +535354,7 @@ ENCODING 38865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 A940 @@ -495831,7 +535372,7 @@ ENCODING 38866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7AA0 29C0 @@ -495849,7 +535390,7 @@ ENCODING 38867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2140 @@ -495867,7 +535408,7 @@ ENCODING 38868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7A00 2BC0 @@ -495885,7 +535426,7 @@ ENCODING 38869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7FE0 2A40 @@ -495903,7 +535444,7 @@ ENCODING 38870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F140 57E0 @@ -495921,7 +535462,7 @@ ENCODING 38871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F420 5080 @@ -495939,7 +535480,7 @@ ENCODING 38872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 FFE0 5540 @@ -495957,7 +535498,7 @@ ENCODING 38873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4940 7FE0 @@ -495975,7 +535516,7 @@ ENCODING 38874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7BE0 2940 @@ -495993,7 +535534,7 @@ ENCODING 38875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 7BE0 2940 @@ -496011,7 +535552,7 @@ ENCODING 38876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 F7A0 5520 @@ -496029,7 +535570,7 @@ ENCODING 38877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 F7E0 5280 @@ -496047,7 +535588,7 @@ ENCODING 38878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7A40 2BC0 @@ -496065,7 +535606,7 @@ ENCODING 38879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 5440 @@ -496083,7 +535624,7 @@ ENCODING 38880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F540 57C0 @@ -496101,7 +535642,7 @@ ENCODING 38881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 FFE0 5280 @@ -496119,7 +535660,7 @@ ENCODING 38882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 5100 @@ -496137,7 +535678,7 @@ ENCODING 38883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 FAA0 4FE0 @@ -496155,7 +535696,7 @@ ENCODING 38884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 5240 @@ -496173,7 +535714,7 @@ ENCODING 38885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 5100 @@ -496190,26 +535731,26 @@ STARTCHAR U_97E6 ENCODING 38886 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0400 -7FE0 -0400 -3FC0 -0400 -0400 -7FE0 -0420 -0420 -04C0 -0400 +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 +BITMAP 2000 FBE0 20A0 @@ -496227,7 +535768,7 @@ ENCODING 38888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FA40 27E0 @@ -496245,7 +535786,7 @@ ENCODING 38889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2100 @@ -496263,7 +535804,7 @@ ENCODING 38890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 7880 @@ -496281,7 +535822,7 @@ ENCODING 38891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 F440 47C0 @@ -496299,7 +535840,7 @@ ENCODING 38892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 FF20 4520 @@ -496316,26 +535857,26 @@ STARTCHAR U_97ED ENCODING 38893 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0900 -0900 -79E0 -0900 -0900 -39C0 -0900 -79E0 -0900 -0900 -7FE0 +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 +BITMAP 1100 FFE0 1100 @@ -496353,7 +535894,7 @@ ENCODING 38895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7D40 1120 @@ -496371,7 +535912,7 @@ ENCODING 38896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1FE0 1140 3C80 @@ -496389,7 +535930,7 @@ ENCODING 38897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 7520 9500 @@ -496407,7 +535948,7 @@ ENCODING 38898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 0A40 @@ -496425,7 +535966,7 @@ ENCODING 38899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 1100 @@ -496443,7 +535984,7 @@ ENCODING 38900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 4880 @@ -496461,7 +536002,7 @@ ENCODING 38901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FA00 8BE0 @@ -496479,7 +536020,7 @@ ENCODING 38902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F920 8920 @@ -496497,7 +536038,7 @@ ENCODING 38903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 5520 @@ -496515,7 +536056,7 @@ ENCODING 38904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 8E40 @@ -496533,7 +536074,7 @@ ENCODING 38905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FDE0 4520 @@ -496551,7 +536092,7 @@ ENCODING 38906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 8A40 @@ -496569,7 +536110,7 @@ ENCODING 38907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 8BC0 @@ -496587,7 +536128,7 @@ ENCODING 38908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F9E0 5740 @@ -496605,7 +536146,7 @@ ENCODING 38909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 ABE0 7540 @@ -496623,7 +536164,7 @@ ENCODING 38910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 1220 FDC0 @@ -496641,7 +536182,7 @@ ENCODING 38911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 44E0 AEA0 4AC0 @@ -496659,7 +536200,7 @@ ENCODING 38912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 FFE0 5280 @@ -496677,7 +536218,7 @@ ENCODING 38913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 3F80 @@ -496695,7 +536236,7 @@ ENCODING 38914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -496713,7 +536254,7 @@ ENCODING 38915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4100 47C0 @@ -496731,7 +536272,7 @@ ENCODING 38916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4100 F3E0 @@ -496749,7 +536290,7 @@ ENCODING 38917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -496767,7 +536308,7 @@ ENCODING 38918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 5480 55E0 @@ -496785,7 +536326,7 @@ ENCODING 38919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 23E0 @@ -496803,7 +536344,7 @@ ENCODING 38920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 2100 47C0 @@ -496821,7 +536362,7 @@ ENCODING 38921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 1100 53C0 @@ -496839,7 +536380,7 @@ ENCODING 38922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -496857,7 +536398,7 @@ ENCODING 38923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8100 FBC0 @@ -496875,7 +536416,7 @@ ENCODING 38924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5100 4BE0 @@ -496893,7 +536434,7 @@ ENCODING 38925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 FFE0 @@ -496911,7 +536452,7 @@ ENCODING 38926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 7080 43E0 @@ -496929,7 +536470,7 @@ ENCODING 38927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2100 FFE0 @@ -496947,7 +536488,7 @@ ENCODING 38928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9100 67C0 @@ -496965,7 +536506,7 @@ ENCODING 38929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 0080 03E0 @@ -496983,7 +536524,7 @@ ENCODING 38930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5080 8BE0 @@ -497001,7 +536542,7 @@ ENCODING 38931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 23E0 @@ -497019,7 +536560,7 @@ ENCODING 38932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBC0 @@ -497037,7 +536578,7 @@ ENCODING 38933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4200 77C0 @@ -497055,7 +536596,7 @@ ENCODING 38934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A880 73E0 @@ -497073,7 +536614,7 @@ ENCODING 38935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 FBE0 @@ -497091,7 +536632,7 @@ ENCODING 38936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 3080 4BE0 @@ -497109,7 +536650,7 @@ ENCODING 38937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 13C0 @@ -497127,7 +536668,7 @@ ENCODING 38938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4900 33C0 @@ -497145,7 +536686,7 @@ ENCODING 38939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2080 FBE0 @@ -497163,7 +536704,7 @@ ENCODING 38940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 8BE0 @@ -497181,7 +536722,7 @@ ENCODING 38941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 1080 FFE0 @@ -497199,7 +536740,7 @@ ENCODING 38942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 FC80 87E0 @@ -497217,7 +536758,7 @@ ENCODING 38943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3900 4BC0 @@ -497235,7 +536776,7 @@ ENCODING 38944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7880 93E0 @@ -497253,7 +536794,7 @@ ENCODING 38945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 23E0 @@ -497271,7 +536812,7 @@ ENCODING 38946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 E100 23C0 @@ -497289,7 +536830,7 @@ ENCODING 38947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A100 A7C0 @@ -497307,7 +536848,7 @@ ENCODING 38948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9080 93E0 @@ -497325,7 +536866,7 @@ ENCODING 38949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 87E0 BD00 ABC0 @@ -497343,7 +536884,7 @@ ENCODING 38950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 1080 FFE0 @@ -497360,26 +536901,26 @@ STARTCHAR U_9827 ENCODING 38951 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -27E0 -7880 -4BE0 -4A20 -7BE0 -4220 -7BE0 -4A20 -4BE0 -7A40 -4420 +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 +BITMAP FFE0 2480 B5E0 @@ -497397,7 +536938,7 @@ ENCODING 38953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8FE0 5080 FFE0 @@ -497415,7 +536956,7 @@ ENCODING 38954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 A900 6BC0 @@ -497433,7 +536974,7 @@ ENCODING 38955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 2880 ABE0 @@ -497451,7 +536992,7 @@ ENCODING 38956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 2100 FBC0 @@ -497469,7 +537010,7 @@ ENCODING 38957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0080 7BE0 @@ -497487,7 +537028,7 @@ ENCODING 38958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 D500 5BC0 @@ -497505,7 +537046,7 @@ ENCODING 38959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 3880 EBE0 @@ -497523,7 +537064,7 @@ ENCODING 38960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 13E0 @@ -497541,7 +537082,7 @@ ENCODING 38961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 E900 ABC0 @@ -497559,7 +537100,7 @@ ENCODING 38962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E5E0 3880 29E0 @@ -497577,7 +537118,7 @@ ENCODING 38963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7900 13C0 @@ -497595,7 +537136,7 @@ ENCODING 38964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7100 43C0 @@ -497613,7 +537154,7 @@ ENCODING 38965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 2880 FFE0 @@ -497631,7 +537172,7 @@ ENCODING 38966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5100 7BC0 @@ -497649,7 +537190,7 @@ ENCODING 38967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 ABE0 @@ -497667,7 +537208,7 @@ ENCODING 38968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5480 ABE0 @@ -497685,7 +537226,7 @@ ENCODING 38969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FE0 F080 13E0 @@ -497703,7 +537244,7 @@ ENCODING 38970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2100 FBC0 @@ -497721,7 +537262,7 @@ ENCODING 38971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5080 5FE0 @@ -497739,7 +537280,7 @@ ENCODING 38972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 23C0 @@ -497757,7 +537298,7 @@ ENCODING 38973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 1100 FFC0 @@ -497775,7 +537316,7 @@ ENCODING 38974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37C0 C200 37C0 @@ -497793,7 +537334,7 @@ ENCODING 38975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 E100 1BC0 @@ -497811,7 +537352,7 @@ ENCODING 38976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5100 7BC0 @@ -497829,7 +537370,7 @@ ENCODING 38977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 87E0 @@ -497847,7 +537388,7 @@ ENCODING 38978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 23C0 @@ -497865,7 +537406,7 @@ ENCODING 38979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5880 53E0 @@ -497883,7 +537424,7 @@ ENCODING 38980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 0880 11E0 @@ -497901,7 +537442,7 @@ ENCODING 38981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 85E0 @@ -497919,7 +537460,7 @@ ENCODING 38982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -497937,7 +537478,7 @@ ENCODING 38983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 53C0 @@ -497955,7 +537496,7 @@ ENCODING 38984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 83E0 F080 83E0 @@ -497973,7 +537514,7 @@ ENCODING 38985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 5080 8BE0 @@ -497991,7 +537532,7 @@ ENCODING 38986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F080 93E0 @@ -498009,7 +537550,7 @@ ENCODING 38987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A900 FBC0 @@ -498027,7 +537568,7 @@ ENCODING 38988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 7BE0 @@ -498045,7 +537586,7 @@ ENCODING 38989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 A7E0 @@ -498063,7 +537604,7 @@ ENCODING 38990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -498081,7 +537622,7 @@ ENCODING 38991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 53E0 @@ -498099,7 +537640,7 @@ ENCODING 38992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A480 FFE0 @@ -498117,7 +537658,7 @@ ENCODING 38993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1BE0 1480 FFE0 @@ -498135,7 +537676,7 @@ ENCODING 38994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -498153,7 +537694,7 @@ ENCODING 38995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 A880 FBE0 @@ -498171,7 +537712,7 @@ ENCODING 38996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7900 4BC0 @@ -498189,7 +537730,7 @@ ENCODING 38997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8900 FBC0 @@ -498207,7 +537748,7 @@ ENCODING 38998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F900 DBC0 @@ -498225,7 +537766,7 @@ ENCODING 38999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 A880 FBE0 @@ -498243,7 +537784,7 @@ ENCODING 39000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 9080 BDE0 @@ -498261,7 +537802,7 @@ ENCODING 39001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5080 23E0 @@ -498279,7 +537820,7 @@ ENCODING 39002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 4100 7BC0 @@ -498297,7 +537838,7 @@ ENCODING 39003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 23E0 @@ -498315,7 +537856,7 @@ ENCODING 39004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 53E0 FC80 53E0 @@ -498333,7 +537874,7 @@ ENCODING 39005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 6BE0 @@ -498351,7 +537892,7 @@ ENCODING 39006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 7080 23E0 @@ -498369,7 +537910,7 @@ ENCODING 39007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 B480 6DE0 @@ -498387,7 +537928,7 @@ ENCODING 39008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2880 FFE0 @@ -498405,7 +537946,7 @@ ENCODING 39009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F900 53C0 @@ -498423,7 +537964,7 @@ ENCODING 39010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 49E0 FC80 49E0 @@ -498441,7 +537982,7 @@ ENCODING 39011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 05E0 FE80 A5E0 @@ -498459,7 +538000,7 @@ ENCODING 39012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7C80 13E0 @@ -498477,7 +538018,7 @@ ENCODING 39013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4480 7DE0 @@ -498495,7 +538036,7 @@ ENCODING 39014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5100 7FC0 @@ -498513,7 +538054,7 @@ ENCODING 39015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 87E0 @@ -498531,7 +538072,7 @@ ENCODING 39016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2100 7BC0 @@ -498549,7 +538090,7 @@ ENCODING 39017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 4480 B9E0 @@ -498567,7 +538108,7 @@ ENCODING 39018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5080 FFE0 @@ -498585,7 +538126,7 @@ ENCODING 39019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 B5E0 @@ -498603,7 +538144,7 @@ ENCODING 39020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 1100 FFC0 @@ -498621,7 +538162,7 @@ ENCODING 39021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 FD00 4BC0 @@ -498639,7 +538180,7 @@ ENCODING 39022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FD00 87C0 @@ -498657,7 +538198,7 @@ ENCODING 39023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4480 7DE0 @@ -498675,7 +538216,7 @@ ENCODING 39024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5240 FE40 @@ -498693,7 +538234,7 @@ ENCODING 39025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 2080 FBE0 @@ -498711,7 +538252,7 @@ ENCODING 39026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DE0 9080 29E0 @@ -498729,7 +538270,7 @@ ENCODING 39027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 4880 79E0 @@ -498747,7 +538288,7 @@ ENCODING 39028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2880 EFE0 @@ -498765,7 +538306,7 @@ ENCODING 39029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0400 3F80 @@ -498783,7 +538324,7 @@ ENCODING 39030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -498800,26 +538341,26 @@ STARTCHAR U_9877 ENCODING 39031 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4FE0 -4100 -47C0 -7440 -4540 -4540 -4540 -5540 -6100 -42C0 -0C20 +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 +BITMAP FFE0 2080 23E0 @@ -498837,7 +538378,7 @@ ENCODING 39033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -498855,7 +538396,7 @@ ENCODING 39034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8BE0 A880 ABE0 @@ -498873,7 +538414,7 @@ ENCODING 39035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 4100 87C0 @@ -498891,7 +538432,7 @@ ENCODING 39036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F900 27E0 @@ -498909,7 +538450,7 @@ ENCODING 39037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77E0 0080 0100 @@ -498927,7 +538468,7 @@ ENCODING 39038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8100 BBE0 @@ -498945,7 +538486,7 @@ ENCODING 39039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2080 FBE0 @@ -498963,7 +538504,7 @@ ENCODING 39040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 7080 43E0 @@ -498981,7 +538522,7 @@ ENCODING 39041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 5080 4BE0 @@ -498999,7 +538540,7 @@ ENCODING 39042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5080 4900 @@ -499017,7 +538558,7 @@ ENCODING 39043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 03E0 @@ -499035,7 +538576,7 @@ ENCODING 39044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1080 63E0 @@ -499053,7 +538594,7 @@ ENCODING 39045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 3880 23E0 @@ -499071,7 +538612,7 @@ ENCODING 39046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 1080 2900 @@ -499089,7 +538630,7 @@ ENCODING 39047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 7C80 57E0 @@ -499107,7 +538648,7 @@ ENCODING 39048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 1080 3100 @@ -499125,7 +538666,7 @@ ENCODING 39049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 2080 FBE0 @@ -499143,7 +538684,7 @@ ENCODING 39050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FC80 13E0 @@ -499161,7 +538702,7 @@ ENCODING 39051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07E0 F880 2BE0 @@ -499179,7 +538720,7 @@ ENCODING 39052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 2880 47E0 @@ -499197,7 +538738,7 @@ ENCODING 39053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4BE0 5080 67E0 @@ -499215,7 +538756,7 @@ ENCODING 39054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 97E0 E100 97C0 @@ -499233,7 +538774,7 @@ ENCODING 39055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 2080 FBE0 @@ -499251,7 +538792,7 @@ ENCODING 39056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9080 93E0 @@ -499269,7 +538810,7 @@ ENCODING 39057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5080 5FE0 @@ -499287,7 +538828,7 @@ ENCODING 39058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 D7E0 5880 @@ -499305,7 +538846,7 @@ ENCODING 39059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 2080 FBE0 @@ -499323,7 +538864,7 @@ ENCODING 39060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 37E0 4900 A7E0 @@ -499341,7 +538882,7 @@ ENCODING 39061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 6100 47C0 @@ -499359,7 +538900,7 @@ ENCODING 39062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 93E0 E080 8BE0 @@ -499377,7 +538918,7 @@ ENCODING 39063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -499395,7 +538936,7 @@ ENCODING 39064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 7BE0 @@ -499413,7 +538954,7 @@ ENCODING 39065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -499431,7 +538972,7 @@ ENCODING 39066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FBE0 @@ -499449,7 +538990,7 @@ ENCODING 39067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 A880 FBE0 @@ -499467,7 +539008,7 @@ ENCODING 39068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 F880 53E0 @@ -499485,7 +539026,7 @@ ENCODING 39069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 87E0 @@ -499503,7 +539044,7 @@ ENCODING 39070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4880 7BE0 @@ -499521,7 +539062,7 @@ ENCODING 39071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 FC80 2BE0 @@ -499539,7 +539080,7 @@ ENCODING 39072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FC80 23E0 @@ -499557,7 +539098,7 @@ ENCODING 39073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 5080 23E0 @@ -499575,7 +539116,7 @@ ENCODING 39074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 7BE0 @@ -499593,7 +539134,7 @@ ENCODING 39075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 3880 FFE0 @@ -499611,7 +539152,7 @@ ENCODING 39076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FD00 BBE0 @@ -499629,7 +539170,7 @@ ENCODING 39077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -499647,7 +539188,7 @@ ENCODING 39078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 5080 FFE0 @@ -499665,7 +539206,7 @@ ENCODING 39079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDE0 2900 EFE0 @@ -499683,7 +539224,7 @@ ENCODING 39080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2140 2E40 @@ -499701,7 +539242,7 @@ ENCODING 39081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 4C80 7520 @@ -499719,7 +539260,7 @@ ENCODING 39082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0500 0480 @@ -499737,7 +539278,7 @@ ENCODING 39083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4480 7FC0 @@ -499755,7 +539296,7 @@ ENCODING 39084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 4C40 7540 @@ -499773,7 +539314,7 @@ ENCODING 39085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 4C80 74E0 @@ -499791,7 +539332,7 @@ ENCODING 39086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 9BE0 EC20 @@ -499809,7 +539350,7 @@ ENCODING 39087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 24C0 FF40 @@ -499827,7 +539368,7 @@ ENCODING 39088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 4520 7FE0 @@ -499845,7 +539386,7 @@ ENCODING 39089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 9880 E920 @@ -499863,7 +539404,7 @@ ENCODING 39090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFA0 9A20 EBA0 @@ -499881,7 +539422,7 @@ ENCODING 39091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C20 4DC0 7480 @@ -499899,7 +539440,7 @@ ENCODING 39092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 45E0 7E00 @@ -499917,7 +539458,7 @@ ENCODING 39093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAA0 89C0 FBE0 @@ -499935,7 +539476,7 @@ ENCODING 39094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9A40 EB40 @@ -499953,7 +539494,7 @@ ENCODING 39095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EA0 45C0 7D40 @@ -499971,7 +539512,7 @@ ENCODING 39096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 9AA0 EBE0 @@ -499989,7 +539530,7 @@ ENCODING 39097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BC0 F940 @@ -500007,7 +539548,7 @@ ENCODING 39098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9A40 EBC0 @@ -500025,7 +539566,7 @@ ENCODING 39099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BE0 C260 ABA0 @@ -500043,7 +539584,7 @@ ENCODING 39100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9E0 9AA0 EBE0 @@ -500061,7 +539602,7 @@ ENCODING 39101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ABE0 FA60 03A0 @@ -500079,7 +539620,7 @@ ENCODING 39102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 9AA0 E9C0 @@ -500097,7 +539638,7 @@ ENCODING 39103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A460 F7A0 @@ -500115,7 +539656,7 @@ ENCODING 39104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB00 9AE0 EBA0 @@ -500133,7 +539674,7 @@ ENCODING 39105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AA60 67A0 @@ -500151,7 +539692,7 @@ ENCODING 39106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9DA0 EB60 @@ -500169,7 +539710,7 @@ ENCODING 39107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8940 FBE0 @@ -500187,7 +539728,7 @@ ENCODING 39108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2A60 FFA0 @@ -500205,7 +539746,7 @@ ENCODING 39109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8940 FB60 @@ -500223,7 +539764,7 @@ ENCODING 39110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2BE0 2660 FFA0 @@ -500241,7 +539782,7 @@ ENCODING 39111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 8FE0 F980 @@ -500259,7 +539800,7 @@ ENCODING 39112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7EA0 45C0 7C80 @@ -500277,7 +539818,7 @@ ENCODING 39113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 9BE0 ED40 @@ -500295,7 +539836,7 @@ ENCODING 39114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 B440 27C0 @@ -500313,7 +539854,7 @@ ENCODING 39115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9A40 EFE0 @@ -500331,7 +539872,7 @@ ENCODING 39116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5260 EFA0 @@ -500349,7 +539890,7 @@ ENCODING 39117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5540 5F40 @@ -500367,7 +539908,7 @@ ENCODING 39118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 4080 4280 @@ -500385,7 +539926,7 @@ ENCODING 39119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4880 4900 @@ -500403,7 +539944,7 @@ ENCODING 39120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 7C80 44E0 @@ -500421,7 +539962,7 @@ ENCODING 39121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 8BE0 DC20 @@ -500439,7 +539980,7 @@ ENCODING 39122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 2440 FC40 @@ -500457,7 +539998,7 @@ ENCODING 39123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 8A40 DB40 @@ -500475,7 +540016,7 @@ ENCODING 39124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8AA0 8BE0 @@ -500493,7 +540034,7 @@ ENCODING 39125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F960 8AA0 DBE0 @@ -500511,7 +540052,7 @@ ENCODING 39126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1800 E7C0 A440 @@ -500529,7 +540070,7 @@ ENCODING 39127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8AE0 FBA0 @@ -500547,7 +540088,7 @@ ENCODING 39128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 2A20 FE20 @@ -500565,7 +540106,7 @@ ENCODING 39129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 FC40 2440 @@ -500583,7 +540124,7 @@ ENCODING 39130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FAA0 8AC0 9940 @@ -500601,7 +540142,7 @@ ENCODING 39131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF00 0140 1580 @@ -500619,7 +540160,7 @@ ENCODING 39132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 AA60 7540 @@ -500637,7 +540178,7 @@ ENCODING 39133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F40 1580 FF60 @@ -500655,7 +540196,7 @@ ENCODING 39134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC00 0440 0480 @@ -500673,7 +540214,7 @@ ENCODING 39135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 0A00 1500 @@ -500690,26 +540231,26 @@ STARTCHAR U_98E0 ENCODING 39136 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -1000 -3000 -4800 -A000 -7800 -4800 -7800 -4800 -7800 -5000 -7800 +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 +BITMAP 0100 8280 4540 @@ -500727,7 +540268,7 @@ ENCODING 39138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 5280 AA80 @@ -500745,7 +540286,7 @@ ENCODING 39139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 53E0 A880 @@ -500763,7 +540304,7 @@ ENCODING 39140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 5500 @@ -500781,7 +540322,7 @@ ENCODING 39141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 5780 A900 @@ -500799,7 +540340,7 @@ ENCODING 39142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BC0 5500 @@ -500817,7 +540358,7 @@ ENCODING 39143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 4440 7920 @@ -500835,7 +540376,7 @@ ENCODING 39144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2380 2440 5920 @@ -500853,7 +540394,7 @@ ENCODING 39145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 A880 @@ -500871,7 +540412,7 @@ ENCODING 39146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 53C0 A880 @@ -500889,7 +540430,7 @@ ENCODING 39147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 53C0 A880 @@ -500907,7 +540448,7 @@ ENCODING 39148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 7FC0 0800 @@ -500925,7 +540466,7 @@ ENCODING 39149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 51E0 AA00 @@ -500943,7 +540484,7 @@ ENCODING 39150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 53E0 @@ -500961,7 +540502,7 @@ ENCODING 39151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2060 3380 4A00 @@ -500979,7 +540520,7 @@ ENCODING 39152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2900 57E0 @@ -500997,7 +540538,7 @@ ENCODING 39153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FA80 4540 @@ -501015,7 +540556,7 @@ ENCODING 39154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5100 ABE0 @@ -501033,7 +540574,7 @@ ENCODING 39155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2900 57E0 @@ -501051,7 +540592,7 @@ ENCODING 39156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 5080 A900 @@ -501069,7 +540610,7 @@ ENCODING 39157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2A00 53E0 @@ -501087,7 +540628,7 @@ ENCODING 39158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 50A0 AA20 @@ -501105,7 +540646,7 @@ ENCODING 39159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2BC0 5640 @@ -501123,7 +540664,7 @@ ENCODING 39160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7A80 4D40 @@ -501141,7 +540682,7 @@ ENCODING 39161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5CE0 AAA0 @@ -501159,7 +540700,7 @@ ENCODING 39162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5DC0 5120 FDE0 @@ -501177,7 +540718,7 @@ ENCODING 39163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 5280 @@ -501195,7 +540736,7 @@ ENCODING 39164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5020 ABA0 @@ -501213,7 +540754,7 @@ ENCODING 39165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 ABE0 @@ -501231,7 +540772,7 @@ ENCODING 39166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 5200 ABE0 @@ -501249,7 +540790,7 @@ ENCODING 39167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2AA0 56A0 @@ -501267,7 +540808,7 @@ ENCODING 39168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2A80 57E0 @@ -501285,7 +540826,7 @@ ENCODING 39169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2A60 5780 @@ -501303,7 +540844,7 @@ ENCODING 39170 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 53C0 A880 @@ -501321,7 +540862,7 @@ ENCODING 39171 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5080 AFE0 @@ -501339,7 +540880,7 @@ ENCODING 39172 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2980 5640 @@ -501357,7 +540898,7 @@ ENCODING 39173 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 AFE0 @@ -501375,7 +540916,7 @@ ENCODING 39174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2A80 56A0 @@ -501393,7 +540934,7 @@ ENCODING 39175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5420 ADE0 @@ -501411,7 +540952,7 @@ ENCODING 39176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 37E0 E940 @@ -501429,7 +540970,7 @@ ENCODING 39177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5200 AFE0 @@ -501447,7 +540988,7 @@ ENCODING 39178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 0400 @@ -501465,7 +541006,7 @@ ENCODING 39179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 7FC0 0400 @@ -501483,7 +541024,7 @@ ENCODING 39180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5240 AA40 @@ -501501,7 +541042,7 @@ ENCODING 39181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8500 BFE0 @@ -501519,7 +541060,7 @@ ENCODING 39182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 55E0 @@ -501537,7 +541078,7 @@ ENCODING 39183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2880 57E0 @@ -501555,7 +541096,7 @@ ENCODING 39184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FE0 2240 7580 @@ -501573,7 +541114,7 @@ ENCODING 39185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 A880 @@ -501591,7 +541132,7 @@ ENCODING 39186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 5720 ACA0 @@ -501609,7 +541150,7 @@ ENCODING 39187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 56C0 AAA0 @@ -501627,7 +541168,7 @@ ENCODING 39188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 50A0 AFE0 @@ -501645,7 +541186,7 @@ ENCODING 39189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5240 AFA0 @@ -501663,7 +541204,7 @@ ENCODING 39190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5000 ABC0 @@ -501681,7 +541222,7 @@ ENCODING 39191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 A880 @@ -501699,7 +541240,7 @@ ENCODING 39192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5280 AC40 @@ -501717,7 +541258,7 @@ ENCODING 39193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2980 5660 @@ -501735,7 +541276,7 @@ ENCODING 39194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2360 5080 AB60 @@ -501753,7 +541294,7 @@ ENCODING 39195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5440 AFC0 @@ -501771,7 +541312,7 @@ ENCODING 39196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2AA0 57E0 @@ -501789,7 +541330,7 @@ ENCODING 39197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 2FE0 5280 @@ -501807,7 +541348,7 @@ ENCODING 39198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5240 AFE0 @@ -501825,7 +541366,7 @@ ENCODING 39199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5520 AAA0 @@ -501843,7 +541384,7 @@ ENCODING 39200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1120 2A40 57E0 @@ -501861,7 +541402,7 @@ ENCODING 39201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 51E0 AA40 @@ -501879,7 +541420,7 @@ ENCODING 39202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 2900 57E0 @@ -501897,7 +541438,7 @@ ENCODING 39203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2FE0 5140 @@ -501915,7 +541456,7 @@ ENCODING 39204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 52A0 AAC0 @@ -501933,7 +541474,7 @@ ENCODING 39205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 0A00 7BC0 @@ -501951,7 +541492,7 @@ ENCODING 39206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2A00 57C0 @@ -501969,7 +541510,7 @@ ENCODING 39207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5080 AFE0 @@ -501987,7 +541528,7 @@ ENCODING 39208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 AC20 @@ -502005,7 +541546,7 @@ ENCODING 39209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 5220 AC80 @@ -502023,7 +541564,7 @@ ENCODING 39210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5100 AFE0 @@ -502041,7 +541582,7 @@ ENCODING 39211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 54A0 AFE0 @@ -502059,7 +541600,7 @@ ENCODING 39212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 52A0 AFA0 @@ -502077,7 +541618,7 @@ ENCODING 39213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 53C0 AA40 @@ -502095,7 +541636,7 @@ ENCODING 39214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FB80 4540 72A0 @@ -502113,7 +541654,7 @@ ENCODING 39215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 ABC0 @@ -502131,7 +541672,7 @@ ENCODING 39216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 74E0 8800 2200 @@ -502149,7 +541690,7 @@ ENCODING 39217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 AFE0 @@ -502167,7 +541708,7 @@ ENCODING 39218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 ABC0 @@ -502185,7 +541726,7 @@ ENCODING 39219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 ABC0 @@ -502203,7 +541744,7 @@ ENCODING 39220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2BE0 5540 @@ -502221,7 +541762,7 @@ ENCODING 39221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 5540 AFC0 @@ -502239,7 +541780,7 @@ ENCODING 39222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 2A40 53C0 @@ -502257,7 +541798,7 @@ ENCODING 39223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2FE0 5380 @@ -502275,7 +541816,7 @@ ENCODING 39224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1220 2940 5600 @@ -502293,7 +541834,7 @@ ENCODING 39225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 2BE0 5680 @@ -502311,7 +541852,7 @@ ENCODING 39226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20A0 57E0 AAA0 @@ -502329,7 +541870,7 @@ ENCODING 39227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 2A80 57E0 @@ -502347,7 +541888,7 @@ ENCODING 39228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 53E0 AC00 @@ -502365,7 +541906,7 @@ ENCODING 39229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 AD20 @@ -502383,7 +541924,7 @@ ENCODING 39230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22E0 54A0 ACA0 @@ -502401,7 +541942,7 @@ ENCODING 39231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 51E0 AAA0 @@ -502419,7 +541960,7 @@ ENCODING 39232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 2B00 54A0 @@ -502437,7 +541978,7 @@ ENCODING 39233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 A900 @@ -502455,7 +541996,7 @@ ENCODING 39234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 2A40 57C0 @@ -502473,7 +542014,7 @@ ENCODING 39235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 57E0 AA40 @@ -502491,7 +542032,7 @@ ENCODING 39236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1520 2B40 57E0 @@ -502509,7 +542050,7 @@ ENCODING 39237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 5240 ABC0 @@ -502527,7 +542068,7 @@ ENCODING 39238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 2AA0 57E0 @@ -502545,7 +542086,7 @@ ENCODING 39239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5800 ABC0 @@ -502563,7 +542104,7 @@ ENCODING 39240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 5280 AFE0 @@ -502581,7 +542122,7 @@ ENCODING 39241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 57E0 A940 @@ -502599,7 +542140,7 @@ ENCODING 39242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5FC0 A540 @@ -502617,7 +542158,7 @@ ENCODING 39243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 AD40 @@ -502635,7 +542176,7 @@ ENCODING 39244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2EE0 5AA0 AEE0 @@ -502653,7 +542194,7 @@ ENCODING 39245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 2FE0 5100 @@ -502671,7 +542212,7 @@ ENCODING 39246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 A880 @@ -502689,7 +542230,7 @@ ENCODING 39247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 0900 FFE0 @@ -502707,7 +542248,7 @@ ENCODING 39248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57E0 A900 @@ -502725,7 +542266,7 @@ ENCODING 39249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5BA0 AD40 @@ -502743,7 +542284,7 @@ ENCODING 39250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 57C0 A900 @@ -502761,7 +542302,7 @@ ENCODING 39251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 57E0 AC20 @@ -502779,7 +542320,7 @@ ENCODING 39252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 5500 5FC0 @@ -502797,7 +542338,7 @@ ENCODING 39253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1C0 9100 FFE0 @@ -502815,7 +542356,7 @@ ENCODING 39254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 25E0 5500 AFE0 @@ -502833,7 +542374,7 @@ ENCODING 39255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 48E0 BEA0 52C0 @@ -502851,7 +542392,7 @@ ENCODING 39256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 ABA0 @@ -502869,7 +542410,7 @@ ENCODING 39257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 57E0 AAA0 @@ -502887,7 +542428,7 @@ ENCODING 39258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 2FE0 5540 @@ -502905,7 +542446,7 @@ ENCODING 39259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 5FE0 A280 @@ -502923,7 +542464,7 @@ ENCODING 39260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4C0 BCA0 @@ -502941,7 +542482,7 @@ ENCODING 39261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 AFE0 DA40 @@ -502959,7 +542500,7 @@ ENCODING 39262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 5480 AFE0 @@ -502977,7 +542518,7 @@ ENCODING 39263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 AAA0 @@ -502995,7 +542536,7 @@ ENCODING 39264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FE0 5AA0 AFE0 @@ -503013,7 +542554,7 @@ ENCODING 39265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 5FE0 A540 @@ -503031,7 +542572,7 @@ ENCODING 39266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 5FE0 A540 @@ -503048,26 +542589,26 @@ STARTCHAR U_9963 ENCODING 39267 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4000 -4000 -7C00 -4800 -8000 -2000 -2000 -2000 -2800 -3000 -2000 +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 +BITMAP 4000 47E0 7880 @@ -503085,7 +542626,7 @@ ENCODING 39269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 4480 7C80 @@ -503103,7 +542644,7 @@ ENCODING 39270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 4600 7A00 @@ -503121,7 +542662,7 @@ ENCODING 39271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F80 4100 7A00 @@ -503139,7 +542680,7 @@ ENCODING 39272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7FE0 @@ -503157,7 +542698,7 @@ ENCODING 39273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43E0 7C00 @@ -503175,7 +542716,7 @@ ENCODING 39274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7900 @@ -503193,7 +542734,7 @@ ENCODING 39275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7900 @@ -503211,7 +542752,7 @@ ENCODING 39276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -503229,7 +542770,7 @@ ENCODING 39277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 4700 7C00 @@ -503247,7 +542788,7 @@ ENCODING 39278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4200 7BE0 @@ -503265,7 +542806,7 @@ ENCODING 39279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 4240 7BE0 @@ -503283,7 +542824,7 @@ ENCODING 39280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43E0 7C80 @@ -503301,7 +542842,7 @@ ENCODING 39281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4400 47C0 7C40 @@ -503319,7 +542860,7 @@ ENCODING 39282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4020 7BA0 @@ -503337,7 +542878,7 @@ ENCODING 39283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7540 @@ -503355,7 +542896,7 @@ ENCODING 39284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7A40 @@ -503373,7 +542914,7 @@ ENCODING 39285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4240 7A40 @@ -503391,7 +542932,7 @@ ENCODING 39286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 47E0 7A80 @@ -503409,7 +542950,7 @@ ENCODING 39287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4200 7FE0 @@ -503427,7 +542968,7 @@ ENCODING 39288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7A80 @@ -503445,7 +542986,7 @@ ENCODING 39289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43C0 7C40 @@ -503463,7 +543004,7 @@ ENCODING 39290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4080 7FE0 @@ -503481,7 +543022,7 @@ ENCODING 39291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4100 7FE0 @@ -503499,7 +543040,7 @@ ENCODING 39292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 4140 7FE0 @@ -503517,7 +543058,7 @@ ENCODING 39293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7900 @@ -503535,7 +543076,7 @@ ENCODING 39294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 4FE0 7000 @@ -503553,7 +543094,7 @@ ENCODING 39295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4180 46C0 7AA0 @@ -503571,7 +543112,7 @@ ENCODING 39296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4280 7440 @@ -503589,7 +543130,7 @@ ENCODING 39297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 4780 7D20 @@ -503607,7 +543148,7 @@ ENCODING 39298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4100 7240 @@ -503625,7 +543166,7 @@ ENCODING 39299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4540 7FC0 @@ -503643,7 +543184,7 @@ ENCODING 39300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 4420 7FE0 @@ -503661,7 +543202,7 @@ ENCODING 39301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 43E0 7A40 @@ -503679,7 +543220,7 @@ ENCODING 39302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47E0 7C20 @@ -503697,7 +543238,7 @@ ENCODING 39303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4FE0 7540 @@ -503715,7 +543256,7 @@ ENCODING 39304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7540 @@ -503733,7 +543274,7 @@ ENCODING 39305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 7740 @@ -503751,7 +543292,7 @@ ENCODING 39306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 4760 7D20 @@ -503769,7 +543310,7 @@ ENCODING 39307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 4480 7FE0 @@ -503787,7 +543328,7 @@ ENCODING 39308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 7100 @@ -503805,7 +543346,7 @@ ENCODING 39309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 47E0 7A80 @@ -503823,7 +543364,7 @@ ENCODING 39310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 4FE0 7540 @@ -503841,7 +543382,7 @@ ENCODING 39311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 4DE0 7AA0 @@ -503859,7 +543400,7 @@ ENCODING 39312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 4140 7FE0 @@ -503877,7 +543418,7 @@ ENCODING 39313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 47E0 7A40 @@ -503895,7 +543436,7 @@ ENCODING 39314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 4440 77C0 @@ -503913,7 +543454,7 @@ ENCODING 39315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8A80 9F80 EAE0 @@ -503931,7 +543472,7 @@ ENCODING 39316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4920 7FE0 @@ -503949,7 +543490,7 @@ ENCODING 39317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 4540 7FE0 @@ -503967,7 +543508,7 @@ ENCODING 39318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 1100 FFE0 @@ -503985,7 +543526,7 @@ ENCODING 39319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 4FE0 4100 @@ -504003,7 +543544,7 @@ ENCODING 39320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 88C0 50A0 FFE0 @@ -504021,7 +543562,7 @@ ENCODING 39321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0180 7E00 0400 @@ -504039,7 +543580,7 @@ ENCODING 39322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 2280 FA40 @@ -504057,7 +543598,7 @@ ENCODING 39323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 2120 FFE0 @@ -504075,7 +543616,7 @@ ENCODING 39324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0BE0 F220 1220 @@ -504093,7 +543634,7 @@ ENCODING 39325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7240 2140 FE80 @@ -504111,7 +543652,7 @@ ENCODING 39326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 67E0 2080 @@ -504129,7 +543670,7 @@ ENCODING 39327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 2720 FAA0 @@ -504147,7 +543688,7 @@ ENCODING 39328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 2280 FA40 @@ -504165,7 +543706,7 @@ ENCODING 39329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 6280 26E0 @@ -504183,7 +543724,7 @@ ENCODING 39330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7280 2240 FFC0 @@ -504201,7 +543742,7 @@ ENCODING 39331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 67E0 2280 @@ -504219,7 +543760,7 @@ ENCODING 39332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 77C0 2540 FCC0 @@ -504237,7 +543778,7 @@ ENCODING 39333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 63E0 2620 @@ -504255,7 +543796,7 @@ ENCODING 39334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1440 6280 27E0 @@ -504273,7 +543814,7 @@ ENCODING 39335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 6240 23C0 @@ -504291,7 +543832,7 @@ ENCODING 39336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 1140 7FE0 @@ -504309,7 +543850,7 @@ ENCODING 39337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 27E0 FA40 @@ -504327,7 +543868,7 @@ ENCODING 39338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 27E0 F820 @@ -504345,7 +543886,7 @@ ENCODING 39339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 FFE0 2480 @@ -504363,7 +543904,7 @@ ENCODING 39340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2400 3F80 @@ -504381,7 +543922,7 @@ ENCODING 39341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5120 7D20 @@ -504399,7 +543940,7 @@ ENCODING 39342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 2500 17C0 @@ -504417,7 +543958,7 @@ ENCODING 39343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5080 7880 @@ -504435,7 +543976,7 @@ ENCODING 39344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5100 7FE0 @@ -504453,7 +543994,7 @@ ENCODING 39345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5080 7880 @@ -504471,7 +544012,7 @@ ENCODING 39346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5380 7900 @@ -504489,7 +544030,7 @@ ENCODING 39347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A2A0 FAE0 @@ -504507,7 +544048,7 @@ ENCODING 39348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA20 A2A0 F2A0 @@ -504525,7 +544066,7 @@ ENCODING 39349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 2400 3FC0 @@ -504543,7 +544084,7 @@ ENCODING 39350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5100 7FE0 @@ -504561,7 +544102,7 @@ ENCODING 39351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 53E0 7880 @@ -504579,7 +544120,7 @@ ENCODING 39352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5380 7A00 @@ -504597,7 +544138,7 @@ ENCODING 39353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5220 7A20 @@ -504615,7 +544156,7 @@ ENCODING 39354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5120 7920 @@ -504633,7 +544174,7 @@ ENCODING 39355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A100 F240 @@ -504651,7 +544192,7 @@ ENCODING 39356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5080 7FE0 @@ -504668,8 +544209,8 @@ STARTCHAR U_99BD ENCODING 39357 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 7FC0 4400 7F80 @@ -504687,7 +544228,7 @@ ENCODING 39358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5100 7FE0 @@ -504705,7 +544246,7 @@ ENCODING 39359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5080 7BE0 @@ -504723,7 +544264,7 @@ ENCODING 39360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 5240 7A00 @@ -504741,7 +544282,7 @@ ENCODING 39361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E20 5140 7C80 @@ -504759,7 +544300,7 @@ ENCODING 39362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 83E0 9280 E280 @@ -504777,7 +544318,7 @@ ENCODING 39363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A100 FBC0 @@ -504795,7 +544336,7 @@ ENCODING 39364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5100 7900 @@ -504813,7 +544354,7 @@ ENCODING 39365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5240 7A40 @@ -504831,7 +544372,7 @@ ENCODING 39366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5200 7A00 @@ -504849,7 +544390,7 @@ ENCODING 39367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5100 79E0 @@ -504867,7 +544408,7 @@ ENCODING 39368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5380 7A00 @@ -504885,7 +544426,7 @@ ENCODING 39369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A420 F420 @@ -504903,7 +544444,7 @@ ENCODING 39370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5100 7FE0 @@ -504921,7 +544462,7 @@ ENCODING 39371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5120 7920 @@ -504939,7 +544480,7 @@ ENCODING 39372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7E40 CAC0 @@ -504957,7 +544498,7 @@ ENCODING 39373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5080 7AA0 @@ -504975,7 +544516,7 @@ ENCODING 39374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A080 FBE0 @@ -504993,7 +544534,7 @@ ENCODING 39375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5100 7D00 @@ -505011,7 +544552,7 @@ ENCODING 39376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5080 7BE0 @@ -505029,7 +544570,7 @@ ENCODING 39377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFC0 4A40 @@ -505047,7 +544588,7 @@ ENCODING 39378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 FC20 @@ -505065,7 +544606,7 @@ ENCODING 39379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5080 7880 @@ -505083,7 +544624,7 @@ ENCODING 39380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 A240 F240 @@ -505101,7 +544642,7 @@ ENCODING 39381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 2BC0 @@ -505119,7 +544660,7 @@ ENCODING 39382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5180 7A40 @@ -505137,7 +544678,7 @@ ENCODING 39383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5140 7E20 @@ -505155,7 +544696,7 @@ ENCODING 39384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5100 7940 @@ -505173,7 +544714,7 @@ ENCODING 39385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 A240 F240 @@ -505191,7 +544732,7 @@ ENCODING 39386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5100 7FC0 @@ -505209,7 +544750,7 @@ ENCODING 39387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A080 FBE0 @@ -505227,7 +544768,7 @@ ENCODING 39388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F920 A0A0 FA40 @@ -505245,7 +544786,7 @@ ENCODING 39389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5080 7BE0 @@ -505263,7 +544804,7 @@ ENCODING 39390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 53E0 7A00 @@ -505281,7 +544822,7 @@ ENCODING 39391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F000 AFE0 FAA0 @@ -505299,7 +544840,7 @@ ENCODING 39392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 ACE0 FAA0 @@ -505317,7 +544858,7 @@ ENCODING 39393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -505335,7 +544876,7 @@ ENCODING 39394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 5140 7FE0 @@ -505353,7 +544894,7 @@ ENCODING 39395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 A2A0 FAC0 @@ -505371,7 +544912,7 @@ ENCODING 39396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5080 7940 @@ -505389,7 +544930,7 @@ ENCODING 39397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 A0A0 FFE0 @@ -505407,7 +544948,7 @@ ENCODING 39398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1500 3F80 0800 @@ -505425,7 +544966,7 @@ ENCODING 39399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A820 F820 @@ -505443,7 +544984,7 @@ ENCODING 39400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 53E0 7C20 @@ -505461,7 +545002,7 @@ ENCODING 39401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D80 5240 7C20 @@ -505479,7 +545020,7 @@ ENCODING 39402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A500 FFC0 @@ -505497,7 +545038,7 @@ ENCODING 39403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5140 7D40 @@ -505515,7 +545056,7 @@ ENCODING 39404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A240 F240 @@ -505533,7 +545074,7 @@ ENCODING 39405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7880 @@ -505551,7 +545092,7 @@ ENCODING 39406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7D40 @@ -505569,7 +545110,7 @@ ENCODING 39407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5500 7FC0 @@ -505587,7 +545128,7 @@ ENCODING 39408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A520 F520 @@ -505605,7 +545146,7 @@ ENCODING 39409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 53E0 7E20 @@ -505623,7 +545164,7 @@ ENCODING 39410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7AA0 52A0 7AA0 @@ -505641,7 +545182,7 @@ ENCODING 39411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F060 ADC0 F440 @@ -505659,7 +545200,7 @@ ENCODING 39412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F860 A040 FFE0 @@ -505677,7 +545218,7 @@ ENCODING 39413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A280 FEE0 @@ -505695,7 +545236,7 @@ ENCODING 39414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A420 F7E0 @@ -505713,7 +545254,7 @@ ENCODING 39415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7880 @@ -505731,7 +545272,7 @@ ENCODING 39416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5040 7BC0 @@ -505749,7 +545290,7 @@ ENCODING 39417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 A120 FFE0 @@ -505767,7 +545308,7 @@ ENCODING 39418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7A20 @@ -505785,7 +545326,7 @@ ENCODING 39419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A220 FBE0 @@ -505803,7 +545344,7 @@ ENCODING 39420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F980 A240 FC20 @@ -505821,7 +545362,7 @@ ENCODING 39421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 5120 79E0 @@ -505839,7 +545380,7 @@ ENCODING 39422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 A280 FFC0 @@ -505857,7 +545398,7 @@ ENCODING 39423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5240 7FE0 @@ -505875,7 +545416,7 @@ ENCODING 39424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F180 A6C0 F2A0 @@ -505893,7 +545434,7 @@ ENCODING 39425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7AA0 @@ -505911,7 +545452,7 @@ ENCODING 39426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5080 7BE0 @@ -505929,7 +545470,7 @@ ENCODING 39427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 5240 7FE0 @@ -505947,7 +545488,7 @@ ENCODING 39428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DC0 5040 7BC0 @@ -505965,7 +545506,7 @@ ENCODING 39429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A280 F3E0 @@ -505983,7 +545524,7 @@ ENCODING 39430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A520 F7E0 @@ -506001,7 +545542,7 @@ ENCODING 39431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 5140 7A20 @@ -506019,7 +545560,7 @@ ENCODING 39432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F120 A240 F7E0 @@ -506037,7 +545578,7 @@ ENCODING 39433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A220 F3E0 @@ -506055,7 +545596,7 @@ ENCODING 39434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 53E0 7D20 @@ -506073,7 +545614,7 @@ ENCODING 39435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 F100 @@ -506091,7 +545632,7 @@ ENCODING 39436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 A7E0 F420 @@ -506109,7 +545650,7 @@ ENCODING 39437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A520 F7E0 @@ -506127,7 +545668,7 @@ ENCODING 39438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 57E0 7980 @@ -506145,7 +545686,7 @@ ENCODING 39439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A40 5240 7FE0 @@ -506163,7 +545704,7 @@ ENCODING 39440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A100 F280 @@ -506181,7 +545722,7 @@ ENCODING 39441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 56E0 7A80 @@ -506199,7 +545740,7 @@ ENCODING 39442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A240 F180 @@ -506217,7 +545758,7 @@ ENCODING 39443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A280 F440 @@ -506235,7 +545776,7 @@ ENCODING 39444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5240 7BC0 @@ -506253,7 +545794,7 @@ ENCODING 39445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5280 7FE0 @@ -506271,7 +545812,7 @@ ENCODING 39446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 53E0 FD40 @@ -506289,7 +545830,7 @@ ENCODING 39447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7A80 4BC0 @@ -506307,7 +545848,7 @@ ENCODING 39448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 A3E0 F560 @@ -506325,7 +545866,7 @@ ENCODING 39449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 F420 @@ -506343,7 +545884,7 @@ ENCODING 39450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 A280 F7E0 @@ -506361,7 +545902,7 @@ ENCODING 39451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F780 A0A0 FEC0 @@ -506379,7 +545920,7 @@ ENCODING 39452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 53C0 7A40 @@ -506397,7 +545938,7 @@ ENCODING 39453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 52A0 7BE0 @@ -506415,7 +545956,7 @@ ENCODING 39454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A080 F3E0 @@ -506433,7 +545974,7 @@ ENCODING 39455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A280 F440 @@ -506451,7 +545992,7 @@ ENCODING 39456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 5240 7BC0 @@ -506469,7 +546010,7 @@ ENCODING 39457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 A7C0 F440 @@ -506487,7 +546028,7 @@ ENCODING 39458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F760 A520 F520 @@ -506505,7 +546046,7 @@ ENCODING 39459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B60 52A0 7B60 @@ -506523,7 +546064,7 @@ ENCODING 39460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F40 5580 7AA0 @@ -506541,7 +546082,7 @@ ENCODING 39461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 5140 7FE0 @@ -506559,7 +546100,7 @@ ENCODING 39462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 52A0 7BE0 @@ -506577,7 +546118,7 @@ ENCODING 39463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A440 F740 @@ -506595,7 +546136,7 @@ ENCODING 39464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D20 52C0 7BE0 @@ -506613,7 +546154,7 @@ ENCODING 39465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 57E0 7D20 @@ -506631,7 +546172,7 @@ ENCODING 39466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7980 52E0 7AA0 @@ -506649,7 +546190,7 @@ ENCODING 39467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9220 @@ -506667,7 +546208,7 @@ ENCODING 39468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A100 FFE0 @@ -506685,7 +546226,7 @@ ENCODING 39469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F5C0 A500 DFE0 @@ -506703,7 +546244,7 @@ ENCODING 39470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A8A0 FAA0 @@ -506721,7 +546262,7 @@ ENCODING 39471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A7E0 F240 @@ -506739,7 +546280,7 @@ ENCODING 39472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E540 AFE0 A200 @@ -506757,7 +546298,7 @@ ENCODING 39473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 57A0 7AA0 @@ -506775,7 +546316,7 @@ ENCODING 39474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 53E0 7940 @@ -506793,7 +546334,7 @@ ENCODING 39475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A280 FBE0 @@ -506811,7 +546352,7 @@ ENCODING 39476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 5220 7BE0 @@ -506829,7 +546370,7 @@ ENCODING 39477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A480 F5E0 @@ -506847,7 +546388,7 @@ ENCODING 39478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A00 53E0 7EA0 @@ -506865,7 +546406,7 @@ ENCODING 39479 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 52A0 7940 @@ -506883,7 +546424,7 @@ ENCODING 39480 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 53E0 7A20 @@ -506901,7 +546442,7 @@ ENCODING 39481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 57E0 7940 @@ -506919,7 +546460,7 @@ ENCODING 39482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 5140 @@ -506937,7 +546478,7 @@ ENCODING 39483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 57E0 7BA0 @@ -506955,7 +546496,7 @@ ENCODING 39484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 AFE0 FA80 @@ -506973,7 +546514,7 @@ ENCODING 39485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5120 7DA0 @@ -506991,7 +546532,7 @@ ENCODING 39486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 52A0 7BE0 @@ -507009,7 +546550,7 @@ ENCODING 39487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 53E0 7940 @@ -507027,7 +546568,7 @@ ENCODING 39488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -507045,7 +546586,7 @@ ENCODING 39489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 2140 @@ -507063,7 +546604,7 @@ ENCODING 39490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 A7C0 F440 @@ -507081,7 +546622,7 @@ ENCODING 39491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A280 FFE0 @@ -507099,7 +546640,7 @@ ENCODING 39492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7E0 F560 @@ -507117,7 +546658,7 @@ ENCODING 39493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5400 7DC0 @@ -507135,7 +546676,7 @@ ENCODING 39494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A540 F7C0 @@ -507153,7 +546694,7 @@ ENCODING 39495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 A940 @@ -507171,7 +546712,7 @@ ENCODING 39496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 A280 F7E0 @@ -507189,7 +546730,7 @@ ENCODING 39497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 A100 F7E0 @@ -507207,7 +546748,7 @@ ENCODING 39498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 A7E0 FA80 @@ -507225,7 +546766,7 @@ ENCODING 39499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F6A0 A2C0 F6A0 @@ -507243,7 +546784,7 @@ ENCODING 39500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 A7C0 F140 @@ -507261,7 +546802,7 @@ ENCODING 39501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 53E0 7880 @@ -507279,7 +546820,7 @@ ENCODING 39502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CA0 52C0 7FE0 @@ -507297,7 +546838,7 @@ ENCODING 39503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A420 F7E0 @@ -507315,7 +546856,7 @@ ENCODING 39504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F480 AF80 FAE0 @@ -507333,7 +546874,7 @@ ENCODING 39505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A280 FEE0 @@ -507351,7 +546892,7 @@ ENCODING 39506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 52A0 7BE0 @@ -507369,7 +546910,7 @@ ENCODING 39507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F280 AFE0 F920 @@ -507387,7 +546928,7 @@ ENCODING 39508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A280 FFE0 @@ -507405,7 +546946,7 @@ ENCODING 39509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 A100 F7E0 @@ -507423,7 +546964,7 @@ ENCODING 39510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 52A0 7FE0 @@ -507441,7 +546982,7 @@ ENCODING 39511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 5280 7C40 @@ -507459,7 +547000,7 @@ ENCODING 39512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1000 @@ -507477,7 +547018,7 @@ ENCODING 39513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 AFE0 FBA0 @@ -507495,7 +547036,7 @@ ENCODING 39514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 53E0 FD40 @@ -507513,7 +547054,7 @@ ENCODING 39515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AAA0 FFE0 @@ -507531,7 +547072,7 @@ ENCODING 39516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D40 5360 7FE0 @@ -507549,7 +547090,7 @@ ENCODING 39517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 57C0 7900 @@ -507567,7 +547108,7 @@ ENCODING 39518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 57E0 7C20 @@ -507585,7 +547126,7 @@ ENCODING 39519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A520 F740 @@ -507603,7 +547144,7 @@ ENCODING 39520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 AFE0 F240 @@ -507621,7 +547162,7 @@ ENCODING 39521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 7E00 2BC0 @@ -507639,7 +547180,7 @@ ENCODING 39522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F1C0 A100 F7E0 @@ -507657,7 +547198,7 @@ ENCODING 39523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F540 A7C0 F200 @@ -507675,7 +547216,7 @@ ENCODING 39524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 57E0 7DA0 @@ -507693,7 +547234,7 @@ ENCODING 39525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F2A0 AEC0 F280 @@ -507711,7 +547252,7 @@ ENCODING 39526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 A100 FFE0 @@ -507729,7 +547270,7 @@ ENCODING 39527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 AF80 FAE0 @@ -507747,7 +547288,7 @@ ENCODING 39528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F520 A7E0 F280 @@ -507765,7 +547306,7 @@ ENCODING 39529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 5240 7FE0 @@ -507783,7 +547324,7 @@ ENCODING 39530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 A000 FEE0 @@ -507801,7 +547342,7 @@ ENCODING 39531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2400 3F80 @@ -507819,7 +547360,7 @@ ENCODING 39532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 0080 1080 @@ -507837,7 +547378,7 @@ ENCODING 39533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1220 5220 @@ -507855,7 +547396,7 @@ ENCODING 39534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 5100 @@ -507873,7 +547414,7 @@ ENCODING 39535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F220 12A0 52A0 @@ -507891,7 +547432,7 @@ ENCODING 39536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 12A0 52E0 @@ -507909,7 +547450,7 @@ ENCODING 39537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 1200 5220 @@ -507927,7 +547468,7 @@ ENCODING 39538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 1220 5220 @@ -507945,7 +547486,7 @@ ENCODING 39539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F440 1280 5100 @@ -507963,7 +547504,7 @@ ENCODING 39540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1080 53E0 @@ -507981,7 +547522,7 @@ ENCODING 39541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 1240 5240 @@ -507999,7 +547540,7 @@ ENCODING 39542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 1080 57E0 @@ -508017,7 +547558,7 @@ ENCODING 39543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E000 27E0 A520 @@ -508035,7 +547576,7 @@ ENCODING 39544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 1240 5240 @@ -508053,7 +547594,7 @@ ENCODING 39545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 1200 53E0 @@ -508071,7 +547612,7 @@ ENCODING 39546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 11E0 5240 @@ -508089,7 +547630,7 @@ ENCODING 39547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1080 57E0 @@ -508107,7 +547648,7 @@ ENCODING 39548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 17E0 5420 @@ -508125,7 +547666,7 @@ ENCODING 39549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FE40 5180 @@ -508143,7 +547684,7 @@ ENCODING 39550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FDE0 2520 @@ -508161,7 +547702,7 @@ ENCODING 39551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1280 5100 @@ -508179,7 +547720,7 @@ ENCODING 39552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1140 5220 @@ -508197,7 +547738,7 @@ ENCODING 39553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 17E0 5240 @@ -508215,7 +547756,7 @@ ENCODING 39554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -508233,7 +547774,7 @@ ENCODING 39555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3E0 52A0 52A0 @@ -508251,7 +547792,7 @@ ENCODING 39556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F0C0 1700 5100 @@ -508269,7 +547810,7 @@ ENCODING 39557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F180 12A0 56C0 @@ -508287,7 +547828,7 @@ ENCODING 39558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 13C0 5640 @@ -508305,7 +547846,7 @@ ENCODING 39559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 17E0 5100 @@ -508323,7 +547864,7 @@ ENCODING 39560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F220 1140 57E0 @@ -508341,7 +547882,7 @@ ENCODING 39561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 1080 1FC0 @@ -508359,7 +547900,7 @@ ENCODING 39562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2000 AEE0 @@ -508377,7 +547918,7 @@ ENCODING 39563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 13E0 52A0 @@ -508395,7 +547936,7 @@ ENCODING 39564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1100 5280 @@ -508413,7 +547954,7 @@ ENCODING 39565 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 5440 @@ -508431,7 +547972,7 @@ ENCODING 39566 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 5040 53C0 @@ -508449,7 +547990,7 @@ ENCODING 39567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1240 57E0 @@ -508467,7 +548008,7 @@ ENCODING 39568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 17E0 5240 @@ -508485,7 +548026,7 @@ ENCODING 39569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 17E0 5140 @@ -508503,7 +548044,7 @@ ENCODING 39570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1540 57C0 @@ -508521,7 +548062,7 @@ ENCODING 39571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F300 1280 53E0 @@ -508539,7 +548080,7 @@ ENCODING 39572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 1FE0 5820 @@ -508557,7 +548098,7 @@ ENCODING 39573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E100 A7C0 A140 @@ -508575,7 +548116,7 @@ ENCODING 39574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F240 17A0 5100 @@ -508593,7 +548134,7 @@ ENCODING 39575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 17E0 5420 @@ -508611,7 +548152,7 @@ ENCODING 39576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 75C0 5500 6FE0 @@ -508629,7 +548170,7 @@ ENCODING 39577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF40 15A0 5240 @@ -508647,7 +548188,7 @@ ENCODING 39578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1540 5280 @@ -508665,7 +548206,7 @@ ENCODING 39579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 57E0 FA40 @@ -508683,7 +548224,7 @@ ENCODING 39580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7DE0 1340 @@ -508701,7 +548242,7 @@ ENCODING 39581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E200 2DE0 A8A0 @@ -508719,7 +548260,7 @@ ENCODING 39582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -508737,7 +548278,7 @@ ENCODING 39583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP E080 27E0 A420 @@ -508755,7 +548296,7 @@ ENCODING 39584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EFE0 2280 AFE0 @@ -508773,7 +548314,7 @@ ENCODING 39585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 14A0 57E0 @@ -508791,7 +548332,7 @@ ENCODING 39586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 17E0 5520 @@ -508809,7 +548350,7 @@ ENCODING 39587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1420 57E0 @@ -508827,7 +548368,7 @@ ENCODING 39588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 1520 57A0 @@ -508845,7 +548386,7 @@ ENCODING 39589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F760 1140 5760 @@ -508863,7 +548404,7 @@ ENCODING 39590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7C0 1100 5FE0 @@ -508881,7 +548422,7 @@ ENCODING 39591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F080 17E0 55A0 @@ -508899,7 +548440,7 @@ ENCODING 39592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2080 3C80 @@ -508917,7 +548458,7 @@ ENCODING 39593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 6900 5900 @@ -508935,7 +548476,7 @@ ENCODING 39594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7B80 6A80 5A80 @@ -508953,7 +548494,7 @@ ENCODING 39595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4900 6BC0 @@ -508971,7 +548512,7 @@ ENCODING 39596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7800 6BC0 5880 @@ -508989,7 +548530,7 @@ ENCODING 39597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 6880 @@ -509007,7 +548548,7 @@ ENCODING 39598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 6980 5940 @@ -509025,7 +548566,7 @@ ENCODING 39599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4880 6BE0 @@ -509043,7 +548584,7 @@ ENCODING 39600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 4940 6940 @@ -509061,7 +548602,7 @@ ENCODING 39601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4940 6A20 @@ -509079,7 +548620,7 @@ ENCODING 39602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 6900 5BE0 @@ -509097,7 +548638,7 @@ ENCODING 39603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6AA0 @@ -509115,7 +548656,7 @@ ENCODING 39604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4940 6940 @@ -509133,7 +548674,7 @@ ENCODING 39605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6880 5BE0 @@ -509151,7 +548692,7 @@ ENCODING 39606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 6A80 @@ -509169,7 +548710,7 @@ ENCODING 39607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4880 6BE0 @@ -509187,7 +548728,7 @@ ENCODING 39608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6900 @@ -509205,7 +548746,7 @@ ENCODING 39609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6940 @@ -509223,7 +548764,7 @@ ENCODING 39610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 4B80 6A00 @@ -509241,7 +548782,7 @@ ENCODING 39611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6940 @@ -509259,7 +548800,7 @@ ENCODING 39612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 49C0 6B40 @@ -509277,7 +548818,7 @@ ENCODING 39613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 6B20 5940 @@ -509295,7 +548836,7 @@ ENCODING 39614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4880 6BE0 @@ -509313,7 +548854,7 @@ ENCODING 39615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 4940 6BE0 @@ -509331,7 +548872,7 @@ ENCODING 39616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6AA0 @@ -509349,7 +548890,7 @@ ENCODING 39617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 6BE0 @@ -509367,7 +548908,7 @@ ENCODING 39618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6B20 @@ -509385,7 +548926,7 @@ ENCODING 39619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 6AA0 5BE0 @@ -509403,7 +548944,7 @@ ENCODING 39620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6BE0 5900 @@ -509421,7 +548962,7 @@ ENCODING 39621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7AA0 49C0 6BE0 @@ -509439,7 +548980,7 @@ ENCODING 39622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78A0 4FE0 6AA0 @@ -509457,7 +548998,7 @@ ENCODING 39623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4FE0 6940 @@ -509475,7 +549016,7 @@ ENCODING 39624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6BE0 5A40 @@ -509493,7 +549034,7 @@ ENCODING 39625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 6BE0 5D20 @@ -509511,7 +549052,7 @@ ENCODING 39626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A20 4940 6BE0 @@ -509529,7 +549070,7 @@ ENCODING 39627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6AA0 @@ -509547,7 +549088,7 @@ ENCODING 39628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4FE0 6820 @@ -509565,7 +549106,7 @@ ENCODING 39629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4FE0 6A40 @@ -509583,7 +549124,7 @@ ENCODING 39630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 6DA0 5B60 @@ -509601,7 +549142,7 @@ ENCODING 39631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6AA0 @@ -509619,7 +549160,7 @@ ENCODING 39632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6880 @@ -509637,7 +549178,7 @@ ENCODING 39633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4AA0 6BE0 @@ -509655,7 +549196,7 @@ ENCODING 39634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 4FE0 6940 @@ -509673,7 +549214,7 @@ ENCODING 39635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6A40 @@ -509691,7 +549232,7 @@ ENCODING 39636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7940 6BE0 5AA0 @@ -509709,7 +549250,7 @@ ENCODING 39637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 4BE0 6A20 @@ -509727,7 +549268,7 @@ ENCODING 39638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4EA0 6BC0 @@ -509745,7 +549286,7 @@ ENCODING 39639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 79C0 6900 5FE0 @@ -509763,7 +549304,7 @@ ENCODING 39640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0000 @@ -509781,7 +549322,7 @@ ENCODING 39641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -509799,7 +549340,7 @@ ENCODING 39642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 F900 57E0 @@ -509817,7 +549358,7 @@ ENCODING 39643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 0440 @@ -509835,7 +549376,7 @@ ENCODING 39644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FA20 53E0 @@ -509853,7 +549394,7 @@ ENCODING 39645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FAE0 0740 @@ -509871,7 +549412,7 @@ ENCODING 39646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FA40 03C0 @@ -509889,7 +549430,7 @@ ENCODING 39647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7E40 4080 7D00 @@ -509907,7 +549448,7 @@ ENCODING 39648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5300 60C0 @@ -509925,7 +549466,7 @@ ENCODING 39649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -509943,7 +549484,7 @@ ENCODING 39650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 5300 68C0 @@ -509961,7 +549502,7 @@ ENCODING 39651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -509979,7 +549520,7 @@ ENCODING 39652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5300 68C0 @@ -509996,8 +549537,8 @@ STARTCHAR U_9AE5 ENCODING 39653 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP 78C0 5300 68C0 @@ -510015,7 +549556,7 @@ ENCODING 39654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510033,7 +549574,7 @@ ENCODING 39655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510051,7 +549592,7 @@ ENCODING 39656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5300 68C0 @@ -510069,7 +549610,7 @@ ENCODING 39657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 78C0 5300 68C0 @@ -510087,7 +549628,7 @@ ENCODING 39658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 5300 68C0 @@ -510104,26 +549645,26 @@ STARTCHAR U_9AEB ENCODING 39659 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3E60 -2180 -3C60 -2180 -7E60 -1480 -7FC0 -1080 -7FC0 -1040 -1FC0 +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 +BITMAP 7C60 4180 7860 @@ -510141,7 +549682,7 @@ ENCODING 39661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510159,7 +549700,7 @@ ENCODING 39662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510177,7 +549718,7 @@ ENCODING 39663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4980 5060 @@ -510195,7 +549736,7 @@ ENCODING 39664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5340 6880 @@ -510213,7 +549754,7 @@ ENCODING 39665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 78C0 @@ -510231,7 +549772,7 @@ ENCODING 39666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3C60 2180 FC60 @@ -510249,7 +549790,7 @@ ENCODING 39667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510267,7 +549808,7 @@ ENCODING 39668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5340 6880 @@ -510285,7 +549826,7 @@ ENCODING 39669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5180 6820 @@ -510303,7 +549844,7 @@ ENCODING 39670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510321,7 +549862,7 @@ ENCODING 39671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510339,7 +549880,7 @@ ENCODING 39672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5180 6840 @@ -510357,7 +549898,7 @@ ENCODING 39673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510375,7 +549916,7 @@ ENCODING 39674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510393,7 +549934,7 @@ ENCODING 39675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510411,7 +549952,7 @@ ENCODING 39676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -510429,7 +549970,7 @@ ENCODING 39677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510447,7 +549988,7 @@ ENCODING 39678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510465,7 +550006,7 @@ ENCODING 39679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5180 6840 @@ -510483,7 +550024,7 @@ ENCODING 39680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5180 FC40 @@ -510501,7 +550042,7 @@ ENCODING 39681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510519,7 +550060,7 @@ ENCODING 39682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7840 51A0 6840 @@ -510537,7 +550078,7 @@ ENCODING 39683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510555,7 +550096,7 @@ ENCODING 39684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510573,7 +550114,7 @@ ENCODING 39685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510591,7 +550132,7 @@ ENCODING 39686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510609,7 +550150,7 @@ ENCODING 39687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 51A0 6840 @@ -510627,7 +550168,7 @@ ENCODING 39688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510645,7 +550186,7 @@ ENCODING 39689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5380 6840 @@ -510663,7 +550204,7 @@ ENCODING 39690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -510681,7 +550222,7 @@ ENCODING 39691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -510699,7 +550240,7 @@ ENCODING 39692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510717,7 +550258,7 @@ ENCODING 39693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510735,7 +550276,7 @@ ENCODING 39694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510753,7 +550294,7 @@ ENCODING 39695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510771,7 +550312,7 @@ ENCODING 39696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510789,7 +550330,7 @@ ENCODING 39697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510807,7 +550348,7 @@ ENCODING 39698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 FC60 @@ -510825,7 +550366,7 @@ ENCODING 39699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 4180 7860 @@ -510843,7 +550384,7 @@ ENCODING 39700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5340 6880 @@ -510861,7 +550402,7 @@ ENCODING 39701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -510879,7 +550420,7 @@ ENCODING 39702 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -510897,7 +550438,7 @@ ENCODING 39703 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -510915,7 +550456,7 @@ ENCODING 39704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -510933,7 +550474,7 @@ ENCODING 39705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -510951,7 +550492,7 @@ ENCODING 39706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -510969,7 +550510,7 @@ ENCODING 39707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C40 5580 6840 @@ -510987,7 +550528,7 @@ ENCODING 39708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C60 5180 FC60 @@ -511005,7 +550546,7 @@ ENCODING 39709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7880 5340 FCA0 @@ -511023,7 +550564,7 @@ ENCODING 39710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -511041,7 +550582,7 @@ ENCODING 39711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -511059,7 +550600,7 @@ ENCODING 39712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -511077,7 +550618,7 @@ ENCODING 39713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7860 5380 FC60 @@ -511095,7 +550636,7 @@ ENCODING 39714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCC0 @@ -511113,7 +550654,7 @@ ENCODING 39715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -511131,7 +550672,7 @@ ENCODING 39716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7CC0 4300 FCE0 @@ -511149,7 +550690,7 @@ ENCODING 39717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511167,7 +550708,7 @@ ENCODING 39718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511185,7 +550726,7 @@ ENCODING 39719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511203,7 +550744,7 @@ ENCODING 39720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511221,7 +550762,7 @@ ENCODING 39721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511239,7 +550780,7 @@ ENCODING 39722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511257,7 +550798,7 @@ ENCODING 39723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511275,7 +550816,7 @@ ENCODING 39724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511293,7 +550834,7 @@ ENCODING 39725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511311,7 +550852,7 @@ ENCODING 39726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP BBA0 9120 BBA0 @@ -511328,26 +550869,26 @@ STARTCHAR U_9B2F ENCODING 39727 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -5540 -6A40 -56C0 -5D40 -6240 -7FC0 -2000 -2380 -3C40 -2040 -1FC0 +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 +BITMAP 2A80 F5E0 6AC0 @@ -511365,7 +550906,7 @@ ENCODING 39729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4E40 F5E0 6EC0 @@ -511383,7 +550924,7 @@ ENCODING 39730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 0000 3F80 @@ -511401,7 +550942,7 @@ ENCODING 39731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 07C0 0400 7FE0 @@ -511419,7 +550960,7 @@ ENCODING 39732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8A0 03E0 7080 @@ -511436,26 +550977,26 @@ STARTCHAR U_9B35 ENCODING 39733 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FC0 -5280 -7FE0 -31A0 -5AA0 -7FE0 -2080 -7FC0 -5140 -7FC0 -45C0 +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 +BITMAP 27C0 7540 2540 @@ -511473,7 +551014,7 @@ ENCODING 39735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF60 02A0 7B60 @@ -511491,7 +551032,7 @@ ENCODING 39736 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 76A0 55A0 @@ -511509,7 +551050,7 @@ ENCODING 39737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FAC0 2340 @@ -511527,7 +551068,7 @@ ENCODING 39738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 07E0 7A40 @@ -511545,7 +551086,7 @@ ENCODING 39739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP D560 4E20 DF60 @@ -511563,7 +551104,7 @@ ENCODING 39740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7F80 4880 @@ -511581,7 +551122,7 @@ ENCODING 39741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7C40 5480 @@ -511599,7 +551140,7 @@ ENCODING 39742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 ABE0 @@ -511617,7 +551158,7 @@ ENCODING 39743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 F9C0 A900 @@ -511635,7 +551176,7 @@ ENCODING 39744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 A980 @@ -511653,7 +551194,7 @@ ENCODING 39745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2040 FA40 A940 @@ -511671,7 +551212,7 @@ ENCODING 39746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 77C0 0540 @@ -511689,7 +551230,7 @@ ENCODING 39747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 F920 ABE0 @@ -511707,7 +551248,7 @@ ENCODING 39748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 47C0 F540 @@ -511725,7 +551266,7 @@ ENCODING 39749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F880 ABE0 @@ -511743,7 +551284,7 @@ ENCODING 39750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 ABE0 @@ -511761,7 +551302,7 @@ ENCODING 39751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8500 FFE0 @@ -511779,7 +551320,7 @@ ENCODING 39752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 F9C0 A880 @@ -511797,7 +551338,7 @@ ENCODING 39753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F940 AFE0 @@ -511815,7 +551356,7 @@ ENCODING 39754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 F8A0 AFE0 @@ -511833,7 +551374,7 @@ ENCODING 39755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2300 FA80 ABE0 @@ -511851,7 +551392,7 @@ ENCODING 39756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 AA40 @@ -511869,7 +551410,7 @@ ENCODING 39757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FEA0 AD20 @@ -511887,7 +551428,7 @@ ENCODING 39758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 F880 AFE0 @@ -511905,7 +551446,7 @@ ENCODING 39759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 27C0 FD40 @@ -511923,7 +551464,7 @@ ENCODING 39760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 FFE0 AA80 @@ -511941,7 +551482,7 @@ ENCODING 39761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 AAA0 @@ -511959,7 +551500,7 @@ ENCODING 39762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 FA80 AFE0 @@ -511977,7 +551518,7 @@ ENCODING 39763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 FAA0 ABE0 @@ -511995,7 +551536,7 @@ ENCODING 39764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -512013,7 +551554,7 @@ ENCODING 39765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 FBA0 AD40 @@ -512031,7 +551572,7 @@ ENCODING 39766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 F100 D7E0 @@ -512049,7 +551590,7 @@ ENCODING 39767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FFC0 2540 @@ -512067,7 +551608,7 @@ ENCODING 39768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4C0 BCA0 @@ -512085,7 +551626,7 @@ ENCODING 39769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 BF00 55E0 @@ -512103,7 +551644,7 @@ ENCODING 39770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F00 2200 @@ -512121,7 +551662,7 @@ ENCODING 39771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 9120 @@ -512139,7 +551680,7 @@ ENCODING 39772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9100 @@ -512157,7 +551698,7 @@ ENCODING 39773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2020 3C20 48A0 @@ -512175,7 +551716,7 @@ ENCODING 39774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7B00 9080 @@ -512193,7 +551734,7 @@ ENCODING 39775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9080 @@ -512211,7 +551752,7 @@ ENCODING 39776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 7F00 9100 @@ -512229,7 +551770,7 @@ ENCODING 39777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 93E0 @@ -512247,7 +551788,7 @@ ENCODING 39778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 9040 @@ -512265,7 +551806,7 @@ ENCODING 39779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 9280 @@ -512283,7 +551824,7 @@ ENCODING 39780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 92A0 @@ -512301,7 +551842,7 @@ ENCODING 39781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 9240 @@ -512319,7 +551860,7 @@ ENCODING 39782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 90C0 @@ -512337,7 +551878,7 @@ ENCODING 39783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -512355,7 +551896,7 @@ ENCODING 39784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -512373,7 +551914,7 @@ ENCODING 39785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 93E0 @@ -512391,7 +551932,7 @@ ENCODING 39786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9280 @@ -512409,7 +551950,7 @@ ENCODING 39787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 97E0 @@ -512427,7 +551968,7 @@ ENCODING 39788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7B80 9200 @@ -512445,7 +551986,7 @@ ENCODING 39789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 9000 @@ -512463,7 +552004,7 @@ ENCODING 39790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 9280 @@ -512481,7 +552022,7 @@ ENCODING 39791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2200 7FC0 @@ -512499,7 +552040,7 @@ ENCODING 39792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -512517,7 +552058,7 @@ ENCODING 39793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7900 9100 @@ -512535,7 +552076,7 @@ ENCODING 39794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 93E0 @@ -512553,7 +552094,7 @@ ENCODING 39795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9080 @@ -512571,7 +552112,7 @@ ENCODING 39796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -512589,7 +552130,7 @@ ENCODING 39797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 9240 @@ -512607,7 +552148,7 @@ ENCODING 39798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -512625,7 +552166,7 @@ ENCODING 39799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7940 9120 @@ -512643,7 +552184,7 @@ ENCODING 39800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7A40 9240 @@ -512661,7 +552202,7 @@ ENCODING 39801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 78C0 9700 @@ -512679,7 +552220,7 @@ ENCODING 39802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 77E0 9020 @@ -512697,7 +552238,7 @@ ENCODING 39803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 92A0 @@ -512715,7 +552256,7 @@ ENCODING 39804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -512733,7 +552274,7 @@ ENCODING 39805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7A40 9240 @@ -512751,7 +552292,7 @@ ENCODING 39806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 9080 @@ -512769,7 +552310,7 @@ ENCODING 39807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9280 @@ -512787,7 +552328,7 @@ ENCODING 39808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -512805,7 +552346,7 @@ ENCODING 39809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A40 9200 @@ -512823,7 +552364,7 @@ ENCODING 39810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9220 @@ -512841,7 +552382,7 @@ ENCODING 39811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 77E0 9100 @@ -512859,7 +552400,7 @@ ENCODING 39812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 97E0 @@ -512877,7 +552418,7 @@ ENCODING 39813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 78C0 9240 @@ -512895,7 +552436,7 @@ ENCODING 39814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1240 5F80 5220 @@ -512913,7 +552454,7 @@ ENCODING 39815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -512931,7 +552472,7 @@ ENCODING 39816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 93E0 @@ -512949,7 +552490,7 @@ ENCODING 39817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9120 @@ -512967,7 +552508,7 @@ ENCODING 39818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7900 93E0 @@ -512985,7 +552526,7 @@ ENCODING 39819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9080 @@ -513003,7 +552544,7 @@ ENCODING 39820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7900 97E0 @@ -513021,7 +552562,7 @@ ENCODING 39821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -513039,7 +552580,7 @@ ENCODING 39822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9100 @@ -513057,7 +552598,7 @@ ENCODING 39823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9280 @@ -513075,7 +552616,7 @@ ENCODING 39824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9200 @@ -513093,7 +552634,7 @@ ENCODING 39825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 93E0 @@ -513111,7 +552652,7 @@ ENCODING 39826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7940 9240 @@ -513129,7 +552670,7 @@ ENCODING 39827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A00 93E0 @@ -513147,7 +552688,7 @@ ENCODING 39828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9200 @@ -513165,7 +552706,7 @@ ENCODING 39829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -513183,7 +552724,7 @@ ENCODING 39830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 77E0 9100 @@ -513201,7 +552742,7 @@ ENCODING 39831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BC0 9440 @@ -513219,7 +552760,7 @@ ENCODING 39832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7AC0 92A0 @@ -513237,7 +552778,7 @@ ENCODING 39833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7F60 9120 @@ -513255,7 +552796,7 @@ ENCODING 39834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -513273,7 +552814,7 @@ ENCODING 39835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 90E0 @@ -513291,7 +552832,7 @@ ENCODING 39836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7B80 9200 @@ -513309,7 +552850,7 @@ ENCODING 39837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1480 7FC0 0400 @@ -513327,7 +552868,7 @@ ENCODING 39838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 9100 @@ -513345,7 +552886,7 @@ ENCODING 39839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7900 97E0 @@ -513363,7 +552904,7 @@ ENCODING 39840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9240 @@ -513381,7 +552922,7 @@ ENCODING 39841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7AA0 96A0 @@ -513399,7 +552940,7 @@ ENCODING 39842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 93E0 @@ -513417,7 +552958,7 @@ ENCODING 39843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7AE0 92A0 @@ -513435,7 +552976,7 @@ ENCODING 39844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F20 10A0 1EA0 @@ -513453,7 +552994,7 @@ ENCODING 39845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9240 @@ -513471,7 +553012,7 @@ ENCODING 39846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7820 ABA0 @@ -513489,7 +553030,7 @@ ENCODING 39847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9080 @@ -513507,7 +553048,7 @@ ENCODING 39848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7A60 9380 @@ -513525,7 +553066,7 @@ ENCODING 39849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4420 7A40 97E0 @@ -513543,7 +553084,7 @@ ENCODING 39850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 97E0 @@ -513561,7 +553102,7 @@ ENCODING 39851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -513579,7 +553120,7 @@ ENCODING 39852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 9240 @@ -513597,7 +553138,7 @@ ENCODING 39853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -513615,7 +553156,7 @@ ENCODING 39854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 93E0 @@ -513633,7 +553174,7 @@ ENCODING 39855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7980 9240 @@ -513651,7 +553192,7 @@ ENCODING 39856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9220 @@ -513669,7 +553210,7 @@ ENCODING 39857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 9120 @@ -513687,7 +553228,7 @@ ENCODING 39858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7AC0 92A0 @@ -513705,7 +553246,7 @@ ENCODING 39859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9140 @@ -513723,7 +553264,7 @@ ENCODING 39860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 9280 @@ -513741,7 +553282,7 @@ ENCODING 39861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 93E0 @@ -513759,7 +553300,7 @@ ENCODING 39862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7940 97E0 @@ -513777,7 +553318,7 @@ ENCODING 39863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 77C0 9140 @@ -513795,7 +553336,7 @@ ENCODING 39864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 39E0 5240 @@ -513813,7 +553354,7 @@ ENCODING 39865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7AA0 91C0 @@ -513831,7 +553372,7 @@ ENCODING 39866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3F80 0400 @@ -513849,7 +553390,7 @@ ENCODING 39867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7A40 97E0 @@ -513867,7 +553408,7 @@ ENCODING 39868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7840 93C0 @@ -513885,7 +553426,7 @@ ENCODING 39869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7940 9220 @@ -513903,7 +553444,7 @@ ENCODING 39870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7E00 94A0 @@ -513921,7 +553462,7 @@ ENCODING 39871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7540 9540 @@ -513939,7 +553480,7 @@ ENCODING 39872 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7F80 9100 @@ -513957,7 +553498,7 @@ ENCODING 39873 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 93E0 @@ -513975,7 +553516,7 @@ ENCODING 39874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7880 9080 @@ -513993,7 +553534,7 @@ ENCODING 39875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7900 97C0 @@ -514011,7 +553552,7 @@ ENCODING 39876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7920 97E0 @@ -514029,7 +553570,7 @@ ENCODING 39877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4660 7BC0 9240 @@ -514047,7 +553588,7 @@ ENCODING 39878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 70A0 97E0 @@ -514065,7 +553606,7 @@ ENCODING 39879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9420 @@ -514083,7 +553624,7 @@ ENCODING 39880 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23E0 4640 @@ -514101,7 +553642,7 @@ ENCODING 39881 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 92A0 @@ -514119,7 +553660,7 @@ ENCODING 39882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 A920 4180 @@ -514137,7 +553678,7 @@ ENCODING 39883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 7480 90C0 @@ -514155,7 +553696,7 @@ ENCODING 39884 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7A80 93E0 @@ -514173,7 +553714,7 @@ ENCODING 39885 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7900 97E0 @@ -514191,7 +553732,7 @@ ENCODING 39886 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 78C0 90A0 @@ -514209,7 +553750,7 @@ ENCODING 39887 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4320 7620 92A0 @@ -514227,7 +553768,7 @@ ENCODING 39888 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 93C0 @@ -514245,7 +553786,7 @@ ENCODING 39889 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7880 9360 @@ -514263,7 +553804,7 @@ ENCODING 39890 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7940 9080 @@ -514281,7 +553822,7 @@ ENCODING 39891 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9240 @@ -514299,7 +553840,7 @@ ENCODING 39892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7AA0 9540 @@ -514317,7 +553858,7 @@ ENCODING 39893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7A40 97E0 @@ -514335,7 +553876,7 @@ ENCODING 39894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9100 @@ -514353,7 +553894,7 @@ ENCODING 39895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -514371,7 +553912,7 @@ ENCODING 39896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 7B00 9100 @@ -514389,7 +553930,7 @@ ENCODING 39897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9240 @@ -514407,7 +553948,7 @@ ENCODING 39898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7880 97E0 @@ -514425,7 +553966,7 @@ ENCODING 39899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7920 ABA0 @@ -514443,7 +553984,7 @@ ENCODING 39900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9220 @@ -514461,7 +554002,7 @@ ENCODING 39901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 94A0 @@ -514479,7 +554020,7 @@ ENCODING 39902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7840 93C0 @@ -514497,7 +554038,7 @@ ENCODING 39903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9080 @@ -514515,7 +554056,7 @@ ENCODING 39904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -514533,7 +554074,7 @@ ENCODING 39905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 96E0 @@ -514551,7 +554092,7 @@ ENCODING 39906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7EE0 9420 @@ -514569,7 +554110,7 @@ ENCODING 39907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7C40 97C0 @@ -514587,7 +554128,7 @@ ENCODING 39908 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A20 93E0 @@ -514605,7 +554146,7 @@ ENCODING 39909 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9080 @@ -514623,7 +554164,7 @@ ENCODING 39910 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7740 9560 @@ -514641,7 +554182,7 @@ ENCODING 39911 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -514659,7 +554200,7 @@ ENCODING 39912 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9000 @@ -514677,7 +554218,7 @@ ENCODING 39913 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9140 @@ -514695,7 +554236,7 @@ ENCODING 39914 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FC0 9100 @@ -514713,7 +554254,7 @@ ENCODING 39915 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 6A00 ABE0 @@ -514731,7 +554272,7 @@ ENCODING 39916 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 21E0 FEA0 @@ -514749,7 +554290,7 @@ ENCODING 39917 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7840 9080 @@ -514767,7 +554308,7 @@ ENCODING 39918 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 9420 @@ -514785,7 +554326,7 @@ ENCODING 39919 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7220 97A0 @@ -514803,7 +554344,7 @@ ENCODING 39920 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7980 9340 @@ -514821,7 +554362,7 @@ ENCODING 39921 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 7900 97E0 @@ -514839,7 +554380,7 @@ ENCODING 39922 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7A40 90A0 @@ -514857,7 +554398,7 @@ ENCODING 39923 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9200 @@ -514875,7 +554416,7 @@ ENCODING 39924 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 77C0 9040 @@ -514893,7 +554434,7 @@ ENCODING 39925 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 77C0 9100 @@ -514911,7 +554452,7 @@ ENCODING 39926 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7CA0 97E0 @@ -514929,7 +554470,7 @@ ENCODING 39927 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -514947,7 +554488,7 @@ ENCODING 39928 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 97E0 @@ -514965,7 +554506,7 @@ ENCODING 39929 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A20 93E0 @@ -514983,7 +554524,7 @@ ENCODING 39930 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 93E0 @@ -515001,7 +554542,7 @@ ENCODING 39931 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7FA0 9220 @@ -515019,7 +554560,7 @@ ENCODING 39932 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 74A0 9760 @@ -515037,7 +554578,7 @@ ENCODING 39933 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 7AA0 AAA0 @@ -515055,7 +554596,7 @@ ENCODING 39934 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7A80 93E0 @@ -515073,7 +554614,7 @@ ENCODING 39935 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9820 @@ -515091,7 +554632,7 @@ ENCODING 39936 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 7F20 9540 @@ -515109,7 +554650,7 @@ ENCODING 39937 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9220 @@ -515127,7 +554668,7 @@ ENCODING 39938 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 7E20 9AA0 @@ -515145,7 +554686,7 @@ ENCODING 39939 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -515163,7 +554704,7 @@ ENCODING 39940 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 70A0 AFE0 @@ -515181,7 +554722,7 @@ ENCODING 39941 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -515199,7 +554740,7 @@ ENCODING 39942 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7900 93C0 @@ -515217,7 +554758,7 @@ ENCODING 39943 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7A80 97E0 @@ -515235,7 +554776,7 @@ ENCODING 39944 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7FE0 92A0 @@ -515253,7 +554794,7 @@ ENCODING 39945 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9220 @@ -515271,7 +554812,7 @@ ENCODING 39946 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9100 @@ -515289,7 +554830,7 @@ ENCODING 39947 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7D40 95C0 @@ -515307,7 +554848,7 @@ ENCODING 39948 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 97E0 @@ -515325,7 +554866,7 @@ ENCODING 39949 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7E40 9240 @@ -515343,7 +554884,7 @@ ENCODING 39950 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4680 7BE0 92A0 @@ -515361,7 +554902,7 @@ ENCODING 39951 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7800 91C0 @@ -515379,7 +554920,7 @@ ENCODING 39952 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 75A0 97E0 @@ -515397,7 +554938,7 @@ ENCODING 39953 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -515415,7 +554956,7 @@ ENCODING 39954 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9640 @@ -515433,7 +554974,7 @@ ENCODING 39955 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -515451,7 +554992,7 @@ ENCODING 39956 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 78A0 97E0 @@ -515469,7 +555010,7 @@ ENCODING 39957 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 7A20 AA20 @@ -515487,7 +555028,7 @@ ENCODING 39958 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9200 @@ -515505,7 +555046,7 @@ ENCODING 39959 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42E0 7AA0 97A0 @@ -515523,7 +555064,7 @@ ENCODING 39960 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9420 @@ -515541,7 +555082,7 @@ ENCODING 39961 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 97E0 @@ -515559,7 +555100,7 @@ ENCODING 39962 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9420 @@ -515577,7 +555118,7 @@ ENCODING 39963 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -515595,7 +555136,7 @@ ENCODING 39964 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FE0 9280 @@ -515613,7 +555154,7 @@ ENCODING 39965 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9240 @@ -515631,7 +555172,7 @@ ENCODING 39966 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9240 @@ -515649,7 +555190,7 @@ ENCODING 39967 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9280 @@ -515667,7 +555208,7 @@ ENCODING 39968 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7D40 9280 @@ -515685,7 +555226,7 @@ ENCODING 39969 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7AE0 93A0 @@ -515703,7 +555244,7 @@ ENCODING 39970 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A80 93C0 @@ -515721,7 +555262,7 @@ ENCODING 39971 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9A80 @@ -515739,7 +555280,7 @@ ENCODING 39972 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 7E80 9A80 @@ -515757,7 +555298,7 @@ ENCODING 39973 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7AA0 9FE0 @@ -515775,7 +555316,7 @@ ENCODING 39974 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7A80 9000 @@ -515793,7 +555334,7 @@ ENCODING 39975 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EA80 AFC0 A200 @@ -515811,7 +555352,7 @@ ENCODING 39976 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -515829,7 +555370,7 @@ ENCODING 39977 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7BA0 92A0 @@ -515847,7 +555388,7 @@ ENCODING 39978 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 9100 @@ -515865,7 +555406,7 @@ ENCODING 39979 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9420 @@ -515883,7 +555424,7 @@ ENCODING 39980 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 7880 93E0 @@ -515901,7 +555442,7 @@ ENCODING 39981 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FA0 9140 @@ -515919,7 +555460,7 @@ ENCODING 39982 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 9360 @@ -515937,7 +555478,7 @@ ENCODING 39983 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FE0 9120 @@ -515955,7 +555496,7 @@ ENCODING 39984 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 7280 9FE0 @@ -515973,7 +555514,7 @@ ENCODING 39985 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 96A0 @@ -515991,7 +555532,7 @@ ENCODING 39986 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 21E0 FF40 @@ -516009,7 +555550,7 @@ ENCODING 39987 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 7F80 9480 @@ -516027,7 +555568,7 @@ ENCODING 39988 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6A80 BE80 00E0 @@ -516045,7 +555586,7 @@ ENCODING 39989 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3D00 55E0 FE40 @@ -516063,7 +555604,7 @@ ENCODING 39990 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 96A0 @@ -516081,7 +555622,7 @@ ENCODING 39991 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 75E0 9B40 @@ -516099,7 +555640,7 @@ ENCODING 39992 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7400 95C0 @@ -516117,7 +555658,7 @@ ENCODING 39993 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6FE0 AAA0 FFA0 @@ -516135,7 +555676,7 @@ ENCODING 39994 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7FC0 9240 @@ -516153,7 +555694,7 @@ ENCODING 39995 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -516171,7 +555712,7 @@ ENCODING 39996 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7920 95A0 @@ -516189,7 +555730,7 @@ ENCODING 39997 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 77E0 9280 @@ -516207,7 +555748,7 @@ ENCODING 39998 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7280 9FE0 @@ -516225,7 +555766,7 @@ ENCODING 39999 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9080 @@ -516243,7 +555784,7 @@ ENCODING 40000 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 9100 F7E0 @@ -516261,7 +555802,7 @@ ENCODING 40001 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 45E0 7A80 92A0 @@ -516279,7 +555820,7 @@ ENCODING 40002 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 72E0 AB20 @@ -516297,7 +555838,7 @@ ENCODING 40003 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9100 @@ -516315,7 +555856,7 @@ ENCODING 40004 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 9540 @@ -516333,7 +555874,7 @@ ENCODING 40005 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 92A0 @@ -516351,7 +555892,7 @@ ENCODING 40006 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9140 @@ -516369,7 +555910,7 @@ ENCODING 40007 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9280 @@ -516387,7 +555928,7 @@ ENCODING 40008 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7900 97E0 @@ -516405,7 +555946,7 @@ ENCODING 40009 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 FDE0 B740 @@ -516423,7 +555964,7 @@ ENCODING 40010 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7140 97E0 @@ -516441,7 +555982,7 @@ ENCODING 40011 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7900 97E0 @@ -516459,7 +556000,7 @@ ENCODING 40012 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41C0 7240 97E0 @@ -516477,7 +556018,7 @@ ENCODING 40013 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4740 75A0 9240 @@ -516495,7 +556036,7 @@ ENCODING 40014 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7900 97E0 @@ -516513,7 +556054,7 @@ ENCODING 40015 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7280 AFE0 @@ -516531,7 +556072,7 @@ ENCODING 40016 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7940 97E0 @@ -516549,7 +556090,7 @@ ENCODING 40017 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7BE0 9140 @@ -516567,7 +556108,7 @@ ENCODING 40018 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 77E0 9140 @@ -516585,7 +556126,7 @@ ENCODING 40019 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -516603,7 +556144,7 @@ ENCODING 40020 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9080 @@ -516621,7 +556162,7 @@ ENCODING 40021 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 91C0 @@ -516639,7 +556180,7 @@ ENCODING 40022 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 6D40 AA40 @@ -516657,7 +556198,7 @@ ENCODING 40023 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 7340 97E0 @@ -516675,7 +556216,7 @@ ENCODING 40024 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7840 93C0 @@ -516693,7 +556234,7 @@ ENCODING 40025 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 9100 @@ -516711,7 +556252,7 @@ ENCODING 40026 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9080 @@ -516729,7 +556270,7 @@ ENCODING 40027 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 77E0 96A0 @@ -516747,7 +556288,7 @@ ENCODING 40028 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 7780 AAE0 @@ -516765,7 +556306,7 @@ ENCODING 40029 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9540 @@ -516783,7 +556324,7 @@ ENCODING 40030 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 6AA0 BFE0 @@ -516801,7 +556342,7 @@ ENCODING 40031 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 4440 6AC0 @@ -516819,7 +556360,7 @@ ENCODING 40032 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4380 7440 9BA0 @@ -516837,7 +556378,7 @@ ENCODING 40033 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 6E60 AA40 @@ -516855,7 +556396,7 @@ ENCODING 40034 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7240 9240 @@ -516873,7 +556414,7 @@ ENCODING 40035 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 95A0 @@ -516891,7 +556432,7 @@ ENCODING 40036 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7BE0 9240 @@ -516909,7 +556450,7 @@ ENCODING 40037 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7AE0 9280 @@ -516927,7 +556468,7 @@ ENCODING 40038 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7AA0 9FE0 @@ -516945,7 +556486,7 @@ ENCODING 40039 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 6FE0 AAA0 @@ -516963,7 +556504,7 @@ ENCODING 40040 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4540 6FE0 AAA0 @@ -516981,7 +556522,7 @@ ENCODING 40041 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 97E0 @@ -516999,7 +556540,7 @@ ENCODING 40042 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -517017,7 +556558,7 @@ ENCODING 40043 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40E0 7F20 9540 @@ -517035,7 +556576,7 @@ ENCODING 40044 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7100 AFE0 @@ -517053,7 +556594,7 @@ ENCODING 40045 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 92A0 @@ -517071,7 +556612,7 @@ ENCODING 40046 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4D60 69A0 AD60 @@ -517089,7 +556630,7 @@ ENCODING 40047 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9240 @@ -517107,7 +556648,7 @@ ENCODING 40048 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7CA0 97E0 @@ -517125,7 +556666,7 @@ ENCODING 40049 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 6A80 AFE0 @@ -517143,7 +556684,7 @@ ENCODING 40050 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7D40 92A0 @@ -517161,7 +556702,7 @@ ENCODING 40051 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 6BC0 AEA0 @@ -517179,7 +556720,7 @@ ENCODING 40052 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9240 @@ -517197,7 +556738,7 @@ ENCODING 40053 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 77E0 9AA0 @@ -517215,7 +556756,7 @@ ENCODING 40054 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 77E0 9100 @@ -517233,7 +556774,7 @@ ENCODING 40055 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 93E0 @@ -517251,7 +556792,7 @@ ENCODING 40056 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 41E0 7100 97E0 @@ -517269,7 +556810,7 @@ ENCODING 40057 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7940 97E0 @@ -517287,7 +556828,7 @@ ENCODING 40058 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4EE0 6000 AFE0 @@ -517305,7 +556846,7 @@ ENCODING 40059 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 1200 3F80 @@ -517323,7 +556864,7 @@ ENCODING 40060 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 1F00 2200 @@ -517341,7 +556882,7 @@ ENCODING 40061 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9120 @@ -517359,7 +556900,7 @@ ENCODING 40062 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BC0 9040 @@ -517377,7 +556918,7 @@ ENCODING 40063 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7920 9100 @@ -517395,7 +556936,7 @@ ENCODING 40064 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -517413,7 +556954,7 @@ ENCODING 40065 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F00 2200 7FC0 @@ -517431,7 +556972,7 @@ ENCODING 40066 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -517449,7 +556990,7 @@ ENCODING 40067 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 92A0 @@ -517467,7 +557008,7 @@ ENCODING 40068 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7BE0 9040 @@ -517485,7 +557026,7 @@ ENCODING 40069 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A40 9200 @@ -517503,7 +557044,7 @@ ENCODING 40070 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7880 94A0 @@ -517521,7 +557062,7 @@ ENCODING 40071 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 90E0 @@ -517539,7 +557080,7 @@ ENCODING 40072 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 79E0 9100 @@ -517557,7 +557098,7 @@ ENCODING 40073 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 9080 @@ -517575,7 +557116,7 @@ ENCODING 40074 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 93E0 @@ -517593,7 +557134,7 @@ ENCODING 40075 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7940 9240 @@ -517611,7 +557152,7 @@ ENCODING 40076 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7900 93E0 @@ -517629,7 +557170,7 @@ ENCODING 40077 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9420 @@ -517647,7 +557188,7 @@ ENCODING 40078 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 1280 FFE0 @@ -517665,7 +557206,7 @@ ENCODING 40079 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -517683,7 +557224,7 @@ ENCODING 40080 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 9240 @@ -517701,7 +557242,7 @@ ENCODING 40081 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 93E0 @@ -517719,7 +557260,7 @@ ENCODING 40082 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7880 97E0 @@ -517737,7 +557278,7 @@ ENCODING 40083 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9140 @@ -517755,7 +557296,7 @@ ENCODING 40084 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7900 97E0 @@ -517773,7 +557314,7 @@ ENCODING 40085 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7900 9200 @@ -517791,7 +557332,7 @@ ENCODING 40086 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A20 93A0 @@ -517809,7 +557350,7 @@ ENCODING 40087 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4020 7FA0 98A0 @@ -517827,7 +557368,7 @@ ENCODING 40088 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 7B00 9400 @@ -517845,7 +557386,7 @@ ENCODING 40089 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7980 9240 @@ -517863,7 +557404,7 @@ ENCODING 40090 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9240 @@ -517881,7 +557422,7 @@ ENCODING 40091 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7880 97E0 @@ -517899,7 +557440,7 @@ ENCODING 40092 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4220 7940 97E0 @@ -517917,7 +557458,7 @@ ENCODING 40093 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -517935,7 +557476,7 @@ ENCODING 40094 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7FC0 0800 @@ -517953,7 +557494,7 @@ ENCODING 40095 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7820 93E0 @@ -517971,7 +557512,7 @@ ENCODING 40096 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7880 93E0 @@ -517989,7 +557530,7 @@ ENCODING 40097 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7800 93E0 @@ -518007,7 +557548,7 @@ ENCODING 40098 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7DE0 9280 @@ -518025,7 +557566,7 @@ ENCODING 40099 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7AE0 AAA0 @@ -518043,7 +557584,7 @@ ENCODING 40100 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 92A0 @@ -518061,7 +557602,7 @@ ENCODING 40101 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4040 7E40 9A40 @@ -518079,7 +557620,7 @@ ENCODING 40102 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9540 @@ -518097,7 +557638,7 @@ ENCODING 40103 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4060 7F80 9100 @@ -518115,7 +557656,7 @@ ENCODING 40104 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A540 5920 2FC0 @@ -518133,7 +557674,7 @@ ENCODING 40105 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9420 @@ -518151,7 +557692,7 @@ ENCODING 40106 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 7FC0 9140 @@ -518169,7 +557710,7 @@ ENCODING 40107 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4000 6EE0 AAA0 @@ -518187,7 +557728,7 @@ ENCODING 40108 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7940 9080 @@ -518205,7 +557746,7 @@ ENCODING 40109 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9100 @@ -518223,7 +557764,7 @@ ENCODING 40110 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FC0 9100 @@ -518241,7 +557782,7 @@ ENCODING 40111 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9240 @@ -518259,7 +557800,7 @@ ENCODING 40112 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5F00 6A00 ABE0 @@ -518277,7 +557818,7 @@ ENCODING 40113 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7A80 96E0 @@ -518295,7 +557836,7 @@ ENCODING 40114 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7A20 93E0 @@ -518313,7 +557854,7 @@ ENCODING 40115 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -518331,7 +557872,7 @@ ENCODING 40116 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7920 A920 @@ -518349,7 +557890,7 @@ ENCODING 40117 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7EE0 9420 @@ -518367,7 +557908,7 @@ ENCODING 40118 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7940 9320 @@ -518385,7 +557926,7 @@ ENCODING 40119 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7920 ABA0 @@ -518403,7 +557944,7 @@ ENCODING 40120 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7FE0 9000 @@ -518421,7 +557962,7 @@ ENCODING 40121 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7A40 97C0 @@ -518439,7 +557980,7 @@ ENCODING 40122 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47C0 7840 97C0 @@ -518457,7 +557998,7 @@ ENCODING 40123 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7AA0 9540 @@ -518475,7 +558016,7 @@ ENCODING 40124 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BE0 9140 @@ -518493,7 +558034,7 @@ ENCODING 40125 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 42A0 7FE0 92A0 @@ -518511,7 +558052,7 @@ ENCODING 40126 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7800 93C0 @@ -518529,7 +558070,7 @@ ENCODING 40127 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7D20 9340 @@ -518547,7 +558088,7 @@ ENCODING 40128 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -518565,7 +558106,7 @@ ENCODING 40129 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -518583,7 +558124,7 @@ ENCODING 40130 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -518601,7 +558142,7 @@ ENCODING 40131 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 7AA0 93E0 @@ -518619,7 +558160,7 @@ ENCODING 40132 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7DA0 97E0 @@ -518637,7 +558178,7 @@ ENCODING 40133 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 7E40 9240 @@ -518655,7 +558196,7 @@ ENCODING 40134 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4200 7BE0 9640 @@ -518673,7 +558214,7 @@ ENCODING 40135 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9220 @@ -518691,7 +558232,7 @@ ENCODING 40136 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BE0 9220 @@ -518709,7 +558250,7 @@ ENCODING 40137 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7AE0 93A0 @@ -518727,7 +558268,7 @@ ENCODING 40138 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 9820 @@ -518745,7 +558286,7 @@ ENCODING 40139 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7D40 9280 @@ -518763,7 +558304,7 @@ ENCODING 40140 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 21E0 FA40 @@ -518781,7 +558322,7 @@ ENCODING 40141 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4120 7FA0 9140 @@ -518799,7 +558340,7 @@ ENCODING 40142 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -518817,7 +558358,7 @@ ENCODING 40143 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7AA0 97E0 @@ -518835,7 +558376,7 @@ ENCODING 40144 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40C0 7F20 9520 @@ -518853,7 +558394,7 @@ ENCODING 40145 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 9240 @@ -518871,7 +558412,7 @@ ENCODING 40146 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 7FE0 9280 @@ -518889,7 +558430,7 @@ ENCODING 40147 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A80 7F80 AA80 @@ -518907,7 +558448,7 @@ ENCODING 40148 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7280 AFE0 @@ -518925,7 +558466,7 @@ ENCODING 40149 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7100 9FE0 @@ -518943,7 +558484,7 @@ ENCODING 40150 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A500 69E0 FF40 @@ -518961,7 +558502,7 @@ ENCODING 40151 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43C0 7A40 93C0 @@ -518979,7 +558520,7 @@ ENCODING 40152 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7DE0 AB40 @@ -518997,7 +558538,7 @@ ENCODING 40153 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77E0 9540 @@ -519015,7 +558556,7 @@ ENCODING 40154 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4F20 7920 9F20 @@ -519033,7 +558574,7 @@ ENCODING 40155 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 7DA0 9360 @@ -519051,7 +558592,7 @@ ENCODING 40156 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 7AC0 9940 @@ -519069,7 +558610,7 @@ ENCODING 40157 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9100 @@ -519087,7 +558628,7 @@ ENCODING 40158 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4520 7B40 97E0 @@ -519105,7 +558646,7 @@ ENCODING 40159 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9280 @@ -519123,7 +558664,7 @@ ENCODING 40160 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7FE0 9240 @@ -519141,7 +558682,7 @@ ENCODING 40161 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 40A0 7FE0 9480 @@ -519159,7 +558700,7 @@ ENCODING 40162 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 7FE0 9AA0 @@ -519177,7 +558718,7 @@ ENCODING 40163 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FE0 92A0 @@ -519195,7 +558736,7 @@ ENCODING 40164 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 7BE0 96C0 @@ -519213,7 +558754,7 @@ ENCODING 40165 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -519231,7 +558772,7 @@ ENCODING 40166 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 8840 @@ -519249,7 +558790,7 @@ ENCODING 40167 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2080 @@ -519267,7 +558808,7 @@ ENCODING 40168 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4900 @@ -519285,7 +558826,7 @@ ENCODING 40169 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 47C0 F440 @@ -519302,26 +558843,26 @@ STARTCHAR U_9CEA ENCODING 40170 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -4100 -47C0 -4440 -67C0 -5440 -47E0 -4400 -47E0 -4AA0 -5560 -4040 +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 +BITMAP 3FE0 2200 2FC0 @@ -519338,26 +558879,26 @@ STARTCHAR U_9CEC ENCODING 40172 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -3F80 -2080 -3FC0 -2000 -3FC0 -1240 -1220 -61E0 +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 +BITMAP 0100 FBC0 4A40 @@ -519375,7 +558916,7 @@ ENCODING 40174 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 F7C0 1440 @@ -519393,7 +558934,7 @@ ENCODING 40175 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4840 5E40 @@ -519411,7 +558952,7 @@ ENCODING 40176 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 47C0 2440 @@ -519429,7 +558970,7 @@ ENCODING 40177 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2440 @@ -519447,7 +558988,7 @@ ENCODING 40178 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 4A40 @@ -519465,7 +559006,7 @@ ENCODING 40179 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FF80 8880 BE80 @@ -519483,7 +559024,7 @@ ENCODING 40180 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9440 @@ -519501,7 +559042,7 @@ ENCODING 40181 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 53C0 5240 @@ -519519,7 +559060,7 @@ ENCODING 40182 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0400 @@ -519537,7 +559078,7 @@ ENCODING 40183 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 1240 @@ -519555,7 +559096,7 @@ ENCODING 40184 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4020 @@ -519573,7 +559114,7 @@ ENCODING 40185 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 5240 @@ -519591,7 +559132,7 @@ ENCODING 40186 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -519609,7 +559150,7 @@ ENCODING 40187 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 4A40 @@ -519627,7 +559168,7 @@ ENCODING 40188 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FE40 @@ -519645,7 +559186,7 @@ ENCODING 40189 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 5240 @@ -519663,7 +559204,7 @@ ENCODING 40190 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -519681,7 +559222,7 @@ ENCODING 40191 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -519699,7 +559240,7 @@ ENCODING 40192 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFC0 1440 @@ -519717,7 +559258,7 @@ ENCODING 40193 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 2240 @@ -519735,7 +559276,7 @@ ENCODING 40194 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -519753,7 +559294,7 @@ ENCODING 40195 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F100 93C0 @@ -519771,7 +559312,7 @@ ENCODING 40196 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 ABC0 AA40 @@ -519789,7 +559330,7 @@ ENCODING 40197 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 6A40 @@ -519807,7 +559348,7 @@ ENCODING 40198 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -519825,7 +559366,7 @@ ENCODING 40199 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 53C0 6240 @@ -519843,7 +559384,7 @@ ENCODING 40200 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4900 4BC0 @@ -519861,7 +559402,7 @@ ENCODING 40201 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 5240 @@ -519879,7 +559420,7 @@ ENCODING 40202 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FC0 1440 @@ -519897,7 +559438,7 @@ ENCODING 40203 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 27C0 FC40 @@ -519915,7 +559456,7 @@ ENCODING 40204 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -519933,7 +559474,7 @@ ENCODING 40205 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1100 @@ -519951,7 +559492,7 @@ ENCODING 40206 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 8A40 @@ -519969,7 +559510,7 @@ ENCODING 40207 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22C0 7AA0 4A80 @@ -519987,7 +559528,7 @@ ENCODING 40208 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7DE0 2520 @@ -520005,7 +559546,7 @@ ENCODING 40209 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FBC0 5240 @@ -520023,7 +559564,7 @@ ENCODING 40210 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 5240 @@ -520041,7 +559582,7 @@ ENCODING 40211 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2BC0 4A40 @@ -520059,7 +559600,7 @@ ENCODING 40212 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 F3C0 2240 @@ -520077,7 +559618,7 @@ ENCODING 40213 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 4A20 @@ -520095,7 +559636,7 @@ ENCODING 40214 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 8A40 @@ -520113,7 +559654,7 @@ ENCODING 40215 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FA40 @@ -520131,7 +559672,7 @@ ENCODING 40216 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 4A40 @@ -520149,7 +559690,7 @@ ENCODING 40217 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43C0 7A40 @@ -520167,7 +559708,7 @@ ENCODING 40218 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 7BE0 4820 @@ -520185,7 +559726,7 @@ ENCODING 40219 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 D2A0 @@ -520203,7 +559744,7 @@ ENCODING 40220 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5BC0 5220 @@ -520221,7 +559762,7 @@ ENCODING 40221 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 43C0 FA40 @@ -520239,7 +559780,7 @@ ENCODING 40222 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 93C0 9240 @@ -520257,7 +559798,7 @@ ENCODING 40223 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 F3C0 9240 @@ -520275,7 +559816,7 @@ ENCODING 40224 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 4A40 @@ -520293,7 +559834,7 @@ ENCODING 40225 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 4A40 @@ -520311,7 +559852,7 @@ ENCODING 40226 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 57C0 7C40 @@ -520329,7 +559870,7 @@ ENCODING 40227 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 FA40 @@ -520347,7 +559888,7 @@ ENCODING 40228 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79E0 4A20 @@ -520365,7 +559906,7 @@ ENCODING 40229 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 FBE0 8A20 @@ -520383,7 +559924,7 @@ ENCODING 40230 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -520401,7 +559942,7 @@ ENCODING 40231 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 8A40 @@ -520419,7 +559960,7 @@ ENCODING 40232 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 AA40 @@ -520437,7 +559978,7 @@ ENCODING 40233 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 A3C0 A240 @@ -520455,7 +559996,7 @@ ENCODING 40234 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FA40 @@ -520473,7 +560014,7 @@ ENCODING 40235 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 AA40 @@ -520491,7 +560032,7 @@ ENCODING 40236 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2500 FFE0 @@ -520509,7 +560050,7 @@ ENCODING 40237 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7C0 9440 @@ -520527,7 +560068,7 @@ ENCODING 40238 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 4A40 @@ -520545,7 +560086,7 @@ ENCODING 40239 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 2240 @@ -520563,7 +560104,7 @@ ENCODING 40240 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E3C0 2240 @@ -520581,7 +560122,7 @@ ENCODING 40241 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FFC0 2A40 @@ -520599,7 +560140,7 @@ ENCODING 40242 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 B7C0 C440 @@ -520617,7 +560158,7 @@ ENCODING 40243 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 13C0 FE40 @@ -520635,7 +560176,7 @@ ENCODING 40244 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5BC0 8240 @@ -520653,7 +560194,7 @@ ENCODING 40245 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2BC0 AE40 @@ -520671,7 +560212,7 @@ ENCODING 40246 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 FE40 @@ -520689,7 +560230,7 @@ ENCODING 40247 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC40 2140 3D40 @@ -520707,7 +560248,7 @@ ENCODING 40248 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 53C0 7A40 @@ -520725,7 +560266,7 @@ ENCODING 40249 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FBC0 2240 @@ -520743,7 +560284,7 @@ ENCODING 40250 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2240 @@ -520761,7 +560302,7 @@ ENCODING 40251 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5FC0 0A40 @@ -520779,7 +560320,7 @@ ENCODING 40252 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79C0 4E40 @@ -520797,7 +560338,7 @@ ENCODING 40253 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFC0 4A40 @@ -520815,7 +560356,7 @@ ENCODING 40254 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4BC0 FE40 @@ -520833,7 +560374,7 @@ ENCODING 40255 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 23C0 5240 @@ -520851,7 +560392,7 @@ ENCODING 40256 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2FC0 4200 DFE0 @@ -520869,7 +560410,7 @@ ENCODING 40257 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 13C0 FE40 @@ -520887,7 +560428,7 @@ ENCODING 40258 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 2BC0 4A40 @@ -520905,7 +560446,7 @@ ENCODING 40259 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7BC0 4A40 @@ -520923,7 +560464,7 @@ ENCODING 40260 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -520941,7 +560482,7 @@ ENCODING 40261 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BC0 4A40 @@ -520959,7 +560500,7 @@ ENCODING 40262 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2400 2EC0 4A00 @@ -520977,7 +560518,7 @@ ENCODING 40263 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 5240 @@ -520995,7 +560536,7 @@ ENCODING 40264 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0080 FFC0 4A40 @@ -521013,7 +560554,7 @@ ENCODING 40265 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 5280 @@ -521031,7 +560572,7 @@ ENCODING 40266 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 1240 @@ -521049,7 +560590,7 @@ ENCODING 40267 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 0A40 @@ -521067,7 +560608,7 @@ ENCODING 40268 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 F940 8A20 @@ -521085,7 +560626,7 @@ ENCODING 40269 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 8A40 @@ -521103,7 +560644,7 @@ ENCODING 40270 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 E7C0 AA40 @@ -521121,7 +560662,7 @@ ENCODING 40271 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 2BC0 FA40 @@ -521139,7 +560680,7 @@ ENCODING 40272 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -521157,7 +560698,7 @@ ENCODING 40273 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -521175,7 +560716,7 @@ ENCODING 40274 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4BC0 8640 @@ -521193,7 +560734,7 @@ ENCODING 40275 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2240 @@ -521211,7 +560752,7 @@ ENCODING 40276 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7A40 4FA0 @@ -521229,7 +560770,7 @@ ENCODING 40277 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4BC0 FE40 @@ -521247,7 +560788,7 @@ ENCODING 40278 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9440 @@ -521265,7 +560806,7 @@ ENCODING 40279 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 33C0 4A40 @@ -521283,7 +560824,7 @@ ENCODING 40280 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 2BC0 FE40 @@ -521301,7 +560842,7 @@ ENCODING 40281 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 4A40 @@ -521319,7 +560860,7 @@ ENCODING 40282 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 13C0 FE40 @@ -521337,7 +560878,7 @@ ENCODING 40283 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 57C0 AA40 @@ -521355,7 +560896,7 @@ ENCODING 40284 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 53C0 FA40 @@ -521373,7 +560914,7 @@ ENCODING 40285 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 DBC0 5640 @@ -521391,7 +560932,7 @@ ENCODING 40286 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7A80 1240 FFE0 @@ -521409,7 +560950,7 @@ ENCODING 40287 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 57E0 3100 5FC0 @@ -521427,7 +560968,7 @@ ENCODING 40288 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 7A40 @@ -521445,7 +560986,7 @@ ENCODING 40289 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 EFC0 0A40 @@ -521463,7 +561004,7 @@ ENCODING 40290 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -521481,7 +561022,7 @@ ENCODING 40291 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 1240 @@ -521499,7 +561040,7 @@ ENCODING 40292 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9240 @@ -521517,7 +561058,7 @@ ENCODING 40293 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5420 FEA0 10A0 @@ -521535,7 +561076,7 @@ ENCODING 40294 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4780 F080 9780 @@ -521553,7 +561094,7 @@ ENCODING 40295 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8900 53C0 FE40 @@ -521571,7 +561112,7 @@ ENCODING 40296 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 4BC0 8640 @@ -521589,7 +561130,7 @@ ENCODING 40297 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 AA40 @@ -521607,7 +561148,7 @@ ENCODING 40298 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 2A40 @@ -521625,7 +561166,7 @@ ENCODING 40299 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BC0 2240 @@ -521643,7 +561184,7 @@ ENCODING 40300 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 AA40 @@ -521661,7 +561202,7 @@ ENCODING 40301 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 2A40 @@ -521679,7 +561220,7 @@ ENCODING 40302 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 9240 @@ -521697,7 +561238,7 @@ ENCODING 40303 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 AA40 @@ -521715,7 +561256,7 @@ ENCODING 40304 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -521733,7 +561274,7 @@ ENCODING 40305 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1240 @@ -521751,7 +561292,7 @@ ENCODING 40306 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFC0 5240 @@ -521769,7 +561310,7 @@ ENCODING 40307 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 8A40 @@ -521787,7 +561328,7 @@ ENCODING 40308 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 AA40 @@ -521805,7 +561346,7 @@ ENCODING 40309 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 9240 @@ -521823,7 +561364,7 @@ ENCODING 40310 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 5240 @@ -521841,7 +561382,7 @@ ENCODING 40311 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 8640 @@ -521859,7 +561400,7 @@ ENCODING 40312 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 3240 @@ -521877,7 +561418,7 @@ ENCODING 40313 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 21E0 FEA0 @@ -521895,7 +561436,7 @@ ENCODING 40314 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 13C0 FE40 @@ -521913,7 +561454,7 @@ ENCODING 40315 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 7940 49E0 @@ -521931,7 +561472,7 @@ ENCODING 40316 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 23C0 FA40 @@ -521949,7 +561490,7 @@ ENCODING 40317 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 A7C0 5640 @@ -521967,7 +561508,7 @@ ENCODING 40318 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -521985,7 +561526,7 @@ ENCODING 40319 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 7A20 4BE0 @@ -522003,7 +561544,7 @@ ENCODING 40320 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 F240 97E0 @@ -522021,7 +561562,7 @@ ENCODING 40321 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 0240 @@ -522039,7 +561580,7 @@ ENCODING 40322 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 DBC0 8A40 @@ -522057,7 +561598,7 @@ ENCODING 40323 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F660 9420 @@ -522075,7 +561616,7 @@ ENCODING 40324 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 23C0 FA40 @@ -522093,7 +561634,7 @@ ENCODING 40325 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 57C0 AA40 @@ -522111,7 +561652,7 @@ ENCODING 40326 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFC0 1240 @@ -522129,7 +561670,7 @@ ENCODING 40327 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFC0 2240 @@ -522147,7 +561688,7 @@ ENCODING 40328 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFC0 2A40 @@ -522165,7 +561706,7 @@ ENCODING 40329 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFC0 4A40 @@ -522183,7 +561724,7 @@ ENCODING 40330 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFC0 A240 @@ -522201,7 +561742,7 @@ ENCODING 40331 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BC0 FA40 @@ -522219,7 +561760,7 @@ ENCODING 40332 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 8BC0 FA40 @@ -522237,7 +561778,7 @@ ENCODING 40333 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -522255,7 +561796,7 @@ ENCODING 40334 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 8A40 @@ -522273,7 +561814,7 @@ ENCODING 40335 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 EBC0 AA40 @@ -522291,7 +561832,7 @@ ENCODING 40336 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8C80 4BC0 3F40 @@ -522309,7 +561850,7 @@ ENCODING 40337 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 14A0 5AC0 5280 @@ -522327,7 +561868,7 @@ ENCODING 40338 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2BC0 FE40 @@ -522345,7 +561886,7 @@ ENCODING 40339 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 FA40 @@ -522363,7 +561904,7 @@ ENCODING 40340 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 2BC0 FE40 @@ -522381,7 +561922,7 @@ ENCODING 40341 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 4640 @@ -522399,7 +561940,7 @@ ENCODING 40342 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7100 2540 FD80 @@ -522417,7 +561958,7 @@ ENCODING 40343 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -522435,7 +561976,7 @@ ENCODING 40344 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5C80 55C0 F540 @@ -522453,7 +561994,7 @@ ENCODING 40345 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBC0 5240 @@ -522471,7 +562012,7 @@ ENCODING 40346 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 ABC0 FA40 @@ -522489,7 +562030,7 @@ ENCODING 40347 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 9480 FBC0 9240 @@ -522507,7 +562048,7 @@ ENCODING 40348 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 FFC0 2A40 @@ -522525,7 +562066,7 @@ ENCODING 40349 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 03C0 7A40 @@ -522543,7 +562084,7 @@ ENCODING 40350 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 93C0 FA40 @@ -522561,7 +562102,7 @@ ENCODING 40351 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 8640 @@ -522579,7 +562120,7 @@ ENCODING 40352 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 ABC0 BA40 @@ -522597,7 +562138,7 @@ ENCODING 40353 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -522615,7 +562156,7 @@ ENCODING 40354 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E7C0 AA40 @@ -522633,7 +562174,7 @@ ENCODING 40355 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 8A40 @@ -522651,7 +562192,7 @@ ENCODING 40356 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 A7C0 FE40 @@ -522669,7 +562210,7 @@ ENCODING 40357 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 57C0 7E40 @@ -522687,7 +562228,7 @@ ENCODING 40358 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE40 23C0 @@ -522705,7 +562246,7 @@ ENCODING 40359 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 5240 @@ -522723,7 +562264,7 @@ ENCODING 40360 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -522741,7 +562282,7 @@ ENCODING 40361 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 29E0 FF40 @@ -522759,7 +562300,7 @@ ENCODING 40362 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -522777,7 +562318,7 @@ ENCODING 40363 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2240 @@ -522795,7 +562336,7 @@ ENCODING 40364 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 6BC0 9640 @@ -522813,7 +562354,7 @@ ENCODING 40365 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 DFE0 2100 @@ -522831,7 +562372,7 @@ ENCODING 40366 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 0240 @@ -522849,7 +562390,7 @@ ENCODING 40367 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AD40 2100 5280 @@ -522867,7 +562408,7 @@ ENCODING 40368 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -522885,7 +562426,7 @@ ENCODING 40369 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9120 @@ -522903,7 +562444,7 @@ ENCODING 40370 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2900 47C0 AA40 @@ -522921,7 +562462,7 @@ ENCODING 40371 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4800 FFE0 9480 @@ -522939,7 +562480,7 @@ ENCODING 40372 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBC0 AA40 @@ -522957,7 +562498,7 @@ ENCODING 40373 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 7BC0 AA40 @@ -522975,7 +562516,7 @@ ENCODING 40374 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFC0 AA40 @@ -522993,7 +562534,7 @@ ENCODING 40375 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBC0 AA40 @@ -523011,7 +562552,7 @@ ENCODING 40376 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EC80 25C0 ED40 @@ -523029,7 +562570,7 @@ ENCODING 40377 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 BBC0 AA40 @@ -523047,7 +562588,7 @@ ENCODING 40378 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 73C0 AA40 @@ -523065,7 +562606,7 @@ ENCODING 40379 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 6A40 @@ -523083,7 +562624,7 @@ ENCODING 40380 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 FFC0 5240 @@ -523101,7 +562642,7 @@ ENCODING 40381 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7BC0 D240 @@ -523119,7 +562660,7 @@ ENCODING 40382 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBE0 2500 @@ -523137,7 +562678,7 @@ ENCODING 40383 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 2940 @@ -523155,7 +562696,7 @@ ENCODING 40384 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2BC0 FE40 @@ -523173,7 +562714,7 @@ ENCODING 40385 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2BC0 FE40 @@ -523191,7 +562732,7 @@ ENCODING 40386 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 EBC0 AA40 @@ -523209,7 +562750,7 @@ ENCODING 40387 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -523227,7 +562768,7 @@ ENCODING 40388 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1D00 EBC0 5A40 @@ -523245,7 +562786,7 @@ ENCODING 40389 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2BC0 FE40 @@ -523263,7 +562804,7 @@ ENCODING 40390 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 63C0 4A40 @@ -523281,7 +562822,7 @@ ENCODING 40391 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 7D40 1140 @@ -523299,7 +562840,7 @@ ENCODING 40392 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F480 94E0 @@ -523317,7 +562858,7 @@ ENCODING 40393 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1C80 F3C0 9E40 @@ -523335,7 +562876,7 @@ ENCODING 40394 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 03C0 7240 @@ -523353,7 +562894,7 @@ ENCODING 40395 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FFC0 4A40 @@ -523371,7 +562912,7 @@ ENCODING 40396 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 43E0 F280 93C0 @@ -523389,7 +562930,7 @@ ENCODING 40397 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -523407,7 +562948,7 @@ ENCODING 40398 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 CA40 @@ -523425,7 +562966,7 @@ ENCODING 40399 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2240 @@ -523443,7 +562984,7 @@ ENCODING 40400 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -523461,7 +563002,7 @@ ENCODING 40401 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 4BC0 7E40 @@ -523479,7 +563020,7 @@ ENCODING 40402 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 AA40 @@ -523497,7 +563038,7 @@ ENCODING 40403 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 AA40 @@ -523515,7 +563056,7 @@ ENCODING 40404 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FBE0 2640 @@ -523533,7 +563074,7 @@ ENCODING 40405 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0500 EFE0 B900 @@ -523551,7 +563092,7 @@ ENCODING 40406 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 9240 FFE0 @@ -523569,7 +563110,7 @@ ENCODING 40407 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 83C0 BA40 @@ -523587,7 +563128,7 @@ ENCODING 40408 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FDE0 AB40 @@ -523605,7 +563146,7 @@ ENCODING 40409 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5540 @@ -523623,7 +563164,7 @@ ENCODING 40410 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 B7C0 6E40 @@ -523641,7 +563182,7 @@ ENCODING 40411 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 7FC0 5540 @@ -523659,7 +563200,7 @@ ENCODING 40412 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 AA40 @@ -523677,7 +563218,7 @@ ENCODING 40413 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -523695,7 +563236,7 @@ ENCODING 40414 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FDC0 1140 @@ -523713,7 +563254,7 @@ ENCODING 40415 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FD00 43E0 @@ -523731,7 +563272,7 @@ ENCODING 40416 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 9240 @@ -523749,7 +563290,7 @@ ENCODING 40417 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7FC0 AA40 @@ -523767,7 +563308,7 @@ ENCODING 40418 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4900 7DE0 @@ -523785,7 +563326,7 @@ ENCODING 40419 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 2BC0 FE40 @@ -523803,7 +563344,7 @@ ENCODING 40420 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -523821,7 +563362,7 @@ ENCODING 40421 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 75C0 2940 @@ -523839,7 +563380,7 @@ ENCODING 40422 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 7FC0 D240 @@ -523857,7 +563398,7 @@ ENCODING 40423 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2240 @@ -523875,7 +563416,7 @@ ENCODING 40424 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 FFC0 2940 @@ -523893,7 +563434,7 @@ ENCODING 40425 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A500 69E0 FF40 @@ -523911,7 +563452,7 @@ ENCODING 40426 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -523929,7 +563470,7 @@ ENCODING 40427 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FDC0 1540 @@ -523947,7 +563488,7 @@ ENCODING 40428 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 5240 @@ -523965,7 +563506,7 @@ ENCODING 40429 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A7C0 6A40 @@ -523983,7 +563524,7 @@ ENCODING 40430 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 23C0 FE40 @@ -524001,7 +563542,7 @@ ENCODING 40431 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFC0 AB40 @@ -524019,7 +563560,7 @@ ENCODING 40432 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 1100 1F00 @@ -524037,7 +563578,7 @@ ENCODING 40433 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -524055,7 +563596,7 @@ ENCODING 40434 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FD20 4BE0 @@ -524073,7 +563614,7 @@ ENCODING 40435 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 ABC0 EE40 @@ -524091,7 +563632,7 @@ ENCODING 40436 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP ED00 ABC0 EE40 @@ -524109,7 +563650,7 @@ ENCODING 40437 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -524127,7 +563668,7 @@ ENCODING 40438 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 ABC0 FE40 @@ -524145,7 +563686,7 @@ ENCODING 40439 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FFC0 5240 @@ -524163,7 +563704,7 @@ ENCODING 40440 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 29C0 FD40 @@ -524181,7 +563722,7 @@ ENCODING 40441 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5500 @@ -524199,7 +563740,7 @@ ENCODING 40442 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F3C0 9680 F140 @@ -524217,7 +563758,7 @@ ENCODING 40443 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 EF80 AAE0 @@ -524235,7 +563776,7 @@ ENCODING 40444 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 ABC0 FA40 @@ -524253,7 +563794,7 @@ ENCODING 40445 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 75C0 4A40 75C0 @@ -524271,7 +563812,7 @@ ENCODING 40446 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5240 @@ -524289,7 +563830,7 @@ ENCODING 40447 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 47E0 7D40 @@ -524307,7 +563848,7 @@ ENCODING 40448 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -524325,7 +563866,7 @@ ENCODING 40449 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 4000 7FC0 @@ -524343,7 +563884,7 @@ ENCODING 40450 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4C80 35C0 8940 @@ -524361,7 +563902,7 @@ ENCODING 40451 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 F7E0 9080 @@ -524379,7 +563920,7 @@ ENCODING 40452 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 79E0 4B40 @@ -524397,7 +563938,7 @@ ENCODING 40453 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 ABC0 FA40 @@ -524415,7 +563956,7 @@ ENCODING 40454 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 23C0 FE40 @@ -524433,7 +563974,7 @@ ENCODING 40455 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FDC0 A540 @@ -524451,7 +563992,7 @@ ENCODING 40456 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AD00 6BC0 FE40 @@ -524469,7 +564010,7 @@ ENCODING 40457 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FC40 37E0 @@ -524487,7 +564028,7 @@ ENCODING 40458 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0880 FFC0 A240 @@ -524505,7 +564046,7 @@ ENCODING 40459 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 AA40 @@ -524523,7 +564064,7 @@ ENCODING 40460 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4240 FFE0 9280 @@ -524541,7 +564082,7 @@ ENCODING 40461 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 57C0 9240 @@ -524559,7 +564100,7 @@ ENCODING 40462 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7BC0 @@ -524577,7 +564118,7 @@ ENCODING 40463 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 5240 @@ -524595,7 +564136,7 @@ ENCODING 40464 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 4BC0 EA40 @@ -524613,7 +564154,7 @@ ENCODING 40465 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A4C0 5EA0 A1E0 @@ -524631,7 +564172,7 @@ ENCODING 40466 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6EC0 4840 6EC0 @@ -524649,7 +564190,7 @@ ENCODING 40467 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 55C0 7D40 @@ -524667,7 +564208,7 @@ ENCODING 40468 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 47E0 F420 97E0 @@ -524685,7 +564226,7 @@ ENCODING 40469 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3900 23C0 FE40 @@ -524703,7 +564244,7 @@ ENCODING 40470 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 13C0 FE40 @@ -524721,7 +564262,7 @@ ENCODING 40471 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE00 53C0 FC40 @@ -524739,7 +564280,7 @@ ENCODING 40472 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 23C0 FE40 @@ -524757,7 +564298,7 @@ ENCODING 40473 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 4BC0 B640 @@ -524775,7 +564316,7 @@ ENCODING 40474 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -524793,7 +564334,7 @@ ENCODING 40475 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4BC0 FA40 @@ -524811,7 +564352,7 @@ ENCODING 40476 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 ABC0 FA40 @@ -524829,7 +564370,7 @@ ENCODING 40477 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FE80 01C0 EF40 @@ -524847,7 +564388,7 @@ ENCODING 40478 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4440 AEA0 50E0 @@ -524864,26 +564405,26 @@ STARTCHAR U_9E1F ENCODING 40479 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0800 -3F80 -2080 -2880 -2480 -2100 -3FE0 -0020 -7FA0 -0020 -01C0 +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 +BITMAP 4100 47C0 F440 @@ -524901,7 +564442,7 @@ ENCODING 40481 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 1440 @@ -524919,7 +564460,7 @@ ENCODING 40482 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0480 FFE0 1200 @@ -524937,7 +564478,7 @@ ENCODING 40483 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F7C0 9440 @@ -524955,7 +564496,7 @@ ENCODING 40484 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 4A40 @@ -524973,7 +564514,7 @@ ENCODING 40485 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 87C0 9440 @@ -524991,7 +564532,7 @@ ENCODING 40486 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 5440 @@ -525009,7 +564550,7 @@ ENCODING 40487 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 2A40 @@ -525027,7 +564568,7 @@ ENCODING 40488 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 77C0 4440 @@ -525045,7 +564586,7 @@ ENCODING 40489 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 FC40 @@ -525063,7 +564604,7 @@ ENCODING 40490 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 2440 @@ -525081,7 +564622,7 @@ ENCODING 40491 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 2440 @@ -525099,7 +564640,7 @@ ENCODING 40492 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 3BC0 2240 @@ -525117,7 +564658,7 @@ ENCODING 40493 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 AA40 @@ -525135,7 +564676,7 @@ ENCODING 40494 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 7BC0 4A40 @@ -525153,7 +564694,7 @@ ENCODING 40495 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -525171,7 +564712,7 @@ ENCODING 40496 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 13C0 2A40 @@ -525189,7 +564730,7 @@ ENCODING 40497 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 F3C0 9240 @@ -525207,7 +564748,7 @@ ENCODING 40498 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 8A40 @@ -525225,7 +564766,7 @@ ENCODING 40499 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3BC0 4A40 B2A0 @@ -525243,7 +564784,7 @@ ENCODING 40500 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4840 2480 FFE0 @@ -525261,7 +564802,7 @@ ENCODING 40501 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 F7E0 9420 @@ -525279,7 +564820,7 @@ ENCODING 40502 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2940 5280 FBE0 @@ -525297,7 +564838,7 @@ ENCODING 40503 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 F780 2A80 @@ -525315,7 +564856,7 @@ ENCODING 40504 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 23C0 4240 @@ -525333,7 +564874,7 @@ ENCODING 40505 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1900 E7C0 2440 @@ -525351,7 +564892,7 @@ ENCODING 40506 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2880 2BE0 4A20 @@ -525369,7 +564910,7 @@ ENCODING 40507 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 5BC0 8240 @@ -525387,7 +564928,7 @@ ENCODING 40508 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7BC0 4A40 @@ -525405,7 +564946,7 @@ ENCODING 40509 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 27C0 5440 @@ -525423,7 +564964,7 @@ ENCODING 40510 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 4940 @@ -525441,7 +564982,7 @@ ENCODING 40511 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 3FC0 8A40 @@ -525459,7 +565000,7 @@ ENCODING 40512 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 2240 @@ -525477,7 +565018,7 @@ ENCODING 40513 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FBC0 2240 @@ -525495,7 +565036,7 @@ ENCODING 40514 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FBC0 0240 @@ -525513,7 +565054,7 @@ ENCODING 40515 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F100 97C0 F440 @@ -525531,7 +565072,7 @@ ENCODING 40516 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 53C0 7E40 @@ -525549,7 +565090,7 @@ ENCODING 40517 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3100 DBC0 5640 @@ -525567,7 +565108,7 @@ ENCODING 40518 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 4BC0 8640 @@ -525585,7 +565126,7 @@ ENCODING 40519 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8100 5BC0 8A40 @@ -525603,7 +565144,7 @@ ENCODING 40520 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 23C0 FA40 @@ -525621,7 +565162,7 @@ ENCODING 40521 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 EFC0 0A40 @@ -525639,7 +565180,7 @@ ENCODING 40522 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 53C0 FA40 @@ -525657,7 +565198,7 @@ ENCODING 40523 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 FBC0 5240 @@ -525675,7 +565216,7 @@ ENCODING 40524 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 5240 @@ -525693,7 +565234,7 @@ ENCODING 40525 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 8BC0 FA40 @@ -525711,7 +565252,7 @@ ENCODING 40526 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 FBC0 AA40 @@ -525729,7 +565270,7 @@ ENCODING 40527 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 EFC0 AA40 @@ -525747,7 +565288,7 @@ ENCODING 40528 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 7BC0 4A40 @@ -525765,7 +565306,7 @@ ENCODING 40529 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 4A40 @@ -525783,7 +565324,7 @@ ENCODING 40530 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFC0 A240 @@ -525801,7 +565342,7 @@ ENCODING 40531 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 8640 @@ -525819,7 +565360,7 @@ ENCODING 40532 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2A40 @@ -525837,7 +565378,7 @@ ENCODING 40533 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4080 5DC0 5540 @@ -525855,7 +565396,7 @@ ENCODING 40534 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 7A40 @@ -525873,7 +565414,7 @@ ENCODING 40535 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 ABC0 EE40 @@ -525891,7 +565432,7 @@ ENCODING 40536 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7900 4BC0 6A40 @@ -525909,7 +565450,7 @@ ENCODING 40537 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7080 22A0 FC80 @@ -525927,7 +565468,7 @@ ENCODING 40538 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4500 2BC0 FE40 @@ -525945,7 +565486,7 @@ ENCODING 40539 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 97C0 FE40 @@ -525963,7 +565504,7 @@ ENCODING 40540 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7D00 2BE0 FC80 @@ -525981,7 +565522,7 @@ ENCODING 40541 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 FFC0 5240 @@ -525999,7 +565540,7 @@ ENCODING 40542 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0C80 F5E0 A520 @@ -526017,7 +565558,7 @@ ENCODING 40543 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 AFC0 5240 @@ -526035,7 +565576,7 @@ ENCODING 40544 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 DDC0 9540 @@ -526053,7 +565594,7 @@ ENCODING 40545 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 3BC0 D640 @@ -526071,7 +565612,7 @@ ENCODING 40546 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 4BC0 3240 @@ -526089,7 +565630,7 @@ ENCODING 40547 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 8880 51C0 FF40 @@ -526107,7 +565648,7 @@ ENCODING 40548 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 A640 @@ -526125,7 +565666,7 @@ ENCODING 40549 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FDC0 8140 FBE0 @@ -526143,7 +565684,7 @@ ENCODING 40550 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP EE80 ABC0 AA40 @@ -526161,7 +565702,7 @@ ENCODING 40551 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFE0 8120 @@ -526179,7 +565720,7 @@ ENCODING 40552 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FC80 25E0 B520 @@ -526197,7 +565738,7 @@ ENCODING 40553 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFC0 5640 @@ -526215,7 +565756,7 @@ ENCODING 40554 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 7DC0 5140 @@ -526233,7 +565774,7 @@ ENCODING 40555 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FFE0 4900 @@ -526251,7 +565792,7 @@ ENCODING 40556 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 29C0 FD40 @@ -526269,7 +565810,7 @@ ENCODING 40557 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4D40 7BC0 @@ -526287,7 +565828,7 @@ ENCODING 40558 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 ABC0 FE40 @@ -526305,7 +565846,7 @@ ENCODING 40559 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FFC0 AB40 @@ -526323,7 +565864,7 @@ ENCODING 40560 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 5500 @@ -526341,7 +565882,7 @@ ENCODING 40561 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4140 F7E0 9140 @@ -526359,7 +565900,7 @@ ENCODING 40562 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4900 FFC0 4A40 @@ -526377,7 +565918,7 @@ ENCODING 40563 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FD00 4BC0 EE40 @@ -526395,7 +565936,7 @@ ENCODING 40564 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 13C0 FF40 @@ -526412,26 +565953,26 @@ STARTCHAR U_9E75 ENCODING 40565 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -07E0 -0400 -7FC0 -64C0 -5140 -6A40 -56C0 -4640 -4D40 -52C0 -7FC0 +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 +BITMAP 2100 3D00 2280 @@ -526449,7 +565990,7 @@ ENCODING 40567 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3C80 2140 @@ -526467,7 +566008,7 @@ ENCODING 40568 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 3940 2220 @@ -526485,7 +566026,7 @@ ENCODING 40569 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 20C0 30A0 2FE0 @@ -526503,7 +566044,7 @@ ENCODING 40570 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 3FE0 2080 @@ -526521,7 +566062,7 @@ ENCODING 40571 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2440 3FE0 2280 @@ -526539,7 +566080,7 @@ ENCODING 40572 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2180 3A40 25A0 @@ -526557,7 +566098,7 @@ ENCODING 40573 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F7E0 AD00 F7E0 @@ -526575,7 +566116,7 @@ ENCODING 40574 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 3940 23E0 @@ -526593,7 +566134,7 @@ ENCODING 40575 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4900 @@ -526611,7 +566152,7 @@ ENCODING 40576 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4920 @@ -526629,7 +566170,7 @@ ENCODING 40577 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0F00 3200 0C00 @@ -526647,7 +566188,7 @@ ENCODING 40578 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526665,7 +566206,7 @@ ENCODING 40579 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4900 @@ -526683,7 +566224,7 @@ ENCODING 40580 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 3E80 CA60 @@ -526701,7 +566242,7 @@ ENCODING 40581 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -526719,7 +566260,7 @@ ENCODING 40582 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526737,7 +566278,7 @@ ENCODING 40583 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526755,7 +566296,7 @@ ENCODING 40584 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526773,7 +566314,7 @@ ENCODING 40585 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -526791,7 +566332,7 @@ ENCODING 40586 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 7FE0 1500 @@ -526809,7 +566350,7 @@ ENCODING 40587 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -526827,7 +566368,7 @@ ENCODING 40588 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526845,7 +566386,7 @@ ENCODING 40589 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -526863,7 +566404,7 @@ ENCODING 40590 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -526881,7 +566422,7 @@ ENCODING 40591 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -526899,7 +566440,7 @@ ENCODING 40592 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5240 @@ -526917,7 +566458,7 @@ ENCODING 40593 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9240 @@ -526935,7 +566476,7 @@ ENCODING 40594 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 FD40 ABE0 @@ -526953,7 +566494,7 @@ ENCODING 40595 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 6AC0 @@ -526971,7 +566512,7 @@ ENCODING 40596 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9920 FFE0 @@ -526989,7 +566530,7 @@ ENCODING 40597 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -527007,7 +566548,7 @@ ENCODING 40598 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4940 @@ -527025,7 +566566,7 @@ ENCODING 40599 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 4A40 6B40 @@ -527043,7 +566584,7 @@ ENCODING 40600 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -527061,7 +566602,7 @@ ENCODING 40601 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9240 FFC0 @@ -527079,7 +566620,7 @@ ENCODING 40602 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9240 FFC0 @@ -527097,7 +566638,7 @@ ENCODING 40603 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9240 @@ -527115,7 +566656,7 @@ ENCODING 40604 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 9240 FFC0 @@ -527133,7 +566674,7 @@ ENCODING 40605 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -527151,7 +566692,7 @@ ENCODING 40606 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4940 @@ -527169,7 +566710,7 @@ ENCODING 40607 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 12A0 FDC0 ABE0 @@ -527187,7 +566728,7 @@ ENCODING 40608 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4920 @@ -527205,7 +566746,7 @@ ENCODING 40609 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4A40 7FC0 @@ -527223,7 +566764,7 @@ ENCODING 40610 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4A40 @@ -527241,7 +566782,7 @@ ENCODING 40611 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27C0 FD40 AFE0 @@ -527259,7 +566800,7 @@ ENCODING 40612 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4A80 7FC0 @@ -527277,7 +566818,7 @@ ENCODING 40613 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 2480 @@ -527295,7 +566836,7 @@ ENCODING 40614 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FC0 0400 @@ -527313,7 +566854,7 @@ ENCODING 40615 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 55E0 @@ -527331,7 +566872,7 @@ ENCODING 40616 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 5500 @@ -527349,7 +566890,7 @@ ENCODING 40617 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FE80 55E0 @@ -527367,7 +566908,7 @@ ENCODING 40618 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 5480 @@ -527385,7 +566926,7 @@ ENCODING 40619 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 FFE0 5480 @@ -527403,7 +566944,7 @@ ENCODING 40620 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 57E0 @@ -527421,7 +566962,7 @@ ENCODING 40621 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FFE0 5420 @@ -527439,7 +566980,7 @@ ENCODING 40622 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 55E0 @@ -527457,7 +566998,7 @@ ENCODING 40623 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 5480 @@ -527475,7 +567016,7 @@ ENCODING 40624 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 FC80 5520 @@ -527493,7 +567034,7 @@ ENCODING 40625 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 10C0 FCA0 57E0 @@ -527511,7 +567052,7 @@ ENCODING 40626 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FA40 57C0 @@ -527529,7 +567070,7 @@ ENCODING 40627 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FFE0 AD40 @@ -527547,7 +567088,7 @@ ENCODING 40628 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 FBE0 5520 @@ -527565,7 +567106,7 @@ ENCODING 40629 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 FD00 57E0 @@ -527583,7 +567124,7 @@ ENCODING 40630 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FFE0 AB60 @@ -527601,7 +567142,7 @@ ENCODING 40631 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2AA0 FFE0 AAA0 @@ -527619,7 +567160,7 @@ ENCODING 40632 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 27E0 @@ -527637,7 +567178,7 @@ ENCODING 40633 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 FE00 23E0 @@ -527655,7 +567196,7 @@ ENCODING 40634 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 FFE0 2100 @@ -527673,7 +567214,7 @@ ENCODING 40635 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -527691,7 +567232,7 @@ ENCODING 40636 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -527709,7 +567250,7 @@ ENCODING 40637 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 5080 @@ -527727,7 +567268,7 @@ ENCODING 40638 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -527745,7 +567286,7 @@ ENCODING 40639 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 7FE0 4880 @@ -527763,7 +567304,7 @@ ENCODING 40640 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 8880 @@ -527781,7 +567322,7 @@ ENCODING 40641 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -527799,7 +567340,7 @@ ENCODING 40642 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 7FE0 4880 @@ -527817,7 +567358,7 @@ ENCODING 40643 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -527835,7 +567376,7 @@ ENCODING 40644 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 1100 @@ -527853,7 +567394,7 @@ ENCODING 40645 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 5280 @@ -527871,7 +567412,7 @@ ENCODING 40646 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 57E0 @@ -527889,7 +567430,7 @@ ENCODING 40647 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F900 51E0 @@ -527907,7 +567448,7 @@ ENCODING 40648 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5100 F880 53E0 @@ -527925,7 +567466,7 @@ ENCODING 40649 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 9220 @@ -527943,7 +567484,7 @@ ENCODING 40650 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5080 F880 53E0 @@ -527961,7 +567502,7 @@ ENCODING 40651 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 AFC0 7280 @@ -527979,7 +567520,7 @@ ENCODING 40652 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 6AC0 75C0 4A40 @@ -527997,7 +567538,7 @@ ENCODING 40653 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -528015,7 +567556,7 @@ ENCODING 40654 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F200 23E0 FCA0 @@ -528033,7 +567574,7 @@ ENCODING 40655 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7C80 1080 FEE0 @@ -528051,7 +567592,7 @@ ENCODING 40656 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 27E0 FEA0 @@ -528069,7 +567610,7 @@ ENCODING 40657 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 5540 @@ -528087,7 +567628,7 @@ ENCODING 40658 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 4440 7FC0 @@ -528105,7 +567646,7 @@ ENCODING 40659 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F940 A920 F900 @@ -528123,7 +567664,7 @@ ENCODING 40660 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A900 FA80 @@ -528141,7 +567682,7 @@ ENCODING 40661 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A880 FBE0 @@ -528159,7 +567700,7 @@ ENCODING 40662 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A880 FA80 @@ -528177,7 +567718,7 @@ ENCODING 40663 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A900 FFE0 @@ -528195,7 +567736,7 @@ ENCODING 40664 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A980 F940 @@ -528213,7 +567754,7 @@ ENCODING 40665 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A940 F920 @@ -528231,7 +567772,7 @@ ENCODING 40666 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 AA40 FFE0 @@ -528249,7 +567790,7 @@ ENCODING 40667 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 5FE0 C120 @@ -528267,7 +567808,7 @@ ENCODING 40668 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AAA0 FAA0 @@ -528285,7 +567826,7 @@ ENCODING 40669 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA80 AA80 FC80 @@ -528303,7 +567844,7 @@ ENCODING 40670 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A880 F8E0 @@ -528321,7 +567862,7 @@ ENCODING 40671 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 A9E0 FA20 @@ -528339,7 +567880,7 @@ ENCODING 40672 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A880 FFE0 @@ -528357,7 +567898,7 @@ ENCODING 40673 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4240 7FE0 @@ -528375,7 +567916,7 @@ ENCODING 40674 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 AA40 FFE0 @@ -528393,7 +567934,7 @@ ENCODING 40675 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 ABE0 FC00 @@ -528411,7 +567952,7 @@ ENCODING 40676 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 AFE0 F940 @@ -528429,7 +567970,7 @@ ENCODING 40677 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AFE0 F800 @@ -528447,7 +567988,7 @@ ENCODING 40678 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AFE0 FC20 @@ -528465,7 +568006,7 @@ ENCODING 40679 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 FD20 @@ -528483,7 +568024,7 @@ ENCODING 40680 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2480 FFE0 A0A0 @@ -528501,7 +568042,7 @@ ENCODING 40681 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 ABE0 F880 @@ -528519,7 +568060,7 @@ ENCODING 40682 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 AA40 FFE0 @@ -528537,7 +568078,7 @@ ENCODING 40683 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 AA80 FFE0 @@ -528555,7 +568096,7 @@ ENCODING 40684 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F8C0 A8A0 FFE0 @@ -528573,7 +568114,7 @@ ENCODING 40685 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A940 FBE0 @@ -528591,7 +568132,7 @@ ENCODING 40686 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA40 AFE0 FA40 @@ -528609,7 +568150,7 @@ ENCODING 40687 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AFE0 FA20 @@ -528627,7 +568168,7 @@ ENCODING 40688 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F900 AFE0 F900 @@ -528645,7 +568186,7 @@ ENCODING 40689 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0540 77C0 5100 @@ -528663,7 +568204,7 @@ ENCODING 40690 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 A940 FBE0 @@ -528681,7 +568222,7 @@ ENCODING 40691 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9260 FFC0 @@ -528699,7 +568240,7 @@ ENCODING 40692 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3580 5F80 80E0 @@ -528717,7 +568258,7 @@ ENCODING 40693 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 ABE0 FEA0 @@ -528735,7 +568276,7 @@ ENCODING 40694 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 A4A0 BFE0 @@ -528753,7 +568294,7 @@ ENCODING 40695 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F880 AFE0 F880 @@ -528771,7 +568312,7 @@ ENCODING 40696 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP F9C0 A900 FFE0 @@ -528789,7 +568330,7 @@ ENCODING 40697 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4A40 2A80 FFE0 @@ -528807,7 +568348,7 @@ ENCODING 40698 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AA40 6D40 2920 @@ -528825,7 +568366,7 @@ ENCODING 40699 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A940 6D20 2BE0 @@ -528843,7 +568384,7 @@ ENCODING 40700 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP AAC0 6CA0 29E0 @@ -528861,7 +568402,7 @@ ENCODING 40701 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFC0 9240 F3C0 @@ -528878,26 +568419,26 @@ STARTCHAR U_9EFE ENCODING 40702 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -3F80 -2080 -3F80 -0400 -7FC0 -4440 -7FC0 -4440 -7FC0 -0420 -03E0 +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 +BITMAP 3F80 0000 FFC0 @@ -528915,7 +568456,7 @@ ENCODING 40704 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -528933,7 +568474,7 @@ ENCODING 40705 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FC0 0400 FFE0 @@ -528951,7 +568492,7 @@ ENCODING 40706 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 2480 FFE0 @@ -528969,7 +568510,7 @@ ENCODING 40707 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0400 FFE0 @@ -528987,7 +568528,7 @@ ENCODING 40708 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3FC0 4400 FFE0 @@ -529005,7 +568546,7 @@ ENCODING 40709 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7DE0 9120 FFE0 @@ -529023,7 +568564,7 @@ ENCODING 40710 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 86A0 7BE0 @@ -529041,7 +568582,7 @@ ENCODING 40711 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FA00 23E0 FD40 @@ -529059,7 +568600,7 @@ ENCODING 40712 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP A900 73E0 FD40 @@ -529077,7 +568618,7 @@ ENCODING 40713 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 8A20 FFE0 @@ -529095,7 +568636,7 @@ ENCODING 40714 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BE0 4940 7FE0 @@ -529113,7 +568654,7 @@ ENCODING 40715 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 0000 7FC0 @@ -529131,7 +568672,7 @@ ENCODING 40716 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F00 2500 FFE0 @@ -529149,7 +568690,7 @@ ENCODING 40717 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7BC0 4A40 7FC0 @@ -529167,7 +568708,7 @@ ENCODING 40718 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 1080 1F80 @@ -529185,7 +568726,7 @@ ENCODING 40719 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FFE0 8020 1F00 @@ -529203,7 +568744,7 @@ ENCODING 40720 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7F80 11E0 2020 @@ -529221,7 +568762,7 @@ ENCODING 40721 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0780 0400 5F40 @@ -529239,7 +568780,7 @@ ENCODING 40722 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0200 FFE0 0A00 @@ -529257,7 +568798,7 @@ ENCODING 40723 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 FC80 23E0 @@ -529275,7 +568816,7 @@ ENCODING 40724 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FD00 11E0 @@ -529293,7 +568834,7 @@ ENCODING 40725 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBC0 @@ -529311,7 +568852,7 @@ ENCODING 40726 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 1500 FFE0 @@ -529329,7 +568870,7 @@ ENCODING 40727 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2A80 5B40 F9E0 @@ -529347,7 +568888,7 @@ ENCODING 40728 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529365,7 +568906,7 @@ ENCODING 40729 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529383,7 +568924,7 @@ ENCODING 40730 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529401,7 +568942,7 @@ ENCODING 40731 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529419,7 +568960,7 @@ ENCODING 40732 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529437,7 +568978,7 @@ ENCODING 40733 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4AA0 AEE0 4820 @@ -529455,7 +568996,7 @@ ENCODING 40734 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2080 FBE0 @@ -529473,7 +569014,7 @@ ENCODING 40735 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 2A80 @@ -529490,26 +569031,26 @@ STARTCHAR U_9F20 ENCODING 40736 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7BC0 -4040 -7BC0 -4040 -7FC0 +BBX 10 11 1 -1 +BITMAP +F780 +8080 +F780 +8080 +FF80 0000 -6680 -5580 -66A0 -5560 -7720 +CD00 +AB00 +CD40 +AAC0 +EE40 ENDCHAR STARTCHAR U_9F21 ENCODING 40737 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4880 2480 0100 @@ -529527,7 +569068,7 @@ ENCODING 40738 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8940 D940 @@ -529545,7 +569086,7 @@ ENCODING 40739 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 88C0 D8A0 @@ -529563,7 +569104,7 @@ ENCODING 40740 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5900 8880 DFE0 @@ -529581,7 +569122,7 @@ ENCODING 40741 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5940 8920 DFE0 @@ -529599,7 +569140,7 @@ ENCODING 40742 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8920 D920 @@ -529617,7 +569158,7 @@ ENCODING 40743 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5900 8880 DFE0 @@ -529635,7 +569176,7 @@ ENCODING 40744 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5900 8900 D9E0 @@ -529653,7 +569194,7 @@ ENCODING 40745 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5A00 8A00 DBE0 @@ -529671,7 +569212,7 @@ ENCODING 40746 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8A80 DBE0 @@ -529689,7 +569230,7 @@ ENCODING 40747 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8880 D880 @@ -529707,7 +569248,7 @@ ENCODING 40748 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8880 DBE0 @@ -529725,7 +569266,7 @@ ENCODING 40749 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8BE0 D880 @@ -529743,7 +569284,7 @@ ENCODING 40750 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5E00 8AE0 DA40 @@ -529761,7 +569302,7 @@ ENCODING 40751 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5FE0 8900 DBC0 @@ -529779,7 +569320,7 @@ ENCODING 40752 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8A20 DA20 @@ -529797,7 +569338,7 @@ ENCODING 40753 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8BE0 D880 @@ -529815,7 +569356,7 @@ ENCODING 40754 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8CA0 DBE0 @@ -529833,7 +569374,7 @@ ENCODING 40755 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8A20 DBE0 @@ -529851,7 +569392,7 @@ ENCODING 40756 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8AA0 DAE0 @@ -529869,7 +569410,7 @@ ENCODING 40757 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5880 8FE0 DC20 @@ -529887,7 +569428,7 @@ ENCODING 40758 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8A80 DAE0 @@ -529905,7 +569446,7 @@ ENCODING 40759 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 58C0 8F20 DAA0 @@ -529923,7 +569464,7 @@ ENCODING 40760 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5A40 8FE0 DA80 @@ -529941,7 +569482,7 @@ ENCODING 40761 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BC0 8A40 DBC0 @@ -529959,7 +569500,7 @@ ENCODING 40762 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5BE0 8AA0 DBE0 @@ -529977,7 +569518,7 @@ ENCODING 40763 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0800 3F80 2480 @@ -529995,7 +569536,7 @@ ENCODING 40764 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1020 3C20 24A0 @@ -530013,7 +569554,7 @@ ENCODING 40765 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 7900 4900 @@ -530031,7 +569572,7 @@ ENCODING 40766 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7BE0 4880 @@ -530049,7 +569590,7 @@ ENCODING 40767 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 77E0 5280 @@ -530067,7 +569608,7 @@ ENCODING 40768 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7100 5100 @@ -530085,7 +569626,7 @@ ENCODING 40769 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 7200 53E0 @@ -530103,7 +569644,7 @@ ENCODING 40770 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 77C0 5140 @@ -530121,7 +569662,7 @@ ENCODING 40771 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 7240 53C0 @@ -530139,7 +569680,7 @@ ENCODING 40772 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 73E0 51C0 @@ -530157,7 +569698,7 @@ ENCODING 40773 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BE0 4A20 @@ -530175,7 +569716,7 @@ ENCODING 40774 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 22A0 7D40 4AA0 @@ -530193,7 +569734,7 @@ ENCODING 40775 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 7100 57E0 @@ -530211,7 +569752,7 @@ ENCODING 40776 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2280 7FE0 4AA0 @@ -530229,7 +569770,7 @@ ENCODING 40777 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 7240 57E0 @@ -530247,7 +569788,7 @@ ENCODING 40778 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A40 @@ -530265,7 +569806,7 @@ ENCODING 40779 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A20 @@ -530283,7 +569824,7 @@ ENCODING 40780 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A20 @@ -530301,7 +569842,7 @@ ENCODING 40781 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A20 @@ -530319,7 +569860,7 @@ ENCODING 40782 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A20 @@ -530337,7 +569878,7 @@ ENCODING 40783 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0A20 @@ -530355,7 +569896,7 @@ ENCODING 40784 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 1080 @@ -530373,7 +569914,7 @@ ENCODING 40785 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 0900 @@ -530391,7 +569932,7 @@ ENCODING 40786 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -530409,7 +569950,7 @@ ENCODING 40787 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5D00 5100 @@ -530427,7 +569968,7 @@ ENCODING 40788 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5D00 5100 @@ -530445,7 +569986,7 @@ ENCODING 40789 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 BD00 A1E0 @@ -530463,7 +570004,7 @@ ENCODING 40790 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 BC40 A140 @@ -530481,7 +570022,7 @@ ENCODING 40791 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1060 5D80 5100 @@ -530499,7 +570040,7 @@ ENCODING 40792 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5C80 5140 @@ -530517,7 +570058,7 @@ ENCODING 40793 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5FE0 5420 @@ -530535,7 +570076,7 @@ ENCODING 40794 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5900 53E0 @@ -530553,7 +570094,7 @@ ENCODING 40795 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5D40 5540 @@ -530571,7 +570112,7 @@ ENCODING 40796 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5D40 5140 @@ -530589,7 +570130,7 @@ ENCODING 40797 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5C80 5080 @@ -530607,7 +570148,7 @@ ENCODING 40798 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 5D20 5120 @@ -530625,7 +570166,7 @@ ENCODING 40799 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 5D40 5140 @@ -530643,7 +570184,7 @@ ENCODING 40800 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5D20 5120 @@ -530661,7 +570202,7 @@ ENCODING 40801 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5C80 5140 @@ -530679,7 +570220,7 @@ ENCODING 40802 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5980 5240 @@ -530697,7 +570238,7 @@ ENCODING 40803 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5D00 51E0 @@ -530715,7 +570256,7 @@ ENCODING 40804 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2500 7FC0 0800 @@ -530733,7 +570274,7 @@ ENCODING 40805 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 BFE0 A2A0 @@ -530751,7 +570292,7 @@ ENCODING 40806 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 BD20 A120 @@ -530769,7 +570310,7 @@ ENCODING 40807 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 2120 FE40 @@ -530787,7 +570328,7 @@ ENCODING 40808 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5A60 5220 @@ -530805,7 +570346,7 @@ ENCODING 40809 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5BE0 5140 @@ -530823,7 +570364,7 @@ ENCODING 40810 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21E0 BD20 A120 @@ -530841,7 +570382,7 @@ ENCODING 40811 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 BC20 A4A0 @@ -530859,7 +570400,7 @@ ENCODING 40812 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 BC80 A3E0 @@ -530877,7 +570418,7 @@ ENCODING 40813 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1120 5AC0 5280 @@ -530895,7 +570436,7 @@ ENCODING 40814 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 BBE0 A080 @@ -530913,7 +570454,7 @@ ENCODING 40815 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 BB60 A220 @@ -530931,7 +570472,7 @@ ENCODING 40816 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1140 5BE0 5140 @@ -530949,7 +570490,7 @@ ENCODING 40817 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2780 BD00 A5E0 @@ -530967,7 +570508,7 @@ ENCODING 40818 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 B880 A3E0 @@ -530985,7 +570526,7 @@ ENCODING 40819 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17E0 5CA0 57E0 @@ -531003,7 +570544,7 @@ ENCODING 40820 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 BBE0 A140 @@ -531021,7 +570562,7 @@ ENCODING 40821 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 BAA0 A3E0 @@ -531039,7 +570580,7 @@ ENCODING 40822 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 BAA0 A3E0 @@ -531057,7 +570598,7 @@ ENCODING 40823 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 BC20 A7E0 @@ -531075,7 +570616,7 @@ ENCODING 40824 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2220 B940 A3E0 @@ -531093,7 +570634,7 @@ ENCODING 40825 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 7FC0 0400 @@ -531111,7 +570652,7 @@ ENCODING 40826 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5BE0 52A0 @@ -531129,7 +570670,7 @@ ENCODING 40827 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5DE0 5080 @@ -531147,7 +570688,7 @@ ENCODING 40828 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1280 5FE0 5280 @@ -531165,7 +570706,7 @@ ENCODING 40829 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2240 B7E0 A2C0 @@ -531183,7 +570724,7 @@ ENCODING 40830 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 38C0 FCA0 A7E0 @@ -531201,7 +570742,7 @@ ENCODING 40831 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 27C0 2400 @@ -531219,7 +570760,7 @@ ENCODING 40832 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5D00 5120 @@ -531237,7 +570778,7 @@ ENCODING 40833 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 5DE0 5200 @@ -531255,7 +570796,7 @@ ENCODING 40834 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 5D80 5100 @@ -531273,7 +570814,7 @@ ENCODING 40835 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11C0 5D40 5140 @@ -531291,7 +570832,7 @@ ENCODING 40836 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1080 5C80 5140 @@ -531309,7 +570850,7 @@ ENCODING 40837 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 5A00 53E0 @@ -531327,7 +570868,7 @@ ENCODING 40838 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5920 5120 @@ -531345,7 +570886,7 @@ ENCODING 40839 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1040 5940 5540 @@ -531363,7 +570904,7 @@ ENCODING 40840 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5A20 53E0 @@ -531381,7 +570922,7 @@ ENCODING 40841 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 B900 A3C0 @@ -531399,7 +570940,7 @@ ENCODING 40842 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5A20 5220 @@ -531417,7 +570958,7 @@ ENCODING 40843 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13E0 5880 53E0 @@ -531435,7 +570976,7 @@ ENCODING 40844 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23E0 BA20 A3E0 @@ -531453,7 +570994,7 @@ ENCODING 40845 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 11E0 FD00 29E0 @@ -531471,7 +571012,7 @@ ENCODING 40846 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 7FE0 4900 7FC0 @@ -531489,7 +571030,7 @@ ENCODING 40847 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 7FC0 2A00 @@ -531507,7 +571048,7 @@ ENCODING 40848 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 FFE0 9100 @@ -531525,7 +571066,7 @@ ENCODING 40849 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE00 53C0 @@ -531543,7 +571084,7 @@ ENCODING 40850 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 13C0 FE00 4BC0 @@ -531561,7 +571102,7 @@ ENCODING 40851 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4480 44E0 FF80 @@ -531579,7 +571120,7 @@ ENCODING 40852 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 FE00 53C0 @@ -531597,7 +571138,7 @@ ENCODING 40853 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3F80 D160 1F00 @@ -531615,7 +571156,7 @@ ENCODING 40854 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4940 EFE0 AAC0 @@ -531633,7 +571174,7 @@ ENCODING 40855 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1F80 0400 FFE0 @@ -531651,7 +571192,7 @@ ENCODING 40856 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBC0 5040 FFC0 @@ -531669,7 +571210,7 @@ ENCODING 40857 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 0880 0800 @@ -531687,7 +571228,7 @@ ENCODING 40858 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0900 FFE0 0A80 @@ -531705,7 +571246,7 @@ ENCODING 40859 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0400 1B00 E0E0 @@ -531723,7 +571264,7 @@ ENCODING 40860 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 7FC0 4040 @@ -531741,7 +571282,7 @@ ENCODING 40861 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3200 CFC0 4840 @@ -531759,7 +571300,7 @@ ENCODING 40862 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 5500 3BE0 FE40 @@ -531777,7 +571318,7 @@ ENCODING 40863 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 1F00 2200 @@ -531795,7 +571336,7 @@ ENCODING 40864 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0E00 3180 DF60 @@ -531813,7 +571354,7 @@ ENCODING 40865 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 2900 45E0 @@ -531831,7 +571372,7 @@ ENCODING 40866 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 3840 4580 BA80 @@ -531849,7 +571390,7 @@ ENCODING 40867 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 23C0 3040 4BC0 @@ -531867,7 +571408,7 @@ ENCODING 40868 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 32A0 4BC0 B6A0 @@ -531885,7 +571426,7 @@ ENCODING 40869 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 27E0 5080 8BC0 @@ -531903,7 +571444,7 @@ ENCODING 40870 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2540 2FE0 2820 @@ -531921,7 +571462,7 @@ ENCODING 40871 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0FC0 E940 AFC0 @@ -531938,26 +571479,26 @@ STARTCHAR U_9FA8 ENCODING 40872 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -7FE0 -4A00 -5FC0 -5200 -7FC0 -5200 -5FC0 -5200 -5FC0 -5000 -7FE0 +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 +BITMAP 1080 FFE0 5080 @@ -531975,7 +571516,7 @@ ENCODING 40874 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2100 F900 @@ -531993,7 +571534,7 @@ ENCODING 40875 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 F900 2280 @@ -532011,7 +571552,7 @@ ENCODING 40876 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2000 2FE0 5AA0 @@ -532029,7 +571570,7 @@ ENCODING 40877 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FBE0 A2A0 F3E0 @@ -532047,7 +571588,7 @@ ENCODING 40878 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP FEE0 AAA0 F660 @@ -532065,7 +571606,7 @@ ENCODING 40879 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2140 3120 4FE0 @@ -532082,10 +571623,8 @@ STARTCHAR U_9FB0 ENCODING 40880 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 +BBX 11 9 0 -1 +BITMAP 0400 0400 0400 @@ -532100,8 +571639,8 @@ STARTCHAR U_9FB1 ENCODING 40881 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 10 11 0 -1 +BITMAP FFC0 8040 A140 @@ -532119,7 +571658,7 @@ ENCODING 40882 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 2FE0 5880 @@ -532137,7 +571676,7 @@ ENCODING 40883 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2080 7BC0 2080 @@ -532154,26 +571693,21 @@ STARTCHAR U_9FB4 ENCODING 40884 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -0000 -0000 -0000 -7FC0 -0080 -0500 -0200 -0100 +BBX 9 6 1 1 +BITMAP +FF80 0100 -0000 -0000 +0A00 +0400 +0200 +0200 ENDCHAR STARTCHAR U_9FB5 ENCODING 40885 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 9 0 1 +BITMAP 0380 3C00 0400 @@ -532183,15 +571717,13 @@ FFE0 1000 2000 C000 -0000 -0000 ENDCHAR STARTCHAR U_9FB6 ENCODING 40886 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 7 0 3 +BITMAP 0400 0400 7FC0 @@ -532199,53 +571731,37 @@ BITMAP 3F80 0400 FFE0 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_9FB7 ENCODING 40887 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 4 0 6 +BITMAP 1100 7FC0 1100 FFE0 -0000 -0000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_9FB8 ENCODING 40888 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 6 0 4 +BITMAP 0400 2480 1500 7FE0 4040 8000 -0000 -0000 -0000 -0000 -0000 ENDCHAR STARTCHAR U_9FB9 ENCODING 40889 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP +BBX 11 9 0 1 +BITMAP 2480 1500 7FC0 @@ -532255,33 +571771,31 @@ FFE0 1100 2080 C060 -0000 -0000 ENDCHAR STARTCHAR U_9FBA ENCODING 40890 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 0 -1 -BITMAP -2000 -F800 -2000 -F800 -8800 -F800 -8800 -F800 -2000 -F800 -2000 +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 11 0 -1 -BITMAP +BBX 11 8 0 2 +BITMAP 2440 4E80 F1E0 @@ -532290,16 +571804,13 @@ F1E0 0E00 AAA0 AEA0 -0000 -0000 -0000 ENDCHAR STARTCHAR U_9FBC ENCODING 40892 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 21C0 2100 2FE0 @@ -532317,7 +571828,7 @@ ENCODING 40893 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2200 23C0 2480 @@ -532335,7 +571846,7 @@ ENCODING 40894 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1200 1200 7FE0 @@ -532353,7 +571864,7 @@ ENCODING 40895 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -532371,7 +571882,7 @@ ENCODING 40896 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -532389,7 +571900,7 @@ ENCODING 40897 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4280 2280 FFE0 @@ -532407,7 +571918,7 @@ ENCODING 40898 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 2100 FBC0 2240 @@ -532425,7 +571936,7 @@ ENCODING 40899 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 0100 F100 9FE0 @@ -532443,7 +571954,7 @@ ENCODING 40900 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FC0 A240 4E40 @@ -532461,7 +571972,7 @@ ENCODING 40901 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4FE0 2100 FFE0 @@ -532479,7 +571990,7 @@ ENCODING 40902 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2100 F7E0 @@ -532497,7 +572008,7 @@ ENCODING 40903 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1400 1780 2900 @@ -532515,7 +572026,7 @@ ENCODING 40904 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 17C0 2440 4440 @@ -532533,7 +572044,7 @@ ENCODING 40905 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1000 2FE0 4100 @@ -532551,7 +572062,7 @@ ENCODING 40906 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 1100 FFE0 1100 @@ -532569,7 +572080,7 @@ ENCODING 40907 SWIDTH 1000 0 DWIDTH 12 0 BBX 11 11 0 -1 -BITMAP +BITMAP 4100 2FE0 F100 @@ -544853,6 +584364,144 @@ FFE0 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 @@ -544888,19 +584537,19 @@ STARTCHAR U_FE33 ENCODING 65075 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 11 5 -1 +BBX 1 11 5 -1 BITMAP -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 -8000 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 ENDCHAR STARTCHAR U_FE34 ENCODING 65076 @@ -545558,9 +585207,8 @@ STARTCHAR U_FF03 ENCODING 65283 SWIDTH 1000 0 DWIDTH 12 0 -BBX 8 12 2 -1 +BBX 8 11 2 -1 BITMAP -00 12 12 12 @@ -545681,15 +585329,15 @@ STARTCHAR U_FF0A ENCODING 65290 SWIDTH 1000 0 DWIDTH 12 0 -BBX 11 7 0 1 +BBX 7 7 0 1 BITMAP -1000 -1000 -D600 -3800 -2800 -4400 -4400 +10 +10 +D6 +38 +28 +44 +44 ENDCHAR STARTCHAR U_FF0B ENCODING 65291 @@ -546802,7 +586450,7 @@ STARTCHAR U_FF50 ENCODING 65360 SWIDTH 1000 0 DWIDTH 12 0 -BBX 7 8 2 -1 +BBX 6 8 2 -1 BITMAP F8 44 @@ -547082,4 +586730,21 @@ E380 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 index 4f54dfb77dfe..1201e99800e8 100644 --- a/buildroot/share/fonts/u8glib-bdf2u8g.patch +++ b/buildroot/share/fonts/u8glib-bdf2u8g.patch @@ -1,47 +1,32 @@ ---- tools/font/bdf2u8g/bdf2u8g.c 2017-04-08 01:04:48.000000000 -0400 -+++ tools/font/bdf2u8g/bdf2u8g.c 2018-02-24 17:24:26.368926703 -0500 -@@ -175,9 +175,9 @@ - for( i = 0; i < data_pos; i++ ) - { - #ifdef BDF2U8G_COMPACT_OUTPUT -- fprintf(out_fp, "%d", data_buf[i]); -+ fprintf(out_fp, "0x%02x", data_buf[i]); - #else -- fprintf(out_fp, "%3d", data_buf[i]); -+ fprintf(out_fp, "0x%02x", data_buf[i]); - #endif - if ( i+1 != data_pos ) - fprintf(out_fp, ","); -@@ -484,7 +484,8 @@ - int bdf_char_max_y; - int bdf_char_min_y; - --int bdf_delta_x; /* DWIDTH arg 1 */ -+int bdf_delta_x_default = -1; -+int bdf_delta_x = -1; /* DWIDTH arg 1 */ - int bdf_delta_max_x; - int bdf_delta_min_x; - int bdf_delta_y; /* DWIDTH arg 2 */ -@@ -1095,6 +1096,22 @@ - bdf_char_ascent = bdf_char_height + bdf_char_y; - //printf("h:%d w:%d ascent: %d\n", bdf_char_height, bdf_char_width, bdf_char_ascent); - } -+ else if ( strcmp(p_buf, "CHARS") == 0 ) -+ { -+ if (bdf_delta_x < 0) { -+ bdf_delta_x = 0; -+ } -+ if (bdf_delta_x_default < 0) { -+ bdf_delta_x_default = bdf_delta_x; -+ } -+ } -+ else if ( strcmp(p_buf, "STARTCHAR") == 0 ) -+ { -+ if (bdf_delta_x_default < 0) { -+ bdf_delta_x_default = 0; -+ } -+ bdf_delta_x = bdf_delta_x_default; -+ } - else if ( strcmp(p_buf, "BITMAP") == 0 ) - { - bdf_line_state = BDF_LINE_STATE_BITMAP; +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 index f105cf2cb09f..314b5d5c06c3 100644 --- a/buildroot/share/fonts/uxggenpages.md +++ b/buildroot/share/fonts/uxggenpages.md @@ -2,68 +2,46 @@ ### 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 if they save -with UTF-8 encoding. The only extra step is to regenerate the font data from -an existing BDF font file. +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 +1. Prepare the translation source file -You need to add a language header file language_xx.h, -where xx is the language/country code, for example en is for English. -You may start with a existing language file by copying it to a new location: +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 you can replace the strings in the macro _UxGT(). +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 is to gather the glyph appearing in the language file from a 9pt bitmap font, -and save the data in a language_data_xx.h file. So the font used for conversion should -contain all the characters in your language file. - -The default bitmap font is WQY's 9pt bitmap font. You may download from +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. -http://wenq.org/daily/wqy-bitmapfont-bdf-gb18030-nightly_build.tar.gz +The default bitmap font is WQY's 9pt bitmap font. -or install in Debian/Ubuntu system: +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 need also compile the bdf2u8g which convert the BDF font file to U8glib supported data structures. -Before you compile bdf2u8g, it would better to patch the source file bdf2u8g.c. +You also need to compile the `bdf2u8g` binary to convert BDF font files into U8glib data structures: -``` +```bash cd marlin-git/buildroot/share/fonts/ -wget https://github.com/olikraus/u8glib/archive/master.zip -unzip master.zip -cd u8glib-master/ -patch -p0 < ../u8glib-bdf2u8g.patch -make -C tools/font/bdf2u8g/ -cd - -ln -s u8glib-master/tools/font/bdf2u8g/bdf2u8g +./get-bdf2u8g.sh ``` -The 'genallfont.sh' script will generate the font data for all of the -language translation files. +The `genallfont.sh` script generates font data for all language translation files. -You may specify the language list you want to process. For example: +You may specify a list of languages to process. For example: ```bash MARLIN_LANGS="zh_CN zh_TW" @@ -78,8 +56,7 @@ MARLIN_LANGS="zh_CN zh_TW" ../buildroot/share/fonts/genallfont.sh 3. Change the language settings -To compile the firmware for your language, you need choose a language -in `Configuration.h`. For Chinese (Taiwan) you would use: +To compile Marlin with your language, choose a language in `Configuration.h`. For Chinese (Taiwan) you would use: ```cpp #define LCD_LANGUAGE zh_TW @@ -87,42 +64,34 @@ in `Configuration.h`. For Chinese (Taiwan) you would use: 4. Compile and Upload the firmware -Open `Marlin.ino` in your IDE and compile the firmware. If it's compiled succeeds, upload it to your Arduino hardware. - +Open `Marlin.ino` in your IDE and compile the firmware. Once the build succeeds, upload it to your board. ### Update the language translation -If you change the language files, you need to run the script `genallfont.sh` -again to update the font data file. - +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.) +You may need to use a different font to support your own language, because the default 9pt font is not complete. (You may also support them by adding the missing glyphs to the font.) -After you've prepared your font, specify the font file path as an argument to -`genallfont.sh`, so that the font used for your language is your new font. For -example, your new font file name is `newfont.bdf`, then run the following command: +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 if you just want to regenerate the language font data for a specific language: +...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 -Even the tool and the language engine can be easily updated, -since it use the common bitmap font files and UTF-8 text, -the maintainer need to confirm that the fonts contains the glyph -in the language files. +The 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. -The font file currently used to generate the font data is the file ISO10646-0-3.bdf, -which is combined with the Marlin's ISO10646-1 fonts and WQY 9pt bitmap font. +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 @@ -135,7 +104,7 @@ which is combined with the Marlin's ISO10646-1 fonts and WQY 9pt bitmap font. Documents related to the old version of the language engine: - [Marlin Fonts Documentation](http://www.marlinfw.org/docs/development/fonts.html) -- [Marlin LCD Language](https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language) +- [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 index b98595472f22..6cf6c4976959 100755 --- a/buildroot/share/fonts/uxggenpages.sh +++ b/buildroot/share/fonts/uxggenpages.sh @@ -5,15 +5,17 @@ # # This script will generate u8g c files for specified fonts # -# Copyright 2015-2016 Yunhui Fu +# Copyright 2015-2018 Yunhui Fu # License: GPL/BSD ##################################################################### -my_getpath () { - PARAM_DN="$1" + +my_getpath() { + local PARAM_DN="$1" shift + #readlink -f - DN="${PARAM_DN}" - FN= + local DN="${PARAM_DN}" + local FN= if [ ! -d "${DN}" ]; then FN=$(basename "${DN}") DN=$(dirname "${DN}") @@ -21,48 +23,49 @@ my_getpath () { cd "${DN}" > /dev/null 2>&1 DN=$(pwd) cd - > /dev/null 2>&1 - echo "${DN}/${FN}" + 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") ) -if [ ! "${DN_EXEC}" = "" ]; then - DN_EXEC="$(my_getpath "${DN_EXEC}")/" -else - DN_EXEC="${DN_EXEC}/" -fi + ##################################################################### + EXEC_GENPAGES=${DN_EXEC}/genpages [ -x "${EXEC_GENPAGES}" ] || EXEC_GENPAGES="$(my_getpath ${DN_EXEC}/../../../genpages)" [ -x "${EXEC_GENPAGES}" ] || EXEC_GENPAGES=$(which genpages) [ -x "${EXEC_GENPAGES}" ] || { echo "Error: genpages not found!" ; exit 1; } - -echo "EXEC_GENPAGES=${EXEC_GENPAGES}" +#echo "EXEC_GENPAGES=${EXEC_GENPAGES}" EXEC_BDF2U8G=${DN_EXEC}/bdf2u8g [ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G="${DN_EXEC}/../../../bdf2u8g" [ -x "${EXEC_BDF2U8G}" ] || EXEC_BDF2U8G=$(which bdf2u8g) -[ -x "${EXEC_BDF2U8G}" ] || { echo "Error: bdf2u8g not found!" ; echo "Please compile u8blib/tools/font/bdf2u8g/bdf2u8g and link to it from here!"; exit 1; } +[ -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="ISO10646-0-1" +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" -echo "FN_FONT=${FN_FONT}" [ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/misc/${FN_FONT_BASE}.bdf" -echo "FN_FONT2=${FN_FONT}" +#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" @@ -87,10 +90,11 @@ fi #(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 > tmp-proc-page.awk +cat << EOF >"proc.awk" BEGIN { cur_page=0; val_begin=0; @@ -135,33 +139,36 @@ BEGIN { } EOF -grep -Hrn _UxGT . | grep '"' | \ - sed 's/_UxGT("/\n&/g;s/[^\n]*\n_UxGT("\([^"]*\)[^\n]*/\1 /g;s/.$//' | \ - ${EXEC_GENPAGES} | \ - sort -k 1n -k 2n | uniq | \ - gawk -v EXEC_PREFIX=${DN_EXEC} -f tmp-proc-page.awk | \ - while read PAGE BEGIN END UTF8BEGIN UTF8END; do \ +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 ; - #sed -i 's|#include "u8g.h"|#include |' ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h ; - fi ;\ - grep -A 10000000000 u8g_fntpgm_uint8_t ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h >> tmpa ;\ + fi ; \ + grep -A 10000000000 u8g_fntpgm_uint8_t ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h >> tmpa ; \ echo " FONTDATA_ITEM(${PAGE}, ${BEGIN}, ${END}, fontpage_${PAGE}_${BEGIN}_${END}), // '${UTF8BEGIN}' -- '${UTF8END}'" >> tmpb ;\ done -rm -f fontutf8-data.h -echo "/* Generated by $0 */" >> fontutf8-data.h -echo "/* This file is generated automatically, any changes to the file may be REPLACED by future processing. */" >> fontutf8-data.h -echo "/* Please turn to the tools call this script to change the contents! */" >> fontutf8-data.h -echo "" >> fontutf8-data.h -echo "#include " >> fontutf8-data.h -#echo "#include \"fontutf8u8g.h\"" >> fontutf8-data.h -echo "" >> fontutf8-data.h -cat tmpa >> fontutf8-data.h -echo "" >> fontutf8-data.h -echo "#define FONTDATA_ITEM(page, begin, end, data) {page, begin, end, NUM_ARRAY(data), data}" >> fontutf8-data.h -echo "static const uxg_fontinfo_t g_fontinfo[] PROGMEM = {" >> fontutf8-data.h -cat tmpb >> fontutf8-data.h -echo "};" >> fontutf8-data.h - -rm -f tmpa tmpb tmp-proc-page.awk +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 db7f4e759311..49731ef91a5a 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,59 @@ 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} +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@<3.4.0 +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, Marlin/src/HAL/HAL_LPC1768/upload_extra_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 = + TMC2208Stepper@>=0.2.1 +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 +181,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@<4.4.0 +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 +258,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 + } + ] +}