From 912d8f7dbc629fd4a7017ceb8d64cb6f050f3dea Mon Sep 17 00:00:00 2001 From: brentru Date: Fri, 13 Mar 2020 10:42:42 -0400 Subject: [PATCH 01/85] update pyportal aio planter --- pyportal_pet_planter/code.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pyportal_pet_planter/code.py b/pyportal_pet_planter/code.py index c432dc5fa..9349bb42f 100755 --- a/pyportal_pet_planter/code.py +++ b/pyportal_pet_planter/code.py @@ -11,7 +11,7 @@ import neopixel from adafruit_bitmap_font import bitmap_font from adafruit_display_text.label import Label from adafruit_io.adafruit_io import IO_MQTT -from adafruit_minimqtt import MQTT +import adafruit_minimqtt as MQTT from adafruit_pyportal import PyPortal from adafruit_seesaw.seesaw import Seesaw from simpleio import map_range @@ -181,14 +181,13 @@ while not esp.is_connected: continue print("Connected to WiFi!") -# Initialize a new MiniMQTT Client object -mqtt_client = MQTT( - socket=socket, - broker="io.adafruit.com", - username=secrets["aio_username"], - password=secrets["aio_key"], - network_manager=wifi -) +# Initialize MQTT interface with the esp interface +MQTT.set_socket(socket, esp) + +# Initialize a new MQTT Client object +mqtt_client = MQTT.MQTT(broker="https://io.adafruit.com", + username=secrets["aio_user"], + password=secrets["aio_key"]) # Adafruit IO Callback Methods # pylint: disable=unused-argument From f8b20a860b3d80e5809a657afe12c2001b354b8a Mon Sep 17 00:00:00 2001 From: brentru Date: Fri, 13 Mar 2020 10:50:16 -0400 Subject: [PATCH 02/85] update aws planter --- PyPortal_AWS_IOT_Planter/code.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PyPortal_AWS_IOT_Planter/code.py b/PyPortal_AWS_IOT_Planter/code.py index b98f893bc..f9f91bcb9 100755 --- a/PyPortal_AWS_IOT_Planter/code.py +++ b/PyPortal_AWS_IOT_Planter/code.py @@ -15,7 +15,7 @@ import neopixel from adafruit_esp32spi import adafruit_esp32spi from adafruit_esp32spi import adafruit_esp32spi_wifimanager import adafruit_esp32spi.adafruit_esp32spi_socket as socket -from adafruit_minimqtt import MQTT +import adafruit_minimqtt as MQTT from adafruit_aws_iot import MQTT_CLIENT from adafruit_seesaw.seesaw import Seesaw import aws_gfx_helper @@ -82,6 +82,9 @@ print("Connecting to WiFi...") wifi.connect() print("Connected!") +# Initialize MQTT interface with the esp interface +MQTT.set_socket(socket, esp) + # Soil Sensor Setup i2c_bus = busio.I2C(board.SCL, board.SDA) ss = Seesaw(i2c_bus, addr=0x36) @@ -120,10 +123,8 @@ def message(client, topic, msg): print("Message from {}: {}".format(topic, msg)) # Set up a new MiniMQTT Client -client = MQTT(socket, - broker = secrets['broker'], - client_id = secrets['client_id'], - network_manager = wifi) +client = MQTT.MQTT(broker = secrets['broker'], + client_id = secrets['client_id']) # Initialize AWS IoT MQTT API Client aws_iot = MQTT_CLIENT(client) From 6cd9b6053e53344e9fdacfc69b964a55adfabecc Mon Sep 17 00:00:00 2001 From: brentru Date: Fri, 13 Mar 2020 11:29:49 -0400 Subject: [PATCH 03/85] add gcp --- PyPortal_GCP_IOT_Planter/code.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/PyPortal_GCP_IOT_Planter/code.py b/PyPortal_GCP_IOT_Planter/code.py index f845cc880..46fa3f827 100755 --- a/PyPortal_GCP_IOT_Planter/code.py +++ b/PyPortal_GCP_IOT_Planter/code.py @@ -15,7 +15,7 @@ import neopixel from adafruit_esp32spi import adafruit_esp32spi, adafruit_esp32spi_wifimanager import adafruit_esp32spi.adafruit_esp32spi_socket as socket from adafruit_gc_iot_core import MQTT_API, Cloud_Core -from adafruit_minimqtt import MQTT +import adafruit_minimqtt as MQTT from adafruit_seesaw.seesaw import Seesaw import digitalio @@ -44,6 +44,9 @@ print("Connecting to WiFi...") wifi.connect() print("Connected!") +# Initialize MQTT interface with the esp interface +MQTT.set_socket(socket, esp) + # Soil Sensor Setup i2c_bus = busio.I2C(board.SCL, board.SDA) ss = Seesaw(i2c_bus, addr=0x36) @@ -138,12 +141,10 @@ jwt = google_iot.generate_jwt() print("Your JWT is: ", jwt) # Set up a new MiniMQTT Client -client = MQTT(socket, - broker=google_iot.broker, - username=google_iot.username, - password=jwt, - client_id=google_iot.cid, - network_manager=wifi) +client = MQTT.MQTT(broker=google_iot.broker, + username=google_iot.username, + password=jwt, + client_id=google_iot.cid) # Initialize Google MQTT API Client google_mqtt = MQTT_API(client) @@ -187,4 +188,5 @@ while True: except (ValueError, RuntimeError) as e: print("Failed to get data, retrying", e) wifi.reset() + google_mqtt.reconnect() continue From c4f3120f9aafa84ae294062566413665e828e543 Mon Sep 17 00:00:00 2001 From: Jeremy Holland Date: Sat, 14 Mar 2020 14:42:32 -0400 Subject: [PATCH 04/85] Changed function call to property reference --- Adafruit_Feather_Sense/feather_sense_sensor_demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Adafruit_Feather_Sense/feather_sense_sensor_demo.py b/Adafruit_Feather_Sense/feather_sense_sensor_demo.py index 6e1b5262c..5a37503f7 100755 --- a/Adafruit_Feather_Sense/feather_sense_sensor_demo.py +++ b/Adafruit_Feather_Sense/feather_sense_sensor_demo.py @@ -37,7 +37,7 @@ while True: print("\nFeather Sense Sensor Demo") print("---------------------------------------------") - print("Proximity:", apds9960.proximity()) + print("Proximity:", apds9960.proximity) print("Red: {}, Green: {}, Blue: {}, Clear: {}".format(*apds9960.color_data)) print("Temperature: {:.1f} C".format(bmp280.temperature)) print("Barometric pressure:", bmp280.pressure) From 8244b95128c2a625d004c188238c937960c3b497 Mon Sep 17 00:00:00 2001 From: John Park Date: Wed, 18 Mar 2020 09:30:15 -0700 Subject: [PATCH 05/85] first commit --- .../buckaroo_plant_care_bot.py | 99 ++++++++++++++++++ Buckaroo_Plant_Care_Bot/dry.bmp | Bin 0 -> 115256 bytes Buckaroo_Plant_Care_Bot/happy.bmp | Bin 0 -> 115256 bytes 3 files changed, 99 insertions(+) create mode 100644 Buckaroo_Plant_Care_Bot/buckaroo_plant_care_bot.py create mode 100644 Buckaroo_Plant_Care_Bot/dry.bmp create mode 100644 Buckaroo_Plant_Care_Bot/happy.bmp diff --git a/Buckaroo_Plant_Care_Bot/buckaroo_plant_care_bot.py b/Buckaroo_Plant_Care_Bot/buckaroo_plant_care_bot.py new file mode 100644 index 000000000..0b6f0d32e --- /dev/null +++ b/Buckaroo_Plant_Care_Bot/buckaroo_plant_care_bot.py @@ -0,0 +1,99 @@ +# Bonsai Buckaroo + CLUE Plant Care Bot + +import time +import board +from digitalio import DigitalInOut, Direction +from analogio import AnalogIn +from adafruit_clue import clue +from adafruit_display_text import label +import displayio +import terminalio +import pulseio + +moist_level = 50 # adjust this value as needed for your plant + +board.DISPLAY.brightness = 0.8 +clue.pixel.fill(0) # turn off NeoPixel + +clue_display = displayio.Group(max_size=4) + +# draw the dry plant +dry_plant_file = open("dry.bmp", "rb") +dry_plant_bmp = displayio.OnDiskBitmap(dry_plant_file) +dry_plant_sprite = displayio.TileGrid(dry_plant_bmp, pixel_shader=displayio.ColorConverter()) +clue_display.append(dry_plant_sprite) + +# draw the happy plant on top (so it can be moved out of the way when needed) +happy_plant_file = open("happy.bmp", "rb") +happy_plant_bmp = displayio.OnDiskBitmap(happy_plant_file) +happy_plant_sprite = displayio.TileGrid(happy_plant_bmp, pixel_shader=displayio.ColorConverter()) +clue_display.append(happy_plant_sprite) + +# Create text +# first create the group +text_group = displayio.Group(max_size=3, scale=3) +# Make a label +title_label = label.Label(terminalio.FONT, text="CLUE Plant", color=0x00FF22) +# Position the label +title_label.x = 10 +title_label.y = 4 +# Append label to group +text_group.append(title_label) + +soil_label = label.Label(terminalio.FONT, text="Soil: ", color=0xFFAA88, max_glyphs=10) +soil_label.x = 4 +soil_label.y = 64 +text_group.append(soil_label) + +motor_label = label.Label(terminalio.FONT, text="Motor off", color=0xFF0000, max_glyphs=9) +motor_label.x = 4 +motor_label.y = 74 +text_group.append(motor_label) + +clue_display.append(text_group) +board.DISPLAY.show(clue_display) + +motor = DigitalInOut(board.P2) +motor.direction = Direction.OUTPUT + +buzzer = pulseio.PWMOut(board.SPEAKER, variable_frequency=True) +buzzer.frequency = 1000 + +sense_pin = board.P1 +analog = AnalogIn(board.P1) + +def read_and_average(ain, times, wait): + asum = 0 + for _ in range(times): + asum += ain.value + time.sleep(wait) + return asum / times + +time.sleep(5) + +while True: + # take 100 readings and average them + aval = read_and_average(analog, 100, 0.01) + # calculate a percentage (aval ranges from 0 to 65535) + aperc = aval / 65535 * 100 + # display the percentage + soil_label.text = "Soil: {} %".format(int(aperc)) + print((aval, aperc)) + + if aperc < moist_level: + happy_plant_sprite.x = 300 # move the happy sprite away + time.sleep(1) + motor.value = True + motor_label.text = "Motor ON" + motor_label.color = 0x00FF00 + buzzer.duty_cycle = 2**15 + time.sleep(0.5) + + # always turn off quickly + motor.value = False + motor_label.text = "Motor off" + motor_label.color = 0xFF0000 + buzzer.duty_cycle = 0 + + if aperc >= moist_level: + happy_plant_sprite.x = 0 # bring back the happy sprite diff --git a/Buckaroo_Plant_Care_Bot/dry.bmp b/Buckaroo_Plant_Care_Bot/dry.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2f1a0e895bfd3b422e67bd847082d5ff86cdbc37 GIT binary patch literal 115256 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 literal 0 HcmV?d00001 diff --git a/Buckaroo_Plant_Care_Bot/happy.bmp b/Buckaroo_Plant_Care_Bot/happy.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dd83c607df5697425f29c290a24be1759c06c048 GIT binary patch literal 115256 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 Rj%9q)!_wChn{P|Y{{!lpw)_A9 literal 0 HcmV?d00001 From 1281fb888467aeeb657ad2298bf8f0922efe1a6c Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Thu, 19 Mar 2020 14:25:15 -0400 Subject: [PATCH 06/85] Adding Bonsai simple CP example. --- .../Bonsai_Buckaroo_CircuitPython_Code.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 Bonsai_Buckaroo/Bonsai_Buckaroo_CircuitPython_Code.py diff --git a/Bonsai_Buckaroo/Bonsai_Buckaroo_CircuitPython_Code.py b/Bonsai_Buckaroo/Bonsai_Buckaroo_CircuitPython_Code.py new file mode 100755 index 000000000..b984704e5 --- /dev/null +++ b/Bonsai_Buckaroo/Bonsai_Buckaroo_CircuitPython_Code.py @@ -0,0 +1,46 @@ +import time +import board +import digitalio +import analogio +from adafruit_clue import clue + +# Turn off the NeoPixel +clue.pixel.fill(0) + +# Motor setup +motor = digitalio.DigitalInOut(board.P2) +motor.direction = digitalio.Direction.OUTPUT + +# Soil sense setup +analog = analogio.AnalogIn(board.P1) + +def read_and_average(analog_in, times, wait): + analog_sum = 0 + for _ in range(times): + analog_sum += analog_in.value + time.sleep(wait) + return analog_sum / times + +clue_display = clue.simple_text_display(title=" CLUE Plant", title_scale=1, text_scale=3) +clue_display.show() + +while True: + # Take 100 readings and average them + analog_value = read_and_average(analog, 100, 0.01) + # Calculate a percentage (analog_value ranges from 0 to 65535) + percentage = analog_value / 65535 * 100 + # Display the percentage + clue_display[0].text = "Soil: {} %".format(int(percentage)) + # Print the values to the serial console + print((analog_value, percentage)) + + if percentage < 50: + motor.value = True + clue_display[1].text = "Motor ON" + clue_display[1].color = (0, 255, 0) + time.sleep(0.5) + + # always turn off quickly + motor.value = False + clue_display[1].text = "Motor OFF" + clue_display[1].color = (255, 0, 0) From e3d1e1935a05d2040b11320edf5e0ad5f96a391f Mon Sep 17 00:00:00 2001 From: brentru Date: Tue, 24 Mar 2020 18:18:13 -0400 Subject: [PATCH 07/85] add sens --- .../ble_temp_monitor.ino | 187 ++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino new file mode 100644 index 000000000..27c6947c8 --- /dev/null +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -0,0 +1,187 @@ +/********************************************************************* + Learn Guide: BLE Temperature Monitoring Armband + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + MIT license, check LICENSE for more information + All text above, and the splash screen below must be included in + any redistribution +*********************************************************************/ +#include +#include +#include +#include +#include "Adafruit_MCP9808.h" + +// Read temperature in degrees Fahrenheit +#define TEMPERATURE_F +// uncomment the following line if you want to read temperature in degrees Celsius +// #define TEMPERATURE_C + +// Sensor read timeout, in minutes +// NOTE: Measuring your armpit temperature for a minimum +// of 12 minutes is equivalent to measuring your core body temperature. +const long interval = 60000; + +// last time the temperature was read +unsigned long prv_ms = 0; + +// BLE Service +BLEDfu bledfu; // OTA DFU service +BLEDis bledis; // device information +BLEUart bleuart; // uart over ble +BLEBas blebas; // battery + +// Create the MCP9808 temperature sensor object +Adafruit_MCP9808 tempsensor = Adafruit_MCP9808(); + + +void setup() { + Serial.begin(115200); + Serial.println("Wearable BlueFruit Temperature Sensor"); + Serial.println("-------------------------------------\n"); + + + if (!tempsensor.begin(0x18)) { + Serial.println("Couldn't find MCP9808! Check your connections and verify the address is correct."); + while (1); + } + Serial.println("Found MCP9808!"); + + // Sets the resolution of reading + tempsensor.setResolution(3); + + // Configure BLE + // Setup the BLE LED to be enabled on CONNECT + // Note: This is actually the default behaviour, but provided + // here in case you want to control this LED manually via PIN 19 + Bluefruit.autoConnLed(true); + + // Config the peripheral connection with maximum bandwidth + Bluefruit.configPrphBandwidth(BANDWIDTH_MAX); + + Bluefruit.begin(); + Bluefruit.setTxPower(4); // Check bluefruit.h for supported values + Bluefruit.setName("Bluefruit52"); + Bluefruit.Periph.setConnectCallback(connect_callback); + Bluefruit.Periph.setDisconnectCallback(disconnect_callback); + + // To be consistent OTA DFU should be added first if it exists + bledfu.begin(); + + // Configure and Start Device Information Service + bledis.setManufacturer("Adafruit Industries"); + bledis.setModel("Bluefruit Feather52"); + bledis.begin(); + + // Configure and Start BLE Uart Service + bleuart.begin(); + + // Start BLE Battery Service + blebas.begin(); + blebas.write(100); + + // Set up and start advertising + startAdv(); + + Serial.println("Please use Adafruit's Bluefruit LE app to connect in UART mode"); + Serial.println("Once connected, enter character(s) that you wish to send"); + +} + +void loop() { + + unsigned long current_ms = millis(); + + if (current_ms - prv_ms >= (1000*5)) { + prv_ms = current_ms; + + // wakes up MCP9808 - power consumption ~200 mikro Ampere + Serial.println("Wake up MCP9808"); + tempsensor.wake(); + + // read and print the temperature + Serial.print("Temp: "); + #ifdef TEMPERATURE_F + float temp = tempsensor.readTempF(); + Serial.print(temp); + Serial.println("*F."); + #endif + + #ifdef TEMPERATURE_C + float temp = tempsensor.readTempC(); + Serial.print(temp); + Serial.println("*C."); + #endif + + char buffer [8]; + //itoa(temp, buffer, 10); + snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 2, temp); + bleuart.write(buffer); + bleuart.write("\n"); + + // shutdown MSP9808 - power consumption ~0.1 mikro Ampere + // stops temperature sampling + Serial.println("Shutting down MCP9808"); + tempsensor.shutdown_wake(1); + } + +} + + +void startAdv(void) +{ + // Advertising packet + Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE); + Bluefruit.Advertising.addTxPower(); + + // Include bleuart 128-bit uuid + Bluefruit.Advertising.addService(bleuart); + + // Secondary Scan Response packet (optional) + // Since there is no room for 'Name' in Advertising packet + Bluefruit.ScanResponse.addName(); + + /* Start Advertising + * - Enable auto advertising if disconnected + * - Interval: fast mode = 20 ms, slow mode = 152.5 ms + * - Timeout for fast mode is 30 seconds + * - Start(timeout) with timeout = 0 will advertise forever (until connected) + * + * For recommended advertising interval + * https://developer.apple.com/library/content/qa/qa1931/_index.html + */ + Bluefruit.Advertising.restartOnDisconnect(true); + Bluefruit.Advertising.setInterval(32, 244); // in unit of 0.625 ms + Bluefruit.Advertising.setFastTimeout(30); // number of seconds in fast mode + Bluefruit.Advertising.start(0); // 0 = Don't stop advertising after n seconds +} + +// callback invoked when central connects +void connect_callback(uint16_t conn_handle) +{ + // Get the reference to current connection + BLEConnection* connection = Bluefruit.Connection(conn_handle); + + char central_name[32] = { 0 }; + connection->getPeerName(central_name, sizeof(central_name)); + + Serial.print("Connected to "); + Serial.println(central_name); +} + +/** + * Callback invoked when a connection is dropped + * @param conn_handle connection where this event happens + * @param reason is a BLE_HCI_STATUS_CODE which can be found in ble_hci.h + */ +void disconnect_callback(uint16_t conn_handle, uint8_t reason) +{ + (void) conn_handle; + (void) reason; + + Serial.println(); + Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX); +} \ No newline at end of file From 272e9085df71d50b0ddda72eba2298755fa9c43e Mon Sep 17 00:00:00 2001 From: brentru Date: Wed, 25 Mar 2020 12:28:23 -0400 Subject: [PATCH 08/85] switch to buffer, float, power saving with delay, add neopixel for viz. indicator --- .../ble_temp_monitor.ino | 91 ++++++++++++------- 1 file changed, 57 insertions(+), 34 deletions(-) diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino index 27c6947c8..13cd7e0c4 100644 --- a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -13,6 +13,7 @@ #include #include #include +#include #include "Adafruit_MCP9808.h" // Read temperature in degrees Fahrenheit @@ -20,13 +21,22 @@ // uncomment the following line if you want to read temperature in degrees Celsius // #define TEMPERATURE_C +// Feather NRF52840 Built-in NeoPixel +#define PIN 16 +Adafruit_NeoPixel pixels(1, PIN, NEO_GRB + NEO_KHZ800); + +// Maximum temperature value for armband's fever indicator +// NOTE: This is in degrees Fahrenheit, please adjust +float fever_temp = 100.4; + +// offset is +0.5-1.0 degrees to make +// axillary temperature comparible to ear or temporal. +float temp_offset = 0.5; + // Sensor read timeout, in minutes // NOTE: Measuring your armpit temperature for a minimum // of 12 minutes is equivalent to measuring your core body temperature. -const long interval = 60000; - -// last time the temperature was read -unsigned long prv_ms = 0; +const long interval = 1; // BLE Service BLEDfu bledfu; // OTA DFU service @@ -87,46 +97,59 @@ void setup() { startAdv(); Serial.println("Please use Adafruit's Bluefruit LE app to connect in UART mode"); - Serial.println("Once connected, enter character(s) that you wish to send"); + + // initialize neopixel object + pixels.begin(); + + // set all pixel colors to 'off' + pixels.clear(); } void loop() { - unsigned long current_ms = millis(); + // wakes up MCP9808 - power consumption ~200 mikro Ampere + Serial.println("Wake up MCP9808"); + tempsensor.wake(); - if (current_ms - prv_ms >= (1000*5)) { - prv_ms = current_ms; + // read and print the temperature + Serial.print("Temp: "); + #ifdef TEMPERATURE_F + float temp = tempsensor.readTempF(); + Serial.print(temp); + Serial.println("*F."); + #endif - // wakes up MCP9808 - power consumption ~200 mikro Ampere - Serial.println("Wake up MCP9808"); - tempsensor.wake(); + #ifdef TEMPERATURE_C + float temp = tempsensor.readTempC(); + Serial.print(temp); + Serial.println("*C."); + #endif - // read and print the temperature - Serial.print("Temp: "); - #ifdef TEMPERATURE_F - float temp = tempsensor.readTempF(); - Serial.print(temp); - Serial.println("*F."); - #endif + // add temp_offset + temp += temp_offset; - #ifdef TEMPERATURE_C - float temp = tempsensor.readTempC(); - Serial.print(temp); - Serial.println("*C."); - #endif - - char buffer [8]; - //itoa(temp, buffer, 10); - snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 2, temp); - bleuart.write(buffer); - bleuart.write("\n"); - - // shutdown MSP9808 - power consumption ~0.1 mikro Ampere - // stops temperature sampling - Serial.println("Shutting down MCP9808"); - tempsensor.shutdown_wake(1); + if (temp >= fever_temp) { + pixels.setPixelColor(1, pixels.Color(255, 0, 0)); + pixels.show(); } + else { + pixels.clear(); + } + + char buffer [8]; + snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 2, temp); + bleuart.write(buffer); + + // shutdown MSP9808 - power consumption ~0.1 mikro Ampere + // stops temperature sampling + Serial.println("Shutting down MCP9808"); + tempsensor.shutdown_wake(1); + + // sleep for interval minutes + // NOTE: NRF delay puts the MCU into a sleep mode: + // (https://www.freertos.org/low-power-tickless-rtos.html) + delay(1000*60*interval); } From eef3143ec3c80a81a7f974f60d277364f67f5716 Mon Sep 17 00:00:00 2001 From: brentru Date: Wed, 25 Mar 2020 12:29:53 -0400 Subject: [PATCH 09/85] bump interval to every 6min --- Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino index 13cd7e0c4..e69d585a2 100644 --- a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -36,7 +36,7 @@ float temp_offset = 0.5; // Sensor read timeout, in minutes // NOTE: Measuring your armpit temperature for a minimum // of 12 minutes is equivalent to measuring your core body temperature. -const long interval = 1; +const long interval = 6; // BLE Service BLEDfu bledfu; // OTA DFU service @@ -103,7 +103,6 @@ void setup() { // set all pixel colors to 'off' pixels.clear(); - } void loop() { @@ -142,7 +141,6 @@ void loop() { bleuart.write(buffer); // shutdown MSP9808 - power consumption ~0.1 mikro Ampere - // stops temperature sampling Serial.println("Shutting down MCP9808"); tempsensor.shutdown_wake(1); From a392cd0376619b7431bb4e6b56c6d1f7f8986b83 Mon Sep 17 00:00:00 2001 From: brentru Date: Wed, 25 Mar 2020 17:26:46 -0400 Subject: [PATCH 10/85] redo ifdef declr --- .../ble_temp_monitor.ino | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino index e69d585a2..1531d4ae3 100644 --- a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -19,7 +19,7 @@ // Read temperature in degrees Fahrenheit #define TEMPERATURE_F // uncomment the following line if you want to read temperature in degrees Celsius -// #define TEMPERATURE_C +//#define TEMPERATURE_C // Feather NRF52840 Built-in NeoPixel #define PIN 16 @@ -36,7 +36,7 @@ float temp_offset = 0.5; // Sensor read timeout, in minutes // NOTE: Measuring your armpit temperature for a minimum // of 12 minutes is equivalent to measuring your core body temperature. -const long interval = 6; +const long interval = 1; // BLE Service BLEDfu bledfu; // OTA DFU service @@ -47,7 +47,6 @@ BLEBas blebas; // battery // Create the MCP9808 temperature sensor object Adafruit_MCP9808 tempsensor = Adafruit_MCP9808(); - void setup() { Serial.begin(115200); Serial.println("Wearable BlueFruit Temperature Sensor"); @@ -113,16 +112,16 @@ void loop() { // read and print the temperature Serial.print("Temp: "); - #ifdef TEMPERATURE_F + #if defined(TEMPERATURE_F) float temp = tempsensor.readTempF(); Serial.print(temp); Serial.println("*F."); - #endif - - #ifdef TEMPERATURE_C + #elif defined(TEMPERATURE_C) float temp = tempsensor.readTempC(); Serial.print(temp); Serial.println("*C."); + #else + #warning "Must define TEMPERATURE_C or TEMPERATURE_F!" #endif // add temp_offset @@ -137,7 +136,7 @@ void loop() { } char buffer [8]; - snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 2, temp); + snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 1, temp); bleuart.write(buffer); // shutdown MSP9808 - power consumption ~0.1 mikro Ampere @@ -145,13 +144,10 @@ void loop() { tempsensor.shutdown_wake(1); // sleep for interval minutes - // NOTE: NRF delay puts the MCU into a sleep mode: - // (https://www.freertos.org/low-power-tickless-rtos.html) + // NOTE: NRF delay() puts mcu into a low-power sleep mode delay(1000*60*interval); - } - void startAdv(void) { // Advertising packet From bf989b02a899a3af25485a6cd02ff416c5b0606c Mon Sep 17 00:00:00 2001 From: brentru Date: Thu, 26 Mar 2020 11:04:24 -0400 Subject: [PATCH 11/85] wait 12min before sending calibrated temperature to uart, move transmit buffer to global --- .../ble_temp_monitor.ino | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino index 1531d4ae3..784d0a048 100644 --- a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -26,17 +26,22 @@ Adafruit_NeoPixel pixels(1, PIN, NEO_GRB + NEO_KHZ800); // Maximum temperature value for armband's fever indicator -// NOTE: This is in degrees Fahrenheit, please adjust +// NOTE: This is in degrees Fahrenheit float fever_temp = 100.4; -// offset is +0.5-1.0 degrees to make -// axillary temperature comparible to ear or temporal. +// temperature calibration offset is +0.5 to +1.0 degree +// to make axillary temperature comparible to ear or temporal. float temp_offset = 0.5; -// Sensor read timeout, in minutes -// NOTE: Measuring your armpit temperature for a minimum -// of 12 minutes is equivalent to measuring your core body temperature. -const long interval = 1; +// Sensor read delay, in minutes +int sensor_delay = 1; + +// Measuring your armpit temperature for a minimum of 12 minutes +// is equivalent to measuring your core body temperature. +int calibration_time = 12; + +// BLE transmit buffer +char temperature_buf [8]; // BLE Service BLEDfu bledfu; // OTA DFU service @@ -124,28 +129,30 @@ void loop() { #warning "Must define TEMPERATURE_C or TEMPERATURE_F!" #endif - // add temp_offset + // add temperature offset temp += temp_offset; if (temp >= fever_temp) { pixels.setPixelColor(1, pixels.Color(255, 0, 0)); pixels.show(); } - else { - pixels.clear(); - } - char buffer [8]; - snprintf(buffer, sizeof(buffer) - 1, "%0.*f", 1, temp); - bleuart.write(buffer); + snprintf(temperature_buf, sizeof(temperature_buf) - 1, "%0.*f", 1, temp); + if (calibration_time == 0) { + // write to UART + bleuart.write(temperature_buf); + } + else { + calibration_time-=1; + } // shutdown MSP9808 - power consumption ~0.1 mikro Ampere Serial.println("Shutting down MCP9808"); tempsensor.shutdown_wake(1); - // sleep for interval minutes + // sleep for sensor_delay minutes // NOTE: NRF delay() puts mcu into a low-power sleep mode - delay(1000*60*interval); + delay(1000*60*sensor_delay); } void startAdv(void) From f699eb9d014259cea727d056a3f97120419198dc Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 27 Mar 2020 10:04:40 -0500 Subject: [PATCH 12/85] waterfall: adjust to changed name of function --- ulab_Crunch_Numbers_Fast/waterfall.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ulab_Crunch_Numbers_Fast/waterfall.py b/ulab_Crunch_Numbers_Fast/waterfall.py index 4a88ba216..668d950cb 100644 --- a/ulab_Crunch_Numbers_Fast/waterfall.py +++ b/ulab_Crunch_Numbers_Fast/waterfall.py @@ -8,7 +8,7 @@ import board import audiobusio import displayio import ulab -import ulab.fft +import ulab.extras import ulab.vector display = board.DISPLAY @@ -76,7 +76,7 @@ def main(): while True: mic.record(samples_bit, len(samples_bit)) samples = ulab.array(samples_bit[3:]) - spectrogram1 = ulab.fft.spectrum(samples) + spectrogram1 = ulab.extras.spectrogram(samples) # spectrum() is always nonnegative, but add a tiny value # to change any zeros to nonzero numbers spectrogram1 = ulab.vector.log(spectrogram1 + 1e-7) From cdb0777c9dbf4bf0345efe1f43849412a7c2fc48 Mon Sep 17 00:00:00 2001 From: brentru Date: Fri, 27 Mar 2020 13:34:43 -0400 Subject: [PATCH 13/85] inc to 5min delay, fix spelling --- Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino index 784d0a048..a758e46a5 100644 --- a/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino +++ b/Wearable_BLE_Temperature_Monitor/ble_temp_monitor.ino @@ -34,7 +34,7 @@ float fever_temp = 100.4; float temp_offset = 0.5; // Sensor read delay, in minutes -int sensor_delay = 1; +int sensor_delay = 5; // Measuring your armpit temperature for a minimum of 12 minutes // is equivalent to measuring your core body temperature. @@ -146,7 +146,7 @@ void loop() { calibration_time-=1; } - // shutdown MSP9808 - power consumption ~0.1 mikro Ampere + // shutdown MCP9808 - power consumption ~0.1 mikro Ampere Serial.println("Shutting down MCP9808"); tempsensor.shutdown_wake(1); From 22cca651748f0623b99002c49890f70b6931a3cb Mon Sep 17 00:00:00 2001 From: Anne Barela <1911920+TheKitty@users.noreply.github.com> Date: Fri, 27 Mar 2020 14:55:45 -0400 Subject: [PATCH 14/85] Create README.md --- Pybadge_Thermal_Image_Recording/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Pybadge_Thermal_Image_Recording/README.md diff --git a/Pybadge_Thermal_Image_Recording/README.md b/Pybadge_Thermal_Image_Recording/README.md new file mode 100644 index 000000000..0f58798d5 --- /dev/null +++ b/Pybadge_Thermal_Image_Recording/README.md @@ -0,0 +1,9 @@ +## MLX9064- Thermal Image Recording Guide Code + +See https://learn.adafruit.com/mlx90640-thermal-image-recording/ for this guide + +The files consist of an Arduino sketch for an Adafruit Pybadge moard with attached MLX90640 thermal image sensor. + +The Processing directory contains post processing for images. + +Guide by Eduardo Blume for Adafruit Industries. MIT License From 33cdf5c6ac422dbcbe68a64f0b64908940350cca Mon Sep 17 00:00:00 2001 From: Anne Barela <1911920+TheKitty@users.noreply.github.com> Date: Fri, 27 Mar 2020 14:58:57 -0400 Subject: [PATCH 15/85] Add files via upload --- .../Processing/ConvertBMPinspector01.pde | 332 +++++++ .../Processing/ConvertBMPto8bit.pde | 220 +++++ .../thermalimager.ino | 834 ++++++++++++++++++ 3 files changed, 1386 insertions(+) create mode 100644 Pybadge_Thermal_Image_Recording/Processing/ConvertBMPinspector01.pde create mode 100644 Pybadge_Thermal_Image_Recording/Processing/ConvertBMPto8bit.pde create mode 100644 Pybadge_Thermal_Image_Recording/thermalimager.ino diff --git a/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPinspector01.pde b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPinspector01.pde new file mode 100644 index 000000000..435c8c9f0 --- /dev/null +++ b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPinspector01.pde @@ -0,0 +1,332 @@ +// ConvertBMPinspector01 - Read and enlarge a modified 32x24 24-bit gray BMP file, +// display an upscaled 256x192 BMP image in 256 colors. +// Ver. 1 - Fetch filenames and display BMPs in sequence. +// Add nav buttons and mouseover pixel temperatures +// This sketch does no checking for file compatibility. +// Only frm_____.bmp images from the thermal camera sketch will work. +// Any other files in the data folder will fail. + +import java.util.Date; + +byte b[], colorPal[]; // Buffers for input file bytes and for colors + +int i, fileCount = 0, BGcolor = 48, colorMap = 1, + butnsX = 30, butnsY = 290, + offsetX = 153, offsetY = 6, // These value pairs control where the onscreen features appear + numbersX = 40, numbersY = 48, + probeX = 190, probeY = 210; +boolean celsiusFlag = false; +float fixedPoint[]; +String[] filenames; + +void setup() { + + size(480, 360); // Size must be the first statement + background(BGcolor); // Clear the screen with a gray background + + colorPal = new byte[1024]; // Prepare a 1K color table + loadColorTable(colorMap, 0); // Load color table, 1 == ironbow palette + fixedPoint = new float[5]; // A buffer for appended fixed point values + + String path = sketchPath() + "/data"; // Read from the "/data" subdirectory + + filenames = listFileNames(path); + fileCount = filenames.length; + + i = 0; + if(fileCount < 1) { + println("No files found. Stopping."); + noLoop(); + } else { + loadBMPscreen(i); // Read in the first frame for inspection + } +} + +void draw() { + int sampleX, sampleY, pixelVal; + float sampleTemp; + + sampleX = (mouseX - offsetX) >> 3; // Map mouse position to BMP pixel space + sampleY = 23 - ((mouseY - offsetY) >> 3); + + noStroke(); + smooth(); + fill(BGcolor + 16); + rect(probeX, probeY, 180, 40); // Clear the interactive window space + + if((sampleX >= 0) && (sampleX < 32) && (sampleY >= 0) && (sampleY < 24)) { // Mouse within BMP image bounds? + pixelVal = b[54 + (32 * sampleY + sampleX) * 3] & 0xff; // Read the 8-bit pixel value + + fill(colorPal[4 * pixelVal + 2] & 0xFF, colorPal[4 * pixelVal + 1] & 0xFF, colorPal[4 * pixelVal + 0] & 0xFF); + rect(probeX, probeY, 180, 40); + fill(BGcolor); + rect(probeX + 10, probeY + 10, 160, 20); // Draw a colorized frame for the interactive temp readout + + sampleTemp = (float(pixelVal) + 1.0) / 257.0 * (fixedPoint[3] - fixedPoint[1]) + fixedPoint[1]; + if(!celsiusFlag) + sampleTemp = sampleTemp * 1.8 + 32.0; + + fill(255); // Ready to display white interactive text + textSize(11); + text(sampleX, probeX + 154, probeY + 19); // Display X Y position + text(sampleY, probeX + 154, probeY + 29); + textSize(15); + text(sampleTemp, probeX + 60, probeY + 25); // Display temperature + + if(pixelVal == 0 && fixedPoint[0] < fixedPoint[1]) // Pixel values clipped at bottom limit? + text("<", probeX + 40, probeY + 25); // Show out-of-range indicator + if(pixelVal == 255 && fixedPoint[4] > fixedPoint[3]) // Clipped at top? + text(">", probeX + 40, probeY + 25); // Same + } + + noSmooth(); // Clear any highlighted buttons + stroke(0); + noFill(); + for(sampleX = 0; sampleX < 8; ++sampleX) + rect(butnsX + sampleX * 52, butnsY, 51, 24); + + sampleX = mouseX - butnsX; + sampleY = mouseY - butnsY; + if(sampleX >=0 && sampleX < 416 && sampleY >= 0 && sampleY < 24) { // Mouse over buttons? + sampleX = sampleX / 52; // Map mouse X to button X space + stroke(BGcolor + 64); + rect(butnsX + sampleX * 52, butnsY, 51, 24); // Highlight border around a button + } +} + +void keyPressed() { // Load a different thermal BMP image based on keystroke + switch(key) { + case '.': // Next image + i = (i + 1) % fileCount; + break; + case ',': // Prev Image + i = (i + fileCount - 1) % fileCount; + break; + case '>': // 16 images forward + i = i + 16 < fileCount ? i + 16 : fileCount - 1; + break; + case '<': // 16 images back + i = i - 16 < 0 ? 0 : i - 16; + break; + case '/': // Last image + i = fileCount - 1; + break; + case 'm': // First image + i = 0; + break; + } + loadBMPscreen(i); +} + +void mousePressed() { + int sampleX, sampleY; + + sampleX = mouseX - butnsX; + sampleY = mouseY - butnsY; + if(sampleX >=0 && sampleX < 416 && sampleY >= 0 && sampleY < 24) { // Is mouse over button row? + sampleX = sampleX / 52; // Map mouse X to button X space + + switch(sampleX) { + case 1: // First image + i = 0; + break; + case 2: // 16 images back + i = i - 16 < 0 ? 0 : i - 16; + break; + case 3: // Prev Image + i = (i + fileCount - 1) % fileCount; + break; + case 4: // Next image + i = (i + 1) % fileCount; + break; + case 5: // 16 images forward + i = i + 16 < fileCount ? i + 16 : fileCount - 1; + break; + case 6: // Last image + i = fileCount - 1; + break; + case 7: // Change color map + loadColorTable(colorMap = (colorMap + 1) % 5, 0); // Load color table + break; + default: // Toggle C/F + celsiusFlag = !celsiusFlag; + break; + } + loadBMPscreen(i); + } +} + +void loadBMPscreen(int fileIndex) { + int x, y; + + b = loadBytes(filenames[fileIndex]); // Open a file and read its 8-bit data + background(BGcolor); // Clear screen + enlarge8bitColor(); // Place colored enlarged image on screen + + for(x = 0; x < 5; ++x) { // Rebuild 5 float values from next 4*n bytes in the file + fixedPoint[x] = expandFloat(b[2360 + (x * 4) + 0], b[2360 + (x * 4) + 1], + b[2360 + (x * 4) + 2], b[2360 + (x * 4) + 3]); + } + y = ((b[2387] & 0xff) << 24) + ((b[2386] & 0xff) << 16) + + ((b[2385] & 0xff) << 8) + (b[2384] & 0xff); // Reassemble a milliseconds time stamp + + textSize(10); // Print text labels for the frame stats + smooth(); + fill(255); + text(filenames[fileIndex], numbersX + 5, numbersY + 40); // Show current filename + + if(celsiusFlag) + text("Frame\n\n\nSeconds\n\nDegrees C", numbersX + 5, numbersY + 8); + else + text("Frame\n\n\nSeconds\n\nDegrees F", numbersX + 5, numbersY + 8); + + text("Approximate temperatures based on 8-bit pixel values", probeX - 42, probeY + 52); // Show approximation disclaimer + + textSize(15); + text(fileIndex, numbersX + 5, numbersY + 25); // Print frame number + text(float(y) * 0.001, numbersX, numbersY + 74); // Print time stamp in seconds + + if(celsiusFlag) { // Show 3 temps in Celsius + fill(255, 128, 64); + text(fixedPoint[4], numbersX, numbersY + 108); + fill(255, 200, 64); + text(fixedPoint[2], numbersX, numbersY + 128); + fill(128, 128, 255); + text(fixedPoint[0], numbersX, numbersY + 148); + + } else { // or show them in Farenheit + fill(255, 128, 64); + text(fixedPoint[4] * 1.8 + 32.0, numbersX, numbersY + 108); + fill(255, 200, 64); + text(fixedPoint[2] * 1.8 + 32.0, numbersX, numbersY + 128); + fill(128, 128, 255); + text(fixedPoint[0] * 1.8 + 32.0, numbersX, numbersY + 148); + } + + noSmooth(); + stroke(0); + fill(BGcolor + 24); + for(x = 0; x < 8; ++x) // Draw 8 button rectangles + rect(butnsX + x * 52, butnsY, 51, 24); + for(x = 0; x < 50; ++x) { // Paint a mini colormap gradient within last button + y = int(map(x, 0, 50, 0, 255)); + stroke(colorPal[4 * y + 2] & 0xFF, colorPal[4 * y + 1] & 0xFF, colorPal[4 * y + 0] & 0xFF); + line(butnsX + 365 + x, butnsY + 1, butnsX + 365 + x, butnsY + 23); + } + smooth(); // Add text labels to buttons + fill(255); + textSize(15); + text("|< << < > >> >|", butnsX + 70, butnsY + 17); + if(celsiusFlag) + text("C", butnsX + 20, butnsY + 18); + else + text("F", butnsX + 20, butnsY + 18); +} + +void enlarge8bitColor() { // Convert a small gray BMP array and plot an enlarged colormapped version + int x, y; + + noStroke(); + + for(y = 0; y < 24; ++y) { // Count all source pixels + for(x = 0; x < 32; ++x) { + int pixMid = b[54 + ((32 * y + x) + 0) * 3] & 0xFF; + fill(colorPal[4 * pixMid + 2] & 0xFF, colorPal[4 * pixMid + 1] & 0xFF, colorPal[4 * pixMid + 0] & 0xFF); // Get color from table + rect(offsetX + 8 * x, offsetY + 8 * (23 - y), 8, 8); // Draw a square pixel, bottom up + } + } +} + +void loadColorTable(int choiceNum, int offset) { + int i, x; + + switch(choiceNum) { + case 1: // Load 8-bit BMP color table with computed ironbow curves + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.02 - (fleX - 0.72) * (fleX - 0.72) * 1.96); + fleG = (fleG > 255.0) || (fleX > 0.75) ? 255.0 : fleG; // Truncate curve + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX * fleX * 255.9; + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (14.0 * (fleX * fleX * fleX) - 20.0 * (fleX * fleX) + 7.0 * fleX); + fleG = fleG < 0.0 ? 0.0 : fleG; // Truncate curve + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 2: // Compute quadratic "firebow" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.00 - (fleX - 1.0) * (fleX - 1.0)); + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX < 0.25 ? 0.0 : (fleX - 0.25) * 1.3333 * 255.9; + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = fleX < 0.5 ? 0.0 : (fleX - 0.5) * (fleX - 0.5) * 1023.9; + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 3: // Compute "alarm" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 1.0); + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : (fleX - 0.875) * 8.0); + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 0.0); + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 4: // Grayscale, black hot + for(x = 0; x < 256; ++x) { + colorPal[offset + x * 4 + 2] = byte(255 - x & 0xFF); // Red vals + colorPal[offset + x * 4 + 1] = byte(255 - x & 0xFF); // Grn vals + colorPal[offset + x * 4 + 0] = byte(255 - x & 0xFF); // Blu vals + } + break; + default: // Grayscale, white hot + for(x = 0; x < 256; ++x) { + colorPal[offset + x * 4 + 2] = byte(x & 0xFF); // Red vals + colorPal[offset + x * 4 + 1] = byte(x & 0xFF); // Grn vals + colorPal[offset + x * 4 + 0] = byte(x & 0xFF); // Blu vals + } + } +} + +// Rebuild a float from a fixed point decimal value encoded in 4 bytes +float expandFloat(byte m1, byte m2, byte e1, byte e2) { + int fracPart; + float floatPart; + + fracPart = ((e2 & 0xff) << 8) + (e1 & 0xff); // Reassemble 16-bit value + floatPart = (float)fracPart / 49152.0; // Convert into fractional portion of float + fracPart = ((m2 & 0xff) << 8) + (m1 & 0xff); // Reassemble 16-bit value + return ((float)fracPart + floatPart) - 1000.0; // Complete reconstructing original float +} + +String[] listFileNames(String dir) { // Return the filenames from a directory as an array of Strings + File file = new File(dir); + + if (file.isDirectory()) { + String names[] = file.list(); + return names; + } else // It's not a directory + return null; +} \ No newline at end of file diff --git a/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPto8bit.pde b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPto8bit.pde new file mode 100644 index 000000000..afdf87ece --- /dev/null +++ b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPto8bit.pde @@ -0,0 +1,220 @@ +// ConvertBMPto8bit - Read and enlarge a modified 32x24 24-bit gray BMP file, +// write an upscaled 256x192 BMP image with a 256 color table. +// Ver. 2 - Fetch filenames and convert all suitable BMPs we find. +// Builds sequences suitable for online animated GIF converters + +import java.util.Date; + +// BMP File Header, little end first +int BmpPSPHead[] = { + 0x42, 0x4D, // "BM" in hex + 0x36, 0xC4, 0x00, 0x00, // File size, 50230 + 0x00, 0x00, // reserved for app data 1 + 0x00, 0x00, // reserved for app data 2 + 0x36, 0x04, 0x00, 0x00 // Offset of pixel 0, 1078 +}; + +// BMP 8-bit DIB Header, little end first +int DIBHeadPSP1[] = { + 0x28, 0x00, 0x00, 0x00, // Header size, 40 + 0x00, 0x01, 0x00, 0x00, // pixel width, 256 + 0xC0, 0x00, 0x00, 0x00, // pixel height, 192 + 0x01, 0x00, // color planes, 1 + 0x08, 0x00, // bits per pixel, 8 + 0x00, 0x00, 0x00, 0x00, // Compression method, 0==none + 0x00, 0x00, 0x00, 0x00, // Raw bitmap data size, dummy 0 + 0x12, 0x0B, 0x00, 0x00, // Pixels per meter H, 2834 + 0x12, 0x0B, 0x00, 0x00, // Pixels per meter V, 2834 + 0x00, 0x00, 0x00, 0x00, // Colors in palette, 0==default 2^n + 0x00, 0x00, 0x00, 0x00 // Number of important colors, 0 +}; + +byte outBytes[], b[]; // Buffer for the input file bytes + +PImage img; // Declare variable of type PImage +int fileCount = 0, imageIndex = 0; +String[] filenames; + +// "paletteChoice" selects a false color palette: +// 0 == Grayscale, white hot +// 1 == Ironbow +// 2 == Firebow +// 3 == Hot alarm +// 4 == Grayscale, black hot +int paletteChoice = 1; + +void setup() { + int i, j, x, y; + String nameHead, nameTail; + + size(256, 192); // Size must be the first statement +// noStroke(); + frameRate(5); + background(0); // Clear the screen with a black background + + outBytes = new byte[50230]; // 54 header + 1K colors + 12K pixels + + String path = sketchPath() + "/data"; // Read from the "/data" subdirectory + + println("Listing filenames: "); + filenames = listFileNames(path); + println(filenames); + fileCount = filenames.length; + println(fileCount + " entries"); + + if(fileCount < 1) { + println("No images found. Stopping."); + } else { // Filenames exist in the directory + for(i = 0; i < fileCount; ++i) { // Test each name + nameHead = filenames[i].substring(0, 3); + nameTail = filenames[i].substring(8); + j = int(filenames[i].substring(3, 8)); + + if(nameHead.equals("frm") && nameTail.equals(".bmp") && j != 0) // Source "frm_____.bmp" found? + enlarge8bit(i); // Process and write an enlarged 8-bit version + } + } + noLoop(); +} + +void draw() { + int countX, countY; + + noSmooth(); + + for(countY = 0; countY < 192; ++countY) { + for(countX = 0; countX < 256; ++countX) { + stroke(0xFF & outBytes[1078 + (countY * 256 + countX)]); // Color from BMP buffer + point(countX, 191 - countY); // Draw a pixel, bottom up + } + } +} + +void enlarge8bit(int fileNumber) { // Read a small gray "frm" BMP image and write an enlarged colormapped "out" BMP + int i, x, y; + + b = loadBytes(filenames[fileNumber]); // Open a file and read its 8-bit data + + for(i = 0; i < 14; ++i) + outBytes[i] = byte(BmpPSPHead[i] & 0xFF); // Copy BMP header 1 into output buffer + for(i = 0; i < 40; ++i) + outBytes[i + 14] = byte(DIBHeadPSP1[i] & 0xFF); // Copy header 2 + + loadColorTable(paletteChoice, 54); // Load color table, 54 byte BMP header offset + + for(y = 0; y < 23; ++y) { // Bilinear interpolation, count the source pixels less one + for(x = 0; x < 31; ++x) { + for(int yLirp = 0; yLirp < 9; ++yLirp) { + int corner0 = b[54 + ((32 * y + x) + 32) * 3] & 0xFF; + int corner1 = b[54 + ((32 * y + x) + 0) * 3] & 0xFF; + int pixLeft = (corner0 * yLirp + corner1 * (8 - yLirp)) >> 3; // Lirp 1 endpoint from 2 L pixels, + + int corner2 = b[54 + ((32 * y + x) + 33) * 3] & 0xFF; + int corner3 = b[54 + ((32 * y + x) + 1) * 3] & 0xFF; + int pixRight = (corner2 * yLirp + corner3 * (8 - yLirp)) >> 3; // and the other from 2 R pixels + + for(int xLirp = 0; xLirp < 9; ++xLirp) { + int pixMid = (pixRight * xLirp + pixLeft * (8 - xLirp)) >> 3; // Lirp between lirped endpoints, bilinear interp + outBytes[1078 + y * 2048 + x * 8 + yLirp * 256 + xLirp + 771] = byte(pixMid & 0xFF); + } + } + } + } + for(y = 0; y < 192; ++y) { // Pad out the empty side pixels + for(x = 0; x < 4; ++x) { + outBytes[1078 + (3 - x) + 256 * y] = outBytes[1082 + 256 * y]; + outBytes[1330 + x + 256 * y] = outBytes[1329 + 256 * y]; + } + } + for(x = 0; x < 256; ++x) { // Pad out the empty above/below pixels + for(y = 0; y < 4; ++y) { + outBytes[ 1078 + 256 * (3 - y) + x] = outBytes[ 2102 + x]; + outBytes[49206 + 256 * y + x] = outBytes[48950 + x]; + } + } + + saveBytes("data/out" + filenames[fileNumber].substring(3), outBytes); // Save a recolored 8-bit BMP as "out_____.bmp" +} + +void loadColorTable(int choiceNum, int offset) { + int i, x; + + switch(choiceNum) { + case 1: // Load 8-bit BMP color table with computed ironbow curves + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.02 - (fleX - 0.72) * (fleX - 0.72) * 1.96); + fleG = (fleG > 255.0) || (fleX > 0.75) ? 255.0 : fleG; // Truncate curve + i = (int)fleG; + outBytes[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX * fleX * 255.9; + i = (int)fleG; + outBytes[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (14.0 * (fleX * fleX * fleX) - 20.0 * (fleX * fleX) + 7.0 * fleX); + fleG = fleG < 0.0 ? 0.0 : fleG; // Truncate curve + i = (int)fleG; + outBytes[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 2: // Compute quadratic "firebow" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.00 - (fleX - 1.0) * (fleX - 1.0)); + i = (int)fleG; + outBytes[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX < 0.25 ? 0.0 : (fleX - 0.25) * 1.3333 * 255.9; + i = (int)fleG; + outBytes[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = fleX < 0.5 ? 0.0 : (fleX - 0.5) * (fleX - 0.5) * 1023.9; + i = (int)fleG; + outBytes[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 3: // Compute "alarm" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 1.0); + i = (int)fleG; + outBytes[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : (fleX - 0.875) * 8.0); + i = (int)fleG; + outBytes[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 0.0); + i = (int)fleG; + outBytes[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 4: // Grayscale, black hot + for(x = 0; x < 256; ++x) { + outBytes[offset + x * 4 + 2] = byte(255 - x & 0xFF); // Red vals + outBytes[offset + x * 4 + 1] = byte(255 - x & 0xFF); // Grn vals + outBytes[offset + x * 4 + 0] = byte(255 - x & 0xFF); // Blu vals + } + break; + default: // Grayscale, white hot + for(x = 0; x < 256; ++x) { + outBytes[offset + x * 4 + 2] = byte(x & 0xFF); // Red vals + outBytes[offset + x * 4 + 1] = byte(x & 0xFF); // Grn vals + outBytes[offset + x * 4 + 0] = byte(x & 0xFF); // Blu vals + } + } +} + +String[] listFileNames(String dir) { // Return the filenames from a directory as an array of Strings + File file = new File(dir); + + if (file.isDirectory()) { + String names[] = file.list(); + return names; + } else // It's not a directory + return null; +} \ No newline at end of file diff --git a/Pybadge_Thermal_Image_Recording/thermalimager.ino b/Pybadge_Thermal_Image_Recording/thermalimager.ino new file mode 100644 index 000000000..bb413cd91 --- /dev/null +++ b/Pybadge_Thermal_Image_Recording/thermalimager.ino @@ -0,0 +1,834 @@ +/* + ThermalImager_009b - Collect thermal image values from a MLX90640 sensor array, + display them as color-mapped pixels on a TFT screen, + include data capture to flash media, and a user configuration menu. + Written by Eduardo using code from these sources. + + Arcada and MLX90640 libraries from adafruit.com + + Ver. 1 - Read temps, auto-range extremes, display gray squares on TFT + Ver. 2 - Add Ironbow color palette, low+center+high markers + Ver. 3 - Add crude BMP image write to SD + Ver. 4 - Attach interrupts to improve button response + Ver. 5 - Store BMPs to SD in an orderly manner, in folders + Ver. 6 - Port to Teensy 3.2, where the libraries used are suited + Ver. 7 - Port to Adafruit PyBadge using Arcada library. Use simulated data while awaiting hardware release + Ver. 8 - Convert menu to scrolling style and add settings for emissivity and frame rate, more if feasible. + Ver. 9 - Bring in the current Adafruit library and read a real sensor. +*/ + +#include +#include "Adafruit_Arcada.h" +Adafruit_MLX90640 mlx; +Adafruit_Arcada arcada; + +#if !defined(USE_TINYUSB) + #warning "Compile with TinyUSB selected!" +#endif + +File myFile; + +float mlx90640To[768]; // Here we receive the float vals acquired from MLX90640 + +#define DE_BOUNCE 200 + // Wait this many msec between button clicks +#define MENU_LEN 12 + // Number of total available menu choices +#define MENU_ROWS 9 + // Number of menu lines that can fit on screen +#define MENU_VPOS 6 +#define GRAY_33 0x528A +#define BOTTOM_DIR "MLX90640" +#define DIR_FORMAT "/dir%05d" +#define BMP_FORMAT "/frm%05d.bmp" +#define CFG_FLNAME "/config.ini" +#define MAX_SERIAL 999 + +// BMP File Header, little end first, Photoshop ver. +const PROGMEM uint8_t BmpPSPHead[14] = { + 0x42, 0x4D, // "BM" in hex + 0x38, 0x09, 0x00, 0x00, // File size, 2360 + 0x00, 0x00, // reserved for app data 1 + 0x00, 0x00, // reserved for app data 2 + 0x36, 0x00, 0x00, 0x00 // Offset of first pixel, 54 +}; + +// BMP 24-bit DIB Header, little end first, Photoshop ver. +const PROGMEM uint8_t DIBHeadPSP1[40] = { + 0x28, 0x00, 0x00, 0x00, // Header size, 40 + 0x20, 0x00, 0x00, 0x00, // pixel width, 32 + 0x18, 0x00, 0x00, 0x00, // pixel height, 24 + 0x01, 0x00, // color planes, 1 + 0x18, 0x00, // bits per pixel, 24 + 0x00, 0x00, 0x00, 0x00, // Compression method, 0==none + 0x00, 0x00, 0x00, 0x00, // Raw bitmap data size, dummy 0 + 0x12, 0x0B, 0x00, 0x00, // Pixels per meter H, 2834 + 0x12, 0x0B, 0x00, 0x00, // Pixels per meter V, 2834 + 0x00, 0x00, 0x00, 0x00, // Colors in palette, 0==default 2^n + 0x00, 0x00, 0x00, 0x00 // Number of important colors, 0 +}; + +// BMP file data, 2 byte padding +const PROGMEM uint8_t PSPpad[2] = {0x00, 0x00}; + +//Byte arrays of bitmapped icons, 16 x 12 px: +const PROGMEM uint8_t battIcon[] = { +0x0f, 0x00, 0x3f, 0xc0, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, +0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x3f, 0xc0}; + +const PROGMEM uint8_t camIcon[] = { +0x01, 0xe0, 0x61, 0x20, 0xff, 0xf0, 0x80, 0x10, 0x86, 0x10, 0x89, 0x10, +0x90, 0x90, 0x90, 0x90, 0x89, 0x10, 0x86, 0x10, 0x80, 0x10, 0xff, 0xf0}; + +const PROGMEM uint8_t SDicon[] = { +0x0f, 0xe0, 0x1f, 0xe0, 0x3c, 0x60, 0x78, 0x60, 0x70, 0x60, 0x60, 0x60, +0x60, 0x60, 0x60, 0x60, 0x6f, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x7f, 0xe0}; + +const PROGMEM uint8_t snowIcon[] = { +0x15, 0x00, 0x4E, 0x40, 0xC4, 0x60, 0x75, 0xC0, 0x9F, 0x20, 0x0E, 0x00, +0x0E, 0x00, 0x9F, 0x20, 0x75, 0xC0, 0xC4, 0x60, 0x4E, 0x40, 0x15, 0x00}; + +uint8_t pixelArray[2304]; // BMP image body, 32 pixels * 24 rows * 3 bytes + +// Some global values that several functions will use, including +// 5 floats to append to the BMP pixel data: +// coldest pixel, coldest color, center temp, hottest color, hottest pixel +float sneakFloats[5] = {3.1415926, 0.0, -11.7, 98.6, -12.34}; // Test values that get overwritten +uint16_t highAddr = 0, lowAddr = 0; // Append the pixel addresses, too + +uint16_t backColor, lowPixel, highPixel, buttonRfunc = 1, + emissivity = 95, frameRate = 4, + thermRange = 0, paletteNum = 1, colorPal[256], // Array for color palettes + nextDirIndex = 0, nextBMPindex = 0, nextBMPsequence = 1; // These keep count of SD files and dirs, 0==error +uint32_t deBounce = 0, buttonBits = 0; +boolean mirrorFlag = false, celsiusFlag = false, markersOn = true, + screenDim = false, smoothing = false, showLastCap = false, + save1frame = false, recordingInProg = false, buttonActive = false; +float battAverage = 0.0, colorLow = 0.0, colorHigh = 100.0; // Values for managing color range +volatile boolean clickFlagMenu = false, clickFlagSelect = false; // Volatiles for timer callback handling + +void setup() +{ + if (!arcada.arcadaBegin()) { // Start TFT and fill with black + // Serial.print("Failed to begin"); + while (1); + } + arcada.filesysBeginMSD(); // Set up SD or QSPI flash as an external USB drive + + arcada.displayBegin(); // Activate TFT screen + arcada.display->setRotation(1); // wide orientation + arcada.display->setTextWrap(false); + arcada.setBacklight(255); // Turn on backlight + battAverage = arcada.readBatterySensor(); + + Serial.begin(115200); +// while(!Serial); // Wait for user to open terminal + Serial.println("MLX90640 IR Array Example"); + + if(arcada.filesysBegin()){ // Initialize flash storage, begin setting up indices for saving BMPs + if(!arcada.exists(BOTTOM_DIR)) { // Is base "MLX90640" directory absent? + if(arcada.mkdir(BOTTOM_DIR)) // Can it be added? + nextDirIndex = nextBMPindex = 1; // Success, prepare to store numbered files & dirs + } else { // "MLX90640" directory exists, can we add files | directories? + // Get the number of the next unused serial directory path + nextDirIndex = availableFileNumber(1, BOTTOM_DIR + String(DIR_FORMAT)); + // and the next unused serial BMP name + nextBMPindex = availableFileNumber(1, BOTTOM_DIR + String(BMP_FORMAT)); + } + } // By now each global index variable is either 0 (no nums available), or the next unclaimed serial num + + if(!mlx.begin(MLX90640_I2CADDR_DEFAULT, &Wire)) { + Serial.println("MLX90640 not found!"); + arcada.haltBox("MLX90640 not found!"); + while(1) + delay(10); // Halt here + } + Serial.println("Found Adafruit MLX90640"); + + Serial.print("Serial number: "); + Serial.print(mlx.serialNumber[0], HEX); + Serial.print(mlx.serialNumber[1], HEX); + Serial.println(mlx.serialNumber[2], HEX); + + //mlx.setMode(MLX90640_INTERLEAVED); + mlx.setMode(MLX90640_CHESS); + mlx.setResolution(MLX90640_ADC_18BIT); + + switch(frameRate) { + case 0: mlx.setRefreshRate(MLX90640_0_5_HZ); break; // 6 frame rates, 0.5 to 16 FPS in powers of 2 + case 1: mlx.setRefreshRate(MLX90640_1_HZ); break; + case 2: mlx.setRefreshRate(MLX90640_2_HZ); break; + case 3: mlx.setRefreshRate(MLX90640_4_HZ); break; + case 4: mlx.setRefreshRate(MLX90640_8_HZ); break; + default: mlx.setRefreshRate(MLX90640_16_HZ); break; + } + Wire.setClock(1000000); // max 1 MHz + + for(int counter01 = 0; counter01 < 2304; ++counter01) + pixelArray[counter01] = counter01 / 9; // Initialize BMP pixel buffer with a gradient + + loadPalette(paletteNum); // Load false color palette + backColor = GRAY_33; // 33% gray for BG + setBackdrop(backColor, buttonRfunc); // Current BG, current button labels + + arcada.timerCallback(50, buttonCatcher); // Assign a 50Hz callback function to catch button presses +} + +void loop() +{ + static uint32_t frameCounter = 0; + float scaledPix, highPix, lowPix; + uint16_t markColor; + +// Show the battery level indicator, 3.7V to 3.3V represented by a 7 segment bar + battAverage = battAverage * 0.95 + arcada.readBatterySensor() * 0.05; // *Gradually* track battery level + highPix = (int)constrain((battAverage - 3.3) * 15.0, 0.0, 6.0) + 1; // Scale it to a 7-segment bar + markColor = highPix > 2 ? 0x07E0 : 0xFFE0; // Is the battery level bar green or yellow? + markColor = highPix > 1 ? markColor : 0xF800; // ...or even red? + arcada.display->fillRect(146, 2, 12, 12, backColor); // Erase old battery icon + arcada.display->drawBitmap(146, 2, battIcon, 16, 12, 0xC618); // Redraw gray battery icon + arcada.display->fillRect(150, 12 - highPix, 4, highPix, markColor); // Add the level bar + +// Fetch 768 fresh temperature values from the MLX90640 + arcada.display->drawBitmap(146, 18, camIcon, 16, 12, 0xF400); // Show orange camera icon during I2C acquisition + if(mlx.getFrame(mlx90640To) != 0) { + Serial.println("Failed"); + return; + } + arcada.display->fillRect(146, 18, 12, 12, backColor); // Acquisition done, erase camera icon + +// First pass: Find hottest and coldest pixels + highAddr = lowAddr = 0; + highPix = lowPix = mlx90640To[highAddr]; + + for (int x = 1 ; x < 768 ; x++) { // Compare every pixel + if(mlx90640To[x] > highPix) { // Hotter pixel found? + highPix = mlx90640To[x]; // Record its values + highAddr = x; + } + if(mlx90640To[x] < lowPix) { // Colder pixel found? + lowPix = mlx90640To[x]; // Likewise + lowAddr = x; + } + } + if(thermRange == 0) { // Are the colors set to auto-range? + colorLow = lowPix; // Then high and low color values get updated + colorHigh = highPix; + } + sneakFloats[0] = lowPix; // Retain these five temperature values + sneakFloats[1] = colorLow; // to append to the BMP file, if any + sneakFloats[2] = mlx90640To[400]; + sneakFloats[3] = colorHigh; + sneakFloats[4] = highPix; + +// Second pass: Scale the float values down to 8-bit and plot colormapped pixels + if(mirrorFlag) { // Mirrored display (selfie mode)? + for(int y = 0; y < 24; ++y) { // Rows count from bottom up + for(int x = 0 ; x < 32 ; x++) { + scaledPix = constrain((mlx90640To[32 * y + x] - colorLow) / (colorHigh - colorLow) * 255.9, 0.0, 255.0); + pixelArray[3 * (32 * y + x)] = (uint8_t)scaledPix; // Store as a byte in BMP buffer + arcada.display->fillRect(140 - x * 4, 92 - y * 4, 4, 4, colorPal[(uint16_t)scaledPix]); // Filled rectangles, bottom up + } + } + } else { // Not mirrored + for(int y = 0; y < 24; ++y) { + for(int x = 0 ; x < 32 ; x++) { + scaledPix = constrain((mlx90640To[32 * y + x] - colorLow) / (colorHigh - colorLow) * 255.9, 0.0, 255.0); + pixelArray[3 * (32 * y + x)] = (uint8_t)scaledPix; + arcada.display->fillRect(16 + x * 4, 92 - y * 4, 4, 4, colorPal[(uint16_t)scaledPix]); + } + } + } + +// Post pass: Screen print the lowest, center, and highest temperatures + arcada.display->fillRect( 0, 96, 53, 12, colorPal[0]); // Contrasting mini BGs for cold temp + arcada.display->fillRect(107, 96, 53, 12, colorPal[255]); // and for hot temperature texts + scaledPix = constrain((mlx90640To[400] - colorLow) / (colorHigh - colorLow) * 255.9, 0.0, 255.0); + arcada.display->fillRect(53, 96, 54, 12, colorPal[(uint16_t)scaledPix]); // Color coded mini BG for center temp + + arcada.display->setTextSize(1); + arcada.display->setCursor(10, 99); + arcada.display->setTextColor(0xFFFF ^ colorPal[0]); // Contrasting text color for coldest value + arcada.display->print(celsiusFlag ? lowPix : lowPix * 1.8 + 32.0); // Print Celsius or Fahrenheit + + arcada.display->setCursor(120, 99); + arcada.display->setTextColor(0xFFFF ^ colorPal[255]); // Contrast text for hottest value + arcada.display->print(celsiusFlag ? highPix : highPix * 1.8 + 32.0); // Print Celsius or Fahrenheit + + arcada.display->setCursor(65, 99); + if((mlx90640To[400] < (colorLow + colorHigh) * 0.5) == (paletteNum < 3)) + arcada.display->setTextColor(0xFFFF); // A contrasting text color for center temp + else + arcada.display->setTextColor(0x0000); + arcada.display->print(celsiusFlag ? mlx90640To[400] : mlx90640To[400] * 1.8 + 32.0); // Pixel 12 * 32 + 16 + + markColor = 0x0600; // Deep green color to draw onscreen cross markers + if(markersOn) { // Show markers? + if(mirrorFlag) { // ...over a mirrored display? + arcada.display->drawFastHLine(156 - (( lowAddr % 32) * 4 + 16), 93 - 4 * ( lowAddr / 32), 4, markColor); // Color crosses mark cold pixel, + arcada.display->drawFastVLine(159 - (( lowAddr % 32) * 4 + 17), 92 - 4 * ( lowAddr / 32), 4, markColor); + arcada.display->drawFastHLine(156 - ((highAddr % 32) * 4 + 16), 93 - 4 * (highAddr / 32), 4, markColor); // hot pixel, + arcada.display->drawFastVLine(159 - ((highAddr % 32) * 4 + 17), 92 - 4 * (highAddr / 32), 4, markColor); + arcada.display->drawFastHLine(76, 45, 4, markColor); // and center pixel + arcada.display->drawFastVLine(78, 44, 4, markColor); + } else { // Not mirrored + arcada.display->drawFastHLine(( lowAddr % 32) * 4 + 16, 93 - 4 * ( lowAddr / 32), 4, markColor); // Color crosses mark cold pixel, + arcada.display->drawFastVLine(( lowAddr % 32) * 4 + 17, 92 - 4 * ( lowAddr / 32), 4, markColor); + arcada.display->drawFastHLine((highAddr % 32) * 4 + 16, 93 - 4 * (highAddr / 32), 4, markColor); // hot pixel, + arcada.display->drawFastVLine((highAddr % 32) * 4 + 17, 92 - 4 * (highAddr / 32), 4, markColor); + arcada.display->drawFastHLine(80, 45, 4, markColor); // and center pixel + arcada.display->drawFastVLine(81, 44, 4, markColor); + } + } + +// Print the frame count on the left sidebar + arcada.display->setRotation(0); // Vertical printing + arcada.display->setCursor(48, 4); + arcada.display->setTextColor(0xFFFF, backColor); // White text, current BG + arcada.display->print("FRM "); + arcada.display->print(++frameCounter); + arcada.display->setRotation(1); // Back to horizontal + +// Handle any button presses + if(!buttonActive && clickFlagMenu) { // Was B:MENU button pressed? + buttonActive = true; // Set button flag + deBounce = millis() + DE_BOUNCE; // and start debounce timer + menuLoop(backColor); // Execute menu routine until finished + clickFlagSelect = recordingInProg = false; // Clear unneeded flags + nextBMPsequence = 1; + setBackdrop(backColor, buttonRfunc); // Repaint current BG & button labels + } + + if(!buttonActive && clickFlagSelect) { // Was the A button pressed? + buttonActive = true; // Set button flag + deBounce = millis() + DE_BOUNCE; // and start debounce timer + + if(buttonRfunc == 0) { // Freeze requested? + arcada.display->drawBitmap(146, 48, snowIcon, 16, 12, 0xC61F); // Freeze icon on + while(buttonBits & ARCADA_BUTTONMASK_A) // Naive freeze: loop until button released + delay(10); // Short pause + deBounce = millis() + DE_BOUNCE; // Restart debounce timer + arcada.display->fillRect(146, 48, 12, 12, backColor); // Freeze icon off + } else if(buttonRfunc == 1) { // Capture requested? + if((nextBMPindex = availableFileNumber(nextBMPindex, BOTTOM_DIR + String(BMP_FORMAT))) != 0) { // Serialized BMP filename available? + save1frame = true; // Set the flag to save a BMP + arcada.display->fillRect(0, 96, 160, 12, 0x0600); // Display a green strip + arcada.display->setTextColor(0xFFFF); // with white capture message text + arcada.display->setCursor(16, 99); + arcada.display->print("Saving frame "); + arcada.display->print(nextBMPindex); + } + } else { // Begin or halt recording a sequence of BMP files + if(!recordingInProg) { // "A:START RECORDING" was pressed + if((nextDirIndex = availableFileNumber(nextDirIndex, BOTTOM_DIR + String(DIR_FORMAT))) != 0) { // Serialized directory name available? + // Make the directory + if(newDirectory()) { // Success in making a new sequence directory? + recordingInProg = true; // Set the flag for saving BMP files + nextBMPsequence = 1; // ...numbered starting with 00001 + setBackdrop(backColor, 3); // Show "A:STOP RECORDING" label + } else // Couldn't make the new directory, so + nextDirIndex = 0; // disable further sequences + } + } else { // "A:STOP RECORDING" was pressed + recordingInProg = false; + setBackdrop(backColor, 2); // Clear "A:STOP RECORDING" label + } + } + } + +// Saving any BMP images to flash media happens here + if(save1frame || recordingInProg) { // Write a BMP file to SD? + arcada.display->drawBitmap(146, 32, SDicon, 16, 12, 0x07E0); // Flash storage activity icon on + + prepForSave(); // Save to flash. Use global values for parameters + nextBMPsequence += recordingInProg ? 1 : 0; // If recording a series, increment frame count + save1frame = false; // If one frame saved, clear the flag afterwards + + arcada.display->fillRect(146, 32, 12, 12, backColor); // Flash storage activity icon off + } + + if(showLastCap) { // Redisplay the last BMP saved? + buttonActive = true; // Set button flag + deBounce = millis() + DE_BOUNCE; // and start debounce timer + recallLastBMP(backColor); // Redisplay last bitmap from buffer until finished + setBackdrop(backColor, buttonRfunc); // Repaint current BG & button labels + showLastCap = false; + } + +// Here we protect against button bounces while the function loops + if(buttonActive && millis() > deBounce && (buttonBits + & (ARCADA_BUTTONMASK_B | ARCADA_BUTTONMASK_A)) == 0) // Has de-bounce wait expired & all buttons released? + buttonActive = false; // Clear flag to allow another button press + + clickFlagMenu = clickFlagSelect = false; // End of the loop, clear all interrupt flags +} + +// Compute and fill an array with 256 16-bit color values +void loadPalette(uint16_t palNumber) { + uint16_t x, y; + float fleX, fleK; + + switch(palNumber) { + case 1: // Compute ironbow palette + for(x = 0; x < 256; ++x) { + fleX = (float)x / 255.0; + + // fleK = 65535.9 * (1.02 - (fleX - 0.72) * (fleX - 0.72) * 1.96); + // fleK = (fleK > 65535.0) || (fleX > 0.75) ? 65535.0 : fleK; // Truncate red curve + fleK = 63487.0 * (1.02 - (fleX - 0.72) * (fleX - 0.72) * 1.96); + fleK = (fleK > 63487.0) || (fleX > 0.75) ? 63487.0 : fleK; // Truncate red curve + colorPal[x] = (uint16_t)fleK & 0xF800; // Top 5 bits define red + + // fleK = fleX * fleX * 2047.9; + fleK = fleX * fleX * 2015.0; + colorPal[x] += (uint16_t)fleK & 0x07E0; // Middle 6 bits define green + + // fleK = 31.9 * (14.0 * (fleX * fleX * fleX) - 20.0 * (fleX * fleX) + 7.0 * fleX); + fleK = 30.9 * (14.0 * (fleX * fleX * fleX) - 20.0 * (fleX * fleX) + 7.0 * fleX); + fleK = fleK < 0.0 ? 0.0 : fleK; // Truncate blue curve + colorPal[x] += (uint16_t)fleK & 0x001F; // Bottom 5 bits define blue + } + break; + case 2: // Compute quadratic "firebow" palette + for(x = 0; x < 256; ++x) { + fleX = (float)x / 255.0; + + // fleK = 65535.9 * (1.00 - (fleX - 1.0) * (fleX - 1.0)); + fleK = 63487.0 * (1.00 - (fleX - 1.0) * (fleX - 1.0)); + colorPal[x] = (uint16_t)fleK & 0xF800; // Top 5 bits define red + + // fleK = fleX < 0.25 ? 0.0 : (fleX - 0.25) * 1.3333 * 2047.9; + fleK = fleX < 0.25 ? 0.0 : (fleX - 0.25) * 1.3333 * 2015.0; + colorPal[x] += (uint16_t)fleK & 0x07E0; // Middle 6 bits define green + + // fleK = fleX < 0.5 ? 0.0 : (fleX - 0.5) * (fleX - 0.5) * 127.9; + fleK = fleX < 0.5 ? 0.0 : (fleX - 0.5) * (fleX - 0.5) * 123.0; + colorPal[x] += (uint16_t)fleK & 0x001F; // Bottom 5 bits define blue + } + break; + case 3: // Compute "alarm" palette + for(x = 0; x < 256; ++x) { + fleX = (float)x / 255.0; + + fleK = 65535.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 1.0); + colorPal[x] = (uint16_t)fleK & 0xF800; // Top 5 bits define red + + fleK = 2047.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : (fleX - 0.875) * 8.0); + colorPal[x] += (uint16_t)fleK & 0x07E0; // Middle 6 bits define green + + fleK = 31.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 0.0); + colorPal[x] += (uint16_t)fleK & 0x001F; // Bottom 5 bits define blue + } + break; + case 4: // Compute negative gray palette, black hot + for(x = 0; x < 256; ++x) + colorPal[255 - x] = (((uint16_t)x << 8) & 0xF800) + (((uint16_t)x << 3) & 0x07E0) + (((uint16_t)x >> 3) & 0x001F); + break; + default: // Compute gray palette, white hot + for(x = 0; x < 256; ++x) + colorPal[x] = (((uint16_t)x << 8) & 0xF800) + (((uint16_t)x << 3) & 0x07E0) + (((uint16_t)x >> 3) & 0x001F); + break; + } +} + +void setColorRange(int presetIndex) { // Set coldest/hottest values in color range + switch(presetIndex) { + case 1: // Standard range, from FLIR document: 50F to 90F + colorLow = 10.0; + colorHigh = 32.22; + break; + case 2: // Cool/warm range, for detecting mammals outdoors + colorLow = 5.0; + colorHigh = 32.0; + break; + case 3: // Warm/warmer range, for detecting mammals indoors + colorLow = 20.0; + colorHigh = 32.0; + break; + case 4: // Hot spots, is anything hotter than it ought to be? + colorLow = 20.0; + colorHigh = 50.0; + break; + case 5: // Fire & ice, extreme temperatures only! + colorLow = -10.0; + colorHigh = 200.0; + break; + default: // Default is autorange, so these values will change with every frame + colorLow = 0.0; + colorHigh = 100.0; + break; + } +} + +// Draw the stationary screen elements behind the live camera window +void setBackdrop(uint16_t bgColor, uint16_t buttonFunc) { + arcada.display->fillScreen(bgColor); + + for(int x = 0; x < 160; ++x) // Paint current palette across bottom + arcada.display->drawFastVLine(x, 110, 6, colorPal[map(x, 0, 159, 0, 255)]); + + arcada.display->setCursor(16, 120); + arcada.display->setTextColor(0xFFFF, bgColor); // White text, current BG for button labels + switch(buttonFunc) { + case 0: + arcada.display->print("B:MENU A:FREEZE"); + break; + case 1: + arcada.display->print("B:MENU "); + if(nextBMPindex == 0) // No room to store a BMP in flash media? + arcada.display->setTextColor(GRAY_33 >> 1); // Grayed button label + arcada.display->print("A:CAPTURE"); + break; + case 2: + arcada.display->print("B:MENU "); + if(nextDirIndex == 0) // Has flash storage no room for a new directory? + arcada.display->setTextColor(GRAY_33 >> 1); // Grayed button label + arcada.display->print("A:START RECORD"); + break; + case 3: + arcada.display->print("B:MENU "); + arcada.display->setTextColor(0xFFFF, 0xF800); // White text, red BG recording indicator + arcada.display->print("A:STOP RECORD"); + break; + case 4: + arcada.display->print(" A:EXIT"); // Use for bitmap redisplay only + break; + } +} + +void prepForSave() { + for(int x = 0; x < 768; ++x) + pixelArray[3 * x + 2] = pixelArray[3 * x + 1] = pixelArray[3 * x]; // Copy each blue byte into R & G for 256 grays in 24 bits + + if(!writeBMP()) { // Did BMP write to flash fail? + arcada.display->fillRect(0, 96, 160, 12, 0xF800); // Red error signal + arcada.display->setTextColor(0xFFFF); // with white text + arcada.display->setCursor(20, 99); + arcada.display->print("Storage error!"); + } +} + +boolean newDirectory() { // Create a subdirectory, converting the name between char arrays and string objects + char fileArray[64]; + String fullPath; + + sprintf(fileArray, DIR_FORMAT, nextDirIndex); // Generate subdirectory name + fullPath = BOTTOM_DIR + String(fileArray); // Make a filepath out of it, then + return arcada.mkdir(fullPath.c_str()); // try to make a real subdirectory from it +} + +// Here we write the actual bytes of a BMP file (plus extras) to flash media +boolean writeBMP() { + uint16_t counter1, shiftedFloats[14]; // A buffer for the appended floats and uint16_t's + uint32_t timeStamp; + float shiftAssist; + char fileArray[64]; + String fullPath; + +// First, figure out a name and path for our new BMP + fullPath = BOTTOM_DIR; // Build a filepath starting with the base subdirectory + if(buttonRfunc == 2) { // BMP sequence recording in progress? + sprintf(fileArray, DIR_FORMAT, nextDirIndex); // Generate subdirectory name + fullPath += String(fileArray); // Add it to the path + sprintf(fileArray, BMP_FORMAT, nextBMPsequence); // Generate a sequential filename + fullPath += String(fileArray); // Complete the filepath string + } else { // Not a sequence, solitary BMP file + sprintf(fileArray, BMP_FORMAT, nextBMPindex); // Generate a serial filename + fullPath += String(fileArray); // Complete the filepath string + } + + myFile = arcada.open(fullPath.c_str(), FILE_WRITE); // Only one file can be open at a time + + if(myFile) { // If the file opened okay, write to it: + myFile.write(BmpPSPHead, 14); // BMP header 1 + myFile.write(DIBHeadPSP1, 40); // BMP header 2 + myFile.write(pixelArray, 2304); // Array of 768 BGR byte triples + myFile.write(PSPpad, 2); // Pad with 2 zeros 'cause Photoshop does it. + + // My BMP hack - append 5 fixed-point temperature values as 40 extra bytes + for(counter1 = 0; counter1 < 5; ++counter1) { // Shift 5 floats + shiftAssist = sneakFloats[counter1] + 1000.0; // Offset MLX90640 temps to positive + shiftedFloats[counter1 * 2] = (uint16_t)shiftAssist; + shiftAssist = (shiftAssist - (float)shiftedFloats[counter1 * 2]) * 49152.0; // Scale up fraction + shiftedFloats[counter1 * 2 + 1] = (uint16_t)shiftAssist; + } + + shiftedFloats[10] = lowAddr; // Two more appended numbers, the 2 extreme pixel addresses + shiftedFloats[11] = highAddr; + + timeStamp = millis(); // Recycle this variable to append a time stamp + lowAddr = timeStamp & 0xFFFF; + highAddr = timeStamp >> 16; + shiftedFloats[12] = lowAddr; + shiftedFloats[13] = highAddr; + + myFile.write(shiftedFloats, 28); // Write appended uint16_t's + + myFile.close(); + return true; + } else { // The file didn't open, return error + return false; + } +} + +void recallLastBMP(uint16_t bgColor) { // Display 8-bit values left in buffer from the last BMP save + int counter1, counter2; + boolean exitFlag = false; + + setBackdrop(bgColor, 4); // Clear screen, just a color palette & "A:EXIT" in the BG + + for(int counter1 = 0; counter1 < 24; ++counter1) { // Redraw using leftover red byte values, not yet overwritten + for(int counter2 = 0 ; counter2 < 32 ; ++counter2) { + arcada.display->fillRect(16 + counter2 * 4, 92 - counter1 * 4, 4, 4, + colorPal[(uint16_t)pixelArray[3 * (32 * counter1 + counter2) + 2]]); + } + } + + while(!exitFlag) { // Loop here until exit button + if(!buttonActive && (buttonBits & ARCADA_BUTTONMASK_A)) { // "A:EXIT" button freshly pressed? + exitFlag = true; + buttonActive = true; + deBounce = millis() + DE_BOUNCE; + } + + if(buttonActive && millis() > deBounce + && (buttonBits & (ARCADA_BUTTONMASK_A | ARCADA_BUTTONMASK_B)) == 0) // Has de-bounce wait expired & all buttons released? + buttonActive = false; // Clear flag to allow another button press + } +} + +uint16_t availableFileNumber(uint16_t startNumber, String formatBase) { // Find unclaimed serial number for file series + uint16_t counter1; + char nameArray[80]; + + for(counter1 = startNumber; counter1 % MAX_SERIAL != 0; ++counter1) { // Start counting + sprintf(nameArray, formatBase.c_str(), counter1); // Generate a serialized filename + if(!arcada.exists(nameArray)) // If it doesn't already exist + return counter1; // return the number as available + } + return 0; // Loop finished, no free number found, return fail +} + +boolean menuLoop(uint16_t bgColor) { // Lay out a menu screen, interact to change values + int counter1 = 0, scrollPosition = 0; + boolean exitFlag = false, settingsChanged = false; + uint32_t menuButtons; + + arcada.display->fillScreen(bgColor); + arcada.display->fillRect(0, 12 * (counter1 + scrollPosition) + MENU_VPOS - 2, 160, 12, 0x0000); // Black stripe cursor on menu + + arcada.display->setTextColor(0xFFFF); // White text + arcada.display->setCursor(16, 120); // at screen bottom + arcada.display->print("B:ADVANCE A:CHANGE"); // for button labels + + for(counter1 = 0; counter1 < MENU_ROWS; ++counter1) { // Display menu texts + menuLines(counter1, scrollPosition); + } + counter1 = 0; + + while(!exitFlag) { // Loop until exit is activated + if(!buttonActive && (buttonBits & ARCADA_BUTTONMASK_B)) { // Fresh press of B:ADVANCE button? + buttonActive = true; // Set button flag + deBounce = millis() + DE_BOUNCE; // and start debounce timer. + + arcada.display->fillRect(0, 12 * (counter1 - scrollPosition) + MENU_VPOS - 2, 160, 12, bgColor); // Erase cursor & text + menuLines(counter1, scrollPosition); // Refresh menu text line + counter1 = (counter1 + 1) % MENU_LEN; // Advance menu counter + + if(counter1 == 0) { // Have we cycled around to the menu top? + scrollPosition = 0; + for(int counter2 = 0; counter2 < MENU_ROWS; ++counter2) { // Redisplay all menu texts + arcada.display->fillRect(0, 12 * counter2 + MENU_VPOS - 2, 160, 12, bgColor); // Erase old text + menuLines(counter2 + scrollPosition, scrollPosition); // Redraw each text line + } + } else if((counter1 + 1 < MENU_LEN) && (counter1 - scrollPosition == MENU_ROWS - 1)) { // Should we scroll down 1 menu line? + ++scrollPosition; + for(int counter2 = 0; counter2 < MENU_ROWS; ++counter2) { // Redisplay all menu texts + arcada.display->fillRect(0, 12 * counter2 + MENU_VPOS - 2, 160, 12, bgColor); // Erase old text + menuLines(counter2 + scrollPosition, scrollPosition); // Redraw each text line + } + } + + arcada.display->fillRect(0, 12 * (counter1 - scrollPosition) + MENU_VPOS - 2, 160, 12, 0x0000); // New black cursor + menuLines(counter1, scrollPosition); // Refresh text line + deBounce = millis() + DE_BOUNCE; // Restart debounce timer, just for safety + } + + if(!buttonActive && (buttonBits & ARCADA_BUTTONMASK_A)) { // Fresh press of A:CHANGE button? + buttonActive = true; // Set button flag + deBounce = millis() + DE_BOUNCE; // and start debounce timer. + + switch(counter1) { // Change whichever setting is currently hilighted + case 0: + showLastCap = true; // Set flag to display the last frame captured to SD + exitFlag = true; // and exit + break; + case 1: + celsiusFlag = !celsiusFlag; // Toggle Celsius/Fahrenheit + break; + case 2: + buttonRfunc = (buttonRfunc + 1) % 3; // Step through button functions + break; + case 3: + loadPalette(paletteNum = (paletteNum + 1) % 5); // Step through various color palettes + break; + case 4: + thermRange = (thermRange + 1) % 6; // Step through various temp range presets + break; + case 5: + markersOn = !markersOn; // Toggle hot/cold marker visibility + break; + case 6: + mirrorFlag = !mirrorFlag; // Toggle mirrored display + break; + case 7: + switch(frameRate = (frameRate + 1) % 6) { // 6 frame rates, 0.5 to 16 in powers of 2 + case 0: mlx.setRefreshRate(MLX90640_0_5_HZ); break; + case 1: mlx.setRefreshRate(MLX90640_1_HZ); break; + case 2: mlx.setRefreshRate(MLX90640_2_HZ); break; + case 3: mlx.setRefreshRate(MLX90640_4_HZ); break; + case 4: mlx.setRefreshRate(MLX90640_8_HZ); break; + default: mlx.setRefreshRate(MLX90640_16_HZ); break; + } + break; + case 8: + emissivity = (emissivity + 90) % 100; // Step from 95% to 5% by -10% + break; + case 9: + smoothing = !smoothing; // Toggle pixel smoothing + break; + case 10: + arcada.setBacklight((screenDim = !screenDim) ? 64 : 255); // Change backlight LED + break; + default: + exitFlag = true; + break; + } + if((counter1 > 0) && (counter1 < MENU_LEN - 1)) // Was any setting just changed? + settingsChanged = true; + + arcada.display->fillRect(0, 12 * (counter1 - scrollPosition) + MENU_VPOS - 2, 160, 12, 0x0000); // Erase hilit menu line + menuLines(counter1, scrollPosition); // Retype hilit menu line + } + + if(buttonActive && millis() > deBounce + && (buttonBits & (ARCADA_BUTTONMASK_A | ARCADA_BUTTONMASK_B)) == 0) // Has de-bounce wait expired & all buttons released? + buttonActive = false; // Clear flag to allow another button press + } + return(settingsChanged); +} + +void menuLines(int lineNumber, int scrollPos) { // Screen print a single line in the settings menu + + arcada.display->setTextColor(0xFFFF); // White text + arcada.display->setCursor(10, 12 * (lineNumber - scrollPos) + MENU_VPOS); // Menu lines 12 pixels apart + + if(lineNumber - scrollPos == 0 && scrollPos > 0) { // Are any menu lines scrolled off screen top? + arcada.display->print(" ^"); // Print a small up arrow indicator + } else if(lineNumber - scrollPos == 8 && lineNumber + 1 < MENU_LEN) { // How about off the bottom? + arcada.display->print(" v"); // Print a small down arrow indicator... yeah, it's a v + } else { + + switch(lineNumber) { + case 0: + arcada.display->print(" Display last capture"); + break; + case 1: + arcada.display->print(" Scale - "); + arcada.display->print(celsiusFlag ? "CELSIUS" : "FAHRENHEIT"); + break; + case 2: + arcada.display->print(" Rt button - "); + switch(buttonRfunc) { + case 1: + arcada.display->print("CAPTURE"); break; + case 2: + arcada.display->print("RECORD"); break; + default: + arcada.display->print("FREEZE"); break; + } + break; + case 3: + arcada.display->print(" Palette - "); + for(int xPos = 0; xPos < 72; ++xPos) // Display the current heat spectrum colors + arcada.display->drawFastVLine(xPos + 87, (lineNumber - scrollPos) * 12 + MENU_VPOS, + 8, colorPal[map(xPos, 0, 71, 0, 255)]); + switch(paletteNum) { + case 1: + arcada.display->print("IRONBOW"); + break; + case 2: + arcada.display->print("FIREBOW"); + break; + case 3: + arcada.display->setTextColor(0x0000); // Black text for reverse contrast + arcada.display->print("ALARM"); + break; + case 4: + arcada.display->setTextColor(0x0000); // Black text + arcada.display->print("BLACK HOT"); + break; + default: + arcada.display->print("WHITE HOT"); + break; + } + break; + case 4: + arcada.display->print("Temp range - "); + setColorRange(thermRange); + switch(thermRange) { + case 1: + arcada.display->print("STANDARD"); break; + case 2: + arcada.display->print("COOL/WARM"); break; + case 3: + arcada.display->print("WARM/WARMER"); break; + case 4: + arcada.display->print("HOT SPOTS"); break; + case 5: + arcada.display->print("FIRE & ICE"); break; + default: + arcada.display->print("AUTO-RANGE"); break; + } + break; + case 5: + arcada.display->print(" Markers - "); + arcada.display->print(markersOn ? "ON" : "OFF"); + break; + case 6: + arcada.display->print(" Image - "); + arcada.display->print(mirrorFlag ? "MIRRORED" : "FORWARD"); + break; + case 7: + arcada.display->print("Frame rate - "); + arcada.display->print((float)(1 << frameRate) * 0.5); + arcada.display->print(" FPS"); + break; + case 8: + arcada.display->setTextColor(GRAY_33 << 1); // Grayed menu item + arcada.display->print("Emissivity - "); + arcada.display->print(emissivity); + arcada.display->print("%"); + break; + case 9: + arcada.display->setTextColor(GRAY_33 << 1); // Grayed menu item + arcada.display->print(" Smoothing - "); + arcada.display->print(smoothing ? "ON" : "OFF"); + break; + case 10: + arcada.display->print(" Backlight - "); + arcada.display->print(screenDim ? "DIM" : "FULL"); + break; + case 11: + arcada.display->print(" Exit menu"); + } + } +} + +// This is the function that substitutes for GPIO external interrupts +// It will check for A and B button presses at 50Hz +void buttonCatcher(void) { + buttonBits = arcada.readButtons(); + clickFlagMenu |= (buttonBits & ARCADA_BUTTONMASK_B) != 0; + clickFlagSelect |= (buttonBits & ARCADA_BUTTONMASK_A) != 0; +} \ No newline at end of file From d0399731ee4196a0914fbcc26988f7c1e61f3028 Mon Sep 17 00:00:00 2001 From: Anne Barela <1911920+TheKitty@users.noreply.github.com> Date: Fri, 27 Mar 2020 16:20:48 -0400 Subject: [PATCH 16/85] Create ConvertBMPtoSeq01.pde Adding one more Processing sketch --- .../Processing/ConvertBMPtoSeq01.pde | 448 ++++++++++++++++++ 1 file changed, 448 insertions(+) create mode 100644 Pybadge_Thermal_Image_Recording/Processing/ConvertBMPtoSeq01.pde diff --git a/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPtoSeq01.pde b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPtoSeq01.pde new file mode 100644 index 000000000..d8ed507db --- /dev/null +++ b/Pybadge_Thermal_Image_Recording/Processing/ConvertBMPtoSeq01.pde @@ -0,0 +1,448 @@ +// ConvertBMPtoSeq01 - Read and enlarge a modified 32x24 24-bit gray BMP file, +// saving 256x192 BMP images in 256 colors for converting to MOV. +// Ver. 1 - Fetch filenames and scan all suitable BMPs we find for their time/temp data, +// to set the scale for graphing these numbers through the MOV. + +import java.util.Date; + +byte colorPal[], b[]; // Buffers for a color palette, and reading bytes from files + +PImage img; +int i, fileCount = 0, frameTotal = 0, earlyFrame = 0, lastFrame = 0, + hotLowFrame, hotHighFrame, coldLowFrame, coldHighFrame, targLowFrame, targHighFrame, + framX1, framX2, coldY1, coldY2, targY1, targY2, hotY1, hotY2, + offsetX = 153, offsetY = 6, numbersX = 40, numbersY = 30, graphX = 8, graphY = 342, + histoX = 410, histoY = 342, histoH = 140, histoW = 64, BGcolor = 48; +float hottestLow, hottestHigh, coldestLow, coldestHigh, targetLow, targetHigh; +String[] filenames; + + + +// Change the following values to customize the output images. +// "paletteChoice" selects a false color palette: +// 0 == Grayscale, white hot +// 1 == Ironbow +// 2 == Firebow +// 3 == Hot alarm +// 4 == Grayscale, black hot +int paletteChoice = 1; +boolean markersVisible = true, celsiusFlag = false, lirpSmoothing = true; + +void setup() { + int x, y; + float fixedPoint[]; + String nameHead, nameTail; + + size(480, 360); // Size must be the first statement + background(BGcolor); // Clear the screen with a gray background + noSmooth(); + + colorPal = new byte[1024]; // Reserve a 1K color table + loadColorTable(paletteChoice, 0); // Load color table + fixedPoint = new float[5]; // Buffer for added fixed point values + + String path = sketchPath() + "/data"; // Read from the "/data" subdirectory + +// println("Listing filenames: "); + filenames = listFileNames(path); +// println(filenames); + fileCount = filenames.length; +// println(fileCount + " entries"); + + if(fileCount < 1) { + println("No images found. Stopping."); + } else { // Filenames exist in the directory, convert what we can + +// First pass: Read the embedded times/temps and find maxes/mins for graphing + print("Counting through files: "); + for(i = 0; i < fileCount; ++i) { // Test each filename for conformity + if((i & 0x3F) == 0) + print(i + ", "); + nameHead = filenames[i].substring(0, 3); + nameTail = filenames[i].substring(8); + + if(nameHead.equals("frm") && nameTail.equals(".bmp") && int(filenames[i].substring(3, 8)) != 0) { // Source "frm_____.bmp" found? + b = loadBytes(filenames[i]); // Open a file and read its 8-bit data + + for(x = 0; x < 5; ++x) { // Rebuild float values from next 4*n bytes in the file + fixedPoint[x] = expandFloat(b[2360 + (x * 4) + 0], b[2360 + (x * 4) + 1], + b[2360 + (x * 4) + 2], b[2360 + (x * 4) + 3]); // 2360 == headers + pixels + 2 + } + y = ((b[2387] & 0xff) << 24) + ((b[2386] & 0xff) << 16) + + ((b[2385] & 0xff) << 8) + (b[2384] & 0xff); // Reassemble a uint32_t millis() stamp + + if(++frameTotal == 1) { // First frame found so far? + coldestLow = coldestHigh = fixedPoint[0]; + targetLow = targetHigh = fixedPoint[2]; // Initialize all values + hottestLow = hottestHigh = fixedPoint[4]; + hotLowFrame = hotHighFrame = coldLowFrame = coldHighFrame = targLowFrame = targHighFrame = earlyFrame = lastFrame = y; + } else { // Compare everything, update where necessary + + if(y < earlyFrame) + earlyFrame = y; // These will set the left and right bounds + else if(y > lastFrame) // of the temperature over time graphs + lastFrame = y; + + if(fixedPoint[0] < coldestLow) { // These will define the high and low bounds + coldestLow = fixedPoint[0]; + coldLowFrame = y; + } else if(fixedPoint[0] > coldestHigh) { + coldestHigh = fixedPoint[0]; + coldHighFrame = y; + } + + if(fixedPoint[2] < targetLow) { + targetLow = fixedPoint[2]; + targLowFrame = y; + } else if(fixedPoint[2] > targetHigh) { + targetHigh = fixedPoint[2]; + targHighFrame = y; + } + + if(fixedPoint[4] < hottestLow) { + hottestLow = fixedPoint[4]; + hotLowFrame = y; + } else if(fixedPoint[4] > hottestHigh) { + hottestHigh = fixedPoint[4]; + hotHighFrame = y; + } + } + } + } + println(i + ", done.\n"); + +// The high and low points of three datasets are found, display them + println("Frame times " + earlyFrame + " to " + lastFrame + " totaling " + (lastFrame - earlyFrame)); + println("Cold values " + coldestLow + " at " + coldLowFrame + " to " + coldestHigh + " at " + coldHighFrame); + println("Targ values " + targetLow + " at " + targLowFrame + " to " + targetHigh + " at " + targHighFrame); + println("Hot values " + hottestLow + " at " + hotLowFrame + " to " + hottestHigh + " at " + hotHighFrame); + + stroke(BGcolor + 48); + for(y = 0; y <= 140; y += 35) + line(graphX, graphY - y, graphX + 400, graphY - y); // Draw a generic grid for the time graph + for(x = 0; x <= 400; x += 40) + line(graphX + x, graphY - 140, graphX + x, graphY); + + noStroke(); // Text labels for the top & bottom temp values of the graph + textSize(10); + fill(255); + if(celsiusFlag) { + text(hottestHigh, graphX + 402, graphY - 142); + text(coldestLow, graphX + 402, graphY + 12); + } else { + text(hottestHigh * 1.8 + 32.0, graphX + 402, graphY - 142); + text(coldestLow * 1.8 + 32.0, graphX + 402, graphY + 12); + } + + fill(BGcolor + 128); // Predraw 6 little high/low markers in the graph space + rect(graphX + 400 * (coldLowFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - coldestLow) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + rect(graphX + 400 * (coldHighFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - coldestHigh) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + + rect(graphX + 400 * (targLowFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - targetLow) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + rect(graphX + 400 * (targHighFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - targetHigh) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + + rect(graphX + 400 * (hotLowFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - hottestLow) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + rect(graphX + 400 * (hotHighFrame - earlyFrame) / (lastFrame - earlyFrame) - 1, + graphY - int((coldestLow - hottestHigh) / (coldestLow - hottestHigh) * 140.0) - 1, 3, 3); + } + i = 0; +} + +// Second pass: Read each frame again, plot color mapped enlarged image, temperature values and graph, save each frame +void draw() { + int x, y, histogram[]; + float tempY, fixedPoint[]; + String nameHead, nameTail; + + noSmooth(); + fixedPoint = new float[5]; // Buffer for appended fixed point values + histogram = new int[256]; // Buffer for color histogram + for(x = 0; x < 256; ++x) + histogram[x] = 0; // Initialize histogram + + if(i < fileCount) { // Test each filename for conformity + nameHead = filenames[i].substring(0, 3); + nameTail = filenames[i].substring(8); + + if(nameHead.equals("frm") && nameTail.equals(".bmp") && int(filenames[i].substring(3, 8)) != 0) { // Source "frm_____.bmp" found? + b = loadBytes(filenames[i]); // Open a file and read its 8-bit data +// println(i + " " + filenames[i]); + enlarge8bitColor(); // Place colored enlarged image on screen + + for(x = 0; x < 5; ++x) { // Rebuild float values from next 4*n bytes in the file + fixedPoint[x] = expandFloat(b[2360 + (x * 4) + 0], b[2360 + (x * 4) + 1], + b[2360 + (x * 4) + 2], b[2360 + (x * 4) + 3]); + } + y = ((b[2387] & 0xff) << 24) + ((b[2386] & 0xff) << 16) + + ((b[2385] & 0xff) << 8) + (b[2384] & 0xff); // Reassemble a milliseconds time stamp + + smooth(); + framX2 = graphX + 400 * (y - earlyFrame) / (lastFrame - earlyFrame); + coldY2 = graphY - int((coldestLow - fixedPoint[0]) / (coldestLow - hottestHigh) * 140.0); // Map data values into graph space + targY2 = graphY - int((coldestLow - fixedPoint[2]) / (coldestLow - hottestHigh) * 140.0); + hotY2 = graphY - int((coldestLow - fixedPoint[4]) / (coldestLow - hottestHigh) * 140.0); + + if(i == 0) { + framX1 = framX2; // Set starting points for 3 graphs + coldY1 = coldY2; + targY1 = targY2; + hotY1 = hotY2; + } + + stroke(128, 128, 255); + line(framX1, coldY1, framX2, coldY2); // Graph cold data point + stroke(255, 200, 64); + line(framX1, targY1, framX2, targY2); // Graph center data point + stroke(255, 128, 64); + line(framX1, hotY1, framX2, hotY2); // Graph hot data point + + framX1 = framX2; // Remember endpoints of graphed lines + coldY1 = coldY2; + targY1 = targY2; + hotY1 = hotY2; + + noStroke(); // Print key values onscreen for current frame + fill(BGcolor); + rect(numbersX, numbersY, 82, 152); // Erase number region + + fill(BGcolor + 32); // A color to highlight any extreme values + if(y == hotLowFrame || y == hotHighFrame) + rect(numbersX, numbersY + 95, 80, 16); + if(y == targLowFrame || y == targHighFrame) + rect(numbersX, numbersY + 115, 80, 16); + if(y == coldLowFrame || y == coldHighFrame) + rect(numbersX, numbersY + 135, 80, 16); + + textSize(10); + fill(255); + text(filenames[i], numbersX + 5, numbersY + 40); // Show current filename + + if(celsiusFlag) + text("Frame\n\n\nElapsed sec\n\nDegrees C", numbersX + 5, numbersY + 8); + else + text("Frame\n\n\nElapsed sec\n\nDegrees F", numbersX + 5, numbersY + 8); + + textSize(15); + text(i, numbersX + 5, numbersY + 25); // Print frame number + text(float(y - earlyFrame) * 0.001, numbersX, numbersY + 74); // Print elapsed time + + if(celsiusFlag) { // Print temps in Celsius + fill(255, 128, 64); + text(fixedPoint[4], numbersX, numbersY + 108); + fill(255, 200, 64); + text(fixedPoint[2], numbersX, numbersY + 128); + fill(128, 128, 255); + text(fixedPoint[0], numbersX, numbersY + 148); + } else { // or print them in Farenheit + fill(255, 128, 64); + text(fixedPoint[4] * 1.8 + 32.0, numbersX, numbersY + 108); + fill(255, 200, 64); + text(fixedPoint[2] * 1.8 + 32.0, numbersX, numbersY + 128); + fill(128, 128, 255); + text(fixedPoint[0] * 1.8 + 32.0, numbersX, numbersY + 148); + } + + for(x = 0; x < 768; ++x) + ++histogram[b[54 + 3 * x] & 0xFF]; // Count all colors + framX2 = histogram[0]; + for(x = 1; x < 256; ++x) { // Find most numerous color + if(histogram[x] > framX2) { + framX2 = histogram[x]; + targY2 = x; + } + } + + fill(BGcolor); + rect(histoX, histoY - 140, histoW, histoH + 1); // Erase histogram region + + for(y = 0; y < 256; ++y) { + if(histogram[y] > 0) { + tempY = float(y) * (fixedPoint[3] - fixedPoint[1]) / 255.0 + fixedPoint[1]; // Convert a 8-bit value to a temperature + tempY = float(histoH) * (coldestLow - tempY) / (coldestLow - hottestHigh); // Position it on the graph Y axis + stroke(colorPal[4 * y + 2] & 0xFF, colorPal[4 * y + 1] & 0xFF, colorPal[4 * y + 0] & 0xFF); // Color map the stroke + line(histoX, histoY - int(tempY), histoX + (histoW - 1) * histogram[y] / framX2, histoY - int(tempY)); // Draw a line proportional to the pixel count + } + + noStroke(); + noSmooth(); + textSize(10); + if(targY2 < 0x80) // Histogram peak in the dark side? + fill(255); // Set contrasting test to white + else + fill(0); + + tempY = float(targY2) * (fixedPoint[3] - fixedPoint[1]) / 255.0 + fixedPoint[1]; // Convert a 8-bit value to a temperature + if(celsiusFlag) // Print the Y-positioned float value in C? + text(tempY, histoX, histoY + 3 - int(float(histoH) * (coldestLow - tempY) / (coldestLow - hottestHigh))); + else + text(tempY * 1.8 + 32.0, histoX, histoY + 3 - int(float(histoH) * (coldestLow - tempY) / (coldestLow - hottestHigh))); + } + saveFrame("mov#####.jpg"); // Save the image into a sequence for Movie Maker + } + ++i; + } +} + +void enlarge8bitColor() { // Convert a small gray BMP array and plot an enlarged colormapped version + int x, y; + + if(lirpSmoothing) { // Bilinear interpolation? + for(y = 0; y < 23; ++y) { // Count the source pixels less one + for(x = 0; x < 31; ++x) { + for(int yLirp = 0; yLirp < 9; ++yLirp) { + int corner0 = b[54 + ((32 * y + x) + 32) * 3] & 0xFF; + int corner1 = b[54 + ((32 * y + x) + 0) * 3] & 0xFF; + int pixLeft = (corner0 * yLirp + corner1 * (8 - yLirp)) >> 3; // Lirp 1 endpoint from 2 L pixels, + + int corner2 = b[54 + ((32 * y + x) + 33) * 3] & 0xFF; + int corner3 = b[54 + ((32 * y + x) + 1) * 3] & 0xFF; + int pixRight = (corner2 * yLirp + corner3 * (8 - yLirp)) >> 3; // and the other from 2 R pixels + + for(int xLirp = 0; xLirp < 9; ++xLirp) { + int pixMid = (pixRight * xLirp + pixLeft * (8 - xLirp)) >> 3; // Lirp between lirped endpoints, bilinear interp + stroke(colorPal[4 * pixMid + 2] & 0xFF, colorPal[4 * pixMid + 1] & 0xFF, colorPal[4 * pixMid + 0] & 0xFF); + point(offsetX + 4 + 8 * x + xLirp, offsetY + 188 - (8 * y + yLirp)); // Draw a pixel, bottom up + } + } + } + } + + for(y = 0; y < 192; ++y) { // Pad out the empty side pixels + stroke(get(offsetX + 4, offsetY + y)); + line(offsetX + 0, offsetY + y, offsetX + 3, offsetY + y); + stroke(get(offsetX + 252, offsetY + y)); + line(offsetX + 253, offsetY + y, offsetX + 255, offsetY + y); + } + for(x = 0; x < 256; ++x) { + stroke(get(offsetX + x, offsetY + 4)); + line(offsetX + x, offsetY + 0, offsetX + x, offsetY + 3); + stroke(get(offsetX + x, offsetY + 188)); + line(offsetX + x, offsetY + 189, offsetX + x, offsetY + 191); + } + } else { // Plain square pixels + noStroke(); + + for(y = 0; y < 24; ++y) { // Count all source pixels + for(x = 0; x < 32; ++x) { + int pixMid = b[54 + ((32 * y + x) + 0) * 3] & 0xFF; + fill(colorPal[4 * pixMid + 2] & 0xFF, colorPal[4 * pixMid + 1] & 0xFF, colorPal[4 * pixMid + 0] & 0xFF); // Get color from table + rect(offsetX + 8 * x, offsetY + 8 * (23 - y), 8, 8); // Draw a pixel, bottom up + } + } + } + + if(markersVisible) { // Show the green marker crosses? + stroke(0, 192, 0); // Deep green + + y = ((b[2381] & 0xff) << 8) + (b[2380] & 0xff); // Reassemble 16-bit addresses of cold / hot pixels + line(offsetX + 8 * (y & 31) + 1, offsetY + 188 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 7, offsetY + 188 - 8 * (y >> 5)); + line(offsetX + 8 * (y & 31) + 4, offsetY + 185 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 4, offsetY + 191 - 8 * (y >> 5)); + + y = ((b[2383] & 0xff) << 8) + (b[2382] & 0xff); + line(offsetX + 8 * (y & 31) + 1, offsetY + 188 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 7, offsetY + 188 - 8 * (y >> 5)); + line(offsetX + 8 * (y & 31) + 4, offsetY + 185 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 4, offsetY + 191 - 8 * (y >> 5)); + + y = 400; + line(offsetX + 8 * (y & 31) + 1, offsetY + 188 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 7, offsetY + 188 - 8 * (y >> 5)); + line(offsetX + 8 * (y & 31) + 4, offsetY + 185 - 8 * (y >> 5), offsetX + 8 * (y & 31) + 4, offsetY + 191 - 8 * (y >> 5)); + } +} + +void loadColorTable(int choiceNum, int offset) { + int i, x; + + switch(choiceNum) { + case 1: // Load 8-bit BMP color table with computed ironbow curves + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.02 - (fleX - 0.72) * (fleX - 0.72) * 1.96); + fleG = (fleG > 255.0) || (fleX > 0.75) ? 255.0 : fleG; // Truncate curve + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX * fleX * 255.9; + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (14.0 * (fleX * fleX * fleX) - 20.0 * (fleX * fleX) + 7.0 * fleX); + fleG = fleG < 0.0 ? 0.0 : fleG; // Truncate curve + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 2: // Compute quadratic "firebow" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (1.00 - (fleX - 1.0) * (fleX - 1.0)); + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = fleX < 0.25 ? 0.0 : (fleX - 0.25) * 1.3333 * 255.9; + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = fleX < 0.5 ? 0.0 : (fleX - 0.5) * (fleX - 0.5) * 1023.9; + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 3: // Compute "alarm" palette + for(x = 0; x < 256; ++x) { + float fleX = (float)x / 255.0; + + float fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 1.0); + i = (int)fleG; + colorPal[offset + x * 4 + 2] = byte(i & 0xFF); // Red vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : (fleX - 0.875) * 8.0); + i = (int)fleG; + colorPal[offset + x * 4 + 1] = byte(i & 0xFF); // Grn vals + + fleG = 255.9 * (fleX < 0.875 ? 1.00 - (fleX * 1.1428) : 0.0); + i = (int)fleG; + colorPal[offset + x * 4 + 0] = byte(i & 0xFF); // Blu vals + } + break; + case 4: // Grayscale, black hot + for(x = 0; x < 256; ++x) { + colorPal[offset + x * 4 + 2] = byte(255 - x & 0xFF); // Red vals + colorPal[offset + x * 4 + 1] = byte(255 - x & 0xFF); // Grn vals + colorPal[offset + x * 4 + 0] = byte(255 - x & 0xFF); // Blu vals + } + break; + default: // Grayscale, white hot + for(x = 0; x < 256; ++x) { + colorPal[offset + x * 4 + 2] = byte(x & 0xFF); // Red vals + colorPal[offset + x * 4 + 1] = byte(x & 0xFF); // Grn vals + colorPal[offset + x * 4 + 0] = byte(x & 0xFF); // Blu vals + } + } +} + +// Rebuild a float from a fixed point decimal value encoded in 4 bytes +float expandFloat(byte m1, byte m2, byte e1, byte e2) { + int fracPart; + float floatPart; + + fracPart = ((e2 & 0xff) << 8) + (e1 & 0xff); // Reassemble 16-bit value + floatPart = (float)fracPart / 49152.0; // Convert into fractional portion of float + fracPart = ((m2 & 0xff) << 8) + (m1 & 0xff); // Reassemble 16-bit value + return ((float)fracPart + floatPart) - 1000.0; // Complete reconstructing original float +} + +String[] listFileNames(String dir) { // Return the filenames from a directory as an array of Strings + File file = new File(dir); + + if (file.isDirectory()) { + String names[] = file.list(); + return names; + } else // It's not a directory + return null; +} From e72df358a198dea0f87012d16a751d8e0eb06faa Mon Sep 17 00:00:00 2001 From: Kevin J Walters Date: Sat, 28 Mar 2020 19:46:54 +0000 Subject: [PATCH 17/85] Adding files for upcoming CLUE Sensor Plotter (to a new branch for different PR from a more reasonable base). --- .../adafruit-spinning-logo-plot-2chan.wav | Bin 0 -> 10044 bytes CLUE_Sensor_Plotter/clue-plotter.py | 263 +++++ CLUE_Sensor_Plotter/plot_source.py | 378 ++++++++ CLUE_Sensor_Plotter/plotter.py | 897 ++++++++++++++++++ CLUE_Sensor_Plotter/test_PlotSource.py | 111 +++ CLUE_Sensor_Plotter/test_Plotter.py | 555 +++++++++++ 6 files changed, 2204 insertions(+) create mode 100644 CLUE_Sensor_Plotter/adafruit-spinning-logo-plot-2chan.wav create mode 100644 CLUE_Sensor_Plotter/clue-plotter.py create mode 100644 CLUE_Sensor_Plotter/plot_source.py create mode 100644 CLUE_Sensor_Plotter/plotter.py create mode 100644 CLUE_Sensor_Plotter/test_PlotSource.py create mode 100644 CLUE_Sensor_Plotter/test_Plotter.py diff --git a/CLUE_Sensor_Plotter/adafruit-spinning-logo-plot-2chan.wav b/CLUE_Sensor_Plotter/adafruit-spinning-logo-plot-2chan.wav new file mode 100644 index 0000000000000000000000000000000000000000..091a09141c816be760a5ba06d0c49f723a3dbf06 GIT binary patch literal 10044 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 A)c^nh literal 0 HcmV?d00001 diff --git a/CLUE_Sensor_Plotter/clue-plotter.py b/CLUE_Sensor_Plotter/clue-plotter.py new file mode 100644 index 000000000..5f80c4ac1 --- /dev/null +++ b/CLUE_Sensor_Plotter/clue-plotter.py @@ -0,0 +1,263 @@ +# clue-plotter v1.13 +# Sensor and input plotter for Adafruit CLUE in CircuitPython +# This plots the sensors and three of the analogue inputs on +# the LCD display either with scrolling or wrap mode which +# approximates a slow timebase oscilloscope, left button selects +# next source or with long press changes palette or longer press +# turns on output for Mu plotting, right button changes plot style + +# Tested with an Adafruit CLUE (Alpha) and CircuitPython and 5.0.0 + +# copy this file to CLUE board as code.py +# needs companion plot_sensor.py and plotter.py files + +# MIT License + +# Copyright (c) 2020 Kevin J. Walters + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import time + +import gc +import board + +from plotter import Plotter +from plot_source import PlotSource, TemperaturePlotSource, PressurePlotSource, \ + HumidityPlotSource, ColorPlotSource, ProximityPlotSource, \ + IlluminatedColorPlotSource, VolumePlotSource, \ + AccelerometerPlotSource, GyroPlotSource, \ + MagnetometerPlotSource, PinPlotSource +from adafruit_clue import clue + + +debug = 1 + + +# A list of all the data sources for plotting +sources = [TemperaturePlotSource(clue, mode="Celsius"), + TemperaturePlotSource(clue, mode="Fahrenheit"), + PressurePlotSource(clue, mode="Metric"), + PressurePlotSource(clue, mode="Imperial"), + HumidityPlotSource(clue), + ColorPlotSource(clue), + ProximityPlotSource(clue), + IlluminatedColorPlotSource(clue, mode="Red"), + IlluminatedColorPlotSource(clue, mode="Green"), + IlluminatedColorPlotSource(clue, mode="Blue"), + IlluminatedColorPlotSource(clue, mode="Clear"), + VolumePlotSource(clue), + AccelerometerPlotSource(clue), + GyroPlotSource(clue), + MagnetometerPlotSource(clue), + PinPlotSource([board.P0, board.P1, board.P2]) + ] +# The first source to select when plotting starts +current_source_idx = 0 + +# The various plotting styles - scroll is currently a jump scroll +stylemodes = (("lines", "scroll"), # draws lines between points + ("lines", "wrap"), + ("dots", "scroll"), # just points - slightly quicker + ("dots", "wrap") + ) +current_sm_idx = 0 + + +def d_print(level, *args, **kwargs): + """A simple conditional print for debugging based on global debug level.""" + if not isinstance(level, int): + print(level, *args, **kwargs) + elif debug >= level: + print(*args, **kwargs) + + +def select_colors(plttr, src, def_palette): + """Choose the colours based on the particular PlotSource + or forcing use of default palette.""" + # otherwise use defaults + channel_colidx = [] + palette = plttr.get_colors() + colors = PlotSource.DEFAULT_COLORS if def_palette else src.colors() + for col in colors: + try: + channel_colidx.append(palette.index(col)) + except ValueError: + channel_colidx.append(PlotSource.DEFAULT_COLORS.index(col)) + return channel_colidx + + +def ready_plot_source(plttr, srcs, def_palette, index=0): + """Select the plot source by index from srcs list and then setup the + plot parameters by retrieving meta-data from the PlotSource object.""" + src = srcs[index] + # Put the description of the source on screen at the top + source_name = str(src) + d_print(1, "Selecting source:", source_name) + plttr.clear_all() + plttr.title = source_name + plttr.y_axis_lab = src.units() + # The range on graph will start at this value + plttr.y_range = (src.initial_min(), src.initial_max()) + plttr.y_min_range = src.range_min() + # Sensor/data source is expected to produce data between these values + plttr.y_full_range = (src.min(), src.max()) + channels_from_src = src.values() + plttr.channels = channels_from_src # Can be between 1 and 3 + plttr.channel_colidx = select_colors(plttr, src, def_palette) + + src.start() + return (src, channels_from_src) + + +def wait_release(func, menu): + """Calls func repeatedly waiting for it to return a false value + and goes through menu list as time passes. + + The menu is a list of menu entries where each entry is a + two element list of time passed in seconds and text to display + for that period. + The entries must be in ascending time order.""" + + start_t_ns = time.monotonic_ns() + menu_option = None + selected = False + + for menu_option, menu_entry in enumerate(menu): + menu_time_ns = start_t_ns + int(menu_entry[0] * 1e9) + menu_text = menu_entry[1] + if menu_text: + plotter.info = menu_text + while time.monotonic_ns() < menu_time_ns: + if not func(): + selected = True + break + if menu_text: + plotter.info = "" + if selected: + break + + return (menu_option, (time.monotonic_ns() - start_t_ns) * 1e-9) + + +def popup_text(plttr, text, duration=1.0): + """Place some text on the screen using info property of Plotter object + for duration seconds.""" + plttr.info = text + time.sleep(duration) + plttr.info = None + + +mu_plotter_output = False +range_lock = False + +initial_title = "CLUE Plotter" +# displayio has some static limits on text - pre-calculate the maximum +# length of all of the different PlotSource objects +max_title_len = max(len(initial_title), max([len(str(so)) for so in sources])) +plotter = Plotter(board.DISPLAY, + style=stylemodes[current_sm_idx][0], + mode=stylemodes[current_sm_idx][1], + title=initial_title, + max_title_len=max_title_len, + mu_output=mu_plotter_output, + debug=debug) + +# If set to true this forces use of colour blindness friendly colours +use_def_pal = False + +clue.pixel[0] = clue.BLACK # turn off the NeoPixel on the back of CLUE board + +plotter.display_on() +# Using left and right here in case the CLUE is cased hiding A/B labels +popup_text(plotter, + "\n".join(["Button Guide", + "Left: next source", + " 2secs: palette", + " 4s: Mu plot", + " 6s: range lock", + "Right: style change"]), duration=10) + +count = 0 + +while True: + # Set the source and start items + (source, channels) = ready_plot_source(plotter, sources, + use_def_pal, + current_source_idx) + + while True: + # Read data from sensor or voltage from pad + all_data = source.data() + + # Check for left (A) and right (B) buttons + if clue.button_a: + # Wait for button release with time-based menu + opt, _ = wait_release(lambda: clue.button_a, + [(2, "Next\nsource"), + (4, + ("Source" if use_def_pal else "Default") + + "\npalette"), + (6, + "Mu output " + + ("off" if mu_plotter_output else "on")), + (8, + "Range lock\n" + ("off" if range_lock else "on")) + ]) + if opt == 0: # change plot source + current_source_idx = (current_source_idx + 1) % len(sources) + break # to leave inner while and select the new source + + elif opt == 1: # toggle palette + use_def_pal = not use_def_pal + plotter.channel_colidx = select_colors(plotter, source, + use_def_pal) + + elif opt == 2: # toggle Mu output + mu_plotter_output = not mu_plotter_output + plotter.mu_output = mu_plotter_output + + else: # toggle range lock + range_lock = not range_lock + plotter.y_range_lock = range_lock + + if clue.button_b: # change plot style and mode + current_sm_idx = (current_sm_idx + 1) % len(stylemodes) + (new_style, new_mode) = stylemodes[current_sm_idx] + wait_release(lambda: clue.button_b, + [(2, new_style + "\n" + new_mode)]) + d_print(1, "Graph change", new_style, new_mode) + plotter.change_stylemode(new_style, new_mode) + + # Display it + if channels == 1: + plotter.data_add((all_data,)) + else: + plotter.data_add(all_data) + + # An occasional print of free heap + if debug >=3 and count % 15 == 0: + gc.collect() # must collect() first to measure free memory + print("Free memory:", gc.mem_free()) + + count += 1 + + source.stop() + +plotter.display_off() diff --git a/CLUE_Sensor_Plotter/plot_source.py b/CLUE_Sensor_Plotter/plot_source.py new file mode 100644 index 000000000..6854a6033 --- /dev/null +++ b/CLUE_Sensor_Plotter/plot_source.py @@ -0,0 +1,378 @@ +# MIT License + +# Copyright (c) 2020 Kevin J. Walters + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +""" +`plot_source` +================================================================================ +CircuitPython library for the clue-plotter application. + +* Author(s): Kevin J. Walters + +Implementation Notes +-------------------- +**Hardware:** +* Adafruit CLUE +**Software and Dependencies:** +* Adafruit's CLUE library: https://github.com/adafruit/Adafruit_CircuitPython_CLUE +""" + +import math + +import analogio + + +class PlotSource(): + """An abstract class for a sensor which returns the data from the sensor + and provides some metadata useful for plotting. + Sensors returning vector quanities like a 3-axis accelerometer are supported. + When the source is used start() will be called and when it's not needed stop() will + be called. + + :param values: Number of values returned by data method, between 1 and 3. + :param name: Name of the sensor used to title the graph, only 17 characters fit on screen. + :param units: Units for data used for y axis label. + :param abs_min: Absolute minimum value for data, defaults to 0. + :param abs_max: Absolute maximum value for data, defaults to 65535. + :param initial_min: The initial minimum value suggested for y axis on graph, + defaults to abs_min. + :param initial_max: The initial maximum value suggested for y axis on graph, + defaults to abs_max. + :param range_min: A suggested minimum range to aid automatic y axis ranging. + :param rate: The approximate rate in Hz that that data method returns in a tight loop. + :param colors: A list of the suggested colors for data. + :param debug: A numerical debug level, defaults to 0. + """ + DEFAULT_COLORS = (0xffff00, 0x00ffff, 0xff0080) + RGB_COLORS = (0xff0000, 0x00ff00, 0x0000ff) + + def __init__(self, values, name, units="", + abs_min=0, abs_max=65535, initial_min=None, initial_max=None, + range_min=None, + rate=None, colors=None, debug=0): + if type(self) == PlotSource: # pylint: disable=unidiomatic-typecheck + raise TypeError("PlotSource must be subclassed") + self._values = values + self._name = name + self._units = units + self._abs_min = abs_min + self._abs_max = abs_max + self._initial_min = initial_min if initial_min is not None else abs_min + self._initial_max = initial_max if initial_max is not None else abs_max + if range_min is None: + self._range_min = (abs_max - abs_min) / 100 # 1% of full range + else: + self._range_min = range_min + self._rate = rate + if colors is not None: + self._colors = colors + else: + self._colors = self.DEFAULT_COLORS[:values] + self._debug = debug + + def __str__(self): + return self._name + + def data(self): + """Data sample from the sensor. + + :return: A single numerical value or an array or tuple for vector values. + """ + raise NotImplementedError() + + def min(self): + return self._abs_min + + def max(self): + return self._abs_max + + def initial_min(self): + return self._initial_min + + def initial_max(self): + return self._initial_max + + def range_min(self): + return self._range_min + + def start(self): + pass + + def stop(self): + pass + + def values(self): + return self._values + + def units(self): + return self._units + + def rate(self): + return self._rate + + def colors(self): + return self._colors + + +# This over-reads presumably due to electronics warming the board +# It also looks odd on close inspection as it climbs about 0.1C if +# it's read frequently +# Data sheet say operating temperature is -40C to 85C +class TemperaturePlotSource(PlotSource): + def _convert(self, value): + return value * self._scale + self._offset + + def __init__(self, my_clue, mode="Celsius"): + self._clue = my_clue + range_min = 0.8 + if mode[0].lower() == "f": + mode_name = "Fahrenheit" + self._scale = 1.8 + self._offset = 32.0 + range_min = 1.6 + elif mode[0].lower() == "k": + mode_name = "Kelvin" + self._scale = 1.0 + self._offset = 273.15 + else: + mode_name = "Celsius" + self._scale = 1.0 + self._offset = 0.0 + super().__init__(1, "Temperature", + units=mode_name[0], + abs_min=self._convert(-40), + abs_max=self._convert(85), + initial_min=self._convert(10), + initial_max=self._convert(40), + range_min=range_min, + rate=24) + + def data(self): + return self._convert(self._clue.temperature) + + +# The 300, 1100 values are in adafruit_bmp280 but are private variables +class PressurePlotSource(PlotSource): + def _convert(self, value): + return value * self._scale + + def __init__(self, my_clue, mode="M"): + self._clue = my_clue + if mode[0].lower() == "i": + # 29.92 inches mercury equivalent to 1013.25mb in ISA + self._scale = 29.92 / 1013.25 + units = "inHg" + range_min = 0.04 + else: + self._scale = 1.0 + units = "hPa" # AKA millibars (mb) + range_min = 1 + + super().__init__(1, "Pressure", units=units, + abs_min=self._convert(300), abs_max=self._convert(1100), + initial_min=self._convert(980), initial_max=self._convert(1040), + range_min=range_min, + rate=22) + + def data(self): + return self._convert(self._clue.pressure) + + +class ProximityPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(1, "Proximity", + abs_min=0, abs_max=255, + rate=720) + + def data(self): + return self._clue.proximity + + +class HumidityPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(1, "Rel. Humidity", units="%", + abs_min=0, abs_max=100, initial_min=20, initial_max=60, + rate=54) + + def data(self): + return self._clue.humidity + +# If clue.touch_N has not been used then it doesn't instantiate +# the TouchIn object so there's no problem with creating an AnalogIn... +class PinPlotSource(PlotSource): + def __init__(self, pin): + try: + pins = [p for p in pin] + except TypeError: + pins = [pin] + + self._pins = pins + self._analogin = [analogio.AnalogIn(p) for p in pins] + # Assumption here that reference_voltage is same for all + # 3.3V graphs nicely with rounding up to 4.0V + self._reference_voltage = self._analogin[0].reference_voltage + self._conversion_factor = self._reference_voltage / (2**16 - 1) + super().__init__(len(pins), + "Pad: " + ", ".join([str(p).split('.')[-1] for p in pins]), + units="V", + abs_min=0.0, abs_max=math.ceil(self._reference_voltage), + rate=10000) + + def data(self): + if len(self._analogin) == 1: + return self._analogin[0].value * self._conversion_factor + else: + return tuple([ana.value * self._conversion_factor + for ana in self._analogin]) + + def pins(self): + return self._pins + + +class ColorPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(3, "Color: R, G, B", + abs_min=0, abs_max=8000, # 7169 looks like max + rate=50, + colors=self.RGB_COLORS, + ) + + def data(self): + (r, g, b, _) = self._clue.color # fourth value is clear value + return (r, g, b) + + def start(self): + # These values will affect the maximum return value + # Set APDS9660 to sample every (256 - 249 ) * 2.78 = 19.46ms + # pylint: disable=protected-access + self._clue._sensor.integration_time = 249 # 19.46ms, ~ 50Hz + self._clue._sensor.color_gain = 0x02 # 16x (library default is 4x) + + +class IlluminatedColorPlotSource(PlotSource): + def __init__(self, my_clue, mode="Clear"): + self._clue = my_clue + col_fl_lc = mode[0].lower() + if col_fl_lc == "r": + plot_colour = self.RGB_COLORS[0] + elif col_fl_lc == "g": + plot_colour = self.RGB_COLORS[1] + elif col_fl_lc == "b": + plot_colour = self.RGB_COLORS[2] + elif col_fl_lc == "c": + plot_colour = self.DEFAULT_COLORS[0] + else: + raise ValueError("Colour must be Red, Green, Blue or Clear") + + self._channel = col_fl_lc + super().__init__(1, "Illum. color: " + self._channel.upper(), + abs_min=0, abs_max=8000, + initial_min=0, initial_max=2000, + colors=(plot_colour,), + rate=50) + + def data(self): + (r, g, b, c) = self._clue.color + if self._channel == "r": + return r + elif self._channel == "g": + return g + elif self._channel == "b": + return b + elif self._channel == "c": + return c + else: + return None # This should never happen + + def start(self): + # Set APDS9660 to sample every (256 - 249 ) * 2.78 = 19.46ms + # pylint: disable=protected-access + self._clue._sensor.integration_time = 249 # 19.46ms, ~ 50Hz + self._clue._sensor.color_gain = 0x03 # 64x (library default is 4x) + + self._clue.white_leds = True + + def stop(self): + self._clue.white_leds = False + + +class VolumePlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(1, "Volume", units="dB", + abs_min=0, abs_max=97+3, # 97dB is 16bit dynamic range + initial_min=10, initial_max=60, + rate=41) + + # 20 due to conversion of amplitude of signal + _LN_CONVERSION_FACTOR = 20 / math.log(10) + + def data(self): + return (math.log(self._clue.sound_level + 1) + * self._LN_CONVERSION_FACTOR) + + +# This appears not to be a blocking read in terms of waiting for a +# a genuinely newvalue from the sensor +# CP standard says this should be radians per second but library +# currently returns degrees per second +# https://circuitpython.readthedocs.io/en/latest/docs/design_guide.html +# https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/issues/9 +class GyroPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(3, "Gyro", units="dps", + abs_min=-287-13, abs_max=287+13, # 286.703 appears to be max + initial_min=-100, initial_max=100, + colors=self.RGB_COLORS, + rate=500) + + def data(self): + return self._clue.gyro + + +class AccelerometerPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(3, "Accelerometer", units="ms-2", + abs_min=-40, abs_max=40, # 39.1992 approx max + initial_min=-20, initial_max=20, + colors=self.RGB_COLORS, + rate=500) + + def data(self): + return self._clue.acceleration + + +class MagnetometerPlotSource(PlotSource): + def __init__(self, my_clue): + self._clue = my_clue + super().__init__(3, "Magnetometer", units="uT", + abs_min=-479-21, abs_max=479+21, # 478.866 approx max + initial_min=-80, initial_max=80, # Earth around 60uT + colors=self.RGB_COLORS, + rate=500) + + def data(self): + return self._clue.magnetic diff --git a/CLUE_Sensor_Plotter/plotter.py b/CLUE_Sensor_Plotter/plotter.py new file mode 100644 index 000000000..260861085 --- /dev/null +++ b/CLUE_Sensor_Plotter/plotter.py @@ -0,0 +1,897 @@ +# MIT License + +# Copyright (c) 2020 Kevin J. Walters + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +""" +`plotter` +================================================================================ +CircuitPython library for the clue-plotter application's plotting facilties. +Internally this holds some values in a circular buffer to enable redrawing +and has some basic statistics on data. +Not intended to be a truly general purpose plotter but perhaps could be +developed into one. + +* Author(s): Kevin J. Walters + +Implementation Notes +-------------------- +**Hardware:** +* Adafruit CLUE +**Software and Dependencies:** +* Adafruit's CLUE library: https://github.com/adafruit/Adafruit_CircuitPython_CLUE +""" + +import time +import array + +import displayio +import terminalio + +from adafruit_display_text.label import Label + + +def mapf(value, in_min, in_max, out_min, out_max): + return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min + + +# This creates ('{:.0f}', '{:.1f}', '{:.2f}', etc +_FMT_DEC_PLACES = tuple("{:." + str(x) + "f}" for x in range(10)) + +def format_width(nchars, value): + """Simple attempt to generate a value within nchars characters. + Return value can be too long, e.g. for nchars=5, bad things happen + with values > 99999 or < -9999 or < -99.9.""" + neg_format = _FMT_DEC_PLACES[nchars - 3] + pos_format = _FMT_DEC_PLACES[nchars - 2] + if value <= -10.0: + text_value = neg_format.format(value) # may overflow width + elif value < 0.0: + text_value = neg_format.format(value) + elif value >= 10.0: + text_value = pos_format.format(value) # may overflow width + else: + text_value = pos_format.format(value) # 0.0 to 9.99999 + return text_value + + +class Plotter(): + _DEFAULT_SCALE_MODE = {"lines": "onscroll", + "dots": "screen"} + + # Palette for plotting, first one is set transparent + TRANSPARENT_IDX = 0 + # Removed one colour to get number down to 8 for more efficient + # bit-packing in displayio's Bitmap + _PLOT_COLORS = (0x000000, + 0x0000ff, + 0x00ff00, + 0x00ffff, + 0xff0000, + # 0xff00ff, + 0xffff00, + 0xffffff, + 0xff0080) + + POS_INF = float("inf") + NEG_INF = float("-inf") + + # Approximate number of seconds to review data for zooming in + # and how often to do that check + ZOOM_IN_TIME = 8 + ZOOM_IN_CHECK_TIME_NS = 5 * 1e9 + # 20% headroom either side on zoom in/out + ZOOM_HEADROOM = 20 / 100 + + GRID_COLOR = 0x308030 + GRID_DOT_SPACING = 8 + + _GRAPH_TOP = 30 # y position for the graph placement + + INFO_FG_COLOR = 0x000080 + INFO_BG_COLOR = 0xc0c000 + LABEL_COLOR = 0xc0c0c0 + + def _display_manual(self): + """Intention was to disable auto_refresh here but this needs a + simple displayio refresh to work well.""" + self._output.auto_refresh = True + + def _display_auto(self): + self._output.auto_refresh = True + + def _display_refresh(self): + """Intention was to call self._output.refresh() but this does not work well + as current implementation is designed with a fixed frame rate in mind.""" + if self._output.auto_refresh: + return True + else: + return True + + def __init__(self, output, + style="lines", mode="scroll", scale_mode=None, + screen_width=240, screen_height=240, + plot_width=192, plot_height=201, + x_divs=4, y_divs=4, + scroll_px=50, + max_channels=3, + est_rate=50, + title="", + max_title_len=20, + mu_output=False, + debug=0): + """scroll_px of greater than 1 gives a jump scroll.""" + # pylint: disable=too-many-locals,too-many-statements + self._output = output + self.change_stylemode(style, mode, scale_mode=scale_mode, clear=False) + self._screen_width = screen_width + self._screen_height = screen_height + self._plot_width = plot_width + self._plot_height = plot_height + self._plot_height_m1 = plot_height - 1 + self._x_divs = x_divs + self._y_divs = y_divs + self._scroll_px = scroll_px + self._max_channels = max_channels + self._est_rate = est_rate + self._title = title + self._max_title_len = max_title_len + + # These arrays are used to provide a circular buffer + # with _data_values valid values - this needs to be sized + # one larger than screen width to retrieve prior y position + # for line undrawing in wrap mode + self._data_size = self._plot_width + 1 + self._data_y_pos = [] + self._data_value = [] + for _ in range(self._max_channels): + # 'i' is 32 bit signed integer + self._data_y_pos.append(array.array('i', [0] * self._data_size)) + self._data_value.append(array.array('f', [0.0] * self._data_size)) + + # begin-keep-pylint-happy + self._data_mins = None + self._data_maxs = None + self._data_stats_maxlen = None + self._data_stats = None + self._values = None + self._data_values = None + self._x_pos = None + self._data_idx = None + self._plot_lastzoom_ns = None + # end-keep-pylint-happy + self._init_data() + + self._mu_output = mu_output + self._debug = debug + + self._channels = None + self._channel_colidx = [] + + # The range the data source generates within + self._abs_min = None + self._abs_max = None + + # The current plot min/max + self._plot_min = None + self._plot_max = None + self._plot_min_range = None # Used partly to prevent div by zero + self._plot_range_lock = False + self._plot_dirty = False # flag indicate some data has been plotted + + self._font = terminalio.FONT + self._y_axis_lab = "" + self._y_lab_width = 6 # maximum characters for y axis label + self._y_lab_color = self.LABEL_COLOR + + self._displayio_graph = None + self._displayio_plot = None + self._displayio_title = None + self._displayio_info = None + self._displayio_y_labs = None + self._displayio_y_axis_lab = None + self._last_manual_refresh = None + + def _init_data(self, ranges=True): + # Allocate arrays for each possible channel with plot_width elements + self._data_mins = [self.POS_INF] + self._data_maxs = [self.NEG_INF] + self._data_start_ns = [time.monotonic_ns()] + self._data_stats_maxlen = 10 + + # When in use the arrays in here are variable length + self._data_stats = [[] * self._max_channels] + + self._values = 0 # total data processed + self._data_values = 0 # valid elements in data_y_pos and data_value + self._x_pos = 0 + self._data_idx = 0 + + self._plot_lastzoom_ns = 0 # monotonic_ns() for last zoom in + if ranges: + self._plot_min = None + self._plot_max = None + self._plot_min_range = None # Used partly to prevent div by zero + self._plot_dirty = False # flag indicate some data has been plotted + + def _recalc_y_pos(self): + """Recalculates _data_y_pos based on _data_value for changes in y scale.""" + # Check if nothing to do - important since _plot_min _plot_max not yet set + if self._data_values == 0: + return + + for ch_idx in range(self._channels): + # intentional use of negative array indexing + for data_idx in range(self._data_idx - 1, + self._data_idx - 1 - self._data_values, + -1): + self._data_y_pos[ch_idx][data_idx] = round(mapf(self._data_value[ch_idx][data_idx], + self._plot_min, + self._plot_max, + self._plot_height_m1, + 0)) + + def get_colors(self): + return self._PLOT_COLORS + + def clear_all(self, ranges=True): + if self._values != 0: + self._undraw_bitmap() + self._init_data(ranges=ranges) + + # Simple implementation here is to clear the screen on change... + def change_stylemode(self, style, mode, scale_mode=None, clear=True): + if style not in ("lines", "dots"): + raise ValueError("style not lines or dots") + if mode not in ("scroll", "wrap"): + raise ValueError("mode not scroll or wrap") + if scale_mode is None: + scale_mode = self._DEFAULT_SCALE_MODE[style] + elif scale_mode not in ("pixel", "onscroll", "screen", "time"): + raise ValueError("scale_mode not pixel, onscroll, screen or time") + + # Clearing everything on screen and everything stored in variables + # apart from plot ranges is simplest approach here - clearing + # involves undrawing which uses the self._style so must not change + # that beforehand + if clear: + self.clear_all(ranges=False) + + self._style = style + self._mode = mode + self._scale_mode = scale_mode + + if self._mode == "wrap": + self._display_auto() + elif self._mode == "scroll": + self._display_manual() + + def _make_empty_tg_plot_bitmap(self): + plot_bitmap = displayio.Bitmap(self._plot_width, self._plot_height, + len(self._PLOT_COLORS)) + # Create a colour palette for plot dots/lines + plot_palette = displayio.Palette(len(self._PLOT_COLORS)) + + for idx in range(len(self._PLOT_COLORS)): + plot_palette[idx] = self._PLOT_COLORS[idx] + plot_palette.make_transparent(0) + tg_plot_data = displayio.TileGrid(plot_bitmap, + pixel_shader=plot_palette) + tg_plot_data.x = self._screen_width - self._plot_width - 1 + tg_plot_data.y = self._GRAPH_TOP + return (tg_plot_data, plot_bitmap) + + def _make_tg_grid(self): + # pylint: disable=too-many-locals + grid_width = self._plot_width + grid_height = self._plot_height_m1 + div_width = self._plot_width // self._x_divs + div_height = self._plot_height // self._y_divs + a_plot_grid = displayio.Bitmap(div_width, div_height, 2) + + # Grid colours + grid_palette = displayio.Palette(2) + grid_palette.make_transparent(0) + grid_palette[0] = 0x000000 + grid_palette[1] = self.GRID_COLOR + + # Horizontal line on grid rectangle + for x in range(0, div_width, self.GRID_DOT_SPACING): + a_plot_grid[x, 0] = 1 + + # Vertical line on grid rectangle + for y in range(0, div_height, self.GRID_DOT_SPACING): + a_plot_grid[0, y] = 1 + + right_line = displayio.Bitmap(1, grid_height, 2) + tg_right_line = displayio.TileGrid(right_line, + pixel_shader=grid_palette) + for y in range(0, grid_height, self.GRID_DOT_SPACING): + right_line[0, y] = 1 + + bottom_line = displayio.Bitmap(grid_width + 1, 1, 2) + tg_bottom_line = displayio.TileGrid(bottom_line, + pixel_shader=grid_palette) + for x in range(0, grid_width + 1, self.GRID_DOT_SPACING): + bottom_line[x, 0] = 1 + + # Create a TileGrid using the Bitmap and Palette + # and tiling it based on number of divisions required + tg_plot_grid = displayio.TileGrid(a_plot_grid, + pixel_shader=grid_palette, + width=self._x_divs, + height=self._y_divs, + default_tile = 0) + tg_plot_grid.x = self._screen_width - self._plot_width - 1 + tg_plot_grid.y = self._GRAPH_TOP + tg_right_line.x = tg_plot_grid.x + grid_width + tg_right_line.y = tg_plot_grid.y + tg_bottom_line.x = tg_plot_grid.x + tg_bottom_line.y = tg_plot_grid.y + grid_height + + g_plot_grid = displayio.Group(max_size=3) + g_plot_grid.append(tg_plot_grid) + g_plot_grid.append(tg_right_line) + g_plot_grid.append(tg_bottom_line) + + return g_plot_grid + + def _make_empty_graph(self, tg_and_plot=None): + font_w, font_h = self._font.get_bounding_box() + + self._displayio_title = Label(self._font, + text=self._title, + max_glyphs=self._max_title_len, + scale=2, + line_spacing=1, + color=self._y_lab_color) + self._displayio_title.x = self._screen_width - self._plot_width + self._displayio_title.y = font_h // 2 + + self._displayio_y_axis_lab = Label(self._font, + text=self._y_axis_lab, + max_glyphs=self._y_lab_width, + line_spacing=1, + color=self._y_lab_color) + self._displayio_y_axis_lab.x = 0 # 0 works here because text is "" + self._displayio_y_axis_lab.y = font_h // 2 + + plot_y_labels = [] + # y increases top to bottom of screen + for y_div in range(self._y_divs + 1): + plot_y_labels.append(Label(self._font, + text=" " * self._y_lab_width, + max_glyphs=self._y_lab_width, + line_spacing=1, + color=self._y_lab_color)) + plot_y_labels[-1].x = (self._screen_width - self._plot_width + - self._y_lab_width * font_w - 5) + plot_y_labels[-1].y = (round(y_div * self._plot_height / self._y_divs) + + self._GRAPH_TOP - 1) + self._displayio_y_labs = plot_y_labels + + # Three items (grid, axis label, title) plus the y tick labels + g_background = displayio.Group(max_size=3+len(plot_y_labels)) + g_background.append(self._make_tg_grid()) + for label in self._displayio_y_labs: + g_background.append(label) + g_background.append(self._displayio_y_axis_lab) + g_background.append(self._displayio_title) + + if tg_and_plot is not None: + (tg_plot, plot) = tg_and_plot + else: + (tg_plot, plot) = self._make_empty_tg_plot_bitmap() + + self._displayio_plot = plot + + # Create the main Group for display with one spare slot for + # popup informational text + main_group = displayio.Group(max_size=3) + main_group.append(g_background) + main_group.append(tg_plot) + self._displayio_info = None + + return main_group + + def set_y_axis_tick_labels(self, y_min, y_max): + px_per_div = (y_max - y_min) / self._y_divs + for idx, tick_label in enumerate(self._displayio_y_labs): + value = y_max - idx * px_per_div + text_value = format_width(self._y_lab_width, value) + tick_label.text = text_value[:self._y_lab_width] + + def display_on(self, tg_and_plot=None): + if self._displayio_graph is None: + self._displayio_graph = self._make_empty_graph(tg_and_plot=tg_and_plot) + + self._output.show(self._displayio_graph) + + def display_off(self): + pass + + def _draw_vline(self, x1, y1, y2, colidx): + """Draw a clipped vertical line at x1 from pixel one along from y1 to y2. + """ + if y2 == y1: + if 0 <= y2 <= self._plot_height_m1: + self._displayio_plot[x1, y2] = colidx + return + + # For y2 above y1, on screen this translates to being below + step = 1 if y2 > y1 else -1 + + for line_y_pos in range(max(0, min(y1 + step, self._plot_height_m1)), + max(0, min(y2, self._plot_height_m1)) + step, + step): + self._displayio_plot[x1, line_y_pos] = colidx + + # def _clear_plot_bitmap(self): ### woz here + + # This is almost always going to be quicker + # than the slow _clear_plot_bitmap implemented on 5.0.0 + def _undraw_bitmap(self): + if not self._plot_dirty: + return + x_cols = min(self._data_values, self._plot_width) + wrapMode = self._mode == "wrap" + if wrapMode: + x_data_idx = (self._data_idx - self._x_pos) % self._data_size + else: + x_data_idx = (self._data_idx - x_cols) % self._data_size + + colidx = self.TRANSPARENT_IDX + for ch_idx in range(self._channels): + data_idx = x_data_idx + for x_pos in range(x_cols): + # "jump" the gap in the circular buffer for wrap mode + if wrapMode and x_pos == self._x_pos: + data_idx = (data_idx + self._data_size - self._plot_width) % self._data_size + # TODO - inhibit line drawing in BOTH VERSIONS + + y_pos = self._data_y_pos[ch_idx][data_idx] + if self._style == "lines" and x_pos != 0: + # Python supports negative array index + prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] + self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) + else: + if 0 <= y_pos <= self._plot_height_m1: + self._displayio_plot[x_pos, y_pos] = colidx + data_idx += 1 + if data_idx >= self._data_size: + data_idx = 0 + + self._plot_dirty = False + + def _undraw_column(self, x_pos, data_idx): + colidx = self.TRANSPARENT_IDX + for ch_idx in range(self._channels): + y_pos = self._data_y_pos[ch_idx][data_idx] + if self._style == "lines" and x_pos != 0: + # Python supports negative array index + prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] + self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) + else: + if 0 <= y_pos <= self._plot_height_m1: + self._displayio_plot[x_pos, y_pos] = colidx + + # TODO - This is a cut and paste from _undraw_bitmap() + # TODO - This is a cut and paste from _undraw_bitmap() + # TODO - This is a cut and paste from _undraw_bitmap() + # TODO - This is a cut and paste from _undraw_bitmap() + + # TODO - time to clean this up and review _data_redraw() + def _data_redraw_all(self): + x_cols = min(self._data_values, self._plot_width) + wrapMode = self._mode == "wrap" + if wrapMode: + x_data_idx = (self._data_idx - self._x_pos) % self._data_size + else: + x_data_idx = (self._data_idx - x_cols) % self._data_size + + for ch_idx in range(self._channels): + colidx = self._channel_colidx[ch_idx] + data_idx = x_data_idx + for x_pos in range(x_cols): + # "jump" the gap in the circular buffer for wrap mode + if wrapMode and x_pos == self._x_pos: + data_idx = (data_idx + self._data_size - self._plot_width) % self._data_size + # TODO - inhibit line drawing in BOTH VERSIONS + + y_pos = self._data_y_pos[ch_idx][data_idx] + if self._style == "lines" and x_pos != 0: + # Python supports negative array index + prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] + self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) + else: + if 0 <= y_pos <= self._plot_height_m1: + self._displayio_plot[x_pos, y_pos] = colidx + data_idx += 1 + if data_idx >= self._data_size: + data_idx = 0 + + self._plot_dirty = True + + # TODO - very similar code to _undraw_bitmap although that is now + # more sophisticated as it support wrap mode + def _data_redraw(self, x1, x2, x1_data_idx): + """Redraw data from x1 to x2 inclusive.""" + for ch_idx in range(self._channels): + colidx = self._channel_colidx[ch_idx] + data_idx = x1_data_idx + for x_pos in range(x1, x2 + 1): + y_pos = self._data_y_pos[ch_idx][data_idx] + if self._style == "lines" and x_pos != 0: + # Python supports negative array index + prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] + self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) + else: + if 0 <= y_pos <= self._plot_height_m1: + self._displayio_plot[x_pos, y_pos] = colidx + data_idx += 1 + if data_idx >= self._data_size: + data_idx = 0 + + self._plot_dirty = True + + def _update_stats(self, values): + """Update the statistics for minimum and maximum.""" + for idx, value in enumerate(values): + # Occasionally check if we need to add a new bucket to stats + if idx == 0 and self._values & 0xf == 0: + now_ns = time.monotonic_ns() + if now_ns - self._data_start_ns[-1] > 1e9: + self._data_start_ns.append(now_ns) + self._data_mins.append(value) + self._data_maxs.append(value) + # Remove the first elements if too long + if len(self._data_start_ns) > self._data_stats_maxlen: + self._data_start_ns.pop(0) + self._data_mins.pop(0) + self._data_maxs.pop(0) + continue + + if value < self._data_mins[-1]: + self._data_mins[-1] = value + if value > self._data_maxs[-1]: + self._data_maxs[-1] = value + + def _data_store(self, values): + """Store the data values in the circular buffer.""" + for ch_idx, value in enumerate(values): + self._data_value[ch_idx][self._data_idx] = value + + # Increment the data index for circular buffer + self._data_idx += 1 + if self._data_idx >= self._data_size: + self._data_idx = 0 + + def _data_draw(self, values, x_pos, data_idx): + offscale = False + + for ch_idx, value in enumerate(values): + # Last two parameters appear "swapped" - this deals with the + # displayio screen y coordinate increasing downwards + y_pos = round(mapf(value, + self._plot_min, self._plot_max, + self._plot_height_m1, 0)) + + if y_pos < 0 or y_pos >= self._plot_height: + offscale = True + + self._data_y_pos[ch_idx][data_idx] = y_pos + + if self._style == "lines" and self._x_pos != 0: + # Python supports negative array index + prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] + self._draw_vline(x_pos, prev_y_pos, y_pos, + self._channel_colidx[ch_idx]) + self._plot_dirty = True # bit wrong if whole line is off screen + else: + if not offscale: + self._displayio_plot[x_pos, y_pos] = self._channel_colidx[ch_idx] + self._plot_dirty = True + + def _check_zoom_in(self): + """Check if recent data warrants zooming in on y axis scale based on checking + minimum and maximum times which are recorded in approximate 1 second buckets. + Returns two element tuple with (min, max) or empty tuple for no zoom required. + Caution is required with min == max.""" + start_idx = len(self._data_start_ns) - self.ZOOM_IN_TIME + if start_idx < 0: + return () + + now_ns = time.monotonic_ns() + if now_ns < self._plot_lastzoom_ns + self.ZOOM_IN_CHECK_TIME_NS: + return () + + recent_min = min(self._data_mins[start_idx:]) + recent_max = max(self._data_maxs[start_idx:]) + recent_range = recent_max - recent_min + headroom = recent_range * self.ZOOM_HEADROOM + + # No zoom if the range of data is near the plot range + if (self._plot_min > recent_min - headroom + and self._plot_max < recent_max + headroom): + return () + + new_plot_min = max(recent_min - headroom, self._abs_min) + new_plot_max = min(recent_max + headroom, self._abs_max) + return (new_plot_min, new_plot_max) + + def _auto_plot_range(self, redraw_plot=True): + """Check if we need to zoom out or in based on checking historical + data values unless y_range_lock has been set. + """ + if self._plot_range_lock: + return False + zoom_in = False + zoom_out = False + + # Calcuate some new min/max values based on recentish data + # and add some headroom + y_min = min(self._data_mins) + y_max = max(self._data_maxs) + y_range = y_max - y_min + headroom = y_range * self.ZOOM_HEADROOM + new_plot_min = max(y_min - headroom, self._abs_min) + new_plot_max = min(y_max + headroom, self._abs_max) + + # set new range if the data does not fit on the screen + # this will also redo y tick labels if necessary + if (new_plot_min < self._plot_min or new_plot_max > self._plot_max): + if self._debug >= 2: + print("Zoom out") + self._change_y_range(new_plot_min, new_plot_max, + redraw_plot=redraw_plot) + zoom_out = True + + else: # otherwise check if zoom in is warranted + rescale_zoom_range = self._check_zoom_in() + if rescale_zoom_range: + if self._debug >= 2: + print("Zoom in") + self._change_y_range(rescale_zoom_range[0], rescale_zoom_range[1], + redraw_plot=redraw_plot) + zoom_in = True + + if zoom_in or zoom_out: + self._plot_lastzoom_ns = time.monotonic_ns() + return True + return False + + def data_add(self, values): + # pylint: disable=too-many-branches + changed = False + data_idx = self._data_idx + x_pos = self._x_pos + + self._update_stats(values) + + if self._mode == "wrap": + if self._x_pos == 0 or self._scale_mode == "pixel": + changed = self._auto_plot_range(redraw_plot=False) + + # Undraw any previous data at current x position + if (not changed and self._data_values >= self._plot_width + and self._values >= self._plot_width): + self._undraw_column(self._x_pos, data_idx - self._plot_width) + + elif self._mode == "scroll": + if x_pos >= self._plot_width: # Fallen off x axis range? + changed = self._auto_plot_range(redraw_plot=False) + if not changed: + self._undraw_bitmap() # Need to cls for the scroll + + sc_data_idx = ((data_idx + self._scroll_px - self._plot_width) + % self._data_size) + self._data_values -= self._scroll_px + self._data_redraw(0, self._plot_width - 1 - self._scroll_px, + sc_data_idx) + x_pos = self._plot_width - self._scroll_px + + elif self._scale_mode == "pixel": + changed = self._auto_plot_range(redraw_plot=True) + + # Draw the new data + self._data_draw(values, x_pos, data_idx) + + # Store the new values in circular buffer + self._data_store(values) + + # increment x position dealing with wrap/scroll + new_x_pos = x_pos + 1 + if new_x_pos >= self._plot_width: + # fallen off edge so wrap or leave position + # on last column for scroll + if self._mode == "wrap": + self._x_pos = 0 + else: + self._x_pos = new_x_pos # this is off screen + else: + self._x_pos = new_x_pos + + if self._data_values < self._data_size: + self._data_values += 1 + + self._values += 1 + + if self._mu_output: + print(values) + + # scrolling mode has automatic refresh in background turned off + if self._mode == "scroll": + self._display_refresh() + + def _change_y_range(self, new_plot_min, new_plot_max, redraw_plot=True): + y_min = new_plot_min + y_max = new_plot_max + if self._debug >= 2: + print("Change Y range", new_plot_min, new_plot_max, redraw_plot) + + # if values reduce range below the minimum then widen the range + # but keep it within the absolute min/max values + if self._plot_min_range is not None: + range_extend = self._plot_min_range - (y_max - y_min) + if range_extend > 0: + y_max += range_extend / 2 + y_min -= range_extend / 2 + if y_min < self._abs_min: + y_min = self._abs_min + y_max = y_min + self._plot_min_range + elif y_max > self._abs_max: + y_max = self._abs_max + y_min = y_max - self._plot_min_range + + self._plot_min = y_min + self._plot_max = y_max + self.set_y_axis_tick_labels(self._plot_min, self._plot_max) + + if self._values: + self._undraw_bitmap() + self._recalc_y_pos() ## calculates new y positions + if redraw_plot: + self._data_redraw_all() + + @property + def title(self): + return self._title + + @title.setter + def title(self, value): + self._title = value[:self._max_title_len] # does not show truncation + self._displayio_title.text = self._title + + @property + def info(self): + if self._displayio_info is None: + return None + return self._displayio_info.text + + @info.setter + def info(self, value): + """Place some text on the screen. + Multiple lines are supported with newline character. + Font will be 3x standard terminalio font or 2x if that does not fit.""" + if self._displayio_info is not None: + self._displayio_graph.pop() + + if value is not None and value != "": + font_scale = 3 + line_spacing = 1.25 + + font_w, font_h = self._font.get_bounding_box() + text_lines = value.split("\n") + max_word_chars = max([len(word) for word in text_lines]) + # If too large reduce the scale + if (max_word_chars * font_scale * font_w > self._screen_width + or len(text_lines) * font_scale * font_h * line_spacing > self._screen_height): + font_scale -= 1 + + self._displayio_info = Label(self._font, text=value, + line_spacing=line_spacing, + scale=font_scale, + background_color=self.INFO_FG_COLOR, + color=self.INFO_BG_COLOR) + # centre the (left justified) text + self._displayio_info.x = (self._screen_width + - font_scale * font_w * max_word_chars) // 2 + self._displayio_info.y = self._screen_height // 2 + self._displayio_graph.append(self._displayio_info) + + else: + self._displayio_info = None + + if self._mode == "scroll": + self._display_refresh() + + @property + def channels(self): + return self._channels + + @channels.setter + def channels(self, value): + if value > self._max_channels: + raise ValueError("Exceeds max_channels") + self._channels = value + + @property + def y_range(self): + return (self._plot_min, self._plot_max) + + @y_range.setter + def y_range(self, minmax): + if minmax[0] != self._plot_min or minmax[1] != self._plot_max: + self._change_y_range(minmax[0], minmax[1], redraw_plot=True) + + @property + def y_full_range(self): + return (self._plot_min, self._plot_max) + + @y_full_range.setter + def y_full_range(self, minmax): + self._abs_min = minmax[0] + self._abs_max = minmax[1] + + @property + def y_min_range(self): + return self._plot_min_range + + @y_min_range.setter + def y_min_range(self, value): + self._plot_min_range = value + + @property + def y_axis_lab(self): + return self._y_axis_lab + + @y_axis_lab.setter + def y_axis_lab(self, text): + self._y_axis_lab = text[:self._y_lab_width] + font_w, _ = self._font.get_bounding_box() + x_pos = (40 - font_w * len(self._y_axis_lab)) // 2 + # max() used to prevent negative (off-screen) values + self._displayio_y_axis_lab.x = max(0, x_pos) + self._displayio_y_axis_lab.text = self._y_axis_lab + + @property + def channel_colidx(self): + return self._channel_colidx + + @channel_colidx.setter + def channel_colidx(self, value): + # tuple() ensures object has a local / read-only copy of data + self._channel_colidx = tuple(value) + + @property + def mu_output(self): + return self._mu_output + + @mu_output.setter + def mu_output(self, value): + self._mu_output = value + + @property + def y_range_lock(self): + return self._plot_range_lock + + @y_range_lock.setter + def y_range_lock(self, value): + self._plot_range_lock = value diff --git a/CLUE_Sensor_Plotter/test_PlotSource.py b/CLUE_Sensor_Plotter/test_PlotSource.py new file mode 100644 index 000000000..21f8d0db1 --- /dev/null +++ b/CLUE_Sensor_Plotter/test_PlotSource.py @@ -0,0 +1,111 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Kevin J. Walters +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import sys +import os + +import unittest +from unittest.mock import Mock, MagicMock, PropertyMock + +verbose = int(os.getenv('TESTVERBOSE', '2')) + +# Mocking libraries which are about to be import'd by Plotter +sys.modules['analogio'] = MagicMock() + +# Borrowing the dhalbert/tannewt technique from adafruit/Adafruit_CircuitPython_Motor +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + +# import what we are testing or will test in future +# pylint: disable=unused-import,wrong-import-position +from plot_source import PlotSource, TemperaturePlotSource, PressurePlotSource, \ + HumidityPlotSource, ColorPlotSource, ProximityPlotSource, \ + IlluminatedColorPlotSource, VolumePlotSource, \ + AccelerometerPlotSource, GyroPlotSource, \ + MagnetometerPlotSource, PinPlotSource + + +# pylint: disable=protected-access +class Test_TemperaturePlotSource(unittest.TestCase): + + SENSOR_DATA = (20, 21.3, 22.0, 0.0, -40, 85) + + def test_celsius(self): + """Create the source in Celsius mode and test with some values.""" + + # Emulate the clue's temperature sensor by + # returning a temperature from a small tuple + # of test data + mocked_clue = Mock() + expected_data = self.SENSOR_DATA + type(mocked_clue).temperature = PropertyMock(side_effect=self.SENSOR_DATA) + + source = TemperaturePlotSource(mocked_clue, + mode="Celsius") + + for expected_value in expected_data: + self.assertAlmostEqual(source.data(), + expected_value, + msg="Checking converted temperature is correct") + + def test_fahrenheit(self): + """Create the source in Fahrenheit mode and test with some values.""" + # Emulate the clue's temperature sensor by + # returning a temperature from a small tuple + # of test data + mocked_clue = Mock() + expected_data = (68, 70.34, 71.6, + 32.0, -40, 185) + type(mocked_clue).temperature = PropertyMock(side_effect=self.SENSOR_DATA) + + source = TemperaturePlotSource(mocked_clue, + mode="Fahrenheit") + + for expected_value in expected_data: + self.assertAlmostEqual(source.data(), + expected_value, + msg="Checking converted temperature is correct") + + def test_kelvin(self): + """Create the source in Kelvin mode and test with some values.""" + # Emulate the clue's temperature sensor by + # returning a temperature from a small tuple + # of test data + mocked_clue = Mock() + expected_data = (293.15, 294.45, 295.15, + 273.15, 233.15, 358.15) + type(mocked_clue).temperature = PropertyMock(side_effect=self.SENSOR_DATA) + + source = TemperaturePlotSource(mocked_clue, + mode="Kelvin") + + for expected_value in expected_data: + data = source.data() + # self.assertEqual(data, + # expected_value, + # msg="An inappropriate check for floating-point") + self.assertAlmostEqual(data, + expected_value, + msg="Checking converted temperature is correct") + + +if __name__ == '__main__': + unittest.main(verbosity=verbose) diff --git a/CLUE_Sensor_Plotter/test_Plotter.py b/CLUE_Sensor_Plotter/test_Plotter.py new file mode 100644 index 000000000..664791a10 --- /dev/null +++ b/CLUE_Sensor_Plotter/test_Plotter.py @@ -0,0 +1,555 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Kevin J. Walters +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import sys +import time +import array +import os + +import unittest +from unittest.mock import Mock, MagicMock, patch + +import numpy + +verbose = int(os.getenv('TESTVERBOSE', '2')) + +# Mocking libraries which are about to be import'd by Plotter +sys.modules['board'] = MagicMock() +sys.modules['displayio'] = MagicMock() +sys.modules['terminalio'] = MagicMock() +sys.modules['adafruit_display_text.label'] = MagicMock() + +# Replicate CircuitPython's time.monotonic_ns() pre 3.5 +if not hasattr(time, "monotonic_ns"): + time.monotonic_ns = lambda: int(time.monotonic() * 1e9) + + +# Borrowing the dhalbert/tannewt technique from adafruit/Adafruit_CircuitPython_Motor +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + +# pylint: disable=wrong-import-position +# import what we are testing +from plotter import Plotter + +import terminalio # mocked +terminalio.FONT = Mock() +terminalio.FONT.get_bounding_box = Mock(return_value=(6, 14)) + + +# TODO use setup() and tearDown() +# - https://docs.python.org/3/library/unittest.html#unittest.TestCase.tearDown + + +# pylint: disable=protected-access, no-self-use, too-many-locals +class Test_Plotter(unittest.TestCase): + """Tests for Plotter. + Very useful but code needs a good tidy particulary around widths, + lots of 200 hard-coded numbers. + Would benefit from testing different widths too.""" + # These were the original dimensions of the Bitmap + # Current clue-plotter uses 192 for width and + # scrolling is set to 50 + _PLOT_WIDTH = 200 + _PLOT_HEIGHT = 201 + _SCROLL_PX = 25 + + def count_nz_rows(self, bitmap): + nz_rows = [] + for y_pos in range(self._PLOT_HEIGHT): + count = 0 + for x_pos in range(self._PLOT_WIDTH): + if bitmap[x_pos, y_pos] != 0: + count += 1 + if count > 0: + nz_rows.append(y_pos) + return nz_rows + + def aprint_plot(self, bitmap): + for y in range(self._PLOT_HEIGHT): + for x in range(self._PLOT_WIDTH): + print("X" if bitmap[x][y] else " ", end="") + print() + + def make_a_Plotter(self, style, mode, scale_mode=None): + mocked_display = Mock() + + plotter = Plotter(mocked_display, + style=style, + mode=mode, + scale_mode=scale_mode, + scroll_px=self._SCROLL_PX, + plot_width=self._PLOT_WIDTH, + plot_height=self._PLOT_HEIGHT, + title="Debugging", + max_title_len=99, + mu_output=False, + debug=0) + + return plotter + + def ready_plot_source(self, plttr, source): + #source_name = str(source) + + plttr.clear_all() + #plttr.title = source_name + #plttr.y_axis_lab = source.units() + plttr.y_range = (source.initial_min(), source.initial_max()) + plttr.y_full_range = (source.min(), source.max()) + plttr.y_min_range = source.range_min() + channels_from_source = source.values() + plttr.channels = channels_from_source + plttr.channel_colidx = (1, 2, 3) + source.start() + return (source, channels_from_source) + + def make_a_PlotSource(self, channels = 1): + ps = Mock() + ps.initial_min = Mock(return_value=-100.0) + ps.initial_max = Mock(return_value=100.0) + ps.min = Mock(return_value=-100.0) + ps.max = Mock(return_value=100.0) + ps.range_min = Mock(return_value=5.0) + if channels == 1: + ps.values = Mock(return_value=channels) + ps.data = Mock(side_effect=list(range(10,90)) * 100) + elif channels == 3: + ps.values = Mock(return_value=channels) + ps.data = Mock(side_effect=list(zip(list(range(10,90)), + list(range(15,95)), + list(range(40,60)) * 4)) * 100) + return ps + + + def make_a_PlotSource_narrowrange(self): + ps = Mock() + ps.initial_min = Mock(return_value=0.0) + ps.initial_max = Mock(return_value=500.0) + ps.min = Mock(return_value=0.0) + ps.max = Mock(return_value=500.0) + ps.range_min = Mock(return_value=5.0) + + ps.values = Mock(return_value=1) + # 24 elements repeated 13 times ranging between 237 and 253 + # 5 elements repeated 6000 times + ps.data = Mock(side_effect=(list(range(237, 260 + 1)) * 13 + + list(range(100, 400 + 1, 75)) * 6000)) + return ps + + + def make_a_PlotSource_onespike(self): + ps = Mock() + ps.initial_min = Mock(return_value=-100.0) + ps.initial_max = Mock(return_value=100.0) + ps.min = Mock(return_value=-100.0) + ps.max = Mock(return_value=100.0) + ps.range_min = Mock(return_value=5.0) + + ps.values = Mock(return_value=1) + ps.data = Mock(side_effect=([0]*95 + [5,10,20,50,80,90,70,30,20,10] + + [0] * 95 + [1] * 1000)) + + return ps + + def make_a_PlotSource_bilevel(self, first_v=60, second_v=700): + ps = Mock() + ps.initial_min = Mock(return_value=-100.0) + ps.initial_max = Mock(return_value=100.0) + ps.min = Mock(return_value=-1000.0) + ps.max = Mock(return_value=1000.0) + ps.range_min = Mock(return_value=10.0) + + ps.values = Mock(return_value=1) + ps.data = Mock(side_effect=[first_v] * 199 + [second_v] * 1001) + + return ps + + + def test_spike_after_wrap_and_overwrite_one_channel(self): + """A specific test to check that a spike that appears in wrap mode is + correctly cleared by subsequent flat data.""" + plotter = self.make_a_Plotter("lines", "wrap") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource_onespike() + self.ready_plot_source(plotter, test_source1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Fill screen + for _ in range(200): + plotter.data_add((test_source1.data(),)) + + unique2, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique2 == [0, 1]), + "Checking pixels are now a mix of 0 and 1") + + # Rewrite whole screen with new data as we are in wrap mode + for _ in range(190): + plotter.data_add((test_source1.data(),)) + + non_zero_rows = self.count_nz_rows(plot) + + if verbose >= 4: + print("y=99", plot[:, 99]) + print("y=100", plot[:, 100]) + + self.assertTrue(9 not in non_zero_rows, + "Check nothing is just above 90 which plots at 10") + self.assertEqual(non_zero_rows, [99, 100], + "Only pixels left plotted should be from" + + "values 0 and 1 being plotted at 99 and 100") + self.assertTrue(numpy.alltrue(plot[:, 99] == [1] * 190 + [0] * 10), + "Checking row 99 precisely") + self.assertTrue(numpy.alltrue(plot[:, 100] == [0] * 190 + [1] * 10), + "Checking row 100 precisely") + + plotter.display_off() + + + def test_clearmode_from_lines_wrap_to_dots_scroll(self): + """A specific test to check that a spike that appears in lines wrap mode is + correctly cleared by a change to dots scroll.""" + plotter = self.make_a_Plotter("lines", "wrap") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource_onespike() + self.ready_plot_source(plotter, test_source1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Fill screen then wrap to write another 20 values + for _ in range(200 + 20): + plotter.data_add((test_source1.data(),)) + + unique2, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique2 == [0, 1]), + "Checking pixels are now a mix of 0 and 1") + + plotter.change_stylemode("dots", "scroll") + unique3, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique3 == [0]), + "Checking all pixels are now 0 after change_stylemode") + + plotter.display_off() + + + def test_clear_after_scrolling_one_channel(self): + """A specific test to check screen clears after a scroll to help + investigate a bug with that failing to happen in most cases.""" + plotter = self.make_a_Plotter("lines", "scroll") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource() + self.ready_plot_source(plotter, test_source1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Fill screen + for _ in range(200): + plotter.data_add((test_source1.data(),)) + + unique2, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique2 == [0, 1]), + "Checking pixels are now a mix of 0 and 1") + self.assertEqual(plotter._values, 200) + self.assertEqual(plotter._data_values, 200) + + # Force a single scroll of the data + for _ in range(10): + plotter.data_add((test_source1.data(),)) + + self.assertEqual(plotter._values, 200 + 10) + self.assertEqual(plotter._data_values, 200 + 10 - self._SCROLL_PX) + + # This should clear all data and the screen + if verbose >= 3: + print("change_stylemode() to a new mode which will clear screen") + plotter.change_stylemode("dots", "wrap") + unique3, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique3 == [0]), + "Checking all pixels are now 0") + + plotter.display_off() + + def test_check_internal_data_three_channels(self): + width = self._PLOT_WIDTH + plotter = self.make_a_Plotter("lines", "scroll") + (tg, plot) = (Mock(), numpy.zeros((width, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_triplesource1 = self.make_a_PlotSource(channels=3) + + self.ready_plot_source(plotter, test_triplesource1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Three data samples + all_data = [] + for d_idx in range(3): + all_data.append(test_triplesource1.data()) + plotter.data_add(all_data[-1]) + + # all_data is now [(10, 15, 40), (11, 16, 41), (12, 17, 42)] + self.assertEqual(plotter._data_y_pos[0][0:3], + array.array('i', [90, 89, 88]), + "channel 0 plotted y positions") + self.assertEqual(plotter._data_y_pos[1][0:3], + array.array('i', [85, 84, 83]), + "channel 1 plotted y positions") + self.assertEqual(plotter._data_y_pos[2][0:3], + array.array('i', [60, 59, 58]), + "channel 2 plotted y positions") + + # Fill rest of screen + for d_idx in range(197): + all_data.append(test_triplesource1.data()) + plotter.data_add(all_data[-1]) + + # Three values more values to force a scroll + for d_idx in range(3): + all_data.append(test_triplesource1.data()) + plotter.data_add(all_data[-1]) + + # all_data[-4] is (49, 54, 59) + # all_data[-3:0] is [(50, 55, 40) (51, 56, 41) (52, 57, 42)] + expected_data_size = width - self._SCROLL_PX + 3 + st_x_pos = width - self._SCROLL_PX + d_idx = plotter._data_idx - 3 + + self.assertTrue(self._SCROLL_PX > 3, + "Ensure no scrolling occurred from recent 3 values") + # the data_idx here is 2 because the size is now plot_width + 1 + self.assertEqual(plotter._data_idx, 2) + self.assertEqual(plotter._x_pos, st_x_pos + 3) + self.assertEqual(plotter._data_values, expected_data_size) + self.assertEqual(plotter._values, len(all_data)) + + if verbose >= 4: + print("YP",d_idx, plotter._data_y_pos[0][d_idx:d_idx+3]) + print("Y POS", [str(plotter._data_y_pos[ch_idx][d_idx:d_idx+3]) + for ch_idx in [0, 1, 2]]) + ch0_ypos = [50, 49, 48] + self.assertEqual([plotter._data_y_pos[0][idx] for idx in range(d_idx, d_idx + 3)], + ch0_ypos, + "channel 0 plotted y positions") + ch1_ypos = [45, 44, 43] + self.assertEqual([plotter._data_y_pos[1][idx] for idx in range(d_idx, d_idx + 3)], + ch1_ypos, + "channel 1 plotted y positions") + ch2_ypos = [60, 59, 58] + self.assertEqual([plotter._data_y_pos[2][idx] for idx in range(d_idx, d_idx + 3)], + ch2_ypos, + "channel 2 plotted y positions") + + # Check for plot points - fortunately none overlap + total_pixel_matches = 0 + for ch_idx, ch_ypos in enumerate((ch0_ypos, ch1_ypos, ch2_ypos)): + expected = plotter.channel_colidx[ch_idx] + for idx, y_pos in enumerate(ch_ypos): + actual = plot[st_x_pos+idx, y_pos] + if actual == expected: + total_pixel_matches += 1 + else: + if verbose >= 4: + print("Pixel value for channel", + "{:d}, naive expectation {:d},".format(ch_idx, + expected), + "actual {:d} at {:d}, {:d}, {:d}".format(idx, + actual, + st_x_pos + idx, + y_pos)) + # Only 7 out of 9 will match because channel 2 put a vertical + # line at x position 175 over-writing ch0 and ch1 + self.assertEqual(total_pixel_matches, 7, "plotted pixels check") + # Check for that line from pixel positions 42 to 60 + for y_pos in range(42, 60 + 1): + self.assertEqual(plot[st_x_pos, y_pos], + plotter.channel_colidx[2], + "channel 2 (over-writing) vertical line") + + plotter.display_off() + + def test_clear_after_scrolling_three_channels(self): + """A specific test to check screen clears after a scroll with + multiple channels being plotted (three) to help + investigate a bug with that failing to happen in most cases + for the second and third channels.""" + plotter = self.make_a_Plotter("lines", "scroll") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_triplesource1 = self.make_a_PlotSource(channels=3) + + self.ready_plot_source(plotter, test_triplesource1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Fill screen + for _ in range(200): + plotter.data_add(test_triplesource1.data()) + + unique2, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique2 == [0, 1, 2, 3]), + "Checking pixels are now a mix of 0, 1, 2, 3") + # Force a single scroll of the data + for _ in range(10): + plotter.data_add(test_triplesource1.data()) + + # This should clear all data and the screen + if verbose >= 3: + print("change_stylemode() to a new mode which will clear screen") + plotter.change_stylemode("dots", "wrap") + unique3, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique3 == [0]), + "Checking all pixels are now 0") + + plotter.display_off() + + def test_auto_rescale_wrap_mode(self): + """Ensure the auto-scaling is working and not leaving any remnants of previous plot.""" + plotter = self.make_a_Plotter("lines", "wrap") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource_bilevel(first_v=60, second_v=900) + + self.ready_plot_source(plotter, test_source1) + + unique1, _ = numpy.unique(plot, return_counts=True) + self.assertTrue(numpy.alltrue(unique1 == [0]), + "Checking all pixels start as 0") + + # Fill screen with first 200 + for _ in range(200): + plotter.data_add((test_source1.data(),)) + + non_zero_rows1 = self.count_nz_rows(plot) + self.assertEqual(non_zero_rows1, list(range(0, 40 + 1)), + "From value 60 being plotted at 40 but also upward line at end") + + # Rewrite screen with next 200 but these should force an internal + # rescaling of y axis + for _ in range(200): + plotter.data_add((test_source1.data(),)) + + self.assertEqual(plotter.y_range, (-108.0, 1000.0), + "Check rescaled y range") + + non_zero_rows2 = self.count_nz_rows(plot) + self.assertEqual(non_zero_rows2, [18], + "Only pixels now should be from value 900 being plotted at 18") + + plotter.display_off() + + def test_rescale_zoom_in_minequalsmax(self): + """Test y_range adjusts any attempt to set the effective range to 0.""" + plotter = self.make_a_Plotter("lines", "wrap") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource_bilevel(first_v=20, second_v=20) + + self.ready_plot_source(plotter, test_source1) + # Set y_range to a value which will cause a range of 0 with + # the potential dire consequence of divide by zero + plotter.y_range = (20, 20) + + plotter.data_add((test_source1.data(),)) + y_min, y_max = plotter.y_range + self.assertTrue(y_max - y_min > 0, + "Range is not zero and implicitly" + + "ZeroDivisionError exception has not occurred.") + + plotter.display_off() + + def test_rescale_zoom_in_narrowrangedata(self): + """Test y_range adjusts on data from a narrow range with unusual per pixel scaling mode.""" + # There was a bug which was visually obvious in pixel scale_mode + # test this to ensure bug was squashed + + # time.monotonic_ns.return_value = lambda: global_time_ns + + local_time_ns = time.monotonic_ns() + with patch('time.monotonic_ns', create=True, + side_effect=lambda: local_time_ns) as _: + plotter = self.make_a_Plotter("lines", "wrap", scale_mode="pixel") + (tg, plot) = (Mock(), numpy.zeros((self._PLOT_WIDTH, self._PLOT_HEIGHT), numpy.uint8)) + plotter.display_on(tg_and_plot=(tg, plot)) + test_source1 = self.make_a_PlotSource_narrowrange() + + self.ready_plot_source(plotter, test_source1) + + # About 11 seconds worth - will have zoomed in during this time + for _ in range(300): + val = test_source1.data() + plotter.data_add((val,)) + local_time_ns += round(1/27 * 1e9) # emulation of time.sleep(1/27) + + y_min1, y_max1 = plotter.y_range + self.assertAlmostEqual(y_min1, 232.4) + self.assertAlmostEqual(y_max1, 264.6) + + unique, counts = numpy.unique(plotter._data_y_pos[0], + return_counts=True) + self.assertEqual(min(unique), 29) + self.assertEqual(max(unique), 171) + self.assertEqual(len(unique), 24) + self.assertLessEqual(max(counts) - min(counts), 1) + + # Another 14 seconds and now data is in narrow range so another zoom is due + # Why does this take so long? + for _ in range(400): + val = test_source1.data() + plotter.data_add((val,)) + local_time_ns += round(1/27 * 1e9) # emulation of time.sleep(1/27) + + y_min2, y_max2 = plotter.y_range + self.assertAlmostEqual(y_min2, 40.0) + self.assertAlmostEqual(y_max2, 460.0) + + #unique2, counts2 = numpy.unique(plotter._data_y_pos[0], + # return_counts=True) + #self.assertEqual(list(unique2), [29, 100, 171]) + #self.assertLessEqual(max(counts2) - min(counts2), 1) + + if verbose >= 3: + self.aprint_plot(plot) + # Look for a specific bug which leaves some previous pixels + # set on screen at column 24 + # Checking either side as this will be timing sensitive but the time + # functions are now precisely controlled in this test so should not vary + # with test execution duration vs wall clock + for offset in range(-15, 15 + 5, 5): + self.assertEqual(list(plot[24 + offset][136:172]), [0] * 36, + "Checking for erased pixels at various columns") + + plotter.display_off() + + +if __name__ == '__main__': + unittest.main(verbosity=verbose) From 31a8b58c59739b528a29b3b3dd681b156e183d28 Mon Sep 17 00:00:00 2001 From: Kevin J Walters Date: Mon, 30 Mar 2020 00:01:51 +0100 Subject: [PATCH 18/85] Putting common code from _undraw_bitmap() and _data_redraw_all() into new _redraw_all_col_idx(). Rename of _data_redraw() to _redraw_for_scroll(). --- CLUE_Sensor_Plotter/clue-plotter.py | 2 +- CLUE_Sensor_Plotter/plotter.py | 80 ++++++++++------------------- 2 files changed, 28 insertions(+), 54 deletions(-) diff --git a/CLUE_Sensor_Plotter/clue-plotter.py b/CLUE_Sensor_Plotter/clue-plotter.py index 5f80c4ac1..fe9dfdc11 100644 --- a/CLUE_Sensor_Plotter/clue-plotter.py +++ b/CLUE_Sensor_Plotter/clue-plotter.py @@ -1,4 +1,4 @@ -# clue-plotter v1.13 +# clue-plotter v1.14 # Sensor and input plotter for Adafruit CLUE in CircuitPython # This plots the sensors and three of the analogue inputs on # the LCD display either with scrolling or wrap mode which diff --git a/CLUE_Sensor_Plotter/plotter.py b/CLUE_Sensor_Plotter/plotter.py index 260861085..fa0875d6b 100644 --- a/CLUE_Sensor_Plotter/plotter.py +++ b/CLUE_Sensor_Plotter/plotter.py @@ -445,11 +445,7 @@ class Plotter(): # def _clear_plot_bitmap(self): ### woz here - # This is almost always going to be quicker - # than the slow _clear_plot_bitmap implemented on 5.0.0 - def _undraw_bitmap(self): - if not self._plot_dirty: - return + def _redraw_all_col_idx(self, col_idx_list): x_cols = min(self._data_values, self._plot_width) wrapMode = self._mode == "wrap" if wrapMode: @@ -457,30 +453,44 @@ class Plotter(): else: x_data_idx = (self._data_idx - x_cols) % self._data_size - colidx = self.TRANSPARENT_IDX for ch_idx in range(self._channels): + col_idx = col_idx_list[ch_idx] data_idx = x_data_idx for x_pos in range(x_cols): # "jump" the gap in the circular buffer for wrap mode if wrapMode and x_pos == self._x_pos: data_idx = (data_idx + self._data_size - self._plot_width) % self._data_size - # TODO - inhibit line drawing in BOTH VERSIONS + # ideally this should inhibit lines between wrapped data y_pos = self._data_y_pos[ch_idx][data_idx] if self._style == "lines" and x_pos != 0: # Python supports negative array index prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] - self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) + self._draw_vline(x_pos, prev_y_pos, y_pos, col_idx) else: if 0 <= y_pos <= self._plot_height_m1: - self._displayio_plot[x_pos, y_pos] = colidx + self._displayio_plot[x_pos, y_pos] = col_idx data_idx += 1 if data_idx >= self._data_size: data_idx = 0 + # This is almost always going to be quicker + # than the slow _clear_plot_bitmap implemented on 5.0.0 displayio + def _undraw_bitmap(self): + if not self._plot_dirty: + return + + self._redraw_all_col_idx([self.TRANSPARENT_IDX] * self._channels) self._plot_dirty = False + + def _redraw_all(self): + self._redraw_all_col_idx(self._channel_colidx) + self._plot_dirty = True + + def _undraw_column(self, x_pos, data_idx): + """Undraw a single column at x_pos based on data from data_idx.""" colidx = self.TRANSPARENT_IDX for ch_idx in range(self._channels): y_pos = self._data_y_pos[ch_idx][data_idx] @@ -492,47 +502,10 @@ class Plotter(): if 0 <= y_pos <= self._plot_height_m1: self._displayio_plot[x_pos, y_pos] = colidx - # TODO - This is a cut and paste from _undraw_bitmap() - # TODO - This is a cut and paste from _undraw_bitmap() - # TODO - This is a cut and paste from _undraw_bitmap() - # TODO - This is a cut and paste from _undraw_bitmap() - - # TODO - time to clean this up and review _data_redraw() - def _data_redraw_all(self): - x_cols = min(self._data_values, self._plot_width) - wrapMode = self._mode == "wrap" - if wrapMode: - x_data_idx = (self._data_idx - self._x_pos) % self._data_size - else: - x_data_idx = (self._data_idx - x_cols) % self._data_size - - for ch_idx in range(self._channels): - colidx = self._channel_colidx[ch_idx] - data_idx = x_data_idx - for x_pos in range(x_cols): - # "jump" the gap in the circular buffer for wrap mode - if wrapMode and x_pos == self._x_pos: - data_idx = (data_idx + self._data_size - self._plot_width) % self._data_size - # TODO - inhibit line drawing in BOTH VERSIONS - - y_pos = self._data_y_pos[ch_idx][data_idx] - if self._style == "lines" and x_pos != 0: - # Python supports negative array index - prev_y_pos = self._data_y_pos[ch_idx][data_idx - 1] - self._draw_vline(x_pos, prev_y_pos, y_pos, colidx) - else: - if 0 <= y_pos <= self._plot_height_m1: - self._displayio_plot[x_pos, y_pos] = colidx - data_idx += 1 - if data_idx >= self._data_size: - data_idx = 0 - - self._plot_dirty = True - - # TODO - very similar code to _undraw_bitmap although that is now - # more sophisticated as it support wrap mode - def _data_redraw(self, x1, x2, x1_data_idx): - """Redraw data from x1 to x2 inclusive.""" + # very similar code to _undraw_bitmap although that is now + # more sophisticated as it supports wrap mode + def _redraw_for_scroll(self, x1, x2, x1_data_idx): + """Redraw data from x1 to x2 inclusive for scroll mode only.""" for ch_idx in range(self._channels): colidx = self._channel_colidx[ch_idx] data_idx = x1_data_idx @@ -703,8 +676,9 @@ class Plotter(): sc_data_idx = ((data_idx + self._scroll_px - self._plot_width) % self._data_size) self._data_values -= self._scroll_px - self._data_redraw(0, self._plot_width - 1 - self._scroll_px, - sc_data_idx) + self._redraw_for_scroll(0, + self._plot_width - 1 - self._scroll_px, + sc_data_idx) x_pos = self._plot_width - self._scroll_px elif self._scale_mode == "pixel": @@ -768,7 +742,7 @@ class Plotter(): self._undraw_bitmap() self._recalc_y_pos() ## calculates new y positions if redraw_plot: - self._data_redraw_all() + self._redraw_all() @property def title(self): From 3148ac7a625ed1dd7dd999a68cd750c21afc6f50 Mon Sep 17 00:00:00 2001 From: John Park Date: Mon, 30 Mar 2020 17:31:43 -0700 Subject: [PATCH 19/85] first commit --- CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py | 88 + .../font/RacingSansOne-Regular-29.bdf | 12172 +++++++++++++ .../font/RacingSansOne-Regular-38.bdf | 14753 ++++++++++++++++ CLUE_Hand_Wash_Timer/wash_off.bmp | Bin 0 -> 115256 bytes CLUE_Hand_Wash_Timer/wash_on.bmp | Bin 0 -> 115256 bytes 5 files changed, 27013 insertions(+) create mode 100644 CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py create mode 100755 CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-29.bdf create mode 100755 CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-38.bdf create mode 100755 CLUE_Hand_Wash_Timer/wash_off.bmp create mode 100755 CLUE_Hand_Wash_Timer/wash_on.bmp diff --git a/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py new file mode 100644 index 000000000..4258c30ec --- /dev/null +++ b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py @@ -0,0 +1,88 @@ +""" +Start a 20 second hand washing timer via proximity sensor. +Countdown the seconds with text and beeps. +Display a bitmaps for waiting and washing modes. +""" + +import time +import board +from adafruit_clue import clue +from adafruit_display_text import label +from adafruit_bitmap_font import bitmap_font +import displayio +import pulseio + +board.DISPLAY.brightness = 0.8 +clue_display = displayio.Group(max_size=4) + +# draw the background image +wash_on_file = open("wash_on.bmp", "rb") +wash_on_bmp = displayio.OnDiskBitmap(wash_on_file) +wash_on_sprite = displayio.TileGrid(wash_on_bmp, pixel_shader=displayio.ColorConverter()) +clue_display.append(wash_on_sprite) + +# draw the foreground image +wash_off_file = open("wash_off.bmp", "rb") +wash_off_bmp = displayio.OnDiskBitmap(wash_off_file) +wash_off_sprite = displayio.TileGrid(wash_off_bmp, pixel_shader=displayio.ColorConverter()) +clue_display.append(wash_off_sprite) + + +# Create text +# first create the group +text_group = displayio.Group(max_size=5, scale=1) +# Make a label +title_font = bitmap_font.load_font("/font/RacingSansOne-Regular-38.bdf") +title_font.load_glyphs("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".encode('utf-8')) +title_label = label.Label(title_font, text="Hand Wash", color=0x001122) +# Position the label +title_label.x = 10 +title_label.y = 16 +# Append label to group +text_group.append(title_label) + +title2_label = label.Label(title_font, text="Timer", color=0x001122) +# Position the label +title2_label.x = 6 +title2_label.y = 52 +# Append label to group +text_group.append(title2_label) + +timer_font = bitmap_font.load_font("/font/RacingSansOne-Regular-29.bdf") +timer_font.load_glyphs("0123456789ADSWabcdefghijklmnopqrstuvwxyz:!".encode('utf-8')) +timer_label = label.Label(timer_font, text="Wave to start", color=0x4f3ab1, max_glyphs=15) +timer_label.x = 24 +timer_label.y = 100 +text_group.append(timer_label) + +clue_display.append(text_group) +board.DISPLAY.show(clue_display) + +def countdown(seconds): + for i in range(seconds): + buzzer.duty_cycle = 2**15 + timer_label.text = ("Scrub time: {}".format(seconds-i)) + buzzer.duty_cycle = 0 + time.sleep(1) + timer_label.text = ("Done!") + wash_off_sprite.x = 0 + buzzer.duty_cycle = 2**15 + time.sleep(0.3) + buzzer.duty_cycle = 0 + timer_label.x = 24 + timer_label.y = 100 + timer_label.text = ("Wave to start") + +# setup buzzer +buzzer = pulseio.PWMOut(board.SPEAKER, variable_frequency=True) +buzzer.frequency = 1000 + +while True: + # print("Distance: {}".format(clue.proximity)) # use to test the sensor + if clue.proximity > 1: + timer_label.x = 12 + timer_label.y = 226 + timer_label.text = "Scrub Away!" + wash_off_sprite.x = 300 + time.sleep(2) + countdown(20) diff --git a/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-29.bdf b/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-29.bdf new file mode 100755 index 000000000..3465a2fdd --- /dev/null +++ b/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-29.bdf @@ -0,0 +1,12172 @@ +STARTFONT 2.1 +FONT -FontForge-Racing Sans One-Book-R-Normal-SansOne--29-280-75-75-P-162-ISO10646-1 +SIZE 28 75 75 +FONTBOUNDINGBOX 44 38 -6 -9 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" +COMMENT "Copyright (c) 2012, Pablo Impallari (www.impallari.com|impallari@gmail.com) and Rodrigo Fuenzalida (www.rfuenzalida.com), with Reserved Font Name Racing Sans." +STARTPROPERTIES 39 +FOUNDRY "FontForge" +FAMILY_NAME "Racing Sans One" +WEIGHT_NAME "Book" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "SansOne" +PIXEL_SIZE 29 +POINT_SIZE 280 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "P" +AVERAGE_WIDTH 162 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +FONTNAME_REGISTRY "" +CHARSET_COLLECTIONS "ISO8859-2 ISO8859-9 ISO8859-4 ISO10646-1" +FONT_NAME "RacingSansOne-Regular" +FACE_NAME "Racing Sans One" +COPYRIGHT "Copyright (c) 2012, Pablo Impallari (www.impallari.com|impallari@gmail.com) and Rodrigo Fuenzalida (www.rfuenzalida.com), with Reserved Font Name Racing Sans." +FONT_VERSION "1.001; ttfautohint (v0.8) -G 200 -r 50" +FONT_ASCENT 23 +FONT_DESCENT 6 +UNDERLINE_POSITION -3 +UNDERLINE_THICKNESS 2 +X_HEIGHT 12 +CAP_HEIGHT 18 +RAW_ASCENT 800 +RAW_DESCENT 200 +NORM_SPACE 6 +RELATIVE_WEIGHT 40 +RELATIVE_SETWIDTH 50 +SUPERSCRIPT_X 0 +SUPERSCRIPT_Y 13 +SUPERSCRIPT_SIZE 18 +SUBSCRIPT_X 0 +SUBSCRIPT_Y 4 +SUBSCRIPT_SIZE 18 +AVG_LOWERCASE_WIDTH 161 +AVG_UPPERCASE_WIDTH 179 +ENDPROPERTIES +CHARS 471 +STARTCHAR space +ENCODING 32 +SWIDTH 191 0 +DWIDTH 6 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 294 0 +DWIDTH 9 0 +BBX 9 20 1 0 +BITMAP +1F80 +1F00 +3F00 +3F00 +3F00 +3E00 +3E00 +3E00 +3C00 +3C00 +7C00 +7C00 +7800 +7800 +0000 +7000 +F800 +F800 +F800 +F000 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 446 0 +DWIDTH 13 0 +BBX 13 8 2 12 +BITMAP +3CF8 +7CF0 +78F0 +78E0 +79E0 +71E0 +71C0 +F1C0 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 672 0 +DWIDTH 19 0 +BBX 20 18 0 1 +BITMAP +01C380 +018380 +038300 +038300 +3FFFF0 +3FFFF0 +3FFFE0 +070600 +070E00 +070E00 +060E00 +7FFFC0 +7FFFC0 +FFFFC0 +0C1C00 +1C1C00 +1C1800 +1C3800 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 596 0 +DWIDTH 17 0 +BBX 15 24 1 -3 +BITMAP +0070 +0070 +01FC +0FFE +1F06 +3E00 +7E00 +7E00 +7F00 +7FE0 +7FFC +3FFC +1FFE +07FE +00FE +007E +007E +007C +60FC +FFF8 +3FC0 +0700 +0E00 +0E00 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 724 0 +DWIDTH 21 0 +BBX 17 19 2 0 +BITMAP +3E0700 +770E00 +770E00 +E71C00 +E73800 +EF3800 +7E7000 +007000 +00E000 +01C000 +01C000 +038F00 +07BF80 +073B80 +0E7B80 +0E7380 +1C7380 +383700 +783E00 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 705 0 +DWIDTH 20 0 +BBX 19 19 0 0 +BITMAP +007E00 +01FF00 +03E380 +03E380 +07F380 +07F380 +03FF00 +03FC00 +1FFCC0 +3FFDC0 +7CFF80 +FCFF80 +FC7F00 +FC7F00 +FE3F80 +FF3F80 +7FFFC0 +7FFFC0 +1F9FE0 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 214 0 +DWIDTH 6 0 +BBX 6 8 2 12 +BITMAP +3C +7C +78 +78 +70 +70 +60 +E0 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 308 0 +DWIDTH 9 0 +BBX 10 23 1 -2 +BITMAP +0080 +03C0 +0780 +0F00 +0E00 +1E00 +3C00 +3C00 +7C00 +7800 +F800 +F800 +F000 +F000 +F000 +F000 +F000 +F000 +7000 +7800 +3800 +1C00 +0C00 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 308 0 +DWIDTH 9 0 +BBX 10 23 -1 -2 +BITMAP +0C00 +0E00 +0700 +0780 +0780 +0380 +03C0 +03C0 +03C0 +07C0 +07C0 +0780 +0780 +0780 +0F00 +0F00 +1E00 +1E00 +3C00 +3800 +7000 +E000 +C000 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 273 0 +DWIDTH 8 0 +BBX 6 6 3 14 +BITMAP +10 +7C +FC +7C +A8 +20 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 459 0 +DWIDTH 13 0 +BBX 12 13 1 3 +BITMAP +0380 +0300 +0700 +0700 +0700 +FFF0 +FFF0 +FFF0 +0E00 +0E00 +0E00 +1C00 +1C00 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 275 0 +DWIDTH 8 0 +BBX 7 9 -1 -4 +BITMAP +3C +7E +7E +7E +3C +3C +38 +70 +E0 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 415 0 +DWIDTH 12 0 +BBX 10 3 1 5 +BITMAP +FFC0 +FF80 +FF80 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 274 0 +DWIDTH 8 0 +BBX 6 5 0 0 +BITMAP +78 +FC +FC +FC +78 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 358 0 +DWIDTH 10 0 +BBX 13 19 -1 0 +BITMAP +0038 +0070 +0070 +00E0 +00E0 +01C0 +01C0 +0380 +0380 +0700 +0700 +0E00 +0C00 +1C00 +1800 +3800 +7000 +7000 +E000 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 668 0 +DWIDTH 19 0 +BBX 18 19 1 0 +BITMAP +01FC00 +07FF00 +0FDF80 +1F8F80 +3F0FC0 +3F0FC0 +7F0FC0 +7E1FC0 +7E1FC0 +FE1FC0 +FE1FC0 +FE1F80 +FC3F80 +FC3F80 +FC3F00 +7C7E00 +7E7E00 +3FF800 +0FE000 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 397 0 +DWIDTH 12 0 +BBX 10 19 2 0 +BITMAP +07C0 +0FC0 +3FC0 +FF80 +FF80 +1F80 +3F80 +3F80 +3F00 +3F00 +3F00 +7F00 +7F00 +7E00 +7E00 +7E00 +FE00 +FC00 +FC00 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 593 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +01F800 +07FE00 +1F9F00 +1F1F80 +3F1F80 +3F1F80 +3E1F80 +001F80 +003F00 +003F00 +007E00 +00FC00 +01F800 +03E000 +0FC000 +3FFE00 +FFFE00 +FFFE00 +FFFE00 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 604 0 +DWIDTH 18 0 +BBX 17 19 0 0 +BITMAP +01FC00 +0FFF00 +1F9F80 +1F1F80 +1F1F80 +3E1F80 +001F00 +003E00 +00FC00 +01F800 +007E00 +003F00 +7C3F00 +7C3F00 +7C7F00 +FC7F00 +FCFE00 +7FF800 +1FE000 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 607 0 +DWIDTH 18 0 +BBX 17 19 0 0 +BITMAP +007F80 +00FF80 +01FF00 +01FF00 +03BF00 +077F00 +0F7E00 +1E7E00 +1C7E00 +387E00 +78FE00 +70FC00 +FFFF80 +FFFF80 +00FC00 +01FC00 +01F800 +01F800 +01F800 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 563 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +0FFF +0FFF +1FFE +1FFE +1C00 +1C00 +1DF0 +3FFC +3EFE +3C7E +007E +007F +787E +787E +F87E +F87C +FCF8 +7FF0 +1FC0 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 616 0 +DWIDTH 18 0 +BBX 16 19 1 0 +BITMAP +01FE +07FF +0F9F +1F9F +3F1F +3F00 +7E00 +7E7C +7FFE +FFFF +FE3F +FE3F +FC3F +FC7F +FC7F +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 531 0 +DWIDTH 15 0 +BBX 15 19 2 0 +BITMAP +7FFE +FFFE +FFFE +FFFC +00F0 +01E0 +03E0 +07C0 +0F80 +0F80 +1F80 +1F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 620 0 +DWIDTH 18 0 +BBX 16 19 1 0 +BITMAP +03F8 +0FFE +1F3F +3F3F +3E3F +7E3F +3E3F +3E7E +1FFC +3FFC +7E7E +FC7E +FC7F +FC7F +FC7E +FC7E +FCFC +7FF8 +1FE0 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 619 0 +DWIDTH 18 0 +BBX 16 19 1 0 +BITMAP +03F0 +1FFC +3F3E +3F1F +7E1F +7E3F +7E3F +7E3F +7E7F +7FFF +3FBF +1F3F +007F +007E +787E +F8FC +FDF8 +FFF0 +7F80 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 282 0 +DWIDTH 8 0 +BBX 7 12 0 0 +BITMAP +1C +3E +3E +3E +1C +00 +00 +78 +FC +FC +F8 +70 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 285 0 +DWIDTH 8 0 +BBX 8 16 -1 -4 +BITMAP +0E +1F +1F +1F +0E +00 +00 +3C +7E +7E +3E +1C +1C +38 +F0 +40 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 397 0 +DWIDTH 12 0 +BBX 11 12 1 3 +BITMAP +01E0 +0780 +0F00 +1E00 +3C00 +7000 +F000 +7800 +3C00 +1C00 +0E00 +0F00 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 413 0 +DWIDTH 12 0 +BBX 10 7 1 5 +BITMAP +7FC0 +7FC0 +0000 +0000 +0000 +FF80 +FF80 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 396 0 +DWIDTH 11 0 +BBX 10 12 1 3 +BITMAP +3C00 +1C00 +0E00 +0F00 +0780 +03C0 +03C0 +0700 +0E00 +3C00 +7800 +F000 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 525 0 +DWIDTH 15 0 +BBX 14 20 2 0 +BITMAP +0FE0 +3FF8 +7CF8 +7CFC +F8FC +F8FC +00FC +01F8 +03F0 +0FE0 +0F80 +1F00 +1F00 +1F00 +0000 +1E00 +3E00 +3F00 +3E00 +1C00 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 745 0 +DWIDTH 22 0 +BBX 20 19 1 -3 +BITMAP +01FC00 +07FF00 +1F0780 +3C01C0 +3000E0 +71CEE0 +E3FC60 +E7BC70 +E79C70 +C73C70 +C73C60 +C73C60 +E73CE0 +E7DFC0 +E38F00 +700000 +382000 +1FE000 +0FE000 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 19 -1 0 +BITMAP +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 622 0 +DWIDTH 18 0 +BBX 18 19 0 0 +BITMAP +0FFE00 +0FFF80 +1FCF80 +1F8FC0 +1F8FC0 +1F8FC0 +1F8F80 +3F9F00 +3FFE00 +3FFF00 +3F3F80 +3F1F80 +7F1F80 +7E1F80 +7E1F80 +7E3F00 +7E7F00 +FFFE00 +FFF000 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 19 1 0 +BITMAP +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 662 0 +DWIDTH 19 0 +BBX 19 19 0 0 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F87C0 +1F87E0 +1F87E0 +1F87E0 +3F8FE0 +3F0FE0 +3F0FE0 +3F0FE0 +3F0FC0 +7F1FC0 +7E1FC0 +7E1F80 +7E3F00 +7E7E00 +FFFC00 +FFF000 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 19 0 0 +BITMAP +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 491 0 +DWIDTH 14 0 +BBX 16 19 0 0 +BITMAP +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FFC +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 642 0 +DWIDTH 19 0 +BBX 18 19 1 0 +BITMAP +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0F80 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE7F80 +FE7F80 +FE1F00 +FE1F00 +FE1F00 +7E3F00 +7E7F00 +3FFE00 +0F8E00 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 666 0 +DWIDTH 19 0 +BBX 20 19 0 0 +BITMAP +0FC3F0 +0FC7F0 +1FC7F0 +1FC7E0 +1F87E0 +1F87E0 +1F8FE0 +3F8FE0 +3F8FC0 +3FFFC0 +3FFFC0 +3F1FC0 +7F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F80 +FE3F00 +FC3F00 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 10 19 0 0 +BITMAP +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 590 0 +DWIDTH 17 0 +BBX 19 19 -1 0 +BITMAP +0007E0 +000FE0 +000FC0 +000FC0 +000FC0 +000FC0 +001FC0 +001F80 +001F80 +001F80 +003F80 +003F80 +7E3F00 +7E3F00 +7C3F00 +7C7E00 +FE7E00 +3FFC00 +0FE000 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 608 0 +DWIDTH 18 0 +BBX 19 19 0 0 +BITMAP +0FC1E0 +0FC3C0 +1FC380 +1FC700 +1F8E00 +1F9C00 +1FB800 +3FF000 +3FF800 +3FF800 +3FFC00 +3FFC00 +7F7C00 +7E7E00 +7E7E00 +7E7F00 +7E3F00 +FE3F00 +FC3F80 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 482 0 +DWIDTH 14 0 +BBX 13 19 0 0 +BITMAP +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E08 +FFF0 +FFF0 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 844 0 +DWIDTH 24 0 +BBX 25 19 0 0 +BITMAP +0FE03F80 +0FE07F80 +1FF0FF80 +1FF0FF80 +1FF1FF00 +1FF1FF00 +1FF3FF00 +3BF3FF00 +3BF77E00 +3BF77E00 +33FE7E00 +33FEFE00 +73FCFE00 +73FCFC00 +73F8FC00 +63F8FC00 +63F1FC00 +E1E1FC00 +E1E1F800 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 19 0 0 +BITMAP +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 19 1 0 +BITMAP +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 600 0 +DWIDTH 17 0 +BBX 18 19 0 0 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8FC0 +3F0F80 +3F1F80 +3F3F00 +3FFE00 +7FF800 +7E0000 +7E0000 +7E0000 +7E0000 +FE0000 +FC0000 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 24 1 -5 +BITMAP +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +03F000 +01FE00 +01FC00 +00F000 +006000 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 633 0 +DWIDTH 18 0 +BBX 18 19 0 0 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8F80 +3F1F80 +3FFE00 +3FFC00 +3F7C00 +7F7E00 +7E7E00 +7E7F00 +7E3F00 +7E3F00 +FE3F80 +FC1F80 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 555 0 +DWIDTH 16 0 +BBX 16 19 2 0 +BITMAP +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 19 1 0 +BITMAP +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 581 0 +DWIDTH 17 0 +BBX 17 19 2 0 +BITMAP +FE0380 +FE0700 +7E0700 +7E0E00 +7E0E00 +7E1C00 +7E1C00 +7F1C00 +7F3800 +7F3800 +7F7000 +7F7000 +7FE000 +7FE000 +7FC000 +7FC000 +7F8000 +7F8000 +7F8000 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 944 0 +DWIDTH 27 0 +BBX 27 19 2 0 +BITMAP +FE0FC0E0 +FE0FE1E0 +FE0FE1C0 +FE1FE1C0 +7F1FE380 +7F1FE380 +7F3FE380 +7F3FE700 +7F3FE700 +7F77EF00 +7F77EE00 +7FF7EE00 +7FE7FC00 +7FE7FC00 +7FC7FC00 +7FC7F800 +7F87F800 +7F87F800 +7F87F000 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 20 19 -1 0 +BITMAP +1FC0F0 +1FC0E0 +0FE1C0 +0FE380 +0FF780 +07F700 +07FE00 +03FC00 +03F800 +03FC00 +01FC00 +03FC00 +07FE00 +0FFE00 +0E7F00 +1C7F00 +387F80 +783F80 +F03FC0 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 19 2 0 +BITMAP +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 553 0 +DWIDTH 16 0 +BBX 18 19 -1 0 +BITMAP +1FFFC0 +1FFFC0 +003FC0 +007F80 +007F00 +00FF00 +01FE00 +01FC00 +03FC00 +07F800 +07F000 +0FF000 +1FE000 +1FC000 +3FC000 +7F8000 +7F8000 +7FFF00 +FFFF00 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 295 0 +DWIDTH 9 0 +BBX 11 23 0 -2 +BITMAP +0FE0 +0FC0 +0E00 +0E00 +0E00 +1C00 +1C00 +1C00 +1C00 +1C00 +3800 +3800 +3800 +3800 +7800 +7000 +7000 +7000 +7000 +F000 +E000 +FC00 +FC00 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 605 0 +DWIDTH 18 0 +BBX 12 19 3 0 +BITMAP +E000 +E000 +7000 +3000 +3800 +1800 +1C00 +0C00 +0E00 +0600 +0700 +0300 +0380 +01C0 +01C0 +00E0 +00E0 +0070 +0070 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 295 0 +DWIDTH 9 0 +BBX 11 23 -1 -2 +BITMAP +0FE0 +0FC0 +01C0 +01C0 +01C0 +03C0 +0380 +0380 +0380 +0380 +0780 +0700 +0700 +0700 +0700 +0E00 +0E00 +0E00 +0E00 +0E00 +1C00 +FC00 +FC00 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 438 0 +DWIDTH 13 0 +BBX 11 7 2 12 +BITMAP +0F80 +1F80 +3D80 +39C0 +70C0 +60C0 +C060 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 571 0 +DWIDTH 17 0 +BBX 14 3 -1 -3 +BITMAP +7FFC +FFFC +FFFC +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 304 0 +DWIDTH 9 0 +BBX 8 5 1 14 +BITMAP +F8 +3C +1C +0E +07 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 13 0 0 +BITMAP +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 16 20 0 0 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F3E +3F7F +3FFF +3F3F +7E3F +7E3F +7E3F +7E3F +7E7E +FC7E +FFFE +FBFC +F8F8 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 15 13 0 0 +BITMAP +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 577 0 +DWIDTH 17 0 +BBX 18 20 0 0 +BITMAP +000FC0 +000FC0 +000FC0 +001F80 +001F80 +001F80 +001F80 +0F9F00 +1FFF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 13 0 0 +BITMAP +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 404 0 +DWIDTH 12 0 +BBX 15 20 1 0 +BITMAP +01FC +07FE +0FFC +0FC0 +1F80 +1F80 +1F80 +FFF0 +FFE0 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 18 0 -5 +BITMAP +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7FFC00 +3CFC00 +00FC00 +00F800 +01F000 +7FE000 +FF8000 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 20 0 0 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F1E +3F7F +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 9 19 0 0 +BITMAP +0F00 +1F80 +1F80 +1F80 +0F00 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 294 0 +DWIDTH 9 0 +BBX 12 24 -3 -5 +BITMAP +01E0 +03F0 +03F0 +03F0 +01E0 +0000 +07E0 +07E0 +07E0 +07E0 +0FC0 +0FC0 +0FC0 +0FC0 +0FC0 +1F80 +1F80 +1F80 +1F80 +1F00 +3F00 +3E00 +FC00 +F000 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 599 0 +DWIDTH 17 0 +BBX 18 20 0 0 +BITMAP +0FC000 +0F8000 +1F8000 +1F8000 +1F8000 +1F8000 +3F0000 +3F07C0 +3F0F00 +3F1E00 +3F3C00 +7EF800 +7FF000 +7FF800 +7FF800 +7EFC00 +FCFC00 +FC7E00 +FC7E00 +FC3F00 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 10 20 0 0 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 861 0 +DWIDTH 25 0 +BBX 24 13 0 0 +BITMAP +3E3E3E +3EFFFF +3FFFFF +3F3F3F +7E3E3F +7E3E3F +7E3E3F +7E7E3E +7E7E7E +FC7C7E +FC7C7E +FC7C7E +FCFCFC +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 13 0 0 +BITMAP +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 13 0 0 +BITMAP +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 584 0 +DWIDTH 17 0 +BBX 17 18 -1 -5 +BITMAP +1F1F00 +1F7F80 +1FFF80 +1F9F80 +3F1F80 +3F1F80 +3F1F80 +3F1F80 +3F3F00 +7F3F00 +7FFF00 +7EFE00 +7E7C00 +7E0000 +FC0000 +FC0000 +FC0000 +FC0000 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 577 0 +DWIDTH 17 0 +BBX 17 18 0 -5 +BITMAP +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E3E00 +FC7E00 +FC7E00 +FC7E00 +FC7E00 +FCFC00 +7FFC00 +3EFC00 +00FC00 +00FC00 +01F800 +01F800 +01F800 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 483 0 +DWIDTH 14 0 +BBX 14 13 0 0 +BITMAP +3E3C +3EFC +3FFC +3FFC +7E3C +7E38 +7E38 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 14 13 -1 0 +BITMAP +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 392 0 +DWIDTH 11 0 +BBX 11 17 1 0 +BITMAP +0380 +0780 +0F80 +1F80 +FFE0 +FFE0 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +7E00 +7F80 +3F00 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 13 0 0 +BITMAP +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 516 0 +DWIDTH 15 0 +BBX 15 13 1 0 +BITMAP +FC1E +FC1C +FE38 +7E38 +7E70 +7E70 +7E60 +7EE0 +7EC0 +3FC0 +3F80 +3F80 +3F00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 831 0 +DWIDTH 24 0 +BBX 24 13 1 0 +BITMAP +FC3F0F +FC3F0E +FC3F0E +FE7F9C +7E7F9C +7EFF98 +7EFFB8 +7EDFB0 +7FDFF0 +7FDFF0 +3F8FE0 +3F8FE0 +3F0FC0 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 511 0 +DWIDTH 15 0 +BBX 17 13 -2 0 +BITMAP +1F8780 +0FC700 +0FCE00 +07FC00 +07F800 +03F000 +03F000 +03F800 +07F800 +0EFC00 +1CFC00 +387E00 +F07F00 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 18 -2 -5 +BITMAP +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 478 0 +DWIDTH 14 0 +BBX 15 13 -1 0 +BITMAP +1FFE +3FFE +00FC +01F8 +03F0 +07F0 +0FE0 +1FC0 +3F80 +7F00 +7E00 +FFF8 +FFF8 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 314 0 +DWIDTH 9 0 +BBX 10 23 1 -2 +BITMAP +03C0 +07C0 +0E00 +0E00 +1E00 +1C00 +1C00 +1C00 +1C00 +3800 +F800 +F000 +F000 +7800 +7000 +7000 +7000 +7000 +7000 +E000 +E000 +FC00 +7C00 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 221 0 +DWIDTH 6 0 +BBX 8 25 -1 -5 +BITMAP +07 +07 +07 +0F +0E +0E +0E +0E +1E +1C +1C +1C +1C +3C +38 +38 +38 +38 +70 +70 +70 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 314 0 +DWIDTH 9 0 +BBX 10 23 -1 -2 +BITMAP +0F80 +0FC0 +03C0 +03C0 +0380 +0380 +0380 +0380 +0780 +0780 +07C0 +03C0 +07C0 +0700 +0E00 +0E00 +0E00 +0E00 +1C00 +1C00 +1C00 +F800 +F000 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 462 0 +DWIDTH 13 0 +BBX 12 4 1 5 +BITMAP +3C30 +7FE0 +FFC0 +8780 +ENDCHAR +STARTCHAR uni00A0 +ENCODING 160 +SWIDTH 191 0 +DWIDTH 6 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 296 0 +DWIDTH 9 0 +BBX 9 20 -1 -5 +BITMAP +0F00 +0F80 +1F80 +1F80 +0F00 +0000 +1F00 +1E00 +1E00 +1E00 +3E00 +3E00 +3E00 +7E00 +7C00 +7C00 +7C00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 537 0 +DWIDTH 16 0 +BBX 15 19 1 0 +BITMAP +00F0 +00E0 +00E0 +07F8 +1FFE +3F3C +7E3C +7E3C +FC00 +FC00 +FC00 +FC7C +FC78 +7CF8 +3FF8 +0FF0 +0700 +0700 +0F00 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 621 0 +DWIDTH 18 0 +BBX 16 19 1 0 +BITMAP +01FC +07FF +0FFF +1F81 +1F00 +1F00 +3F00 +1F00 +FFE0 +FFE0 +1F00 +1F00 +1E00 +1C07 +3F86 +7FFE +FFFE +7FFC +40F8 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 604 0 +DWIDTH 18 0 +BBX 18 16 0 2 +BITMAP +040080 +0CF980 +1FFFC0 +0FFF80 +0F0F00 +0E0700 +1C0700 +1C0700 +180700 +380600 +1C0E00 +1E1C00 +3FFE00 +FFFF00 +73EE00 +200400 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 616 0 +DWIDTH 18 0 +BBX 18 19 1 0 +BITMAP +3F81C0 +3F8380 +1FC380 +1FC700 +1FC700 +1FCE00 +0FEC00 +0FFC00 +0FF800 +0FF800 +3FFE00 +7FFE00 +07E000 +0FE000 +7FFC00 +FFFC00 +0FC000 +1FC000 +1FC000 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 223 0 +DWIDTH 6 0 +BBX 8 25 -1 -5 +BITMAP +07 +07 +07 +07 +0E +0E +0E +0E +0E +1C +1C +00 +00 +00 +38 +38 +38 +38 +70 +70 +70 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 544 0 +DWIDTH 16 0 +BBX 17 23 -1 -4 +BITMAP +00FE00 +03FF80 +07E300 +07C000 +07C000 +07F000 +07FC00 +07FE00 +07FF00 +1FFF00 +3C1F00 +3C0F00 +3E0F00 +3F9E00 +3FFC00 +3FF800 +0FF800 +03F800 +01F800 +01F800 +41F800 +FFF000 +3FC000 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 417 0 +DWIDTH 12 0 +BBX 10 5 1 14 +BITMAP +71C0 +F3C0 +F3C0 +F3C0 +E180 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 755 0 +DWIDTH 22 0 +BBX 20 19 1 0 +BITMAP +00FC00 +07FF00 +0F03C0 +1C00E0 +38FC60 +71FE70 +63CE30 +67CE30 +C78E30 +C78030 +C78030 +C79E30 +679C70 +63FC60 +71F8C0 +3801C0 +1E0F00 +0FFE00 +03F800 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 393 0 +DWIDTH 11 0 +BBX 10 11 2 8 +BITMAP +3F00 +3B80 +03C0 +3F80 +7380 +7780 +7F80 +7380 +0000 +0000 +FF00 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 590 0 +DWIDTH 17 0 +BBX 17 13 0 0 +BITMAP +038780 +070F00 +0F0E00 +1E1E00 +3C3C00 +787800 +F0F000 +787800 +787800 +3C3800 +3C3C00 +1E1C00 +1E1E00 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 593 0 +DWIDTH 17 0 +BBX 15 7 1 1 +BITMAP +FFFE +FFFC +FFFC +001C +001C +003C +0038 +ENDCHAR +STARTCHAR uni00AD +ENCODING 173 +SWIDTH 415 0 +DWIDTH 12 0 +BBX 10 3 1 5 +BITMAP +FFC0 +FF80 +FF80 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 755 0 +DWIDTH 22 0 +BBX 20 19 1 0 +BITMAP +00FC00 +07FF00 +0F03C0 +1C00E0 +39FC60 +71EE70 +61CE30 +63CE30 +C3FC30 +C3F830 +C3BC30 +C3BC30 +679C70 +679E60 +7000C0 +3801C0 +1C0700 +0FFE00 +03F800 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 426 0 +DWIDTH 12 0 +BBX 11 2 1 16 +BITMAP +FFE0 +FFC0 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 348 0 +DWIDTH 10 0 +BBX 9 8 2 11 +BITMAP +1E00 +7F00 +6380 +E180 +C180 +6300 +7F00 +3C00 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 492 0 +DWIDTH 14 0 +BBX 14 18 0 0 +BITMAP +01C0 +01C0 +01C0 +01C0 +01C0 +3FFC +3FFC +3FF8 +0380 +0380 +0700 +0700 +0700 +0000 +0000 +FFF0 +FFF0 +FFF0 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 287 0 +DWIDTH 8 0 +BBX 7 8 2 11 +BITMAP +3C +6E +EE +0E +1C +38 +FE +FE +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 282 0 +DWIDTH 8 0 +BBX 7 7 2 12 +BITMAP +7E +66 +8E +18 +CE +CE +FC +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 317 0 +DWIDTH 9 0 +BBX 7 5 1 14 +BITMAP +3E +3C +78 +E0 +C0 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 588 0 +DWIDTH 17 0 +BBX 18 18 -1 -5 +BITMAP +1F8FC0 +1F8FC0 +1F8F80 +1F9F80 +1F1F80 +3F1F80 +3F1F80 +3F1F00 +3F3F00 +3F3F00 +7FFF00 +7FFF00 +7BBE00 +780000 +F80000 +F80000 +F80000 +F80000 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 615 0 +DWIDTH 18 0 +BBX 17 24 2 -5 +BITMAP +0FFF80 +3FFF80 +7FCE00 +7F8E00 +FF8C00 +FF8C00 +FF9C00 +FF9C00 +FF1C00 +FF1800 +7F3800 +3F3800 +073800 +063000 +0E3000 +0E7000 +0E7000 +0E7000 +0C6000 +1CE000 +1CE000 +1CE000 +18E000 +39C000 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 273 0 +DWIDTH 8 0 +BBX 6 5 1 7 +BITMAP +38 +7C +FC +FC +78 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 244 0 +DWIDTH 7 0 +BBX 6 7 1 -6 +BITMAP +60 +60 +FC +FC +1C +9C +F8 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 184 0 +DWIDTH 5 0 +BBX 5 8 2 11 +BITMAP +38 +F8 +F0 +70 +70 +70 +70 +E0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 400 0 +DWIDTH 12 0 +BBX 10 11 2 8 +BITMAP +1F00 +3F80 +7BC0 +73C0 +73C0 +7380 +7F80 +3E00 +0000 +FF00 +FF00 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 588 0 +DWIDTH 17 0 +BBX 17 13 -1 0 +BITMAP +1C3C00 +1E1E00 +0E1E00 +0F0F00 +070F00 +078780 +07C780 +078F00 +0F0F00 +1E1E00 +3C3C00 +387800 +F0F000 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 648 0 +DWIDTH 19 0 +BBX 15 19 2 0 +BITMAP +181C +7818 +F838 +3870 +7070 +70E0 +71C0 +71C0 +0380 +0380 +0700 +0E00 +0E1E +1C2E +3C7C +38DC +70FE +701C +E038 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 675 0 +DWIDTH 20 0 +BBX 16 19 2 0 +BITMAP +181C +7818 +F838 +3870 +7070 +70E0 +71C0 +71C0 +0380 +0380 +0700 +0E3E +0E77 +1C67 +3C07 +380E +701C +70FE +E0FE +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 722 0 +DWIDTH 21 0 +BBX 17 19 2 0 +BITMAP +3E0780 +770700 +060E00 +1C1C00 +EE1C00 +EE3800 +FC3800 +007000 +00E000 +00E000 +01C000 +03C780 +038780 +070B80 +071F80 +0E3700 +1C3F80 +1C0700 +380700 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 14 20 -1 -5 +BITMAP +00E0 +01F0 +01F0 +01F0 +01E0 +0000 +01E0 +03E0 +03E0 +03C0 +1FC0 +3F00 +7E00 +7C00 +FC7C +FC7C +FC78 +7CF8 +7FF0 +1FC0 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 25 -1 0 +BITMAP +07C000 +01E000 +00F000 +007000 +001800 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 18 25 -1 0 +BITMAP +0007C0 +000F80 +001E00 +001C00 +003800 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 25 -1 0 +BITMAP +003E00 +007E00 +00F700 +01C300 +038180 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 19 25 -1 0 +BITMAP +007860 +00FFC0 +01FFC0 +010F80 +000000 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 25 -1 0 +BITMAP +01C700 +01E780 +03E780 +01E780 +01C700 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 25 -1 0 +BITMAP +003C00 +007C00 +006600 +007C00 +003800 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 814 0 +DWIDTH 24 0 +BBX 27 19 -2 0 +BITMAP +0003FFE0 +0007FFE0 +000FF800 +001FF000 +001BF000 +0033F000 +0073F000 +0067F000 +00C7FF80 +01C7FF00 +0387E000 +03FFE000 +07FFE000 +0E0FC000 +1C0FC000 +180FC000 +381FC000 +701FFF00 +E01FFE00 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 25 1 -6 +BITMAP +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +038000 +032000 +03F000 +007000 +027000 +03E000 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +0F80 +07C0 +01C0 +00E0 +0070 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +001F +001E +003C +0078 +0060 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +007C +00FC +01EE +0386 +0703 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +038E +079E +079F +079E +030E +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 10 25 0 0 +BITMAP +7C00 +3C00 +1E00 +0700 +0380 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 13 25 0 0 +BITMAP +00F8 +00F0 +01E0 +0380 +0300 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 13 25 0 0 +BITMAP +03C0 +07E0 +0E70 +1C30 +3018 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 13 25 0 0 +BITMAP +1C70 +1E78 +3EF8 +3C78 +1C70 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 673 0 +DWIDTH 20 0 +BBX 19 19 0 0 +BITMAP +0FFF00 +0FFF80 +0FC7C0 +1FC7E0 +1FC7E0 +1F87E0 +1F87E0 +1F87E0 +7FE7E0 +FFEFE0 +3F0FE0 +3F0FE0 +3F0FC0 +7F1FC0 +7F1F80 +7E3F80 +7E3F00 +7FFC00 +FFF000 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 25 0 0 +BITMAP +007860 +00FFC0 +01FFC0 +010F80 +000000 +000000 +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +07E000 +01E000 +00F000 +007800 +001800 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +0007C0 +000F00 +001E00 +001C00 +003800 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +003E00 +007F00 +00F300 +01C380 +038180 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +00F8C0 +01FFC0 +03FF80 +010F00 +000000 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +01C300 +01E780 +01E780 +01E780 +01C700 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 511 0 +DWIDTH 15 0 +BBX 15 12 0 3 +BITMAP +1C1E +1E3C +0E78 +07F0 +07E0 +03C0 +07C0 +07C0 +0EE0 +1CF0 +3870 +F078 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 19 1 0 +BITMAP +01FEC0 +07FF80 +1FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F1FE0 +7E3FE0 +FE6FE0 +FEEFC0 +FFDFC0 +FF9FC0 +FF1FC0 +FE1F80 +FC3F80 +7C3F00 +7E7E00 +7FFC00 +EFF000 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +07E000 +01E000 +00F000 +007800 +001800 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +0007C0 +000F00 +001E00 +001C00 +003800 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +003E00 +007E00 +00E700 +01C300 +038180 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +00E380 +01E780 +01E780 +01E780 +01C380 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 25 2 0 +BITMAP +001F00 +003E00 +003800 +007000 +00E000 +000000 +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 592 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +0FC000 +0FC000 +1FC000 +1FFC00 +1FFF00 +1F9F80 +1F8F80 +3F8F80 +3F0F80 +3F0F80 +3F1F80 +3F1F80 +7F1F00 +7E3F00 +7FFC00 +7FF000 +7E0000 +FE0000 +FC0000 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 660 0 +DWIDTH 19 0 +BBX 19 20 0 0 +BITMAP +01FE00 +07FF80 +0FCFC0 +0F87E0 +1F87C0 +1F8FC0 +1F1F80 +3F3E00 +3F7C00 +3F7C00 +3F7E00 +7E7F00 +7E7F80 +7E3FC0 +7E1FC0 +7E0FC0 +FC07C0 +FC8FC0 +FDFF80 +FC7E00 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +1F00 +0780 +03C0 +01C0 +00E0 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +003E +003C +0078 +00E0 +00C0 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +01F8 +01F8 +039C +070C +0C0E +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +03C3 +07FE +0FFE +087C +0000 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +071C +0F3C +0F3E +0F3C +061C +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +00E0 +01F0 +0330 +01E0 +01C0 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 830 0 +DWIDTH 24 0 +BBX 24 13 0 0 +BITMAP +0FF3F8 +3FFFFE +3E7F3E +3C7F3F +007E3F +3FFE3E +7CFFFE +F8FC00 +F8FC00 +F8FC7C +FFFEFC +FFBFFC +7C0FF0 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 15 19 0 -6 +BITMAP +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +0700 +0640 +07E0 +00E0 +04E0 +07C0 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +0F80 +03C0 +01C0 +00E0 +0070 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +001F +003C +0078 +0070 +00E0 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +00F8 +01FC +03CC +070E +0606 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +038E +079F +079F +079E +038E +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 9 19 -1 0 +BITMAP +F800 +3C00 +1E00 +0E00 +0100 +0000 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 11 19 0 0 +BITMAP +03E0 +07C0 +0700 +0E00 +0000 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 11 19 0 0 +BITMAP +0F80 +1FC0 +38C0 +70E0 +8000 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 11 19 0 0 +BITMAP +38E0 +79E0 +79E0 +79E0 +70C0 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 618 0 +DWIDTH 18 0 +BBX 19 21 0 0 +BITMAP +001000 +003C00 +001E00 +001FE0 +00FFE0 +00FF80 +008F80 +000F80 +0F8F80 +1FEFC0 +3FFFC0 +7FFF80 +7E3F80 +7E3F80 +FC3F80 +FC3F00 +FC7F00 +7C7E00 +7CFC00 +3FF800 +0FC000 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +03E3 +07FF +0FFE +043C +0000 +0000 +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +1F00 +0780 +03C0 +01C0 +00E0 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +003F +003C +0078 +00F0 +00C0 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +00F8 +01FC +039C +070E +0E06 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +01E1 +07FF +07FE +0C3C +0000 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +030E +079E +079E +079E +071C +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 460 0 +DWIDTH 13 0 +BBX 12 17 1 1 +BITMAP +0380 +07C0 +07C0 +07C0 +0380 +0000 +0000 +FFF0 +FFF0 +FFF0 +0000 +0000 +1C00 +3E00 +3E00 +3E00 +1C00 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 15 0 -1 +BITMAP +0004 +07FE +1FFE +3F3E +7E3F +7E7F +7EFF +FDBF +FF7F +FF7E +7E7E +7CFC +3FF8 +3FE0 +2000 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +1F0000 +078000 +03C000 +01E000 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +003F00 +003C00 +007800 +00E000 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +00F800 +01FC00 +03CE00 +070600 +000100 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +038E00 +079E00 +079E00 +079E00 +030E00 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 24 -2 -5 +BITMAP +0007C0 +000F00 +000E00 +001C00 +000000 +000000 +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 584 0 +DWIDTH 17 0 +BBX 17 25 -1 -5 +BITMAP +07E000 +0FC000 +0FC000 +0FC000 +0FC000 +0FC000 +1F8000 +1F9F00 +1FBF80 +1FFF80 +1F9F80 +3F1F80 +3F1F80 +3F1F80 +3F1F80 +3F3F00 +7F3F00 +7FFF00 +7EFE00 +7E7C00 +7E0000 +FC0000 +FC0000 +FC0000 +FC0000 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 24 -2 -5 +BITMAP +00E380 +00F3C0 +01F3C0 +01F3C0 +00E380 +000000 +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 18 24 -1 0 +BITMAP +01FFC0 +01FFC0 +000000 +000000 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 18 0 0 +BITMAP +07FE +0FFE +0000 +0000 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 18 25 -1 0 +BITMAP +0040C0 +00E380 +007F00 +003E00 +000000 +000000 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +0206 +071C +03F8 +01F0 +0000 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 17 25 -1 -6 +BITMAP +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +000E00 +001C00 +003C00 +003D00 +003F80 +001E00 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 15 19 0 -6 +BITMAP +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +0070 +00E0 +01C0 +01E8 +01F8 +01F0 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +000FC0 +000F00 +001E00 +001C00 +003800 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 16 19 0 0 +BITMAP +001F +003C +0078 +0070 +00E0 +0000 +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +007E00 +007E00 +00E700 +01C300 +030380 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 15 19 0 0 +BITMAP +00F8 +01FC +039C +070E +0E06 +0000 +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +003C00 +007E00 +007E00 +007C00 +003800 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 15 19 0 0 +BITMAP +0070 +00F8 +01F8 +00F8 +00F0 +0000 +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 639 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +01C1C0 +00C780 +00EF00 +007E00 +007C00 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0FC0 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE0000 +FE0080 +FE1F00 +FC1F00 +FC3F00 +7E3F00 +7E7F00 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 521 0 +DWIDTH 15 0 +BBX 16 19 0 0 +BITMAP +0707 +038E +01FC +01F8 +00F0 +0000 +03F8 +1FFE +3F3E +7E3C +7E3C +7E00 +FC00 +FC00 +FC7C +7C78 +7CF8 +3FF8 +0FF0 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 662 0 +DWIDTH 19 0 +BBX 19 25 0 0 +BITMAP +0181C0 +01C380 +00EF00 +007C00 +007800 +000000 +0FFE00 +0FFF80 +1FCFC0 +1F87C0 +1F87E0 +1F87E0 +1F87E0 +3F8FE0 +3F0FE0 +3F0FE0 +3F0FE0 +3F0FC0 +7F1FC0 +7E1FC0 +7E1F80 +7E3F00 +7E7E00 +FFFC00 +FFF000 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 673 0 +DWIDTH 20 0 +BBX 23 20 0 0 +BITMAP +000FC0 +000FDE +000FDE +001FBE +001F9E +001F8C +001F98 +0FBF30 +1FFF00 +3F7F00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +3E7C00 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 673 0 +DWIDTH 20 0 +BBX 19 19 0 0 +BITMAP +0FFF00 +0FFF80 +0FC7C0 +1FC7E0 +1FC7E0 +1F87E0 +1F87E0 +1F87E0 +7FE7E0 +FFEFE0 +3F0FE0 +3F0FE0 +3F0FC0 +7F1FC0 +7F1F80 +7E3F80 +7E3F00 +7FFC00 +FFF000 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 577 0 +DWIDTH 17 0 +BBX 20 20 0 0 +BITMAP +000FC0 +000FC0 +000F80 +007FF0 +007FE0 +009F80 +001F80 +0FBF00 +1FFF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 24 0 0 +BITMAP +03FF +07FF +0000 +0000 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 16 18 0 0 +BITMAP +03FF +07FF +0000 +0000 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +0103 +030E +01FC +00F8 +0000 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +0206 +030E +03FC +01F0 +0000 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +0078 +00F8 +00F8 +00F8 +00F0 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 0 +BITMAP +00F0 +01F8 +01F8 +01F8 +00F0 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 -6 +BITMAP +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +0700 +0E00 +1C00 +1E80 +1FC0 +1F00 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 -6 +BITMAP +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FF0 +01C0 +0380 +0780 +0790 +07F0 +03C0 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 0 +BITMAP +0703 +038E +01DC +01F8 +00F0 +0000 +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +0707 +038E +01DC +01F8 +00F0 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 642 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +003E00 +007E00 +00E700 +01C300 +038180 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0F80 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE7F80 +FE7F80 +FE1F00 +FE1F00 +FE1F00 +7E3F00 +7E7F00 +3FFE00 +0F8E00 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 24 0 -5 +BITMAP +007C00 +00FE00 +01EE00 +038700 +070300 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7FFC00 +3CFC00 +00FC00 +00F800 +01F000 +7FE000 +FF8000 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 642 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +008180 +00C380 +00FF00 +007C00 +000000 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0F80 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE7F80 +FE7F80 +FE1F00 +FE1F00 +FE1F00 +7E3F00 +7E7F00 +3FFE00 +0F8E00 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 24 0 -5 +BITMAP +010300 +018700 +01FE00 +00F800 +000000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7FFC00 +3CFC00 +00FC00 +00F800 +01F000 +7FE000 +FF8000 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 642 0 +DWIDTH 19 0 +BBX 18 25 1 0 +BITMAP +003C00 +007C00 +007C00 +007C00 +007800 +000000 +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0F80 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE7F80 +FE7F80 +FE1F00 +FE1F00 +FE1F00 +7E3F00 +7E7F00 +3FFE00 +0F8E00 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 24 0 -5 +BITMAP +003800 +007C00 +00FC00 +00FC00 +007800 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7FFC00 +3CFC00 +00FC00 +00F800 +01F000 +7FE000 +FF8000 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 642 0 +DWIDTH 19 0 +BBX 18 27 1 -8 +BITMAP +01FE00 +07FFC0 +0FCFC0 +1F8FC0 +3F0F80 +7F0F80 +7F0F80 +7E0000 +FE0000 +FE0000 +FE7F80 +FE7F80 +FE1F00 +FE1F00 +FE1F00 +7E3F00 +7E7F00 +3FFE00 +0F8E00 +000000 +010000 +03C000 +03C000 +01C000 +018000 +030000 +060000 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 26 0 -5 +BITMAP +000800 +003800 +007000 +006000 +00F800 +00F000 +007000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7FFC00 +3CFC00 +00FC00 +00F800 +01F000 +7FE000 +FF8000 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 666 0 +DWIDTH 19 0 +BBX 20 25 0 0 +BITMAP +001E00 +003F00 +007380 +00E180 +0180C0 +000000 +0FC3F0 +0FC7F0 +1FC7F0 +1FC7E0 +1F87E0 +1F87E0 +1F8FE0 +3F8FE0 +3F8FC0 +3FFFC0 +3FFFC0 +3F1FC0 +7F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F80 +FE3F00 +FC3F00 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 20 20 0 0 +BITMAP +0FC000 +0F87C0 +1F8FE0 +1F9CE0 +1FF070 +1F8000 +3F0000 +3F3E00 +3F7F00 +3FFF00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFC00 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 704 0 +DWIDTH 20 0 +BBX 21 19 1 0 +BITMAP +1FC7F0 +1F87E0 +1F87E0 +1F87E0 +FFFFF8 +FFFFF8 +3F0FC0 +3F0FC0 +3F0FC0 +3FFFC0 +7FFF80 +7E1F80 +7E1F80 +7E1F80 +FE3F80 +FE3F00 +FC3F00 +FC3F00 +FC7F00 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 20 0 0 +BITMAP +0FC0 +0F80 +1F80 +FFE0 +FFE0 +1F80 +3F00 +3F3E +3F7F +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 14 25 0 0 +BITMAP +0704 +1FFC +1FF8 +30F0 +0000 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 12 19 0 0 +BITMAP +1E10 +3FF0 +7FE0 +43C0 +0000 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 13 24 0 0 +BITMAP +1FF8 +3FF8 +0000 +0000 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 12 18 0 0 +BITMAP +7FF0 +7FE0 +0000 +0000 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 13 25 0 0 +BITMAP +1818 +0C30 +0FF0 +07C0 +0000 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 11 19 0 0 +BITMAP +2060 +30E0 +3FC0 +1F00 +0000 +0000 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 11 25 -1 -6 +BITMAP +07E0 +07E0 +0FE0 +0FC0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +3800 +7000 +E000 +E400 +FC00 +F800 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 11 25 -2 -6 +BITMAP +03C0 +07E0 +07E0 +07E0 +03C0 +0000 +0FC0 +0FC0 +0FC0 +0FC0 +1F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3800 +7000 +F000 +F200 +FE00 +7800 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 10 25 0 0 +BITMAP +0380 +07C0 +0FC0 +0FC0 +0780 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 8 13 0 0 +BITMAP +3F +3F +3F +3F +7E +7E +7E +7E +7E +FC +FC +FC +FC +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 912 0 +DWIDTH 26 0 +BBX 27 19 0 0 +BITMAP +0FC007E0 +0FC007E0 +1FC00FE0 +1F800FE0 +1F800FC0 +1F800FC0 +1F800FC0 +3F801FC0 +3F001FC0 +3F001F80 +3F001F80 +3F001F80 +7F3E3F80 +7E7E3F00 +7E7E3F00 +7E7E3F00 +7E7E7E00 +FE3FFC00 +FC0FF000 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 580 0 +DWIDTH 17 0 +BBX 17 24 0 -5 +BITMAP +0F0700 +1F8F80 +1F9F80 +1F9F80 +0F0F00 +000000 +3F1F80 +3F3F00 +3F3F00 +3F3F00 +7E3F00 +7E3E00 +7E7E00 +7E7E00 +7E7E00 +FC7E00 +FC7C00 +FCFC00 +FCFC00 +00FC00 +00F800 +01F800 +07E000 +078000 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 590 0 +DWIDTH 17 0 +BBX 21 25 -1 0 +BITMAP +0003E0 +0007F0 +000F30 +001C38 +001818 +000000 +0007E0 +000FE0 +000FC0 +000FC0 +000FC0 +000FC0 +001FC0 +001F80 +001F80 +001F80 +003F80 +003F80 +7E3F00 +7E3F00 +7C3F00 +7C7E00 +FE7E00 +3FFC00 +0FE000 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 294 0 +DWIDTH 9 0 +BBX 14 24 -3 -5 +BITMAP +01F0 +03F8 +0738 +0E1C +1000 +0000 +07E0 +07E0 +07E0 +07E0 +0FC0 +0FC0 +0FC0 +0FC0 +0FC0 +1F80 +1F80 +1F80 +1F80 +1F00 +3F00 +3E00 +FC00 +F000 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 608 0 +DWIDTH 18 0 +BBX 19 28 0 -9 +BITMAP +0FC1E0 +0FC3C0 +1FC380 +1FC700 +1F8E00 +1F9C00 +1FB800 +3FF000 +3FF800 +3FF800 +3FFC00 +3FFC00 +7F7C00 +7E7E00 +7E7E00 +7E7F00 +7E3F00 +FE3F00 +FC3F80 +000000 +000000 +038000 +07C000 +03C000 +018000 +038000 +060000 +040000 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 599 0 +DWIDTH 17 0 +BBX 18 29 0 -9 +BITMAP +0FC000 +0F8000 +1F8000 +1F8000 +1F8000 +1F8000 +3F0000 +3F07C0 +3F0F00 +3F1E00 +3F3C00 +7EF800 +7FF000 +7FF800 +7FF800 +7EFC00 +FCFC00 +FC7E00 +FC7E00 +FC3F00 +000000 +000000 +038000 +078000 +078000 +038000 +030000 +0E0000 +040000 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 583 0 +DWIDTH 17 0 +BBX 18 13 0 0 +BITMAP +3F07C0 +3F0F00 +3F1E00 +3F3C00 +7EF800 +7FF000 +7FF800 +7FF800 +7EFC00 +FCFC00 +FC7E00 +FC7E00 +FC3F00 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 482 0 +DWIDTH 14 0 +BBX 14 25 0 0 +BITMAP +007C +00F0 +01E0 +01C0 +0380 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E08 +FFF0 +FFF0 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 13 26 0 0 +BITMAP +00F8 +01F0 +03C0 +0380 +0700 +0000 +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 482 0 +DWIDTH 14 0 +BBX 13 28 0 -9 +BITMAP +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E08 +FFF0 +FFF0 +0000 +0000 +0E00 +1F00 +0F00 +0600 +0E00 +1800 +1000 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 10 29 0 -9 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +0000 +0000 +7000 +F000 +F000 +7000 +6000 +C000 +8000 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 482 0 +DWIDTH 14 0 +BBX 14 25 0 0 +BITMAP +180C +0C38 +0E70 +07E0 +03C0 +0000 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E08 +FFF0 +FFF0 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 393 0 +DWIDTH 11 0 +BBX 15 20 0 0 +BITMAP +0FC0 +0F9C +1FBE +1FBE +1F9E +1F9C +3F38 +3F30 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 505 0 +DWIDTH 15 0 +BBX 15 19 0 0 +BITMAP +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F3C +3F7E +3F7E +3F7E +7F3C +7E00 +7E00 +7E00 +7E08 +FFF0 +FFF0 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 472 0 +DWIDTH 14 0 +BBX 14 20 0 0 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F38 +3F7C +7EFC +7E7C +7E78 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 514 0 +DWIDTH 15 0 +BBX 14 19 0 0 +BITMAP +07E0 +07E0 +0FE0 +0FC0 +0FC0 +0FC0 +0FC8 +1FF0 +3FF0 +FFF0 +FF80 +BF80 +3F80 +3F00 +3F00 +3F00 +7F04 +7FF8 +7FF8 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 399 0 +DWIDTH 12 0 +BBX 13 20 0 0 +BITMAP +07F0 +07E0 +07E0 +07E0 +07E0 +0FC0 +0FF8 +0FF8 +0FF0 +7FC0 +7F80 +FF80 +9F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +7E00 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 25 0 0 +BITMAP +0007C0 +000780 +000F00 +001C00 +001800 +000000 +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +003E +007C +0070 +00E0 +00C0 +0000 +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 28 0 -9 +BITMAP +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +000000 +000000 +038000 +03C000 +07C000 +018000 +038000 +060000 +040000 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 22 0 -9 +BITMAP +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +0000 +0000 +0700 +0F80 +0780 +0700 +0600 +0C00 +0800 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 25 0 0 +BITMAP +0181C0 +00C380 +00EF00 +007E00 +007C00 +000000 +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +0607 +031C +03B8 +01F8 +01F0 +0000 +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 23 0 0 +BITMAP +0E00 +1F00 +1F00 +1F00 +0E00 +0E00 +1C00 +3000 +0000 +0000 +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 24 0 -5 +BITMAP +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1BF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +39F980 +31F980 +31FB80 +70FF80 +70FF80 +70FF00 +607F00 +607F00 +E07F00 +E07F00 +007E00 +007E00 +0FFC00 +0FF800 +1FE000 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 18 0 -5 +BITMAP +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +00FC +00FC +01F8 +03F0 +03C0 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 24 1 0 +BITMAP +01FF80 +01FF80 +000000 +000000 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 18 0 0 +BITMAP +07FE +07FE +0800 +0000 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +008180 +00C380 +00FF00 +007C00 +000000 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +0202 +030E +03FC +00F0 +0000 +0000 +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 22 25 1 0 +BITMAP +003EFC +0078F0 +00E1C0 +01C380 +000000 +000000 +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 20 19 0 0 +BITMAP +00FBF0 +01E3C0 +038700 +070E00 +000000 +000000 +07F800 +1FFC00 +3F3E00 +7E3F00 +7E3F00 +7E3F00 +FC3F00 +FC7F00 +FC7E00 +7C7E00 +7CFC00 +3FF800 +0FE000 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 874 0 +DWIDTH 25 0 +BBX 26 19 1 0 +BITMAP +01FFFFC0 +07FFFFC0 +0FCFE000 +1F8FE000 +3F0FE000 +7F0FE000 +7F0FE000 +FE0FC000 +FE0FFE00 +FE0FFE00 +FE1FC000 +FC1FC000 +FC1F8000 +FC1F8000 +FC3F8000 +7C3F8000 +7E7F8000 +3FFFFC00 +0FFFFC00 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 918 0 +DWIDTH 27 0 +BBX 26 13 0 0 +BITMAP +07F8FF00 +1FFFFF80 +3F3FE7C0 +7E3FC7C0 +7E3FC7C0 +7E3FC7C0 +FC3FFFC0 +FC7F8000 +FC7F8000 +7C7F8F80 +7CFF9F80 +3FFFFF00 +0FE3FC00 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 633 0 +DWIDTH 18 0 +BBX 18 25 0 0 +BITMAP +000F80 +001F00 +001C00 +003800 +007000 +000000 +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8F80 +3F1F80 +3FFE00 +3FFC00 +3F7C00 +7F7E00 +7E7E00 +7E7F00 +7E3F00 +7E3F00 +FE3F80 +FC1F80 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 483 0 +DWIDTH 14 0 +BBX 15 19 0 0 +BITMAP +003E +0078 +00F0 +00E0 +01C0 +0000 +3E3C +3EFC +3FFC +3FFC +7E3C +7E38 +7E38 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 633 0 +DWIDTH 18 0 +BBX 18 28 0 -9 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8F80 +3F1F80 +3FFE00 +3FFC00 +3F7C00 +7F7E00 +7E7E00 +7E7F00 +7E3F00 +7E3F00 +FE3F80 +FC1F80 +000000 +000000 +038000 +03C000 +03C000 +018000 +038000 +030000 +040000 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 483 0 +DWIDTH 14 0 +BBX 14 22 0 -9 +BITMAP +3E3C +3EFC +3FFC +3FFC +7E3C +7E38 +7E38 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +0000 +0000 +7000 +F000 +F000 +7000 +6000 +C000 +8000 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 633 0 +DWIDTH 18 0 +BBX 18 25 0 0 +BITMAP +038180 +01C700 +00CE00 +00FC00 +007800 +000000 +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8F80 +3F1F80 +3FFE00 +3FFC00 +3F7C00 +7F7E00 +7E7E00 +7E7F00 +7E3F00 +7E3F00 +FE3F80 +FC1F80 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 483 0 +DWIDTH 14 0 +BBX 15 19 0 0 +BITMAP +0E0E +071C +0778 +03F0 +01E0 +0000 +3E3C +3EFC +3FFC +3FFC +7E3C +7E38 +7E38 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 18 25 0 0 +BITMAP +0007C0 +000F00 +000E00 +001C00 +003800 +000000 +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 15 19 -1 0 +BITMAP +003E +003C +0078 +00E0 +00C0 +0000 +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 18 25 0 0 +BITMAP +003F00 +003F00 +007380 +00E180 +0181C0 +000000 +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 15 19 -1 0 +BITMAP +01F0 +03F8 +039C +070C +0C0E +0000 +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +ENDCHAR +STARTCHAR uni015E +ENCODING 350 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 17 25 0 -6 +BITMAP +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3F00 +FE7E00 +FFFC00 +3FF000 +0E0000 +1C0000 +3C0000 +3C8000 +3F8000 +1E0000 +ENDCHAR +STARTCHAR uni015F +ENCODING 351 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 14 19 -1 -6 +BITMAP +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +7FF8 +BFE0 +0E00 +1C00 +3C00 +3C80 +3F80 +1E00 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 18 25 0 0 +BITMAP +0181C0 +00C700 +00EE00 +007C00 +007800 +000000 +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 16 19 -1 0 +BITMAP +0607 +031C +03B8 +01F0 +01F0 +0000 +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +ENDCHAR +STARTCHAR uni0162 +ENCODING 354 +SWIDTH 555 0 +DWIDTH 16 0 +BBX 16 25 2 -6 +BITMAP +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +3800 +7000 +F000 +F400 +FE00 +7800 +ENDCHAR +STARTCHAR uni0163 +ENCODING 355 +SWIDTH 393 0 +DWIDTH 11 0 +BBX 11 23 1 -6 +BITMAP +0380 +0780 +0F80 +3F80 +FFE0 +FFE0 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +7E00 +7F80 +3F00 +3800 +F000 +E000 +E400 +FC00 +F800 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 555 0 +DWIDTH 16 0 +BBX 16 25 2 0 +BITMAP +0E06 +071C +0338 +03F0 +01E0 +0000 +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 473 0 +DWIDTH 14 0 +BBX 17 19 1 0 +BITMAP +000700 +000F00 +038F80 +078F00 +0F8700 +3F8E00 +FFF800 +FFE000 +3F0000 +3F0000 +3F0000 +7E0000 +7E0000 +7E0000 +7E0000 +7E0000 +7E0000 +7F8000 +3F0000 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 559 0 +DWIDTH 16 0 +BBX 16 19 2 0 +BITMAP +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +3FF0 +7FF0 +1F80 +1F80 +1F80 +3F80 +3F80 +3F00 +3F00 +3F00 +7F00 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 394 0 +DWIDTH 11 0 +BBX 12 17 0 0 +BITMAP +01C0 +01C0 +07C0 +0FC0 +7FF0 +7FF0 +1F80 +1F80 +1F80 +FFE0 +FFE0 +3F00 +3F00 +3F00 +3F00 +3FC0 +1F80 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +00F0C0 +01FF80 +03FF80 +021F00 +000000 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +01E180 +03FF00 +07FF00 +043E00 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 24 1 0 +BITMAP +01FF80 +01FF80 +000000 +000000 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 18 0 0 +BITMAP +07FF00 +07FE00 +000000 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 0 +BITMAP +018180 +00C300 +00FE00 +007C00 +000000 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +030300 +030E00 +01FC00 +00F000 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 26 1 0 +BITMAP +001C00 +003E00 +003600 +002600 +003E00 +001C00 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +007000 +00F800 +009800 +00F800 +007000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 21 25 1 0 +BITMAP +007EF8 +00F1E0 +00E3C0 +03C700 +000000 +000000 +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 20 19 0 0 +BITMAP +01FBF0 +01E780 +038700 +071E00 +000000 +000000 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 -6 +BITMAP +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +7E0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +3FE000 +0E0000 +1C0000 +3C0000 +3C8000 +3F8000 +1E0000 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 -6 +BITMAP +3F1F80 +3F1F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E3E00 +7E7E00 +FC7E00 +FC7E00 +FCFE00 +7FFC00 +3E7C00 +003800 +00F000 +00E000 +01E400 +01FC00 +00F000 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 944 0 +DWIDTH 27 0 +BBX 27 25 2 0 +BITMAP +0001E000 +0003F000 +00077000 +000E3800 +00181C00 +00000000 +FE0FC0E0 +FE0FE1E0 +FE0FE1C0 +FE1FE1C0 +7F1FE380 +7F1FE380 +7F3FE380 +7F3FE700 +7F3FE700 +7F77EF00 +7F77EE00 +7FF7EE00 +7FE7FC00 +7FE7FC00 +7FC7FC00 +7FC7F800 +7F87F800 +7F87F800 +7F87F000 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 831 0 +DWIDTH 24 0 +BBX 24 19 1 0 +BITMAP +000F80 +001F80 +0039C0 +00E0C0 +000020 +000000 +FC3F0F +FC3F0E +FC3F0E +FE7F9C +7E7F9C +7EFF98 +7EFFB8 +7EDFB0 +7FDFF0 +7FDFF0 +3F8FE0 +3F8FE0 +3F0FC0 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 25 2 0 +BITMAP +007800 +00FC00 +01DC00 +038E00 +060700 +000000 +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 24 -2 -5 +BITMAP +001F00 +003F00 +007380 +01C1C0 +000000 +000000 +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 25 2 0 +BITMAP +038E00 +078F00 +07DF00 +079F00 +038E00 +000000 +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 553 0 +DWIDTH 16 0 +BBX 18 25 -1 0 +BITMAP +000F80 +000F00 +001E00 +003C00 +003000 +000000 +1FFFC0 +1FFFC0 +003FC0 +007F80 +007F00 +00FF00 +01FE00 +01FC00 +03FC00 +07F800 +07F000 +0FF000 +1FE000 +1FC000 +3FC000 +7F8000 +7F0000 +7FFF00 +FFFF00 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 478 0 +DWIDTH 14 0 +BBX 15 19 -1 0 +BITMAP +003E +007C +0070 +00E0 +0000 +0000 +1FFE +3FFE +00FC +01F8 +03F0 +07F0 +0FE0 +1FC0 +3F80 +7F00 +7E00 +FFF8 +FFF8 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 553 0 +DWIDTH 16 0 +BBX 18 25 -1 0 +BITMAP +003C00 +007E00 +007E00 +007E00 +003C00 +000000 +1FFFC0 +1FFFC0 +003FC0 +007F80 +007F00 +00FF00 +01FE00 +01FC00 +03FC00 +07F800 +07F000 +0FF000 +1FE000 +1FC000 +3FC000 +7F8000 +7F8000 +7FFF00 +FFFF00 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 478 0 +DWIDTH 14 0 +BBX 15 19 -1 0 +BITMAP +00F0 +01F8 +01F8 +01F8 +00F0 +0000 +1FFE +3FFE +00FC +01F8 +03F0 +07F0 +0FE0 +1FC0 +3F80 +7F00 +7E00 +FFF8 +FFF8 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 553 0 +DWIDTH 16 0 +BBX 18 25 -1 0 +BITMAP +01C0C0 +00E380 +007700 +007E00 +003C00 +000000 +1FFFC0 +1FFFC0 +003FC0 +007F80 +007F00 +00FF00 +01FE00 +01FC00 +03FC00 +07F800 +07F000 +0FF000 +1FE000 +1FC000 +3FC000 +7F8000 +7F8000 +7FFF00 +FFFF00 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 478 0 +DWIDTH 14 0 +BBX 16 19 -1 0 +BITMAP +0707 +039E +03FC +01F8 +0000 +0000 +1FFE +3FFE +00FC +01F8 +03F0 +07F0 +0FE0 +1FC0 +3F80 +7F00 +7E00 +FFF8 +FFF8 +ENDCHAR +STARTCHAR Schwa +ENCODING 399 +SWIDTH 646 0 +DWIDTH 19 0 +BBX 18 19 0 0 +BITMAP +03FC00 +0FFF00 +1FCF80 +1F8FC0 +1F0FC0 +1F0FC0 +3F0FC0 +000FC0 +000FC0 +7FFFC0 +7FFFC0 +7E1FC0 +FE1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FE000 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 507 0 +DWIDTH 15 0 +BBX 20 25 -3 -5 +BITMAP +0007F0 +001FF0 +003FE0 +007E00 +00FC00 +00FC00 +00FC00 +07FF80 +07FF00 +01F800 +01F800 +01F800 +01F800 +03F000 +03F000 +03F000 +03F000 +03E000 +07E000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +F80000 +ENDCHAR +STARTCHAR uni01C4 +ENCODING 452 +SWIDTH 1188 0 +DWIDTH 34 0 +BBX 35 25 0 0 +BITMAP +000001C0C0 +000000E380 +0000007700 +0000007E00 +0000003C00 +0000000000 +0FFE07FFE0 +0FFF87FFE0 +1FCFC00FE0 +1F87C01FC0 +1F87E03FC0 +1F87E03F80 +1F87E07F80 +3F8FE0FF00 +3F0FE0FE00 +3F0FE1FE00 +3F0FE3FC00 +3F0FC7F800 +7F1FC7F800 +7E1FCFF000 +7E1F9FE000 +7E3F1FE000 +7E7E3FC000 +FFFC3FFF80 +FFF03FFF80 +ENDCHAR +STARTCHAR uni01C5 +ENCODING 453 +SWIDTH 1131 0 +DWIDTH 33 0 +BBX 33 19 0 0 +BITMAP +0FFE038380 +0FFF818E00 +1FCFC1DC00 +1F87C0F800 +1F87E00000 +1F87E00000 +1F87E7FF80 +3F8FEFFF80 +3F0FE03F00 +3F0FE07E00 +3F0FE0FC00 +3F0FC1FC00 +7F1FC3F800 +7E1FC7F000 +7E1F8FE000 +7E3F1FC000 +7E7E1F8000 +FFFC3FFE00 +FFF03FFE00 +ENDCHAR +STARTCHAR uni01C6 +ENCODING 454 +SWIDTH 1063 0 +DWIDTH 31 0 +BBX 31 20 0 0 +BITMAP +000FC000 +000FCE0E +000FC638 +001F8778 +001F83F0 +001F83E0 +001F8000 +0FBF1FFE +1FFF3FFE +3FFF00FC +7E3F01F8 +7E3F03F0 +7E7E07F0 +FC7E0FE0 +FC7E1FC0 +FC7E3F80 +FCFE7F00 +FFFC7E00 +7F7CFFF8 +3C7CFFF8 +ENDCHAR +STARTCHAR uni01C7 +ENCODING 455 +SWIDTH 1069 0 +DWIDTH 31 0 +BBX 32 19 0 0 +BITMAP +0FC0007F +0FC0007F +1FC0007E +1F80007E +1F80007E +1F8000FE +1F8000FE +3F8000FC +3F0000FC +3F0000FC +3F0001FC +3F0001F8 +7F03F1F8 +7E03E1F8 +7E03E1F8 +7E03E3F0 +7E0FF3F0 +FFF1FFC0 +FFF07F00 +ENDCHAR +STARTCHAR uni01C8 +ENCODING 456 +SWIDTH 763 0 +DWIDTH 22 0 +BBX 23 24 0 -5 +BITMAP +0FC03C +0FC07C +1FC07E +1F807C +1F8038 +1F8000 +1F80FC +3F80FC +3F01F8 +3F01F8 +3F01F8 +3F01F8 +7F01F8 +7E03F0 +7E03F0 +7E03F0 +7E0BF0 +FFF3F0 +FFF7E0 +0007E0 +0007E0 +000FC0 +001F80 +001E00 +ENDCHAR +STARTCHAR uni01C9 +ENCODING 457 +SWIDTH 579 0 +DWIDTH 17 0 +BBX 17 25 0 -5 +BITMAP +0FC000 +0F8700 +1F8F80 +1F9F80 +1F9F80 +1F8F00 +3F0000 +3F1F80 +3F3F00 +3F3F00 +3F3F00 +7E3F00 +7E3E00 +7E7E00 +7E7E00 +7E7E00 +FC7E00 +FC7C00 +FCFC00 +FCFC00 +00FC00 +00F800 +01F800 +07E000 +078000 +ENDCHAR +STARTCHAR uni01CA +ENCODING 458 +SWIDTH 1229 0 +DWIDTH 36 0 +BBX 37 19 0 0 +BITMAP +0FE06003F8 +0FE0E003F0 +1FE0E003F0 +1FF0E007F0 +1FF0E007F0 +1BF0C007E0 +1BF1C007E0 +3BF9C007E0 +3BF9C00FE0 +3BF9800FE0 +31F9800FC0 +31FB800FC0 +71FF9F0FC0 +71FF9F1FC0 +70FF3F1F80 +60FF3F1F80 +60FF3F3F00 +E0FF1FFE00 +E07F07F800 +ENDCHAR +STARTCHAR uni01CB +ENCODING 459 +SWIDTH 923 0 +DWIDTH 27 0 +BBX 27 24 0 -5 +BITMAP +0FE061C0 +0FE0E3E0 +1FE0E7E0 +1FF0E7E0 +1FF0E3C0 +1BF0C000 +1BF1C7E0 +3BF1CFC0 +3BF9CFC0 +3BF98FC0 +31F98FC0 +31FB8F80 +71FF9F80 +71FF9F80 +70FF1F80 +60FF1F80 +60FF3F00 +E0FF3F00 +E07F3F00 +00003F00 +00003E00 +00007C00 +0001F800 +0001E000 +ENDCHAR +STARTCHAR uni01CC +ENCODING 460 +SWIDTH 875 0 +DWIDTH 25 0 +BBX 26 24 0 -5 +BITMAP +00000780 +00000FC0 +00000FC0 +00000FC0 +00000780 +00000000 +3E3E1F80 +3EFF1F80 +3FFF1F80 +3F3F1F00 +7E3F3F00 +7E3F3F00 +7E3F3F00 +7E7E3F00 +7E7E3E00 +FC7E7E00 +FC7E7E00 +FC7E7E00 +FCFC7E00 +0000FC00 +0000FC00 +0000F800 +0003F000 +0003C000 +ENDCHAR +STARTCHAR Oogonek +ENCODING 490 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 -6 +BITMAP +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +070000 +1E0000 +1C0000 +1C8000 +1F8000 +1F0000 +ENDCHAR +STARTCHAR oogonek +ENCODING 491 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 -6 +BITMAP +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +1FE0 +0E00 +1C00 +3C00 +3C80 +3F80 +1E00 +ENDCHAR +STARTCHAR uni01F1 +ENCODING 497 +SWIDTH 1194 0 +DWIDTH 35 0 +BBX 36 19 0 0 +BITMAP +0FFE07FFF0 +0FFF87FFE0 +1FCFC00FE0 +1F87C01FE0 +1F87E03FC0 +1F87E03F80 +1F87E07F80 +3F8FE0FF00 +3F0FE0FE00 +3F0FE1FE00 +3F0FE3FC00 +3F0FC3F800 +7F1FC7F800 +7E1FCFF000 +7E1F8FE000 +7E3F1FE000 +7E7E3FC000 +FFFC3FFF80 +FFF03FFF80 +ENDCHAR +STARTCHAR uni01F2 +ENCODING 498 +SWIDTH 1131 0 +DWIDTH 33 0 +BBX 33 19 0 0 +BITMAP +0FFE000000 +0FFF800000 +1FCFC00000 +1F87C00000 +1F87E00000 +1F87E00000 +1F87E7FF80 +3F8FEFFF80 +3F0FE03F00 +3F0FE07E00 +3F0FE0FC00 +3F0FC1FC00 +7F1FC3F800 +7E1FC7F000 +7E1F8FE000 +7E3F1FC000 +7E7E1F8000 +FFFC3FFE00 +FFF03FFE00 +ENDCHAR +STARTCHAR uni01F3 +ENCODING 499 +SWIDTH 1063 0 +DWIDTH 31 0 +BBX 31 20 0 0 +BITMAP +000FC000 +000FC000 +000FC000 +001F8000 +001F8000 +001F8000 +001F8000 +0FBF1FFE +1FFF3FFE +3FFF00FC +7E3F01F8 +7E3F03F0 +7E7E07F0 +FC7E0FE0 +FC7E1FC0 +FC7E3F80 +FCFE7F00 +FFFC7E00 +7F7CFFF8 +3C7CFFF8 +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 602 0 +DWIDTH 17 0 +BBX 18 29 -1 0 +BITMAP +0003C0 +000700 +000700 +000E00 +000C00 +001C00 +003E00 +006600 +003C00 +003C00 +00FE00 +01FE00 +01FE00 +01FE00 +03FF00 +037F00 +077F00 +067F00 +0E7F00 +0E7F00 +1C3F00 +1C3F00 +1FFF00 +3FFF00 +303F80 +703F80 +703F80 +E03F80 +E03F80 +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 552 0 +DWIDTH 16 0 +BBX 16 25 0 0 +BITMAP +001F +003E +0038 +0070 +0060 +0000 +00E0 +01F0 +0130 +01F0 +00E0 +0000 +0FF0 +3FFC +3C7E +3C7E +007E +1FFE +7E7E +FCFC +F8FC +F8FC +FFFC +FEFC +7C78 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 814 0 +DWIDTH 24 0 +BBX 27 25 -2 0 +BITMAP +000007C0 +00000780 +00000F00 +00001C00 +00001800 +00000000 +0003FFE0 +0007FFE0 +000FF800 +001FF000 +001BF000 +0033F000 +0073F000 +0067F000 +00C7FF80 +01C7FF00 +0387E000 +03FFE000 +07FFE000 +0E0FC000 +1C0FC000 +180FC000 +381FC000 +701FFF00 +E01FFE00 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 830 0 +DWIDTH 24 0 +BBX 24 19 0 0 +BITMAP +0003E0 +000780 +000700 +000E00 +000C00 +000000 +0FF3F8 +3FFFFE +3E7F3E +3C7F3F +007E3F +3FFE3E +7CFFFE +F8FC00 +F8FC00 +F8FC7C +FFFEFC +FFBFFC +7C0FF0 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +000FC0 +000F00 +001E00 +003C00 +003000 +000000 +01FEC0 +07FF80 +1FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F1FE0 +7E3FE0 +FE6FE0 +FEEFC0 +FFDFC0 +FF9FC0 +FF1FC0 +FE1F80 +FC3F80 +7C3F00 +7E7E00 +7FFC00 +EFF000 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 20 0 -1 +BITMAP +003E +007C +0070 +00E0 +00C0 +0004 +07FE +1FFE +3F3E +7E3F +7E7F +7EFF +FDBF +FF7F +FF7E +7E7E +7CFC +3FF8 +3FE0 +2000 +ENDCHAR +STARTCHAR uni0218 +ENCODING 536 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 17 27 0 -8 +BITMAP +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +000000 +010000 +078000 +078000 +038000 +030000 +070000 +040000 +ENDCHAR +STARTCHAR uni0219 +ENCODING 537 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 14 21 -1 -8 +BITMAP +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +0000 +0200 +0F00 +0F00 +0700 +0700 +0E00 +0800 +ENDCHAR +STARTCHAR uni021A +ENCODING 538 +SWIDTH 555 0 +DWIDTH 16 0 +BBX 16 28 2 -9 +BITMAP +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +0000 +0000 +1800 +3C00 +3C00 +1C00 +1800 +7000 +2000 +ENDCHAR +STARTCHAR uni021B +ENCODING 539 +SWIDTH 392 0 +DWIDTH 11 0 +BBX 11 25 1 -8 +BITMAP +0380 +0780 +0F80 +1F80 +FFE0 +FFE0 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +7E00 +7F80 +3F00 +0000 +1000 +7800 +7800 +3800 +3000 +7000 +4000 +ENDCHAR +STARTCHAR dotlessj +ENCODING 567 +SWIDTH 294 0 +DWIDTH 9 0 +BBX 11 18 -3 -5 +BITMAP +07E0 +07E0 +07E0 +07E0 +0FC0 +0FC0 +0FC0 +0FC0 +0FC0 +1F80 +1F80 +1F80 +1F80 +1F00 +3F00 +3E00 +FC00 +F000 +ENDCHAR +STARTCHAR schwa +ENCODING 601 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 13 0 0 +BITMAP +0FF0 +3FF8 +3E7C +7C7E +007E +007E +7FFE +F87E +F8FC +F8FC +F9F8 +7FF0 +3FC0 +ENDCHAR +STARTCHAR apostrophe +ENCODING 700 +SWIDTH 328 0 +DWIDTH 10 0 +BBX 5 7 4 12 +BITMAP +70 +F8 +F8 +78 +70 +E0 +C0 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 430 0 +DWIDTH 12 0 +BBX 11 5 1 14 +BITMAP +1F80 +1F80 +39C0 +70C0 +C060 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 430 0 +DWIDTH 12 0 +BBX 11 5 1 14 +BITMAP +C0E0 +6380 +7700 +3E00 +3E00 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 382 0 +DWIDTH 11 0 +BBX 9 4 1 14 +BITMAP +8180 +C380 +FF00 +7C00 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 257 0 +DWIDTH 7 0 +BBX 6 5 1 14 +BITMAP +78 +FC +FC +F8 +70 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 257 0 +DWIDTH 7 0 +BBX 5 6 1 13 +BITMAP +70 +F8 +C8 +D8 +F8 +70 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 251 0 +DWIDTH 7 0 +BBX 7 7 0 -6 +BITMAP +06 +1C +78 +70 +F2 +7E +78 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 462 0 +DWIDTH 13 0 +BBX 12 4 1 15 +BITMAP +3C30 +7FE0 +FFE0 +8780 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 592 0 +DWIDTH 17 0 +BBX 15 4 1 15 +BITMAP +1F3E +3C78 +78F0 +E1C0 +ENDCHAR +STARTCHAR uni03BC +ENCODING 956 +SWIDTH 589 0 +DWIDTH 17 0 +BBX 18 18 -1 -5 +BITMAP +1F8FC0 +1F8FC0 +1F9F80 +1F9F80 +3F1F80 +3F1F80 +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7FFF00 +7FBF00 +7BBE00 +780000 +F80000 +F80000 +F80000 +F80000 +ENDCHAR +STARTCHAR Ddotbelow +ENCODING 7692 +SWIDTH 662 0 +DWIDTH 19 0 +BBX 19 25 0 -6 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F87C0 +1F87E0 +1F87E0 +1F87E0 +3F8FE0 +3F0FE0 +3F0FE0 +3F0FE0 +3F0FC0 +7F1FC0 +7E1FC0 +7E1F80 +7E3F00 +7E7E00 +FFFC00 +FFF000 +000000 +000000 +070000 +0F8000 +0F0000 +0F0000 +ENDCHAR +STARTCHAR ddotbelow +ENCODING 7693 +SWIDTH 577 0 +DWIDTH 17 0 +BBX 18 26 0 -6 +BITMAP +000FC0 +000FC0 +000FC0 +001F80 +001F80 +001F80 +001F80 +0F9F00 +1FFF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +3E7C00 +000000 +000000 +078000 +0F8000 +0F8000 +070000 +ENDCHAR +STARTCHAR Hdotbelow +ENCODING 7716 +SWIDTH 666 0 +DWIDTH 19 0 +BBX 20 25 0 -6 +BITMAP +0FC3F0 +0FC7F0 +1FC7F0 +1FC7E0 +1F87E0 +1F87E0 +1F8FE0 +3F8FE0 +3F8FC0 +3FFFC0 +3FFFC0 +3F1FC0 +7F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F80 +FE3F00 +FC3F00 +000000 +000000 +078000 +078000 +078000 +078000 +ENDCHAR +STARTCHAR hdotbelow +ENCODING 7717 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 26 0 -6 +BITMAP +0FC0 +0F80 +1F80 +1F80 +1F80 +1F80 +3F00 +3F1E +3F7F +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +0000 +0000 +0700 +0F80 +0F80 +0F00 +ENDCHAR +STARTCHAR Ndotaccent +ENCODING 7748 +SWIDTH 644 0 +DWIDTH 19 0 +BBX 19 25 0 0 +BITMAP +001E00 +003F00 +003F00 +003E00 +001C00 +000000 +0FE060 +0FE0E0 +1FE0E0 +1FF0E0 +1FF0E0 +1FF0C0 +1BF1C0 +3BF1C0 +3BF9C0 +3BF980 +31F980 +31FB80 +71FF80 +71FF80 +70FF00 +60FF00 +60FF00 +E0FF00 +E07F00 +ENDCHAR +STARTCHAR ndotaccent +ENCODING 7749 +SWIDTH 586 0 +DWIDTH 17 0 +BBX 16 19 0 0 +BITMAP +00F0 +01F8 +01F8 +01F8 +00F0 +0000 +3E3E +3EFF +3FFF +3F3F +7E3F +7E3F +7E3F +7E7E +7E7E +FC7E +FC7E +FC7E +FCFC +ENDCHAR +STARTCHAR Rdotbelow +ENCODING 7770 +SWIDTH 633 0 +DWIDTH 18 0 +BBX 18 25 0 -6 +BITMAP +0FFE00 +0FFF80 +1FCFC0 +1F8FC0 +1F8FC0 +1F8FC0 +1F8FC0 +3F8F80 +3F1F80 +3FFE00 +3FFC00 +3F7C00 +7F7E00 +7E7E00 +7E7F00 +7E3F00 +7E3F00 +FE3F80 +FC1F80 +000000 +000000 +03C000 +07C000 +07C000 +038000 +ENDCHAR +STARTCHAR rdotbelow +ENCODING 7771 +SWIDTH 483 0 +DWIDTH 14 0 +BBX 14 19 0 -6 +BITMAP +3E3C +3EFC +3FFC +3FFC +7E3C +7E38 +7E38 +7E00 +7E00 +FC00 +FC00 +FC00 +FC00 +0000 +0000 +7000 +F800 +F000 +F000 +ENDCHAR +STARTCHAR Sdotbelow +ENCODING 7778 +SWIDTH 587 0 +DWIDTH 17 0 +BBX 17 25 0 -6 +BITMAP +00FE00 +07FF80 +0F9F80 +1F1F80 +3F0F80 +3F1F00 +3F8000 +3FF000 +3FFC00 +1FFE00 +0FFF00 +01FF00 +007F00 +7C3F00 +FC3F00 +FC3E00 +FE7E00 +FFFC00 +3FE000 +000000 +000000 +070000 +0F0000 +0F0000 +0F0000 +ENDCHAR +STARTCHAR sdotbelow +ENCODING 7779 +SWIDTH 487 0 +DWIDTH 14 0 +BBX 14 19 -1 -6 +BITMAP +07F8 +1FFC +3F3C +3F3C +3F00 +3FE0 +1FF8 +0FFC +01FC +78FC +78FC +FFF8 +3FE0 +0000 +0000 +0E00 +1F00 +1F00 +0E00 +ENDCHAR +STARTCHAR Tdotbelow +ENCODING 7788 +SWIDTH 555 0 +DWIDTH 16 0 +BBX 16 25 2 -6 +BITMAP +7FFF +FFFF +07E0 +0FE0 +0FE0 +0FC0 +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +0000 +0000 +3800 +7C00 +7C00 +3800 +ENDCHAR +STARTCHAR tdotbelow +ENCODING 7789 +SWIDTH 392 0 +DWIDTH 11 0 +BBX 11 23 1 -6 +BITMAP +0380 +0780 +0F80 +1F80 +FFE0 +FFE0 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +7E00 +7E00 +7F80 +3F00 +0000 +0000 +3C00 +7C00 +7C00 +3800 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 944 0 +DWIDTH 27 0 +BBX 27 25 2 0 +BITMAP +007C0000 +001E0000 +000F0000 +00078000 +00018000 +00000000 +FE0FC0E0 +FE0FE1E0 +FE0FE1C0 +FE1FE1C0 +7F1FE380 +7F1FE380 +7F3FE380 +7F3FE700 +7F3FE700 +7F77EF00 +7F77EE00 +7FF7EE00 +7FE7FC00 +7FE7FC00 +7FC7FC00 +7FC7F800 +7F87F800 +7F87F800 +7F87F000 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 831 0 +DWIDTH 24 0 +BBX 24 19 1 0 +BITMAP +01F000 +007800 +003C00 +001E00 +000000 +000000 +FC3F0F +FC3F0E +FC3F0E +FE7F9C +7E7F9C +7EFF98 +7EFFB8 +7EDFB0 +7FDFF0 +7FDFF0 +3F8FE0 +3F8FE0 +3F0FC0 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 944 0 +DWIDTH 27 0 +BBX 27 25 2 0 +BITMAP +00007C00 +0000F800 +0000E000 +0001C000 +00038000 +00000000 +FE0FC0E0 +FE0FE1E0 +FE0FE1C0 +FE1FE1C0 +7F1FE380 +7F1FE380 +7F3FE380 +7F3FE700 +7F3FE700 +7F77EF00 +7F77EE00 +7FF7EE00 +7FE7FC00 +7FE7FC00 +7FC7FC00 +7FC7F800 +7F87F800 +7F87F800 +7F87F000 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 831 0 +DWIDTH 24 0 +BBX 24 19 1 0 +BITMAP +0003F0 +0003C0 +000780 +000E00 +000000 +000000 +FC3F0F +FC3F0E +FC3F0E +FE7F9C +7E7F9C +7EFF98 +7EFFB8 +7EDFB0 +7FDFF0 +7FDFF0 +3F8FE0 +3F8FE0 +3F0FC0 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 944 0 +DWIDTH 27 0 +BBX 27 25 2 0 +BITMAP +000E3800 +001E7C00 +001F7C00 +001E7800 +000E3800 +00000000 +FE0FC0E0 +FE0FE1E0 +FE0FE1C0 +FE1FE1C0 +7F1FE380 +7F1FE380 +7F3FE380 +7F3FE700 +7F3FE700 +7F77EF00 +7F77EE00 +7FF7EE00 +7FE7FC00 +7FE7FC00 +7FC7FC00 +7FC7F800 +7F87F800 +7F87F800 +7F87F000 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 831 0 +DWIDTH 24 0 +BBX 24 19 1 0 +BITMAP +0038E0 +0079E0 +0079E0 +0079E0 +0070C0 +000000 +FC3F0F +FC3F0E +FC3F0E +FE7F9C +7E7F9C +7EFF98 +7EFFB8 +7EDFB0 +7FDFF0 +7FDFF0 +3F8FE0 +3F8FE0 +3F0FC0 +ENDCHAR +STARTCHAR Zdotbelow +ENCODING 7826 +SWIDTH 553 0 +DWIDTH 16 0 +BBX 18 25 -1 -6 +BITMAP +1FFFC0 +1FFFC0 +003FC0 +007F80 +007F00 +00FF00 +01FE00 +01FC00 +03FC00 +07F800 +07F000 +0FF000 +1FE000 +1FC000 +3FC000 +7F8000 +7F8000 +7FFF00 +FFFF00 +000000 +000000 +038000 +07C000 +07C000 +038000 +ENDCHAR +STARTCHAR zdotbelow +ENCODING 7827 +SWIDTH 478 0 +DWIDTH 14 0 +BBX 15 19 -1 -6 +BITMAP +1FFE +3FFE +00FC +01F8 +03F0 +07F0 +0FE0 +1FC0 +3F80 +7F00 +7E00 +FFF8 +FFF8 +0000 +0000 +0F00 +0F00 +1F00 +0E00 +ENDCHAR +STARTCHAR Edotbelow +ENCODING 7864 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 16 25 0 -6 +BITMAP +0FFF +0FFF +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3FF8 +3FF8 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FFF8 +FFF0 +0000 +0000 +0E00 +1F00 +1F00 +0E00 +ENDCHAR +STARTCHAR edotbelow +ENCODING 7865 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 15 19 0 -6 +BITMAP +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +0000 +0000 +0700 +0F80 +0F80 +0F00 +ENDCHAR +STARTCHAR Etilde +ENCODING 7868 +SWIDTH 503 0 +DWIDTH 15 0 +BBX 17 25 0 0 +BITMAP +01E180 +03FF00 +07FE00 +043C00 +000000 +000000 +0FFF00 +0FFF00 +1FC000 +1F8000 +1F8000 +1F8000 +1F8000 +3F8000 +3FF800 +3FF800 +3F0000 +3F0000 +7F0000 +7E0000 +7E0000 +7E0000 +7E0000 +FFF800 +FFF000 +ENDCHAR +STARTCHAR etilde +ENCODING 7869 +SWIDTH 547 0 +DWIDTH 16 0 +BBX 16 19 0 0 +BITMAP +03E3 +07FF +0FFE +043C +0000 +0000 +03F8 +1FFE +3F3E +7E3E +7E3E +7E3E +FFFE +FC00 +FC00 +7C7C +7CFC +3FFC +0FE0 +ENDCHAR +STARTCHAR Idotbelow +ENCODING 7882 +SWIDTH 326 0 +DWIDTH 9 0 +BBX 10 25 0 -6 +BITMAP +0FC0 +0FC0 +1FC0 +1F80 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +7F00 +7E00 +7E00 +7E00 +7E00 +FE00 +FC00 +0000 +0000 +7000 +F800 +F800 +F000 +ENDCHAR +STARTCHAR idotbelow +ENCODING 7883 +SWIDTH 293 0 +DWIDTH 9 0 +BBX 10 25 -1 -6 +BITMAP +0780 +0FC0 +0FC0 +0FC0 +0780 +0000 +1F80 +1F80 +1F80 +1F80 +3F00 +3F00 +3F00 +3F00 +3F00 +7E00 +7E00 +7E00 +7E00 +0000 +0000 +7800 +7800 +F800 +7000 +ENDCHAR +STARTCHAR Odotbelow +ENCODING 7884 +SWIDTH 685 0 +DWIDTH 20 0 +BBX 19 25 1 -6 +BITMAP +01FC00 +07FF00 +0FCF80 +1F8FC0 +3F0FC0 +7F0FC0 +7F0FE0 +7E0FE0 +FE0FE0 +FE0FC0 +FE1FC0 +FE1FC0 +FC1FC0 +FC1F80 +FC3F80 +7C3F00 +7E7E00 +3FFC00 +0FF000 +000000 +000000 +070000 +0F8000 +0F8000 +070000 +ENDCHAR +STARTCHAR odotbelow +ENCODING 7885 +SWIDTH 575 0 +DWIDTH 17 0 +BBX 16 19 0 -6 +BITMAP +07F8 +1FFC +3F3E +7E3F +7E3F +7E3F +FC3F +FC7F +FC7E +7C7E +7CFC +3FF8 +0FE0 +0000 +0000 +0F00 +0F00 +1F00 +0E00 +ENDCHAR +STARTCHAR Udotbelow +ENCODING 7908 +SWIDTH 630 0 +DWIDTH 18 0 +BBX 18 25 1 -6 +BITMAP +1F81C0 +3F81C0 +3F81C0 +3F8180 +3F0180 +3F0380 +7F0380 +7F0380 +7F0300 +7E0300 +FE0700 +FE0700 +FE0700 +FC0600 +FC0E00 +FE0C00 +FFFC00 +7FF800 +1FC000 +000000 +000000 +070000 +0F8000 +0F0000 +0F0000 +ENDCHAR +STARTCHAR udotbelow +ENCODING 7909 +SWIDTH 585 0 +DWIDTH 17 0 +BBX 17 19 0 -6 +BITMAP +3F1F80 +3F3F00 +3F3F00 +7E3F00 +7E3F00 +7E3F00 +7E7E00 +7E7E00 +FC7E00 +FC7E00 +FFFE00 +7F7C00 +3C7C00 +000000 +000000 +070000 +0F8000 +0F8000 +070000 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 25 2 0 +BITMAP +1F0000 +078000 +03C000 +01E000 +006000 +000000 +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 24 -2 -5 +BITMAP +03E000 +01F000 +007000 +003800 +000400 +000000 +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR Ytilde +ENCODING 7928 +SWIDTH 570 0 +DWIDTH 17 0 +BBX 17 25 2 0 +BITMAP +01E180 +03FF00 +07FF00 +043E00 +000000 +000000 +FE0780 +7F0700 +7F0E00 +7F0C00 +7F1C00 +3FB800 +3FB800 +3FF000 +3FE000 +1FE000 +1FC000 +1F8000 +1F8000 +1F8000 +3F8000 +3F8000 +3F0000 +3F0000 +3F0000 +ENDCHAR +STARTCHAR ytilde +ENCODING 7929 +SWIDTH 517 0 +DWIDTH 15 0 +BBX 18 24 -2 -5 +BITMAP +00F0C0 +01FF80 +03FF80 +021F00 +000000 +000000 +1F83C0 +1F8380 +1FC700 +0FC700 +0FCE00 +0FCE00 +0FDC00 +0FDC00 +0FF800 +0FF800 +07F000 +07F000 +07E000 +07E000 +07C000 +0F8000 +FF0000 +FC0000 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 600 0 +DWIDTH 17 0 +BBX 15 3 1 5 +BITMAP +FFFE +FFFE +FFFC +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 874 0 +DWIDTH 25 0 +BBX 23 3 1 5 +BITMAP +FFFFFE +FFFFFE +FFFFFC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 267 0 +DWIDTH 8 0 +BBX 7 9 2 11 +BITMAP +0E +1C +38 +78 +78 +FC +FC +FC +78 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 264 0 +DWIDTH 8 0 +BBX 7 9 2 11 +BITMAP +3C +7E +7E +7E +3C +3C +38 +70 +E0 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 275 0 +DWIDTH 8 0 +BBX 7 9 -1 -4 +BITMAP +3C +7E +7E +7E +3C +3C +38 +70 +E0 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 532 0 +DWIDTH 15 0 +BBX 14 9 2 11 +BITMAP +0E0C +1C1C +3838 +7870 +78F0 +FCF8 +FCFC +FCF8 +7870 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 528 0 +DWIDTH 15 0 +BBX 14 9 2 11 +BITMAP +3C38 +7E7C +7E7C +7E7C +3C3C +3C3C +3838 +7070 +E0C0 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 539 0 +DWIDTH 16 0 +BBX 14 9 -1 -4 +BITMAP +3C38 +7E7C +7E7C +7E7C +3C3C +3C3C +3838 +7070 +E0C0 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 365 0 +DWIDTH 11 0 +BBX 10 25 1 -5 +BITMAP +0700 +0700 +0700 +0700 +0600 +0E00 +0E00 +7FC0 +FFC0 +0C00 +1C00 +1C00 +1C00 +1C00 +1800 +3800 +3800 +3800 +3000 +7000 +7000 +7000 +7000 +6000 +E000 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 374 0 +DWIDTH 11 0 +BBX 11 25 0 -5 +BITMAP +0380 +0380 +0380 +0380 +0380 +0700 +0700 +3FE0 +3FE0 +0600 +0E00 +0E00 +0E00 +0E00 +0C00 +1C00 +FF80 +FF80 +1C00 +1800 +3800 +3800 +3800 +3800 +7000 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 348 0 +DWIDTH 10 0 +BBX 7 7 2 7 +BITMAP +38 +7C +FE +FE +FE +7E +38 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 910 0 +DWIDTH 26 0 +BBX 24 5 0 0 +BITMAP +783C0E +FC7E1F +FC7E3F +FC7E1F +783C1E +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 1054 0 +DWIDTH 31 0 +BBX 27 19 2 0 +BITMAP +3E070000 +770E0000 +770E0000 +E71C0000 +E7380000 +EF380000 +7E700000 +00700000 +00E00000 +01C00000 +01C00000 +039F07C0 +07BF8EE0 +073B9EE0 +0E7B9CE0 +0E739CE0 +1C739DE0 +38371DC0 +783E0F80 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 324 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0380 +0700 +0F00 +1E00 +3C00 +7800 +F000 +7800 +7800 +3C00 +3C00 +1E00 +1E00 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 322 0 +DWIDTH 9 0 +BBX 10 13 -1 0 +BITMAP +1C00 +1E00 +0E00 +0F00 +0700 +0780 +07C0 +0780 +0F00 +1E00 +3C00 +3800 +F000 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 100 0 +DWIDTH 3 0 +BBX 15 19 -6 0 +BITMAP +000E +001C +001C +0038 +0070 +0070 +00E0 +00E0 +01C0 +0380 +0380 +0700 +0F00 +0E00 +1C00 +1C00 +3800 +7800 +F000 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 309 0 +DWIDTH 9 0 +BBX 8 7 2 12 +BITMAP +3E +77 +F7 +E7 +E7 +EE +7C +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 270 0 +DWIDTH 8 0 +BBX 8 8 1 11 +BITMAP +0F +1E +2E +6E +7F +9C +1C +1C +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 262 0 +DWIDTH 8 0 +BBX 7 7 2 12 +BITMAP +7E +7C +60 +FC +0E +DC +F8 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 281 0 +DWIDTH 8 0 +BBX 7 7 2 12 +BITMAP +3E +76 +E8 +FE +EE +EE +7C +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 231 0 +DWIDTH 7 0 +BBX 7 8 2 11 +BITMAP +FE +FC +18 +30 +70 +70 +70 +70 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 276 0 +DWIDTH 8 0 +BBX 7 7 2 12 +BITMAP +7C +EE +7E +FC +EE +EE +78 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 281 0 +DWIDTH 8 0 +BBX 7 7 2 12 +BITMAP +3C +E6 +EE +FE +0E +EC +F8 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 309 0 +DWIDTH 9 0 +BBX 8 8 0 0 +BITMAP +3C +76 +E7 +E7 +EF +EE +EE +78 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 184 0 +DWIDTH 5 0 +BBX 5 8 0 0 +BITMAP +38 +F0 +F0 +70 +70 +E0 +E0 +E0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 286 0 +DWIDTH 8 0 +BBX 8 8 -1 0 +BITMAP +3E +77 +67 +07 +0E +1C +FF +FE +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 282 0 +DWIDTH 8 0 +BBX 8 8 -1 0 +BITMAP +3E +77 +07 +0E +0E +6F +EE +7C +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 270 0 +DWIDTH 8 0 +BBX 8 8 -1 0 +BITMAP +0E +1E +3E +6E +4F +FE +1C +1C +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 262 0 +DWIDTH 8 0 +BBX 7 8 -1 0 +BITMAP +3E +7E +60 +7E +0E +EE +EE +7C +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 281 0 +DWIDTH 8 0 +BBX 7 8 0 0 +BITMAP +3E +6E +E0 +FC +EE +CE +DC +78 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 232 0 +DWIDTH 7 0 +BBX 7 8 0 0 +BITMAP +FE +FC +18 +30 +70 +60 +E0 +E0 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 277 0 +DWIDTH 8 0 +BBX 8 8 -1 0 +BITMAP +3E +77 +77 +3E +7E +E7 +6E +7C +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 281 0 +DWIDTH 8 0 +BBX 7 8 0 0 +BITMAP +7C +EE +EE +EE +FE +0C +DC +F8 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 589 0 +DWIDTH 17 0 +BBX 17 19 1 0 +BITMAP +007F80 +01FF00 +03F000 +07E000 +0FC000 +0FC000 +7FF800 +7FF800 +1F8000 +3F8000 +3F8000 +FFF000 +FFF000 +1F8000 +1F8000 +1F8000 +0F8400 +0FFC00 +03F800 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 704 0 +DWIDTH 20 0 +BBX 18 7 3 12 +BITMAP +7EF3C0 +FEF3C0 +39F7C0 +39F5C0 +39FF80 +717B80 +737B80 +ENDCHAR +STARTCHAR onethird +ENCODING 8531 +SWIDTH 659 0 +DWIDTH 19 0 +BBX 15 19 2 0 +BITMAP +181C +7818 +F838 +3870 +7070 +70E0 +71C0 +71C0 +0380 +0380 +0700 +0E3E +0E76 +1C66 +3C1C +381E +70EE +70EE +E0FC +ENDCHAR +STARTCHAR twothirds +ENCODING 8532 +SWIDTH 743 0 +DWIDTH 22 0 +BBX 18 19 2 0 +BITMAP +3E0380 +770700 +670E00 +0F0E00 +0E1C00 +381800 +FE3800 +FE7000 +007000 +00E000 +01C000 +01CF80 +039DC0 +079DC0 +070380 +0E0380 +0E1BC0 +1C3B80 +3C1F00 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 661 0 +DWIDTH 19 0 +BBX 15 19 2 0 +BITMAP +181C +781C +7838 +3870 +7070 +70E0 +71C0 +71C0 +0380 +0380 +0700 +0E3E +0E76 +1C66 +3C7E +387E +70EE +70EE +E07C +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 723 0 +DWIDTH 21 0 +BBX 17 19 2 0 +BITMAP +3E0700 +770E00 +060E00 +1C1C00 +EE1800 +EE3800 +FC7000 +007000 +00E000 +01C000 +01C000 +038F00 +079D80 +071B80 +0E1F80 +0E1F80 +1C3B80 +3C3B80 +781F00 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 712 0 +DWIDTH 21 0 +BBX 17 19 2 0 +BITMAP +7E0700 +7E0E00 +601C00 +7E1C00 +0E3800 +EE3800 +F87000 +00E000 +00E000 +01C000 +038000 +038F00 +071B80 +073B80 +0E1F00 +1C3F00 +1C3B80 +383300 +783E00 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 683 0 +DWIDTH 20 0 +BBX 16 19 2 0 +BITMAP +7E0E +7E1C +1C1C +1838 +3070 +7070 +70E0 +71C0 +01C0 +0380 +0380 +071E +0E37 +0E37 +1C3E +3C7F +3877 +7077 +F03C +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 501 0 +DWIDTH 15 0 +BBX 13 3 1 8 +BITMAP +7FF8 +7FF8 +FFF0 +ENDCHAR +STARTCHAR uni2215 +ENCODING 8725 +SWIDTH 370 0 +DWIDTH 11 0 +BBX 15 19 -2 0 +BITMAP +000E +001C +001C +0038 +0038 +0070 +00E0 +00E0 +01C0 +0380 +0380 +0700 +0F00 +0E00 +1C00 +1C00 +3800 +7000 +F000 +ENDCHAR +STARTCHAR uni2219 +ENCODING 8729 +SWIDTH 273 0 +DWIDTH 8 0 +BBX 6 5 1 7 +BITMAP +38 +7C +FC +FC +78 +ENDCHAR +STARTCHAR commaaccent +ENCODING 63171 +SWIDTH 227 0 +DWIDTH 7 0 +BBX 5 6 1 -8 +BITMAP +70 +F8 +70 +70 +60 +C0 +ENDCHAR +STARTCHAR f_f +ENCODING 64256 +SWIDTH 734 0 +DWIDTH 21 0 +BBX 24 20 1 0 +BITMAP +00007F +01FFFF +07FFFF +0FFFE0 +1F87E0 +1F87C0 +1F8FC0 +FFFFF8 +FFFFF8 +3F0FC0 +3F1F80 +3F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +FC3F00 +FC3F00 +FC3F00 +ENDCHAR +STARTCHAR f_i +ENCODING 64257 +SWIDTH 665 0 +DWIDTH 19 0 +BBX 18 20 1 0 +BITMAP +00FE00 +03FF80 +07FF80 +0FC100 +1F8000 +1F8000 +1F8000 +FFFFC0 +FFFFC0 +3F0FC0 +3F1F80 +3F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +FC3F00 +FC3F00 +FC7F00 +ENDCHAR +STARTCHAR f_l +ENCODING 64258 +SWIDTH 667 0 +DWIDTH 19 0 +BBX 20 20 1 0 +BITMAP +00FE10 +03FFE0 +0FFFE0 +0FC7E0 +1F87E0 +1F87E0 +1F8FC0 +FFEFC0 +FFEFC0 +3F0FC0 +3F0FC0 +3F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +FC3F00 +FC3F00 +FC3F00 +ENDCHAR +STARTCHAR f_f_i +ENCODING 64259 +SWIDTH 996 0 +DWIDTH 29 0 +BBX 28 20 1 0 +BITMAP +00003F80 +01FEFFE0 +07FFFFC0 +0FFFF0C0 +1F87E000 +1F87C000 +1F8FC000 +FFFFFFF0 +FFFFFFE0 +3F0FC7E0 +3F1F87E0 +3F1F87E0 +7E1F87E0 +7E1F8FC0 +7E1F8FC0 +7E3F0FC0 +7E3F0FC0 +FC3F0FC0 +FC3F1F80 +FC3F1F80 +ENDCHAR +STARTCHAR f_f_l +ENCODING 64260 +SWIDTH 998 0 +DWIDTH 29 0 +BBX 29 20 1 0 +BITMAP +00003F00 +01FEFFF8 +07FFFFF8 +0FFFE1F8 +1F87E3F0 +1F87C3F0 +1F8FC3F0 +FFFFFBF0 +FFFFF3F0 +3F0FC7E0 +3F1F87E0 +3F1F87E0 +7E1F87E0 +7E1F87C0 +7E1F8FC0 +7E3F0FC0 +7E3F0FC0 +FC3F0FC0 +FC3F1F80 +FC3F1F80 +ENDCHAR +STARTCHAR s_t +ENCODING 64262 +SWIDTH 862 0 +DWIDTH 25 0 +BBX 26 20 -1 0 +BITMAP +0001FC00 +000FFF00 +001E0F80 +00380780 +00300780 +00300F00 +00383F00 +07FCFFC0 +1FFCFFC0 +3F3C3F00 +3F3C7E00 +3F007E00 +3FE07E00 +1FF87E00 +0FFC7E00 +01FCFC00 +78FCFC00 +78FCFC00 +FFF87F00 +3FE03F00 +ENDCHAR +STARTCHAR .notdef +ENCODING -1 +SWIDTH 227 0 +DWIDTH 7 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR NULL +ENCODING -1 +SWIDTH 191 0 +DWIDTH 6 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR nonmarkingreturn +ENCODING -1 +SWIDTH 191 0 +DWIDTH 6 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR a.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 13 0 0 +BITMAP +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR aacute.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +001F80 +001E00 +003C00 +003800 +007000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR abreve.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +008100 +018300 +01FE00 +00FC00 +003000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR acircumflex.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +007C00 +00FC00 +01EE00 +038700 +070300 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR adieresis.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +008200 +03CF00 +03CF00 +03CF00 +018600 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR agrave.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +0F8000 +03C000 +01E000 +00E000 +007000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR amacron.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 18 0 0 +BITMAP +03FF80 +03FF00 +03FF00 +000000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR aogonek.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 -6 +BITMAP +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +007800 +00F000 +01E000 +01E400 +01FC00 +00F000 +ENDCHAR +STARTCHAR aring.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 17 19 0 0 +BITMAP +003800 +007C00 +004C00 +007C00 +003800 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR atilde.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 17 0 +BBX 18 19 0 0 +BITMAP +00F0C0 +01FF80 +03FF80 +021F00 +000000 +000000 +0F9F80 +1FDF00 +3FFF00 +7E3F00 +7E3F00 +7E7E00 +FC7E00 +FC7E00 +FC7E00 +FCFE00 +FFFC00 +7F7C00 +7E7C00 +ENDCHAR +STARTCHAR c_h +ENCODING -1 +SWIDTH 1094 0 +DWIDTH 32 0 +BBX 31 20 0 0 +BITMAP +0007FF00 +001FFF00 +003E3F00 +00383F00 +00303F00 +00307E00 +00307E00 +03F87E78 +1FFE7EFC +3F3E7FFE +7E3CFE7E +7E3CFC7E +7E00FC7E +FC00FCFC +FC00FCFC +FC7DF8FC +7C79F8FC +7CF9F8F8 +3FF9F9F8 +1FF3F1F8 +ENDCHAR +STARTCHAR c_k +ENCODING -1 +SWIDTH 1106 0 +DWIDTH 32 0 +BBX 32 20 0 0 +BITMAP +0007FF00 +001FFF00 +003E3F00 +00383F00 +00303F00 +00307E00 +00307E00 +03F87E0F +1FFE7E1E +3F3E7E3C +7E3CFC78 +7E3CFDE0 +7E00FFE0 +FC00FFE0 +FC00FBF0 +FC7DFBF8 +7C79F9F8 +7CF9F9FC +3FF9F8FC +1FF3F0FE +ENDCHAR +STARTCHAR c_p +ENCODING -1 +SWIDTH 1092 0 +DWIDTH 32 0 +BBX 31 25 0 -5 +BITMAP +0007FC00 +001FFE00 +003C7E00 +00387E00 +00307E00 +00307E00 +00307E00 +03F87E78 +1FFE7DFC +3F3E7FFE +7E3CFE7E +7E3CFC7E +7E00FC7E +FC00FC7E +FC00FCFC +FC7DF8FC +7C79F8FC +7CF9FFF8 +3FF9FFF8 +1FF1F3F0 +0003F000 +0003F000 +0003F000 +0003F000 +0007E000 +ENDCHAR +STARTCHAR c_t +ENCODING -1 +SWIDTH 915 0 +DWIDTH 27 0 +BBX 27 20 0 0 +BITMAP +0007FE00 +001FFF80 +003E1F80 +003807C0 +00300780 +00300780 +00301F80 +03F8FFE0 +1FFEFFE0 +3F3E3F00 +7E3C3F00 +7E3C3F00 +7E003F00 +FC007E00 +FC007E00 +FC7C7E00 +7C787E00 +7CF87E00 +3FF87F80 +1FF03F00 +ENDCHAR +STARTCHAR e_t +ENCODING -1 +SWIDTH 915 0 +DWIDTH 27 0 +BBX 27 20 0 0 +BITMAP +0007FE00 +001FFF80 +003E1FC0 +003807C0 +00300780 +00300F80 +00301F80 +03F8FFE0 +1FFEFFE0 +3F3E3F00 +7E3E3F00 +7E3E3F00 +7E3E3F00 +FFFE7E00 +FC007E00 +FC007E00 +7C7C7E00 +7CFC7E00 +3FFC7F80 +1FF03F00 +ENDCHAR +STARTCHAR f_b +ENCODING -1 +SWIDTH 959 0 +DWIDTH 28 0 +BBX 26 20 1 0 +BITMAP +01FFF000 +07FFE000 +0FEFE000 +0F87E000 +1F87E000 +1F87C000 +1F8FC000 +FFEFCF00 +FFEFDF80 +3F0FFFC0 +3F0FCFC0 +3F1F8FC0 +3E1F8FC0 +7E1F8FC0 +7E1F8FC0 +7E3F1F80 +7E3F1F80 +FC3FFF80 +FC3EFF00 +FC3E7E00 +ENDCHAR +STARTCHAR f_f_b +ENCODING -1 +SWIDTH 1291 0 +DWIDTH 37 0 +BBX 36 20 1 0 +BITMAP +00307FF800 +03FFFFF800 +07FFF3F800 +0FC7E1F800 +1F87E3F000 +1F87E3F000 +1F8FC3F000 +FFFFFBF3C0 +FFFFF3EFE0 +3F0FC7FFE0 +3F0F87F7F0 +3F1F87E3F0 +3E1F87E3F0 +7E1F87C7E0 +7E1F8FC7E0 +7E1F0FC7E0 +7E3F0FCFE0 +FC3F0FFFC0 +FC3F1FBFC0 +FC3F1F1F00 +ENDCHAR +STARTCHAR f_f_h +ENCODING -1 +SWIDTH 1294 0 +DWIDTH 38 0 +BBX 36 20 1 0 +BITMAP +00307FF800 +03FFFFF800 +07FFF3F800 +0FC7E1F800 +1F87E3F000 +1F87E3F000 +1F8FC3F000 +FFFFFBF3C0 +FFFFF3FFE0 +3F0FC7FFF0 +3F0F87E3F0 +3F1F87E3F0 +3E1F87E7E0 +7E1F87E7E0 +7E1F8FC7E0 +7E1F0FC7E0 +7E3F0FC7C0 +FC3F0FCFC0 +FC3F0F8FC0 +FC3F1F8FC0 +ENDCHAR +STARTCHAR f_f_j +ENCODING -1 +SWIDTH 995 0 +DWIDTH 29 0 +BBX 28 25 1 -5 +BITMAP +00307FC0 +03FFFFE0 +07FFFFC0 +0FC7F040 +1F87E000 +1F87E000 +1F8FC000 +FFFFFFF0 +FFFFFFE0 +3F0FC7E0 +3F0F87E0 +3F1F87E0 +7E1F87E0 +7E1F8FC0 +7E1F8FC0 +7E3F0FC0 +7E3F0FC0 +FC3F0FC0 +FC3F1F80 +FC3F1F80 +00001F80 +00001F00 +00003F00 +00007E00 +0000F000 +ENDCHAR +STARTCHAR f_f_k +ENCODING -1 +SWIDTH 1288 0 +DWIDTH 37 0 +BBX 37 20 1 0 +BITMAP +00307FF800 +03FFFFF800 +07FFF3F800 +0FC7E1F800 +1F87E3F000 +1F87E3F000 +1F8FC3F000 +FFFFFBF078 +FFFFF3F0F0 +3F0FC7E1E0 +3F0F87E780 +3F1F87EF00 +3E1F87FF00 +7E1F8FFF00 +7E1F8FFF80 +7E1F0FDF80 +7E3F0FDFC0 +FC3F0FCFC0 +FC3F1F8FE0 +FC3F1F87F0 +ENDCHAR +STARTCHAR f_f_t +ENCODING -1 +SWIDTH 1030 0 +DWIDTH 30 0 +BBX 29 20 1 0 +BITMAP +0030FF00 +03FFFE00 +07FFF200 +0FC7C070 +1F8FC0F0 +1F8FC1E0 +1F8FC3E0 +FFFFFFF8 +FFFFFFF8 +3F1F87E0 +3F1F8FC0 +3F1F8FC0 +3E3F0FC0 +7E3F0FC0 +7E3F0FC0 +7E3F1F80 +7E3F1F80 +FC7E1F80 +FC7E1FE0 +FC7E0FE0 +ENDCHAR +STARTCHAR f_h +ENCODING -1 +SWIDTH 961 0 +DWIDTH 28 0 +BBX 26 20 1 0 +BITMAP +01FFF000 +07FFE000 +0FEFE000 +0F87E000 +1F87E000 +1F87E000 +1F8FC000 +FFEFC700 +FFEFDFC0 +3F0FFFC0 +3F0FCFC0 +3F1F8FC0 +3E1F8FC0 +7E1F8F80 +7E1F9F80 +7E1F1F80 +7E3F1F80 +FC3F1F80 +FC3F1F00 +FC3F3F00 +ENDCHAR +STARTCHAR f_j +ENCODING -1 +SWIDTH 666 0 +DWIDTH 19 0 +BBX 18 25 1 -5 +BITMAP +01FF00 +03FF80 +0FFF80 +0FC100 +1F8000 +1F8000 +1F8000 +FFFFC0 +FFFFC0 +3F0FC0 +3F0F80 +3F1F80 +7E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +FC3F00 +FC3F00 +FC3F00 +007E00 +007E00 +00FC00 +01F800 +01E000 +ENDCHAR +STARTCHAR f_k +ENCODING -1 +SWIDTH 957 0 +DWIDTH 28 0 +BBX 28 20 1 0 +BITMAP +01FFF000 +07FFE000 +0FEFE000 +0F87E000 +1F87E000 +1F87E000 +1F8FC000 +FFEFC0F0 +FFEFC3C0 +3F0FC780 +3F0F8F00 +3F1FBE00 +3E1FFC00 +7E1FFE00 +7E1FFE00 +7E3F7F00 +7E3F3F00 +FC3F3F80 +FC3F1F80 +FC3F1FC0 +ENDCHAR +STARTCHAR f_t +ENCODING -1 +SWIDTH 721 0 +DWIDTH 21 0 +BBX 20 20 1 0 +BITMAP +01FE00 +07FC00 +0FE200 +0F80E0 +1F81E0 +1F83C0 +1F87C0 +FFFFF0 +FFFFF0 +3F0FC0 +3F1F80 +3F1F80 +3E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +FC3F00 +FC3FC0 +FC1FC0 +ENDCHAR +STARTCHAR s_p +ENCODING -1 +SWIDTH 1065 0 +DWIDTH 31 0 +BBX 31 25 -1 -5 +BITMAP +0007FC00 +001FFE00 +003C7F00 +00383F00 +00303F00 +00303E00 +00307E00 +07FC7E38 +1FFC7FFE +1F3C7FFE +3F3C7E7E +3F00FC7E +3FE0FC7E +3FF8FC7E +0FFCFC7E +03FCFCFC +78FDF8FC +78FDFFFC +7FF9FFF8 +FFE1F9F0 +0001F000 +0003F000 +0003F000 +0003F000 +0003F000 +ENDCHAR +STARTCHAR t_t +ENCODING -1 +SWIDTH 723 0 +DWIDTH 21 0 +BBX 20 17 1 0 +BITMAP +0380E0 +0781E0 +0F83E0 +1F87C0 +FFFFF0 +FFFFF0 +3F0FC0 +3F0F80 +3F1F80 +3E1F80 +7E1F80 +7E1F80 +7E3F00 +7E3F00 +7E3F00 +7F9FC0 +3F1FC0 +ENDCHAR +ENDFONT diff --git a/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-38.bdf b/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-38.bdf new file mode 100755 index 000000000..c8f012d37 --- /dev/null +++ b/CLUE_Hand_Wash_Timer/font/RacingSansOne-Regular-38.bdf @@ -0,0 +1,14753 @@ +STARTFONT 2.1 +FONT -FontForge-Racing Sans One-Book-R-Normal-SansOne--38-360-75-75-P-212-ISO10646-1 +SIZE 36 75 75 +FONTBOUNDINGBOX 57 49 -7 -11 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" +COMMENT "Copyright (c) 2012, Pablo Impallari (www.impallari.com|impallari@gmail.com) and Rodrigo Fuenzalida (www.rfuenzalida.com), with Reserved Font Name Racing Sans." +STARTPROPERTIES 39 +FOUNDRY "FontForge" +FAMILY_NAME "Racing Sans One" +WEIGHT_NAME "Book" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "SansOne" +PIXEL_SIZE 38 +POINT_SIZE 360 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "P" +AVERAGE_WIDTH 212 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +FONTNAME_REGISTRY "" +CHARSET_COLLECTIONS "ISO8859-2 ISO8859-9 ISO8859-4 ISO10646-1" +FONT_NAME "RacingSansOne-Regular" +FACE_NAME "Racing Sans One" +COPYRIGHT "Copyright (c) 2012, Pablo Impallari (www.impallari.com|impallari@gmail.com) and Rodrigo Fuenzalida (www.rfuenzalida.com), with Reserved Font Name Racing Sans." +FONT_VERSION "1.001; ttfautohint (v0.8) -G 200 -r 50" +FONT_ASCENT 30 +FONT_DESCENT 8 +UNDERLINE_POSITION -4 +UNDERLINE_THICKNESS 2 +X_HEIGHT 16 +CAP_HEIGHT 23 +RAW_ASCENT 800 +RAW_DESCENT 200 +NORM_SPACE 7 +RELATIVE_WEIGHT 40 +RELATIVE_SETWIDTH 50 +SUPERSCRIPT_X 0 +SUPERSCRIPT_Y 18 +SUPERSCRIPT_SIZE 24 +SUBSCRIPT_X 0 +SUBSCRIPT_Y 5 +SUBSCRIPT_SIZE 24 +AVG_LOWERCASE_WIDTH 209 +AVG_UPPERCASE_WIDTH 234 +ENDPROPERTIES +CHARS 471 +STARTCHAR space +ENCODING 32 +SWIDTH 191 0 +DWIDTH 7 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 294 0 +DWIDTH 11 0 +BBX 12 26 1 0 +BITMAP +0FF0 +0FE0 +0FE0 +0FE0 +1FE0 +1FC0 +1FC0 +1FC0 +1F80 +1F80 +1F80 +3F80 +3F00 +3F00 +3F00 +3F00 +3E00 +3E00 +0000 +0000 +3C00 +FE00 +FE00 +FE00 +FE00 +7800 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 446 0 +DWIDTH 17 0 +BBX 16 11 3 15 +BITMAP +3F3F +3E3F +7E3E +7E3E +7C3E +7C7C +787C +787C +7878 +F078 +F078 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 672 0 +DWIDTH 26 0 +BBX 25 24 1 0 +BITMAP +00E03800 +00E07800 +00E07800 +01E07000 +01E07000 +3FFFFF80 +3FFFFF80 +3FFFFF80 +3FFFFF00 +03C0E000 +0381E000 +0381E000 +0781C000 +0781C000 +FFFFFE00 +FFFFFE00 +FFFFFE00 +FFFFFC00 +0F038000 +0E078000 +0E078000 +1E078000 +1E070000 +1E0F0000 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 596 0 +DWIDTH 23 0 +BBX 19 32 2 -4 +BITMAP +001E00 +001E00 +001E00 +00FF00 +07FFE0 +1FFFE0 +3FC0E0 +7F8020 +7F0000 +7F0000 +FF0000 +FF8000 +7FF000 +7FFE00 +7FFF80 +3FFFC0 +1FFFE0 +07FFE0 +007FE0 +003FE0 +001FE0 +001FE0 +001FE0 +803FC0 +F07FC0 +FFFF80 +FFFE00 +1FF800 +078000 +078000 +078000 +078000 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 724 0 +DWIDTH 28 0 +BBX 22 24 3 0 +BITMAP +1F8078 +7FC0F0 +79C1E0 +F1E1E0 +F3E3C0 +F3C780 +F7C780 +FF8F00 +3E0E00 +001E00 +003C00 +003C00 +007800 +00F000 +00F1F8 +01E7FC +03C7BC +03CF3C +078F3C +0F0F3C +0F0F3C +1E0F7C +3E0FF8 +7C07E0 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 705 0 +DWIDTH 27 0 +BBX 25 24 0 0 +BITMAP +000FE000 +003FF800 +007FFC00 +00FC3C00 +01FC1C00 +01FE1C00 +01FF3C00 +01FF7800 +00FFF000 +00FFC000 +07FFC700 +1FFFEE00 +3F3FEE00 +7F3FFC00 +7F1FFC00 +FF1FF800 +FF0FF800 +FF0FFC00 +FF87FC00 +FFC7FE00 +7FFFFE00 +7FFFFF00 +3FF9FF00 +0FE1FF80 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 214 0 +DWIDTH 8 0 +BBX 8 11 3 15 +BITMAP +3F +3E +7E +7C +7C +78 +78 +78 +70 +F0 +E0 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 308 0 +DWIDTH 12 0 +BBX 13 31 1 -3 +BITMAP +0010 +0038 +0078 +00F0 +01E0 +03E0 +07C0 +0F80 +0F80 +1F00 +3F00 +3F00 +3E00 +7E00 +7E00 +7C00 +FC00 +FC00 +FC00 +FC00 +FC00 +FC00 +FC00 +7C00 +7C00 +3C00 +3E00 +1E00 +0E00 +0700 +0200 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 308 0 +DWIDTH 12 0 +BBX 14 31 -2 -3 +BITMAP +0100 +0380 +03C0 +01E0 +01F0 +00F0 +00F8 +00F8 +00F8 +00F8 +00F8 +00FC +00FC +00F8 +00F8 +01F8 +01F8 +01F8 +03F0 +03F0 +03E0 +07E0 +07C0 +0F80 +0F80 +1F00 +3E00 +3C00 +7800 +F000 +4000 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 273 0 +DWIDTH 10 0 +BBX 8 8 4 18 +BITMAP +18 +5A +FF +7C +7C +DE +B4 +30 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 459 0 +DWIDTH 17 0 +BBX 16 17 1 4 +BITMAP +00F0 +00E0 +01E0 +01E0 +01E0 +01E0 +7FFF +7FFF +FFFF +FFFF +03C0 +0780 +0780 +0780 +0780 +0780 +0F00 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 275 0 +DWIDTH 10 0 +BBX 9 12 -1 -5 +BITMAP +1E00 +3F00 +7F80 +7F80 +3F80 +1F00 +1F00 +1E00 +3C00 +7800 +F000 +6000 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 415 0 +DWIDTH 16 0 +BBX 13 4 1 6 +BITMAP +7FF8 +7FF8 +FFF0 +FFF0 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 274 0 +DWIDTH 10 0 +BBX 8 7 0 0 +BITMAP +3C +7E +FF +FF +FF +FE +7C +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 358 0 +DWIDTH 14 0 +BBX 17 24 -1 0 +BITMAP +000780 +000F00 +000E00 +001E00 +001C00 +003C00 +003800 +007800 +00F000 +00F000 +01E000 +01C000 +03C000 +038000 +078000 +070000 +0F0000 +1E0000 +1E0000 +3C0000 +3C0000 +780000 +780000 +F00000 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 668 0 +DWIDTH 25 0 +BBX 23 24 2 0 +BITMAP +007F80 +01FFE0 +07FFF8 +0FF3F8 +1FE1FC +3FC1FC +3FC1FE +7FC1FE +7F83FE +FF83FE +FF83FE +FF03FE +FF03FC +FF03FC +FF07FC +FF07FC +FF07F8 +FF0FF8 +FF0FF0 +FF1FF0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 397 0 +DWIDTH 15 0 +BBX 14 24 2 0 +BITMAP +00FC +01FC +07F8 +1FF8 +7FF8 +FFF8 +0FF8 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +3FC0 +3FC0 +7FC0 +7F80 +7F80 +7F80 +7F80 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 593 0 +DWIDTH 23 0 +BBX 22 24 0 0 +BITMAP +003F80 +01FFE0 +07FFF8 +0FF3F8 +1FE3FC +1FC3FC +1FC3FC +1FC3FC +1F83FC +2003FC +0003FC +0007F8 +0007F0 +000FE0 +001FC0 +003F80 +007F00 +01FC00 +07F800 +1FFFF0 +7FFFF0 +FFFFF0 +FFFFF0 +FFFFF0 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 604 0 +DWIDTH 23 0 +BBX 22 24 0 0 +BITMAP +007FC0 +03FFF0 +0FFFF8 +0FE1FC +0FE1FC +1FC1FC +1FC1FC +0003FC +0007F8 +003FE0 +003F80 +003FC0 +001FF0 +000FF8 +0007F8 +7F07F8 +7F07F8 +7F0FF8 +7E0FF8 +FF0FF0 +FF1FF0 +7FFFC0 +3FFF80 +07FC00 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 607 0 +DWIDTH 23 0 +BBX 22 24 0 0 +BITMAP +000FFC +001FFC +003FFC +007FF8 +00FFF8 +00F7F8 +01EFF8 +03CFF0 +07CFF0 +0F8FF0 +1F0FF0 +1E1FF0 +3C1FE0 +7C1FE0 +781FE0 +FFFFFC +FFFFFC +FFFFFC +003FC0 +003FC0 +007FC0 +007F80 +007F80 +007F80 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 563 0 +DWIDTH 21 0 +BBX 21 24 0 0 +BITMAP +07FFF8 +07FFF0 +07FFF0 +0FFFF0 +0FFFF0 +0F8000 +0F0000 +0F7F00 +1FFFC0 +1FFFE0 +1F9FE0 +1F0FF0 +200FF0 +000FF0 +000FF0 +7E0FF0 +7E0FF0 +7E0FF0 +FE0FE0 +FE1FE0 +FE1FC0 +7FFF80 +3FFE00 +0FF000 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 616 0 +DWIDTH 23 0 +BBX 21 24 2 0 +BITMAP +003FC0 +01FFF8 +07FFF8 +0FE3F0 +1FE3F0 +3FC3F0 +3FC3F0 +7F8000 +7F8000 +FF9FC0 +FF7FE0 +FFFFF0 +FF8FF0 +FF8FF0 +FF0FF0 +FF0FF0 +FE0FF0 +FE0FF0 +FE1FF0 +FE1FE0 +7E3FC0 +3FFF80 +1FFF00 +07F800 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 531 0 +DWIDTH 20 0 +BBX 20 24 3 0 +BITMAP +7FFFF0 +FFFFE0 +FFFFE0 +FFFFE0 +FFFF80 +003F00 +007E00 +00FC00 +01F800 +03F800 +07F000 +07F000 +0FE000 +0FE000 +1FC000 +1FC000 +3FC000 +3FC000 +3F8000 +7F8000 +7F8000 +7F8000 +7F8000 +7F8000 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 620 0 +DWIDTH 24 0 +BBX 21 24 1 0 +BITMAP +007F80 +03FFE0 +0FFFF0 +1FE3F8 +1FC3F8 +3FC3F8 +3FC3F8 +3FC3F8 +1FC7F0 +0FFFE0 +07FF80 +1FFFE0 +3FCFF0 +7F8FF0 +FF87F8 +FF0FF8 +FF0FF8 +FF0FF8 +FF0FF0 +FF0FF0 +7F1FE0 +7FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 619 0 +DWIDTH 24 0 +BBX 22 24 1 0 +BITMAP +00FF00 +03FFE0 +0FFFF0 +1FE3F0 +3FC3F8 +3FC3F8 +3FC3FC +7FC3FC +7F83FC +7F87FC +7F87FC +3FDFFC +3FFFFC +1FF7F8 +0FC7F8 +0007F8 +000FF0 +7E0FF0 +7E0FE0 +7E1FE0 +7E3FC0 +FFFF00 +FFFE00 +1FF000 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 282 0 +DWIDTH 11 0 +BBX 9 15 0 0 +BITMAP +0F00 +1F80 +3F80 +3F80 +3F80 +1F00 +0000 +0000 +0000 +3C00 +7E00 +FE00 +FE00 +7E00 +3C00 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 285 0 +DWIDTH 11 0 +BBX 10 20 -1 -5 +BITMAP +0780 +0FC0 +1FC0 +1FC0 +1FC0 +0F80 +0000 +0000 +0400 +3F00 +7F00 +7F00 +3F00 +1F00 +1F00 +1E00 +1C00 +3800 +F000 +4000 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 397 0 +DWIDTH 15 0 +BBX 14 16 1 4 +BITMAP +007C +00F0 +01E0 +03C0 +0F80 +1F00 +3E00 +7C00 +FC00 +3C00 +3E00 +1F00 +0F80 +0780 +03C0 +03E0 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 413 0 +DWIDTH 16 0 +BBX 14 9 1 6 +BITMAP +3FFC +3FFC +7FF8 +0000 +0000 +0000 +7FF8 +FFF0 +FFF0 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 396 0 +DWIDTH 15 0 +BBX 14 16 1 4 +BITMAP +1F00 +0F00 +0780 +07C0 +03E0 +01F0 +00F0 +00FC +00F8 +01F0 +03E0 +07C0 +0F00 +1E00 +7C00 +F800 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 525 0 +DWIDTH 20 0 +BBX 18 27 3 0 +BITMAP +00C000 +1FFE00 +3FFF00 +7F3F80 +7E1FC0 +FE1FC0 +FC1FC0 +FC3FC0 +F83FC0 +003F80 +007F80 +00FF00 +01FE00 +07FC00 +0FF000 +0FC000 +0FC000 +0FC000 +0FC000 +000000 +000000 +0F0000 +1F8000 +3FC000 +3F8000 +3F8000 +1F0000 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 745 0 +DWIDTH 28 0 +BBX 26 25 1 -4 +BITMAP +003FC000 +01FFF800 +03FFFC00 +0FC03E00 +1F000F00 +1E000780 +3C000780 +787CF380 +70FFE3C0 +71FBE1C0 +F1F3E1C0 +F1E3E1C0 +E3E3E1C0 +E3E3C3C0 +E3E7C380 +E3E7C380 +F1FDC780 +F1FDFF00 +70F0FE00 +78007800 +3C000000 +3E020000 +1FFC0000 +0FFC0000 +01FC0000 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 24 -2 0 +BITMAP +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 622 0 +DWIDTH 24 0 +BBX 23 24 0 0 +BITMAP +07FFE0 +07FFF8 +07FFFC +0FF8FE +0FF0FE +0FF0FE +0FF0FE +0FF0FE +1FF1FC +1FE3FC +1FFFF0 +1FFFF0 +3FFFF8 +3FC3FC +3FC3FC +3FC3FC +3FC3FC +7FC3FC +7F83FC +7F87FC +7F8FF8 +7FFFF0 +FFFFC0 +FFFF00 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 24 1 0 +BITMAP +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FF +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7FC000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F87F8 +1FFFF8 +0FFFE0 +01FE00 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 662 0 +DWIDTH 25 0 +BBX 25 24 0 0 +BITMAP +07FFF000 +07FFFC00 +07FFFE00 +0FF8FF00 +0FF07F00 +0FF07F00 +0FF07F80 +0FF07F80 +1FF0FF80 +1FE0FF80 +1FE0FF80 +1FE0FF80 +3FE0FF00 +3FE0FF00 +3FC1FF00 +3FC1FF00 +3FC1FE00 +7FC3FE00 +7F83FC00 +7F87FC00 +7F8FF800 +7FFFE000 +FFFFC000 +FFFE0000 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 24 0 0 +BITMAP +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 491 0 +DWIDTH 19 0 +BBX 21 24 0 0 +BITMAP +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FE000 +1FFFC0 +1FFFC0 +1FFF80 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 642 0 +DWIDTH 24 0 +BBX 24 24 1 0 +BITMAP +001FE0 +00FFFC +03FFFF +07F8FE +0FF0FE +1FE0FE +3FE0FE +3FE0FE +7FC0FC +7FC000 +7FC000 +7FC000 +FF8FFC +FF8FFC +FF8FFC +FF81FC +FF81FC +7F83F8 +7F83F8 +7F83F8 +3F87F8 +1FFFF8 +0FFDF0 +03F1F0 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 666 0 +DWIDTH 25 0 +BBX 26 24 0 0 +BITMAP +07F83FC0 +07F83FC0 +07F87FC0 +0FF87FC0 +0FF07F80 +0FF07F80 +0FF07F80 +0FF0FF80 +1FF0FF00 +1FE0FF00 +1FFFFF00 +1FFFFF00 +3FFFFF00 +3FC1FE00 +3FC1FE00 +3FC1FE00 +3FC3FE00 +7FC3FE00 +7F83FC00 +7F83FC00 +7F83FC00 +7F87FC00 +FF87F800 +FF07F800 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 13 24 0 0 +BITMAP +07F8 +07F8 +07F8 +0FF8 +0FF0 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +3FC0 +3FC0 +3FC0 +7FC0 +7F80 +7F80 +7F80 +7F80 +FF80 +FF00 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 590 0 +DWIDTH 22 0 +BBX 25 24 -1 0 +BITMAP +0000FF80 +0000FF00 +0000FF00 +0000FF00 +0001FF00 +0001FE00 +0001FE00 +0001FE00 +0003FE00 +0003FE00 +0003FC00 +0003FC00 +0003FC00 +0007FC00 +0007F800 +7F87F800 +7F07F800 +7F0FF800 +7F0FF000 +7F0FF000 +FF1FE000 +7FFFC000 +1FFF8000 +07FC0000 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 608 0 +DWIDTH 23 0 +BBX 25 24 0 0 +BITMAP +07F80F80 +07F81E00 +07F83E00 +0FF87C00 +0FF07800 +0FF0F000 +0FF1E000 +0FF3C000 +1FF78000 +1FEF0000 +1FFF8000 +1FFF8000 +3FFFC000 +3FFFC000 +3FDFC000 +3FDFE000 +3FDFE000 +7FCFF000 +7F8FF000 +7F8FF000 +7F87F800 +7F87F800 +FF87F800 +FF03FC00 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 482 0 +DWIDTH 18 0 +BBX 17 24 0 0 +BITMAP +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FE000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 844 0 +DWIDTH 32 0 +BBX 33 24 0 0 +BITMAP +07FE01FF80 +07FE03FF80 +07FE03FF80 +0FFE07FF00 +0FFE07FF00 +0FFE0FFF00 +0FFE0FFF00 +0FFE1FFE00 +1FFF1FFE00 +1FFF3DFE00 +1DFF3BFE00 +1DFF7BFE00 +3CFF73FC00 +3CFFF3FC00 +3CFFE7FC00 +38FFE7FC00 +38FFC7FC00 +78FFC7F800 +78FF87F800 +70FF0FF800 +70FF0FF800 +707E0FF000 +F07E0FF000 +F07C1FF000 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 24 0 0 +BITMAP +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 24 1 0 +BITMAP +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 600 0 +DWIDTH 23 0 +BBX 24 24 0 0 +BITMAP +07FFE0 +07FFFC +07FFFE +0FF8FE +0FF0FE +0FF0FF +0FF0FF +0FF0FF +1FF0FE +1FE0FE +1FE1FE +1FE1FC +3FE3FC +3FFFF8 +3FFFE0 +3FFF80 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 32 1 -8 +BITMAP +003FE000 +00FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +FF80FF80 +FF81FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FDFF000 +1FFFC000 +07FF0000 +00FE0000 +007F8000 +007FF000 +003FC000 +001F8000 +000F0000 +00040000 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 633 0 +DWIDTH 24 0 +BBX 24 24 0 0 +BITMAP +07FFF0 +07FFFC +07FFFE +0FF8FE +0FF0FF +0FF0FF +0FF0FF +0FF0FE +1FF0FE +1FE1FE +1FE3FC +1FFFF8 +3FFFE0 +3FFFE0 +3FDFE0 +3FCFE0 +3FCFF0 +7FCFF0 +7F8FF8 +7F87F8 +7F87F8 +7F87FC +FF83FC +FF03FE +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 24 0 0 +BITMAP +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 555 0 +DWIDTH 21 0 +BBX 21 24 3 0 +BITMAP +FFFFF8 +FFFFF0 +FFFFF0 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 24 1 0 +BITMAP +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 581 0 +DWIDTH 22 0 +BBX 22 24 3 0 +BITMAP +FF803C +FF8078 +FF8078 +FF80F0 +FF80F0 +FF81E0 +FF81E0 +7F83C0 +7F83C0 +7FC780 +7FC780 +7FCF00 +7FCF00 +7FDE00 +7FDE00 +7FFC00 +7FFC00 +7FFC00 +7FF800 +7FF800 +7FF000 +7FF000 +7FE000 +7FE000 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 944 0 +DWIDTH 36 0 +BBX 35 24 3 0 +BITMAP +FF80FF01E0 +FF80FF01E0 +FF81FF03C0 +FF81FF03C0 +FF83FF0780 +FF83FF0780 +FF83FF0780 +FFC7FF0F00 +7FC7FF0F00 +7FC7FF1E00 +7FCFFF1E00 +7FCFFF1E00 +7FDFFF3C00 +7FDE7FBC00 +7FDE7FF800 +7FFC7FF800 +7FFC7FF800 +7FF87FF000 +7FF87FF000 +7FF87FE000 +7FF07FE000 +7FF07FE000 +7FE07FC000 +3FE07FC000 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 26 24 -1 0 +BITMAP +1FF807C0 +0FF80F80 +0FFC0F00 +07FC1E00 +07FC3C00 +07FE7C00 +03FE7800 +03FFF000 +01FFE000 +01FFC000 +00FF8000 +00FF8000 +00FFC000 +00FFC000 +00FFE000 +01FFE000 +03FFE000 +079FF000 +0F9FF000 +1F1FF800 +1E0FF800 +3C0FFC00 +7807FC00 +F807FE00 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 21 24 3 0 +BITMAP +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 553 0 +DWIDTH 21 0 +BBX 23 24 -1 0 +BITMAP +0FFFFE +0FFFFE +0FFFFE +0007FE +000FFC +001FF8 +001FF8 +003FF0 +007FE0 +007FE0 +00FFC0 +01FF80 +03FF80 +03FF00 +07FE00 +0FFC00 +0FFC00 +1FF800 +3FF000 +3FF000 +7FE000 +7FFFF0 +FFFFF0 +FFFFF0 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 295 0 +DWIDTH 11 0 +BBX 14 30 0 -3 +BITMAP +03FC +03FC +07F8 +0780 +0780 +0780 +0780 +0F00 +0F00 +0F00 +0F00 +1F00 +1E00 +1E00 +1E00 +1E00 +3C00 +3C00 +3C00 +3C00 +3C00 +7800 +7800 +7800 +7800 +F800 +F000 +FF00 +FF00 +FF00 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 605 0 +DWIDTH 23 0 +BBX 16 24 4 0 +BITMAP +E000 +F000 +7000 +7800 +3C00 +1C00 +1E00 +0E00 +0F00 +0700 +0780 +0380 +03C0 +01C0 +01E0 +00F0 +00F0 +0078 +0078 +003C +001C +001E +000E +000F +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 295 0 +DWIDTH 11 0 +BBX 15 30 -2 -3 +BITMAP +01FE +03FC +03FC +003C +003C +003C +0078 +0078 +0078 +0078 +00F8 +00F0 +00F0 +00F0 +00F0 +01E0 +01E0 +01E0 +01E0 +01E0 +03C0 +03C0 +03C0 +03C0 +07C0 +0780 +0780 +7F80 +7F80 +FF80 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 438 0 +DWIDTH 17 0 +BBX 15 9 2 15 +BITMAP +03F0 +07F0 +0F78 +0F78 +1E38 +3C3C +381C +781C +F00E +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 571 0 +DWIDTH 22 0 +BBX 19 4 -1 -4 +BITMAP +7FFFE0 +FFFFC0 +FFFFC0 +FFFFC0 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 304 0 +DWIDTH 12 0 +BBX 11 6 1 18 +BITMAP +FE00 +3F00 +1F00 +0F80 +03C0 +01E0 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 17 -1 0 +BITMAP +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 21 26 0 0 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE3E0 +1FEFF0 +1FDFF8 +3FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FFFFE0 +FFFFE0 +FE7FC0 +FC1F00 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 19 17 0 0 +BITMAP +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +03FE00 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 577 0 +DWIDTH 22 0 +BBX 24 26 0 0 +BITMAP +0000FF +0001FE +0001FE +0001FE +0001FE +0001FC +0003FC +0003FC +0003FC +03E3FC +0FF3F8 +1FFFF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +1F0FC0 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 17 0 0 +BITMAP +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 404 0 +DWIDTH 15 0 +BBX 20 27 1 0 +BITMAP +001FE0 +00FFF0 +01FFE0 +03FFE0 +07F800 +07F800 +07F000 +0FF000 +0FF000 +0FF000 +7FFE00 +FFFE00 +FFFE00 +1FE000 +1FE000 +1FC000 +3FC000 +3FC000 +3FC000 +3FC000 +3F8000 +7F8000 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 23 0 -6 +BITMAP +03F1FC +0FFBF8 +1FFFF8 +3FFFF8 +3FC7F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF0FE0 +FF1FE0 +7FFFE0 +7FDFE0 +7FDFC0 +1F1FC0 +003FC0 +003F80 +007F00 +7FFE00 +7FFC00 +7FE000 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 26 0 0 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE3E0 +1FEFF0 +1FDFF8 +3FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 12 24 0 0 +BITMAP +03C0 +07E0 +0FF0 +0FF0 +0FF0 +0FE0 +03C0 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 294 0 +DWIDTH 11 0 +BBX 16 30 -4 -6 +BITMAP +003C +007E +00FF +00FF +00FF +00FE +007C +01FE +01FE +01FC +03FC +03FC +03FC +03FC +07F8 +07F8 +07F8 +07F8 +07F0 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FC0 +1FC0 +FF80 +FF00 +F800 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 599 0 +DWIDTH 23 0 +BBX 23 26 0 0 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE03E +1FE0FC +1FC1F0 +3FC3E0 +3FC7C0 +3FCF80 +3FFF00 +3FFF00 +7FFF80 +7FFF80 +7FBFC0 +7FBFC0 +7F1FE0 +FF1FE0 +FF0FF0 +FF0FF8 +FE07F8 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 13 26 0 0 +BITMAP +07F8 +07F8 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FE0 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F80 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 861 0 +DWIDTH 33 0 +BBX 32 17 0 0 +BITMAP +1F83E0FC +1FCFF3FE +1FFFFFFE +3FE7FDFF +3FC7F8FF +3FC7F0FE +3FC7F0FE +3F87F1FE +7F87F1FE +7F8FF1FE +7F8FE1FC +7F8FE1FC +7F0FE3FC +FF0FE3FC +FF1FE3FC +FF1FC3F8 +FE1FC3F8 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 17 0 0 +BITMAP +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 17 0 0 +BITMAP +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 584 0 +DWIDTH 22 0 +BBX 23 23 -2 -6 +BITMAP +07E1F8 +07F7FC +07FFFE +0FFFFE +0FF1FE +0FF1FE +0FE1FE +1FE1FE +1FE1FE +1FE1FE +1FE3FC +1FC3FC +3FE7FC +3FFFF8 +3FFFF8 +3FDFF0 +3F87C0 +7F8000 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 577 0 +DWIDTH 22 0 +BBX 22 23 0 -6 +BITMAP +03F1FC +0FFBF8 +1FFFF8 +3FCFF8 +3FC7F8 +7F87F0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +FFFFE0 +7FDFE0 +7F9FC0 +1F3FC0 +003FC0 +003FC0 +003FC0 +003F80 +007F80 +007F80 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 483 0 +DWIDTH 18 0 +BBX 19 17 0 0 +BITMAP +1F87E0 +1FCFE0 +1FDFC0 +3FFFC0 +3FEFC0 +3FC7C0 +3FC7C0 +3F8780 +7F8780 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 18 17 -1 0 +BITMAP +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 392 0 +DWIDTH 15 0 +BBX 14 22 1 0 +BITMAP +00F8 +01F0 +03F0 +07F0 +1FF0 +7FFC +FFFC +FFFC +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7FF0 +3FE0 +1FE0 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 17 0 0 +BITMAP +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 516 0 +DWIDTH 20 0 +BBX 20 17 1 0 +BITMAP +FF81F0 +7F81E0 +7F83C0 +7F83C0 +7F8780 +7F8780 +7F8F00 +3F8F00 +3FCE00 +3FDE00 +3FDC00 +3FFC00 +3FF800 +3FF800 +1FF000 +1FF000 +1FE000 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 831 0 +DWIDTH 32 0 +BBX 31 17 1 0 +BITMAP +FF03FC1E +7F83FC1E +7F87FC3C +7F87FC3C +7F8FFC38 +7F8FFC78 +7F8FFC78 +7F9FFCF0 +3F9FFCF0 +3F9DFEE0 +3FFDFFE0 +3FF9FFC0 +3FF9FFC0 +3FF1FF80 +3FF0FF80 +1FE0FF80 +1FE0FF00 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 511 0 +DWIDTH 19 0 +BBX 22 17 -2 0 +BITMAP +1FF07C +0FF0F8 +07F9F0 +07FBE0 +03FFC0 +03FF80 +01FF00 +01FE00 +00FF00 +01FF00 +03FF80 +07FF80 +0FBFC0 +1F3FC0 +3E1FE0 +7C1FE0 +F80FF0 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 23 -2 -6 +BITMAP +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 478 0 +DWIDTH 18 0 +BBX 19 17 -1 0 +BITMAP +1FFFE0 +1FFFE0 +1FFFE0 +003FC0 +007F80 +00FF00 +01FF00 +03FE00 +07FC00 +0FF800 +1FF000 +3FE000 +3FC000 +7FC000 +FFFF80 +FFFF80 +FFFF80 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 314 0 +DWIDTH 12 0 +BBX 14 30 1 -3 +BITMAP +007C +01F8 +03F8 +07C0 +0780 +0780 +0780 +0780 +0F00 +0F00 +0F00 +0F00 +1E00 +7E00 +7C00 +F800 +FC00 +3C00 +3C00 +3C00 +3C00 +3C00 +7800 +7800 +7800 +7800 +7800 +7F00 +7F00 +3F00 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 221 0 +DWIDTH 8 0 +BBX 11 33 -1 -6 +BITMAP +03E0 +03C0 +03C0 +03C0 +03C0 +07C0 +0780 +0780 +0780 +0780 +0F80 +0F00 +0F00 +0F00 +0F00 +1E00 +1E00 +1E00 +1E00 +1E00 +3C00 +3C00 +3C00 +3C00 +7C00 +7800 +7800 +7800 +7800 +F000 +F000 +F000 +F000 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 314 0 +DWIDTH 12 0 +BBX 14 30 -2 -3 +BITMAP +03F0 +03F8 +03F8 +0078 +0078 +0078 +0078 +0078 +00F0 +00F0 +00F0 +00F0 +00F0 +00FC +00FC +00F8 +01F8 +01E0 +03C0 +03C0 +03C0 +03C0 +0780 +0780 +0780 +0780 +0F80 +7F00 +7E00 +F800 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 462 0 +DWIDTH 18 0 +BBX 15 6 1 6 +BITMAP +1E02 +3FC6 +7FFE +FFFC +C7F8 +40F0 +ENDCHAR +STARTCHAR uni00A0 +ENCODING 160 +SWIDTH 191 0 +DWIDTH 7 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 296 0 +DWIDTH 11 0 +BBX 12 26 -2 -6 +BITMAP +01E0 +03F0 +07F0 +07F0 +07F0 +03E0 +0000 +0000 +07E0 +07C0 +07C0 +0FC0 +0FC0 +0FC0 +1FC0 +1FC0 +1F80 +1F80 +3F80 +3F80 +3F80 +3F80 +7F80 +7F00 +7F00 +FF00 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 537 0 +DWIDTH 20 0 +BBX 19 25 1 0 +BITMAP +001F00 +001E00 +001E00 +001E00 +01FFC0 +07FFE0 +1FE7E0 +3FC7E0 +3F87E0 +7F87E0 +7F87C0 +7F8000 +7F0000 +FF0000 +7F0FC0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +07FE00 +01E000 +01E000 +03C000 +03C000 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 621 0 +DWIDTH 24 0 +BBX 22 24 1 0 +BITMAP +003FC0 +00FFFC +03FFF8 +07FFF8 +0FF818 +0FF000 +0FE000 +0FE000 +0FE000 +0FE000 +7FFE00 +FFFE00 +FFFE00 +0FE000 +0FC000 +0FC000 +0F8000 +0F0038 +1FF078 +3FFFF0 +7FFFF0 +FFFFE0 +79FFE0 +201F80 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 604 0 +DWIDTH 23 0 +BBX 23 20 1 3 +BITMAP +060018 +0E3E3C +3FFFFE +1FFFFC +0FFFF0 +07C3E0 +0F01F0 +1E00F0 +1E00F0 +1C00F0 +3C00F0 +3C00E0 +3C01E0 +3E03C0 +1F0FC0 +3FFFC0 +7FFFE0 +FFFFF0 +F1F1E0 +600080 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 616 0 +DWIDTH 23 0 +BBX 23 24 2 0 +BITMAP +3FE01E +3FE03C +1FF03C +1FF078 +1FF070 +1FF8F0 +0FF9E0 +0FF9E0 +0FFBC0 +0FFF80 +07FF80 +07FF00 +3FFFE0 +7FFFC0 +7FFFC0 +07FC00 +07F800 +07F800 +FFFFC0 +FFFF80 +FFFF80 +0FF000 +0FF000 +0FF000 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 223 0 +DWIDTH 8 0 +BBX 11 32 -1 -6 +BITMAP +03E0 +03C0 +03C0 +03C0 +03C0 +07C0 +0780 +0780 +0780 +0780 +0F00 +0F00 +0F00 +0F00 +0000 +0000 +0000 +0000 +3E00 +3C00 +3C00 +3C00 +3C00 +7C00 +7800 +7800 +7800 +7800 +F800 +F000 +F000 +F000 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 544 0 +DWIDTH 21 0 +BBX 21 30 -1 -6 +BITMAP +001FE0 +007FF8 +01FFF8 +03F818 +03F800 +03F800 +03FC00 +03FF00 +03FFC0 +03FFF0 +01FFF0 +07FFF8 +0F9FF8 +1F03F8 +3F01F8 +3F00F8 +3FC1F0 +3FF3E0 +3FFFC0 +1FFF00 +1FFF80 +07FF80 +01FF80 +007F80 +007F80 +807F80 +60FF00 +FFFE00 +7FFC00 +038000 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 417 0 +DWIDTH 16 0 +BBX 14 6 1 18 +BITMAP +7878 +FCFC +FCFC +FCFC +F8F8 +7078 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 755 0 +DWIDTH 29 0 +BBX 26 24 2 0 +BITMAP +003FC000 +01FFF000 +07FFFC00 +0F803E00 +1E000F00 +3C1FC700 +787FF380 +71F9E380 +E1F1E1C0 +E3F1E1C0 +E3F001C0 +C3E001C0 +C3E001C0 +C3E3E1C0 +C3E3C180 +E3E7C380 +E1FFC380 +707F0700 +78000E00 +3C003C00 +1E00F800 +0FFFF000 +07FFC000 +00FE0000 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 393 0 +DWIDTH 15 0 +BBX 13 15 2 10 +BITMAP +0FE0 +1FF8 +1C78 +0078 +0FF8 +3CF8 +3CF8 +7CF8 +7FF0 +3EF0 +08F0 +0000 +0000 +7FE0 +FFE0 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 590 0 +DWIDTH 22 0 +BBX 23 17 0 0 +BITMAP +01F03E +01E078 +03E0F8 +07C1F0 +0F83E0 +1F07C0 +3E0FC0 +7E1F80 +FC1F00 +7C1F00 +7E0F80 +3E0F80 +1E07C0 +1F07C0 +0F03C0 +0F83E0 +0781F0 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 593 0 +DWIDTH 23 0 +BBX 20 10 1 0 +BITMAP +7FFFF0 +FFFFE0 +FFFFE0 +FFFFE0 +0001E0 +0003C0 +0003C0 +0003C0 +0003C0 +0003C0 +ENDCHAR +STARTCHAR uni00AD +ENCODING 173 +SWIDTH 415 0 +DWIDTH 16 0 +BBX 13 4 1 6 +BITMAP +7FF8 +7FF8 +FFF0 +FFF0 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 755 0 +DWIDTH 29 0 +BBX 26 24 2 0 +BITMAP +003FC000 +01FFF000 +07FFFC00 +0F803E00 +1E000F00 +3C7FC700 +78FFE380 +70F9E380 +E0F9E1C0 +E0F1E1C0 +E1F7C1C0 +C1FF81C0 +C1FF81C0 +C1F781C0 +C1E7C180 +E3E7C380 +E3E3C380 +70002700 +70000E00 +38001C00 +1E007800 +0FE7F000 +07FFC000 +00FE0000 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 426 0 +DWIDTH 16 0 +BBX 14 3 1 20 +BITMAP +7FFC +FFFC +FFFC +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 348 0 +DWIDTH 13 0 +BBX 11 11 3 14 +BITMAP +0F00 +3FC0 +7FE0 +70E0 +E0E0 +E0E0 +E0E0 +F1C0 +7FC0 +3F80 +0400 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 492 0 +DWIDTH 19 0 +BBX 18 22 0 1 +BITMAP +003C00 +003800 +007800 +007800 +007800 +007800 +1FFFC0 +1FFFC0 +3FFFC0 +3FFFC0 +00F000 +01E000 +01E000 +01E000 +01E000 +03C000 +000000 +000000 +7FFF00 +FFFF00 +FFFF00 +FFFE00 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 287 0 +DWIDTH 11 0 +BBX 10 11 2 13 +BITMAP +1F00 +3FC0 +7BC0 +73C0 +03C0 +0380 +0700 +1E00 +7FC0 +FF80 +FF80 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 282 0 +DWIDTH 11 0 +BBX 10 9 2 15 +BITMAP +1F80 +3FC0 +79C0 +0380 +0F00 +73C0 +F7C0 +FF80 +0800 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 317 0 +DWIDTH 12 0 +BBX 10 6 1 18 +BITMAP +1FC0 +1F00 +3E00 +7C00 +7000 +E000 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 588 0 +DWIDTH 22 0 +BBX 24 23 -2 -6 +BITMAP +07F8FF +07F8FF +07F0FF +07F0FF +0FF0FE +0FF1FE +0FF1FE +0FE1FE +1FE1FE +1FE1FC +1FE3FC +1FE3FC +1FE3FC +3FEFF8 +3FFFF8 +3FFBF8 +3F73F8 +3F0000 +7F0000 +7F0000 +7F0000 +7F0000 +FF0000 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 615 0 +DWIDTH 23 0 +BBX 23 30 2 -6 +BITMAP +01FFFE +0FFFFE +1FFFFE +3FF870 +7FF8F0 +7FF8E0 +7FF8E0 +FFF0E0 +FFF1E0 +FFF1E0 +7FF1C0 +7FE1C0 +7FE3C0 +3FE3C0 +0FE3C0 +01E380 +01C380 +01C780 +03C780 +03C700 +038700 +038F00 +078F00 +078F00 +078E00 +071E00 +071E00 +0F1E00 +0F1C00 +0F3C00 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 273 0 +DWIDTH 10 0 +BBX 7 7 2 9 +BITMAP +3C +FE +FE +FE +FE +FE +78 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 244 0 +DWIDTH 9 0 +BBX 9 9 1 -8 +BITMAP +7000 +7000 +7000 +7F00 +E780 +0780 +8F00 +FF00 +7C00 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 184 0 +DWIDTH 7 0 +BBX 6 10 3 14 +BITMAP +1C +7C +F8 +78 +78 +78 +78 +F0 +F0 +F0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 400 0 +DWIDTH 15 0 +BBX 13 15 3 10 +BITMAP +0FC0 +1FF0 +3CF0 +7CF0 +78F8 +78F0 +79F0 +79F0 +7FE0 +3FC0 +0600 +0000 +0000 +FFE0 +FFC0 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 588 0 +DWIDTH 22 0 +BBX 22 17 -1 0 +BITMAP +1F07C0 +0F03E0 +0F83E0 +07C1F0 +07C1F0 +07E0F8 +03E0F8 +03F0FC +01F07C +03E0F8 +07E1F8 +0FC1F0 +0F83E0 +1F07C0 +3E0F80 +7C1F00 +F83E00 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 648 0 +DWIDTH 25 0 +BBX 20 24 2 0 +BITMAP +0F01F0 +3E01E0 +7E03C0 +1E0780 +1E0780 +3C0F00 +3C1E00 +3C1E00 +3C3C00 +3C3800 +007800 +00F000 +00F000 +01E000 +03C000 +03C1F0 +0783F0 +0F06F0 +0F0DE0 +1E19E0 +3E1FF0 +3C1FF0 +7801C0 +F803C0 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 675 0 +DWIDTH 26 0 +BBX 22 24 2 0 +BITMAP +0F01F0 +3E01E0 +7E03C0 +1E0780 +1E0780 +3C0F00 +3C1E00 +3C1E00 +3C3C00 +3C3800 +007800 +00F000 +00F000 +01E000 +03C3F0 +03C778 +078F7C +0F0E7C +0F0078 +1E00F0 +3E01E0 +3C07F8 +781FF8 +F81FF8 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 722 0 +DWIDTH 27 0 +BBX 22 24 3 0 +BITMAP +3F0078 +7FC070 +73C0F0 +0781E0 +0E01C0 +E783C0 +E78780 +FF0780 +100F00 +001E00 +001E00 +003C00 +007800 +007800 +00F07C +01E0FC +01E1BC +03C1F8 +07C378 +078678 +0F07FC +0F07FC +1E00F0 +3C00F0 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 18 26 -1 -6 +BITMAP +003C00 +007E00 +00FF00 +00FF00 +007E00 +007C00 +000000 +000000 +00FC00 +00FC00 +00FC00 +00FC00 +03F800 +0FF800 +3FE000 +3FC000 +7F8000 +FF0000 +FF0FC0 +FE0FC0 +FE1F80 +FE1F80 +FE3F80 +7FFF80 +3FFE00 +0FF800 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 33 -2 0 +BITMAP +01FC00 +007E00 +003E00 +001F00 +000F80 +000780 +0003C0 +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 24 33 -2 0 +BITMAP +00007F +00007E +0000FC +0000F8 +0001F0 +0001C0 +000380 +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 33 -2 0 +BITMAP +0003F0 +0007F0 +000FF8 +001F38 +003E3C +00381C +00700E +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 25 33 -2 0 +BITMAP +00078080 +000FF180 +001FFF80 +003FFF00 +0031FE00 +00203C00 +00000000 +00000000 +00000000 +001FF000 +001FF800 +003FF800 +003FF800 +007FF800 +0077F800 +00F7F800 +00E7F800 +01E7F800 +01C7F800 +01C7FC00 +0387FC00 +0387FC00 +0787FC00 +0707FC00 +0FFFFC00 +0FFFFC00 +1FFFFC00 +1C03FC00 +3C03FE00 +3803FE00 +7803FE00 +7803FE00 +F003FE00 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 32 -2 0 +BITMAP +003C3C +003E3E +007E7E +007E7E +007C7E +003C3C +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 33 -2 0 +BITMAP +0001C0 +0007E0 +0007F0 +000670 +0007E0 +0007E0 +0003C0 +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 814 0 +DWIDTH 31 0 +BBX 35 24 -2 0 +BITMAP +00007FFFE0 +00007FFFE0 +0000FFFFC0 +0001FFC000 +0003BFC000 +0003BFC000 +00077FC000 +000E7FC000 +001C7F8000 +001C7F8000 +00387FFE00 +0070FFFE00 +00E0FFFE00 +00FFFF0000 +01FFFF0000 +03FFFF0000 +0701FF0000 +0701FE0000 +0E01FE0000 +1C01FE0000 +3C03FE0000 +3803FFFC00 +7003FFFC00 +F003FFFC00 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 32 1 -8 +BITMAP +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FF +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7F8000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F8FF8 +1FFFF8 +0FFFE0 +03FF00 +007000 +00E000 +00FF00 +00FF00 +000F00 +000F00 +00FE00 +00FC00 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 33 0 0 +BITMAP +07F000 +03F000 +01F800 +007C00 +003C00 +001E00 +000F00 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 22 33 0 0 +BITMAP +0001FC +0003F0 +0003E0 +0007C0 +000780 +000F00 +000E00 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 33 0 0 +BITMAP +000FC0 +001FC0 +003FE0 +007CE0 +00F8F0 +00E070 +01C038 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 32 0 0 +BITMAP +00E0E0 +01F1F0 +01F1F0 +01F1F0 +01F1F0 +01E0E0 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 13 33 0 0 +BITMAP +7E00 +3F00 +1F80 +0F80 +07C0 +01E0 +00E0 +0000 +0000 +07F8 +07F8 +07F8 +0FF8 +0FF0 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +3FC0 +3FC0 +3FC0 +7FC0 +7F80 +7F80 +7F80 +7F80 +FF80 +FF00 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 17 33 0 0 +BITMAP +001F80 +003F00 +003E00 +007C00 +00F800 +00F000 +01C000 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 17 33 0 0 +BITMAP +00FC00 +01FC00 +03FE00 +07DE00 +0F0F00 +1E0700 +3C0380 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 17 32 0 0 +BITMAP +0F0F00 +1F8F80 +1F9F80 +1F9F80 +1F1F00 +0F0F00 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 673 0 +DWIDTH 26 0 +BBX 25 24 0 0 +BITMAP +07FFF000 +07FFFC00 +07FFFE00 +07F87F00 +07F87F00 +0FF87F80 +0FF07F80 +0FF07F80 +0FF07F80 +1FF07F80 +7FFC7F80 +7FFCFF80 +FFFCFF80 +1FE0FF80 +3FE0FF80 +3FC0FF00 +3FC1FF00 +3FC1FE00 +3FC3FE00 +7FC3FC00 +7F87F800 +7FFFF000 +7FFFC000 +FFFF0000 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 33 0 0 +BITMAP +000F0100 +001FE300 +003FFF00 +007FFE00 +0063FE00 +00207800 +00000000 +00000000 +00000000 +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +01FC0000 +00FC0000 +003E0000 +001F0000 +000F8000 +0003C000 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +00007F00 +00007E00 +0000F800 +0001F000 +0001E000 +0003C000 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +0003F000 +0007F800 +000FF800 +001F3C00 +003C1C00 +00780E00 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +000F8300 +003FFF00 +007FFE00 +007FFC00 +00C1F800 +00000000 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +003C3C00 +007C7E00 +007E7E00 +007E7E00 +007C7C00 +00383800 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 511 0 +DWIDTH 19 0 +BBX 20 16 0 4 +BITMAP +1F01F0 +0F83C0 +078780 +07CF80 +03DF00 +01FE00 +01FC00 +00F800 +01F800 +03F800 +07FC00 +07BC00 +0F1E00 +1E1F00 +3E0F00 +FC0F80 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 25 1 -1 +BITMAP +003FE600 +01FFFF00 +03FFFE00 +0FF8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE1FF80 +7FC3FF80 +7FC7FF80 +7FCFFF80 +7F9EFF80 +FFBCFF00 +FFF9FF00 +FFF1FF00 +FFE1FF00 +FFC3FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +7FFFC000 +73FE0000 +20000000 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +01FC00 +007E00 +003E00 +001F00 +000F80 +0003C0 +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +00007F +00007E +0000F8 +0001F0 +0001E0 +0003C0 +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +0003E0 +0007F0 +000FF8 +001E78 +003C3C +00F01E +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +001C1C +003E3E +007E7E +007E7E +003E3E +003C3C +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 21 33 3 0 +BITMAP +0003F8 +0007F0 +0007C0 +000F80 +000F00 +001E00 +001C00 +000000 +000000 +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 592 0 +DWIDTH 23 0 +BBX 23 24 0 0 +BITMAP +07F800 +07F800 +07F800 +0FF800 +0FFFC0 +0FFFF8 +0FFFFC +0FF1FC +1FF1FE +1FE1FE +1FE1FE +1FE1FE +3FE1FE +3FC1FC +3FC3FC +3FC3F8 +3FC7F8 +7FFFF0 +7FFFC0 +7FFF00 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 660 0 +DWIDTH 25 0 +BBX 24 27 0 0 +BITMAP +003FE0 +00FFFC +03FFFE +07F8FF +07F07F +0FF07F +0FE07F +0FE0FE +1FE1FC +1FE3F8 +1FE7E0 +1FCFC0 +1FCFC0 +3FCFE0 +3FCFF0 +3FCFF8 +3F8FFC +3F8FFE +7F87FE +7F83FF +7F80FF +7F007F +7F007F +FF10FE +FF3FFC +FF3FF8 +FE0FE0 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 24 -1 0 +BITMAP +07F000 +01F800 +00F800 +007C00 +001E00 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 24 -1 0 +BITMAP +0003F8 +0003E0 +0007C0 +000F80 +000F00 +001000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 24 -1 0 +BITMAP +001F80 +003FC0 +0079E0 +00F0E0 +01C070 +020000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 22 24 -1 0 +BITMAP +007FFC +00FFF8 +01FFF0 +03FFE0 +000000 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 24 -1 0 +BITMAP +00E0E0 +01F1F0 +03F3F0 +03F3F0 +03F3F0 +01E1E0 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 25 -1 0 +BITMAP +001E00 +003F00 +003F00 +007300 +007F00 +003E00 +000800 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 830 0 +DWIDTH 32 0 +BBX 31 17 0 0 +BITMAP +03FE1FE0 +1FFFFFF8 +1FFFFFFC +3F0FF8FE +3F0FF0FE +000FF0FE +000FF0FE +0FFFFFFC +3FFFFFFC +FF1FE000 +FE1FE000 +FE1FE1F8 +FE3FE1F8 +FFFFE3F8 +FFF7FFF8 +7FC3FFF0 +3F00FF80 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 19 25 0 -8 +BITMAP +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +07FE00 +01C000 +01C000 +01FC00 +03FE00 +001E00 +003C00 +03FC00 +01F000 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 24 0 0 +BITMAP +07F000 +01F800 +00F800 +003C00 +001E00 +000100 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 21 24 0 0 +BITMAP +0003F8 +0007E0 +0007C0 +000F00 +001E00 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 24 0 0 +BITMAP +001F80 +003FC0 +0079E0 +00F0E0 +01C070 +020000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 24 0 0 +BITMAP +00E0F0 +01F1F0 +01F1F0 +01F1F0 +01F1F0 +00E0E0 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 13 24 -2 0 +BITMAP +FE00 +1F00 +0F80 +07C0 +01E0 +0000 +0000 +07F8 +07F8 +07F0 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FE0 +1FE0 +1FC0 +1FC0 +3FC0 +3FC0 +3FC0 +3F80 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 15 24 0 0 +BITMAP +00FE +01F8 +01F0 +03C0 +0780 +0000 +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 15 24 0 0 +BITMAP +07F0 +0FF8 +1F38 +3C1C +780E +0000 +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 15 24 0 0 +BITMAP +3C3C +7E3E +7E7E +7E7E +7C7C +383C +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 618 0 +DWIDTH 23 0 +BBX 26 26 0 0 +BITMAP +00078000 +0003E000 +0003F000 +0001FF80 +002FFF80 +001FFFC0 +001FFC00 +0010FC00 +0000FE00 +0080FE00 +0FF8FE00 +1FFDFE00 +3FFDFE00 +3FFFFE00 +7FFFFE00 +7FC7FE00 +7F87FC00 +7F87FC00 +FF07FC00 +FF0FF800 +7F0FF000 +7F0FF000 +7F1FE000 +3FFF8000 +1FFF0000 +07F80000 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +007C10 +01FFF8 +03FFF0 +03FFE0 +060FC0 +000000 +000000 +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +0FE000 +03F000 +01F000 +00F800 +003C00 +000000 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +0007F0 +0007C0 +000F80 +001F00 +001E00 +002000 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +003F80 +007FC0 +00FBC0 +01E1E0 +03C0E0 +040010 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +007FF8 +00FFF0 +01FFF0 +03FFC0 +000000 +000000 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +01E1E0 +01F1F0 +03F3F0 +03F3F0 +03E3F0 +01E1E0 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 460 0 +DWIDTH 17 0 +BBX 16 22 1 1 +BITMAP +00F0 +01F8 +01FC +01FC +01F8 +00F0 +0000 +0000 +0000 +7FFF +7FFF +FFFF +FFFF +0000 +0000 +0000 +0F00 +1F80 +1FC0 +1FC0 +1F80 +0F00 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 19 0 -1 +BITMAP +000040 +00FFE0 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F8FF8 +7F9FF8 +7FBFF8 +FF37F8 +FF6FF0 +FFCFF0 +7FCFF0 +7F8FE0 +7F1FE0 +3FFFC0 +1FFF00 +1FFC00 +380000 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +0FE000 +03F000 +00F800 +007800 +003E00 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +0003F8 +0007E0 +000F80 +000F00 +001C00 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +001FC0 +003FC0 +0079E0 +00F0E0 +03C070 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +00E0E0 +01F1F0 +03F1F0 +03F3F0 +01F1F0 +01E1E0 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 30 -2 -6 +BITMAP +0000FE +0000F8 +0001F0 +0003E0 +000780 +000000 +000000 +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 584 0 +DWIDTH 22 0 +BBX 23 32 -2 -6 +BITMAP +01FE00 +01FC00 +03FC00 +03FC00 +03FC00 +03FC00 +03F800 +07F800 +07F800 +07F8F8 +07FBFC +07F7FE +0FFFFE +0FF9FE +0FF1FE +0FF1FE +0FE1FE +1FE1FE +1FE1FE +1FE3FC +1FC3FC +3FE7FC +3FFFF8 +3FFFF8 +3FDFF0 +3F87C0 +7F8000 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 30 -2 -6 +BITMAP +003C3C +007E3E +007E7E +007E7E +007C7C +003C3C +000000 +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 24 31 -2 0 +BITMAP +001FFF +003FFF +003FFF +000000 +000000 +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 24 -1 0 +BITMAP +01FFF8 +01FFF8 +01FFF0 +000000 +000000 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 24 33 -2 0 +BITMAP +000002 +000807 +001C0E +000FFC +000FF8 +0003E0 +000000 +000000 +000000 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 25 -1 0 +BITMAP +000020 +00C070 +00E0E0 +00FFC0 +007F80 +000C00 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 23 32 -2 -8 +BITMAP +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +0077F8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +0387FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +000078 +0001F0 +0003E0 +0003E0 +0003E4 +0003FC +0003FC +0001F0 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 21 25 -1 -8 +BITMAP +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +000780 +001F00 +003E00 +003E00 +003E40 +003FE0 +003F80 +000400 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +00007F +0000FC +0000F8 +0001F0 +0003E0 +000380 +000000 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FF +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7FC000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F87F8 +1FFFF8 +0FFFE0 +01FE00 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 21 24 0 0 +BITMAP +0003F8 +0007E0 +0007C0 +000F00 +001E00 +000000 +000000 +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +03FE00 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +0007E0 +000FF0 +001FF0 +003E78 +007838 +00F01C +000000 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FF +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7FC000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F87F8 +1FFFF8 +0FFFE0 +01FE00 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 20 24 0 0 +BITMAP +003F80 +007FC0 +00FBC0 +01E1E0 +03C0E0 +040010 +000000 +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +03FE00 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +0003C0 +0007E0 +000FF0 +000FF0 +000FE0 +000FE0 +0007C0 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FF +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7FC000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F87F8 +1FFFF8 +0FFFE0 +01FE00 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 19 24 0 0 +BITMAP +000F00 +003F80 +003F80 +003FC0 +003F80 +003F80 +001E00 +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +03FE00 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 639 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +007007 +00381E +001C3C +001EF8 +000FF0 +000FE0 +000000 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FF +0FF0FF +1FE0FE +3FE0FE +3FE0FE +7FC0FE +7FC000 +7FC000 +7F8000 +FF8000 +FF8000 +FF8000 +FF81FC +FF83FC +7F83F8 +7F83F8 +7F87F8 +3F8FF8 +1FFFF0 +0FFFE0 +01FF00 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 521 0 +DWIDTH 20 0 +BBX 21 24 0 0 +BITMAP +01C078 +00E0F0 +00F3E0 +007FC0 +003F80 +000000 +000000 +00FF80 +07FFE0 +0FFFE0 +1FC7E0 +3FC7E0 +7F87E0 +7F87C0 +7F8000 +FF0000 +FF0000 +FF07C0 +7F0FC0 +7F0FC0 +7F1F80 +3FFF80 +1FFF80 +03FE00 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 662 0 +DWIDTH 25 0 +BBX 25 33 0 0 +BITMAP +00700E00 +00781C00 +00387800 +003CF000 +001FE000 +001FE000 +000FC000 +00000000 +00000000 +07FFF000 +07FFFC00 +07FFFE00 +0FF8FF00 +0FF07F00 +0FF07F00 +0FF07F80 +0FF07F80 +1FF0FF80 +1FE0FF80 +1FE0FF80 +1FE0FF80 +3FE0FF00 +3FC0FF00 +3FC1FF00 +3FC1FF00 +3FC1FE00 +7FC3FE00 +7F83FC00 +7F87FC00 +7F8FF800 +7FFFE000 +FFFFC000 +FFFE0000 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 673 0 +DWIDTH 26 0 +BBX 31 26 0 0 +BITMAP +0000FF00 +0001FE38 +0001FE7C +0001FEFE +0001FEFC +0001FCFC +0003FC7C +0003FC38 +0003FCF0 +03E3FDC0 +0FFBF800 +1FFFF800 +3FCFF800 +3FC7F800 +7F87F800 +7F8FF000 +7F0FF000 +7F0FF000 +FF0FF000 +FF0FF000 +FF1FE000 +FF1FE000 +FFFFE000 +7FFFE000 +7FCFC000 +1F0FC000 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 673 0 +DWIDTH 26 0 +BBX 25 24 0 0 +BITMAP +07FFF000 +07FFFC00 +07FFFE00 +07F87F00 +07F87F00 +0FF87F80 +0FF07F80 +0FF07F80 +0FF07F80 +1FF07F80 +7FFC7F80 +7FFCFF80 +FFFCFF80 +1FE0FF80 +3FE0FF80 +3FC0FF00 +3FC1FF00 +3FC1FE00 +3FC3FE00 +7FC3FC00 +7F87F800 +7FFFF000 +7FFFC000 +FFFF0000 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 577 0 +DWIDTH 22 0 +BBX 26 26 0 0 +BITMAP +0000FF00 +0001FE00 +0001FE00 +0001FE00 +000FFFC0 +001FFFC0 +001FFF80 +0003FC00 +0003FC00 +03E3FC00 +0FF3F800 +1FFFF800 +3FFFF800 +3FCFF800 +7F87F800 +7F87F000 +7F8FF000 +7F0FF000 +FF0FF000 +FF0FF000 +FF0FE000 +FF1FE000 +FF3FE000 +7FFFE000 +7FCFC000 +1F0FC000 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 31 0 0 +BITMAP +01FFF8 +01FFF8 +01FFF0 +000000 +000000 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 21 24 0 0 +BITMAP +01FFF8 +01FFF8 +01FFF0 +000000 +000000 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 33 0 0 +BITMAP +000020 +00C030 +00E070 +00FFE0 +007FC0 +003F00 +000000 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 25 0 0 +BITMAP +000020 +01C070 +00E1E0 +00FFC0 +007F80 +000C00 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 33 0 0 +BITMAP +000F00 +001F80 +003FC0 +003FC0 +003F80 +003F80 +001F00 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 24 0 0 +BITMAP +001E00 +003F80 +007F80 +007F80 +007F80 +003F00 +001E00 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 32 0 -8 +BITMAP +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +01E000 +07C000 +0F8000 +0F0000 +0F1000 +0FF000 +0FF000 +07C000 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 25 0 -8 +BITMAP +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FE00 +007800 +00F000 +01F000 +01F000 +01F200 +01FF00 +01FC00 +002000 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 22 33 0 0 +BITMAP +01C03C +00E078 +00F0F0 +007BE0 +007FC0 +003F80 +003F00 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 22 24 0 0 +BITMAP +01E07C +00E0F0 +0073E0 +007FC0 +003F80 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 642 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +0003E0 +0007F0 +000FF8 +001E78 +003C3C +00F01E +000000 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FE +0FF0FE +1FE0FE +3FE0FE +3FE0FE +7FC0FC +7FC000 +7FC000 +7FC000 +FF8FFC +FF8FFC +FF8FFC +FF81FC +FF81FC +7F83F8 +7F83F8 +7F83F8 +3F87F8 +1FFFF8 +0FFDF0 +03F1F0 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 30 0 -6 +BITMAP +000FE0 +001FE0 +003EF0 +007870 +00F038 +010000 +000000 +03F1FC +0FFBF8 +1FFFF8 +3FFFF8 +3FC7F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF0FE0 +FF1FE0 +7FFFE0 +7FDFE0 +7FDFC0 +1F1FC0 +003FC0 +003F80 +007F00 +7FFE00 +7FFC00 +7FE000 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 642 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +000004 +00380E +001C3C +001FF8 +000FF0 +000180 +000000 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FE +0FF0FE +1FE0FE +3FE0FE +3FE0FE +7FC0FC +7FC000 +7FC000 +7FC000 +FF8FFC +FF8FFC +FF8FFC +FF81FC +FF81FC +7F83F8 +7F83F8 +7F83F8 +3F87F8 +1FFFF8 +0FFDF0 +03F1F0 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 31 0 -6 +BITMAP +000010 +006038 +007070 +007FE0 +003FC0 +000600 +000000 +000000 +03F1FC +0FFBF8 +1FFFF8 +3FFFF8 +3FC7F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF0FE0 +FF1FE0 +7FFFE0 +7FDFE0 +7FDFC0 +1F1FC0 +003FC0 +003F80 +007F00 +7FFE00 +7FFC00 +7FE000 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 642 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +0007C0 +000FE0 +000FE0 +001FE0 +000FE0 +000FC0 +000780 +000000 +000000 +001FE0 +00FFFC +03FFFF +07F8FE +0FF0FE +1FE0FE +3FE0FE +3FE0FE +7FC0FC +7FC000 +7FC000 +7FC000 +FF8FFC +FF8FFC +FF8FFC +FF81FC +FF81FC +7F83F8 +7F83F8 +7F83F8 +3F87F8 +1FFFF8 +0FFDF0 +03F1F0 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 30 0 -6 +BITMAP +000780 +000FC0 +001FE0 +001FE0 +001FC0 +001FC0 +000F80 +03F1FC +0FFBF8 +1FFFF8 +3FFFF8 +3FC7F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF0FE0 +FF1FE0 +7FFFE0 +7FDFE0 +7FDFC0 +1F1FC0 +003FC0 +003F80 +007F00 +7FFE00 +7FFC00 +7FE000 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 642 0 +DWIDTH 24 0 +BBX 24 35 1 -11 +BITMAP +001FE0 +00FFFC +03FFFF +07F8FE +0FF0FE +1FE0FE +3FE0FE +3FE0FE +7FC0FC +7FC000 +7FC000 +7FC000 +FF8FFC +FF8FFC +FF8FFC +FF81FC +FF81FC +7F83F8 +7F83F8 +7F83F8 +3F87F8 +1FFFF8 +0FFDF0 +03F1F0 +000000 +000000 +007000 +00F800 +00F800 +007800 +007800 +007000 +00E000 +01C000 +008000 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 34 0 -6 +BITMAP +000100 +000380 +000700 +000E00 +001E00 +001F00 +001F00 +001F00 +000E00 +000000 +000000 +03F1FC +0FFBF8 +1FFFF8 +3FFFF8 +3FC7F8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FE0 +FF0FE0 +FF1FE0 +7FFFE0 +7FDFE0 +7FDFC0 +1F1FC0 +003FC0 +003F80 +007F00 +7FFE00 +7FFC00 +7FE000 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 666 0 +DWIDTH 25 0 +BBX 26 33 0 0 +BITMAP +0003F000 +0007F800 +0007F800 +000F3C00 +001E1C00 +00380E00 +00700E00 +00000000 +00000000 +07F83FC0 +07F83FC0 +07F87FC0 +0FF87FC0 +0FF07F80 +0FF07F80 +0FF07F80 +0FF0FF80 +1FF0FF00 +1FE0FF00 +1FFFFF00 +1FFFFF00 +3FFFFF00 +3FC1FE00 +3FC1FE00 +3FC1FE00 +3FC3FE00 +7FC3FE00 +7F83FC00 +7F83FC00 +7F83FC00 +7F87FC00 +FF87F800 +FF07F800 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 26 26 0 0 +BITMAP +07F80000 +07F80000 +0FF07E00 +0FF0FF00 +0FF1E780 +0FF3C380 +0FEF01C0 +1FE00000 +1FE00000 +1FE3E000 +1FEFF000 +1FDFF800 +3FFFF800 +3FC7F800 +3FC7F800 +3FC7F800 +3F87F800 +7F87F000 +7F8FF000 +7F8FF000 +7F8FF000 +7F0FF000 +FF0FE000 +FF1FE000 +FF1FE000 +FE1FE000 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 704 0 +DWIDTH 27 0 +BBX 28 24 1 0 +BITMAP +07F83FC0 +0FF87FC0 +0FF87F80 +0FF07F80 +7FFFFFF0 +FFFFFFF0 +FFFFFFF0 +1FE0FF00 +1FE0FF00 +1FE0FF00 +1FFFFF00 +3FFFFF00 +3FFFFE00 +3FC1FE00 +3FC1FE00 +3FC3FE00 +7F83FC00 +7F83FC00 +7F83FC00 +7F83FC00 +FF87FC00 +FF07F800 +FF07F800 +FF07F800 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 26 0 0 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +7FFE00 +FFFC00 +FFFC00 +1FE000 +1FE000 +1FE3E0 +1FEFF0 +1FDFF8 +3FFFF8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 19 33 0 0 +BITMAP +03C040 +07F8E0 +0FFFC0 +1FFF80 +1C7F80 +081E00 +000000 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 16 24 0 0 +BITMAP +0F83 +1FFF +3FFE +7FFC +60F8 +0000 +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 17 31 0 0 +BITMAP +0FFF80 +1FFF80 +1FFF80 +000000 +000000 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 15 23 0 0 +BITMAP +7FFE +7FFE +7FFC +0000 +0000 +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 17 33 0 0 +BITMAP +000100 +060180 +060780 +07FF00 +03FE00 +01F800 +000000 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7F8000 +FF8000 +FF0000 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 15 25 0 0 +BITMAP +0004 +100E +381C +1FF8 +1FF0 +07C0 +0000 +0000 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 15 32 -2 -8 +BITMAP +01FE +01FE +01FE +03FE +03FC +03FC +03FC +03FC +07FC +07F8 +07F8 +07F8 +0FF8 +0FF0 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +1E00 +3C00 +7800 +F800 +F880 +FF80 +FF00 +7C00 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 14 32 -2 -8 +BITMAP +00F0 +01F8 +03FC +03FC +03FC +03F8 +00F0 +07F8 +07F8 +07F0 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FE0 +1FE0 +1FC0 +1FC0 +3FC0 +3FC0 +3FC0 +3F80 +1E00 +7C00 +F800 +F800 +F900 +FF00 +FF80 +7C00 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 13 33 0 0 +BITMAP +00F0 +03F8 +03F8 +03F8 +03F8 +03F8 +01E0 +0000 +0000 +07F8 +07F8 +07F8 +0FF8 +0FF0 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +3FC0 +3FC0 +3FC0 +7FC0 +7F80 +7F80 +7F80 +7F80 +FF80 +FF00 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 11 17 0 0 +BITMAP +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +7F00 +FF00 +FF00 +FF00 +FE00 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 912 0 +DWIDTH 35 0 +BBX 36 24 0 0 +BITMAP +07F8001FF0 +07F8001FE0 +07F8001FE0 +0FF8001FE0 +0FF0001FE0 +0FF0003FE0 +0FF0003FC0 +0FF0003FC0 +1FF0003FC0 +1FE0007FC0 +1FE0007FC0 +1FE0007F80 +3FE0007F80 +3FC0007F80 +3FC000FF80 +3FC7F0FF00 +3FCFF0FF00 +7FCFE0FF00 +7F8FE1FF00 +7F8FE1FE00 +7F8FF1FE00 +7F87FFF800 +FF83FFF000 +FF00FF8000 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 580 0 +DWIDTH 22 0 +BBX 23 30 0 -6 +BITMAP +03C078 +07E0FC +0FF1FE +0FF1FE +0FF1FC +0FE1FC +03C0F8 +1FE3FC +1FE3F8 +1FC7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3FC7F0 +3F8FF0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FE0 +7F1FE0 +FF1FE0 +FF1FE0 +FF1FC0 +FE3FC0 +003FC0 +003F80 +007F80 +01FF00 +01FC00 +01F000 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 590 0 +DWIDTH 22 0 +BBX 28 33 -1 0 +BITMAP +00001F80 +00003F80 +00007FC0 +0000F1C0 +0001E0E0 +000780F0 +00000000 +00000000 +00000000 +0000FF80 +0000FF00 +0000FF00 +0000FF00 +0001FF00 +0001FE00 +0001FE00 +0001FE00 +0003FE00 +0003FE00 +0003FC00 +0003FC00 +0003FC00 +0007FC00 +0007F800 +7F87F800 +7F07F800 +7F0FF800 +7F0FF000 +7F0FF000 +FF1FE000 +7FFFC000 +1FFF8000 +07FC0000 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 294 0 +DWIDTH 11 0 +BBX 19 30 -4 -6 +BITMAP +007F00 +00FF80 +01F780 +03C3C0 +0F01E0 +000000 +000000 +01FE00 +01FE00 +01FC00 +03FC00 +03FC00 +03FC00 +03FC00 +07F800 +07F800 +07F800 +07F800 +07F000 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FC000 +1FC000 +FF8000 +FF0000 +F80000 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 608 0 +DWIDTH 23 0 +BBX 25 35 0 -11 +BITMAP +07F80F80 +07F81E00 +07F83E00 +0FF87C00 +0FF07800 +0FF0F000 +0FF1E000 +0FF3C000 +1FF78000 +1FEF0000 +1FFF8000 +1FFF8000 +3FFFC000 +3FFFC000 +3FDFC000 +3FDFE000 +3FDFE000 +7FCFF000 +7F8FF000 +7F8FF000 +7F87F800 +7F87F800 +FF87F800 +FF03FC00 +00000000 +00000000 +00200000 +00F00000 +01F80000 +01F80000 +00F00000 +00700000 +00E00000 +01C00000 +01800000 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 599 0 +DWIDTH 23 0 +BBX 23 37 0 -11 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE03E +1FE0FC +1FC1F0 +3FC3E0 +3FC7C0 +3FCF80 +3FFF00 +3FFF00 +7FFF80 +7FFF80 +7FBFC0 +7FBFC0 +7F1FE0 +FF1FE0 +FF0FF0 +FF0FF8 +FE07F8 +000000 +000000 +004000 +01E000 +03F000 +01F000 +00F000 +00E000 +01C000 +038000 +030000 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 583 0 +DWIDTH 22 0 +BBX 23 17 0 0 +BITMAP +1FE03E +1FE0FC +1FC1F0 +3FC3E0 +3FC7C0 +3FCF80 +3FFF00 +3FFF00 +7FFF80 +7FFF80 +7FBFC0 +7FBFC0 +7F1FE0 +FF1FE0 +FF0FF0 +FF0FF8 +FE07F8 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 482 0 +DWIDTH 18 0 +BBX 18 33 0 0 +BITMAP +001FC0 +001F80 +003F00 +003E00 +007800 +007000 +00E000 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FE000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 17 34 0 0 +BITMAP +003F80 +003F00 +007C00 +00F800 +00F000 +01E000 +01C000 +000000 +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE000 +1FE000 +1FC000 +3FC000 +3FC000 +3FC000 +3FC000 +3F8000 +7F8000 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 482 0 +DWIDTH 18 0 +BBX 17 35 0 -11 +BITMAP +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FE000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +000000 +000000 +010000 +07C000 +07C000 +0FC000 +03C000 +038000 +030000 +060000 +0C0000 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 14 37 -1 -11 +BITMAP +03FC +03FC +07F8 +07F8 +07F8 +07F8 +07F0 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FE0 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7F00 +0000 +0000 +1000 +3C00 +7C00 +7C00 +3C00 +3C00 +3800 +F000 +4000 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 482 0 +DWIDTH 18 0 +BBX 18 33 0 0 +BITMAP +0E01C0 +0703C0 +078F80 +039F00 +03FE00 +01FC00 +01F800 +000000 +000000 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FE000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 393 0 +DWIDTH 15 0 +BBX 20 26 0 0 +BITMAP +07F800 +07F9E0 +0FF3F0 +0FF7F0 +0FF7F0 +0FF3F0 +0FE1E0 +1FE1C0 +1FE780 +1FE700 +1FE400 +1FC000 +3FC000 +3FC000 +3FC000 +3FC000 +3F8000 +7F8000 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 505 0 +DWIDTH 19 0 +BBX 20 24 0 0 +BITMAP +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE3C0 +1FE7E0 +1FEFF0 +3FEFF0 +3FEFE0 +3FCFE0 +3FC7C0 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 472 0 +DWIDTH 18 0 +BBX 19 26 0 0 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE000 +1FE000 +1FC780 +3FCFC0 +3FDFE0 +3FDFE0 +3FDFE0 +3F9FC0 +7F8F80 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 514 0 +DWIDTH 20 0 +BBX 18 24 0 0 +BITMAP +03FE00 +03FC00 +03FC00 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F880 +0FFF00 +0FFF00 +FFFF00 +FFFC00 +FFF000 +DFF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FFFC0 +3FFFC0 +7FFF80 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 399 0 +DWIDTH 15 0 +BBX 17 26 0 0 +BITMAP +01FE00 +01FE00 +01FE00 +01FC00 +03FC00 +03FC00 +03FC00 +03FC80 +03FF80 +07FF80 +07FF80 +0FFE00 +7FF000 +7FF000 +7FF000 +CFF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE000 +1FE000 +1FC000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 33 0 0 +BITMAP +00007F00 +00007E00 +0000FC00 +0000F800 +0001E000 +0003C000 +00038000 +00000000 +00000000 +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +0007F0 +000FC0 +000F80 +001E00 +003C00 +000000 +000000 +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 35 0 -11 +BITMAP +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +00000000 +00000000 +00200000 +00F00000 +01F80000 +01F80000 +00F00000 +00700000 +00E00000 +01C00000 +01800000 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 28 0 -11 +BITMAP +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +000000 +000000 +008000 +03E000 +03E000 +03E000 +01E000 +01C000 +01C000 +078000 +020000 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 33 0 0 +BITMAP +00700E00 +00381C00 +003C7C00 +001CF800 +001FF000 +000FE000 +000FC000 +00000000 +00000000 +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +03C078 +01E1E0 +00F3C0 +00FF80 +007F00 +000000 +000000 +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 30 0 0 +BITMAP +078000 +0FC000 +0FC000 +0FC000 +0FC000 +07C000 +038000 +070000 +0E0000 +1C0000 +000000 +000000 +000000 +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 30 0 -6 +BITMAP +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1C7F9E00 +3C7F9E00 +3C7F9E00 +3C3FDC00 +383FDC00 +383FFC00 +781FFC00 +781FF800 +701FF800 +700FF800 +700FF800 +F00FF800 +F00FF000 +000FF000 +001FE000 +07FFE000 +07FF8000 +0FFF0000 +07FC0000 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 23 0 -6 +BITMAP +1F83E0 +1FCFF0 +1FFFF8 +3FEFF8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +001FC0 +003FC0 +003F80 +00FF00 +00FE00 +01F000 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 31 1 0 +BITMAP +007FFE00 +007FFE00 +007FFC00 +00000000 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +01FFF0 +03FFF0 +03FFF0 +000000 +000000 +000000 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 33 1 0 +BITMAP +00000400 +00380E00 +003C3C00 +001FF800 +000FF000 +00010000 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 25 0 0 +BITMAP +000020 +00C070 +00E0E0 +00FFC0 +007F80 +000C00 +000000 +000000 +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 29 33 1 0 +BITMAP +0007F3F8 +000FC7E0 +000F87C0 +001F0F80 +003C1E00 +00783C00 +00000000 +00000000 +00000000 +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 26 24 0 0 +BITMAP +003F9FC0 +007E3F00 +007C3E00 +00F87C00 +01E0F000 +03C1E000 +00000000 +00FF0000 +07FFC000 +0FFFE000 +1FC7F000 +3FC7F000 +7F87F800 +7F87F800 +7F87F800 +FF07F800 +FF0FF000 +FF0FF000 +7F0FF000 +7F1FE000 +7F1FE000 +3FFFC000 +1FFF0000 +07FC0000 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 874 0 +DWIDTH 33 0 +BBX 34 24 1 0 +BITMAP +003FFFFFC0 +01FFFFFFC0 +03FFFFFFC0 +07F8FFC000 +0FF0FF8000 +1FE0FF8000 +3FE0FF8000 +3FE0FF8000 +7FC0FF8000 +7FC0FF0000 +7FC0FFFE00 +7F80FFFC00 +FF81FFFC00 +FF81FE0000 +FF81FE0000 +FF81FE0000 +FF83FE0000 +7F83FE0000 +7F87FE0000 +7F87FC0000 +3F8FFC0000 +3FFFFFFC00 +0FFFFFF800 +03FFFFF800 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 918 0 +DWIDTH 35 0 +BBX 34 17 0 0 +BITMAP +01FF03FE00 +07FFDFFF80 +0FFFFFFFC0 +1FC7FF1FC0 +3FC7FF1FC0 +7F87FE1FC0 +7F87FE1FC0 +7F87FFFFC0 +FF07FFFF80 +FF0FFC0000 +FF0FFC0000 +7F0FFC3F80 +7F1FFC3F00 +7F1FFC7F00 +3FFFFFFF00 +1FFF7FFE00 +07FC1FF000 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 633 0 +DWIDTH 24 0 +BBX 24 33 0 0 +BITMAP +0000FC +0001F8 +0001F0 +0003E0 +0007C0 +000780 +000F00 +000000 +000000 +07FFF0 +07FFFC +07FFFE +0FF8FE +0FF0FF +0FF0FF +0FF0FF +0FF0FE +1FF0FE +1FE1FE +1FE3FC +1FFFF8 +3FFFE0 +3FFFE0 +3FDFE0 +3FCFE0 +3FCFF0 +7FCFF0 +7F8FF8 +7F87F8 +7F87F8 +7F87FC +FF83FC +FF03FE +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 483 0 +DWIDTH 18 0 +BBX 19 24 0 0 +BITMAP +0007E0 +000FC0 +001F00 +001E00 +003C00 +004000 +000000 +1F87E0 +1FCFE0 +1FDFC0 +3FFFC0 +3FEFC0 +3FC7C0 +3FC7C0 +3F8780 +7F8780 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 633 0 +DWIDTH 24 0 +BBX 24 35 0 -11 +BITMAP +07FFF0 +07FFFC +07FFFE +0FF8FE +0FF0FF +0FF0FF +0FF0FF +0FF0FE +1FF0FE +1FE1FE +1FE3FC +1FFFF8 +3FFFE0 +3FFFE0 +3FDFE0 +3FCFE0 +3FCFF0 +7FCFF0 +7F8FF8 +7F87F8 +7F87F8 +7F87FC +FF83FC +FF03FE +000000 +000000 +002000 +00F800 +01F800 +00F800 +007800 +007000 +00E000 +01C000 +018000 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 483 0 +DWIDTH 18 0 +BBX 19 28 0 -11 +BITMAP +1F87E0 +1FCFE0 +1FDFC0 +3FFFC0 +3FEFC0 +3FC7C0 +3FC7C0 +3F8780 +7F8780 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +000000 +000000 +100000 +780000 +FC0000 +FC0000 +780000 +380000 +700000 +E00000 +800000 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 633 0 +DWIDTH 24 0 +BBX 24 33 0 0 +BITMAP +00E01E +00703C +007878 +003DF0 +003FE0 +001FC0 +001F80 +000000 +000000 +07FFF0 +07FFFC +07FFFE +0FF8FE +0FF0FF +0FF0FF +0FF0FF +0FF0FE +1FF0FE +1FE1FE +1FE3FC +1FFFF8 +3FFFE0 +3FFFE0 +3FDFE0 +3FCFE0 +3FCFF0 +7FCFF0 +7F8FF8 +7F87F8 +7F87F8 +7F87FC +FF83FC +FF03FE +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 483 0 +DWIDTH 18 0 +BBX 20 24 0 0 +BITMAP +0780F0 +03C3C0 +01E780 +01FF00 +00FE00 +000000 +000000 +1F87E0 +1FCFE0 +1FDFC0 +3FFFC0 +3FEFC0 +3FC7C0 +3FC7C0 +3F8780 +7F8780 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 24 33 0 0 +BITMAP +00007F +00007E +0000F8 +0001F0 +0001E0 +0003C0 +000000 +000000 +000000 +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 20 24 -1 0 +BITMAP +0007F0 +000FC0 +000F80 +001E00 +003C00 +000000 +000000 +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 33 0 0 +BITMAP +0003F0 +0007F8 +000FF8 +001F3C +003C1C +00780E +000000 +000000 +000000 +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 19 24 -1 0 +BITMAP +003F00 +00FF80 +01F780 +03C3C0 +0781E0 +080000 +000000 +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +ENDCHAR +STARTCHAR uni015E +ENCODING 350 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 32 0 -8 +BITMAP +001FE0 +00FFFC +03FFFE +07E1FC +0FC1FC +1FC1FC +1FC1F8 +3FC000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +00FFF8 +001FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +FFFF80 +1FFE00 +03C000 +078000 +0F0000 +1F0000 +1F2000 +1FF000 +1FE000 +0F8000 +ENDCHAR +STARTCHAR uni015F +ENCODING 351 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 18 25 -1 -8 +BITMAP +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFF80 +01FFC0 +007FC0 +7C3FC0 +7C3FC0 +7E7F80 +FFFF00 +1FFC00 +078000 +0F0000 +1F0000 +1E0000 +3E2000 +3FE000 +1FE000 +0F8000 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 33 0 0 +BITMAP +00700E +00783C +003C78 +001CF0 +001FE0 +000FC0 +000000 +000000 +000000 +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 20 24 -1 0 +BITMAP +0380F0 +01C1E0 +01E7C0 +00FF80 +007F00 +000000 +000000 +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +ENDCHAR +STARTCHAR uni0162 +ENCODING 354 +SWIDTH 555 0 +DWIDTH 21 0 +BBX 22 32 2 -8 +BITMAP +7FFFFC +7FFFF8 +7FFFF8 +01FE00 +03FE00 +03FC00 +03FC00 +03FC00 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +0F0000 +3C0000 +7C0000 +780000 +F88000 +FF8000 +7F8000 +3E0000 +ENDCHAR +STARTCHAR uni0163 +ENCODING 355 +SWIDTH 393 0 +DWIDTH 15 0 +BBX 14 30 1 -8 +BITMAP +00F8 +01F0 +03F0 +07F0 +1FF0 +7FFC +FFFC +FFFC +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7FF0 +3FE0 +1FE0 +3E00 +7800 +F800 +F800 +F900 +FF80 +FE00 +1000 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 555 0 +DWIDTH 21 0 +BBX 21 33 3 0 +BITMAP +0700F0 +0381E0 +03C3C0 +01EF80 +01FF00 +00FE00 +00FC00 +000000 +000000 +FFFFF8 +FFFFF0 +FFFFF0 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 473 0 +DWIDTH 18 0 +BBX 22 25 1 0 +BITMAP +000078 +0000FC +0000FC +00F9FC +01F0FC +03F038 +07F070 +1FF0E0 +7FFDC0 +FFFD00 +FFFC00 +1FE000 +1FE000 +1FC000 +3FC000 +3FC000 +3FC000 +3FC000 +3F8000 +7F8000 +7F8000 +7F8000 +7FF000 +3FE000 +1FE000 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 559 0 +DWIDTH 21 0 +BBX 21 24 3 0 +BITMAP +FFFFF8 +FFFFF8 +FFFFF0 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +3FFE00 +3FFE00 +7FFE00 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FE000 +3FC000 +3FC000 +3FC000 +7FC000 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 394 0 +DWIDTH 15 0 +BBX 15 22 0 0 +BITMAP +007C +00F8 +01F8 +03F8 +0FF8 +3FFE +7FFE +7FFE +0FF0 +0FF0 +0FE0 +7FFC +FFFC +FFFC +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FF8 +1FF0 +0FF0 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +001F83 +003FFE +007FFE +00FFFC +0041F8 +000000 +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +007FFC +00FFF8 +01FFF0 +03FFE0 +000000 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 31 1 0 +BITMAP +003FFE +007FFE +007FFE +000000 +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +01FFF8 +01FFF0 +01FFF0 +020000 +000000 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 33 1 0 +BITMAP +000004 +00300C +00383C +001FF8 +000FE0 +000300 +000000 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 25 0 0 +BITMAP +000020 +00C070 +00E0E0 +007FE0 +007F80 +000C00 +000000 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 34 1 0 +BITMAP +000080 +0003E0 +0007F0 +000630 +000670 +0007F0 +0003E0 +000080 +000000 +000000 +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 25 0 0 +BITMAP +000F00 +001F80 +003F80 +003180 +003F80 +001F00 +000400 +000000 +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 28 33 1 0 +BITMAP +0007E7F0 +000FC7C0 +001F0F80 +003E1F00 +003C3E00 +00707800 +00000000 +00000000 +00000000 +0FF00700 +0FF00F00 +1FF00F00 +1FF00E00 +1FF00E00 +1FE01E00 +3FE01E00 +3FE01E00 +3FE01C00 +3FC01C00 +3FC03C00 +7FC03C00 +7FC03800 +7FC03800 +7F803800 +7F807800 +FF807800 +FF807000 +FF80F000 +FF80E000 +7FC1E000 +7FFFC000 +3FFF0000 +07F80000 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 26 24 0 0 +BITMAP +003F9FC0 +007E3F00 +007C7E00 +00F07800 +01E0F000 +03C1E000 +00000000 +1FE3FC00 +1FC3FC00 +3FC3F800 +3FC7F800 +3FC7F800 +3FC7F800 +3F87F800 +7F87F000 +7F8FF000 +7F8FF000 +7F8FF000 +7F0FF000 +FF1FE000 +FFBFE000 +7FEFE000 +7FCFE000 +1F0FE000 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 32 1 -8 +BITMAP +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE00E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF8070 +FF80E0 +7FC1E0 +7FFFC0 +3FFF80 +1FFE00 +01C000 +078000 +0F0000 +1F0000 +1F1000 +1FF000 +1FE000 +0F8000 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 25 0 -8 +BITMAP +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +7FFFE0 +7FCFE0 +1F0FE0 +000780 +001F00 +001E00 +003E00 +003E40 +003FE0 +003FC0 +001F00 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 944 0 +DWIDTH 36 0 +BBX 35 33 3 0 +BITMAP +00001F8000 +00003F8000 +00007FC000 +0000F9C000 +0001E1E000 +0003C0E000 +0003807000 +0000000000 +0000000000 +FF80FF01E0 +FF80FF01E0 +FF81FF03C0 +FF81FF03C0 +FF83FF0780 +FF83FF0780 +FF83FF0780 +FFC7FF0F00 +7FC7FF0F00 +7FC7FF1E00 +7FCFFF1E00 +7FCFFF1E00 +7FDFFF3C00 +7FDE7FBC00 +7FDE7FF800 +7FFC7FF800 +7FFC7FF800 +7FF87FF000 +7FF87FF000 +7FF87FE000 +7FF07FE000 +7FF07FE000 +7FE07FC000 +3FE07FC000 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 831 0 +DWIDTH 32 0 +BBX 31 24 1 0 +BITMAP +0000FC00 +0003FE00 +0007CE00 +000F0700 +001E0380 +00000000 +00000000 +FF03FC1E +7F83FC1E +7F87FC3C +7F87FC3C +7F8FFC38 +7F8FFC78 +7F8FFC78 +7F9FFCF0 +3F9FFCF0 +3F9DFEE0 +3FFDFFE0 +3FF9FFC0 +3FF9FFC0 +3FF1FF80 +3FF0FF80 +1FE0FF80 +1FE0FF00 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 21 33 3 0 +BITMAP +001F80 +003F80 +007FC0 +00F9C0 +00F0E0 +01C0F0 +038070 +000000 +000000 +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 30 -2 -6 +BITMAP +0007F0 +000FF8 +001F78 +003C3C +00F01E +000000 +000000 +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 21 32 3 0 +BITMAP +00E0E0 +01F1F0 +03F3F0 +03F3F0 +01F1F0 +01E1E0 +000000 +000000 +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 553 0 +DWIDTH 21 0 +BBX 23 33 -1 0 +BITMAP +0000FE +0001F8 +0001F0 +0003E0 +0003C0 +000780 +000F00 +000000 +000000 +0FFFFE +0FFFFE +0FFFFE +0007FE +000FFC +001FF8 +001FF8 +003FF0 +007FE0 +007FC0 +00FFC0 +01FF80 +03FF00 +03FF00 +07FE00 +0FFC00 +0FFC00 +1FF800 +3FF000 +3FF000 +7FE000 +7FFFF0 +FFFFF0 +FFFFF0 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 478 0 +DWIDTH 18 0 +BBX 20 24 -1 0 +BITMAP +0007F0 +000FC0 +001F00 +001E00 +003C00 +000000 +000000 +1FFFE0 +1FFFE0 +1FFFE0 +003FC0 +007F80 +00FF00 +01FF00 +03FE00 +07FC00 +0FF800 +1FF000 +3FE000 +3FC000 +7FC000 +FFFF80 +FFFF80 +FFFF80 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 553 0 +DWIDTH 21 0 +BBX 23 33 -1 0 +BITMAP +0003C0 +000FE0 +000FE0 +000FE0 +000FE0 +000FE0 +000780 +000000 +000000 +0FFFFE +0FFFFE +0FFFFE +0007FE +000FFC +001FF8 +001FF8 +003FF0 +007FE0 +007FE0 +00FFC0 +01FF80 +03FF80 +03FF00 +07FE00 +0FFC00 +0FFC00 +1FF800 +3FF000 +3FF000 +7FE000 +7FFFF0 +FFFFF0 +FFFFF0 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 478 0 +DWIDTH 18 0 +BBX 19 24 -1 0 +BITMAP +001E00 +003F00 +007F80 +007F80 +007F00 +007F00 +003E00 +1FFFE0 +1FFFE0 +1FFFE0 +003FC0 +007F80 +00FF00 +01FF00 +03FE00 +07FC00 +0FF800 +1FF000 +3FE000 +3FC000 +7FC000 +FFFF80 +FFFF80 +FFFF80 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 553 0 +DWIDTH 21 0 +BBX 24 33 -1 0 +BITMAP +007007 +00381E +001C3C +001E78 +000FF0 +000FE0 +0007C0 +000000 +000000 +0FFFFE +0FFFFE +0FFFFE +0007FE +000FFC +001FF8 +001FF8 +003FF0 +007FE0 +007FE0 +00FFC0 +01FF80 +03FF80 +03FF00 +07FE00 +0FFC00 +0FFC00 +1FF800 +3FF000 +3FF000 +7FE000 +7FFFF0 +FFFFF0 +FFFFF0 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 478 0 +DWIDTH 18 0 +BBX 21 24 -1 0 +BITMAP +03C078 +01E1E0 +00F7C0 +007F80 +007F00 +000000 +000000 +1FFFE0 +1FFFE0 +1FFFE0 +003FC0 +007F80 +00FF00 +01FF00 +03FE00 +07FC00 +0FF800 +1FF000 +3FE000 +3FC000 +7FC000 +FFFF80 +FFFF80 +FFFF80 +ENDCHAR +STARTCHAR Schwa +ENCODING 399 +SWIDTH 646 0 +DWIDTH 25 0 +BBX 23 24 1 0 +BITMAP +00FFC0 +07FFF0 +1FFFF8 +1FF1FC +1FE1FC +1FC1FE +1F81FE +3F81FE +0001FE +0001FE +7FFFFE +FFFFFE +FFFFFE +FF03FE +FF03FE +FE07FC +FE07FC +FE07F8 +FE0FF8 +FE0FF0 +FF1FE0 +7FFFC0 +3FFF00 +0FF800 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 507 0 +DWIDTH 19 0 +BBX 26 33 -4 -6 +BITMAP +00007F80 +0001FFC0 +0003FFC0 +0007FFC0 +000FF000 +001FE000 +001FE000 +001FC000 +003FC000 +003FC000 +01FFFC00 +01FFFC00 +01FFF800 +007F8000 +007F8000 +007F8000 +007F8000 +007F0000 +00FF0000 +00FF0000 +00FF0000 +00FF0000 +00FE0000 +01FE0000 +01FE0000 +01FE0000 +01FC0000 +03FC0000 +03F80000 +07F80000 +7FE00000 +7FC00000 +FE000000 +ENDCHAR +STARTCHAR uni01C4 +ENCODING 452 +SWIDTH 1188 0 +DWIDTH 45 0 +BBX 46 33 0 0 +BITMAP +00000001C038 +00000001C0F0 +00000000E1E0 +00000000F3C0 +000000007F80 +000000007F00 +000000003F00 +000000000000 +000000000000 +07FFF01FFFFC +07FFFC1FFFFC +07FFFE1FFFFC +0FF8FF000FFC +0FF07F001FF8 +0FF07F003FF0 +0FF07F803FF0 +0FF07F807FE0 +1FF0FF80FFC0 +1FE0FF80FFC0 +1FE0FF81FF80 +1FE0FF83FF00 +3FE0FF03FF00 +3FE0FF07FE00 +3FC1FF0FFC00 +3FC1FF0FFC00 +3FC1FE1FF800 +7FC3FE3FF000 +7F83FC7FF000 +7F87FC7FE000 +7F8FF8FFC000 +7FFFE0FFFFF0 +FFFFC0FFFFE0 +FFFE01FFFFE0 +ENDCHAR +STARTCHAR uni01C5 +ENCODING 453 +SWIDTH 1131 0 +DWIDTH 43 0 +BBX 43 24 0 0 +BITMAP +07FFF00701E0 +07FFFC038380 +07FFFE03CF00 +0FF8FF01FE00 +0FF07F01FC00 +0FF07F000000 +0FF07F800000 +0FF07F9FFFE0 +1FF0FF9FFFE0 +1FE0FF9FFFE0 +1FE0FF807FC0 +1FE0FF807F80 +3FE0FF00FF00 +3FE0FF01FE00 +3FC1FF03FC00 +3FC1FF07FC00 +3FC1FE0FF800 +7FC3FE1FF000 +7F83FC3FE000 +7F87FC7FC000 +7F8FF8FF8000 +7FFFE0FFFF80 +FFFFC0FFFF80 +FFFE00FFFF80 +ENDCHAR +STARTCHAR uni01C6 +ENCODING 454 +SWIDTH 1063 0 +DWIDTH 40 0 +BBX 40 26 0 0 +BITMAP +0000FF0000 +0001FE0000 +0001FE380F +0001FE1C1E +0001FE0E7C +0001FC0FF8 +0003FC07F0 +0003FC0000 +0003FC0000 +03E3FCFFFF +0FFBF8FFFF +1FFFF8FFFF +3FFFF801FE +3FC7F803FC +7F87F807FC +7F87F00FF8 +7F8FF01FF0 +7F0FF03FE0 +FF0FF07FC0 +FF0FF07F80 +FF0FE0FF00 +FF1FE1FF00 +FF3FE3FE00 +7FFFE7FFFC +7FCFC7FFFC +1F0FC7FFFC +ENDCHAR +STARTCHAR uni01C7 +ENCODING 455 +SWIDTH 1069 0 +DWIDTH 41 0 +BBX 42 24 0 0 +BITMAP +07F800007FC0 +07F800007F80 +07F800007F80 +0FF800007F80 +0FF000007F80 +0FF00000FF80 +0FF00000FF00 +0FF00000FF00 +1FF00000FF00 +1FE00001FF00 +1FE00001FE00 +1FE00001FE00 +3FE00001FE00 +3FE00001FE00 +3FC00003FE00 +3FC01FC3FC00 +3FC03FC3FC00 +7FC03F83FC00 +7F803F87FC00 +7F803F87F800 +7F803FC7F000 +7FFFBFFFE000 +FFFF0FFFC000 +FFFF03FE0000 +ENDCHAR +STARTCHAR uni01C8 +ENCODING 456 +SWIDTH 763 0 +DWIDTH 29 0 +BBX 30 30 0 -6 +BITMAP +07F800F0 +07F803F8 +07F803FC +0FF803FC +0FF003F8 +0FF001F0 +0FF00000 +0FF007F8 +1FF007F0 +1FE00FF0 +1FE00FF0 +1FE00FF0 +3FE00FF0 +3FE00FE0 +3FC01FE0 +3FC01FE0 +3FC01FE0 +7FC01FE0 +7F801FC0 +7F803FC0 +7F803FC0 +7FFFBFC0 +FFFF3F80 +FFFF7F80 +00007F80 +00007F00 +0000FF00 +0003FE00 +0003F800 +0003E000 +ENDCHAR +STARTCHAR uni01C9 +ENCODING 457 +SWIDTH 579 0 +DWIDTH 22 0 +BBX 23 32 0 -6 +BITMAP +07F800 +07F800 +0FF078 +0FF0FC +0FF1FE +0FF1FE +0FE1FC +1FE1FC +1FE0F8 +1FE3FC +1FE3F8 +1FC7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3FC7F0 +3F8FF0 +7F8FF0 +7F8FF0 +7F8FF0 +7F8FE0 +7F1FE0 +FF1FE0 +FF1FE0 +FF1FC0 +FE3FC0 +003FC0 +003F80 +007F80 +01FF00 +01FC00 +01F000 +ENDCHAR +STARTCHAR uni01CA +ENCODING 458 +SWIDTH 1229 0 +DWIDTH 47 0 +BBX 48 24 0 0 +BITMAP +07FC038001FF +07FE038001FF +07FE078001FE +0FFE078001FE +0FFE070001FE +0FFE070003FE +0FFF070003FC +0FFF0F0003FC +1EFF0F0003FC +1EFF0E0003FC +1CFF8E0007FC +1CFF9E0007F8 +3C7F9E0007F8 +3C7F9E0007F8 +387FDC000FF8 +387FDC7F0FF0 +383FFCFF0FF0 +783FFCFE0FF0 +783FF8FE0FF0 +703FF8FE1FE0 +701FF8FF1FE0 +701FF87FFFC0 +F01FF83FFF00 +F01FF00FF800 +ENDCHAR +STARTCHAR uni01CB +ENCODING 459 +SWIDTH 923 0 +DWIDTH 35 0 +BBX 36 30 0 -6 +BITMAP +07FC0383C0 +07FE038FE0 +07FE078FF0 +0FFE078FF0 +0FFE070FE0 +0FFE0707C0 +0FFF070000 +0FFF0F1FE0 +1EFF0F1FE0 +1CFF0E3FC0 +1CFF8E3FC0 +1CFF9E3FC0 +3C7F9E3FC0 +3C7F9E3F80 +387FDC7F80 +387FDC7F80 +383FFC7F80 +783FFC7F80 +783FF87F00 +703FF8FF00 +701FF8FF00 +701FF8FF00 +F01FF8FF00 +F01FF0FE00 +000001FE00 +000001FC00 +000003FC00 +00000FF800 +00000FE000 +00000F8000 +ENDCHAR +STARTCHAR uni01CC +ENCODING 460 +SWIDTH 875 0 +DWIDTH 33 0 +BBX 34 30 0 -6 +BITMAP +0000000F00 +0000001F80 +0000003FC0 +0000003FC0 +0000003FC0 +0000003F80 +0000000F00 +1F83E07F80 +1FCFF07F80 +1FFFF87F00 +3FE7F8FF00 +3FC7F8FF00 +3FC7F8FF00 +3FC7F8FF00 +3F87F8FE00 +7F87F1FE00 +7F8FF1FE00 +7F8FF1FE00 +7F8FF1FE00 +7F0FF1FC00 +FF0FE3FC00 +FF1FE3FC00 +FF1FE3FC00 +FE1FE3F800 +000003F800 +000007F800 +000007F000 +00001FE000 +00003FC000 +00003E0000 +ENDCHAR +STARTCHAR Oogonek +ENCODING 490 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 32 1 -8 +BITMAP +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F83FC00 +7F87F800 +3F8FF800 +3FFFF000 +1FFFC000 +03FF0000 +03C00000 +07800000 +0F800000 +0F800000 +0F900000 +0FF80000 +0FE00000 +02000000 +ENDCHAR +STARTCHAR oogonek +ENCODING 491 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 25 0 -8 +BITMAP +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +7F07F8 +FF0FF8 +FF0FF0 +7F0FF0 +7F0FE0 +7F1FE0 +3FFFC0 +1FFF80 +07FC00 +03C000 +0F8000 +1F0000 +1F0000 +1F2000 +1FF000 +1FC000 +020000 +ENDCHAR +STARTCHAR uni01F1 +ENCODING 497 +SWIDTH 1194 0 +DWIDTH 45 0 +BBX 47 24 0 0 +BITMAP +07FFF00FFFFE +07FFFC1FFFFC +07FFFE1FFFFC +0FF8FF000FFC +0FF07F001FF8 +0FF07F001FF8 +0FF07F803FF0 +0FF07F807FE0 +1FF0FF807FE0 +1FE0FF80FFC0 +1FE0FF81FF80 +1FE0FF81FF80 +3FE0FF03FF00 +3FE0FF07FE00 +3FC1FF0FFE00 +3FC1FF0FFC00 +3FC1FE1FF800 +7FC3FE3FF000 +7F83FC3FF000 +7F87FC7FE000 +7F8FF8FFC000 +7FFFE0FFFFF0 +FFFFC0FFFFF0 +FFFE00FFFFE0 +ENDCHAR +STARTCHAR uni01F2 +ENCODING 498 +SWIDTH 1131 0 +DWIDTH 43 0 +BBX 43 24 0 0 +BITMAP +07FFF0000000 +07FFFC000000 +07FFFE000000 +0FF8FF000000 +0FF07F000000 +0FF07F000000 +0FF07F800000 +0FF07F9FFFE0 +1FF0FF9FFFE0 +1FE0FF9FFFE0 +1FE0FF807FC0 +1FE0FF807F80 +3FE0FF00FF00 +3FE0FF01FE00 +3FC1FF03FC00 +3FC1FF07FC00 +3FC1FE0FF800 +7FC3FE1FF000 +7F83FC3FE000 +7F87FC7FC000 +7F8FF8FF8000 +7FFFE0FFFF80 +FFFFC0FFFF80 +FFFE00FFFF80 +ENDCHAR +STARTCHAR uni01F3 +ENCODING 499 +SWIDTH 1063 0 +DWIDTH 40 0 +BBX 40 26 0 0 +BITMAP +0000FF0000 +0001FE0000 +0001FE0000 +0001FE0000 +0001FE0000 +0001FC0000 +0003FC0000 +0003FC0000 +0003FC0000 +03E3FCFFFF +0FFBF8FFFF +1FFFF8FFFF +3FFFF801FE +3FC7F803FC +7F87F807FC +7F87F00FF8 +7F8FF01FF0 +7F0FF03FE0 +FF0FF07FC0 +FF0FF07F80 +FF0FE0FF00 +FF1FE1FF00 +FF3FE3FE00 +7FFFE7FFFC +7FCFC7FFFC +1F0FC7FFFC +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 602 0 +DWIDTH 23 0 +BBX 24 38 -2 0 +BITMAP +00001F +00001E +00003C +000078 +000070 +0000E0 +000080 +0003E0 +0007F0 +000630 +000670 +0007F0 +0003E0 +000080 +001FF0 +001FF8 +003FF8 +003FF8 +007FF8 +007FF8 +00F7F8 +00E7F8 +01E7F8 +01C7F8 +01C7FC +03C7FC +0387FC +0787FC +0707FC +0FFFFC +0FFFFC +1FFFFC +1C03FC +3C03FE +3803FE +7803FE +7803FE +F003FE +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 552 0 +DWIDTH 21 0 +BBX 22 33 -1 0 +BITMAP +0000FC +0001F8 +0001F0 +0003E0 +000780 +000F00 +000000 +000000 +000E00 +003F00 +003F80 +003380 +003F00 +003F00 +000800 +000000 +00FF80 +07FFE0 +0FFFF0 +1F87F0 +1F87F0 +0007F8 +0007F0 +07FFF0 +1FFFF0 +7F8FF0 +7F0FF0 +7F0FF0 +FF0FE0 +7FBFE0 +7FFFE0 +3FCFE0 +1F0FE0 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 814 0 +DWIDTH 31 0 +BBX 35 33 -2 0 +BITMAP +0000001FC0 +0000001F80 +0000003F00 +0000003C00 +0000007800 +000000F000 +000000E000 +0000000000 +0000000000 +00007FFFE0 +00007FFFE0 +0000FFFFC0 +0001FFC000 +0003BFC000 +0003BFC000 +00077FC000 +000E7FC000 +001C7F8000 +001C7F8000 +00387FFE00 +0070FFFE00 +00E0FFFE00 +00FFFF0000 +01FFFF0000 +03FFFF0000 +0701FF0000 +0701FE0000 +0E01FE0000 +1C01FE0000 +3C03FE0000 +3803FFFC00 +7003FFFC00 +F003FFFC00 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 830 0 +DWIDTH 32 0 +BBX 31 24 0 0 +BITMAP +00003F80 +00003E00 +00007C00 +0000F800 +0001E000 +00000000 +00000000 +03FE1FE0 +1FFFFFF8 +1FFFFFFC +3F0FF8FE +3F0FF0FE +000FF0FE +000FF0FE +0FFFFFFC +3FFFFFFC +FF1FE000 +FE1FE000 +FE1FE1F8 +FE3FE1F8 +FFFFE3F8 +FFF7FFF8 +7FC3FFF0 +3F00FF80 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 34 1 -1 +BITMAP +00007E00 +0000FC00 +0000F800 +0001F000 +0003C000 +00078000 +00000000 +00000000 +00000200 +003FE600 +01FFFF00 +03FFFE00 +0FF8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE1FF80 +7FC3FF80 +7FC7FF80 +7FCFFF80 +7F9EFF80 +FFBCFF00 +FFF9FF00 +FFF1FF00 +FFE1FF00 +FFC3FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +7FFFC000 +73FE0000 +20000000 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 25 0 -1 +BITMAP +0007F0 +0007C0 +000F80 +001F00 +003C00 +000000 +000040 +00FFE0 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F8FF8 +7F9FF8 +7FBFF8 +FF37F8 +FF6FF0 +FFCFF0 +7FCFF0 +7F8FE0 +7F1FE0 +3FFFC0 +1FFF00 +1FFC00 +380000 +ENDCHAR +STARTCHAR uni0218 +ENCODING 536 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 35 0 -11 +BITMAP +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +000000 +000000 +00E000 +01F000 +03F000 +01F000 +00E000 +00E000 +01C000 +038000 +020000 +ENDCHAR +STARTCHAR uni0219 +ENCODING 537 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 18 28 -1 -11 +BITMAP +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +000000 +000000 +03C000 +07C000 +07C000 +03C000 +03C000 +038000 +070000 +0E0000 +040000 +ENDCHAR +STARTCHAR uni021A +ENCODING 538 +SWIDTH 555 0 +DWIDTH 21 0 +BBX 21 35 3 -11 +BITMAP +FFFFF8 +FFFFF0 +FFFFF0 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +000000 +000000 +080000 +1E0000 +3E0000 +3E0000 +1E0000 +1E0000 +1C0000 +780000 +200000 +ENDCHAR +STARTCHAR uni021B +ENCODING 539 +SWIDTH 392 0 +DWIDTH 15 0 +BBX 14 33 1 -11 +BITMAP +00F8 +01F0 +03F0 +07F0 +1FF0 +7FFC +FFFC +FFFC +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7FF0 +3FE0 +1FE0 +0000 +0000 +0800 +3E00 +3E00 +3E00 +1E00 +1C00 +1C00 +3000 +6000 +ENDCHAR +STARTCHAR dotlessj +ENCODING 567 +SWIDTH 294 0 +DWIDTH 11 0 +BBX 15 23 -4 -6 +BITMAP +01FE +01FE +01FC +03FC +03FC +03FC +03FC +07F8 +07F8 +07F8 +07F8 +07F0 +0FF0 +0FF0 +0FF0 +0FF0 +0FE0 +1FE0 +1FC0 +1FC0 +FF80 +FF00 +F800 +ENDCHAR +STARTCHAR schwa +ENCODING 601 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 17 0 0 +BITMAP +03FE00 +1FFF80 +3FFFC0 +3F8FE0 +3F0FE0 +7F0FF0 +000FF0 +000FF0 +7FFFF0 +FFFFE0 +FE1FE0 +FE1FE0 +FE3FC0 +FE3FC0 +FFFF00 +7FFE00 +1FF000 +ENDCHAR +STARTCHAR apostrophe +ENCODING 700 +SWIDTH 328 0 +DWIDTH 12 0 +BBX 7 9 5 16 +BITMAP +3C +7E +7E +7E +7E +3C +38 +70 +E0 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 430 0 +DWIDTH 16 0 +BBX 14 6 1 18 +BITMAP +07E0 +0FF0 +1F78 +3C38 +781C +E01C +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 430 0 +DWIDTH 16 0 +BBX 14 6 1 18 +BITMAP +E03C +7078 +79F0 +3FE0 +1FC0 +1F80 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 382 0 +DWIDTH 15 0 +BBX 13 6 1 19 +BITMAP +0010 +4038 +E070 +7FE0 +7FC0 +1F00 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 257 0 +DWIDTH 10 0 +BBX 8 7 1 17 +BITMAP +3C +7E +FF +FF +FF +FE +7C +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 257 0 +DWIDTH 10 0 +BBX 7 8 1 17 +BITMAP +3C +7E +7E +E6 +E6 +7E +7C +10 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 251 0 +DWIDTH 10 0 +BBX 8 9 1 -8 +BITMAP +07 +1E +7C +F8 +F0 +F1 +FF +FF +7C +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 462 0 +DWIDTH 18 0 +BBX 16 5 1 19 +BITMAP +1F87 +3FFE +7FFE +FFFC +41F0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 592 0 +DWIDTH 23 0 +BBX 20 6 1 18 +BITMAP +0FE7F0 +0F8FC0 +1F0F80 +3E1F00 +7C3C00 +F07800 +ENDCHAR +STARTCHAR uni03BC +ENCODING 956 +SWIDTH 589 0 +DWIDTH 22 0 +BBX 24 23 -2 -6 +BITMAP +07F8FF +07F0FF +07F0FF +0FF0FE +0FF1FE +0FF1FE +0FE1FE +1FE1FE +1FE1FC +1FE3FC +1FE3FC +1FC3FC +3FC3FC +3FEFF8 +3FFFF8 +3FFBF8 +3FF3F8 +7F0000 +7F0000 +7F0000 +7F0000 +7F0000 +FF0000 +ENDCHAR +STARTCHAR Ddotbelow +ENCODING 7692 +SWIDTH 662 0 +DWIDTH 25 0 +BBX 25 32 0 -8 +BITMAP +07FFF000 +07FFFC00 +07FFFE00 +0FF8FF00 +0FF07F00 +0FF07F00 +0FF07F80 +0FF07F80 +1FF0FF80 +1FE0FF80 +1FE0FF80 +1FE0FF80 +3FE0FF00 +3FE0FF00 +3FC1FF00 +3FC1FF00 +3FC1FE00 +7FC3FE00 +7F83FC00 +7F87FC00 +7F8FF800 +7FFFE000 +FFFFC000 +FFFE0000 +00000000 +00000000 +00000000 +03C00000 +07E00000 +07E00000 +07E00000 +03C00000 +ENDCHAR +STARTCHAR ddotbelow +ENCODING 7693 +SWIDTH 577 0 +DWIDTH 22 0 +BBX 24 34 0 -8 +BITMAP +0000FF +0001FE +0001FE +0001FE +0001FE +0001FC +0003FC +0003FC +0003FC +03E3FC +0FF3F8 +1FFFF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +1F0FC0 +000000 +000000 +000000 +01E000 +03F000 +03F000 +03F000 +01E000 +ENDCHAR +STARTCHAR Hdotbelow +ENCODING 7716 +SWIDTH 666 0 +DWIDTH 25 0 +BBX 26 32 0 -8 +BITMAP +07F83FC0 +07F83FC0 +07F87FC0 +0FF87FC0 +0FF07F80 +0FF07F80 +0FF07F80 +0FF0FF80 +1FF0FF00 +1FE0FF00 +1FFFFF00 +1FFFFF00 +3FFFFF00 +3FC1FE00 +3FC1FE00 +3FC1FE00 +3FC3FE00 +7FC3FE00 +7F83FC00 +7F83FC00 +7F83FC00 +7F87FC00 +FF87F800 +FF07F800 +00000000 +00000000 +00000000 +01E00000 +03F00000 +03F00000 +03F00000 +01E00000 +ENDCHAR +STARTCHAR hdotbelow +ENCODING 7717 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 34 0 -8 +BITMAP +07F800 +07F800 +0FF000 +0FF000 +0FF000 +0FF000 +0FE000 +1FE000 +1FE000 +1FE3E0 +1FEFF0 +1FDFF8 +3FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +000000 +000000 +000000 +03C000 +07E000 +07E000 +07E000 +03C000 +ENDCHAR +STARTCHAR Ndotaccent +ENCODING 7748 +SWIDTH 644 0 +DWIDTH 24 0 +BBX 25 33 0 0 +BITMAP +0001E000 +0007F000 +0007F000 +0007F800 +0007F000 +0007F000 +0003E000 +00000000 +00000000 +07FC0380 +07FE0380 +07FE0780 +0FFE0780 +0FFE0700 +0FFE0700 +0FFF0700 +0FFF0F00 +1EFF0F00 +1EFF0E00 +1CFF8E00 +1CFF9E00 +3C7F9E00 +3C7F9E00 +387F9C00 +387FDC00 +383FFC00 +783FFC00 +783FF800 +703FF800 +703FF800 +701FF800 +F01FF800 +F01FF000 +ENDCHAR +STARTCHAR ndotaccent +ENCODING 7749 +SWIDTH 586 0 +DWIDTH 22 0 +BBX 21 24 0 0 +BITMAP +001F00 +003F80 +003F80 +007F80 +007F80 +003F00 +001E00 +1F83E0 +1FCFF0 +1FFFF8 +3FE7F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF0FE0 +FF1FE0 +FF1FE0 +FE1FE0 +ENDCHAR +STARTCHAR Rdotbelow +ENCODING 7770 +SWIDTH 633 0 +DWIDTH 24 0 +BBX 24 32 0 -8 +BITMAP +07FFF0 +07FFFC +07FFFE +0FF8FE +0FF0FF +0FF0FF +0FF0FF +0FF0FE +1FF0FE +1FE1FE +1FE3FC +1FFFF8 +3FFFE0 +3FFFE0 +3FDFE0 +3FCFE0 +3FCFF0 +7FCFF0 +7F8FF8 +7F87F8 +7F87F8 +7F87FC +FF83FC +FF03FE +000000 +000000 +000000 +00F000 +01F800 +01F800 +01F800 +00F000 +ENDCHAR +STARTCHAR rdotbelow +ENCODING 7771 +SWIDTH 483 0 +DWIDTH 18 0 +BBX 19 25 0 -8 +BITMAP +1F87E0 +1FCFE0 +1FDFC0 +3FFFC0 +3FEFC0 +3FC7C0 +3FC7C0 +3F8780 +7F8780 +7F8000 +7F8000 +7F8000 +7F0000 +FF0000 +FF0000 +FF0000 +FE0000 +000000 +000000 +000000 +780000 +FC0000 +FC0000 +FC0000 +780000 +ENDCHAR +STARTCHAR Sdotbelow +ENCODING 7778 +SWIDTH 587 0 +DWIDTH 22 0 +BBX 23 32 0 -8 +BITMAP +001FE0 +01FFFC +03FFFE +0FE1FC +0FC1FC +1FC1FC +1FC1F8 +3FE000 +3FF000 +1FFF00 +1FFFE0 +1FFFF0 +0FFFF8 +03FFF8 +007FF8 +000FF8 +0007F8 +7F07F8 +7F07F8 +FF07F0 +FF0FF0 +FFFFE0 +7FFF80 +0FFC00 +000000 +000000 +000000 +03C000 +07E000 +07E000 +07E000 +03C000 +ENDCHAR +STARTCHAR sdotbelow +ENCODING 7779 +SWIDTH 487 0 +DWIDTH 19 0 +BBX 18 25 -1 -8 +BITMAP +01FF00 +07FFC0 +0FFFC0 +1FC7C0 +3FC7C0 +3FC000 +3FF000 +3FFE00 +1FFF80 +0FFFC0 +01FFC0 +007FC0 +7C3FC0 +7C3F80 +7FFF80 +FFFF00 +1FF800 +000000 +000000 +000000 +078000 +0FC000 +0FC000 +0FC000 +0F8000 +ENDCHAR +STARTCHAR Tdotbelow +ENCODING 7788 +SWIDTH 555 0 +DWIDTH 21 0 +BBX 21 32 3 -8 +BITMAP +FFFFF8 +FFFFF0 +FFFFF0 +03FC00 +07FC00 +07F800 +07F800 +07F800 +07F800 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +000000 +000000 +000000 +3E0000 +7E0000 +7E0000 +7E0000 +3C0000 +ENDCHAR +STARTCHAR tdotbelow +ENCODING 7789 +SWIDTH 392 0 +DWIDTH 15 0 +BBX 14 30 1 -8 +BITMAP +00F8 +01F0 +03F0 +07F0 +1FF0 +7FFC +FFFC +FFFC +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3FC0 +3F80 +7F80 +7F80 +7F80 +7FF0 +3FE0 +1FE0 +0000 +0000 +0000 +1E00 +3F00 +3F00 +3F00 +1E00 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 944 0 +DWIDTH 36 0 +BBX 35 33 3 0 +BITMAP +000FC00000 +0007E00000 +0003F00000 +0001F00000 +0000780000 +00003C0000 +00001C0000 +0000000000 +0000000000 +FF80FF01E0 +FF80FF01E0 +FF81FF03C0 +FF81FF03C0 +FF83FF0780 +FF83FF0780 +FF83FF0780 +FFC7FF0F00 +7FC7FF0F00 +7FC7FF1E00 +7FCFFF1E00 +7FCFFF1E00 +7FDFFF3C00 +7FDE7FBC00 +7FDE7FF800 +7FFC7FF800 +7FFC7FF800 +7FF87FF000 +7FF87FF000 +7FF87FE000 +7FF07FE000 +7FF07FE000 +7FE07FC000 +3FE07FC000 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 831 0 +DWIDTH 32 0 +BBX 31 24 1 0 +BITMAP +007F0000 +000F8000 +0007C000 +0003E000 +0000F000 +00000000 +00000000 +FF03FC1E +7F83FC1E +7F87FC3C +7F87FC3C +7F8FFC38 +7F8FFC78 +7F8FFC78 +7F9FFCF0 +3F9FFCF0 +3F9DFEE0 +3FFDFFE0 +3FF9FFC0 +3FF9FFC0 +3FF1FF80 +3FF0FF80 +1FE0FF80 +1FE0FF00 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 944 0 +DWIDTH 36 0 +BBX 35 33 3 0 +BITMAP +000003F000 +000007E000 +000007C000 +00000F8000 +00000F0000 +00001E0000 +00003C0000 +0000000000 +0000000000 +FF80FF01E0 +FF80FF01E0 +FF81FF03C0 +FF81FF03C0 +FF83FF0780 +FF83FF0780 +FF83FF0780 +FFC7FF0F00 +7FC7FF0F00 +7FC7FF1E00 +7FCFFF1E00 +7FCFFF1E00 +7FDFFF3C00 +7FDE7FBC00 +7FDE7FF800 +7FFC7FF800 +7FFC7FF800 +7FF87FF000 +7FF87FF000 +7FF87FE000 +7FF07FE000 +7FF07FE000 +7FE07FC000 +3FE07FC000 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 831 0 +DWIDTH 32 0 +BBX 31 24 1 0 +BITMAP +00001FC0 +00003F00 +00003E00 +00007800 +0000F000 +00000000 +00000000 +FF03FC1E +7F83FC1E +7F87FC3C +7F87FC3C +7F8FFC38 +7F8FFC78 +7F8FFC78 +7F9FFCF0 +3F9FFCF0 +3F9DFEE0 +3FFDFFE0 +3FF9FFC0 +3FF9FFC0 +3FF1FF80 +3FF0FF80 +1FE0FF80 +1FE0FF00 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 944 0 +DWIDTH 36 0 +BBX 35 32 3 0 +BITMAP +0001E0E000 +0001F1F000 +0003F3F000 +0003F3F000 +0003F3F000 +0001E1E000 +0000000000 +0000000000 +FF80FF01E0 +FF80FF01E0 +FF81FF03C0 +FF81FF03C0 +FF83FF0780 +FF83FF0780 +FF83FF0780 +FFC7FF0F00 +7FC7FF0F00 +7FC7FF1E00 +7FCFFF1E00 +7FCFFF1E00 +7FDFFF3C00 +7FDE7FBC00 +7FDE7FF800 +7FFC7FF800 +7FFC7FF800 +7FF87FF000 +7FF87FF000 +7FF87FE000 +7FF07FE000 +7FF07FE000 +7FE07FC000 +3FE07FC000 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 831 0 +DWIDTH 32 0 +BBX 31 24 1 0 +BITMAP +00078780 +000F8F80 +000FCFC0 +000F8FC0 +000F8F80 +00070700 +00000000 +FF03FC1E +7F83FC1E +7F87FC3C +7F87FC3C +7F8FFC38 +7F8FFC78 +7F8FFC78 +7F9FFCF0 +3F9FFCF0 +3F9DFEE0 +3FFDFFE0 +3FF9FFC0 +3FF9FFC0 +3FF1FF80 +3FF0FF80 +1FE0FF80 +1FE0FF00 +ENDCHAR +STARTCHAR Zdotbelow +ENCODING 7826 +SWIDTH 553 0 +DWIDTH 21 0 +BBX 23 32 -1 -8 +BITMAP +0FFFFE +0FFFFE +0FFFFE +0007FE +000FFC +001FF8 +001FF8 +003FF0 +007FE0 +007FE0 +00FFC0 +01FF80 +03FF80 +03FF00 +07FE00 +0FFC00 +0FFC00 +1FF800 +3FF000 +3FF000 +7FE000 +7FFFF0 +FFFFF0 +FFFFF0 +000000 +000000 +000000 +00F000 +03F000 +03F800 +03F000 +01E000 +ENDCHAR +STARTCHAR zdotbelow +ENCODING 7827 +SWIDTH 478 0 +DWIDTH 18 0 +BBX 19 25 -1 -8 +BITMAP +1FFFE0 +1FFFE0 +1FFFE0 +003FC0 +007F80 +00FF00 +01FF00 +03FE00 +07FC00 +0FF800 +1FF000 +3FE000 +3FC000 +7FC000 +FFFF80 +FFFF80 +FFFF80 +000000 +000000 +000000 +03C000 +0FC000 +0FE000 +0FC000 +078000 +ENDCHAR +STARTCHAR Edotbelow +ENCODING 7864 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 21 32 0 -8 +BITMAP +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +000000 +000000 +000000 +078000 +0FC000 +0FC000 +0FC000 +078000 +ENDCHAR +STARTCHAR edotbelow +ENCODING 7865 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 20 25 0 -8 +BITMAP +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +000000 +000000 +000000 +03C000 +07E000 +07E000 +07E000 +03C000 +ENDCHAR +STARTCHAR Etilde +ENCODING 7868 +SWIDTH 503 0 +DWIDTH 19 0 +BBX 22 33 0 0 +BITMAP +007808 +00FF1C +01FFF8 +01FFF0 +038FF0 +0103C0 +000000 +000000 +000000 +07FFF8 +07FFF8 +07FFF8 +0FF800 +0FF000 +0FF000 +0FF000 +0FF000 +1FF000 +1FE000 +1FFFC0 +1FFF80 +3FFF80 +3FC000 +3FC000 +3FC000 +3FC000 +7FC000 +7F8000 +7F8000 +7F8000 +7FFF80 +FFFF00 +FFFF00 +ENDCHAR +STARTCHAR etilde +ENCODING 7869 +SWIDTH 547 0 +DWIDTH 21 0 +BBX 21 24 0 0 +BITMAP +007FF8 +01FFF0 +03FFE0 +07FFC0 +000000 +000000 +000000 +00FF80 +07FFE0 +0FFFF0 +1FC7F0 +3FC7F0 +7F87F0 +7F87F0 +7FFFF0 +FFFFE0 +FF0000 +FF0000 +7F0FE0 +7F0FC0 +7F1FC0 +3FFFC0 +1FFF80 +07FC00 +ENDCHAR +STARTCHAR Idotbelow +ENCODING 7882 +SWIDTH 326 0 +DWIDTH 12 0 +BBX 13 32 0 -8 +BITMAP +07F8 +07F8 +07F8 +0FF8 +0FF0 +0FF0 +0FF0 +0FF0 +1FF0 +1FE0 +1FE0 +1FE0 +3FE0 +3FC0 +3FC0 +3FC0 +3FC0 +7FC0 +7F80 +7F80 +7F80 +7F80 +FF80 +FF00 +0000 +0000 +0000 +7800 +FC00 +FC00 +FC00 +7800 +ENDCHAR +STARTCHAR idotbelow +ENCODING 7883 +SWIDTH 293 0 +DWIDTH 11 0 +BBX 13 32 -1 -8 +BITMAP +01E0 +03F0 +07F8 +07F8 +07F8 +07F0 +01E0 +0FF0 +0FF0 +0FE0 +1FE0 +1FE0 +1FE0 +1FE0 +1FC0 +3FC0 +3FC0 +3FC0 +3F80 +3F80 +7F80 +7F80 +7F80 +7F00 +0000 +0000 +0000 +3C00 +FC00 +FE00 +FC00 +7800 +ENDCHAR +STARTCHAR Odotbelow +ENCODING 7884 +SWIDTH 685 0 +DWIDTH 26 0 +BBX 25 32 1 -8 +BITMAP +003FE000 +01FFF800 +03FFFC00 +07F8FE00 +0FF0FF00 +1FF0FF00 +3FE0FF00 +3FE0FF80 +7FC0FF80 +7FC0FF80 +7FC0FF80 +7F80FF80 +FF80FF00 +FF81FF00 +FF81FF00 +FF81FF00 +FF83FE00 +7F83FE00 +7F87FC00 +7F87F800 +3F8FF800 +3FFFF000 +0FFFC000 +03FE0000 +00000000 +00000000 +00000000 +01E00000 +03F00000 +03F00000 +03F00000 +01E00000 +ENDCHAR +STARTCHAR odotbelow +ENCODING 7885 +SWIDTH 575 0 +DWIDTH 22 0 +BBX 21 25 0 -8 +BITMAP +00FF00 +07FFC0 +0FFFE0 +1FC7F0 +3FC7F0 +7F87F8 +7F87F8 +7F87F8 +FF07F8 +FF0FF0 +FF0FF0 +7F0FF0 +7F1FE0 +7F1FE0 +3FFFC0 +1FFF00 +07FC00 +000000 +000000 +000000 +03C000 +07E000 +0FE000 +07E000 +078000 +ENDCHAR +STARTCHAR Udotbelow +ENCODING 7908 +SWIDTH 630 0 +DWIDTH 24 0 +BBX 24 32 1 -8 +BITMAP +0FF007 +0FF00F +1FF00F +1FF00E +1FF00E +1FE01E +3FE01E +3FE01E +3FE01C +3FC01C +3FC03C +7FC03C +7FC038 +7FC038 +7F8038 +7F8078 +FF8078 +FF8070 +FF80F0 +FF80E0 +7FC1E0 +7FFFC0 +3FFF00 +07F800 +000000 +000000 +000000 +01E000 +07E000 +07F000 +07E000 +03C000 +ENDCHAR +STARTCHAR udotbelow +ENCODING 7909 +SWIDTH 585 0 +DWIDTH 22 0 +BBX 22 25 0 -8 +BITMAP +1FE3FC +1FC3FC +3FC3F8 +3FC7F8 +3FC7F8 +3FC7F8 +3F87F8 +7F87F0 +7F8FF0 +7F8FF0 +7F8FF0 +7F0FF0 +FF1FE0 +FFBFE0 +7FEFE0 +7FCFE0 +1F0FE0 +000000 +000000 +000000 +01E000 +03F000 +07F000 +03E000 +03C000 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 21 33 3 0 +BITMAP +0FE000 +07E000 +03F000 +00F800 +007800 +003C00 +001E00 +000000 +000000 +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 30 -2 -6 +BITMAP +01FC00 +007C00 +003E00 +000F00 +000780 +000000 +000000 +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR Ytilde +ENCODING 7928 +SWIDTH 570 0 +DWIDTH 22 0 +BBX 22 33 3 0 +BITMAP +007808 +00FF1C +01FFF8 +03FFF0 +030FF0 +0103C0 +000000 +000000 +000000 +FF8078 +FF80F8 +7FC0F0 +7FC1E0 +7FC1E0 +7FE3C0 +3FE380 +3FE780 +3FEF00 +3FFE00 +1FFE00 +1FFC00 +1FF800 +1FF800 +0FF000 +1FF000 +1FE000 +1FE000 +1FE000 +1FE000 +3FE000 +3FC000 +3FC000 +3FC000 +ENDCHAR +STARTCHAR ytilde +ENCODING 7929 +SWIDTH 517 0 +DWIDTH 20 0 +BBX 23 30 -2 -6 +BITMAP +003FFE +007FFC +00FFF8 +01FFF0 +000000 +000000 +000000 +0FF03E +0FF03C +0FF078 +0FF078 +0FF0F0 +0FF0F0 +0FF1E0 +07F1E0 +07F3C0 +07F380 +07FF80 +07FF00 +07FF00 +07FE00 +07FE00 +03FC00 +03FC00 +03F800 +03F000 +07F000 +FFE000 +FF8000 +FE0000 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 600 0 +DWIDTH 23 0 +BBX 20 4 1 6 +BITMAP +7FFFF0 +7FFFF0 +FFFFE0 +FFFFE0 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 874 0 +DWIDTH 33 0 +BBX 30 4 1 6 +BITMAP +7FFFFFFC +7FFFFFFC +FFFFFFFC +FFFFFFFC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 267 0 +DWIDTH 10 0 +BBX 8 12 3 14 +BITMAP +03 +0F +1E +3C +7C +7C +FC +FE +FF +FE +FE +7C +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 264 0 +DWIDTH 10 0 +BBX 9 12 3 15 +BITMAP +1E00 +3F00 +7F00 +7F80 +7F00 +3F00 +1F00 +1E00 +3C00 +7800 +F000 +6000 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 275 0 +DWIDTH 10 0 +BBX 9 12 -1 -5 +BITMAP +1E00 +3F00 +7F80 +7F80 +3F80 +1F00 +1F00 +1E00 +3C00 +7800 +F000 +6000 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 532 0 +DWIDTH 20 0 +BBX 18 12 3 14 +BITMAP +0300C0 +0F03C0 +1E0780 +3C0F00 +7C1F00 +7C1F00 +FC3F00 +FE3F80 +FF3FC0 +FE3FC0 +FE3F80 +7C0F00 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 528 0 +DWIDTH 20 0 +BBX 19 12 3 15 +BITMAP +1E0780 +3F0FC0 +7F1FC0 +7F9FE0 +7F1FC0 +3F0FC0 +1F07C0 +1E0780 +3C0F00 +781E00 +F03C00 +601800 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 539 0 +DWIDTH 20 0 +BBX 19 12 -1 -5 +BITMAP +1E0780 +3F0FC0 +7F9FE0 +7F9FE0 +3F8FE0 +3F07C0 +1F07C0 +1E0780 +3C0F00 +781E00 +F03C00 +601800 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 365 0 +DWIDTH 14 0 +BBX 12 33 2 -6 +BITMAP +03C0 +03C0 +03C0 +03C0 +0380 +0780 +0780 +0780 +0780 +FFF0 +FFF0 +FFF0 +0F00 +0E00 +0E00 +1E00 +1E00 +1E00 +1C00 +1C00 +3C00 +3C00 +3C00 +3800 +3800 +7800 +7800 +7800 +7000 +F000 +F000 +F000 +E000 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 374 0 +DWIDTH 14 0 +BBX 15 33 0 -6 +BITMAP +0070 +00F0 +00F0 +00F0 +00F0 +00E0 +01E0 +01E0 +01E0 +1FFE +3FFC +3FFC +03C0 +03C0 +0380 +0380 +0780 +0780 +0780 +0700 +0700 +FFF0 +FFF0 +FFF0 +0E00 +1E00 +1E00 +1E00 +1C00 +1C00 +3C00 +3C00 +3C00 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 348 0 +DWIDTH 13 0 +BBX 9 9 3 10 +BITMAP +3C00 +7F00 +FF00 +FF80 +FF80 +FF80 +FF00 +7F00 +3C00 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 910 0 +DWIDTH 35 0 +BBX 32 7 0 0 +BITMAP +3C03C03C +7E07E07E +FF0FF0FF +FF0FF0FF +FF0FF0FF +FE0FE07E +7C03C03C +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 1054 0 +DWIDTH 40 0 +BBX 35 24 3 0 +BITMAP +1F80780000 +7FC0F00000 +79C1E00000 +F1E1E00000 +F3C3C00000 +F3C7800000 +F7C7800000 +FF8F000000 +3E1E000000 +001E000000 +003C000000 +003C000000 +0078000000 +00F0000000 +00F1F80F80 +01E7FC3FC0 +03C7BC79E0 +03CF3C79E0 +078F3C79E0 +0F0F3CF1E0 +0F0F3CF3E0 +1E0F7C73C0 +3E0FF87F80 +7C07E03F00 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 324 0 +DWIDTH 12 0 +BBX 12 17 0 0 +BITMAP +01F0 +01E0 +03E0 +07C0 +0F80 +1F00 +3E00 +7E00 +FC00 +7C00 +7E00 +3E00 +1E00 +1F00 +0F00 +0F80 +0780 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 322 0 +DWIDTH 12 0 +BBX 12 17 -1 0 +BITMAP +1F00 +0F00 +0F80 +07C0 +07C0 +07E0 +03E0 +03F0 +01F0 +03E0 +07C0 +0FC0 +0F80 +1F00 +3E00 +7C00 +F800 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 100 0 +DWIDTH 4 0 +BBX 19 24 -7 0 +BITMAP +0001E0 +0003C0 +0003C0 +000780 +000F00 +000F00 +001E00 +003C00 +003C00 +007800 +00F000 +00F000 +01E000 +01E000 +03C000 +078000 +078000 +0F0000 +1E0000 +1E0000 +3C0000 +780000 +780000 +F00000 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 309 0 +DWIDTH 12 0 +BBX 10 9 3 15 +BITMAP +1F00 +7FC0 +FBC0 +F3C0 +F3C0 +F3C0 +F780 +FF80 +7E00 +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 270 0 +DWIDTH 10 0 +BBX 10 10 2 14 +BITMAP +0F80 +1F80 +1F80 +3780 +6F00 +FFC0 +FF80 +0F00 +0F00 +1E00 +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 262 0 +DWIDTH 10 0 +BBX 9 8 2 16 +BITMAP +3F80 +3F80 +7000 +7F80 +0780 +F780 +F780 +7E00 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 281 0 +DWIDTH 11 0 +BBX 9 8 3 16 +BITMAP +1F80 +7F80 +F380 +F600 +FF80 +E780 +E780 +7F00 +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 231 0 +DWIDTH 9 0 +BBX 9 10 3 14 +BITMAP +FF80 +FF00 +FE00 +1C00 +3C00 +3800 +7800 +7800 +7000 +F000 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 276 0 +DWIDTH 10 0 +BBX 10 8 2 16 +BITMAP +3F80 +7BC0 +3F80 +7F80 +F3C0 +F3C0 +7780 +7F00 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 281 0 +DWIDTH 11 0 +BBX 9 9 3 15 +BITMAP +3F00 +F380 +F380 +F780 +FF80 +0780 +EF00 +FE00 +F800 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 309 0 +DWIDTH 12 0 +BBX 10 10 0 0 +BITMAP +1F00 +7F80 +FBC0 +F3C0 +F3C0 +F3C0 +E7C0 +F780 +FF80 +7E00 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 184 0 +DWIDTH 7 0 +BBX 6 10 0 0 +BITMAP +3C +7C +F8 +78 +78 +78 +78 +F0 +F0 +F0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 286 0 +DWIDTH 11 0 +BBX 10 10 -1 0 +BITMAP +1F00 +7BC0 +73C0 +73C0 +03C0 +0780 +0F00 +3FC0 +FF80 +FF80 +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 282 0 +DWIDTH 11 0 +BBX 10 10 -1 0 +BITMAP +1F80 +7FC0 +7BC0 +03C0 +0780 +0F80 +03C0 +F7C0 +FF80 +7E00 +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 270 0 +DWIDTH 10 0 +BBX 10 10 -1 0 +BITMAP +0F80 +0F80 +1F80 +3780 +6700 +CF00 +FFC0 +FF80 +0F00 +1E00 +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 262 0 +DWIDTH 10 0 +BBX 9 10 -1 0 +BITMAP +3F80 +3F80 +7000 +7F00 +7F80 +0780 +0780 +E780 +FF00 +7E00 +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 281 0 +DWIDTH 11 0 +BBX 10 10 -1 0 +BITMAP +0FC0 +3FC0 +79C0 +7800 +7780 +7FC0 +F3C0 +73C0 +7780 +3F00 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 232 0 +DWIDTH 9 0 +BBX 9 10 0 0 +BITMAP +FF80 +FF00 +FE00 +1C00 +3800 +3800 +7800 +7000 +F000 +F000 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 277 0 +DWIDTH 11 0 +BBX 10 10 -1 0 +BITMAP +1F00 +3B80 +7BC0 +7BC0 +3F80 +7F80 +F3C0 +F380 +7780 +3E00 +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 281 0 +DWIDTH 11 0 +BBX 10 10 -1 0 +BITMAP +1F80 +39C0 +79C0 +7BC0 +7FC0 +7FC0 +03C0 +7780 +7F00 +FE00 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 589 0 +DWIDTH 22 0 +BBX 22 24 1 0 +BITMAP +0007F8 +003FFC +00FFF8 +01FF00 +03FE00 +03FC00 +07F800 +3FFFC0 +7FFF80 +7FFF80 +0FF000 +0FF000 +0FF000 +1FF000 +FFFF00 +FFFF00 +FFFF00 +0FF000 +0FF000 +0FF000 +07F000 +07FFC0 +01FFE0 +007F80 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 704 0 +DWIDTH 27 0 +BBX 23 9 5 15 +BITMAP +FF7C7E +3C7E7C +387EFC +78FEFC +78DFBC +78DFB8 +78DF78 +F0DF78 +F1DE78 +ENDCHAR +STARTCHAR onethird +ENCODING 8531 +SWIDTH 659 0 +DWIDTH 25 0 +BBX 21 24 2 0 +BITMAP +0F01F0 +3E01E0 +7E03C0 +1E0780 +1E0780 +3C0F00 +3C1E00 +3C1E00 +3C3C00 +3C3800 +007800 +00F000 +00F000 +01E000 +03C3F0 +03CFF8 +078E78 +0F0078 +0F01E0 +1E01F0 +3E1CF8 +3C1CF0 +781FF0 +F80FC0 +ENDCHAR +STARTCHAR twothirds +ENCODING 8532 +SWIDTH 743 0 +DWIDTH 28 0 +BBX 24 24 2 0 +BITMAP +0F801E +3FE03C +39E078 +79E078 +03C0F0 +0701E0 +0FC1E0 +7FC3C0 +FFC780 +000780 +000F00 +001E00 +001E00 +003C00 +007C7E +0079FF +00F1EF +00F00F +01E01E +03C03E +03C3CF +0783DF +0F03FE +1F01F8 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 661 0 +DWIDTH 25 0 +BBX 21 24 2 0 +BITMAP +0F01F0 +3E01E0 +7E03C0 +1E0780 +1E0780 +3C0F00 +3C0E00 +3C1E00 +3C3C00 +3C3C00 +007800 +00F000 +00F000 +01E000 +03C3F0 +03C778 +078F78 +0F0F78 +0F07F0 +1E0FF0 +3E1E78 +3C1E78 +780EF0 +F807C0 +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 723 0 +DWIDTH 27 0 +BBX 22 24 3 0 +BITMAP +3F0078 +7FC0F0 +73C1E0 +0781E0 +0E03C0 +E78380 +E78780 +FF0F00 +100F00 +001E00 +003C00 +003C00 +007800 +00F000 +00F1F8 +01E3FC +03C39C +03C39C +0783F8 +0F83F8 +0F07BC +1E073C +3E07B8 +7C03F0 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 712 0 +DWIDTH 27 0 +BBX 23 24 2 0 +BITMAP +3FC078 +3FC078 +3000F0 +3F81E0 +43C1E0 +73C3C0 +778780 +FF0780 +000F00 +001E00 +001E00 +003C00 +003C00 +007800 +00F0FC +00F1DC +01E3DE +03C3DE +03C1FC +0783FC +0F079E +0F079C +1E07BC +3E01F0 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 683 0 +DWIDTH 26 0 +BBX 21 24 3 0 +BITMAP +7F81E0 +7F81C0 +FF03C0 +0E0780 +1C0780 +3C0F00 +381E00 +781E00 +783C00 +007800 +007800 +00F000 +01E000 +01E000 +03C3F0 +03C770 +078F78 +0F0F70 +0F07F0 +1E0FF0 +3C1E70 +3C1E70 +781EF0 +F007C0 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 501 0 +DWIDTH 19 0 +BBX 16 3 2 11 +BITMAP +7FFF +FFFF +FFFE +ENDCHAR +STARTCHAR uni2215 +ENCODING 8725 +SWIDTH 370 0 +DWIDTH 14 0 +BBX 19 24 -2 0 +BITMAP +0001E0 +0003C0 +000380 +000780 +000F00 +000F00 +001E00 +003C00 +003C00 +007800 +00F000 +00F000 +01E000 +03E000 +03C000 +078000 +078000 +0F0000 +1E0000 +1E0000 +3C0000 +7C0000 +780000 +F00000 +ENDCHAR +STARTCHAR uni2219 +ENCODING 8729 +SWIDTH 273 0 +DWIDTH 10 0 +BBX 7 7 2 9 +BITMAP +18 +7E +FE +FE +FE +FE +7C +ENDCHAR +STARTCHAR commaaccent +ENCODING 63171 +SWIDTH 227 0 +DWIDTH 9 0 +BBX 6 9 1 -11 +BITMAP +10 +7C +7C +7C +3C +38 +38 +F0 +40 +ENDCHAR +STARTCHAR f_f +ENCODING 64256 +SWIDTH 734 0 +DWIDTH 28 0 +BBX 32 27 1 0 +BITMAP +000000FC +000003FF +003FF7FF +00FFFFFF +03FFFFC0 +03FFFF80 +07F83F80 +0FF07F80 +0FF07F00 +0FF0FF00 +7FFFFFF0 +FFFFFFF0 +FFFFFFF0 +1FE0FE00 +1FE1FE00 +1FC1FE00 +3FC1FE00 +3FC1FC00 +3FC3FC00 +3FC3FC00 +3F83FC00 +7F83FC00 +7F83F800 +7F87F800 +7F07F800 +7F07F800 +FF07F800 +ENDCHAR +STARTCHAR f_i +ENCODING 64257 +SWIDTH 665 0 +DWIDTH 25 0 +BBX 24 27 1 0 +BITMAP +001FF0 +007FFE +01FFFC +03FFFC +03FC0C +07F800 +07F000 +0FF000 +0FF000 +0FF000 +7FFFFF +FFFFFF +FFFFFE +1FE1FE +1FE1FE +1FC1FE +3FC1FE +3FC1FC +3FC3FC +3FC3FC +3F83FC +7F83FC +7F83F8 +7F87F8 +7F07F8 +7F07F8 +FF07F8 +ENDCHAR +STARTCHAR f_l +ENCODING 64258 +SWIDTH 667 0 +DWIDTH 25 0 +BBX 26 27 1 0 +BITMAP +001FF000 +007FFFC0 +01FFFFC0 +03FFFF80 +07F87F80 +07F87F80 +07F07F80 +0FF07F80 +0FF07F00 +0FF0FF00 +7FFEFF00 +FFFCFF00 +FFFCFF00 +1FE0FE00 +1FE1FE00 +1FC1FE00 +3FC1FE00 +3FC1FE00 +3FC1FC00 +3FC3FC00 +3F83FC00 +7F83FC00 +7F83F800 +7F83F800 +7F07F800 +7F07F800 +FF07F800 +ENDCHAR +STARTCHAR f_f_i +ENCODING 64259 +SWIDTH 996 0 +DWIDTH 38 0 +BBX 37 27 1 0 +BITMAP +0000007E00 +000003FFC0 +003FF7FFE0 +00FFFFFFE0 +03FFFFE1E0 +03FFFF8040 +07F83F8020 +0FF07F8000 +0FF07F0000 +0FF0FF0000 +7FFFFFFFF8 +FFFFFFFFF0 +FFFFFFFFF0 +1FE0FE0FF0 +1FE1FE0FF0 +1FC1FE0FE0 +3FC1FE1FE0 +3FC1FE1FE0 +3FC3FC1FE0 +3FC3FC1FE0 +3F83FC1FC0 +7F83FC3FC0 +7F83F83FC0 +7F87F83FC0 +7F07F83FC0 +7F07F83F80 +FF07F87F80 +ENDCHAR +STARTCHAR f_f_l +ENCODING 64260 +SWIDTH 998 0 +DWIDTH 38 0 +BBX 39 27 1 0 +BITMAP +000000FE00 +000003FFFE +003FF7FFFC +00FFFFFFFC +03FFFFC3FC +03FFFF83FC +07F83F83FC +0FF07F87F8 +0FF07F07F8 +0FF0FF07F8 +7FFFFFE7F8 +FFFFFFE7F0 +FFFFFFEFF0 +1FE0FE0FF0 +1FE1FE0FF0 +1FC1FE0FF0 +3FC1FE0FE0 +3FC1FC1FE0 +3FC3FC1FE0 +3FC3FC1FE0 +3F83FC1FE0 +7F83FC1FC0 +7F83F83FC0 +7F87F83FC0 +7F07F83FC0 +7F07F83F80 +FF07F87F80 +ENDCHAR +STARTCHAR s_t +ENCODING 64262 +SWIDTH 862 0 +DWIDTH 33 0 +BBX 34 27 -1 0 +BITMAP +00000FF000 +00007FFC00 +0001FFFE00 +0003E03F00 +0007801F00 +0007001F00 +0007003F00 +0007003F00 +000700FF00 +000703FE00 +01FFCFFFC0 +07FFCFFFC0 +0FFFCFFFC0 +1FC7C1FE00 +3FC7C1FC00 +3FC003FC00 +3FF003FC00 +3FFE03FC00 +1FFF83FC00 +0FFFC3F800 +01FFC7F800 +007FC7F800 +7C3FC7F800 +7C3F87F800 +7FFF87FE00 +FFFF03FE00 +1FF801FE00 +ENDCHAR +STARTCHAR .notdef +ENCODING -1 +SWIDTH 227 0 +DWIDTH 9 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR NULL +ENCODING -1 +SWIDTH 191 0 +DWIDTH 7 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR nonmarkingreturn +ENCODING -1 +SWIDTH 191 0 +DWIDTH 7 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR a.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 17 0 0 +BITMAP +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR aacute.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +0001FC +0003E0 +0007C0 +000780 +000F00 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR abreve.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 25 0 0 +BITMAP +000008 +00601C +007878 +003FF0 +003FE0 +001F80 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR acircumflex.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +001FE0 +003FE0 +007CF0 +00F070 +01E038 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR adieresis.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +007878 +00F8F8 +00F8F8 +00F8F8 +00F8F8 +002020 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR agrave.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 24 0 0 +BITMAP +07F800 +00F800 +007C00 +003E00 +001F00 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR amacron.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 23 0 0 +BITMAP +00FFFC +00FFFC +00FFF8 +000000 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR aogonek.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 25 0 -8 +BITMAP +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +000780 +001E00 +003E00 +003C00 +007C40 +007FC0 +003FC0 +001E00 +ENDCHAR +STARTCHAR aring.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 22 25 0 0 +BITMAP +000780 +000FC0 +001CC0 +001CC0 +001FC0 +000F80 +000200 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR atilde.salt +ENCODING -1 +SWIDTH 578 0 +DWIDTH 22 0 +BBX 23 25 0 0 +BITMAP +000C04 +003FEE +007FFC +00FFFC +00C7F8 +000000 +000000 +000000 +03E1FC +0FFBF8 +1FFBF8 +3FFFF8 +3FCFF8 +7F87F8 +7F87F0 +7F8FF0 +7F0FF0 +FF0FF0 +FF0FF0 +FF0FE0 +FF1FE0 +FF3FE0 +7FFFE0 +7FCFC0 +3F8FC0 +ENDCHAR +STARTCHAR c_h +ENCODING -1 +SWIDTH 1094 0 +DWIDTH 42 0 +BBX 41 26 0 0 +BITMAP +00007FFF0000 +0001FFFF0000 +0003FFFF0000 +0007C0FE0000 +000781FE0000 +000F01FE0000 +000F01FE0000 +000701FE0000 +000701FC0000 +00FF83FC3C00 +07FFE3FCFF00 +0FFFE3FFFF00 +1FC7E3FFFF00 +3FC7E7FC7F80 +7F87E7F87F00 +7F87E7F8FF00 +7F8007F8FF00 +FF0007F0FF00 +FF000FF0FF00 +FF000FF0FE00 +7F0FCFF1FE00 +7F0FCFF1FE00 +7F1F8FE1FE00 +3FBF9FE1FC00 +1FFF9FE3FC00 +07FF1FE3FC00 +ENDCHAR +STARTCHAR c_k +ENCODING -1 +SWIDTH 1106 0 +DWIDTH 42 0 +BBX 42 26 0 0 +BITMAP +00007FFF0000 +0001FFFF0000 +0003FFFF0000 +0007C0FE0000 +000781FE0000 +000F01FE0000 +000F01FE0000 +000701FE0000 +000703FC0000 +00FF83FC07C0 +07FFE3FC0F80 +0FFFE3FC1F00 +1FC7E3F83E00 +3FC7E7F8FC00 +7F87E7F9F000 +7F87E7FBE000 +7F8007FFE000 +FF0007FFF000 +FF000FFFF000 +FF000FF7F800 +7F0FCFF7FC00 +7F0FCFF3FC00 +7F1F8FE3FE00 +3FBF9FE1FE00 +1FFF9FE1FF00 +07FF1FE0FF80 +ENDCHAR +STARTCHAR c_p +ENCODING -1 +SWIDTH 1092 0 +DWIDTH 42 0 +BBX 40 32 0 -6 +BITMAP +00007FF000 +0001FFF800 +0003FFFC00 +0007C1FC00 +000701FC00 +000F01FC00 +000F01FC00 +000701FC00 +000701FC00 +00FF83FC3C +07FFC3FDFE +0FFFE3FBFF +1FC7E3FFFF +3FC7E7FCFF +7F87E7F87F +7F87E7F8FF +7F8007F8FF +FF0007F0FF +FF000FF0FF +FF000FF0FF +7F0FCFF1FF +7F0FCFF1FE +7F1F8FFBFE +3FBF9FFFFC +1FFF9FEFF8 +07FF1FE3F0 +00001FE000 +00001FC000 +00003FC000 +00003FC000 +00003FC000 +00003FC000 +ENDCHAR +STARTCHAR c_t +ENCODING -1 +SWIDTH 915 0 +DWIDTH 35 0 +BBX 35 26 0 0 +BITMAP +00007FFC00 +0001FFFF00 +0003FFFF80 +0007C03F80 +0007801F80 +000F000F80 +000F001F80 +0007003F80 +0007007F80 +00FF83FFE0 +07FFC7FFE0 +0FFFE7FFE0 +1FC7E0FF00 +3FC7E0FF00 +7F87E1FE00 +7F87E1FE00 +7F8001FE00 +FF0001FE00 +FF0001FC00 +FF0003FC00 +7F0FC3FC00 +7F0FC3FC00 +7F1F83FC00 +3FBF83FF00 +1FFF81FF00 +07FF01FF00 +ENDCHAR +STARTCHAR e_t +ENCODING -1 +SWIDTH 915 0 +DWIDTH 35 0 +BBX 35 26 0 0 +BITMAP +00007FFE00 +0001FFFF00 +0003FFFF80 +0007C03F80 +0007801F80 +000F000F80 +000F001F80 +0007003F80 +0007007F80 +00FF83FFE0 +07FFE7FFE0 +0FFFE7FFE0 +1FC7F0FF00 +3FC7F0FF00 +7F87F1FE00 +7F87F1FE00 +7FFFF1FE00 +FFFFE1FE00 +FF0001FC00 +FF0003FC00 +7F0FE3FC00 +7F0FC3FC00 +7F1FC3FC00 +3FBFC3FF00 +1FFFC1FF00 +0FFE00FF00 +ENDCHAR +STARTCHAR f_b +ENCODING -1 +SWIDTH 959 0 +DWIDTH 36 0 +BBX 34 27 1 0 +BITMAP +0003000000 +003FFFC000 +00FFFFC000 +01FFFF8000 +03F83F8000 +07F87F8000 +07F07F8000 +0FF07F8000 +0FF07F0000 +0FF0FF0000 +7FFEFF0F00 +7FFCFF7F80 +FFFCFFFFC0 +1FE0FFFFC0 +1FE1FF3FC0 +1FC1FE1FC0 +3FC1FE3FC0 +3FC1FE3FC0 +3FC1FC3FC0 +3FC3FC3FC0 +3F83FC3FC0 +7F83FC7F80 +7F83FC7F80 +7F83FEFF80 +7F87FFFF00 +7F07F3FE00 +FF07E1FC00 +ENDCHAR +STARTCHAR f_f_b +ENCODING -1 +SWIDTH 1291 0 +DWIDTH 49 0 +BBX 47 27 1 0 +BITMAP +000000180000 +000703FFFE00 +007FFFFFFC00 +01FFFFFFFC00 +03FFFFC3FC00 +07F83F83FC00 +07F07F83F800 +0FF07F87F800 +0FF07F07F800 +0FF07F07F800 +7FFFFFE7F8F0 +7FFFFFE7F3FC +FFFFFFEFF7FE +1FE0FE0FFFFE +1FE1FE0FF1FE +1FC1FE0FF1FE +3FC1FE0FE1FE +3FC1FE1FE1FE +3FC1FC1FE1FE +3FC3FC1FE1FE +3F83FC1FE3FC +7F83FC1FC3FC +7F83FC3FC7FC +7F83F83FFFF8 +7F87F83FBFF8 +7F07F83FBFF0 +FF07F87F0FE0 +ENDCHAR +STARTCHAR f_f_h +ENCODING -1 +SWIDTH 1294 0 +DWIDTH 49 0 +BBX 47 27 1 0 +BITMAP +000000180000 +000703FFFE00 +007FFFFFFC00 +01FFFFFFFC00 +03FFFFC3FC00 +07F83F83FC00 +07F07F83FC00 +0FF07F83F800 +0FF07F87F800 +0FF07F07F800 +7FFFFFE7F8F8 +7FFFFFE7FBFC +FFFFFFE7F7FE +1FE0FE0FFFFE +1FE0FE0FF1FE +1FC1FE0FF1FE +3FC1FE0FE1FE +3FC1FE1FE1FE +3FC1FC1FE1FC +3FC3FC1FE3FC +3F83FC1FE3FC +7F83FC1FC3FC +7F83FC3FC3FC +7F83F83FC3F8 +7F87F83FC7F8 +7F07F83FC7F8 +FF07F83F87F8 +ENDCHAR +STARTCHAR f_f_j +ENCODING -1 +SWIDTH 995 0 +DWIDTH 38 0 +BBX 37 33 1 -6 +BITMAP +0000000800 +000703FFC0 +007FFFFFE0 +01FFFFFFE0 +03FFFFFFE0 +07F83FC040 +07F07F8000 +0FF07F8000 +0FF07F0000 +0FF0FF0000 +7FFFFFFFF8 +7FFFFFFFF0 +FFFFFFFFF0 +1FE0FE0FF0 +1FE1FE0FF0 +1FC1FE0FE0 +3FC1FE1FE0 +3FC1FE1FE0 +3FC1FC1FE0 +3FC3FC1FE0 +3F83FC1FC0 +7F83FC3FC0 +7F83FC3FC0 +7F83F83FC0 +7F87F83FC0 +7F07F83F80 +FF07F87F80 +0000007F80 +0000007F00 +000000FF00 +000000FE00 +000003FC00 +000003F000 +ENDCHAR +STARTCHAR f_f_k +ENCODING -1 +SWIDTH 1288 0 +DWIDTH 49 0 +BBX 49 27 1 0 +BITMAP +00000018000000 +000703FFFE0000 +007FFFFFFC0000 +01FFFFFFFC0000 +03FFFFC3FC0000 +07F83F83FC0000 +07F07F83F80000 +0FF07F87F80000 +0FF07F07F80000 +0FF07F07F80000 +7FFFFFE7F80F80 +7FFFFFE7F01F00 +FFFFFFEFF07E00 +1FE0FE0FF0F800 +1FE1FE0FF1F000 +1FC1FE0FF3E000 +3FC1FE0FEFC000 +3FC1FE1FFFC000 +3FC1FC1FFFC000 +3FC3FC1FFFE000 +3F83FC1FFFF000 +7F83FC1FCFF000 +7F83FC3FCFF800 +7F83F83FC7F800 +7F87F83FC7FC00 +7F07F83F83FC00 +FF07F87F83FE00 +ENDCHAR +STARTCHAR f_f_t +ENCODING -1 +SWIDTH 1030 0 +DWIDTH 39 0 +BBX 39 27 1 0 +BITMAP +0000006000 +000787FE00 +007FFFFE00 +01FFFFFE00 +03FFFF8000 +07F87F0078 +07F0FF00F8 +0FF0FF01F0 +0FF0FF03F0 +0FF0FE07F0 +7FFFFFFFFE +7FFFFFFFFC +FFFFFFFFFC +1FE1FE1FE0 +1FE1FC1FE0 +1FC3FC1FE0 +3FC3FC1FC0 +3FC3FC3FC0 +3FC3FC3FC0 +3FC3F83FC0 +3F87F83FC0 +7F87F83F80 +7F87F83F80 +7F87F03F80 +7F8FF03FF0 +7F0FF03FF0 +FF0FF01FE0 +ENDCHAR +STARTCHAR f_h +ENCODING -1 +SWIDTH 961 0 +DWIDTH 37 0 +BBX 34 27 1 0 +BITMAP +0003000000 +003FFFC000 +00FFFFC000 +01FFFFC000 +03F83F8000 +07F87F8000 +07F07F8000 +0FF07F8000 +0FF07F0000 +0FF0FF0000 +7FFEFF0F00 +7FFCFF3FC0 +FFFCFFFFC0 +1FE0FFFFC0 +1FE1FF3FC0 +1FC1FE3FC0 +3FC1FE3FC0 +3FC1FE3FC0 +3FC1FC3FC0 +3FC3FC3F80 +3F83FC7F80 +7F83FC7F80 +7F83FC7F80 +7F83F87F80 +7F87F87F00 +7F07F8FF00 +FF07F8FF00 +ENDCHAR +STARTCHAR f_j +ENCODING -1 +SWIDTH 666 0 +DWIDTH 25 0 +BBX 24 33 1 -6 +BITMAP +000100 +003FFC +00FFFE +01FFFC +03FFFC +07F804 +07F000 +0FF000 +0FF000 +0FF000 +7FFFFF +7FFFFF +FFFFFF +1FE0FE +1FE1FE +1FC1FE +3FC1FE +3FC1FE +3FC1FC +3FC3FC +3F83FC +7F83FC +7F83FC +7F83F8 +7F87F8 +7F07F8 +FF07F8 +0007F0 +000FF0 +000FE0 +001FE0 +007F80 +007F00 +ENDCHAR +STARTCHAR f_k +ENCODING -1 +SWIDTH 957 0 +DWIDTH 36 0 +BBX 36 27 1 0 +BITMAP +0003000000 +003FFFC000 +00FFFFC000 +01FFFFC000 +03F83F8000 +07F87F8000 +07F07F8000 +0FF07F8000 +0FF07F0000 +0FF0FF0000 +7FFEFF01F0 +7FFCFF03E0 +FFFCFF07C0 +1FE0FE0F80 +1FE1FE3F00 +1FC1FE7C00 +3FC1FEF800 +3FC1FFF800 +3FC1FFFC00 +3FC3FFFC00 +3F83FDFE00 +7F83FDFF00 +7F83FCFF00 +7F83F8FF80 +7F87F87F80 +7F07F87FC0 +FF07F83FE0 +ENDCHAR +STARTCHAR f_t +ENCODING -1 +SWIDTH 721 0 +DWIDTH 27 0 +BBX 27 27 1 0 +BITMAP +00030000 +007FF000 +00FFE000 +03FFE000 +03F80000 +07F80780 +07F00F80 +0FF01F80 +0FF03F00 +0FF07F00 +7FFFFFE0 +7FFFFFE0 +FFFFFFE0 +1FE0FE00 +1FE1FE00 +1FC1FE00 +3FC1FE00 +3FC1FE00 +3FC1FC00 +3FC3FC00 +3F83FC00 +7F83FC00 +7F83FC00 +7F83F800 +7F83FF00 +7F03FF00 +FF01FF00 +ENDCHAR +STARTCHAR s_p +ENCODING -1 +SWIDTH 1065 0 +DWIDTH 40 0 +BBX 40 32 -1 -6 +BITMAP +00007FF800 +0001FFFC00 +0003FFFC00 +0007C1FE00 +000701FE00 +000F01FE00 +000F01FE00 +000701FC00 +000701FC00 +01FF83FC3C +07FFC3FDFE +0FFFC3FBFF +1FC7C3FFFF +3FC7C7FCFF +3FC007F87F +3FF007F8FF +3FFE07F8FF +1FFF87F0FF +0FFF8FF0FF +03FFCFF0FF +007FCFF1FE +7C3FCFF1FE +7C3FCFFBFE +7E7F9FFFFC +FFFF1FEFF8 +3FFC1FE3F0 +00001FE000 +00001FC000 +00003FC000 +00003FC000 +00003FC000 +00003FC000 +ENDCHAR +STARTCHAR t_t +ENCODING -1 +SWIDTH 723 0 +DWIDTH 27 0 +BBX 27 22 1 0 +BITMAP +00F80780 +00F00F80 +01F01F80 +03F03F00 +0FF07F00 +7FFFFFE0 +7FFFFFE0 +FFFFFFE0 +1FE0FE00 +1FE1FE00 +1FC1FE00 +3FC1FE00 +3FC1FE00 +3FC1FC00 +3FC3FC00 +3F83FC00 +7F83FC00 +7F83FC00 +7F83FC00 +7FF3FF00 +3FE3FF00 +1FE1FF00 +ENDCHAR +ENDFONT diff --git a/CLUE_Hand_Wash_Timer/wash_off.bmp b/CLUE_Hand_Wash_Timer/wash_off.bmp new file mode 100755 index 0000000000000000000000000000000000000000..29ef17c48ce3ea9d24d2dd6e3834727736190ca3 GIT binary patch literal 115256 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 Date: Mon, 30 Mar 2020 18:08:59 -0700 Subject: [PATCH 20/85] reduced glyph preload set for title --- CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py index 4258c30ec..b27bd751c 100644 --- a/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py +++ b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py @@ -33,7 +33,7 @@ clue_display.append(wash_off_sprite) text_group = displayio.Group(max_size=5, scale=1) # Make a label title_font = bitmap_font.load_font("/font/RacingSansOne-Regular-38.bdf") -title_font.load_glyphs("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".encode('utf-8')) +title_font.load_glyphs("HandWashTimer".encode('utf-8')) title_label = label.Label(title_font, text="Hand Wash", color=0x001122) # Position the label title_label.x = 10 From 86f6ab195615341d6246d69663b4c686f3b48d23 Mon Sep 17 00:00:00 2001 From: John Park Date: Mon, 30 Mar 2020 20:28:56 -0700 Subject: [PATCH 21/85] switched to clue.display() --- CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py index b27bd751c..574455df1 100644 --- a/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py +++ b/CLUE_Hand_Wash_Timer/clue_hand_wash_timer.py @@ -12,7 +12,7 @@ from adafruit_bitmap_font import bitmap_font import displayio import pulseio -board.DISPLAY.brightness = 0.8 +clue.display.brightness = 0.8 clue_display = displayio.Group(max_size=4) # draw the background image @@ -56,7 +56,7 @@ timer_label.y = 100 text_group.append(timer_label) clue_display.append(text_group) -board.DISPLAY.show(clue_display) +clue.display.show(clue_display) def countdown(seconds): for i in range(seconds): From 7776f7f06631038743457ef53e5dab9945ee31f9 Mon Sep 17 00:00:00 2001 From: Richard Albritton Date: Tue, 31 Mar 2020 14:49:27 -0700 Subject: [PATCH 22/85] Add files via upload --- CircuitPython_WeatherCloud/code.py | 331 +++++++++++------- .../adafruit_fancyled/adafruit_fancyled.mpy | Bin 0 -> 6379 bytes .../lib/adafruit_fancyled/fastled_helpers.mpy | Bin 0 -> 1553 bytes CircuitPython_WeatherCloud/sound/Clear.wav | Bin 0 -> 441104 bytes CircuitPython_WeatherCloud/sound/Clouds.wav | Bin 0 -> 465504 bytes CircuitPython_WeatherCloud/sound/Rain.wav | Bin 0 -> 225002 bytes CircuitPython_WeatherCloud/sound/Snow.wav | Bin 0 -> 73558 bytes .../sound/Thunderstorm0.wav | Bin 0 -> 113462 bytes .../sound/Thunderstorm1.wav | Bin 0 -> 248492 bytes .../sound/Thunderstorm2.wav | Bin 0 -> 193284 bytes 10 files changed, 212 insertions(+), 119 deletions(-) create mode 100644 CircuitPython_WeatherCloud/lib/adafruit_fancyled/adafruit_fancyled.mpy create mode 100644 CircuitPython_WeatherCloud/lib/adafruit_fancyled/fastled_helpers.mpy create mode 100644 CircuitPython_WeatherCloud/sound/Clear.wav create mode 100644 CircuitPython_WeatherCloud/sound/Clouds.wav create mode 100644 CircuitPython_WeatherCloud/sound/Rain.wav create mode 100644 CircuitPython_WeatherCloud/sound/Snow.wav create mode 100644 CircuitPython_WeatherCloud/sound/Thunderstorm0.wav create mode 100644 CircuitPython_WeatherCloud/sound/Thunderstorm1.wav create mode 100644 CircuitPython_WeatherCloud/sound/Thunderstorm2.wav diff --git a/CircuitPython_WeatherCloud/code.py b/CircuitPython_WeatherCloud/code.py index cfb9152c2..6f13c929a 100644 --- a/CircuitPython_WeatherCloud/code.py +++ b/CircuitPython_WeatherCloud/code.py @@ -1,119 +1,212 @@ -import time -import random -import board -import busio -from digitalio import DigitalInOut -import neopixel -from adafruit_esp32spi import adafruit_esp32spi -from adafruit_esp32spi import adafruit_esp32spi_wifimanager -import adafruit_fancyled.adafruit_fancyled as fancy - -print("ESP32 Open Weather API demo") - -# Use cityname, country code where countrycode is ISO3166 format. -# E.g. "New York, US" or "London, GB" -LOCATION = "Manhattan, US" - -# Get wifi details and more from a secrets.py file -try: - from secrets import secrets -except ImportError: - print("WiFi secrets are kept in secrets.py, please add them there!") - raise - -# Set up where we'll be fetching data from -DATA_SOURCE = "http://api.openweathermap.org/data/2.5/weather?q="+LOCATION -DATA_SOURCE += "&appid="+secrets['openweather_token'] - -# If you are using a board with pre-defined ESP32 Pins: -esp32_cs = DigitalInOut(board.ESP_CS) -esp32_ready = DigitalInOut(board.ESP_BUSY) -esp32_reset = DigitalInOut(board.ESP_RESET) - -spi = busio.SPI(board.SCK, board.MOSI, board.MISO) -esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) -status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards -wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) -pixels = neopixel.NeoPixel(board.D2, 16, brightness=1.0, auto_write=False) -pixels.fill(0x050505) -pixels.show() - -# clouds palette -cloudy_palette = [fancy.CRGB(1.0, 1.0, 1.0), # White - fancy.CRGB(0.5, 0.5, 0.5), # gray - fancy.CRGB(0.5, 0.5, 1.0)] # blue-gray -# sunny palette -sunny_palette = [fancy.CRGB(1.0, 1.0, 1.0), # White - fancy.CRGB(1.0, 1.0, 0.0),# Yellow - fancy.CRGB(1.0, 0.5, 0.0),] # Orange -# thunderstorm palette -thunder_palette = [fancy.CRGB(0.0, 0.0, 1.0), # blue - fancy.CRGB(0.5, 0.5, 0.5), # gray - fancy.CRGB(0.5, 0.5, 1.0)] # blue-gray -last_thunder_bolt = None - -palette = None # current palette -pal_offset = 0 # Positional offset into color palette to get it to 'spin' -levels = (0.25, 0.3, 0.15) # Color balance / brightness for gamma function -raining = False -thundering = False - -weather_refresh = None -weather_type = None -while True: - # only query the weather every 10 minutes (and on first run) - if (not weather_refresh) or (time.monotonic() - weather_refresh) > 600: - try: - response = wifi.get(DATA_SOURCE).json() - print("Response is", response) - weather_type = response['weather'][0]['main'] - weather_type = 'Thunderstorm' # manually adjust weather type for testing! - - print(weather_type) # See https://openweathermap.org/weather-conditions - # default to no rain or thunder - raining = thundering = False - if weather_type == 'Clouds': - palette = cloudy_palette - if weather_type == 'Rain': - palette = cloudy_palette - raining = True - if weather_type == 'Sunny': - palette = sunny_palette - if weather_type == 'Thunderstorm': - palette = thunder_palette - raining = thundering = True - # pick next thunderbolt time now - next_bolt_time = time.monotonic() + random.randint(1, 5) - weather_refresh = time.monotonic() - except RuntimeError as e: - print("Some error occured, retrying! -", e) - time.sleep(5) - continue - - if palette: - for i in range(len(pixels)): - color = fancy.palette_lookup(palette, pal_offset + i / len(pixels)) - color = fancy.gamma_adjust(color, brightness=levels) - pixels[i] = color.pack() - pixels.show() - pal_offset += 0.01 # Bigger number = faster spin - - if raining: - # don't have a droplet every time - if random.randint(0, 25) == 0: # 1 out of 25 times - pixels[random.randint(0, len(pixels)-1)] = 0xFFFFFF # make a random pixel white - pixels.show() - - # if its time for a thunderbolt - if thundering and (time.monotonic() > next_bolt_time): - print("Ka Bam!") - # fill pixels white, delay, a few times - for i in range(random.randint(1, 3)): # up to 3 times... - pixels.fill(0xFFFFFF) # bright white! - pixels.show() - time.sleep(random.uniform(0.01, 0.2)) # pause - pixels.fill(0x0F0F0F) # gray - pixels.show() - time.sleep(random.uniform(0.01, 0.3)) # pause - # pick next thunderbolt time now - next_bolt_time = time.monotonic() + random.randint(5, 15) # between 5 and 15 s +import time +import audioio +import random +import board +import busio +from digitalio import DigitalInOut +import digitalio +import neopixel +from adafruit_esp32spi import adafruit_esp32spi +from adafruit_esp32spi import adafruit_esp32spi_wifimanager +import adafruit_fancyled.adafruit_fancyled as fancy + +print("ESP32 Open Weather API demo") + +button = digitalio.DigitalInOut(board.A1) +button.switch_to_input(pull=digitalio.Pull.UP) + +wave_file = open("sound/Rain.wav", "rb") +wave = audioio.WaveFile(wave_file) +audio = audioio.AudioOut(board.A0) + + +# Get wifi details and more from a secrets.py file +try: + from secrets import secrets +except ImportError: + print("WiFi secrets are kept in secrets.py, please add them there!") + raise + +# Use cityname, country code where countrycode is ISO3166 format. +# E.g. "New York, US" or "London, GB" +LOCATION = secrets['timezone'] + +# Set up where we'll be fetching data from +DATA_SOURCE = "http://api.openweathermap.org/data/2.5/weather?q="+secrets['timezone'] +DATA_SOURCE += "&appid="+secrets['openweather_token'] + +# If you are using a board with pre-defined ESP32 Pins: +esp32_cs = DigitalInOut(board.ESP_CS) +esp32_ready = DigitalInOut(board.ESP_BUSY) +esp32_reset = DigitalInOut(board.ESP_RESET) + +spi = busio.SPI(board.SCK, board.MOSI, board.MISO) +esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) +status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards +wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light) +pixels = neopixel.NeoPixel(board.D2, 150, brightness=1.0, auto_write=False) +pixels.fill(0x050505) +pixels.show() + +# clouds palette +cloudy_palette = [fancy.CRGB(1.0, 1.0, 1.0), # White + fancy.CRGB(0.5, 0.5, 0.5), # gray + fancy.CRGB(0.5, 0.5, 1.0)] # blue-gray +# sunny palette +sunny_palette = [fancy.CRGB(1.0, 1.0, 1.0), # White + fancy.CRGB(1.0, 1.0, 0.0),# Yellow + fancy.CRGB(1.0, 0.5, 0.0),] # Orange +# thunderstorm palette +thunder_palette = [fancy.CRGB(0.0, 0.0, 1.0), # blue + fancy.CRGB(0.5, 0.5, 0.5), # gray + fancy.CRGB(0.5, 0.5, 1.0)] # blue-gray +last_thunder_bolt = None + +palette = None # current palette +pal_offset = 0 # Positional offset into color palette to get it to 'spin' +levels = (0.25, 0.3, 0.15) # Color balance / brightness for gamma function +raining = False +snowing = False +thundering = False +has_sound = False + +weather_refresh = None +weather_type = None +button_mode = 4 +button_select = False + +cloud_on = True + +while True: + if not button.value: + button_mode = button_mode + 1 + print("Button Pressed") + if button_mode > 4: + button_mode = 0 + print("Mode is:", button_mode) + pressed_time = time.monotonic() + button_select = True + weather_refresh = None + while not button.value: + audio.stop() + #print("Debounce") + if (time.monotonic() - pressed_time) > 4: + print("Turning OFF") + cloud_on = False + pixels.fill(0x000000) # bright white! + pixels.show() + while not cloud_on: + while not button.value: + pass + #print("Debounce") + if not button.value: + pressed_time = time.monotonic() + print("Button Pressed") + cloud_on = True + button_select = False + weather_refresh = None + + if button_mode == 0: + weather_type = 'Sunny' + if button_mode == 1: + weather_type = 'Clouds' + if button_mode == 2: + weather_type = 'Rain' + if button_mode == 3: + weather_type = 'Thunderstorm' + if button_mode == 4: + weather_type = 'Snow' + + # only query the weather every 10 minutes (and on first run) + if (not weather_refresh) or (time.monotonic() - weather_refresh) > 600: + try: + if not button_select: + response = wifi.get(DATA_SOURCE).json() + print("Response is", response) + weather_type = response['weather'][0]['main'] + #weather_type = 'Rain' # manually adjust weather type for testing! + if weather_type == 'Clear': + weather_type = 'Sunny' + print(weather_type) # See https://openweathermap.org/weather-conditions + # default to no rain or thunder + raining = snowing = thundering = has_sound = False + if weather_type == 'Sunny': + palette = sunny_palette + wave_file = open("sound/Clear.wav", "rb") + wave = audioio.WaveFile(wave_file) + has_sound = True + if weather_type == 'Clouds': + palette = cloudy_palette + wave_file = open("sound/Clouds.wav", "rb") + wave = audioio.WaveFile(wave_file) + has_sound = True + if weather_type == 'Rain': + palette = cloudy_palette + wave_file = open("sound/Rain.wav", "rb") + wave = audioio.WaveFile(wave_file) + raining = True + has_sound = True + if weather_type == 'Thunderstorm': + palette = thunder_palette + raining = thundering = True + has_sound = True + # pick next thunderbolt time now + next_bolt_time = time.monotonic() + random.randint(1, 5) + if weather_type == 'Snow': + palette = cloudy_palette + wave_file = open("sound/Snow.wav", "rb") + wave = audioio.WaveFile(wave_file) + snowing = True + has_sound = True + weather_refresh = time.monotonic() + except RuntimeError as e: + print("Some error occured, retrying! -", e) + time.sleep(5) + continue + + if not audio.playing and has_sound: + if not thundering: + audio.play(wave) + + if palette: + for i in range(len(pixels)): + color = fancy.palette_lookup(palette, pal_offset + i / len(pixels)) + color = fancy.gamma_adjust(color, brightness=levels) + pixels[i] = color.pack() + pixels.show() + pal_offset += 0.01 # Bigger number = faster spin + + if raining: + # don't have a droplet every time + for i in range(random.randint(1, 5)): # up to 3 times... + pixels[random.randint(0, len(pixels)-1)] = 0x0000FF # make a random pixel Blue + pixels.show() + + if snowing: + # don't have a droplet every time + for i in range(random.randint(1, 5)): # up to 3 times... + pixels[random.randint(0, len(pixels)-1)] = 0xFFFFFF # make a random pixel white + pixels.show() + + # if its time for a thunderbolt + if thundering and (time.monotonic() > next_bolt_time): + print("Ka Bam!") + # fill pixels white, delay, a few times + for i in range(random.randint(1, 3)): # up to 3 times... + pixels.fill(0xFFFFFF) # bright white! + pixels.show() + time.sleep(random.uniform(0.01, 0.2)) # pause + pixels.fill(0x0F0F0F) # gray + pixels.show() + time.sleep(random.uniform(0.01, 0.3)) # pause + # pick next thunderbolt time now + Thunder = random.randint(0, 2) + if Thunder == 0: + wave_file = open("sound/Thunderstorm0.wav", "rb") + elif Thunder == 1: + wave_file = open("sound/Thunderstorm1.wav", "rb") + elif Thunder == 2: + wave_file = open("sound/Thunderstorm2.wav", "rb") + wave = audioio.WaveFile(wave_file) + audio.play(wave) + next_bolt_time = time.monotonic() + random.randint(5, 15) # between 5 and 15 s \ No newline at end of file diff --git a/CircuitPython_WeatherCloud/lib/adafruit_fancyled/adafruit_fancyled.mpy b/CircuitPython_WeatherCloud/lib/adafruit_fancyled/adafruit_fancyled.mpy new file mode 100644 index 0000000000000000000000000000000000000000..148c44ae6fbc76a894904aa9712a9ab255f83d4b GIT binary patch literal 6379 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 z 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 ecR;X-_P=PQ$ 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 BccEtl-C8PU zV>L7$)Z;Q}{}Wx3I!mcjv5<9K;q0lVTPycN@bi!p$xe;eSypZBtfYTq7vlphPqWHQ z)Zs0j>ZILOelGXT@8IjVICl{#PbSrwDDydEs0C5Ufx40GEpm4)XM&$CoJy{8zb)&y z;oisz_h)E}oO1j(xzE1gTQs69P@?jSB3+B6>RJ^an3en(4XtX;}uC32= zoAnv+byv??s~%au97m_v0s6hR zF0~GQi1a3Q;lE%c{zfX@_jeL^w;i@l)(WXEo%4*ru+#xQR~yrxtRiy8k{F(KR-aFh zsLS9k>)o+DnOd~P_h7g=?&YrOD0JzF3JZ8g3+bTTf$E{pf60Z>$zJ6^^WMoLZHJa~ zw0#4ukn@|5JY5P^xg9Z-?nn*q_+E+4O-7n;;>MHS>|=L$2g&~feVL4@iIG}u_PtQ$ zcgA~@cAL@8&l!1FQkWQ|ORT9<6W~d^CeMf$nqrR0k9Ptca<4S!bL}AD2Dh+YMd2MN zGlj+cBx!%ZH!l`2IE;>X+~~HOSsfBR3560JHcLN?#rF&#OT8g26%uokqa3Y1109L5 zdJDgnh@t3Z_v4Rd|DSl2la#)`UClG7%a8tFRQNs0PBF*aq>oliE%o^jFn|_IZGm&V z$g{M@gAnx>h#G;@i+EL|_4*s*AMS=>EvxFuC^-k-x7e9zf`31?xf3m|{j}+`O{+xIBHM29gdn28&nmjINA#?Yk8BW}w z&kba24%v7QU4H-x6Jd2G9kGNT^)Wux4Em$96=re|HAkbz*@K)if7(bJU}okjFe;(Eu?aP{f*MkMGN-f>S)rdmrfPp%`K3n3-dX;Npd9_{yU9J|G? zV{@{(jLg4Gw|rG=$q1SAh$U8WH|zI3RvSOew0!oQ5L1)H!Bc2~jMV7)YDb#gY9HTO`|{UNE? zg4*|^W;=+=jppq%#9ByBB>GW3eZjhFCs}@hXVVL<%FS%BU62*5e0JuNiF7v&--9HS z@KpAo=7sFN>&R?BG;6_gOvU)sq`oN>)`YiG)Ju)wMyzCNpA7f&Kg?h>-zY1)>$OHjF#Mm-vdZTtHQ_=Rg&BW&$BPJX|2DS%^Nr{h}52;xny)ft21Ud zlEjTGNaT}n`w-2XjFFqoGWU2Ahu@^Yo!Y3@1`XfVUjsU?K_S+xH9GeuC&%rP)JO5f zq$PfE_BM{Qg=5&)msrw%?E5f$&k1*SHn*Ykgu;7w8&PEN1r&YDOzxm5+QPySlDW?~ zma=QZ%(j%Dko^38NK$fW{GBapOc&Jgc@?j2G;R7EEH#9gr+sp#RwlR`=Y}**`WoJB zgtwfT^upbE9@A*ES!~27P=2h>liBhRj?^&U#7SI;!A-1EGf$s~$=B$h>+z#GYrBV( zv>~A<`4C-M+{Fc{I_OqYayuu_^9@Fld=R@yN#d__u0I-QXVZOWw6~(Lo|vHL#<-nm z(L@bwhq@uwox35wAIVJy-d9mG_Xln#UpceyXb#DieA0;OvLL(3-)@vGr!Rixv?=*W zR-j$ZaRz$!tT{C|@=o546b`|Omr=L@?J@!v8uLR^K|c4zvq!Vt_-o>I72VPoH{Zm; zkvP)}0*lalGu~CvH^*?h3$8!v|Isj!XwoAneTH<+qB(1NBbje!=zp{RW*hleQFAYC zRojSmnpa~eJVQ#3`#1N;vJk^peud=^&9zFNbtXT_Z_hl(gT}Kkmp;;;k z^`JAempIIdJDQ+7+84vYOP)^r;z)9~kxonuR83gh2@&;4@NVtgYMnCMC^q;mE1pE| zq+B?aj^hJQ{qc#i4Xn70&b_m$|QU9Lkr`pI^i2vwnYxHuvi_FOs{P&E36!6OTTDYuk*Zw^1G;We2r>$Sk^gvL;k_^LftCX5wQ`v2#N? zl>^$K|1qCTfUni)of-)(arbSAUgC|*;U(EVR+@P|_VN{4VK_b=#<9Neot0_sbe=MU zoNTxCM)b}q?>44i_W3ONj&tW?n`Z~p#7)Ri&Jwfxaiwp!*a@m2f2H`9JlvO=*^B(5 z+R!lo9deG+Ov~~9yU@ScP0Ox*vLLVaTd;5?8rP;-;t#bl{tm{J6W>=+?6Z8c?PO;a z>0JYX53;$(@udbCn+tmfV6PMIC6{=j0!Bb^)&&>gac?V@b`C3ivYV_65*P-vt&!zj+cjhmK%7feW zLR?Oc`=QTjGf5Sm-hRtY@Cme<4G+U1t3Cd=K+$8yFu=$j5nH~43|^`F%mYTThS%{G zBOC9$F!uqnGRV!Q-e^5VD<4@0U1zmF3nfO;NUPY?F7(Pq=uW2hAmfubyGE;tQBOo> z>gQF{j?GbSBm`|mrLAUoAx`WJq>V-058ddJtWUYch)J9 z#+~$ij;_x>Wb(V@M$P~}QeD<>rnyy`Yt}~h@P<0`s^;To&h}fFb1Ii?goq2(esUA8 zp^+Y7X@;9|c8lZ3rbg#@bjXUSojyC*XZVRR95SMz`tC1^q}=Z2bhPVWjJX9i*4P&r zPwvH4_z0`yPxw4a@ogk@c~YtLKldyunU*_ zr)AzQL5)VZxV@n7>RN{l#-DAtb~(9UkKzrDxv7~f;XCA(ZC^V6u-0;iJ5@|`V?y0b z+&pRQ6P$7f=l$0J4wm%G}C951#dd% zeys}}N_^-vb4`remvzC6YS+K?(y_2!Ni=LDp1f_4RV9l{g;}02WXos-q2-=@nRhnB`s_p5O&@kU=*v|pvuB4;9>V3IctnZ9qVD-Z_wpPt?V<`J|{~>=%d-O?l-FkF% z{Dka9_vELJN2_wRzD`8RP3J@7a;q6Xno@*~zq6OK@Q^+r-w~Y zHVh^9&?Y&>jua#Z>rct=B)=zn+N)@r*q!0zZ97ff+Fnc6uc2&((P#DCo9C9=wEOh_ zEUhxCfQE^vwqFmcJU<4Fa>}=Xu1q$Ep6IxZbR;@;qyOil?+AUQ=ISuKUqLoEz*j#s z*`H6rz?&A# zTtf)h%ceBu*Iq~3Q?vL(BdV><6K2>J0^)P-gRS@mtu>kXMD4FFF zRXoPN#1T9?Oy8_C(p1Z?%a@5)mTU#B@ahG8*jso%x!h81Jdv8+&^~^`!+d~qP?ppD z$XZr)CC1hU71mlArFM35LFO(~P+5Yi`+S?qCDEd7aVOlW3GJ=?w1DleVICdvxUt@n zmoPUnPMc@e$RF5~`yRR`hs#!UOni6~8h*KXB|~D)-0KviuO8h}Zf?mwn7H3jzHLaN zOO5+2w0n)DC*Go=o}NPMd-V~Hwjp2ln#&gp^Z1ark$Pq~(5AnJsiQdifF2t`!S7N3 z6pK~U9J<=ASV{x-cM5!-7RV|x)sM3CGZtrGW@B^DA@v_~wv%&}FY^9s;8*h>Lg(m%nSLIOHfPwM7IvZE zK)-f&)rS={Z|;+2A2CrxwY`(m+3o0?-NaP(U03M2uF)RS+aUA24Dx<~Mor9gi~c%m zdn7OPU7BJW4yUqHZY%aT%H&yE>1I)OAx7g@a=30V&)gSzP@l}i*o5P13N5}Ri$?>amiWs?1)!U2cgpF2BFL`%@*(KA$733lQO-7eJ z)6_anp4976rJr#m8ab!8iM6kdf>+YpOY~AgTHm0t$2tkgj^2)feMwvANlof34K<>i z8@&TNS+AWzS2?P+dIHtoho`if8+T2u@Yh0fGoxINbJ>kdJaD4l63e~K4A+v6(}gwi zQZmz>Hb`}v)6kO}o4E&f4)127Rxp$sYZJ|P7%D8LBj#wMsqrUAKvuiCJCclP0O+-X8G=hG&sKot#}sQd+Ru?Srs5EYz^ z6U&Y1JgO|_iK}A|t&5F6kr^#ed^I`}kdYwhT z>>c&-ZgcM@j=m2IG6J>UGxD4s=jK&vi>Km6;*lcdwfvl_N4?;y9{E_WBI47Y?(E%Y zgJg~Q|21r$p*{D)@KZj~aQZXx`CU-sHTHCZ5!dA*Plfd45g3Ll2Ow~nHXE*@5$O>4cm@WmPr|ekzP( zJCv?8vVMH-mH754J*|d&{wS^6Ahg+uZa+rsFU27$X(cRW|BL@zqKFouyecn%zgklO!ma&VN2X;GXKR3 zP3-evbjuxs(KKZ>3$umIt%k_Wo~*$218{#IM5K;m8@q1V)x4fvN^Zs6#hedIsaMjD z?a%GU<>nP{;xf-HHj@ERwhOKY;!_`dT4v_IamPM&0&}MKt`>Wvc2iY&H`8!Od^!;K zFL&m>g${lV_EHV2CVE^$UW(X_#&G##(P`m&Dxt?R*Q2?6%7wYx><;5Zd$!;zSW9H< z9R1&Fj5+(7Y$x&`^jhk!jWxqR;A^T6T?->s&@jiYY1TSre8@wr)fraxb$poLI60ys=_*`!${?KdHx3QI4gdc{f#}=M;n0uJeWjZtsdo5Xe0mx0 zFC%x8p?8$AoZuzqtg(|>r_SJ8vX4&CW+__b=2$t3{R+>sd%VaDxA}W9OwB8t!#vGD zN+zBo;(VW^@&1DT18JN;7Vba{F^WCrb&9p`M5c0f`cInq1Uj!ai$l1aJm87;jup%u znA8E@=eOi!xY~){X7=aFg2$P&z{EHuL-;{*T$7J`+PGTVOG=g7?7$yJ?Gdzh_C6Ck zRA$~!6{1!qnd>0E#lpYCv+E4aso|RwjP@k%9b8!x}2hH2DQn%uGO}tr0@4pXM$!jynXmV?;jWMTsbt_LNqAsUm*P_=Bv`;P0U8K7Q ziCb#~?Z{bo^P1t`dZJzq(S7G3bhaq!ZrZ<0L~!oGJJ*__TN)^5!!zt!E`Z|P`ANO8mULV)!Y2~ssQ+K5 zu_tLG9(eMq+(Cj{qh+EbOG$Pz#wT9wngVTR;KKmcsx56Y%B{9-5cv;WYC=yZ3vr^y zi>&C@nfpH&SLf_DD_6QVy$+i^B4R6 zBHtzp+dT9Pt&*|i49_C_k%_phfaufqDszi#9~34sJSVqp>4#J1pMAmPsL%dIG7gEVKJ+8w8I10bGas>6o!=SW&|I`xN@SpPn> zWbR8J(Rw0>2athM-cw`IbbIKga>(oGshlmW!?{{KzxJdkxnV!@bk@>at&eNy>td8y zY_wb0t*lm)VK!Ne_oGr9wC)AfFO$#I=FCoU9V?m=E1N`CE`{+8DBqd)mXotlo`{b$ zT5CHCK5t*RxQpGIj^B-F;oOMI`QsjANt{CNlXPPZvWHfVI~({#!_6@#_;1p|Ezz?v zv~;&RXpiza``u_pa|&-Q#Ou^hy371}n?(z2?X~oI39QGypF*F8IC~WxRHgNOxVKlI z$Bb>g-zUL%>J^7yYpf)ay|ffP%JC~T5B8Z;GMgkDdLn|48%L_euBR1WV5`sRV~o*t z<}D^0<}eh?jl@)RZbuKKs`Of;dfRV_{my4uH>Ea0Z?wEve&5*PRXBM7^%Cv3$0u9h zGPPOD#1-^aL-7UHW}nfu*LqHcDrnGAMtTaJau0nw+PqChC(y+U%{dl5)~y;fPWbsO zJstjUhS=Na-;A*-9#z}(&)vZy-_@ldo3NCnWb2q>no!Y2T z9|ChGlX6AhLo`UDK1%7jrtU10Hv9TqrZ6fb;+hrS_9*?b_J|>~U zT=#cR!uMoy(*T!ZlM>bbrq-%GpYzd9XwruEnQ4B-1xx zgC6Kw2`Sl&7-MFmX{UJjOU=0t4z-|5664+&4{GAjU+MqmZ1HGR$th=R=t~~hcJ$S2 z#uJ^Jo9Nl+m=6hkV7~#LB`50vx@EGqX83K0vBpNfrnf^-cBR&zMzd1hPU3uOQb!G zLL$8HhRlEJE4yJA>MG~#E?G9(kjSIxu~O>|JePCaUG9;s^IbQx(A{b%nZ{0-8P%iDXJ{iQx}Va1>P;l?PxdXB@dl3ZBR^&i*^PVC z+zyyS;_o`c)jOe=_YFG4bPlFfsS-gH}5Qmv}9WBK^AJ!4mo2={==PScOftD ztb#sk;r)0-$@S2;Ak%fN9b`^BI3vnepzhW9AtEZXt z%}r!_4ZF9=XoA`7xb@fPo3K7ozptBBsz+q@yF9f9-ujV%^Y(HElkpGH{G@(AMK+i5 zOSh7roJM_QzR4NgpB>o;M=c>SS~oFRRo{I z|0gHcTDm{?3gY!Pur8hJ{|R`L8up2VB)?7xOIXGqTw|x>EFbN_n|{_;Pq$O*P_@ta}3Xy z7*!%+6U}mh$CauCsX;hR8=K(edWbv;laHFg{p`b4w8^u+JH=y3UfB=G`#7V|=}!Z` zNbS<6~-vonVL7<3%;f#(sXx`}5!?gNQ9?8;2`bxdIE^wF( z1;f#zA^s&cY6F@3775Bog0$2^OV*`ic^(Tn$y`^1CK#aC_^h$KmFCx(oMjiFC27ei z`FeQEZqy~7jGbBrOV>g{ZUS#Lqa$XUIG5@6*{%}vc2PkKBtu&h&m7nL;etHmHg`L+ z(;EURw3j%&B{*}!*v^uc(fFOZhKV=}W|LbjaXmeG2(`_B0Gj+2Mb7gzyO68MY0fw2 z&<|~`kJ~`|l{itZ$9ed&OTX>(*_hnK_e=D2Tc=~su|}U}Q`c&19len|MFY_#5pYx4 z%MN5CSq7`={?YJW$0tot=m^wr<3|-)Ywsto7m=}gRuOL(5cDbbr4~ufo_B61_BOu6 zzC6b|4d9u69A}e(aTdLqdV0y)G|S5V<6>q;@~ofNW&_W(rNPQkJki6K`t3YEZ8DOa zqm`T0HNJlXZ}*}@VrR!dRI>Xgn`ZL3?($hX=L$^KJ_)L7xBFj z>y#`?WxSSTX^Rh^j1$>K9?stXo0dxE%G}<)%QvUYDeIH-o*v4Bi~Y;({NyQ5_J_OJ zh1`&DWL?x2Hj)SHn6X!qqn-Se+$l)JKq4m=&@r88ka)w#XwNa|{&!qSbjO$61iC~{ zwA*Q_FQeTGPj#owF088K#Sh_+H#M7idP@vxssU`Zm)pzCyZSQ+hwE#znti$gJ>E9P z4J0LX9!5dVg&TQwac8Tw*#*D+@`AQ`6RH!*nko-#(5wp^np`PWM!X((R@~3o z%}9T87P}sDp7d67A^orS>e|b=vkI=Oddr{X3$zxh*1gAqtOJ^R+TeL$wib^_Q9LmnnR;4GBH#9ij$}ZM1zb<6? z41_m=`s3)6Y`uxqy$APR&_;G%-YU$yAv)g8iY-^4bQMj08~kSVT|)2VZht#ZhUQ0T z?jnBG4Jh_KylH?_SHaIjvq%N6R6k2b*#5?PBYNG(_pjsUx<)e`O6sVS{A+Z+(`S9m zWF0>wF}ZWHkc8)>cNa_k}wB(eWFFZwbJrxrqDZkrodJ2aSMw=xku=RG~i$eW?= zQ_vHunSAs2({9AT$6zKo9OW*_l!dT}}}*2k^avAC8SO{r~N3!<{edL8N< zr_pj+o=Bh}Zh1b%)+ZNF;&k7l8)J!EkdEZX%lh~d$mxRmE9l3$+G;_Q{tP`A8%ypY z<^*FqE?-H{pXbp%r_b#Bc4ZY;qd{^OwDx|gl;p9+=578%<)7#*&k-QN8GYA%Dio^-q0!%#NKtS-XuVKhc|-IJpwx$nwIPGdUnBx>{{ zB`@OqW;!ET+nQy!Qx_}WKaz<_qP}tu*KN8xUbRUEL>=w18;ZqasLoFl^ zSWYuWh|HaDgzp)3KRm@fMlgnr6=6H}FF|77vXTBAxoYs@E^M-CWQA}rfj z!|w5UiT4M?X=*EEop>JFlDlvZJ5&Py&5bp&HEHb~^xxyI@erdw38|@dJP&n}X*F@# zsautbedV~Cn8x`$!lAVGQ8P%?%0;yEOL)4Gh0ZQSqSAVz)jQTbiPcUP!!D#D)kaR( zaZaU@_w|tT!qf>F&3|5pLNn006PtK39d(Q^lzS$*@turjm3G9F3oaGinrLA?gxrS9 zFVRSC%=~3E>E!$*v43O9QVVwW8PxnY`rN{2O8wJjxRzM2&~77nSja{WQmK;Etc%nq{2>OPp6Q~3be@TF|nMvZTkTaA?I#Q=+f+D4Mm6L zaCw%D1)=|eMjh~a3hkN7^yQ@Gi$-z~UUQe~Ans&;Hd$-NnRRp0`hoYeH+~Abk{RSE z{Pwgz6&?Ran(ZulUu`CdSd$J$i#20;u$K1&&b8k4!9ftZwnSGwr z<>-$mIe}?mUa6?O-`{?oO9W5iE#LQ4PR3f9XQIn1$$$3MrWr{y`Xbe&s#t*%E8k-D zZNl~!(X2y#e$XoAIJ>loUCB!LFrMCtn@fC}%tWP-Q^FE0hRsAjw;-v>i8vn~o0xwr zadzVuk;Clq;h}+hKme%zB?En!i15o5-4#Y;^7`B@(O# zeUx~i)YA#VcdNBti_bTVHcDl&FG6g8968GK9_{Jez#DEnf1y=!Zghovz}YK%7EkshPRwIHo=|P0NN$hZj!B02Xy?R%{7o+{ zXqwxNd%ZSGY4|=UFr~07-3?mnYWEs*PQJdbC_Ni(irJ!M3hfH-+2PDiM|M?GgC=oZ ziNZ_f&E(eqK>w4VBB$V~)%!2~jDX0AwANH}J?$iUq?nM!bZAx|AE#S$mm#Mj2k7SH zk4(nP#84(vRD8HPDco@73L%2AwNa~?WMJn%PG4V ze=(n&xm<0(D!nD9BY9}{vP=y~Zz5UVpli3#Wvx7QBb=P_Ol$A2hl<^1@fyU8WSiq{ zC->-lPYm>Zvdt!1tph1d<)2p2o4uxF$~;P!_c!ZgmELXC13Z6@p4&(}Ra(O)_tS3p zY-47r?lhm*y4|R6MBScbG^5y5SmE3YjeWKJ9p?_o{xMKH*&S<)FNsJV-pF$yRp6&Xdk$qfFJ-?0_Cb`?ctrj5MDj7u(3vdHBxl zu4IT=g~F}*FgY8m>62M-bm3O^)3BOduf#srH{&A6TFzHl?TuULuOU8}g1WIk-AQJh z!hBD9rXH##)6Y?8UhLF8xx%t$%-MWyFAb;R6W_6pzcgA)RsPT3TVsgt$m=*k6Q%xR z37Txx!qw(ehy11h!$>+8l%iDC+Qo!mvip;Q4_5icj8BGEvzLCxvP^r z9)peQSv?#i`{PMZYmqR={8njH?X46qdE>qH%)SLqNhKb$!IYhQXd_T!t9HF zPyP6QJk=xc8z~rP&UHw^yT+IE)l`Q26gpBvpCR12An>si;#G2=00wi62G#>+OpKLL+dLPF|{ALp$f6&Ezf>|REVBX%Wr ziZ=TW8miQcduNQlly~+nTR723I{I`D$$yr=@l|7MK^6|_FVQHccv8uzluU8gpxI~8 z=(o`EZ~kba0soskj1&2kSh`fUNEO;-6K_c$3_-amXn35)>#5DAaMGWZ$;ojl!{-+9 zM0#^F`u@=S#m0C$&X+rZpN$8(A=#ImJZ)s#?OUf#L+tviWV-{3WY;X#WwDh>>T?W* zmtE@TozPz*gLm*mYFhs!Dmb-@7xB2_fyc6}l)0p#3^qCGejFwzk)lu27wggNSG?Jw zB5IPc=L1?T73z|QeiJWaD600u%TVnfbk+{KHo5q+>TS$>t7BEM8LE<?2q4@opl2ec6cLv47>(zKL|~>6>~y=LPbIq$a{6czvf< zbCWDL)Xu}ke3WTotf{-1eC!q0q!*FdGBS9K-&ZYe=@}zEZ)VAuoZRB4NLm}ZJXwM- z5#u%6bE}Q=)8z6AJL%2o(yxncSOtMU_jL9t?xcl3i4K2c%W?}iu|rw+>oR0;pF zXBQbs>Y3a^`kLYHY$#0riCc~OKT&523-k+pc7c=b`pIpcjbt)+!g6NU*^Q+GR+?Mo z@JVIcFF|xHVQaqW>+qS}Ngv0H+$?KjR;gON5WhR%W{J;J&A6U1PNs9`6n3s2G>`S> zk=%AU^E^iKhVv-vp!pssj=t|r&K6nuZL@#WnKV@ww0o+9eE-CCwd=Cx=Ybkf?=b2xH z=TleY8rHHl2|aCZyB$jIr?*=fO>Psufad?>{oElxXH?AvOipoqIJA=A5Xb0d-H8Hzlr8sq@Ox4 zKLf(!d3_wMXVJam$;?vpZ%4u_X^@(%$e)}j#QJ<$%gJ+|6Q?G0-4b_S?lIRy->+eP zN@9G&~Hg*4H4!LLyJMpqJ{*$n^wy?9l%6?}~oL3re8)MIX!+5AGcoo@AOx#qmHV+^x z!;N7Z&D@X_5>-pcHXZFQ*qCzKQNQ}`sc48n3ZiIlQ zq$0Ux+QDMtT66xDbLd?(ZXHhyV%ut=PAbeMdq*r^PHvacYl%CKeXVC*oGMT)e6oWd zzaKWPqvJZ9vXRSznnN1p+#;Vyod`W_&(MS zS0j1s=6SXmWQ;+_*J+GmV@uudV$bIW-@8zes-vms+YORaeYTPwZ6xoz)Hz?vO@X_`8ve}BV<0%0aZ)>XBrP`8%BTwpCUZ>c3^mi+ ze&b69&=<{Y0Ezog_X`I5Oun-lh#c+`ScD~GB*kT94oi_YmqvX+ql+yG7% z-S#M0K?Z(rJl`?feQ25ctgT?U+IW)Jf0g_fJ?Z!8|I>0a_JNhA`1CIR)zRNcV@egF z{iL;xZ_42zJCs4gH_R>-Mw4-OEgK%4lS(_ewb&CnUnPmL{x`8VjmhCy*nHpk-p2h@ z2$@S?{v3i+Dg2jwvKvu3yS?>!7NOW1q^GFpzi=`4Br92rFTvObRLqI;8Nb(};S!Zz z6Gam}(AX+%T|rAE2KuCVC(f#gzH?eJM@!kSs>3rMMdDLgVi(J}llCZvkUQXVsj^zciqA7OE3(RqnQY6m&VRNmXHmg4+=2+jU#vbfYTo;v!gG}|J* zrw;w+Jy{O*%Z+I{?<$qi`{PZ{v(sixNI$K;M2?;I=?wJTqT+mFi(=!W2hSE}pWUgf z%D+#i)rXqw0R0@M63PE_7=4$odpTX$iw#V4Q=)@9k=j=vb|~$bo7KT!{G1{-xR%x? z!r~h+bq0P;n)MNK(4NoRUDR@J;(Z8-n+k}piFVt`{FU@%=$1TlOFi4#>~kl32c!-( zizYN-;%Y|Y=0U!8?wFtC`^SeEg5q}SU^ck~Z}wcV@8*)?oS8R9foR31(6V1NW%3C> z%@61Y&p$ECqn_K!H~KR@-G*)-q^AzFNvbH-g6cB3tjQuJyUkFP$Ua7@0o+Cs|3o4&S@d}ezU()iFX&7 z%Q5_VK<`)T@v|tNSd*NF%!b%we1MaDzvNE8!_0G|w2bT>pmG0hwVz0fYv{b>@Td*v z9Z7y_q8y>CcbRPsJ&qvN7xK{M7DkDu+u=zhVYjt@2m0m`dM!5ivus9%HTZY+oa!FQ zBOeMa)z40ruP@zIVJxNio?0u(`!JypqyH~0x2B15V=VVHchZx^G}RC3^{Kps+4Mu= z|59(F5}${_P+}^RH){!b&E8TCI7-NQHjkc_hjx3BtjxPcA-Kt*w#Srd3f1IJBggm+0r1n>s~|cRBF#zL1Nn{ zX!R>(BRfAmX|Z^Bjr3SejyFR<5q*$z)a(n*B4x>AoG9Kh>$lkj4Ly!bT*xPpUG+_< zu>;z_t;OsgJcg5rk9vS6PNc#<*i81TS=FC3`eYD}b;!BNCRDnet*nHXSG1fQVu>=( zt>$EJsO6hc#*v!YFQItsP;N)xNCz)v8Iu3)B>7)Nem)Op^I5w^R&JM~^}p!K`(pv+e`OX5>k{M|P z4gW=BK5G4PpKk_x`#pN}2&p;?uXVhinth?#d^WUE(bK91#RHzh`^fo4b2A8HMrt$B zaH)o!ILgV!`jM68pV9UqnG3Hl&V^R{uiLY_)_C8?spx}y@ns%eJ4k1eD~%$#RC1&JO%zTnNA7s1?qYUS*7@zbsFC=esdU~*6wC?LTl(1s zll9D~%saXJ(S>G(mObc}DusLLr|fc$gy7EPKX-06 z^Y60zkx2Jcjg6KX>)ByOG7S#0zdMpdZ!+IR04GKxx_7npWHPxOuKqvpRE)Zp@k^T( z&Xj5zdk@@7h0EOYzLBIRzI7RC%iZ!`MK5}GG33364q0vIPF$+qb@pcBr^osB8T_n^ zVhizbAf#sJeF!SgMV~EDnH!DA?fKpWA+`A|iPudPqG^zqo6il%{;Q~P6}z>H)=v%b zuW4sLncO7q^ssi@7d*@X^it09Lb>H6s(!(mCTgvZSxjS_cF@OX&>=S{vJ-y^dVi?D zoN6YgTXW-Ip@kYwB0gj8&q8=A5hSMi5&RnsQ+@DY7g{y&Z)%PvpIU1gHIdx0fyr9* zBKdmEZMj8u9;O)K$M7&Yv=a-wh>zHeO}~`1CUfoIjdwWe-9ci0rN3@weUhKuv9LCq zPw&^&>nF^tilurT$9j_TWa6J_9*GAp^V>f?SLD53P%%iW%gnZ8!P9;ojT_->4O~40 zLA~hQVrYFF2EJePo=>NlMSA``&GchWkEdTIvLLUsHA8)t>N?kw&)&4wqik)39lGo3 znb%PM6LjrV-&Ypsc@C=9!%H)gyo{Fkf#?2dweTd{bvHfPg_o9_28nmx#ap@>{r?NE zI_TvAbUlvtyKp4;T9U!+G!69vB&QZrce9J7ID=mE{C>g9OT<_=p3h=lXXK~#zKk5U#Q9rjndDV?+Sm`_ z)g=6gcF+B^=H^%e2f6WBE_Zk0v0~xZ`*yvRaSs~hFbj|fpVW-5O~WVu+Xnhq24dKH zgeBes5BD0^539$;BZc8N>D>Kro4atSarqxc_7UD(O9~R>@=N3YWkG8H?nJJwoM87G zVX%rlbzK!V9z1DUMd1=Y{)CpC#^XYcedC4CW z?K1}2QY9>FmEa|H@>}e&6%S-;)|%J$V~BQA)0Z z)jYM^c`v!0kQ>U$85SLzd~ti=V?2A3{2*^YOzv3?C*fa#_iNaORQ`)SeuO;yoULq1 zGZph$_UK_etG3Zw^U3b#@nJKbu7vV_(75&gl5`gERux+up4t1HbLsAuF6r)+ZUm9; z5Tucik`Po{X`~xLO1c{f>5}e7>fU?K-ZSr8yys6JoO|xxGb{fqW(`sx5z`Ico|kXE zf+CNQ?`N21}loY|0hf?1)ioF>1=oaw$;=#f|q@rZr!zB4&b zdV-8dc{Pe%$`m0vC)NhNlzTB|;J;;3PZ8dD0DTbrUXayG{Yvt>nW4!EK9}C3a?n=r zto%=EbaHdW_vCic;pV~4&#k-3&J&!NMiQA2iz}rFy@Bh?Xc7NL2D~m*;BYB z`4Wi(<&Fo5!lfG}DU!SiIZjNBQiGh%S?s&aV>$*0r`FL-V;Y@pm>a1L8}k8exwoaCqWK&ezjTG5+}kyDEh~L}T+a zBRlz#FsYp^wf)G6E#c3b&{vt?mpdJe2M?)uc`>I(({~>c$K@z$zCEd z>DwuXj9fxn4kPQ;;BtICrkoj*K1i8a(HFUyN38W6y00bgup7NT z6Y+QS3lzjV{e=hY%ldj_eF7kcXmaRs>)9`45L57{Zdla^@H7dzUOBb<4mwB=L}ylV z;1ksptCXq8L+H$_2;JLqTC4nD7zx-bx^@jG&X8tV-_2nF1ZA+$Cf{Y^}_Ol^YMGKeYzjm2+{W zv6_d;O9!y}{i)wfMYeoU`cOF8`jbRUZ-DeO?cyyr;n8$F=@M*>%ky8rYq@_kBibcT zAIg)GAicTi=B|xii7l5~UH+v`)&os@$~%{%yT__+Zek#n#Gc;*%;^DVqv0k^Z`dsDJ*xkF+?|8r;Wj-2kD%OF{J9O3?#ns@#NFd~TY30j6Ki~zRmi;VHrRqONL>_il#Z1= zLJ|sKnWURz06&%cCx&DH4`40jG(fvg=W3;Hl9ngUg8%iQY(_Ltrb=8xpZ{a+1^8Qh zbl^O^{Qv1wnII{5srDnAI~V#?ESZ8^3b~HXZB|KA{AFG8n z$A!+T;7%^$nG>MO+Ssl%L@60TT&JO(oIpvBJV`CQBpmm!B9fULi3OXD6eS`GkiHzj z*^3;r>PA-;!sNOh7*Vk$aK%BW-enVImOjeq{YA`GM-ZD<`~I!Ky8h zXC3+nq_TgU-xUik*|0RM;R~$c6ezbC3YKCmG8f?kc2(}MkZHg%P)+g;Qtd2_mC#WC z4{UaNr1m|(Qv^RI6Azm6oLNv$YQ~a*$xa{6J9gRx?%o0e$T>KfD3=O7`vPs;ht%A} z%Vj|0Wh!|U>`i-gFCV@$7ZP?8Kb;RdF1;Z~d2?B8t4wS;YR4eilBrLECLV%zLLr$C zB4@DoB2yA`G+;%Ops1YP>BE{A!;cbhAfK9zK2PI!u43WyBO8CQlSW9T%v{X_{qkT# zzruowuZ>1e65#>s@U&h$y(xJusX~4O=YK~|WL9%qXgLD^CUfm_VSi-yQzG;#2&Qw< zoQgbe06Q-S=WFnG$!>g!G#!G!Qahc2r+5H2gLK!*36%A$^C5UV6IqiB=nU&C5F7JoR|EK zKmEvxGO^dw@IuZ#NH?9F^{ENHD*Ylm-k@lq_g>1ZY;2mo~>t9E#R=kF=u&#^jOD-&eE4&7Ju^q%Ep6x ztZ^Eb5hAMKG-!tM_nYN!EExFI{%1p-Y z*z^1BJ`UW-&L_WPT}9I};r+U^CVD;bGJ}x$7~;PJ$a({C@J*~;VQ3|1;ibc0x|^fu zDN2b)lUzx?{ZU`6+#Um|3zAy(~{t;A~OBu8(e z?hCdi@>7((v`0VX{O}aYI$&YBJ!&gD@d56hLskl+tu4@?mvD0g_G2oM=p*vm z?OA6#v|i>|?1!UL0g1=jaErb$evy5!{M}e#}!v zE@U2NQ#kSv36H=BndvQgMCm6@Ni=c~OPQRt?lF2Ob@hmcFE+h6% zdW~E-n-gpB8$audMx^2S7qLsvkVcu+ES_v1-cTkW%js#E;Vc=ul=zbu@XX_BVIuNE zSb;x@4a7T14|7T?Qfax{C>63bmnz0bkb>M^oR%m^ZneCQx5$nMlKTgyVoN&0oy?#H zsRh469}i%$i=j&z%P78IZpPVyuajv*A3m-861?pU1@jSY4f}-uVtKPnh!=nJEk3a% z`@e}FkK%XBqm6REL1m;zZnfPEMv&(}K|;UanVHcr>Bo73)s+c>x$R5M4m!q*KKn=ynBNruqBa>uz+PX;U zQ>3j4+V+w4a{J^C zX7$wp;XP;f(ibC`U=^qCtDu36u=DS+bB&R|Zmg^<8ENVLE`7g(~<|h1&9A*r#X3! zoB}<9J(k(OEm+|dxTM&>oZXX&YRmbJ6Ig&%$jp5x92Z*2=^>eeD0eKhhrUOk>2xR= zM(Sj;oOEM*L}sbMBC&X)x~en#I7U`-I2`VT?xjZiW3iNfLZ|yk$0@X=6q;BS>i5Hs zjOXVG*y&@ub9|m3wv+L+l9?A?CMDXL;cir^Oq*zd3?20zt}-`@l$ zz;HlkDK z9C^V+c$$n%p>G6@9bFNM`FO#CAk|A?%v|j3CiZC|G2~+GXIUsd3yggQPROJWxz&CV z&lrJ37lQjgVuLb)Z=T|#x3ji9c>0UzP%C;kB~RL&C+^2qRYq3N!a+e+Ly^h}SinpC zT<#t`idIP9!9%R64>x`Wf6V+Op#i2K%8k6z`7;16?jagKg?z~5joZY(?b&I0-hUOn z`4+h-3I5E2{>lVUkBNvfQ>h?aeZkM<*3W;jy;64(9Grm|eh`0`GcR3uS{d{-3HC-# zbyoRwZ==jcPD^~%1OCW4zC9q^o3;z_@E}(D9Ts^iS}il61##7aURl8OGW)S9-x~)% zzD365r6 z6Ct+Q+dyFJW>z#Ecsy{UssG3mSRO+kn1d<)ZzHV13XPm&?SP4W!OcwPxO`3Y(0_f zu}HPd4^9KMPa}6S+wUHB<^$Z3$l(={R&mxVx9zls#&fYCQu!$aO^ZTbi_iMNZ_3Gh z@m1aUTxLQ}0WtMq%`eepIZr+pi!HNrWag!G1d9dD3{9eu@f=8$%yBD%2f6`2i{q6N zz~7ypaNiyL#Ts<7I<)VB79HnpYx%aECoKdHy9}0TiUrz%HTr)~u-p$KH`Pd&{&^&` zJ?}g~UGp`zC=4F!3X+nZ(&g-~FFKb9y*|Xdva7X1HZe)B7yFKBih?`q4_J7JS+KoP0I zJR;Ygn_WKOInw1J)A7#mT|q-7vD{Ul#?M%5x$7VS@$f8kvIx2v1;=h;(<{=mlMd9K z5RcR!t*wMNk=vOLf=a4^u$n`Yp`g?YP^dLAqx9s;9e3s` z`sxKwJF=Jb*xKw!(>uI^^c1BbUap8eeuFj?z^cC_zWW=^j74MG;!&T0NmKJp7peEL zE0XPy8_HxV#~jw$5Q=?=ZVW)SWV%>kxG8ckQLxO5&&HEigDe~7$qv+!X8zadi_b`mv6H|af4(FAfzGWYmASWGg{*RU()k-k{$SP%F-1j${C><&N& z&Wcz`S`hJcnZ0vZWa6czt+lZDY@r!3q&+v^v2up)3b zH`+a$?=`}IkH%t6gpTjn;Xi1`8C4J3uf#`ufLnjCl0LliG5v5gsqU1H$A#Vo$@bRpdG{v-7^-!RF9JfsAC%#Y{ZN5pa~8%qFEbC;R7tj547I(tj(w$VKiWDcW$HPZSnYrUt%-l2T781HzOU zcOLQ>hKB#K@7+Wwg+OwTK`wH_Eg4)t%gPcWRfYNY7Jtr(7N22l^{^5L+5Zu|W|>cK z%L_Hf@?7aDsgI<|9P>ClK_*g_zqxnNjo>s>`|i zyvU!>DK~tOxl%8os?3|Y!aFM=^YXir&#VHE4j~!R+pz^aoQ>W8!%xz&&SIccndNka zwaYxVl<3bhIPxc+Dg`LI0o0XKNsZ~_+=@k#Gkg!QGCcf=Pe{HllsiDyA`AM;Ngq}g!R~EF!t$|e118JN+T{N7 zs?ci=nl=^g%RG|^Z!3q+?Sje+k?Z(K*U?WJ(FhIwN!1`nB{psfC{WJhNY{+qBz6rX zG=-UyOH^EY6r^rOL7g$jR326*Gf)FMxjm$A znypCd4f_LFe7(A8GV0gnBX-D8kEjJ!x^Cj>4(LKdq@ob=P)ZfRXCDLAC5A@7Vc!O* zE?9?UAc3xMXqmcYUa3+xi*AcQ%1_PxXVt(K*2hhNPd2bq>5I+-_lny*`Ye0+*GLRs zA1RxJ=cAG9(7o| z)LiN#*?0LQ5!t-4SaXBFKaTa5&On(gmz@>Yg#XjAEMIeLc`uwcyh$ z;KMUWnnr`Fe?mr|;TwJ>iads&=IKFBViIyE)3e)y8@@ueHbU)%;2pWCBm@nJ_@SM|6&XQK zH`v)s?!)<=ob7C)hF8et@6cy9dJsdrKNbqflnI&4-wT^1^RmURjNm)>*s+U+5D(gg zZ+9Xi`UFkd2rV|U7n!tT(HY4PN?Al z!fHr2)LT~40B@8Y-=7bjtjD{b2Z1zKn^~QljF8(czsEY>Ll@+9P)D>?PEpJB;S}uR zE!2GiSH>Va^YQl;d24;X^9YRgHLH**Epnny=7sr4(wFSm64k7ORvB5dOyrU&^q(Us zWxzR4$X3cE7P)V2BzB@G>y^`uZFqvj+;6ZvT|nN^Aj!hmPPsiE~Yt z?>ZBw4@7=sBHTbUOm5Ts5>B4R*UC&%@tJZPr`�e_Slib{Rp27XEArNrf*?N}i> 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 literal 0 HcmV?d00001 diff --git a/CircuitPython_WeatherCloud/sound/Clouds.wav b/CircuitPython_WeatherCloud/sound/Clouds.wav new file mode 100644 index 0000000000000000000000000000000000000000..9ce4beb81fd01eec1355f79e99b7e4c9fba43616 GIT binary patch literal 465504 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,&b=Q| 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

#Y=LKcPyu^K}c8t-aUR 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%0D~t+E-xh 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