diff --git a/adafruit_display_text/bitmap_label.py b/adafruit_display_text/bitmap_label.py new file mode 100644 index 0000000..98f9322 --- /dev/null +++ b/adafruit_display_text/bitmap_label.py @@ -0,0 +1,520 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Kevin Matocha +# +# 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. +""" +`bitmap_label` +================================================================================ + +Text graphics handling for CircuitPython, including text boxes + + +* Author(s): Kevin Matocha + +Implementation Notes +-------------------- + +**Hardware:** + +**Software and Dependencies:** + +* Adafruit CircuitPython firmware for the supported boards: + https://github.com/adafruit/circuitpython/releases + +""" + +import displayio + +__version__ = "0.0.0-auto.0" +__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_Display_Text.git" + + +class Label(displayio.Group): + """A label displaying a string of text that is stored in a bitmap. + Note: This ``bitmap_label.py`` library utilizes a bitmap to display the text. + This method is memory-conserving relative to ``label.py``. + For the bitmap_label library, the font, text, and line_spacing must be set at + instancing and are immutable. The ``max_glyphs`` parameter is ignored and is present + only for direct compatability with label.py. + For use cases where text changes are required after the initial instancing, please + use the `label.py` library. + For further reduction in memory usage, set save_text to False (text string will not + be stored). + + The origin point set by ``x`` and ``y`` + properties will be the left edge of the bounding box, and in the center of a M + glyph (if its one line), or the (number of lines * linespacing + M)/2. That is, + it will try to have it be center-left as close as possible. + + :param Font font: A font class that has ``get_bounding_box`` and ``get_glyph``. + Must include a capital M for measuring character size. + :param str text: Text to display + :param int max_glyphs: Unnecessary parameter (provided only for direct compability + with label.py) + :param int color: Color of all text in RGB hex + :param int background_color: Color of the background, use `None` for transparent + :param double line_spacing: Line spacing of text to display + :param boolean background_tight: Set `True` only if you want background box to tightly + surround text + :param int padding_top: Additional pixels added to background bounding box at top + :param int padding_bottom: Additional pixels added to background bounding box at bottom + :param int padding_left: Additional pixels added to background bounding box at left + :param int padding_right: Additional pixels added to background bounding box at right + :param (double,double) anchor_point: Point that anchored_position moves relative to. + Tuple with decimal percentage of width and height. + (E.g. (0,0) is top left, (1.0, 0.5): is middle right.) + :param (int,int) anchored_position: Position relative to the anchor_point. Tuple + containing x,y pixel coordinates. + :param int scale: Integer value of the pixel scaling + :param bool save_text: Set True to save the text string as a constant in the + label structure. Set False to reduce memory use. + """ + + # pylint: disable=unused-argument, too-many-instance-attributes, too-many-locals, too-many-arguments + # Note: max_glyphs parameter is unnecessary, this is used for direct + # compatibility with label.py + + def __init__( + self, + font, + x=0, + y=0, + text="", + max_glyphs=None, # This input parameter is ignored, only present for compatibility + # with label.py + color=0xFFFFFF, + background_color=None, + line_spacing=1.25, + background_tight=False, + padding_top=0, + padding_bottom=0, + padding_left=0, + padding_right=0, + anchor_point=None, + anchored_position=None, + save_text=True, # can reduce memory use if save_text = False + **kwargs + ): + + if text == "": + raise RuntimeError( + "Please provide text string, or use label.py for mutable text" + ) + + self._font = font + + # Scale will be passed to Group using kwargs. + if "scale" in kwargs.keys(): + self._scale = kwargs["scale"] + else: + self._scale = 1 + + self._line_spacing = line_spacing + self._save_text = save_text + + if self._save_text: # text string will be saved + self._text = text + else: + self._text = None # save a None value since text string is not saved + + # limit padding to >= 0 + padding_top = max(0, padding_top) + padding_bottom = max(0, padding_bottom) + padding_left = max(0, padding_left) + padding_right = max(0, padding_right) + + # Calculate the text bounding box + + # Calculate tight box to provide bounding box dimensions to match label for + # anchor_position calculations + (tight_box_x, tight_box_y, x_offset, tight_y_offset) = self._text_bounding_box( + text, font, self._line_spacing, background_tight=True, + ) + + if background_tight: + box_x = tight_box_x + box_y = tight_box_y + y_offset = tight_y_offset + + else: + (box_x, box_y, x_offset, y_offset) = self._text_bounding_box( + text, font, self._line_spacing, background_tight=background_tight, + ) + # Calculate the background size including padding + box_x = box_x + padding_left + padding_right + box_y = box_y + padding_top + padding_bottom + + # Create the two-color palette + self.palette = displayio.Palette(2) + + self.background_color = background_color + self.color = color + + # Create the bitmap and TileGrid + self.bitmap = displayio.Bitmap(box_x, box_y, len(self.palette)) + + # Place the text into the Bitmap + self._place_text( + self.bitmap, + text, + font, + self._line_spacing, + padding_left + x_offset, + padding_top + y_offset, + ) + + label_position_yoffset = int( # To calibrate with label.py positioning + ( + font.get_glyph(ord("M")).height + - text.count("\n") * font.get_bounding_box()[1] * self._line_spacing + ) + / 2 + ) + + self.tilegrid = displayio.TileGrid( + self.bitmap, + pixel_shader=self.palette, + width=1, + height=1, + tile_width=box_x, + tile_height=box_y, + default_tile=0, + x=-padding_left, + y=label_position_yoffset - y_offset - padding_top, + ) + + # instance the Group + # this Group will contain just one TileGrid with one contained bitmap + super().__init__( + max_size=1, x=x, y=y, **kwargs + ) # this will include any arguments, including scale + self.append(self.tilegrid) # add the bitmap's tilegrid to the group + + # Update bounding_box values. Note: To be consistent with label.py, + # this is the bounding box for the text only, not including the background. + + self._bounding_box = ( + self.tilegrid.x, + self.tilegrid.y, + tight_box_x, + tight_box_y, + ) + + self._anchored_position = anchored_position + self.anchor_point = anchor_point + self.anchored_position = ( + self._anchored_position + ) # sets anchored_position with setter after bitmap is created + + @staticmethod + def _line_spacing_ypixels(font, line_spacing): + # Note: Scale is not implemented at this time, any scaling is pushed up to the Group level + return_value = int(line_spacing * font.get_bounding_box()[1]) + return return_value + + def _text_bounding_box( + self, text, font, line_spacing, background_tight=False + ): # **** change default background_tight=False + + # This empirical approach checks several glyphs for maximum ascender and descender height + # (consistent with label.py) + glyphs = "M j'" # choose glyphs with highest ascender and lowest + # descender, will depend upon font used + ascender_max = descender_max = 0 + for char in glyphs: + this_glyph = font.get_glyph(ord(char)) + if this_glyph: + ascender_max = max(ascender_max, this_glyph.height + this_glyph.dy) + descender_max = max(descender_max, -this_glyph.dy) + + lines = 1 + + xposition = x_start = 0 # starting x position (left margin) + yposition = y_start = 0 + + left = right = x_start + top = bottom = y_start + + y_offset_tight = int( + ( + font.get_glyph(ord("M")).height + - text.count("\n") * self._line_spacing_ypixels(font, line_spacing) + ) + / 2 + ) + # this needs to be reviewed (also in label.py), since it doesn't respond + # properly to the number of newlines. + + newline = False + + for char in text: + + if char == "\n": # newline + newline = True + + else: + + my_glyph = font.get_glyph(ord(char)) + + if my_glyph is None: # Error checking: no glyph found + print("Glyph not found: {}".format(repr(char))) + else: + if newline: + newline = False + xposition = x_start # reset to left column + yposition = yposition + self._line_spacing_ypixels( + font, line_spacing + ) # Add a newline + lines += 1 + xposition += my_glyph.shift_x + right = max(right, xposition) + + if yposition == y_start: # first line, find the Ascender height + top = min(top, -my_glyph.height - my_glyph.dy + y_offset_tight) + bottom = max(bottom, yposition - my_glyph.dy + y_offset_tight) + + loose_height = (lines - 1) * self._line_spacing_ypixels(font, line_spacing) + ( + ascender_max + descender_max + ) + + label_calibration_offset = int( + ( + font.get_glyph(ord("M")).height + - text.count("\n") * self._line_spacing_ypixels(font, line_spacing) + ) + / 2 + ) + + y_offset_tight = -top + label_calibration_offset + + final_box_width = right - left + if background_tight: + final_box_height = bottom - top + final_y_offset = y_offset_tight + + else: + final_box_height = loose_height + final_y_offset = ascender_max + + return (final_box_width, final_box_height, 0, final_y_offset) + + # pylint: disable=too-many-nested-blocks + def _place_text( + self, + bitmap, + text, + font, + line_spacing, + xposition, + yposition, + text_palette_index=1, + background_palette_index=0, + print_only_pixels=True, # print_only_pixels = True: only update the bitmap where the glyph + # pixel color is > 0. This is especially useful for script fonts where glyph + # bounding boxes overlap + # Set `print_only_pixels=False` to write all pixels + ): + # placeText - Writes text into a bitmap at the specified location. + # + # Verify paletteIndex is working properly with * operator, especially + # if accommodating multicolored fonts + # + # Note: Scale is not implemented at this time, is pushed up to Group level + + bitmap_width = bitmap.width + bitmap_height = bitmap.height + + x_start = xposition # starting x position (left margin) + y_start = yposition + + left = right = x_start + top = bottom = y_start + + for char in text: + + if char == "\n": # newline + xposition = x_start # reset to left column + yposition = yposition + self._line_spacing_ypixels( + font, line_spacing + ) # Add a newline + + else: + + my_glyph = font.get_glyph(ord(char)) + + if my_glyph is None: # Error checking: no glyph found + print("Glyph not found: {}".format(repr(char))) + else: + + right = max(right, xposition + my_glyph.shift_x) + if yposition == y_start: # first line, find the Ascender height + top = min(top, -my_glyph.height - my_glyph.dy) + bottom = max(bottom, yposition - my_glyph.dy) + + glyph_offset_x = ( + my_glyph.tile_index * my_glyph.width + ) # for type BuiltinFont, this creates the x-offset in the glyph bitmap. + # for BDF loaded fonts, this should equal 0 + + for y in range(my_glyph.height): + for x in range(my_glyph.width): + x_placement = x + xposition + my_glyph.dx + y_placement = y + yposition - my_glyph.height - my_glyph.dy + + if (bitmap_width > x_placement >= 0) and ( + bitmap_height > y_placement >= 0 + ): + + # Allows for remapping the bitmap indexes using paletteIndex + # for background and text. + palette_indexes = ( + background_palette_index, + text_palette_index, + ) + + this_pixel_color = palette_indexes[ + my_glyph.bitmap[ + y * my_glyph.bitmap.width + x + glyph_offset_x + ] + ] + + if not print_only_pixels or this_pixel_color > 0: + # write all characters if printOnlyPixels = False, + # or if thisPixelColor is > 0 + bitmap[ + y_placement * bitmap_width + x_placement + ] = this_pixel_color + elif y_placement > bitmap_height: + break + + xposition = xposition + my_glyph.shift_x + + return (left, top, right - left, bottom - top) # bounding_box + + @property + def bounding_box(self): + """An (x, y, w, h) tuple that completely covers all glyphs. The + first two numbers are offset from the x, y origin of this group""" + return self._bounding_box + + @property + def line_spacing(self): + """The amount of space between lines of text, in multiples of the font's + bounding-box height. (E.g. 1.0 is the bounding-box height)""" + return self._line_spacing + + # pylint: disable=no-self-use + @line_spacing.setter + def line_spacing(self, new_line_spacing): + raise RuntimeError( + "line_spacing is immutable for bitmap_label.py; use label.py for mutable line_spacing" + ) + + @property + def color(self): + """Color of the text as an RGB hex number.""" + return self._color + + @color.setter + def color(self, new_color): + self._color = new_color + if new_color is not None: + self.palette[1] = new_color + self.palette.make_opaque(1) + else: + self.palette[1] = 0 + self.palette.make_transparent(1) + + @property + def background_color(self): + """Color of the background as an RGB hex number.""" + return self._background_color + + @background_color.setter + def background_color(self, new_color): + self._background_color = new_color + if new_color is not None: + self.palette[0] = new_color + self.palette.make_opaque(0) + else: + self.palette[0] = 0 + self.palette.make_transparent(0) + + @property + def text(self): + """Text to displayed.""" + return self._text + + # pylint: disable=no-self-use + @text.setter + def text(self, new_text): + raise RuntimeError( + "text is immutable for bitmap_label.py; use label.py library for mutable text" + ) + + @property + def font(self): + """Font to use for text display.""" + return self.font + + # pylint: disable=no-self-use + @font.setter + def font(self, new_font): + raise RuntimeError( + "font is immutable for bitmap_label.py; use label.py library for mutable font" + ) + + @property + def anchor_point(self): + """Point that anchored_position moves relative to. + Tuple with decimal percentage of width and height. + (E.g. (0,0) is top left, (1.0, 0.5): is middle right.)""" + return self._anchor_point + + @anchor_point.setter + def anchor_point(self, new_anchor_point): + self._anchor_point = new_anchor_point + self.anchored_position = ( + self._anchored_position + ) # update the anchored_position using setter + + @property + def anchored_position(self): + """Position relative to the anchor_point. Tuple containing x,y + pixel coordinates.""" + return self._anchored_position + + @anchored_position.setter + def anchored_position(self, new_position): + self._anchored_position = new_position + + # Set anchored_position + if (self._anchor_point is not None) and (self._anchored_position is not None): + new_x = int( + new_position[0] + - self._anchor_point[0] * (self._bounding_box[2] * self._scale) + ) + new_y = int( + new_position[1] + - (self._anchor_point[1] * self._bounding_box[3] * self.scale) + + round((self._bounding_box[3] * self.scale) / 2.0) + ) + self.x = new_x + self.y = new_y diff --git a/examples/display_text_bitmap_label_simpletest.py b/examples/display_text_bitmap_label_simpletest.py new file mode 100644 index 0000000..acb2ca0 --- /dev/null +++ b/examples/display_text_bitmap_label_simpletest.py @@ -0,0 +1,12 @@ +import board +import terminalio +from adafruit_display_text import bitmap_label + + +text = "Hello world" +text_area = bitmap_label.Label(terminalio.FONT, text=text) +text_area.x = 10 +text_area.y = 10 +board.DISPLAY.show(text_area) +while True: + pass diff --git a/examples/display_text_label_vs_bitmap_label_comparison.py b/examples/display_text_label_vs_bitmap_label_comparison.py new file mode 100644 index 0000000..24c8d2a --- /dev/null +++ b/examples/display_text_label_vs_bitmap_label_comparison.py @@ -0,0 +1,222 @@ +# Sample for comparing label and bitmap_label positioning with Builtin or loaded BDF fonts + +# pylint: disable=no-member + +import gc +import board +import displayio +import terminalio +from adafruit_bitmap_font import bitmap_font + +from adafruit_display_text import bitmap_label +from adafruit_display_text import label + +# pylint: disable=no-member + + +########## +# Use this Boolean variables to select which font style to use +########## +use_builtinfont = False # Set True to use the terminalio.FONT BuiltinFont, +fontToUse = terminalio.FONT +# Set False to use a BDF loaded font, see "fontFiles" below +########## + +if not use_builtinfont: + # load the fonts + print("loading font...") + + fontList = [] + + # Load some proportional fonts + fontFile = "fonts/Helvetica-Bold-16.bdf" + fontToUse = bitmap_font.load_font(fontFile) + +# Set scaling factor for display text +my_scale = 1 + +# Setup the SPI display +if "DISPLAY" not in dir(board): + # Setup the LCD display with driver + # You may need to change this to match the display driver for the chipset + # used on your display + from adafruit_ili9341 import ILI9341 + + displayio.release_displays() + + # setup the SPI bus + spi = board.SPI() + tft_cs = board.D9 # arbitrary, pin not used + tft_dc = board.D10 + tft_backlight = board.D12 + tft_reset = board.D11 + + while not spi.try_lock(): + spi.configure(baudrate=32000000) + spi.unlock() + + display_bus = displayio.FourWire( + spi, + command=tft_dc, + chip_select=tft_cs, + reset=tft_reset, + baudrate=32000000, + polarity=1, + phase=1, + ) + + # Number of pixels in the display + DISPLAY_WIDTH = 320 + DISPLAY_HEIGHT = 240 + + # create the display + display = ILI9341( + display_bus, + width=DISPLAY_WIDTH, + height=DISPLAY_HEIGHT, + rotation=180, # The rotation can be adjusted to match your configuration. + auto_refresh=True, + native_frames_per_second=90, + ) + + # reset the display to show nothing. + display.show(None) +else: + # built-in display + display = board.DISPLAY + +print("Display is started") + + +preload_glyphs = ( + True # set this to True if you want to preload the font glyphs into memory +) +# preloading the glyphs will help speed up the rendering of text but will use more RAM + +if preload_glyphs and not use_builtinfont: + + # identify the glyphs to load into memory -> increases rendering speed + glyphs = ( + b"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-_,.:?!'\n " + ) + + print("loading glyphs...") + fontToUse.load_glyphs(glyphs) + + print("Glyphs are loaded.") + +print("Fonts completed loading.") + +# create group + +long_string = "The purple snake\nbrings python fun\nto everyone." +label2_padding = 10 + +##### +# Create the "bitmap_label.py" versions of the text labels. + +gc.collect() +bitmap_label_start = gc.mem_free() + +bmap_label1 = bitmap_label.Label( + font=fontToUse, + text="bitmap_label", + color=0xFFFFFF, + background_color=0xFF0000, + padding_bottom=0, + padding_left=0, + padding_right=0, + padding_top=0, + background_tight=True, + line_spacing=1.25, + scale=my_scale, + anchor_point=(0.0, 0), + anchored_position=(10, 60), +) + +bmap_label2 = bitmap_label.Label( + font=fontToUse, + text=long_string, + color=0x000000, + max_glyphs=len(long_string), + background_color=0xFFFF00, + padding_bottom=label2_padding, + padding_left=0, + padding_right=0, + padding_top=label2_padding, + background_tight=False, + line_spacing=1.25, + scale=my_scale, + anchor_point=(0.0, 0), + anchored_position=(10, 120), +) + +gc.collect() +bitmap_label_end = gc.mem_free() + +print("bitmap_label used: {} memory".format(bitmap_label_start - bitmap_label_end)) + +bmap_group = displayio.Group(max_size=4) # Create a group for displaying +bmap_group.append(bmap_label1) +bmap_group.append(bmap_label2) + + +##### +# Create the "label.py" versions of the text labels. + +gc.collect() +label_start = gc.mem_free() + +label1 = label.Label( + font=fontToUse, + text="label", + color=0xFFFFFF, + background_color=0xFF0000, + padding_bottom=0, + padding_left=0, + padding_right=0, + padding_top=0, + background_tight=True, + line_spacing=1.25, + scale=my_scale, + anchor_point=(1.0, 0), + anchored_position=(display.width - 10, 60), +) + +label2 = label.Label( + font=fontToUse, + text=long_string, + color=0x000000, + max_glyphs=len(long_string), + background_color=0xFFFF00, + padding_bottom=label2_padding, + padding_left=0, + padding_right=0, + padding_top=label2_padding, + background_tight=False, + line_spacing=1.25, + scale=my_scale, + anchor_point=(1.0, 0), + anchored_position=(display.width - 10, 120), +) + +gc.collect() +label_end = gc.mem_free() + +print("label used: {} memory".format(label_start - label_end)) +label_group = displayio.Group(max_size=4) # Create a group for displaying +label_group.append(label1) +label_group.append(label2) + + +print("***") + +main_group = displayio.Group() +main_group.append(label_group) +main_group.append(bmap_group) + +display.auto_refresh = True + +display.show(main_group) +while True: + pass diff --git a/fonts/Helvetica-Bold-16.bdf b/fonts/Helvetica-Bold-16.bdf new file mode 100755 index 0000000..2a34591 --- /dev/null +++ b/fonts/Helvetica-Bold-16.bdf @@ -0,0 +1,4194 @@ +STARTFONT 2.1 +FONT -FontForge-Helvetica-Bold-R-Normal--17-160-75-75-P-93-ISO10646-1 +SIZE 16 75 75 +FONTBOUNDINGBOX 20 21 -3 -4 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" +COMMENT "Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries." +STARTPROPERTIES 40 +FOUNDRY "FontForge" +FAMILY_NAME "Helvetica" +WEIGHT_NAME "Bold" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +PIXEL_SIZE 17 +POINT_SIZE 160 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "P" +AVERAGE_WIDTH 93 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +FONTNAME_REGISTRY "" +CHARSET_COLLECTIONS "ISO10646-1" +FONT_NAME "Helvetica-Bold" +FACE_NAME "Helvetica Bold" +COPYRIGHT "Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries." +FONT_VERSION "001.007" +FONT_ASCENT 14 +FONT_DESCENT 3 +UNDERLINE_POSITION -2 +UNDERLINE_THICKNESS 1 +X_HEIGHT 8 +CAP_HEIGHT 12 +RAW_ASCENT 800 +RAW_DESCENT 200 +NORM_SPACE 5 +RELATIVE_WEIGHT 70 +RELATIVE_SETWIDTH 50 +SUPERSCRIPT_X 0 +SUPERSCRIPT_Y 8 +SUPERSCRIPT_SIZE 11 +SUBSCRIPT_X 0 +SUBSCRIPT_Y 2 +SUBSCRIPT_SIZE 11 +FIGURE_WIDTH 9 +AVG_LOWERCASE_WIDTH 90 +AVG_UPPERCASE_WIDTH 113 +ENDPROPERTIES +CHARS 229 +STARTCHAR space +ENCODING 32 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 2 13 2 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +80 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 474 0 +DWIDTH 8 0 +BBX 4 5 2 8 +BITMAP +90 +90 +90 +90 +90 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +1B00 +1B00 +1300 +7F80 +7F80 +3200 +3600 +FF80 +FF00 +2600 +2600 +2400 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 15 1 -2 +BITMAP +10 +7C +FE +D6 +D7 +D0 +F0 +7C +1E +17 +D3 +FE +7C +10 +10 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 889 0 +DWIDTH 15 0 +BBX 14 12 1 0 +BITMAP +7040 +F8C0 +8C80 +8D80 +F900 +7200 +0270 +04F8 +058C +098C +18F8 +1070 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 11 13 1 0 +BITMAP +1C00 +3E00 +7300 +7300 +3600 +3E00 +3CC0 +7EC0 +E7C0 +C780 +E380 +7FC0 +3CE0 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 238 0 +DWIDTH 4 0 +BBX 2 5 1 8 +BITMAP +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 17 1 -4 +BITMAP +30 +30 +60 +60 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +60 +60 +30 +30 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 17 1 -4 +BITMAP +80 +C0 +60 +60 +60 +70 +30 +30 +30 +30 +30 +70 +60 +60 +60 +C0 +80 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 389 0 +DWIDTH 7 0 +BBX 5 6 1 7 +BITMAP +20 +20 +F8 +70 +D0 +10 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 8 1 0 +BITMAP +18 +18 +18 +FF +FF +18 +18 +18 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 5 1 -3 +BITMAP +E0 +E0 +60 +40 +80 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 2 0 4 +BITMAP +F8 +F8 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 2 1 0 +BITMAP +E0 +E0 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 13 0 0 +BITMAP +18 +18 +18 +30 +30 +30 +60 +60 +60 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +3C +7E +E6 +C7 +C7 +C7 +C7 +C7 +C7 +E6 +7E +3C +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 5 12 1 0 +BITMAP +18 +18 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +3E00 +7F00 +6300 +6380 +0380 +0700 +0F00 +1C00 +3800 +7000 +7F80 +FF80 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +3E00 +7F00 +6300 +6300 +0300 +0E00 +0F00 +0380 +E380 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +0700 +0F00 +1F00 +1F00 +3700 +6700 +6700 +FF80 +FF80 +0700 +0700 +0700 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +7E +FE +C0 +C0 +FC +FE +C7 +07 +07 +C6 +FE +7C +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +3C +7E +E6 +C0 +FC +FE +C7 +C7 +C7 +C7 +7E +3C +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +FF80 +FF80 +0300 +0700 +0600 +0C00 +0C00 +1C00 +1800 +3800 +3800 +3800 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +3C +FE +C6 +C6 +E6 +7C +FE +C7 +C7 +C7 +FE +7C +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +7C +FE +C6 +C7 +C7 +C7 +FF +7F +07 +C6 +FE +78 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 2 8 2 0 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 2 11 2 -3 +BITMAP +C0 +C0 +00 +00 +00 +00 +C0 +C0 +40 +C0 +80 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 9 1 0 +BITMAP +01 +07 +1E +F8 +C0 +F0 +3E +07 +01 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 6 1 1 +BITMAP +FF +FF +00 +00 +FF +FF +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 8 1 0 +BITMAP +E0 +78 +1E +03 +0F +7C +E0 +80 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 0 +BITMAP +3C +7F +E7 +E3 +03 +07 +0E +1C +18 +00 +00 +1C +1C +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 975 0 +DWIDTH 17 0 +BBX 13 13 2 0 +BITMAP +0F80 +38E0 +6030 +4750 +CFD0 +D8D8 +D890 +D990 +DFE0 +6FC0 +7020 +3CE0 +0F80 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 13 0 0 +BITMAP +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 13 1 0 +BITMAP +FF00 +FFC0 +E1C0 +E0C0 +E1C0 +FF80 +FFC0 +E1C0 +E0C0 +E0C0 +E1C0 +FFC0 +FF80 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 11 13 1 0 +BITMAP +1F00 +7F80 +71C0 +E0C0 +E000 +C000 +C000 +C000 +E0E0 +E0C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 11 13 1 0 +BITMAP +FF00 +FF80 +E1C0 +E0C0 +E0E0 +E0E0 +E0E0 +E0E0 +E0C0 +E1C0 +E1C0 +FF80 +FF00 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +FF80 +FF80 +E000 +E000 +E000 +FF80 +FF80 +E000 +E000 +E000 +E000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +FF80 +FF80 +E000 +E000 +E000 +FF00 +FF00 +E000 +E000 +E000 +E000 +E000 +E000 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 13 1 0 +BITMAP +1F00 +3FC0 +71E0 +E0E0 +E000 +C000 +C3E0 +C3E0 +E060 +E0E0 +71E0 +3FE0 +1F60 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 13 1 0 +BITMAP +E0C0 +E0C0 +E0C0 +E0C0 +E0C0 +FFC0 +FFC0 +E0C0 +E0C0 +E0C0 +E0C0 +E0C0 +E0C0 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 13 1 0 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 13 0 0 +BITMAP +03 +03 +03 +03 +03 +03 +03 +03 +E3 +E3 +67 +7F +3E +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 11 13 1 0 +BITMAP +E1E0 +E3C0 +E780 +E700 +EE00 +FC00 +FE00 +FE00 +E700 +E380 +E3C0 +E1C0 +E0E0 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +E000 +E000 +E000 +E000 +E000 +E000 +E000 +E000 +E000 +E000 +E000 +FF80 +FF80 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 833 0 +DWIDTH 14 0 +BBX 12 13 1 0 +BITMAP +F0F0 +F0F0 +F0B0 +F8B0 +F9B0 +F9B0 +F9B0 +E930 +ED30 +EF30 +EF30 +E730 +E630 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 13 1 0 +BITMAP +E0C0 +F0C0 +F0C0 +F8C0 +F8C0 +ECC0 +ECC0 +E6C0 +E6C0 +E3C0 +E3C0 +E1C0 +E1C0 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 13 1 0 +BITMAP +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +FF00 +FF80 +E180 +E1C0 +E1C0 +E180 +FF80 +FF00 +E000 +E000 +E000 +E000 +E000 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 13 1 0 +BITMAP +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E160 +E3E0 +71C0 +3FE0 +1F60 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 13 1 0 +BITMAP +FF80 +FFC0 +E1C0 +E0C0 +E0C0 +E0C0 +E1C0 +FF80 +FF80 +E1C0 +E1C0 +E1C0 +E0C0 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +3E00 +7F00 +E380 +C180 +E000 +FC00 +7F80 +0F80 +01C0 +C1C0 +E180 +7F80 +3E00 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 10 13 0 0 +BITMAP +FFC0 +FFC0 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +0C00 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 13 1 0 +BITMAP +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 11 13 0 0 +BITMAP +E0E0 +60E0 +70C0 +71C0 +31C0 +3980 +3980 +1B80 +1B00 +1F00 +0F00 +0E00 +0E00 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 944 0 +DWIDTH 16 0 +BBX 16 13 0 0 +BITMAP +E187 +63C6 +73C6 +73CE +73CE +33CC +366C +3E6C +1E7C +1E78 +1E78 +1C38 +0C30 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +E1C0 +E380 +7300 +7700 +3E00 +1E00 +1C00 +3E00 +3E00 +7700 +7380 +E380 +C1C0 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +C1C0 +E180 +6380 +7300 +3700 +3E00 +1E00 +1C00 +1C00 +1C00 +1C00 +1C00 +1C00 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 10 13 0 0 +BITMAP +7FC0 +7FC0 +03C0 +0380 +0700 +0E00 +0E00 +1C00 +3800 +7800 +7000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 17 1 -4 +BITMAP +F0 +F0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +F0 +F0 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 13 0 0 +BITMAP +C0 +C0 +C0 +C0 +60 +60 +60 +30 +30 +30 +18 +18 +18 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 17 0 -4 +BITMAP +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 7 6 1 6 +BITMAP +18 +3C +3C +64 +66 +C2 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 1 0 -2 +BITMAP +FF80 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 3 2 0 11 +BITMAP +E0 +60 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 9 0 0 +BITMAP +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +C000 +C000 +C000 +C000 +DE00 +FF00 +E380 +C380 +C380 +C380 +E300 +FF00 +DE00 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 9 1 0 +BITMAP +3C +FE +E7 +C0 +C0 +C0 +E7 +FE +3C +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 0 +BITMAP +03 +03 +03 +03 +7B +FF +E7 +C3 +C3 +C3 +E7 +FF +7B +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 9 0 0 +BITMAP +3E00 +7F00 +6380 +FF80 +FF80 +E000 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 13 0 0 +BITMAP +38 +38 +70 +70 +F8 +F8 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 -4 +BITMAP +3B +7F +E7 +C3 +C3 +C3 +E7 +FF +3B +03 +E3 +FF +7C +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 0 +BITMAP +C0 +C0 +C0 +C0 +DE +FF +E3 +E3 +C3 +C3 +C3 +C3 +C3 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 13 1 0 +BITMAP +E0 +E0 +00 +00 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 4 17 0 -4 +BITMAP +70 +70 +00 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +E0 +E0 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 13 1 0 +BITMAP +E0 +E0 +E0 +E0 +E7 +EE +FC +F8 +FC +EC +EE +E7 +E7 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 13 1 0 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 889 0 +DWIDTH 15 0 +BBX 13 9 1 0 +BITMAP +DEF0 +FFF8 +E738 +C718 +C718 +C718 +C718 +C718 +C718 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 9 1 0 +BITMAP +DE +FF +E3 +E3 +C3 +C3 +C3 +C3 +C3 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 9 1 0 +BITMAP +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 -4 +BITMAP +DE00 +FF00 +E380 +C380 +C380 +C380 +E300 +FF00 +DE00 +C000 +C000 +C000 +C000 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 -4 +BITMAP +3B +FF +E7 +C3 +C3 +C3 +E7 +FF +7B +03 +03 +03 +03 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 389 0 +DWIDTH 7 0 +BBX 5 9 1 0 +BITMAP +D8 +F8 +E0 +E0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 9 1 0 +BITMAP +7C +FE +C7 +FC +7E +07 +C7 +FE +7C +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 11 0 0 +BITMAP +70 +70 +F8 +F8 +70 +70 +70 +70 +70 +78 +38 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 9 1 0 +BITMAP +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +7B +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 9 0 0 +BITMAP +E180 +6380 +7300 +7300 +3700 +3600 +1E00 +1C00 +1C00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 13 9 0 0 +BITMAP +E718 +6738 +6730 +65B0 +75B0 +3DE0 +3DE0 +38E0 +18E0 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 9 1 0 +BITMAP +E7 +E6 +7E +7C +38 +38 +7C +EE +C7 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 -4 +BITMAP +E180 +6380 +7300 +7300 +3700 +3600 +3E00 +1E00 +1C00 +1C00 +1C00 +7800 +7800 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 500 0 +DWIDTH 9 0 +BBX 8 9 0 0 +BITMAP +7F +7F +0F +0E +1C +38 +70 +FF +FF +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 389 0 +DWIDTH 7 0 +BBX 5 16 1 -3 +BITMAP +38 +38 +60 +60 +60 +60 +60 +E0 +C0 +60 +60 +60 +60 +60 +70 +38 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 280 0 +DWIDTH 5 0 +BBX 2 13 1 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 389 0 +DWIDTH 7 0 +BBX 6 16 0 -3 +BITMAP +E0 +70 +30 +30 +30 +30 +30 +1C +1C +38 +30 +30 +30 +30 +30 +F0 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 3 1 3 +BITMAP +72 +FF +8E +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 2 12 2 -3 +BITMAP +C0 +C0 +00 +80 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 11 1 -1 +BITMAP +04 +3C +7E +EF +D0 +D0 +D0 +F7 +FE +7C +20 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +1E00 +7F00 +7380 +6180 +6000 +7000 +FC00 +3000 +3000 +3000 +7C80 +7F80 +4780 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 10 0 1 +BITMAP +0080 +DD80 +7F00 +7300 +6300 +6300 +7300 +7F00 +DD80 +0080 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +E180 +6380 +7300 +3300 +3E00 +FF80 +1C00 +FF80 +0C00 +0C00 +0C00 +0C00 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 280 0 +DWIDTH 5 0 +BBX 2 13 1 0 +BITMAP +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 16 1 -3 +BITMAP +3C +7E +C6 +E0 +78 +7C +DE +C7 +E3 +FE +3C +0E +06 +E6 +7E +3C +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 6 2 0 11 +BITMAP +DC +DC +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 737 0 +DWIDTH 13 0 +BBX 13 13 0 0 +BITMAP +0F80 +3DE0 +6070 +CFB0 +D890 +D818 +D818 +D8D8 +CDB0 +6730 +6060 +3DC0 +0F80 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 370 0 +DWIDTH 6 0 +BBX 6 9 0 4 +BITMAP +78 +4C +7C +CC +CC +7C +00 +00 +7C +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 7 7 1 1 +BITMAP +02 +26 +6C +C8 +CC +66 +22 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 5 1 2 +BITMAP +FF +FF +03 +03 +03 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 737 0 +DWIDTH 13 0 +BBX 13 13 0 0 +BITMAP +0F80 +3FE0 +6060 +EF30 +C990 +C998 +CF98 +CB18 +C910 +E9B0 +6060 +3DE0 +0F80 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 6 1 0 10 +BITMAP +FC +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 400 0 +DWIDTH 7 0 +BBX 5 5 1 7 +BITMAP +70 +88 +88 +98 +70 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 9 1 0 +BITMAP +18 +18 +FF +FF +18 +18 +18 +FF +FF +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 6 8 0 4 +BITMAP +78 +D8 +C8 +18 +38 +70 +40 +FC +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 6 8 0 4 +BITMAP +78 +D8 +08 +38 +08 +CC +C8 +78 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 2 2 11 +BITMAP +70 +E0 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 -4 +BITMAP +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +FB +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 15 0 -3 +BITMAP +7F80 +FD80 +FD80 +FD80 +FD80 +7D80 +0D80 +0D80 +0D80 +0D80 +0D80 +0D80 +0D80 +0D80 +0D80 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 3 1 3 +BITMAP +40 +E0 +C0 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 4 0 -4 +BITMAP +20 +70 +10 +F0 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 8 0 4 +BITMAP +30 +F0 +30 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 365 0 +DWIDTH 6 0 +BBX 6 9 0 4 +BITMAP +78 +CC +CC +CC +CC +78 +00 +00 +7C +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 7 7 1 1 +BITMAP +80 +C8 +6C +26 +66 +CC +88 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 834 0 +DWIDTH 14 0 +BBX 13 12 0 0 +BITMAP +3060 +F040 +3080 +3180 +3100 +3300 +3230 +3450 +0CD0 +0890 +19F8 +1010 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 834 0 +DWIDTH 14 0 +BBX 13 12 0 0 +BITMAP +3060 +F040 +3080 +3180 +3100 +3370 +32D8 +34C8 +0C18 +0830 +1840 +10F8 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 834 0 +DWIDTH 14 0 +BBX 14 12 0 0 +BITMAP +7820 +4860 +0840 +38C0 +0C80 +CD18 +CB38 +7A58 +06D8 +04FC +0818 +1818 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 12 1 -3 +BITMAP +18 +18 +00 +18 +18 +38 +70 +E0 +C3 +E7 +7F +3C +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 16 0 0 +BITMAP +1C00 +0600 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 16 0 0 +BITMAP +0380 +0600 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 16 0 0 +BITMAP +0F00 +0980 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 16 0 0 +BITMAP +0E80 +1300 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 16 0 0 +BITMAP +1D80 +1D80 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 17 0 0 +BITMAP +0600 +0900 +0600 +0000 +0700 +0F00 +0F00 +0F80 +1D80 +1980 +19C0 +38C0 +3FC0 +3FE0 +70E0 +6060 +E070 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 16 13 0 0 +BITMAP +0FFF +0FFF +0DC0 +1DC0 +19C0 +19FE +39FE +31C0 +3FC0 +7FC0 +61C0 +61FF +E1FF +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 11 17 1 -4 +BITMAP +1F00 +7F80 +71C0 +E0C0 +E000 +C000 +C000 +C000 +E0E0 +E0C0 +71C0 +7F80 +1F00 +0800 +0E00 +0600 +1C00 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +3800 +1800 +0000 +FF80 +FF80 +E000 +E000 +E000 +FF80 +FF80 +E000 +E000 +E000 +E000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +0600 +0C00 +0000 +FF80 +FF80 +E000 +E000 +E000 +FF80 +FF80 +E000 +E000 +E000 +E000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +1C00 +3600 +0000 +FF80 +FF80 +E000 +E000 +E000 +FF80 +FF80 +E000 +E000 +E000 +E000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +3600 +3600 +0000 +FF80 +FF80 +E000 +E000 +E000 +FF80 +FF80 +E000 +E000 +E000 +E000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 4 16 0 0 +BITMAP +C0 +60 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 4 16 1 0 +BITMAP +70 +60 +00 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 16 0 0 +BITMAP +70 +D8 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 16 0 0 +BITMAP +D8 +D8 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 12 13 0 0 +BITMAP +7F80 +7FC0 +70E0 +7060 +7070 +FE70 +FE70 +7070 +7060 +70E0 +70E0 +7FC0 +7F80 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 16 1 0 +BITMAP +1D00 +2600 +0000 +E0C0 +F0C0 +F0C0 +F8C0 +F8C0 +ECC0 +ECC0 +E6C0 +E6C0 +E3C0 +E3C0 +E1C0 +E1C0 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 16 1 0 +BITMAP +1C00 +0C00 +0000 +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 16 1 0 +BITMAP +0300 +0600 +0000 +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 16 1 0 +BITMAP +0E00 +1B00 +0000 +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 16 1 0 +BITMAP +1F80 +1700 +0000 +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 11 16 1 0 +BITMAP +1B00 +1B00 +0000 +1F00 +3FC0 +71C0 +E0E0 +E060 +C060 +C060 +C060 +E060 +E0E0 +71C0 +3FC0 +1F00 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 8 1 0 +BITMAP +C3 +E7 +7E +3C +3C +7E +E7 +42 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 778 0 +DWIDTH 13 0 +BBX 12 13 1 0 +BITMAP +1F30 +3FE0 +71C0 +E0E0 +E160 +C260 +C460 +C860 +F060 +F0E0 +71C0 +FFC0 +9F00 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 16 1 0 +BITMAP +3800 +0C00 +0000 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 16 1 0 +BITMAP +0700 +0C00 +0000 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 16 1 0 +BITMAP +1E00 +1300 +0000 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 722 0 +DWIDTH 12 0 +BBX 10 16 1 0 +BITMAP +3B00 +3B00 +0000 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +E1C0 +71C0 +7F80 +1F00 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +0600 +0C00 +0000 +C1C0 +E180 +6380 +7300 +3700 +3E00 +1E00 +1C00 +1C00 +1C00 +1C00 +1C00 +1C00 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 13 1 0 +BITMAP +E000 +E000 +FF00 +FF80 +E180 +E1C0 +E1C0 +E180 +FF80 +FF00 +E000 +E000 +E000 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +3E00 +7F00 +E700 +E300 +E700 +EE00 +EF00 +E380 +E380 +E380 +E380 +EF00 +EE00 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +3800 +1800 +0000 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +0600 +0C00 +0000 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +1E00 +3600 +0000 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +3B00 +2E00 +0000 +0000 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +3600 +3600 +0000 +0000 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0C00 +1200 +1200 +0C00 +3E00 +7F00 +6300 +0300 +3F00 +6300 +E300 +7F00 +7B80 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 889 0 +DWIDTH 15 0 +BBX 15 9 0 0 +BITMAP +3EF8 +7FFC +638C +0FFE +7FFE +6300 +E38C +7FFC +3CF8 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 13 1 -4 +BITMAP +3C +FE +E7 +C0 +C0 +C0 +E7 +FE +3C +10 +38 +08 +78 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +3800 +1800 +0000 +3E00 +7F00 +6380 +FF80 +FF80 +E000 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +0600 +0C00 +0000 +3E00 +7F00 +6380 +FF80 +FF80 +E000 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 12 0 0 +BITMAP +1E00 +3600 +0000 +3E00 +7F00 +6380 +FF80 +FF80 +E000 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +3600 +3600 +0000 +0000 +3E00 +7F00 +6380 +FF80 +FF80 +E000 +6380 +7F00 +3E00 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 4 12 0 0 +BITMAP +C0 +60 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 4 12 1 0 +BITMAP +70 +60 +00 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 12 0 0 +BITMAP +70 +D8 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 13 0 0 +BITMAP +D8 +D8 +00 +00 +70 +70 +70 +70 +70 +70 +70 +70 +70 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +1A00 +3E00 +3E00 +2700 +3B00 +7F00 +E380 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 0 +BITMAP +3A +7E +00 +00 +DE +FF +E3 +E3 +C3 +C3 +C3 +C3 +C3 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 12 1 0 +BITMAP +7000 +1800 +0000 +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 12 1 0 +BITMAP +0E00 +0800 +0000 +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 12 1 0 +BITMAP +3C00 +2600 +0000 +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +3A00 +7E00 +0000 +0000 +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 1 0 +BITMAP +7600 +7600 +0000 +0000 +3C00 +7F00 +E300 +C380 +C380 +C380 +E300 +7F00 +3C00 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 10 1 -1 +BITMAP +18 +38 +18 +00 +FF +FF +00 +18 +38 +18 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 9 1 0 +BITMAP +3C80 +7F00 +E300 +C780 +CB80 +D380 +E300 +FF00 +BC00 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 12 1 0 +BITMAP +70 +18 +00 +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +7B +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 12 1 0 +BITMAP +0E +08 +00 +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +7B +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 12 1 0 +BITMAP +3C +26 +00 +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +7B +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 8 13 1 0 +BITMAP +76 +76 +00 +00 +E3 +E3 +E3 +E3 +E3 +E3 +E7 +FF +7B +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 16 0 -4 +BITMAP +0600 +0C00 +0000 +E180 +6380 +7300 +7300 +3700 +3600 +3E00 +1E00 +1C00 +1C00 +1C00 +7800 +7800 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 17 1 -4 +BITMAP +C000 +C000 +C000 +C000 +DE00 +FF00 +E380 +C380 +C380 +C380 +E300 +FF00 +DE00 +C000 +C000 +C000 +C000 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 17 0 -4 +BITMAP +3600 +3600 +0000 +0000 +E180 +6380 +7300 +7300 +3700 +3600 +3E00 +1E00 +1C00 +1C00 +1C00 +7800 +7800 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 9 1 0 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 10 13 0 0 +BITMAP +7000 +7000 +7000 +7000 +7400 +7C00 +7000 +F000 +7000 +7000 +7000 +7FC0 +7FC0 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 5 13 0 0 +BITMAP +70 +70 +70 +70 +78 +78 +70 +F0 +F0 +70 +70 +70 +70 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 15 13 1 0 +BITMAP +3FFE +7FFE +F1C0 +E1C0 +C1C0 +C1FE +C1FE +C1C0 +C1C0 +E1C0 +F3C0 +7FFE +1FFE +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 944 0 +DWIDTH 16 0 +BBX 15 9 1 0 +BITMAP +3CF0 +7FFC +E38C +C3FC +C3FE +C300 +E38C +7FFC +3CF8 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +3600 +1C00 +0000 +3E00 +7F00 +E380 +C180 +E000 +FC00 +7F80 +0F80 +01C0 +C1C0 +E180 +7F80 +3E00 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 12 1 0 +BITMAP +6C +38 +00 +7C +FE +C7 +FC +7E +07 +C7 +FE +7C +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 667 0 +DWIDTH 11 0 +BBX 10 16 1 0 +BITMAP +3600 +3600 +0000 +C1C0 +E180 +6380 +7300 +3700 +3E00 +1E00 +1C00 +1C00 +1C00 +1C00 +1C00 +1C00 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 10 16 0 0 +BITMAP +1B00 +0E00 +0000 +7FC0 +7FC0 +03C0 +0380 +0700 +0E00 +0E00 +1C00 +3800 +7800 +7000 +FFC0 +FFC0 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 500 0 +DWIDTH 9 0 +BBX 8 12 0 0 +BITMAP +36 +1C +00 +7F +7F +0F +0E +1C +38 +70 +FF +FF +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 17 0 -4 +BITMAP +0780 +0F80 +0C00 +0C00 +7F00 +7F00 +1C00 +1C00 +1800 +1800 +1800 +1800 +3800 +3800 +3000 +F000 +E000 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 2 0 11 +BITMAP +70 +F8 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 2 0 11 +BITMAP +C8 +78 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 5 2 0 10 +BITMAP +C8 +78 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 2 2 2 11 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 3 1 10 +BITMAP +60 +90 +60 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 4 4 1 -4 +BITMAP +60 +C0 +C0 +70 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 6 2 0 11 +BITMAP +64 +B8 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 7 2 1 11 +BITMAP +EE +CC +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 9 2 0 4 +BITMAP +FF80 +FF80 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 17 2 0 4 +BITMAP +FFFF80 +FFFF80 +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 5 1 8 +BITMAP +60 +C0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 5 1 8 +BITMAP +E0 +E0 +40 +40 +80 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 3 4 1 -2 +BITMAP +E0 +E0 +40 +40 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 500 0 +DWIDTH 9 0 +BBX 6 5 1 8 +BITMAP +44 +88 +CC +CC +CC +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 500 0 +DWIDTH 9 0 +BBX 6 5 1 8 +BITMAP +CC +CC +44 +44 +88 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 500 0 +DWIDTH 9 0 +BBX 6 5 1 -3 +BITMAP +CC +CC +44 +C4 +08 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 15 1 -2 +BITMAP +18 +18 +18 +18 +FF +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 556 0 +DWIDTH 9 0 +BBX 8 16 1 -3 +BITMAP +18 +18 +18 +18 +FF +FF +18 +18 +18 +18 +FF +FF +18 +18 +18 +18 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 350 0 +DWIDTH 6 0 +BBX 6 6 0 3 +BITMAP +78 +F8 +FC +FC +78 +30 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 13 2 2 0 +BITMAP +C718 +C718 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 17 12 0 0 +BITMAP +708000 +F90000 +C90000 +CA0000 +FA0000 +340000 +0D8600 +0BCF80 +1E6980 +166980 +23EF80 +21C700 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 3 6 1 1 +BITMAP +20 +60 +C0 +C0 +60 +20 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 333 0 +DWIDTH 6 0 +BBX 3 6 1 1 +BITMAP +C0 +E0 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 167 0 +DWIDTH 3 0 +BBX 8 12 -3 0 +BITMAP +01 +03 +02 +06 +04 +08 +18 +10 +30 +20 +40 +C0 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 1000 0 +DWIDTH 17 0 +BBX 15 7 1 6 +BITMAP +FDCE +31CE +31CE +31FE +31FE +31B6 +31B6 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 584 0 +DWIDTH 10 0 +BBX 8 2 1 3 +BITMAP +FF +FF +ENDCHAR +STARTCHAR fi +ENCODING 64257 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 0 0 +BITMAP +3980 +3980 +7000 +7000 +F980 +F980 +7180 +7180 +7180 +7180 +7180 +7180 +7180 +ENDCHAR +STARTCHAR fl +ENCODING 64258 +SWIDTH 611 0 +DWIDTH 10 0 +BBX 9 13 0 0 +BITMAP +3980 +3980 +7180 +7180 +F980 +F980 +7180 +7180 +7180 +7180 +7180 +7180 +7180 +ENDCHAR +STARTCHAR .notdef +ENCODING -1 +SWIDTH 278 0 +DWIDTH 5 0 +BBX 1 1 0 0 +BITMAP +00 +ENDCHAR +ENDFONT