diff --git a/config/deprecatedFiles.lst b/config/deprecatedFiles.lst index 84f8dbe47..0b7c65018 100644 --- a/config/deprecatedFiles.lst +++ b/config/deprecatedFiles.lst @@ -133,6 +133,7 @@ workflow/engine/xmlform/users/users_Options.xml workflow/public_html/skins/JSForms.js workflow/public_html/skins/ajax.js thirdparty/geshi +thirdparty/html2ps_pdf thirdparty/libchart thirdparty/lime thirdparty/pear/Benchmark diff --git a/thirdparty/html2ps_pdf/.htaccess b/thirdparty/html2ps_pdf/.htaccess deleted file mode 100644 index 1d6777654..000000000 --- a/thirdparty/html2ps_pdf/.htaccess +++ /dev/null @@ -1 +0,0 @@ -DirectoryIndex index.php diff --git a/thirdparty/html2ps_pdf/autofix.url.php b/thirdparty/html2ps_pdf/autofix.url.php deleted file mode 100644 index 4cef38df9..000000000 --- a/thirdparty/html2ps_pdf/autofix.url.php +++ /dev/null @@ -1,77 +0,0 @@ -"#%{}|\^~[]` - * Reserved: ;/?:@=& - * - * Normally, slash is allowed in path part, and % may be a part of encoded character - */ - $no_graphic_found = preg_match('/[\x00-\x1F\x7F\x80-\xFF]/', $parts['path']); - $unsafe_found = preg_match('/[ <>\"#{}\|\^~\[\]`]/', $parts['path']); - $unsafe_percent_found = preg_match('/%[^\dA-F]|%\d[^\dA-F]/i', $parts['path']); - $reserved_found = preg_match('/;\?:@=&/', $parts['path']); - - if ($no_graphic_found || - $unsafe_found || - $unsafe_percent_found || - $reserved_found) { - $parts['path'] = join('/', array_map('rawurlencode', explode('/',$parts['path']))); - }; - - // Build updated URL - $url_fixed = ''; - - if (isset($parts['scheme'])) { - $url_fixed .= $parts['scheme']; - $url_fixed .= '://'; - - if (isset($parts['user'])) { - $url_fixed .= $parts['user']; - if (isset($parts['pass'])) { - $url_fixed .= ':'; - $url_fixed .= $parts['pass']; - }; - $url_fixed .= '@'; - }; - - if (isset($parts['host'])) { - $url_fixed .= $parts['host']; - }; - - if (isset($parts['port'])) { - $url_fixed .= ':'; - $url_fixed .= $parts['port']; - }; - }; - - if (isset($parts['path'])) { - $url_fixed .= $parts['path']; - }; - - if (isset($parts['query'])) { - $url_fixed .= '?'; - $url_fixed .= $parts['query']; - }; - - if (isset($parts['fragment'])) { - $url_fixed .= '#'; - $url_fixed .= $parts['fragment']; - }; - - return $url_fixed; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/background.image.php b/thirdparty/html2ps_pdf/background.image.php deleted file mode 100644 index 46157c093..000000000 --- a/thirdparty/html2ps_pdf/background.image.php +++ /dev/null @@ -1,234 +0,0 @@ -_url = $url; - $this->_image = $image; - } - - /** - * "Deep copy" routine; it is required for compatibility with PHP 5 - * - * @return BackgroundImage A copy of current object - */ - function ©() { - $value =& new BackgroundImage($this->_url, $this->_image); - return $value; - } - - /** - * Checks if this value is equivalent to default value. According to CSS2, default value - * if the 'background-image' is 'none' - no image at all; in this case $_url member should - * contain NULL value. - * - * @link http://www.w3.org/TR/CSS21/colors.html#propdef-background-image CSS 2 'background-image' description - * - * @return boolean flag indicating whether this background image value is equivalent to default value - * - * @see CSSProperty::is_default() - * @see CSSBackgroundImage::default_value() - */ - function is_default() { - return is_null($this->_url); - } - - /** - * Renders the backgroung image using the specified output driver. - * - * @param OutputDriver $driver an output driver object - * @param GenericFormattedBox $box an box owning this background image - * @param int $repeat the 'background-repeat' value - * @param BackgroundPosition $position the 'background-position' value - * - * @uses BackgroundPosition - * @uses OutputDriver - */ - function show(&$driver, $box, $repeat, $position, $attachment) { - /** - * If no image should be rendered, just return - * @see BackgroundImage::$_url - */ - if (is_null($this->_url)) { - return; - }; - - if (is_null($this->_image)) { - return; - }; - - if ($attachment == BACKGROUND_ATTACHMENT_FIXED && - $box->getCSSProperty(CSS_DISPLAY) == '-body') { - $media =& $driver->get_media(); - $left = $box->get_left_background(); - $right = $box->get_right_background(); - $top = $driver->offset + mm2pt($media->margins['bottom']) + mm2pt($media->real_height()); - $bottom = $driver->offset + mm2pt($media->margins['bottom']); - } else { - $left = $box->get_left_background(); - $right = $box->get_right_background(); - $top = $box->get_top_background(); - $bottom = $box->get_bottom_background(); - }; - - /** - * Setup clipping region for padding area. Note that background image is drawn in the padding - * area which in generic case is greater than content area. - * - * @see OutputDriver::clip() - * - * @link http://www.w3.org/TR/CSS21/box.html#box-padding-area CSS 2.1 definition of padding area - */ - $driver->save(); - $driver->moveto($left, $top); - $driver->lineto($right, $top); - $driver->lineto($right, $bottom); - $driver->lineto($left, $bottom); - $driver->closepath(); - $driver->clip(); - - /** - * get real image size in device points - * - * @see pt2pt() - * @see px2pt() - */ - $image_height = px2pt(imagesy($this->_image)); - $image_width = px2pt(imagesx($this->_image)); - - /** - * Get dimensions of the rectangle to be filled with the background image - */ - $padding_width = $right - $left; - $padding_height = $top - $bottom; - - /** - * Calculate the vertical offset from the top padding edge to the background image top edge using current - * 'background-position' value. - * - * @link file:///C:/docs/css/colors.html#propdef-background-position CSS 2 'background-position' description - */ - if ($position->x_percentage) { - $x_offset = ($padding_width - $image_width) * $position->x / 100; - } else { - $x_offset = $position->x; - } - - /** - * Calculate the horizontal offset from the left padding edge to the background image left edge using current - * 'background-position' value - * - * @link file:///C:/docs/css/colors.html#propdef-background-position CSS 2 'background-position' description - */ - if ($position->y_percentage) { - $y_offset = ($padding_height - $image_height) * $position->y / 100; - } else { - $y_offset = $position->y; - }; - - /** - * Output the image (probably tiling it; depends on current value of 'background-repeat') using - * current output driver's tiled image output functions. Note that px2pt(1) is an image scaling factor; as all - * page element are scaled to fit the media, background images should be scaled too! - * - * @see OutputDriver::image() - * @see OutputDriver::image_rx() - * @see OutputDriver::image_ry() - * @see OutputDriver::image_rxry() - * - * @link file:///C:/docs/css/colors.html#propdef-background-repeat CSS 2.1 'background-repeat' property description - */ - switch ($repeat) { - case BR_NO_REPEAT: - /** - * 'background-repeat: no-repeat' case; no tiling at all - */ - $driver->image($this->_image, - $left + $x_offset, - $top - $image_height - $y_offset, - px2pt(1)); - break; - case BR_REPEAT_X: - /** - * 'background-repeat: repeat-x' case; horizontal tiling - */ - $driver->image_rx($this->_image, - $left + $x_offset, - $top - $image_height - $y_offset, - $image_width, - $right, - $x_offset, - $y_offset, - px2pt(1)); - break; - case BR_REPEAT_Y: - /** - * 'background-repeat: repeat-y' case; vertical tiling - */ - $driver->image_ry($this->_image, - $left + $x_offset, - $top - $image_height - $y_offset, - $image_height, - $bottom, - $x_offset, - $y_offset, - px2pt(1)); - break; - case BR_REPEAT: - /** - * 'background-repeat: repeat' case; full tiling - */ - $driver->image_rx_ry($this->_image, - $left + $x_offset, - $top - $image_height + $y_offset, - $image_width, - $image_height, - $right, - $bottom, - $x_offset, - $y_offset, - px2pt(1)); - break; - }; - - /** - * Restore the previous clipping area - * - * @see OutputDriver::clip() - * @see OutputDriver::restore() - */ - $driver->restore(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/background.position.php b/thirdparty/html2ps_pdf/background.position.php deleted file mode 100644 index 1682533bf..000000000 --- a/thirdparty/html2ps_pdf/background.position.php +++ /dev/null @@ -1,88 +0,0 @@ -x = $x; - $this->x_percentage = $x_percentage; - $this->y = $y; - $this->y_percentage = $y_percentage; - } - - /** - * A "deep copy" routine; it is required for compatibility with PHP 5 - * - * @return BackgroundPosition A copy of current object - */ - function ©() { - $value =& new BackgroundPosition($this->x, $this->x_percentage, - $this->y, $this->y_percentage); - return $value; - } - - /** - * Test is current value is equal to default 'background-position' CSS property value - */ - function is_default() { - return - $this->x == 0 && - $this->x_percentage && - $this->y == 0 && - $this->y_percentage; - } - - /** - * Converts the absolute lengths to the device points - * - * @param float $font_size Font size to use during conversion of 'ex' and 'em' units - */ - function units2pt($font_size) { - if (!$this->x_percentage) { - $this->x = units2pt($this->x, $font_size); - }; - - if (!$this->y_percentage) { - $this->y = units2pt($this->y, $font_size); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.block.inline.php b/thirdparty/html2ps_pdf/box.block.inline.php deleted file mode 100644 index c49231761..000000000 --- a/thirdparty/html2ps_pdf/box.block.inline.php +++ /dev/null @@ -1,159 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - return $box; - } - - /** - * Create new empty 'inline-block' element. Unlike InlineBlockBox::create(), constructor does not - * initialize the box content. - * - * @see InlineBlockBox::create() - */ - function InlineBlockBox() { - $this->GenericContainerBox(); - } - - /** - * Layout current inline-block element - * - * @param GenericContainerBox $parent The document element which should be treated as the parent of current element - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - * @see BlockBox::reflow - * - * @todo this 'reflow' skeleton is common for all element types; thus, we probably should move the generic 'reflow' - * definition to the GenericFormattedBox class, leaving only box-specific 'reflow_static' definitions in specific classes. - * - * @todo make relative positioning more CSS 2.1 compliant; currently, 'bottom' and 'right' CSS properties are ignored. - * - * @todo check whether percentage values should be really ignored during relative positioning - */ - function reflow(&$parent, &$context) { - /** - * Note that we may not worry about 'position: absolute' and 'position: fixed', - * as, according to CSS 2.1 paragraph 9.7, these values of 'position' - * will cause 'display' value to change to either 'block' or 'table'. Thus, - * 'inline-block' boxes will never have 'position' value other than 'static' or 'relative' - * - * @link http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo CSS 2.1: Relationships between 'display', 'position', and 'float' - */ - - switch ($this->getCSSProperty(CSS_POSITION)) { - case POSITION_STATIC: - return $this->reflow_static($parent, $context); - - case POSITION_RELATIVE: - /** - * CSS 2.1: - * Once a box has been laid out according to the normal flow or floated, it may be shifted relative - * to this position. This is called relative positioning. Offsetting a box (B1) in this way has no - * effect on the box (B2) that follows: B2 is given a position as if B1 were not offset and B2 is - * not re-positioned after B1's offset is applied. This implies that relative positioning may cause boxes - * to overlap. However, if relative positioning causes an 'overflow:auto' box to have overflow, the UA must - * allow the user to access this content, which, through the creation of scrollbars, may affect layout. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#x28 CSS 2.1 Relative positioning - */ - - $this->reflow_static($parent, $context); - $this->offsetRelative(); - - return; - } - } - - /** - * Layout current 'inline-block' element assument it has 'position: static' - * - * @param GenericContainerBox $parent The document element which should - * be treated as the parent of current element - * - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - * - * @todo re-check this layout routine; it seems that 'inline-block' boxes have - * their width calculated incorrectly - */ - function reflow_static(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - /** - * Calculate margin values if they have been set as a percentage - */ - $this->_calc_percentage_margins($parent); - $this->_calc_percentage_padding($parent); - - /** - * Calculate width value if it had been set as a percentage - */ - $this->_calc_percentage_width($parent, $context); - - /** - * Calculate 'auto' values of width and margins - */ - $this->_calc_auto_width_margins($parent); - - /** - * add current box to the parent's line-box (alone) - */ - $parent->append_line($this); - - /** - * Calculate position of the upper-left corner of the current box - */ - $this->guess_corner($parent); - - /** - * By default, child block box will fill all available parent width; - * note that actual content width will be smaller because of non-zero padding, border and margins - */ - $this->put_full_width($parent->get_width()); - - /** - * Layout element's children - */ - $this->reflow_content($context); - - /** - * Calculate element's baseline, as it should be aligned inside the - * parent's line box vertically - */ - $font = $this->getCSSProperty(CSS_FONT); - $this->default_baseline = $this->get_height() + $font->size->getPoints(); - - /** - * Extend parent's height to fit current box - */ - $parent->extend_height($this->get_bottom_margin()); - - /** - * Offset current x coordinate of parent box - */ - $parent->_current_x = $this->get_right_margin(); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.block.php b/thirdparty/html2ps_pdf/box.block.php deleted file mode 100644 index a44c9b066..000000000 --- a/thirdparty/html2ps_pdf/box.block.php +++ /dev/null @@ -1,465 +0,0 @@ -GenericContainerBox(); - } - - /** - * Create new block element and automatically fill in its contents using - * parsed HTML data - * - * @param mixed $root the HTML element corresponding to the element being created - * - * @return BlockBox new BlockBox object (with contents filled) - * - * @see GenericContainerBox::create_content() - */ - function &create(&$root, &$pipeline) { - $box = new BlockBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - return $box; - } - - /** - * Create new block element and automatically initialize its contents - * with the given text string - * - * @param string $content The text string to be put inside the block box - * - * @return BlockBox new BlockBox object (with contents filled) - * - * @see InlineBox - * @see InlineBox::create_from_text() - */ - function &create_from_text($content, &$pipeline) { - $box = new BlockBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - $box->add_child(InlineBox::create_from_text($content, - $box->getCSSProperty(CSS_WHITE_SPACE), - $pipeline)); - return $box; - } - - /** - * Layout current block element - * - * @param GenericContainerBox $parent The document element which should be treated as the parent of current element - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - * @see InlineBlockBox::reflow - * - * @todo this 'reflow' skeleton is common for all element types; thus, we probably should move the generic 'reflow' - * definition to the GenericFormattedBox class, leaving only box-specific 'reflow_static' definitions in specific classes. - * - * @todo make relative positioning more CSS 2.1 compliant; currently, 'bottom' and 'right' CSS properties are ignored. - * - * @todo check whether percentage values should be really ignored during relative positioning - */ - function reflow(&$parent, &$context) { - switch ($this->getCSSProperty(CSS_POSITION)) { - case POSITION_STATIC: - $this->reflow_static($parent, $context); - return; - - case POSITION_RELATIVE: - /** - * CSS 2.1: - * Once a box has been laid out according to the normal flow or floated, it may be shifted relative - * to this position. This is called relative positioning. Offsetting a box (B1) in this way has no - * effect on the box (B2) that follows: B2 is given a position as if B1 were not offset and B2 is - * not re-positioned after B1's offset is applied. This implies that relative positioning may cause boxes - * to overlap. However, if relative positioning causes an 'overflow:auto' box to have overflow, the UA must - * allow the user to access this content, which, through the creation of scrollbars, may affect layout. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#x28 CSS 2.1 Relative positioning - */ - $this->reflow_static($parent, $context); - $this->offsetRelative(); - return; - - case POSITION_ABSOLUTE: - /** - * If this box is positioned absolutely, it is not laid out as usual box; - * The reference to this element is stored in the flow context for - * futher reference. - */ - $this->guess_corner($parent); - return; - - case POSITION_FIXED: - /** - * If this box have 'position: fixed', it is not laid out as usual box; - * The reference to this element is stored in the flow context for - * futher reference. - */ - $this->guess_corner($parent); - return; - }; - } - - /** - * Reflow absolutely positioned block box. Note that according to CSS 2.1 - * the only types of boxes which could be absolutely positioned are - * 'block' and 'table' - * - * @param FlowContext $context A flow context object containing the additional layout data. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo CSS 2.1: Relationships between 'display', 'position', and 'float' - */ - function reflow_absolute(&$context) { - $parent_node =& $this->get_parent_node(); - parent::reflow($parent_node, $context); - - $width_strategy =& new StrategyWidthAbsolutePositioned(); - $width_strategy->apply($this, $context); - - $position_strategy =& new StrategyPositionAbsolute(); - $position_strategy->apply($this); - - $this->reflow_content($context); - - /** - * As absolute-positioned box generated new flow context, extend the height to fit all floats - */ - $this->fitFloats($context); - } - - /** - * Reflow fixed-positioned block box. Note that according to CSS 2.1 - * the only types of boxes which could be absolutely positioned are - * 'block' and 'table' - * - * @param FlowContext $context A flow context object containing the additional layout data. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo CSS 2.1: Relationships between 'display', 'position', and 'float' - * - * @todo it seems that percentage-constrained fixed block width will be calculated incorrectly; we need - * to use containing block width instead of $this->get_width() when applying the width constraint - */ - function reflow_fixed(&$context) { - GenericFormattedBox::reflow($this->parent, $context); - - /** - * As fixed-positioned elements are placed relatively to page (so that one element may be shown - * several times on different pages), we cannot calculate its position at the moment. - * The real position of the element is calculated when it is to be shown - once for each page. - * - * @see BlockBox::show_fixed() - */ - $this->put_left(0); - $this->put_top(0); - - /** - * As sometimes left/right values may not be set, we need to use the "fit" width here. - * If box have a width constraint, 'get_max_width' will return constrained value; - * othersise, an intrictic width will be returned. - * - * @see GenericContainerBox::get_max_width() - */ - $this->put_full_width($this->get_max_width($context)); - - /** - * Update the width, as it should be calculated based upon containing block width, not real parent. - * After this we should remove width constraints or we may encounter problem - * in future when we'll try to call get_..._width functions for this box - * - * @todo Update the family of get_..._width function so that they would apply constraint - * using the containing block width, not "real" parent width - */ - $containing_block =& $this->_get_containing_block(); - $wc = $this->getCSSProperty(CSS_WIDTH); - $this->put_full_width($wc->apply($this->get_width(), - $containing_block['right'] - $containing_block['left'])); - $this->setCSSProperty(CSS_WIDTH, new WCNone()); - - /** - * Layout element's children - */ - $this->reflow_content($context); - - /** - * As fixed-positioned box generated new flow context, extend the height to fit all floats - */ - $this->fitFloats($context); - } - - /** - * Layout static-positioned block box. - * - * Note that static-positioned boxes may be floating boxes - * - * @param GenericContainerBox $parent The document element which should be treated as the parent of current element - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - */ - function reflow_static(&$parent, &$context) { - if ($this->getCSSProperty(CSS_FLOAT) === FLOAT_NONE) { - $this->reflow_static_normal($parent, $context); - } else { - $this->reflow_static_float($parent, $context); - } - } - - /** - * Layout normal (non-floating) static-positioned block box. - * - * @param GenericContainerBox $parent The document element which should be treated as the parent of current element - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - */ - function reflow_static_normal(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - if ($parent) { - /** - * Child block will fill the whole content width of the parent block. - * - * 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + - * 'border-right-width' + 'margin-right' = width of containing block - * - * See CSS 2.1 for more detailed explanation - * - * @link http://www.w3.org/TR/CSS21/visudet.html#blockwidth CSS 2.1. 10.3.3 Block-level, non-replaced elements in normal flow - */ - - /** - * Calculate margin values if they have been set as a percentage; replace percentage-based values - * with fixed lengths. - */ - $this->_calc_percentage_margins($parent); - $this->_calc_percentage_padding($parent); - - /** - * Calculate width value if it had been set as a percentage; replace percentage-based value - * with fixed value - */ - $this->put_full_width($parent->get_width()); - $this->_calc_percentage_width($parent, $context); - - /** - * Calculate 'auto' values of width and margins. Unlike tables, DIV width is either constrained - * by some CSS rules or expanded to the parent width; thus, we can calculate 'auto' margin - * values immediately. - * - * @link http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins CSS 2.1 Calculating widths and margins - */ - $this->_calc_auto_width_margins($parent); - - /** - * Collapse top margin - * - * @see GenericFormattedBox::collapse_margin() - * - * @link http://www.w3.org/TR/CSS21/box.html#collapsing-margins CSS 2.1 Collapsing margins - */ - $y = $this->collapse_margin($parent, $context); - - /** - * At this moment we have top parent/child collapsed margin at the top of context object - * margin stack - */ - - /** - * Apply 'clear' property; the current Y coordinate can be modified as a result of 'clear'. - */ - $y = $this->apply_clear($y, $context); - - /** - * Store calculated Y coordinate as current Y coordinate in the parent box - * No more content will be drawn abowe this mark; current box padding area will - * start below. - */ - $parent->_current_y = $y; - - /** - * Terminate current parent line-box (as current box is not inline) - */ - $parent->close_line($context); - - /** - * Add current box to the parent's line-box; we will close the line box below - * after content will be reflown, so the line box will contain only current box. - */ - $parent->append_line($this); - - /** - * Now, place the current box upper left content corner. Note that we should not - * use get_extra_top here, as _current_y value already culculated using the top margin value - * of the current box! The top content edge should be offset from that level only of padding and - * border width. - */ - $border = $this->getCSSProperty(CSS_BORDER); - $padding = $this->getCSSProperty(CSS_PADDING); - - $this->moveto( $parent->get_left() + $this->get_extra_left(), - $parent->_current_y - $border->top->get_width() - $padding->top->value ); - } - - /** - * Reflow element's children - */ - $this->reflow_content($context); - - if ($this->getCSSProperty(CSS_OVERFLOW) != OVERFLOW_VISIBLE) { - $this->fitFloats($context); - } - - /** - * After child elements have been reflown, we should the top collapsed margin stack value - * replaced by the value of last child bottom collapsed margin; - * if no children contained, then this value should be reset to 0. - * - * Note that invisible and - * whitespaces boxes would not affect the collapsed margin value, so we need to - * use 'get_first' function instead of just accessing the $content array. - * - * @see GenericContainerBox::get_first - */ - if (!is_null($this->get_first())) { - $cm = 0; - } else { - $cm = $context->get_collapsed_margin(); - }; - - /** - * Update the bottom value, collapsing the latter value with - * current box bottom margin. - * - * Note that we need to remove TWO values from the margin stack: - * first - the value of collapsed bottom margin of the last child AND - * second - the value of collapsed top margin of current element. - */ - $margin = $this->getCSSProperty(CSS_MARGIN); - - if ($parent) { - /** - * Terminate parent's line box (it contains the current box only) - */ - $parent->close_line($context); - - $parent->_current_y = $this->collapse_margin_bottom($parent, $context); - }; - } - - function show(&$driver) { - if ($this->getCSSProperty(CSS_FLOAT) != FLOAT_NONE || - $this->getCSSProperty(CSS_POSITION) == POSITION_RELATIVE) { - // These boxes will be rendered separately - return true; - }; - - return parent::show($driver); - } - - function show_postponed(&$driver) { - return parent::show($driver); - } - - /** - * Show fixed positioned block box using the specified output driver - * - * Note that 'show_fixed' is called to box _nested_ to the fixed-positioned boxes too! - * Thus, we need to check whether actual 'position' values is 'fixed' for this box - * and only in that case attempt to move box - * - * @param OutputDriver $driver The output device driver object - */ - function show_fixed(&$driver) { - $position = $this->getCSSProperty(CSS_POSITION); - - if ($position == POSITION_FIXED) { - /** - * Calculate the distance between the top page edge and top box content edge - */ - $bottom = $this->getCSSProperty(CSS_BOTTOM); - $top = $this->getCSSProperty(CSS_TOP); - - if (!$top->isAuto()) { - if ($top->isPercentage()) { - $vertical_offset = $driver->getPageMaxHeight() / 100 * $top->getPercentage(); - } else { - $vertical_offset = $top->getPoints(); - }; - - } elseif (!$bottom->isAuto()) { - if ($bottom->isPercentage()) { - $vertical_offset = $driver->getPageMaxHeight() * (100 - $bottom->getPercentage())/100 - $this->get_height(); - } else { - $vertical_offset = $driver->getPageMaxHeight() - $bottom->getPoints() - $this->get_height(); - }; - - } else { - $vertical_offset = 0; - }; - - /** - * Calculate the distance between the right page edge and right box content edge - */ - $left = $this->getCSSProperty(CSS_LEFT); - $right = $this->getCSSProperty(CSS_RIGHT); - - if (!$left->isAuto()) { - if ($left->isPercentage()) { - $horizontal_offset = $driver->getPageWidth() / 100 * $left->getPercentage(); - } else { - $horizontal_offset = $left->getPoints(); - }; - - } elseif (!$right->isAuto()) { - if ($right->isPercentage()) { - $horizontal_offset = $driver->getPageWidth() * (100 - $right->getPercentage())/100 - $this->get_width(); - } else { - $horizontal_offset = $driver->getPageWidth() - $right->getPoints() - $this->get_width(); - }; - - } else { - $horizontal_offset = 0; - }; - - /** - * Offset current box to the required position on the current page (note that - * fixed-positioned element are placed relatively to the viewport - page in our case) - */ - $this->moveto($driver->getPageLeft() + $horizontal_offset, - $driver->getPageTop() - $vertical_offset); - }; - - /** - * After box have benn properly positioned, render it as usual. - */ - return GenericContainerBox::show_fixed($driver); - } - - function isBlockLevel() { - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.body.php b/thirdparty/html2ps_pdf/box.body.php deleted file mode 100644 index 008d3459a..000000000 --- a/thirdparty/html2ps_pdf/box.body.php +++ /dev/null @@ -1,38 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - return $box; - } - - function get_bottom_background() { - return $this->get_bottom_margin(); - } - - function get_left_background() { - return $this->get_left_margin(); - } - - function get_right_background() { - return $this->get_right_margin(); - } - - function get_top_background() { - return $this->get_top_margin(); - } - - function reflow(&$parent, &$context) { - parent::reflow($parent, $context); - - // Extend the body height to fit all contained floats - $float_bottom = $context->float_bottom(); - if (!is_null($float_bottom)) { - $this->extend_height($float_bottom); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.br.php b/thirdparty/html2ps_pdf/box.br.php deleted file mode 100644 index c12cd9023..000000000 --- a/thirdparty/html2ps_pdf/box.br.php +++ /dev/null @@ -1,201 +0,0 @@ -GenericBox(); - } - - function apply_clear($y, &$context) { - return LayoutVertical::apply_clear($this, $y, $context); - } - - function out_of_flow() { - return true; - } - - function readCSS(&$state) { - parent::readCSS($state); - - /** - * We treat BR as a block box; as default value of 'display' property is not 'block', we should - * set it up manually. - */ - $this->setCSSProperty(CSS_DISPLAY, 'block'); - - $this->_readCSS($state, - array(CSS_CLEAR)); - - $this->_readCSSLengths($state, - array(CSS_MARGIN, - CSS_LINE_HEIGHT)); - } - - /** - * Create new BR element - * - * @return BRBox new BR element object - */ - function &create(&$pipeline) { - $box =& new BRBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - /** - * BR tags do not take any horizontal space, so if minimal width is zero. - * - * @param FlowContext $context The object containing auxiliary flow data; not used here/ - * - * @return int should always return constant zero. - */ - function get_min_width(&$context) { - return 0; - } - - /** - * BR tags do not take any horizontal space, so if maximal width is zero. - * - * @param FlowContext $context The object containing auxiliary flow data; not used here. - * - * @return int should always return constant zero. - */ - function get_max_width(&$context) { - return 0; - } - - /** - * Layout current BR element. The reflow routine is somewhat similar to the block box reflow routine. - * As most CSS properties do not apply to BR elements, and BR element always have parent element, - * the routine is much simpler. - * - * @param GenericContainerBox $parent The document element which should be treated as the parent of current element - * @param FlowContext $context The flow context containing the additional layout data - * - * @see FlowContext - * @see GenericContainerBox - */ - function reflow(&$parent, &$context) { - parent::reflow($parent, $context); - - /** - * Apply 'clear' property; the current Y coordinate can be modified as a result of 'clear'. - */ - $y = $this->apply_clear($parent->_current_y, $context); - - /** - * Move current "box" to parent current coordinates. It is REQUIRED, in spite of the generated - * box itself have no dimensions and will never be drawn, as several other routines uses box coordinates. - */ - $this->put_left($parent->_current_x); - $this->put_top($y); - - /** - * If we met a sequence of BR tags (like

), we'll have an only one item in the parent's - * line box - whitespace; in this case we'll need to additionally offset current y coordinate by the font size, - * as whitespace alone does not affect the Y-coordinate. - */ - if ($parent->line_box_empty()) { - /** - * There's no elements in the parent line box at all (e.g in the following situation: - *

.. some text here...
); thus, as we're initiating - * a new line, we need to offset current Y coordinate by the font-size value. - */ - - // Note that _current_y should be modified before 'close_line' call, as it checks for - // left-floating boxes, causing an issues if line bottom will be placed below - // float while line top is above float bottom margin - $font = $this->getCSSProperty(CSS_FONT); - $fs = $font->size; - $parent->_current_y = min($this->get_bottom(), - $parent->_current_y - $font->line_height->apply($fs->getPoints())); - - $parent->close_line($context, true); - } else { - /** - * There's at least 1 non-whitespace element in the parent line box, we do not need to use whitespace - * height; the bottom of the line box is defined by the non-whitespace elements. Top of the new line - * should be equal to that value. - */ - $parent->close_line($context, true); - }; - - /** - * We need to explicitly extend the parent's height, to make it contain the generated line, - * as we don't know if it have any children _after_ this BR box. If we will not do it, - * the following code will be rendred incorrectly: - *
...some text...
- */ - $parent->extend_height($parent->_current_y); - } - - /** - * Render the BR element; as BR element is non-visual, we do nothing here. - * - * @param OutputDriver $driver Current output device driver object. - * - * @return boolean true in case the box was successfully rendered - */ - function show(&$driver) { - return true; - } - - /** - * As BR element generated a line break, it means that a new line box will be started - * (thus, any whitespaces immediately following the BR tag should not be rendered). - * To indicate this, we reset the linebox_started flag to 'false' value. - * - * @param boolean $linebox_started Flag indicating that a new line box have just started and it already contains - * some inline elements - * @param boolean $previous_whitespace Flag indicating that a previous inline element was an whitespace element. - * - * @see GenericFormattedBox::reflow_whitespace() - */ - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - $linebox_started = false; - } - - function get_height() { - return 0; - } - - function get_width() { - return 0; - } - - /** - * BRBox may be placed inside InlineBox (white-space: pre) - */ - function get_ascender() { - return 0; - } - - function get_descender() { - return 0; - } - - function isLineBreak() { - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.button.php b/thirdparty/html2ps_pdf/box.button.php deleted file mode 100644 index 2889181a1..000000000 --- a/thirdparty/html2ps_pdf/box.button.php +++ /dev/null @@ -1,149 +0,0 @@ -InlineControlBox(); - } - - /** - * Create a new button element from the DOM tree element - * - * @param DOMElement $root pointer to the DOM tree element corresponding to the button. - * - * @return ButtonBox new button element - */ - function &create(&$root, &$pipeline) { - /** - * Button text is defined by its 'value' attrubute; - * if this attribute is not specified, we should provide some - * appropriate defaults depending on the exact button type: - * reset, submit or generic button. - * - * Default button text values are specified in config file config.inc.php. - * - * @see config.inc.php - * @see DEFAULT_SUBMIT_TEXT - * @see DEFAULT_RESET_TEXT - * @see DEFAULT_BUTTON_TEXT - */ - if ($root->has_attribute("value")) { - $text = $root->get_attribute("value"); - } else { - $text = DEFAULT_BUTTON_TEXT; - }; - - $box =& new ButtonBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - - /** - * If button width is not constrained, then we'll add some space around the button text - */ - $text = " ".$text." "; - - $box->_setup($text, $pipeline); - - return $box; - } - - function _setup($text, &$pipeline) { - /** - * Contents of the text box are somewhat similar to the inline box: - * a sequence of the text and whitespace boxes; we generate this sequence using - * the InlineBox, then copy contents of the created inline box to our button. - * - * @todo probably, create_from_text() function should be extracted to the common parent - * of inline boxes. - */ - $ibox = InlineBox::create_from_text($text, WHITESPACE_PRE, $pipeline); - - $size = count($ibox->content); - for ($i=0; $i<$size; $i++) { - $this->add_child($ibox->content[$i]); - }; - - /** - * Button height includes vertical padding (e.g. the following two buttons - * - * - * are render by browsers with the same height!), so we'll need to adjust the - * height constraint, subtracting the vertical padding value from the constraint - * height value. - */ - $hc = $this->get_height_constraint(); - if (!is_null($hc->constant)) { - $hc->constant[0] -= $this->get_padding_top() + $this->get_padding_bottom(); - }; - $this->put_height_constraint($hc); - } - - /** - * Render the form field corresponding to this button - * (Will be overridden by subclasses; they may render more specific button types) - * - * @param OutputDriver $driver The output driver object - */ - function _render_field(&$driver) { - $driver->field_pushbutton($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom()); - } - - /** - * Render the button using the specified output driver - * - * @param OutputDriver $driver The output driver object - * - * @return boolean flag indicating an error (null value) or success (true) - */ - function show(&$driver) { - /** - * Set the baseline of a button box so that the button text will be aligned with - * the line box baseline - */ - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - - /** - * Render the interactive button (if requested and possible) - */ - if ($GLOBALS['g_config']['renderforms']) { - $status = GenericContainerBox::show($driver); - $this->_render_field($driver); - } else { - $status = GenericContainerBox::show($driver); - }; - - return $status; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.button.reset.php b/thirdparty/html2ps_pdf/box.button.reset.php deleted file mode 100644 index 00ad801dc..000000000 --- a/thirdparty/html2ps_pdf/box.button.reset.php +++ /dev/null @@ -1,36 +0,0 @@ -ButtonBox($text); - } - - function &create(&$root, &$pipeline) { - if ($root->has_attribute("value")) { - $text = $root->get_attribute("value"); - } else { - $text = DEFAULT_RESET_TEXT; - }; - - $box =& new ButtonResetBox($text); - $box->readCSS($pipeline->getCurrentCSSState()); - - return $box; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_HTML2PS_FORM_ACTION)); - } - - function _render_field(&$driver) { - $driver->field_pushbuttonreset($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom()); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.button.submit.php b/thirdparty/html2ps_pdf/box.button.submit.php deleted file mode 100644 index 595955c53..000000000 --- a/thirdparty/html2ps_pdf/box.button.submit.php +++ /dev/null @@ -1,91 +0,0 @@ -ButtonBox(); - $this->_action_url = $action; - $this->_field_name = $field; - $this->_value = $value; - } - - /** - * Create input box using DOM tree data - * - * @param Object $root DOM tree node corresponding to the box being created - * @param Pipeline $pipeline reference to current pipeline object (unused) - * - * @return input box - */ - function &create(&$root, &$pipeline) { - /** - * If no "value" attribute is specified, display the default button text. - * Note the difference between displayed text and actual field value! - */ - if ($root->has_attribute("value")) { - $text = $root->get_attribute("value"); - } else { - $text = DEFAULT_SUBMIT_TEXT; - }; - - $field = $root->get_attribute('name'); - $value = $root->get_attribute('value'); - - $css_state =& $pipeline->getCurrentCSSState(); - $box =& new ButtonSubmitBox($field, $value, $css_state->getProperty(CSS_HTML2PS_FORM_ACTION)); - $box->readCSS($css_state); - $box->_setup($text, $pipeline); - - return $box; - } - - /** - * Render interactive field using the driver-specific capabilities; - * button is rendered as a rectangle defined by margin and padding areas (note that unlike most other boxes, - * borders are _outside_ the box, so we may treat - * - * @param OutputDriver $driver reference to current output driver object - */ - function _render_field(&$driver) { - $driver->field_pushbuttonsubmit($this->get_left_padding() - $this->get_margin_left(), - $this->get_top_padding() + $this->get_margin_top(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right() + $this->get_margin_left() + $this->get_margin_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom() + $this->get_margin_top() + $this->get_margin_bottom(), - $this->_field_name, - $this->_value, - $this->_action_url); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.checkbutton.php b/thirdparty/html2ps_pdf/box.checkbutton.php deleted file mode 100644 index 7bb816078..000000000 --- a/thirdparty/html2ps_pdf/box.checkbutton.php +++ /dev/null @@ -1,239 +0,0 @@ - - * elements - */ - -/** - * @package HTML2PS - * @subpackage Document - * - * The CheckBox class desribes the layour of HTML checkboxes (they have HTML2PS-specific - * '-checkbox' value of 'display' property) - * - * Checkboxes have fixed size, which can be configured using CHECKBOX_SIZE constant - * in config.inc.php file. If "checked" attribute is present (whatever its value is), - * a small cross is drawn inside the checkbox. - * - * @see CHECKBOX_SIZE - * - * @todo add "disabled" state - */ -class CheckBox extends GenericFormattedBox { - /** - * @var Boolean Flag indicating whether the check mark should be drawn - * @access private - */ - var $_checked; - - /** - * @var String name of the corresponding form field - * @access private - */ - var $_name; - - /** - * Notes: leading and trailing spaces are removed; if value is not specified, - * checkbox is not rendered as ineractive control - * - * @var String value to be posted from ineractive form for this checkbox - * @access private - */ - var $_value; - - /** - * Create a new checkbutton element using DOM tree element to initialize - * it. - * - * @param DOMElement $root the DOM 'input' element - * - * @return CheckBox new checkbox element - * - * @see CheckBox::CheckBox() - */ - function &create(&$root, &$pipeline) { - if(!class_exists('G')){ - $realdocuroot = str_replace( '\\', '/', $_SERVER['DOCUMENT_ROOT'] ); - $docuroot = explode( '/', $realdocuroot ); - array_pop( $docuroot ); - $pathhome = implode( '/', $docuroot ) . '/'; - array_pop( $docuroot ); - $pathTrunk = implode( '/', $docuroot ) . '/'; - require_once($pathTrunk.'gulliver/system/class.g.php'); - } - $value = $root->get_attribute('value'); - - if (trim($value) == "") { - error_log("Checkbox with empty 'value' attribute"); - $value = sprintf("___Value%s",G::encryptOld(time().rand())); - }; - - $box =& new CheckBox($root->has_attribute('checked'), - $root->get_attribute('name'), - $value); - $box->readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - /** - * Create a new checkbox element with the given state - * - * @param $checked flag inidicating if this box should be checked - * - * @see CheckBox::create() - */ - function CheckBox($checked, $name, $value) { - $this->GenericFormattedBox(); - - $this->_checked = $checked; - $this->_name = trim($name); - $this->_value = trim($value); - } - - /** - * Returns the width of the checkbox; not that max/min width does not - * make sense for the checkbuttons, as their width is always constant. - * - * @param FlowContext Context object describing current flow parameters (unused) - * - * @return int width of the checkbox - * - * @see CheckBox::get_max_width - */ - function get_min_width(&$context) { - return $this->width; - } - - /** - * Returns the width of the checkbox; not that max/min width does not - * make sense for the checkbuttons, as their width is always constant. - * - * @param FlowContext Context object describing current flow parameters (unused) - * - * @return int width of the checkbox - * - * @see CheckBox::get_min_width - */ - function get_max_width(&$context) { - return $this->width; - } - - /** - * Layout current checkbox element. Note that most CSS properties do not apply to the - * checkboxes; i.e. margin/padding values are ignored, checkboxes always aligned to - * to bottom of current line, etc. - * - * @param GenericContainerBox $parent - * @param FlowContext $context Context object describing current flow parameters - * - * @return Boolean flag indicating the error/success state; 'null' value in case of critical error - */ - function reflow(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - /** - * Check box size is constant (defined in config.inc.php) and is never affected - * neither by CSS nor HTML. - * - * @see CHECKBOX_SIZE - */ - $this->default_baseline = units2pt(CHECKBOX_SIZE); - $this->height = units2pt(CHECKBOX_SIZE); - $this->width = units2pt(CHECKBOX_SIZE); - - // set default baseline - $this->baseline = $this->default_baseline; - -// // Vertical-align -// $this->_apply_vertical_align($parent); - - /** - * append to parent line box - */ - $parent->append_line($this); - - /** - * Determine coordinates of upper-left margin corner - */ - $this->guess_corner($parent); - - /** - * Offset parent current X coordinate - */ - $parent->_current_x += $this->get_full_width(); - - /** - * Extend parents height to fit the checkbox - */ - $parent->extend_height($this->get_bottom_margin()); - } - - /** - * Render the checkbox using the specified output driver - * - * @param OutputDriver $driver The output device driver object - */ - function show(&$driver) { - /** - * Get the coordinates of the check mark - */ - $x = ($this->get_left() + $this->get_right()) / 2; - $y = ($this->get_top() + $this->get_bottom()) / 2; - - /** - * Calculate checkmark size; it looks nice when it takes - * 1/3 of the box size - */ - $size = $this->get_width() / 3; - - /** - * Draw the box - */ - $driver->setrgbcolor(0,0,0); - $driver->setlinewidth(0.25); - $driver->moveto($x - $size, $y + $size); - $driver->lineto($x + $size, $y + $size); - $driver->lineto($x + $size, $y - $size); - $driver->lineto($x - $size, $y - $size); - $driver->closepath(); - $driver->stroke(); - - /** - * Render the interactive button (if requested and possible) - * Also, field should be rendered only if name is not empty - */ - global $g_config; - if ($g_config['renderforms'] && $this->_name != "" && $this->_value != "") { - $driver->field_checkbox($x - $size, - $y + $size, - 2*$size, - 2*$size, - $this->_name, - $this->_value, - $this->_checked); - } else { - /** - * Draw check mark if needed - */ - if ($this->_checked) { - $check_size = $this->get_width() / 6; - - $driver->moveto($x - $check_size, $y + $check_size); - $driver->lineto($x + $check_size, $y - $check_size); - $driver->stroke(); - - $driver->moveto($x + $check_size, $y + $check_size); - $driver->lineto($x - $check_size, $y - $check_size); - $driver->stroke(); - } - }; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.container.php b/thirdparty/html2ps_pdf/box.container.php deleted file mode 100644 index 92f230567..000000000 --- a/thirdparty/html2ps_pdf/box.container.php +++ /dev/null @@ -1,1103 +0,0 @@ -text
float
word". In - * this case, the floating DIV should be rendered below the "text word" line; - * thus, we need to keep a list of deferred floating elements and render them - * when current line box closes. - * - * @var Array A list of floats which should be flown after current line box ends; - * @access private - */ - var $_deferred_floats; - - /** - * @var float Current output X value inside the current element - * @access public - */ - var $_current_x; - - /** - * @var float Current output Y value inside the current element - * @access public - */ - var $_current_y; - - function destroy() { - for ($i=0, $size = count($this->content); $i < $size; $i++) { - $this->content[$i]->destroy(); - }; - unset($this->content); - - parent::destroy(); - } - - /** - * Render current container box using the specified output method. - * - * @param OutputDriver $driver The output driver object - * - * @return Boolean flag indicating the success or 'null' value in case of critical rendering - * error - */ - function show(&$driver) { - GenericFormattedBox::show($driver); - - $overflow = $this->getCSSProperty(CSS_OVERFLOW); - - /** - * Sometimes the content may overflow container boxes. This situation arise, for example, - * for relative-positioned child boxes, boxes having constrained height and in some - * other cases. If the container box does not have CSS 'overflow' property - * set to 'visible' value, the content should be visually clipped using container box - * padding area. - */ - if ($overflow !== OVERFLOW_VISIBLE) { - $driver->save(); - $this->_setupClip($driver); - }; - - /** - * Render child elements - */ - for ($i=0, $size = count($this->content); $i < $size; $i++) { - $child =& $this->content[$i]; - - /** - * We'll check the visibility property here - * Reason: all boxes (except the top-level one) are contained in some other box, - * so every box will pass this check. The alternative is to add this check into every - * box class show member. - * - * The only exception of absolute positioned block boxes which are drawn separately; - * their show method is called explicitly; the similar check should be performed there - */ - if ($child->isVisibleInFlow()) { - /** - * To reduce the drawing overhead, we'll check if some part if current child element - * belongs to current output page. If not, there will be no reason to draw this - * child this time. - * - * @see OutputDriver::contains() - * - * @todo In rare cases the element content may be placed outside the element itself; - * in such situantion content may be visible on the page, while element is not. - * This situation should be resolved somehow. - */ - if ($driver->contains($child)) { - if (is_null($child->show($driver))) { - return null; - }; - }; - }; - } - - /** - * Restore previous clipping mode, if it have been modified for non-'overflow: visible' - * box. - */ - if ($overflow !== OVERFLOW_VISIBLE) { - $driver->restore(); - }; - - return true; - } - - /** - * Render current fixed-positioned container box using the specified output method. Unlike - * the 'show' method, there's no check if current page viewport contains current element, as - * fixed-positioned may be drawn on the page margins, outside the viewport. - * - * @param OutputDriver $driver The output driver object - * - * @return Boolean flag indicating the success or 'null' value in case of critical rendering - * error - * - * @see GenericContainerBox::show() - * - * @todo the 'show' and 'show_fixed' method code are almost the same except the child element - * method called in the inner loop; also, no check is done if current viewport contains this element, - * thus sllowinf printing data on page margins, where no data should be printed normally - * I suppose some more generic method containing the common code should be made. - */ - function show_fixed(&$driver) { - GenericFormattedBox::show($driver); - - $overflow = $this->getCSSProperty(CSS_OVERFLOW); - - /** - * Sometimes the content may overflow container boxes. This situation arise, for example, - * for relative-positioned child boxes, boxes having constrained height and in some - * other cases. If the container box does not have CSS 'overflow' property - * set to 'visible' value, the content should be visually clipped using container box - * padding area. - */ - if ($overflow !== OVERFLOW_VISIBLE) { - // Save graphics state (of course, BEFORE the clipping area will be set) - $driver->save(); - $this->_setupClip($driver); - }; - - /** - * Render child elements - */ - $size = count($this->content); - for ($i=0; $i < $size; $i++) { - /** - * We'll check the visibility property here - * Reason: all boxes (except the top-level one) are contained in some other box, - * so every box will pass this check. The alternative is to add this check into every - * box class show member. - * - * The only exception of absolute positioned block boxes which are drawn separately; - * their show method is called explicitly; the similar check should be performed there - */ - $child =& $this->content[$i]; - if ($child->getCSSProperty(CSS_VISIBILITY) === VISIBILITY_VISIBLE) { - // Fixed-positioned blocks are displayed separately; - // If we call them now, they will be drawn twice - if ($child->getCSSProperty(CSS_POSITION) != POSITION_FIXED) { - if (is_null($child->show_fixed($driver))) { - return null; - }; - }; - }; - } - - /** - * Restore previous clipping mode, if it have been modified for non-'overflow: visible' - * box. - */ - if ($overflow !== OVERFLOW_VISIBLE) { - $driver->restore(); - }; - - return true; - } - - function _find(&$box) { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if ($this->content[$i]->uid == $box->uid) { - return $i; - }; - } - return null; - } - - // Inserts new child box at the specified (zero-based) offset; 0 stands for first child - // - // @param $index index to insert child at - // @param $box child to be inserted - // - function insert_child($index, &$box) { - $box->parent =& $this; - - // Offset the content array - for ($i = count($this->content)-1; $i>= $index; $i--) { - $this->content[$i+1] =& $this->content[$i]; - }; - - $this->content[$index] =& $box; - } - - function insertBefore(&$what, &$where) { - if ($where) { - $index = $this->_find($where); - - if (is_null($index)) { - return null; - }; - - $this->insert_child($index, $what); - } else { - // If 'where' is not specified, 'what' should become the last child - $this->add_child($what); - }; - - return $what; - } - - function add_child(&$box) { - // In general, this function is called like following: - // $box->add_child(create_pdf_box(...)) - // As create_pdf_box _may_ return null value (for example, for an empty text node), - // we should process the case of $box == null here - if ($box) { - $box->parent =& $this; - $this->content[] =& $box; - }; - } - - // Get first child of current box which actually will be drawn - // on the page. So, whitespace and null boxes will be ignored - // - // See description of is_null for null box definition. - // (not only NullBox is treated as null box) - // - // @return reference to the first visible child of current box - function &get_first() { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if (!is_whitespace($this->content[$i]) && - !$this->content[$i]->is_null()) { - return $this->content[$i]; - }; - }; - - // We use this construct to avoid notice messages in PHP 4.4 and PHP 5 - $dummy = null; - return $dummy; - } - - // Get first text or image child of current box which actually will be drawn - // on the page. - // - // See description of is_null for null box definition. - // (not only NullBox is treated as null box) - // - // @return reference to the first visible child of current box - function &get_first_data() { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if (!is_whitespace($this->content[$i]) && !$this->content[$i]->is_null()) { - if (is_container($this->content[$i])) { - $data =& $this->content[$i]->get_first_data(); - if (!is_null($data)) { return $data; }; - } else { - return $this->content[$i]; - }; - }; - }; - - // We use this construct to avoid notice messages in PHP 4.4 and PHP 5 - $dummy = null; - return $dummy; - } - - // Get last child of current box which actually will be drawn - // on the page. So, whitespace and null boxes will be ignored - // - // See description of is_null for null box definition. - // (not only NullBox is treated as null box) - // - // @return reference to the last visible child of current box - function &get_last() { - for ($i=count($this->content)-1; $i>=0; $i--) { - if (!is_whitespace($this->content[$i]) && !$this->content[$i]->is_null()) { - return $this->content[$i]; - }; - }; - - // We use this construct to avoid notice messages in PHP 4.4 and PHP 5 - $dummy = null; - return $dummy; - } - - function offset_if_first(&$box, $dx, $dy) { - if ($this->is_first($box)) { - // The top-level box (page box) should never be offset - if ($this->parent) { - if (!$this->parent->offset_if_first($box, $dx, $dy)) { - $this->offset($dx, $dy); - return true; - }; - }; - }; - return false; - } - - function offset($dx, $dy) { - parent::offset($dx, $dy); - - $this->_current_x += $dx; - $this->_current_y += $dy; - - // Offset contents - $size = count($this->content); - for ($i=0; $i < $size; $i++) { - $this->content[$i]->offset($dx, $dy); - } - } - - function GenericContainerBox() { - $this->GenericFormattedBox(); - - // By default, box does not have any content - $this->content = array(); - - // Initialize line box - $this->_line = array(); - - // Initialize floats-related stuff - $this->_deferred_floats = array(); - - $this->_additional_text_indent = 0; - - // Current-point - $this->_current_x = 0; - $this->_current_y = 0; - - // Initialize floating children array - $this->_floats = array(); - } - - function add_deferred_float(&$float) { - $this->_deferred_floats[] =& $float; - } - - /** - * Create the child nodes of current container object using the parsed HTML data - * - * @param mixed $root node corresponding to the current container object - */ - function create_content(&$root, &$pipeline) { - // Initialize content - $child = $root->first_child(); - while ($child) { - $box_child =& create_pdf_box($child, $pipeline); - $this->add_child($box_child); - $child = $child->next_sibling(); - }; - } - - // Content-handling functions - - function is_container() { - return true; - } - - // Get total height of this box content (including floats, if any) - // Note that floats can be contained inside children, so we'll need to use - // this function recusively - function get_real_full_height() { - $content_size = count($this->content); - - $overflow = $this->getCSSProperty(CSS_OVERFLOW); - - // Treat items with overflow: hidden specifically, - // as floats flown out of this boxes will not be visible - if ($overflow == OVERFLOW_HIDDEN) { - return $this->get_full_height(); - }; - - // Check if this object is totally empty - $first = $this->get_first(); - if (is_null($first)) { - return 0; - }; - - // Initialize the vertical extent taken by content using the - // very first child - $max_top = $first->get_top_margin(); - $min_bottom = $first->get_bottom_margin(); - - for ($i=0; $i<$content_size; $i++) { - if (!$this->content[$i]->is_null()) { - // Check if top margin of current child is to the up - // of vertical extent top margin - $max_top = max($max_top, $this->content[$i]->get_top_margin()); - - /** - * Check if current child bottom margin will extend - * the vertical space OR if it contains floats extending - * this, unless this child have overflow: hidden, because this - * will prevent additional content to be visible - */ - if (!$this->content[$i]->is_container()) { - $min_bottom = min($min_bottom, - $this->content[$i]->get_bottom_margin()); - } else { - $content_overflow = $this->content[$i]->getCSSProperty(CSS_OVERFLOW); - - if ($content_overflow == OVERFLOW_HIDDEN) { - $min_bottom = min($min_bottom, - $this->content[$i]->get_bottom_margin()); - } else { - $min_bottom = min($min_bottom, - $this->content[$i]->get_bottom_margin(), - $this->content[$i]->get_top_margin() - - $this->content[$i]->get_real_full_height()); - }; - }; - }; - } - - return max(0, $max_top - $min_bottom) + $this->_get_vert_extra(); - } - - // LINE-LENGTH RELATED FUNCTIONS - - function _line_length() { - $sum = 0; - $size = count($this->_line); - - for ($i=0; $i < $size; $i++) { - // Note that the line length should include the inline boxes margin/padding - // as inline boxes are not directly included to the parent line box, - // we'll need to check the parent of current line box element, - // and, if it is an inline box, AND this element is last or first contained element - // add correcponsing padding value - $element =& $this->_line[$i]; - - if (isset($element->wrapped) && !is_null($element->wrapped)) { - if ($i==0) { - $sum += $element->get_full_width() - $element->getWrappedWidth(); - } else { - $sum += $element->getWrappedWidthAndHyphen(); - }; - } else { - $sum += $element->get_full_width(); - }; - - if ($element->parent) { - $first = $element->parent->get_first(); - $last = $element->parent->get_last(); - - if (!is_null($first) && $first->uid === $element->uid) { - $sum += $element->parent->get_extra_line_left(); - } - - if (!is_null($last) && $last->uid === $element->uid) { - $sum += $element->parent->get_extra_line_right(); - } - }; - } - - if ($this->_first_line) { - $ti = $this->getCSSProperty(CSS_TEXT_INDENT); - $sum += $ti->calculate($this); - $sum += $this->_additional_text_indent; - }; - - return $sum; - } - - function _line_length_delta(&$context) { - return max($this->get_available_width($context) - $this->_line_length(),0); - } - - /** - * Get the last box in current line box - */ - function &last_in_line() { - $size = count($this->_line); - if ($size < 1) { - $dummy = null; - return $dummy; - }; - - return $this->_line[$size-1]; - } - - // WIDTH - - function get_min_width_natural(&$context) { - $content_size = count($this->content); - - /** - * If box does not have any context, its minimal width is determined by extra horizontal space: - * padding, border width and margins - */ - if ($content_size == 0) { - $min_width = $this->_get_hor_extra(); - return $min_width; - }; - - /** - * If we're in 'nowrap' mode, minimal and maximal width will be equal - */ - $white_space = $this->getCSSProperty(CSS_WHITE_SPACE); - $pseudo_nowrap = $this->getCSSProperty(CSS_HTML2PS_NOWRAP); - if ($white_space == WHITESPACE_NOWRAP || - $pseudo_nowrap == NOWRAP_NOWRAP) { - $min_width = $this->get_min_nowrap_width($context); - return $min_width; - } - - /** - * We need to add text indent size to the width of the first item - */ - $start_index = 0; - while ($start_index < $content_size && - $this->content[$start_index]->out_of_flow()) { - $start_index++; - }; - - if ($start_index < $content_size) { - $ti = $this->getCSSProperty(CSS_TEXT_INDENT); - $minw = - $ti->calculate($this) + - $this->content[$start_index]->get_min_width_natural($context); - } else { - $minw = 0; - }; - - for ($i=$start_index; $i<$content_size; $i++) { - $item =& $this->content[$i]; - if (!$item->out_of_flow()) { - $minw = max($minw, $item->get_min_width($context)); - }; - } - - /** - * Apply width constraint to min width. Return maximal value - */ - $wc = $this->getCSSProperty(CSS_WIDTH); - $containing_block =& $this->_get_containing_block(); - - $min_width = $minw; - return $min_width; - } - - function get_min_width(&$context) { - $strategy = new StrategyWidthMin(); - return $strategy->apply($this, $context); - } - - function get_min_nowrap_width(&$context) { - $strategy = new StrategyWidthMinNowrap(); - return $strategy->apply($this, $context); - } - - // Note: apply($this, $context); - } - - function get_max_width(&$context, $limit=10E6) { - $strategy = new StrategyWidthMax($limit); - return $strategy->apply($this, $context); - } - - function close_line(&$context, $lastline = false) { - // Align line-box using 'text-align' property - $size = count($this->_line); - - if ($size > 0) { - $last_item =& $this->_line[$size-1]; - if (is_whitespace($last_item)) { - $last_item->width = 0; - $last_item->height = 0; - }; - }; - - // Note that text-align should not be applied to the block boxes! - // As block boxes will be alone in the line-box, we can check - // if the very first box in the line is inline; if not - no justification should be made - // - if ($size > 0) { - if (is_inline($this->_line[0])) { - $cb = CSSTextAlign::value2pdf($this->getCSSProperty(CSS_TEXT_ALIGN)); - $cb($this, $context, $lastline); - } else { - // Nevertheless, CENTER tag and P/DIV with ALIGN attribute set should affect the - // position of non-inline children. - $cb = CSSPseudoAlign::value2pdf($this->getCSSProperty(CSS_HTML2PS_ALIGN)); - $cb($this, $context, $lastline); - }; - }; - - // Apply vertical align to all of the line content - // first, we need to aling all baseline-aligned boxes to determine the basic line-box height, top and bottom edges - // then, SUP and SUP positioned boxes (as they can extend the top and bottom edges, but not affected themselves) - // then, MIDDLE, BOTTOM and TOP positioned boxes in the given order - // - $baselined = array(); - $baseline = 0; - $height = 0; - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - - if ($vertical_align == VA_BASELINE) { - // Add current baseline-aligned item to the baseline - // - $baselined[] =& $this->_line[$i]; - - $baseline = max($baseline, - $this->_line[$i]->default_baseline); - }; - }; - - $size_baselined = count($baselined); - for ($i=0; $i < $size_baselined; $i++) { - $baselined[$i]->baseline = $baseline; - - $height = max($height, - $baselined[$i]->get_full_height() + $baselined[$i]->getBaselineOffset(), - $baselined[$i]->get_ascender() + $baselined[$i]->get_descender()); - - }; - - // SUB vertical align - // - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_SUB) { - $this->_line[$i]->baseline = - $baseline + $this->_line[$i]->get_full_height()/2; - }; - } - - // SUPER vertical align - // - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_SUPER) { - $this->_line[$i]->baseline = $this->_line[$i]->get_full_height()/2; - }; - } - - // MIDDLE vertical align - // - $middle = 0; - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_MIDDLE) { - $middle = max($middle, $this->_line[$i]->get_full_height() / 2); - }; - }; - - if ($middle * 2 > $height) { - // Offset already aligned items - // - for ($i=0; $i < $size; $i++) { - $this->_line[$i]->baseline += ($middle - $height/2); - }; - $height = $middle * 2; - }; - - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_MIDDLE) { - $this->_line[$i]->baseline = $this->_line[$i]->default_baseline + ($height/2 - $this->_line[$i]->get_full_height()/2); - }; - } - - // BOTTOM vertical align - // - $bottom = 0; - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_BOTTOM) { - $bottom = max($bottom, $this->_line[$i]->get_full_height()); - }; - }; - - if ($bottom > $height) { - // Offset already aligned items - // - for ($i=0; $i < $size; $i++) { - $this->_line[$i]->baseline += ($bottom - $height); - }; - $height = $bottom; - }; - - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_BOTTOM) { - $this->_line[$i]->baseline = $this->_line[$i]->default_baseline + $height - $this->_line[$i]->get_full_height(); - }; - } - - // TOP vertical align - // - $bottom = 0; - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_TOP) { - $bottom = max($bottom, $this->_line[$i]->get_full_height()); - }; - }; - - if ($bottom > $height) { - $height = $bottom; - }; - - for ($i=0; $i < $size; $i++) { - $vertical_align = $this->_line[$i]->getCSSProperty(CSS_VERTICAL_ALIGN); - if ($vertical_align == VA_TOP) { - $this->_line[$i]->baseline = $this->_line[$i]->default_baseline; - }; - } - - // Calculate the bottom Y coordinate of last line box - // - $line_bottom = $this->_current_y; - foreach ($this->_line AS $line_element) { - // This line is required; say, we have sequence of text and image inside the container, - // AND image have greater baseline than text; in out case, text will be offset to the bottom - // of the page and we lose the gap between text and container bottom edge, unless we'll re-extend - // containier height - - // Note that we're using the colapsed margin value to get the Y coordinate to extend height to, - // as bottom margin may be collapsed with parent - - $effective_bottom = - $line_element->get_top() - - $line_element->get_height(); - - $this->extend_height($effective_bottom); - $line_bottom = min($effective_bottom, $line_bottom); - } - - $this->extend_height($line_bottom); - - // Clear the line box - $this->_line = array(); - - // Reset current X coordinate to the far left - $this->_current_x = $this->get_left(); - - // Extend Y coordinate - $this->_current_y = $line_bottom; - - // Render the deferred floats - for ($i = 0, $size = count($this->_deferred_floats); $i < $size; $i++) { - $this->_deferred_floats[$i]->reflow_static_float($this, $context); - }; - // Clear deferred float list - $this->_deferred_floats = array(); - - // modify the current-x value, so that next inline box will not intersect any floating boxes - $this->_current_x = $context->float_left_x($this->_current_x, $this->_current_y); - - $this->_first_line = false; - } - - function append_line(&$item) { - $this->_line[] =& $item; - } - - // Line box should be treated as empty in following cases: - // 1. It is really empty (so, it contains 0 boxes) - // 2. It contains only whitespace boxes - function line_box_empty() { - $size = count($this->_line); - if ($size == 0) { return true; } - - // Scan line box - for ($i=0; $i<$size; $i++) { - if (!is_whitespace($this->_line[$i]) && - !$this->_line[$i]->is_null()) { return false; }; - } - - // No non-whitespace boxes were found - return true; - } - - function reflow_anchors(&$viewport, &$anchors) { - GenericFormattedBox::reflow_anchors($viewport, $anchors); - - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $this->content[$i]->reflow_anchors($viewport, $anchors); - } - } - - function fitFloats(&$context) { - $float_bottom = $context->float_bottom(); - if (!is_null($float_bottom)) { - $this->extend_height($float_bottom); - }; - - $float_right = $context->float_right(); - if (!is_null($float_right)) { - $this->extend_width($float_right); - }; - } - - function reflow_content(&$context) { - $text_indent = $this->getCSSProperty(CSS_TEXT_INDENT); - - $this->close_line($context); - - $this->_first_line = true; - - // If first child is inline - apply text-indent - $first = $this->get_first(); - if (!is_null($first)) { - if (is_inline($first)) { - $this->_current_x += $text_indent->calculate($this); - $this->_current_x += $this->_additional_text_indent; - }; - }; - - $this->height = 0; - // Reset current Y value - $this->_current_y = $this->get_top(); - - $size = count($this->content); - for ($i=0; $i < $size; $i++) { - $child =& $this->content[$i]; - $child->reflow($this, $context); - }; - - $this->close_line($context, true); - } - - function reflow_inline() { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $this->content[$i]->reflow_inline(); - }; - } - - function reflow_text(&$viewport) { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if (is_null($this->content[$i]->reflow_text($viewport))) { - return null; - }; - } - return true; - } - - /** - * Position/size current box as floating one - */ - function reflow_static_float(&$parent, &$context) { - // Defer the float rendering till the next line box - if (!$parent->line_box_empty()) { - $parent->add_deferred_float($this); - return; - }; - - // Calculate margin values if they have been set as a percentage - $this->_calc_percentage_margins($parent); - $this->_calc_percentage_padding($parent); - - // Calculate width value if it have been set as a percentage - $this->_calc_percentage_width($parent, $context); - - // Calculate margins and/or width is 'auto' values have been specified - $this->_calc_auto_width_margins($parent); - - // Determine the actual width of the floating box - // Note that get_max_width returns both content and extra width - $this->put_full_width($this->get_max_width_natural($context, $this->parent->get_width())); - - // We need to call this function before determining the horizontal coordinate - // as after vertical offset the additional space to the left may apperar - $y = $this->apply_clear($parent->_current_y, $context); - - // determine the position of top-left floating box corner - if ($this->getCSSProperty(CSS_FLOAT) === FLOAT_RIGHT) { - $context->float_right_xy($parent, $this->get_full_width(), $x, $y); - $x -= $this->get_full_width(); - } else { - $context->float_left_xy($parent, $this->get_full_width(), $x, $y); - }; - - // Note that $x and $y contain just a free space corner coordinate; - // If our float has a margin/padding space, we'll need to offset ot a little; - // Remember that float margins are never collapsed! - $this->moveto($x + $this->get_extra_left(), $y - $this->get_extra_top()); - - // Reflow contents. - // Note that floating box creates a new float flow context for it children. - - $context->push_floats(); - - // Floating box create a separate margin collapsing context - $context->push_collapsed_margin(0); - - $this->reflow_content($context); - - $context->pop_collapsed_margin(); - - // Floats and boxes with overflow: hidden - // should completely enclose its child floats - $this->fitFloats($context); - - // restore old float flow context - $context->pop_floats(); - - // Add this box to the list of floats in current context - $context->add_float($this); - - // Now fix the value of _current_x for the parent box; it is required - // in the following case: - // some text - // in such situation floating image is flown immediately, but it the close_line call have been made before, - // so _current_x value of container box will be still equal to ots left content edge; by calling float_left_x again, - // we'll force "some text" to be offset to the right - $parent->_current_x = $context->float_left_x($parent->_current_x, $parent->_current_y); - } - - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - $previous_whitespace = false; - $linebox_started = false; - - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $child =& $this->content[$i]; - - $child->reflow_whitespace($linebox_started, $previous_whitespace); - }; - - // remove the last whitespace in block box - $this->remove_last_whitespace(); - - // Non-inline box have terminated; we may be sure that line box will be closed - // at this moment and new line box after this will be generated - if (!is_inline($this)) { - $linebox_started = false; - }; - - return; - } - - function remove_last_whitespace() { - if (count($this->content) == 0) { - return; - }; - - $i = count($this->content)-1; - $last = $this->content[$i]; - while ($i >= 0 && is_whitespace($this->content[$i])) { - $this->remove($this->content[$i]); - - $i --; - if ($i >= 0) { - $last = $this->content[$i]; - }; - }; - - if ($i >= 0) { - if (is_container($this->content[$i])) { - $this->content[$i]->remove_last_whitespace(); - }; - }; - } - - function remove(&$box) { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if ($this->content[$i]->uid === $box->uid) { - $this->content[$i] = NullBox::create(); - }; - }; - - return; - } - - function is_first(&$box) { - $first =& $this->get_first(); - - // Check if there's no first box at all - // - if (is_null($first)) { return false; }; - - return $first->uid == $box->uid; - } - - function is_null() { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - if (!$this->content[$i]->is_null()) { return false; }; - }; - return true; - } - - // Calculate the available widths - e.g. content width minus space occupied by floats; - // as floats may not fill the whole height of this box, this value depends on Y-coordinate. - // We use current_Y in calculations - // - function get_available_width(&$context) { - $left_float_width = $context->float_left_x($this->get_left(), $this->_current_y) - $this->get_left(); - $right_float_width = $this->get_right() - $context->float_right_x($this->get_right(), $this->_current_y); - return $this->get_width() - $left_float_width - $right_float_width; - } - - function pre_reflow_images() { - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $this->content[$i]->pre_reflow_images(); - }; - } - - function _setupClip(&$driver) { - if (!is_null($this->parent)) { - $this->parent->_setupClip($driver); - }; - - $overflow = $this->getCSSProperty(CSS_OVERFLOW); - if ($overflow !== OVERFLOW_VISIBLE) { - $driver->moveto( $this->get_left_border() , $this->get_top_border()); - $driver->lineto( $this->get_right_border(), $this->get_top_border()); - $driver->lineto( $this->get_right_border(), $this->get_bottom_border()); - $driver->lineto( $this->get_left_border() , $this->get_bottom_border()); - $driver->closepath(); - $driver->clip(); - }; - } - - /** - * DOMish functions - */ - function &get_element_by_id($id) { - if (isset($GLOBALS['__html_box_id_map'])) { - return $GLOBALS['__html_box_id_map'][$id]; - } else { - $dummy = null; - return $dummy; - }; - } - - /* - * this is just a fake at the moment - */ - function get_body() { - return $this; - } - - function getChildNodes() { - return $this->content; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.field.pageno.php b/thirdparty/html2ps_pdf/box.field.pageno.php deleted file mode 100644 index 5896a9a6b..000000000 --- a/thirdparty/html2ps_pdf/box.field.pageno.php +++ /dev/null @@ -1,81 +0,0 @@ -TextBoxString("", "iso-8859-1"); - } - - function from_box(&$box) { - $field = new BoxTextFieldPageNo; - - $field->copy_style($box); - - $field->words = array("000"); - $field->encodings = array("iso-8859-1"); - $field->_left = $box->_left; - $field->_top = $box->_top; - $field->baseline = $box->baseline; - - return $field; - } - - function show(&$viewport) { - $font = $this->getCSSProperty(CSS_FONT); - - $this->words[0] = sprintf("%d", $viewport->current_page); - - $field_width = $this->width; - $field_left = $this->_left; - - if ($font->size->getPoints() > 0) { - $value_width = $viewport->stringwidth($this->words[0], - $this->_get_font_name($viewport,0), - $this->encodings[0], - $font->size->getPoints()); - if (is_null($value_width)) { return null; }; - } else { - $value_width = 0; - }; - $this->width = $value_width; - $this->_left += ($field_width - $value_width) / 2; - - if (is_null(TextBoxString::show($viewport))) { - return null; - }; - - $this->width = $field_width; - $this->_left = $field_left; - - return true; - } - - function show_fixed(&$viewport) { - $font = $this->getCSSProperty(CSS_FONT); - - $this->words[0] = sprintf("%d", $viewport->current_page); - - $field_width = $this->width; - $field_left = $this->_left; - - if ($font->size->getPoints() > 0) { - $value_width = $viewport->stringwidth($this->words[0], - $this->_get_font_name($viewport, 0), - $this->encodings[0], - $font->size->getPoints()); - if (is_null($value_width)) { return null; }; - } else { - $value_width = 0; - }; - $this->width = $value_width; - $this->_left += ($field_width - $value_width) / 2; - - if (is_null(TextBoxString::show_fixed($viewport))) { - return null; - }; - - $this->width = $field_width; - $this->_left = $field_left; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.field.pages.php b/thirdparty/html2ps_pdf/box.field.pages.php deleted file mode 100644 index 17c280a7c..000000000 --- a/thirdparty/html2ps_pdf/box.field.pages.php +++ /dev/null @@ -1,89 +0,0 @@ -TextBoxString("", "iso-8859-1"); - } - - function from_box(&$box) { - $field = new BoxTextFieldPages; - - $field->copy_style($box); - - $field->words = array("000"); - $field->encodings = array("iso-8859-1"); - $field->_left = $box->_left; - $field->_top = $box->_top; - $field->baseline = $box->baseline; - - return $field; - } - - function show(&$viewport) { - $font = $this->getCSSProperty(CSS_FONT); - - $this->words[0] = sprintf("%d", $viewport->expected_pages); - - $field_width = $this->width; - $field_left = $this->_left; - - if ($font->size->getPoints() > 0) { - $value_width = $viewport->stringwidth($this->words[0], - $this->_get_font_name($viewport, 0), - $this->encodings[0], - $font->size->getPoints()); - if (is_null($value_width)) { - return null; - }; - } else { - $value_width = 0; - }; - $this->width = $value_width; - $this->_left += ($field_width - $value_width) / 2; - - if (is_null(TextBoxString::show($viewport))) { - return null; - }; - - $this->width = $field_width; - $this->_left = $field_left; - - return true; - } - - function show_fixed(&$viewport) { - $font = $this->getCSSProperty(CSS_FONT); - - $this->words[0] = sprintf("%d", $viewport->expected_pages); - - $field_width = $this->width; - $field_left = $this->_left; - - if ($font->size->getPoints() > 0) { - $value_width = $viewport->stringwidth($this->words[0], - $this->_get_font_name($viewport, 0), - $this->encodings[0], - $font->size->getPoints()); - if (is_null($value_width)) { - return null; - }; - } else { - $value_width = 0; - }; - $this->width = $value_width; - $this->_left += ($field_width - $value_width) / 2; - - if (is_null(TextBoxString::show_fixed($viewport))) { - return null; - }; - - $this->width = $field_width; - $this->_left = $field_left; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.form.php b/thirdparty/html2ps_pdf/box.form.php deleted file mode 100644 index 5875a909a..000000000 --- a/thirdparty/html2ps_pdf/box.form.php +++ /dev/null @@ -1,40 +0,0 @@ -new_form($this->_name); - }; - return parent::show($driver); - } - - function &create(&$root, &$pipeline) { - if ($root->has_attribute('name')) { - $name = $root->get_attribute('name'); - } elseif ($root->has_attribute('id')) { - $name = $root->get_attribute('id'); - } else { - $name = ""; - }; - - $box = new FormBox($name); - $box->readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - return $box; - } - - function FormBox($name) { - $this->BlockBox(); - - $this->_name = $name; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.frame.php b/thirdparty/html2ps_pdf/box.frame.php deleted file mode 100644 index d671ba628..000000000 --- a/thirdparty/html2ps_pdf/box.frame.php +++ /dev/null @@ -1,304 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - function reflow(&$parent, &$context) { - // If frame contains no boxes (for example, the src link is broken) - // we just return - no further processing will be done - if (count($this->content) == 0) { return; }; - - // First box contained in a frame should always fill all its height - $this->content[0]->put_full_height($this->get_height()); - - $hc = new HCConstraint(array($this->get_height(), false), - array($this->get_height(), false), - array($this->get_height(), false)); - $this->content[0]->put_height_constraint($hc); - - $context->push_collapsed_margin(0); - $context->push_container_uid($this->uid); - - $this->reflow_content($context); - - $context->pop_collapsed_margin(); - $context->pop_container_uid(); - } - - /** - * Reflow absolutely positioned block box. Note that according to CSS 2.1 - * the only types of boxes which could be absolutely positioned are - * 'block' and 'table' - * - * @param FlowContext $context A flow context object containing the additional layout data. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo CSS 2.1: Relationships between 'display', 'position', and 'float' - */ - function reflow_absolute(&$context) { - GenericFormattedBox::reflow($this->parent, $context); - - $position_strategy =& new StrategyPositionAbsolute(); - $position_strategy->apply($this); - - /** - * As sometimes left/right values may not be set, we need to use the "fit" width here. - * If box have a width constraint, 'get_max_width' will return constrained value; - * othersise, an intrictic width will be returned. - * - * Note that get_max_width returns width _including_ external space line margins, borders and padding; - * as we're setting the "internal" - content width, we must subtract "extra" space width from the - * value received - * - * @see GenericContainerBox::get_max_width() - */ - - $this->put_width($this->get_max_width($context) - $this->_get_hor_extra()); - - /** - * Update the width, as it should be calculated based upon containing block width, not real parent. - * After this we should remove width constraints or we may encounter problem - * in future when we'll try to call get_..._width functions for this box - * - * @todo Update the family of get_..._width function so that they would apply constraint - * using the containing block width, not "real" parent width - */ - $wc = $this->getCSSProperty(CSS_WIDTH); - - $containing_block =& $this->_get_containing_block(); - $this->put_width($wc->apply($this->get_width(), - $containing_block['right'] - $containing_block['left'])); - $this->setCSSProperty(CSS_WIDTH, new WCNone()); - - /** - * Layout element's children - */ - $this->reflow_content($context); - - /** - * As absolute-positioned box generated new flow contexy, extend the height to fit all floats - */ - $this->fitFloats($context); - - /** - * If element have been positioned using 'right' or 'bottom' property, - * we need to offset it, as we assumed it had zero width and height at - * the moment we placed it - */ - $right = $this->getCSSProperty(CSS_RIGHT); - $left = $this->getCSSProperty(CSS_LEFT); - if ($left->isAuto() && !$right->isAuto()) { - $this->offset(-$this->get_width(), 0); - }; - - $bottom = $this->getCSSProperty(CSS_BOTTOM); - $top = $this->getCSSProperty(CSS_TOP); - if ($top->isAuto() && !$bottom->isAuto()) { - $this->offset(0, $this->get_height()); - }; - } - - function FrameBox(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - - // Inherit 'border' CSS value from parent (FRAMESET tag), if current FRAME - // has no FRAMEBORDER attribute, and FRAMESET has one - $parent = $root->parent(); - if (!$root->has_attribute('frameborder') && - $parent->has_attribute('frameborder')) { - $parent_border = $css_state->getPropertyOnLevel(CSS_BORDER, CSS_PROPERTY_LEVEL_PARENT); - $css_state->setProperty(CSS_BORDER, $parent_border->copy()); - } - - $this->GenericContainerBox($root); - - // If NO src attribute specified, just return. - if (!$root->has_attribute('src')) { return; }; - - // Determine the fullly qualified URL of the frame content - $src = $root->get_attribute('src'); - $url = $pipeline->guess_url($src); - $data = $pipeline->fetch($url); - - /** - * If framed page could not be fetched return immediately - */ - if (is_null($data)) { return; }; - - /** - * Render only iframes containing HTML only - * - * Note that content-type header may contain additional information after the ';' sign - */ - $content_type = $data->get_additional_data('Content-Type'); - $content_type_array = explode(';', $content_type); - if ($content_type_array[0] != "text/html") { return; }; - - $html = $data->get_content(); - - // Remove control symbols if any - $html = preg_replace('/[\x00-\x07]/', "", $html); - $converter = Converter::create(); - $html = $converter->to_utf8($html, $data->detect_encoding()); - $html = html2xhtml($html); - $tree = TreeBuilder::build($html); - - // Save current stylesheet, as each frame may load its own stylesheets - // - $pipeline->pushCSS(); - $css =& $pipeline->getCurrentCSS(); - $css->scan_styles($tree, $pipeline); - - $frame_root = traverse_dom_tree_pdf($tree); - $box_child =& create_pdf_box($frame_root, $pipeline); - $this->add_child($box_child); - - // Restore old stylesheet - // - $pipeline->popCSS(); - - $pipeline->pop_base_url(); - } - - /** - * Note that if both top and bottom are 'auto', box will use vertical coordinate - * calculated using guess_corder in 'reflow' method which could be used if this - * box had 'position: static' - */ - function _positionAbsoluteVertically($containing_block) { - $bottom = $this->getCSSProperty(CSS_BOTTOM); - $top = $this->getCSSProperty(CSS_TOP); - - if (!$top->isAuto()) { - if ($top->isPercentage()) { - $top_value = ($containing_block['top'] - $containing_block['bottom']) / 100 * $top->getPercentage(); - } else { - $top_value = $top->getPoints(); - }; - $this->put_top($containing_block['top'] - $top_value - $this->get_extra_top()); - } elseif (!$bottom->isAuto()) { - if ($bottom->isPercentage()) { - $bottom_value = ($containing_block['top'] - $containing_block['bottom']) / 100 * $bottom->getPercentage(); - } else { - $bottom_value = $bottom->getPoints(); - }; - $this->put_top($containing_block['bottom'] + $bottom_value + $this->get_extra_bottom()); - }; - } - - /** - * Note that if both 'left' and 'right' are 'auto', box will use - * horizontal coordinate calculated using guess_corder in 'reflow' - * method which could be used if this box had 'position: static' - */ - function _positionAbsoluteHorizontally($containing_block) { - $left = $this->getCSSProperty(CSS_LEFT); - $right = $this->getCSSProperty(CSS_RIGHT); - - if (!$left->isAuto()) { - if ($left->isPercentage()) { - $left_value = ($containing_block['right'] - $containing_block['left']) / 100 * $left->getPercentage(); - } else { - $left_value = $left->getPoints(); - }; - $this->put_left($containing_block['left'] + $left_value + $this->get_extra_left()); - } elseif (!$right->isAuto()) { - if ($right->isPercentage()) { - $right_value = ($containing_block['right'] - $containing_block['left']) / 100 * $right->getPercentage(); - } else { - $right_value = $right->getPoints(); - }; - $this->put_left($containing_block['right'] - $right_value - $this->get_extra_right()); - }; - } -} - -class FramesetBox extends GenericContainerBox { - var $rows; - var $cols; - - function &create(&$root, &$pipeline) { - $box =& new FramesetBox($root, $pipeline); - $box->readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - function FramesetBox(&$root, $pipeline) { - $this->GenericContainerBox($root); - $this->create_content($root, $pipeline); - - // Now determine the frame layout inside the frameset - $this->rows = $root->has_attribute('rows') ? $root->get_attribute('rows') : "100%"; - $this->cols = $root->has_attribute('cols') ? $root->get_attribute('cols') : "100%"; - } - - function reflow(&$parent, &$context) { - $viewport =& $context->get_viewport(); - - // Frameset always fill all available space in viewport - $this->put_left($viewport->get_left() + $this->get_extra_left()); - $this->put_top($viewport->get_top() - $this->get_extra_top()); - - $this->put_full_width($viewport->get_width()); - $this->setCSSProperty(CSS_WIDTH, new WCConstant($viewport->get_width())); - - $this->put_full_height($viewport->get_height()); - $this->put_height_constraint(new WCConstant($viewport->get_height())); - - // Parse layout-control values - $rows = guess_lengths($this->rows, $this->get_height()); - $cols = guess_lengths($this->cols, $this->get_width()); - - // Now reflow all frames in frameset - $cur_col = 0; - $cur_row = 0; - for ($i=0; $i < count($this->content); $i++) { - // Had we run out of cols/rows? - if ($cur_row >= count($rows)) { - // In valid HTML we never should get here, but someone can provide less frame cells - // than frames. Extra frames will not be rendered at all - return; - } - - $frame =& $this->content[$i]; - - /** - * Depending on the source HTML, FramesetBox may contain some non-frame boxes; - * we'll just ignore them - */ - if (!is_a($frame, "FramesetBox") && - !is_a($frame, "FrameBox")) { - continue; - }; - - // Guess frame size and position - $frame->put_left($this->get_left() + array_sum(array_slice($cols, 0, $cur_col)) + $frame->get_extra_left()); - $frame->put_top($this->get_top() - array_sum(array_slice($rows, 0, $cur_row)) - $frame->get_extra_top()); - - $frame->put_full_width($cols[$cur_col]); - $frame->setCSSProperty(CSS_WIDTH, new WCConstant($frame->get_width())); - - $frame->put_full_height($rows[$cur_row]); - $frame->put_height_constraint(new WCConstant($frame->get_height())); - - // Reflow frame contents - $context->push_viewport(FlowViewport::create($frame)); - $frame->reflow($this, $context); - $context->pop_viewport(); - - // Move to the next frame position - // Next columns - $cur_col ++; - if ($cur_col >= count($cols)) { - // Next row - $cur_col = 0; - $cur_row ++; - } - } - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.generic.formatted.php b/thirdparty/html2ps_pdf/box.generic.formatted.php deleted file mode 100644 index 0da232aeb..000000000 --- a/thirdparty/html2ps_pdf/box.generic.formatted.php +++ /dev/null @@ -1,1039 +0,0 @@ -getCSSProperty(CSS_BORDER); - $padding = $current_box->getCSSProperty(CSS_PADDING); - if ($border->top->get_width() > 0 || - $padding->top->value > 0) { - return 0; - }; - - while (!is_null($current_box) && - $current_box->isBlockLevel()) { - $margin = $current_box->getCSSProperty(CSS_MARGIN); - $border = $current_box->getCSSProperty(CSS_BORDER); - $padding = $current_box->getCSSProperty(CSS_PADDING); - - $top_margin = $margin->top->value; - - if ($top_margin >= 0) { - $positive_margin = max($positive_margin, $top_margin); - } else { - $negative_margin = min($negative_margin, $top_margin); - }; - - if ($border->top->get_width() > 0 || - $padding->top->value > 0) { - $current_box = null; - } else { - $current_box = $current_box->get_first(); - }; - }; - - return $positive_margin /*- $negative_margin*/; - } - - function _get_collapsable_top_margin_external() { - $positive_margin = 0; - $negative_margin = 0; - - $current_box = $this; - while (!is_null($current_box) && - $current_box->isBlockLevel()) { - $margin = $current_box->getCSSProperty(CSS_MARGIN); - $border = $current_box->getCSSProperty(CSS_BORDER); - $padding = $current_box->getCSSProperty(CSS_PADDING); - - $top_margin = $margin->top->value; - - if ($top_margin >= 0) { - $positive_margin = max($positive_margin, $top_margin); - } else { - $negative_margin = min($negative_margin, $top_margin); - }; - - if ($border->top->get_width() > 0 || - $padding->top->value > 0) { - $current_box = null; - } else { - $current_box = $current_box->get_first(); - }; - }; - - return $positive_margin + $negative_margin; - } - - function _get_collapsable_bottom_margin_external() { - $positive_margin = 0; - $negative_margin = 0; - - $current_box = $this; - while (!is_null($current_box) && - $current_box->isBlockLevel()) { - $margin = $current_box->getCSSProperty(CSS_MARGIN); - $border = $current_box->getCSSProperty(CSS_BORDER); - $padding = $current_box->getCSSProperty(CSS_PADDING); - - $bottom_margin = $margin->bottom->value; - - if ($bottom_margin >= 0) { - $positive_margin = max($positive_margin, $bottom_margin); - } else { - $negative_margin = min($negative_margin, $bottom_margin); - }; - - if ($border->bottom->get_width() > 0 || - $padding->bottom->value > 0) { - $current_box = null; - } else { - $current_box = $current_box->get_last(); - }; - }; - - return $positive_margin + $negative_margin; - } - - function collapse_margin_bottom(&$parent, &$context) { - /** - * Now, if there's a parent for this box, we extend its height to fit current box. - * If parent generated new flow context (like table cell or floating box), its content - * area should include the current box bottom margin (bottom margin does not colllapse). - * See CSS 2.1 for more detailed explanations. - * - * @see FlowContext::container_uid() - * - * @link http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins CSS 2.1 8.3.1 Calculating widths and margins - */ - $parent_border = $parent->getCSSProperty(CSS_BORDER); - $parent_padding = $parent->getCSSProperty(CSS_PADDING); - - /** - * The bottom margin of an in-flow block-level element with a - * 'height' of 'auto' and 'min-height' less than the element's - * used height and 'max-height' greater than the element's used - * height is adjoining to its last in-flow block-level child's - * bottom margin if the element has NO BOTTOM PADDING OR BORDER. - */ - - $last =& $parent->get_last(); - if (!is_null($last) && - $last->uid == $this->uid && // This element is a last in-flow block level element AND - $parent->uid != $context->container_uid() && // Parent element did not generate new flow context (like table-cell) AND - $parent_border->bottom->get_width() == 0 && // Parent have NO bottom border AND - $parent_padding->bottom->value == 0) { // Parent have NO bottom padding AND - $parent->extend_height($this->get_bottom_border()); - } else { - // Otherwise (in particular, if this box is not last), bottom - // margin of the current box will be contained inside the current box - $parent->extend_height($this->get_bottom_margin()); - } - - $cm = $context->get_collapsed_margin(); - $context->pop_collapsed_margin(); - $context->pop_collapsed_margin(); - - /** - * shift current parent 'watermark' to the current box margin edge; - * all content now will be drawn below this mark (with a small exception - * of elements having negative vertical margins, of course). - */ - if ($parent_border->bottom->get_width() > 0 || - $parent_padding->bottom->value > 0) { - $context->push_collapsed_margin( 0 ); - return $this->get_bottom_border() - $cm; - } else { - $collapsable = $this->_get_collapsable_bottom_margin_external(); - $context->push_collapsed_margin( $collapsable ); - - return $this->get_bottom_border(); - }; - } - - function collapse_margin(&$parent, &$context) { - // Do margin collapsing - - // Margin collapsing is done as follows: - // 1. If previous sibling was an inline element (so, parent line box was not empty), - // then no collapsing will take part - // 2. If NO previous element exists at all, then collapse current box top margin - // with parent's collapsed top margin. - // 2.1. If parent element was float, no collapsing should be - // 3. If there's previous block element, collapse current box top margin - // with previous elemenent's collapsed bottom margin - - // Check if current parent line box contains inline elements only. In this case the only - // margin will be current box margin - - if (!$parent->line_box_empty()) { - // Case (1). Previous element was inline element; no collapsing - - $parent->close_line($context); - - $vmargin = $this->_get_collapsable_top_margin_external(); - } else { - $parent_first = $this->parent->get_first(); - - if (is_null($parent_first) || // Unfortunately, we sometimes get null as a value of $parent_first; this should be checked - $parent_first->uid == $this->uid) { - // Case (2). No previous block element at all; Collapse with parent margins - $collapsable = $this->_get_collapsable_top_margin_external(); - $collapsed = $context->get_collapsed_margin(); - - $vmargin = max(0, $collapsable - $collapsed); - - } else { - // Case (3). There's a previous block element - - $collapsable = $this->_get_collapsable_top_margin_external(); - $collapsed = $context->get_collapsed_margin(); - - // In this case, base position is a bottom border of the previous element - // $vmargin - offset from a base position - should be at least $collapsed - // (value of collapsed bottom margins from the previous element and its - // children). If current element have $collapsable - collapsed top margin - // (from itself and children too) greater that this value, we should - // offset it further to the bottom - - $vmargin = max($collapsable, $collapsed); - }; - }; - - // Determine the base Y coordinate of box margin edge - $y = $parent->_current_y - $vmargin; - - $internal_margin = $this->_get_collapsable_top_margin_internal(); - $context->push_collapsed_margin($internal_margin); - - return $y; - } - - function GenericFormattedBox() { - $this->GenericBox(); - - // Layout data - $this->baseline = 0; - $this->parent = null; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_OVERFLOW, - CSS_PAGE_BREAK_AFTER, - CSS_PAGE_BREAK_BEFORE, - CSS_PAGE_BREAK_INSIDE, - CSS_ORPHANS, - CSS_WIDOWS, - CSS_POSITION, - CSS_TEXT_ALIGN, - CSS_WHITE_SPACE, - CSS_CLEAR, - CSS_CONTENT, - CSS_HTML2PS_PSEUDOELEMENTS, - CSS_FLOAT, - CSS_Z_INDEX, - CSS_HTML2PS_ALIGN, - CSS_HTML2PS_NOWRAP, - CSS_DIRECTION, - CSS_PAGE)); - - $this->_readCSSLengths($state, - array(CSS_BACKGROUND, - CSS_BORDER, - CSS_BOTTOM, - CSS_TOP, - CSS_LEFT, - CSS_RIGHT, - CSS_MARGIN, - CSS_PADDING, - CSS_TEXT_INDENT, - CSS_HTML2PS_COMPOSITE_WIDTH, - CSS_HEIGHT, - CSS_MIN_HEIGHT, - CSS_MAX_HEIGHT, - CSS_LETTER_SPACING - )); - - /** - * CSS 2.1, p 8.5.2: - * - * If an element's border color is not specified with a border - * property, user agents must use the value of the element's - * 'color' property as the computed value for the border color. - */ - $border =& $this->getCSSProperty(CSS_BORDER); - $color =& $this->getCSSProperty(CSS_COLOR); - - if ($border->top->isDefaultColor()) { - $border->top->setColor($color); - }; - - if ($border->right->isDefaultColor()) { - $border->right->setColor($color); - }; - - if ($border->bottom->isDefaultColor()) { - $border->bottom->setColor($color); - }; - - if ($border->left->isDefaultColor()) { - $border->left->setColor($color); - }; - - $this->setCSSProperty(CSS_BORDER, $border); - - $this->_height_constraint =& HCConstraint::create($this); - $this->height = 0; - - // 'width' - $wc =& $this->getCSSProperty(CSS_WIDTH); - $this->width = $wc->apply(0,0); - - // 'PSEUDO-CSS' properties - - // '-localalign' - switch ($state->getProperty(CSS_HTML2PS_LOCALALIGN)) { - case LA_LEFT: - break; - case LA_RIGHT: - $margin =& $this->getCSSProperty(CSS_MARGIN); - $margin->left->auto = true; - $this->setCSSProperty(CSS_MARGIN, $margin); - break; - case LA_CENTER: - $margin =& $this->getCSSProperty(CSS_MARGIN); - $margin->left->auto = true; - $margin->right->auto = true; - $this->setCSSProperty(CSS_MARGIN, $margin); - break; - }; - } - - function _calc_percentage_margins(&$parent) { - $margin = $this->getCSSProperty(CSS_MARGIN); - $containing_block =& $this->_get_containing_block(); - $margin->calcPercentages($containing_block['right'] - $containing_block['left']); - $this->setCSSProperty(CSS_MARGIN, $margin); - } - - function _calc_percentage_padding(&$parent) { - $padding = $this->getCSSProperty(CSS_PADDING); - $containing_block =& $this->_get_containing_block(); - $padding->calcPercentages($containing_block['right'] - $containing_block['left']); - $this->setCSSProperty(CSS_PADDING, $padding); - } - - function apply_clear($y, &$context) { - return LayoutVertical::apply_clear($this, $y, $context); - } - - - /** - * CSS 2.1: - * 10.2 Content width: the 'width' property - * Values have the following meanings: - * Specifies a percentage width. The percentage is calculated with respect to the width of the generated box's containing block. - * - * If the containing block's width depends on this element's width, - * then the resulting layout is undefined in CSS 2.1. - */ - function _calc_percentage_width(&$parent, &$context) { - $wc = $this->getCSSProperty(CSS_WIDTH); - if ($wc->isFraction()) { - $containing_block =& $this->_get_containing_block(); - - // Calculate actual width - $width = $wc->apply($this->width, $containing_block['right'] - $containing_block['left']); - - // Assign calculated width - $this->put_width($width); - - // Remove any width constraint - $this->setCSSProperty(CSS_WIDTH, new WCConstant($width)); - } - } - - function _calc_auto_width_margins(&$parent) { - $float = $this->getCSSProperty(CSS_FLOAT); - - if ($float !== FLOAT_NONE) { - $this->_calc_auto_width_margins_float($parent); - } else { - $this->_calc_auto_width_margins_normal($parent); - } - } - - // 'auto' margin value became 0, 'auto' width is 'shrink-to-fit' - function _calc_auto_width_margins_float(&$parent) { - // If 'width' is set to 'auto' the used value is the "shrink-to-fit" width - // TODO - if (false) { - // Calculation of the shrink-to-fit width is similar to calculating the - // width of a table cell using the automatic table layout - // algorithm. Roughly: calculate the preferred width by formatting the - // content without breaking lines other than where explicit line breaks - // occur, and also calculate the preferred minimum width, e.g., by trying - // all possible line breaks. CSS 2.1 does not define the exact - // algorithm. Thirdly, find the available width: in this case, this is - // the width of the containing block minus minus the used values of - // 'margin-left', 'border-left-width', 'padding-left', 'padding-right', - // 'border-right-width', 'margin-right', and the widths of any relevant - // scroll bars. - - // Then the shrink-to-fit width is: min(max(preferred minimum width, available width), preferred width). - - // Store used value - }; - - // If 'margin-left', or 'margin-right' are computed as 'auto', their used value is '0'. - $margin = $this->getCSSProperty(CSS_MARGIN); - if ($margin->left->auto) { $margin->left->value = 0; } - if ($margin->right->auto) { $margin->right->value = 0; } - $this->setCSSProperty(CSS_MARGIN, $margin); - - $this->width = $this->get_width(); - } - - // 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = width of containing block - function _calc_auto_width_margins_normal(&$parent) { - // get the containing block width - $containing_block =& $this->_get_containing_block(); - $parent_width = $containing_block['right'] - $containing_block['left']; - - // If 'width' is set to 'auto', any other 'auto' values become '0' and 'width' follows from the resulting equality. - - // If both 'margin-left' and 'margin-right' are 'auto', their used values are equal. - // This horizontally centers the element with respect to the edges of the containing block. - - $margin = $this->getCSSProperty(CSS_MARGIN); - if ($margin->left->auto && $margin->right->auto) { - $margin_value = ($parent_width - $this->get_full_width()) / 2; - $margin->left->value = $margin_value; - $margin->right->value = $margin_value; - } else { - // If there is exactly one value specified as 'auto', its used value follows from the equality. - if ($margin->left->auto) { - $margin->left->value = $parent_width - $this->get_full_width(); - } elseif ($margin->right->auto) { - $margin->right->value = $parent_width - $this->get_full_width(); - }; - }; - $this->setCSSProperty(CSS_MARGIN, $margin); - - $this->width = $this->get_width(); - } - - function get_descender() { - return 0; - } - - function get_ascender() { - return 0; - } - - function _get_vert_extra() { - return - $this->get_extra_top() + - $this->get_extra_bottom(); - } - - function _get_hor_extra() { - return - $this->get_extra_left() + - $this->get_extra_right(); - } - - // Width: - // 'get-min-width' stub - function get_min_width(&$context) { - die("OOPS! Unoverridden get_min_width called in class ".get_class($this)." inside ".get_class($this->parent)); - } - - function get_preferred_width(&$context) { - return $this->get_max_width($context); - } - - function get_preferred_minimum_width(&$context) { - return $this->get_min_width($context); - } - - // 'get-max-width' stub - function get_max_width(&$context) { - die("OOPS! Unoverridden get_max_width called in class ".get_class($this)." inside ".get_class($this->parent)); - } - - function get_max_width_natural(&$context) { - return $this->get_max_width($context); - } - - function get_full_width() { - return $this->get_width() + $this->_get_hor_extra(); - } - - function put_full_width($value) { - // Calculate value of additional horizontal space consumed by margins and padding - $this->width = $value - $this->_get_hor_extra(); - } - - function &_get_containing_block() { - $position = $this->getCSSProperty(CSS_POSITION); - - switch ($position) { - case POSITION_ABSOLUTE: - $containing_block =& $this->_get_containing_block_absolute(); - return $containing_block; - case POSITION_FIXED: - $containing_block =& $this->_get_containing_block_fixed(); - return $containing_block; - case POSITION_STATIC: - case POSITION_RELATIVE: - $containing_block =& $this->_get_containing_block_static(); - return $containing_block; - default: - die(sprintf('Unexpected position enum value: %d', $position)); - }; - } - - function &_get_containing_block_fixed() { - $media = $GLOBALS['g_media']; - - $containing_block = array(); - $containing_block['left'] = mm2pt($media->margins['left']); - $containing_block['right'] = mm2pt($media->margins['left'] + $media->real_width()); - $containing_block['top'] = mm2pt($media->margins['bottom'] + $media->real_height()); - $containing_block['bottom'] = mm2pt($media->margins['bottom']); - - return $containing_block; - } - - // Get the position and size of containing block for current - // ABSOLUTE POSITIONED element. It is assumed that this function - // is called for ABSOLUTE positioned boxes ONLY - // - // @return associative array with 'top', 'bottom', 'right' and 'left' - // indices in data space describing the position of containing block - // - function &_get_containing_block_absolute() { - $parent =& $this->parent; - - // No containing block at all... - // How could we get here? - if (is_null($parent)) { - trigger_error("No containing block found for absolute-positioned element", - E_USER_ERROR); - }; - - // CSS 2.1: - // If the element has 'position: absolute', the containing block is established by the - // nearest ancestor with a 'position' of 'absolute', 'relative' or 'fixed', in the following way: - // - In the case that the ancestor is inline-level, the containing block depends on - // the 'direction' property of the ancestor: - // 1. If the 'direction' is 'ltr', the top and left of the containing block are the top and left - // content edges of the first box generated by the ancestor, and the bottom and right are the - // bottom and right content edges of the last box of the ancestor. - // 2. If the 'direction' is 'rtl', the top and right are the top and right edges of the first - // box generated by the ancestor, and the bottom and left are the bottom and left content - // edges of the last box of the ancestor. - // - Otherwise, the containing block is formed by the padding edge of the ancestor. - // TODO: inline-level ancestors - while ((!is_null($parent->parent)) && - ($parent->getCSSProperty(CSS_POSITION) === POSITION_STATIC)) { - $parent =& $parent->parent; - } - - // Note that initial containg block (containig BODY element) will be formed by BODY margin edge, - // unlike other blocks which are formed by padding edges - - if ($parent->parent) { - // Normal containing block - $containing_block = array(); - $containing_block['left'] = $parent->get_left_padding(); - $containing_block['right'] = $parent->get_right_padding(); - $containing_block['top'] = $parent->get_top_padding(); - $containing_block['bottom'] = $parent->get_bottom_padding(); - } else { - // Initial containing block - $containing_block = array(); - $containing_block['left'] = $parent->get_left_margin(); - $containing_block['right'] = $parent->get_right_margin(); - $containing_block['top'] = $parent->get_top_margin(); - $containing_block['bottom'] = $parent->get_bottom_margin(); - }; - - return $containing_block; - } - - function &_get_containing_block_static() { - $parent =& $this->parent; - - // No containing block at all... - // How could we get here? - - if (is_null($parent)) { - die("No containing block found for static-positioned element"); - }; - - while (!is_null($parent->parent) && - !$parent->isBlockLevel() && - !$parent->isCell()) { - $parent =& $parent->parent; - }; - - // Note that initial containg block (containing BODY element) - // will be formed by BODY margin edge, - // unlike other blocks which are formed by content edges - - $containing_block = array(); - $containing_block['left'] = $parent->get_left(); - $containing_block['right'] = $parent->get_right(); - $containing_block['top'] = $parent->get_top(); - $containing_block['bottom'] = $parent->get_bottom(); - - return $containing_block; - } - - // Height constraint - function get_height_constraint() { - return $this->_height_constraint; - } - - function put_height_constraint(&$wc) { - $this->_height_constraint = $wc; - } - - // Extends the box height to cover the given Y coordinate - // If box height is already big enough, no changes will be made - // - // @param $y_coord Y coordinate should be covered by the box - // - function extend_height($y_coord) { - $this->put_height(max($this->get_height(), $this->get_top() - $y_coord)); - } - - function extend_width($x_coord) { - $this->put_width(max($this->get_width(), $x_coord - $this->get_left())); - } - - function get_extra_bottom() { - $border = $this->getCSSProperty(CSS_BORDER); - return - $this->get_margin_bottom() + - $border->bottom->get_width() + - $this->get_padding_bottom(); - } - - function get_extra_left() { - $border = $this->getCSSProperty(CSS_BORDER); - - $left_border = $border->left; - - return - $this->get_margin_left() + - $left_border->get_width() + - $this->get_padding_left(); - } - - function get_extra_right() { - $border = $this->getCSSProperty(CSS_BORDER); - $right_border = $border->right; - return - $this->get_margin_right() + - $right_border->get_width() + - $this->get_padding_right(); - } - - function get_extra_top() { - $border = $this->getCSSProperty(CSS_BORDER); - return - $this->get_margin_top() + - $border->top->get_width() + - $this->get_padding_top(); - } - - function get_extra_line_left() { return 0; } - function get_extra_line_right() { return 0; } - - function get_margin_bottom() { - $margin = $this->getCSSProperty(CSS_MARGIN); - return $margin->bottom->value; - } - - function get_margin_left() { - $margin = $this->getCSSProperty(CSS_MARGIN); - return $margin->left->value; - } - - function get_margin_right() { - $margin = $this->getCSSProperty(CSS_MARGIN); - return $margin->right->value; - } - - function get_margin_top() { - $margin = $this->getCSSProperty(CSS_MARGIN); - return $margin->top->value; - } - - function get_padding_right() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $padding->right->value; - } - - function get_padding_left() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $padding->left->value; - } - - function get_padding_top() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $padding->top->value; - } - - function get_border_top_width() { - return $this->border->top->width; - } - - function get_padding_bottom() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $padding->bottom->value; - } - - function get_left_border() { - $padding = $this->getCSSProperty(CSS_PADDING); - $border = $this->getCSSProperty(CSS_BORDER); - - return - $this->get_left() - - $padding->left->value - - $border->left->get_width(); - } - - function get_right_border() { - $padding = $this->getCSSProperty(CSS_PADDING); - $border = $this->getCSSProperty(CSS_BORDER); - - return - $this->get_left() + - $this->get_width() + - $padding->right->value + - $border->right->get_width(); - } - - function get_top_border() { - $border = $this->getCSSProperty(CSS_BORDER); - - return - $this->get_top_padding() + - $border->top->get_width(); - } - - function get_bottom_border() { - $border = $this->getCSSProperty(CSS_BORDER); - return - $this->get_bottom_padding() - - $border->bottom->get_width(); - } - - function get_left_padding() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $this->get_left() - $padding->left->value; - } - - function get_right_padding() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $this->get_left() + $this->get_width() + $padding->right->value; - } - - function get_top_padding() { - $padding = $this->getCSSProperty(CSS_PADDING); - - return - $this->get_top() + - $padding->top->value; - } - - function get_bottom_padding() { - $padding = $this->getCSSProperty(CSS_PADDING); - return $this->get_bottom() - $padding->bottom->value; - } - - function get_left_margin() { - return - $this->get_left() - - $this->get_extra_left(); - } - - function get_right_margin() { - return - $this->get_right() + - $this->get_extra_right(); - } - - function get_bottom_margin() { - return - $this->get_bottom() - - $this->get_extra_bottom(); - } - - function get_top_margin() { - $margin = $this->getCSSProperty(CSS_MARGIN); - - return - $this->get_top_border() + - $margin->top->value; - } - - // Geometry - function contains_point_margin($x, $y) { - // Actually, we treat a small area around the float as "inside" float; - // it will help us to prevent incorrectly positioning float due the rounding errors - $eps = 0.1; - return - $this->get_left_margin()-$eps <= $x && - $this->get_right_margin()+$eps >= $x && - $this->get_top_margin()+$eps >= $y && - $this->get_bottom_margin() < $y; - } - - function get_width() { - $wc = $this->getCSSProperty(CSS_WIDTH); - - if ($this->parent) { - return $wc->apply($this->width, $this->parent->width); - } else { - return $wc->apply($this->width, $this->width); - } - } - - // Unlike real/constrained width, or min/max width, - // expandable width shows the size current box CAN be expanded; - // it is pretty obvious that width-constrained boxes will never be expanded; - // any other box can be expanded up to its parent _expandable_ width - - // as parent can be expanded too. - // - function get_expandable_width() { - $wc = $this->getCSSProperty(CSS_WIDTH); - if ($wc->isNull() && $this->parent) { - return $this->parent->get_expandable_width(); - } else { - return $this->get_width(); - }; - } - - function put_width($value) { - // TODO: constraints - $this->width = $value; - } - - function get_height() { - if ($this->_height_constraint->applicable($this)) { - return $this->_height_constraint->apply($this->height, $this); - } else { - return $this->height; - }; - } - - function get_height_padded() { - return $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(); - } - - function put_height($value) { - if ($this->_height_constraint->applicable($this)) { - $this->height = $this->_height_constraint->apply($value, $this); - } else { - $this->height = $value; - }; - } - - function put_full_height($value) { - $this->put_height($value - $this->_get_vert_extra()); - } - - // Returns total height of current element: - // top padding + top margin + content + bottom padding + bottom margin + top border + bottom border - function get_full_height() { - return $this->get_height() + - $this->get_extra_top() + - $this->get_extra_bottom(); - } - - function get_real_full_height() { - return $this->get_full_height(); - } - - function out_of_flow() { - $position = $this->getCSSProperty(CSS_POSITION); - $display = $this->getCSSProperty(CSS_DISPLAY); - - return - $position == POSITION_ABSOLUTE || - $position == POSITION_FIXED || - $display == 'none'; - } - - function moveto($x, $y) { $this->offset($x - $this->get_left(), $y - $this->get_top()); } - - function show(&$viewport) { - $border = $this->getCSSProperty(CSS_BORDER); - $background = $this->getCSSProperty(CSS_BACKGROUND); - - // Draw border of the box - $border->show($viewport, $this); - - // Render background of the box - $background->show($viewport, $this); - - parent::show($viewport); - - return true; - } - - function show_fixed(&$viewport) { - return $this->show($viewport); - } - - function is_null() { - return false; - } - - function line_break_allowed() { - $white_space = $this->getCSSProperty(CSS_WHITE_SPACE); - $nowrap = $this->getCSSProperty(CSS_HTML2PS_NOWRAP); - - return - ($white_space === WHITESPACE_NORMAL || - $white_space === WHITESPACE_PRE_WRAP || - $white_space === WHITESPACE_PRE_LINE) && - $nowrap === NOWRAP_NORMAL; - } - - function get_left_background() { return $this->get_left_padding(); } - function get_right_background() { return $this->get_right_padding(); } - function get_top_background() { return $this->get_top_padding(); } - function get_bottom_background() { return $this->get_bottom_padding(); } - - function isVisibleInFlow() { - $visibility = $this->getCSSProperty(CSS_VISIBILITY); - $position = $this->getCSSProperty(CSS_POSITION); - - return - $visibility === VISIBILITY_VISIBLE && - $position !== POSITION_FIXED; - } - - function reflow_footnote(&$parent, &$context) { - $this->reflow_static($parent, $context); - } - - /** - * The 'top' and 'bottom' properties move relatively positioned - * element(s) up or down without changing their size. 'top' moves - * the boxes down, and 'bottom' moves them up. Since boxes are not - * split or stretched as a result of 'top' or 'bottom', the computed - * values are always: top = -bottom. If both are 'auto', their - * computed values are both '0'. If one of them is 'auto', it - * becomes the negative of the other. If neither is 'auto', 'bottom' - * is ignored (i.e., the computed value of 'bottom' will be minus - * the value of 'top'). - */ - function offsetRelative() { - /** - * Note that percentage positioning values are ignored for - * relative positioning - */ - - /** - * Check if 'top' value is percentage - */ - $top = $this->getCSSProperty(CSS_TOP); - if ($top->isNormal()) { - $top_value = $top->getPoints(); - } elseif ($top->isPercentage()) { - $containing_block = $this->_get_containing_block(); - $containing_block_height = $containing_block['top'] - $containing_block['bottom']; - $top_value = $containing_block_height * $top->getPercentage() / 100; - } elseif ($top->isAuto()) { - $top_value = null; - } - - /** - * Check if 'bottom' value is percentage - */ - $bottom = $this->getCSSProperty(CSS_BOTTOM); - if ($bottom->isNormal()) { - $bottom_value = $bottom->getPoints(); - } elseif ($bottom->isPercentage()) { - $containing_block = $this->_get_containing_block(); - $containing_block_height = $containing_block['top'] - $containing_block['bottom']; - $bottom_value = $containing_block_height * $bottom->getPercentage() / 100; - } elseif ($bottom->isAuto()) { - $bottom_value = null; - } - - /** - * Calculate vertical offset for relative positioned box - */ - if (!is_null($top_value)) { - $vertical_offset = -$top_value; - } elseif (!is_null($bottom_value)) { - $vertical_offset = $bottom_value; - } else { - $vertical_offset = 0; - }; - - /** - * Check if 'left' value is percentage - */ - $left = $this->getCSSProperty(CSS_LEFT); - if ($left->isNormal()) { - $left_value = $left->getPoints(); - } elseif ($left->isPercentage()) { - $containing_block = $this->_get_containing_block(); - $containing_block_width = $containing_block['right'] - $containing_block['left']; - $left_value = $containing_block_width * $left->getPercentage() / 100; - } elseif ($left->isAuto()) { - $left_value = null; - } - - /** - * Check if 'right' value is percentage - */ - $right = $this->getCSSProperty(CSS_RIGHT); - if ($right->isNormal()) { - $right_value = $right->getPoints(); - } elseif ($right->isPercentage()) { - $containing_block = $this->_get_containing_block(); - $containing_block_width = $containing_block['right'] - $containing_block['left']; - $right_value = $containing_block_width * $right->getPercentage() / 100; - } elseif ($right->isAuto()) { - $right_value = null; - } - - /** - * Calculate vertical offset for relative positioned box - */ - if (!is_null($left_value)) { - $horizontal_offset = $left_value; - } elseif (!is_null($right_value)) { - $horizontal_offset = -$right_value; - } else { - $horizontal_offset = 0; - }; - - $this->offset($horizontal_offset, - $vertical_offset); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.generic.inline.php b/thirdparty/html2ps_pdf/box.generic.inline.php deleted file mode 100644 index 2d1924246..000000000 --- a/thirdparty/html2ps_pdf/box.generic.inline.php +++ /dev/null @@ -1,112 +0,0 @@ -GenericContainerBox(); - } - - // @todo this code is duplicated in box.block.php - // - function reflow(&$parent, &$context) { - switch ($this->getCSSProperty(CSS_POSITION)) { - case POSITION_STATIC: - return $this->reflow_static($parent, $context); - - case POSITION_RELATIVE: - /** - * CSS 2.1: - * Once a box has been laid out according to the normal flow or floated, it may be shifted relative - * to this position. This is called relative positioning. Offsetting a box (B1) in this way has no - * effect on the box (B2) that follows: B2 is given a position as if B1 were not offset and B2 is - * not re-positioned after B1's offset is applied. This implies that relative positioning may cause boxes - * to overlap. However, if relative positioning causes an 'overflow:auto' box to have overflow, the UA must - * allow the user to access this content, which, through the creation of scrollbars, may affect layout. - * - * @link http://www.w3.org/TR/CSS21/visuren.html#x28 CSS 2.1 Relative positioning - */ - - $this->reflow_static($parent, $context); - $this->offsetRelative(); - return; - } - } - - // Checks if current inline box should cause a line break inside the parent box - // - // @param $parent reference to a parent box - // @param $content flow context - // @return true if line break occurred; false otherwise - // - function maybe_line_break(&$parent, &$context) { - if (!$parent->line_break_allowed()) { - return false; - }; - - // Calculate the x-coordinate of this box right edge - $right_x = $this->get_full_width() + $parent->_current_x; - - $need_break = false; - - // Check for right-floating boxes - // If upper-right corner of this inline box is inside of some float, wrap the line - if ($context->point_in_floats($right_x, $parent->_current_y)) { - $need_break = true; - }; - - // No floats; check if we had run out the right edge of container - // TODO: nobr-before, nobr-after - - if (($right_x > $parent->get_right() + EPSILON)) { - // Now check if parent line box contains any other boxes; - // if not, we should draw this box unless we have a floating box to the left - - $first = $parent->get_first(); - - // FIXME: what's this? This condition is invariant! - $text_indent = $parent->getCSSProperty(CSS_TEXT_INDENT); - $indent_offset = ($first->uid == $this->uid || 1) ? $text_indent->calculate($parent) : 0; - - if ($parent->_current_x > $parent->get_left() + $indent_offset + EPSILON) { - $need_break = true; - }; - } - - // As close-line will not change the current-Y parent coordinate if no - // items were in the line box, we need to offset this explicitly in this case - // - if ($parent->line_box_empty() && $need_break) { - $parent->_current_y -= $this->get_height(); - }; - - if ($need_break) { - $parent->close_line($context); - - // Check if parent inline boxes have left padding/margins and add them to current_x - $element = $this->parent; - while (!is_null($element) && is_a($element,"GenericInlineBox")) { - $parent->_current_x += $element->get_extra_left(); - $element = $element->parent; - }; - }; - - return $need_break; - } - - function get_ascender() { - $first =& $this->get_first(); - if (is_null($first)) { return 0; }; - return $first->get_ascender(); - } - - function get_baseline() { - $first =& $this->get_first(); - if (is_null($first)) { return 0; }; - return $first->get_baseline(); - } - - function get_descender() { - $first =& $this->get_first(); - if (is_null($first)) { return 0; }; - return $first->get_descender(); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.generic.php b/thirdparty/html2ps_pdf/box.generic.php deleted file mode 100644 index ff746d218..000000000 --- a/thirdparty/html2ps_pdf/box.generic.php +++ /dev/null @@ -1,454 +0,0 @@ -_cache = array(); - $this->_css = array(); - $this->_cached_base_font_size = null; - - $this->_left = 0; - $this->_top = 0; - - $this->_parent = null; - - $this->baseline = 0; - $this->default_baseline = 0; - - /** - * Assign an unique box identifier - */ - $GLOBALS['g_box_uid']++; - $this->uid = $GLOBALS['g_box_uid']; - } - - function destroy() { - unset($this->_cache); - unset($this->_css); - unset($this->_left); - unset($this->_top); - unset($this->_parent); - unset($this->baseline); - unset($this->default_baseline); - } - - /** - * see getProperty for optimization description - */ - function setCSSProperty($code, $value) { - static $cache = array(); - if (!isset($cache[$code])) { - $cache[$code] =& CSS::get_handler($code); - }; - - $cache[$code]->replace_array($value, $this->_css); - } - - /** - * Optimization: this function is called very often, - * so even a slight overhead for CSS::get_handler call - * accumulates in a significiant processing delay. - */ - function &getCSSProperty($code) { - static $cache = array(); - if (!isset($cache[$code])) { - $cache[$code] =& CSS::get_handler($code); - }; - - $value =& $cache[$code]->get($this->_css); - return $value; - } - - function show_postponed(&$driver) { - $this->show($driver); - } - - function copy_style(&$box) { - // TODO: object references - $this->_css = $box->_css; - } - - /** - * Optimization: _readCSSLength is usually called several times - * while initializing box object. $base_font_size cound be calculated - * only once and stored in a static variable. - */ - function _readCSSLengths($state, $property_list) { - if (is_null($this->_cached_base_font_size)) { - $font =& $this->getCSSProperty(CSS_FONT); - $this->_cached_base_font_size = $font->size->getPoints(); - }; - - foreach ($property_list as $property) { - $value =& $state->getProperty($property); - - if ($value === CSS_PROPERTY_INHERIT) { - $value =& $state->getInheritedProperty($property); - }; - - if (is_object($value)) { - $value =& $value->copy(); - $value->doInherit($state); - $value->units2pt($this->_cached_base_font_size); - }; - - $this->setCSSProperty($property, $value); - } - } - - function _readCSS($state, $property_list) { - foreach ($property_list as $property) { - $value = $state->getProperty($property); - - // Note that order is important; composite object-value could be inherited and - // object itself could contain subvalues with 'inherit' value - - if ($value === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty($property); - }; - - if (is_object($value)) { - $value = $value->copy(); - $value->doInherit($state); - }; - - $this->setCSSProperty($property, $value); - } - } - - function readCSS(&$state) { - /** - * Determine font size to be used in this box (required for em/ex units) - */ - $value = $state->getProperty(CSS_FONT); - if ($value === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_FONT); - }; - $base_font_size = $state->getBaseFontSize(); - - if (is_object($value)) { - $value = $value->copy(); - $value->doInherit($state); - $value->units2pt($base_font_size); - }; - - $this->setCSSProperty(CSS_FONT, $value); - - /** - * Continue working with other properties - */ - - $this->_readCSS($state, - array(CSS_COLOR, - CSS_DISPLAY, - CSS_VISIBILITY)); - - $this->_readCSSLengths($state, - array(CSS_VERTICAL_ALIGN)); - - // '-html2ps-link-destination' - global $g_config; - if ($g_config["renderlinks"]) { - $this->_readCSS($state, - array(CSS_HTML2PS_LINK_DESTINATION)); - }; - - // Save ID attribute value - $id = $state->getProperty(CSS_HTML2PS_LINK_DESTINATION); - if (!empty($id)) { - if (!isset($GLOBALS['__html_box_id_map'][$id])) { - $GLOBALS['__html_box_id_map'][$id] =& $this; - }; - }; - } - - function show(&$driver) { - // If debugging mode is on, draw the box outline - global $g_config; - if ($g_config['debugbox']) { - // Copy the border object of current box - $driver->setlinewidth(0.1); - $driver->setrgbcolor(0,0,0); - $driver->rect($this->get_left(), $this->get_top(), $this->get_width(), -$this->get_height()); - $driver->stroke(); - } - - // Set current text color - // Note that text color is used not only for text drawing (for example, list item markers - // are drawn with text color) - $color = $this->getCSSProperty(CSS_COLOR); - $color->apply($driver); - } - - /** - * Render box having position: fixed or contained in such box - * (Default behaviour) - */ - function show_fixed(&$driver) { - return $this->show($driver); - } - - function pre_reflow_images() {} - - function offset($dx, $dy) { - $this->_left += $dx; - $this->_top += $dy; - } - - // Calculate the content upper-left corner position in curent flow - function guess_corner(&$parent) { - $this->put_left($parent->_current_x + $this->get_extra_left()); - $this->put_top($parent->_current_y - $this->get_extra_top()); - } - - function put_left($value) { - $this->_left = $value; - } - - function put_top($value) { - $this->_top = $value + $this->getBaselineOffset(); - } - - /** - * Get Y coordinate of the top content area edge - */ - function get_top() { - return - $this->_top - - $this->getBaselineOffset(); - } - - function get_right() { - return $this->get_left() + $this->get_width(); - } - - function get_left() { - return $this->_left; - } - - function get_bottom() { - return $this->get_top() - $this->get_height(); - } - - function getBaselineOffset() { - return $this->baseline - $this->default_baseline; - } - - function reflow_anchors(&$driver, &$anchors) { - if ($this->is_null()) { - return; - }; - - $link_destination = $this->getCSSProperty(CSS_HTML2PS_LINK_DESTINATION); - - if ($link_destination !== "") { - - /** - * Y=0 designates the bottom edge of the first page (without margins) - * Y axis is oriented to the bottom. - * - * Here we calculate the offset from the bottom edge of first page PRINTABLE AREA - * to the bottom edge of the current box - */ - $y2 = $this->get_bottom() - mm2pt($driver->media->margins['bottom']); - - /** - * Now let's calculate the number of the page corresponding to this offset. - * Note that $y2>0 for the first page and $y2<0 on all subsequent pages - */ - $page_fraction = $y2 / mm2pt($driver->media->real_height()); - - /** - * After the last operation we've got the "page fraction" between - * bottom of the first page and box bottom edge; - * - * it will be equal to: - * 1 for the top of the first page, - * 0 for the bottom of the first page - * -Epsilon for the top of the first page - * -1 for the bottom of the second page - * -n+1 for the bottom of the N-th page. - */ - $page_fraction2 = -$page_fraction+1; - - /** - * Here: - * 0 for the top of the first page, - * 1 for the bottom of the first page - * 1+Epsilon for the top of the first page - * 2 for the bottom of the second page - * n for the bottom of the N-th page. - * - * Keeping in mind said above, we may calculate the real page number, - * rounding it UP after calculation. The reason of rounding UP is simple: - * pages are numbered starting at 1. - */ - $page = ceil($page_fraction2); - - /** - * Now let's calculate the coordinates on this particular page - * - * X coordinate calculation is pretty straight forward (and, actually, unused, as it would be - * a bad idea to scroll PDF horiaontally). - */ - $x = $this->get_left(); - - /** - * Y coordinate should be calculated relatively to the bottom page edge - */ - $y = mm2pt($driver->media->real_height()) * ($page - $page_fraction2) + mm2pt($driver->media->margins['bottom']); - - $anchors[$link_destination] = new Anchor($link_destination, - $page, - $x, - $y); - }; - } - - function reflow(&$parent, &$context) {} - - function reflow_inline() { } - - function out_of_flow() { - return false; - } - - function get_bottom_margin() { return $this->get_bottom(); } - - function get_top_margin() { - return $this->get_top(); - } - - function get_full_height() { return $this->get_height(); } - function get_width() { return $this->width; } - - function get_full_width() { - return $this->width; - } - - function get_height() { - return $this->height; - } - - function get_baseline() { - return $this->baseline; - } - - function is_container() { return false; } - - function isVisibleInFlow() { return true; } - - function reflow_text() { return true; } - - /** - * Note that linebox is started by any non-whitespace inline element; all whitespace elements before - * that moment should be ignored. - * - * @param boolean $linebox_started Flag indicating that a new line box have just started and it already contains - * some inline elements - * @param boolean $previous_whitespace Flag indicating that a previous inline element was an whitespace element. - */ - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - return; - } - - function is_null() { - return false; - } - - function isCell() { - return false; - } - - function isTableRow() { - return false; - } - - function isTableSection() { - return false; - } - - // CSS 2.1: - // 9.2.1 Block-level elements and block boxes - // Block-level elements are those elements of the source document that are formatted visually as blocks - // (e.g., paragraphs). Several values of the 'display' property make an element block-level: - // 'block', 'list-item', 'compact' and 'run-in' (part of the time; see compact and run-in boxes), and 'table'. - // - function isBlockLevel() { - return false; - } - - function hasAbsolutePositionedParent() { - if (is_null($this->parent)) { - return false; - }; - - return - $this->parent->getCSSProperty(CSS_POSITION) == POSITION_ABSOLUTE || - $this->parent->hasAbsolutePositionedParent(); - } - - function hasFixedPositionedParent() { - if (is_null($this->parent)) { - return false; - }; - - return - $this->parent->getCSSProperty(CSS_POSITION) == POSITION_FIXED || - $this->parent->hasFixedPositionedParent(); - } - - /** - * Box can be expanded if it has no width constrains and - * all it parents has no width constraints - */ - function mayBeExpanded() { - $wc = $this->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { return false; }; - - if ($this->getCSSProperty(CSS_FLOAT) <> FLOAT_NONE) { - return true; - }; - - if ($this->getCSSProperty(CSS_POSITION) <> POSITION_STATIC && - $this->getCSSProperty(CSS_POSITION) <> POSITION_RELATIVE) { - return true; - }; - - if (is_null($this->parent)) { - return true; - }; - - return $this->parent->mayBeExpanded(); - } - - function isLineBreak() { - return false; - } - - function get_min_width_natural($context) { - return $this->get_min_width($context); - } - - function is_note_call() { - return isset($this->note_call); - } - - /* DOM compatibility */ - function &get_parent_node() { - return $this->parent; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.iframe.php b/thirdparty/html2ps_pdf/box.iframe.php deleted file mode 100644 index 9664693c7..000000000 --- a/thirdparty/html2ps_pdf/box.iframe.php +++ /dev/null @@ -1,76 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - // Note that IFRAME width is NOT determined by its content, thus we need to override 'get_min_width' and - // 'get_max_width'; they should return the constrained frame width. - function get_min_width(&$context) { - return $this->get_max_width($context); - } - - function get_max_width(&$context) { - return $this->get_width(); - } - - function IFrameBox(&$root, $pipeline) { - $this->InlineBlockBox(); - - // If NO src attribute specified, just return. - if (!$root->has_attribute('src') || - trim($root->get_attribute('src')) == '') { - return; - }; - - // Determine the fullly qualified URL of the frame content - $src = $root->get_attribute('src'); - $url = $pipeline->guess_url($src); - $data = $pipeline->fetch($url); - - /** - * If framed page could not be fetched return immediately - */ - if (is_null($data)) { return; }; - - /** - * Render only iframes containing HTML only - * - * Note that content-type header may contain additional information after the ';' sign - */ - $content_type = $data->get_additional_data('Content-Type'); - $content_type_array = explode(';', $content_type); - if ($content_type_array[0] != "text/html") { return; }; - - $html = $data->get_content(); - - // Remove control symbols if any - $html = preg_replace('/[\x00-\x07]/', "", $html); - $converter = Converter::create(); - $html = $converter->to_utf8($html, $data->detect_encoding()); - $html = html2xhtml($html); - $tree = TreeBuilder::build($html); - - // Save current stylesheet, as each frame may load its own stylesheets - // - $pipeline->pushCSS(); - $css =& $pipeline->getCurrentCSS(); - $css->scan_styles($tree, $pipeline); - - $frame_root = traverse_dom_tree_pdf($tree); - $box_child =& create_pdf_box($frame_root, $pipeline); - $this->add_child($box_child); - - // Restore old stylesheet - // - $pipeline->popCSS(); - - $pipeline->pop_base_url(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.img.php b/thirdparty/html2ps_pdf/box.img.php deleted file mode 100644 index 2c43bd9a9..000000000 --- a/thirdparty/html2ps_pdf/box.img.php +++ /dev/null @@ -1,347 +0,0 @@ -GenericInlineBox(); - } - - function get_max_width_natural(&$context) { - return $this->get_full_width($context); - } - - function get_min_width(&$context) { - return $this->get_full_width(); - } - - function get_max_width(&$context) { - return $this->get_full_width(); - } - - function is_null() { - return false; - } - - function pre_reflow_images() { - switch ($this->scale) { - case SCALE_WIDTH: - // Only 'width' attribute given - $size = - $this->src_width/$this->src_height* - $this->get_width(); - - $this->put_height($size); - - // Update baseline according to constrained image height - $this->default_baseline = $this->get_full_height(); - break; - case SCALE_HEIGHT: - // Only 'height' attribute given - $size = - $this->src_height/$this->src_width* - $this->get_height(); - - $this->put_width($size); - $this->setCSSProperty(CSS_WIDTH, new WCConstant($size)); - - $this->default_baseline = $this->get_full_height(); - break; - }; - } - - function readCSS(&$state) { - parent::readCSS($state); - - // '-html2ps-link-target' - global $g_config; - if ($g_config["renderlinks"]) { - $this->_readCSS($state, - array(CSS_HTML2PS_LINK_TARGET)); - }; - } - - function reflow_static(&$parent, &$context) { - $this->pre_reflow_images(); - - GenericFormattedBox::reflow($parent, $context); - - // Check if we need a line break here - $this->maybe_line_break($parent, $context); - - // set default baseline - $this->baseline = $this->default_baseline; - - // append to parent line box - $parent->append_line($this); - - // Move box to the parent current point - $this->guess_corner($parent); - - // Move parent's X coordinate - $parent->_current_x += $this->get_full_width(); - - // Extend parent height - $parent->extend_height($this->get_bottom_margin()); - } - - function _get_font_name(&$driver, $subword_index) { - if (isset($this->_cache[CACHE_TYPEFACE][$subword_index])) { - return $this->_cache[CACHE_TYPEFACE][$subword_index]; - }; - - $font_resolver =& $driver->get_font_resolver(); - - $font = $this->getCSSProperty(CSS_FONT); - $typeface = $font_resolver->getTypefaceName($font->family, - $font->weight, - $font->style, - 'iso-8859-1'); - - $this->_cache[CACHE_TYPEFACE][$subword_index] = $typeface; - - return $typeface; - } - - function reflow_text(&$driver) { - // In XHTML images are treated as a common inline elements; they are affected by line-height and font-size - global $g_config; - if ($g_config['mode'] == 'xhtml') { - /** - * A simple assumption is made: fonts used for different encodings - * have equal ascender/descender values (while they have the same - * typeface, style and weight). - */ - $font_name = $this->_get_font_name($driver, 0); - - /** - * Get font vertical metrics - */ - $ascender = $driver->font_ascender($font_name, 'iso-8859-1'); - if (is_null($ascender)) { - error_log("ImgBox::reflow_text: cannot get font ascender"); - return null; - }; - - $descender = $driver->font_descender($font_name, 'iso-8859-1'); - if (is_null($descender)) { - error_log("ImgBox::reflow_text: cannot get font descender"); - return null; - }; - - /** - * Setup box size - */ - $font = $this->getCSSProperty(CSS_FONT_SIZE); - $font_size = $font->getPoints(); - - $this->ascender = $ascender * $font_size; - $this->descender = $descender * $font_size; - } else { - $this->ascender = $this->get_height(); - $this->descender = 0; - }; - - return true; - } - - // Image boxes are regular inline boxes; whitespaces after images should be rendered - // - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - $linebox_started = true; - $previous_whitespace = false; - return; - } - - function show_fixed(&$driver) { - return $this->show($driver); - } -} - -class BrokenImgBox extends GenericImgBox { - var $alt; - - function BrokenImgBox($width, $height, $alt) { - $this->scale = SCALE_NONE; - $this->encoding = DEFAULT_ENCODING; - - // Call parent constructor - $this->GenericImgBox(); - - $this->alt = $alt; - } - - function show(&$driver) { - $driver->save(); - - // draw generic box - GenericFormattedBox::show($driver); - - $driver->setlinewidth(0.1); - $driver->moveto($this->get_left(), $this->get_top()); - $driver->lineto($this->get_right(), $this->get_top()); - $driver->lineto($this->get_right(), $this->get_bottom()); - $driver->lineto($this->get_left(), $this->get_bottom()); - $driver->closepath(); - $driver->stroke(); - - $driver->moveto($this->get_left(), $this->get_top()); - $driver->lineto($this->get_right(), $this->get_top()); - $driver->lineto($this->get_right(), $this->get_bottom()); - $driver->lineto($this->get_left(), $this->get_bottom()); - $driver->closepath(); - $driver->clip(); - - // Output text with the selected font - $size = pt2pt(BROKEN_IMAGE_ALT_SIZE_PT); - - $status = $driver->setfont("Times-Roman", "iso-8859-1", $size); - if (is_null($status)) { - return null; - }; - - $driver->show_xy($this->alt, - $this->get_left() + $this->width/2 - $driver->stringwidth($this->alt, - "Times-Roman", - "iso-8859-1", - $size)/2, - $this->get_top() - $this->height/2 - $size/2); - - $driver->restore(); - - $strategy =& new StrategyLinkRenderingNormal(); - $strategy->apply($this, $driver); - - return true; - } -} - -class ImgBox extends GenericImgBox { - function &create(&$root, &$pipeline) { - // Open image referenced by HTML tag - // Some crazy HTML writers add leading and trailing spaces to SRC attribute value - we need to remove them - // - $url_autofix = new AutofixUrl(); - $src = $url_autofix->apply(trim($root->get_attribute("src"))); - - $image_url = $pipeline->guess_url($src); - $src_img = Image::get($image_url, $pipeline); - - if (is_null($src_img)) { - // image could not be opened, use ALT attribute - - if ($root->has_attribute('width')) { - $width = px2pt($root->get_attribute('width')); - } else { - $width = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX); - }; - - if ($root->has_attribute('height')) { - $height = px2pt($root->get_attribute('height')); - } else { - $height = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX); - }; - - $alt = $root->get_attribute('alt'); - - $box =& new BrokenImgBox($width, $height, $alt); - - $box->readCSS($pipeline->getCurrentCSSState()); - - $box->put_width($width); - $box->put_height($height); - - $box->default_baseline = $box->get_full_height(); - - $box->src_height = $box->get_height(); - $box->src_width = $box->get_width(); - - return $box; - } else { - $box =& new ImgBox($src_img); - - $box->readCSS($pipeline->getCurrentCSSState()); - - $box->_setupSize(); - - return $box; - } - } - - function _setupSize() { - $this->put_width(px2pt(imagesx($this->image))); - $this->put_height(px2pt(imagesy($this->image))); - $this->default_baseline = $this->get_full_height(); - - $this->src_height = imagesx($this->image); - $this->src_width = imagesy($this->image); - - $wc = $this->getCSSProperty(CSS_WIDTH); - $hc = $this->get_height_constraint(); - - // Proportional scaling - if ($hc->is_null() && !$wc->isNull()) { - $this->scale = SCALE_WIDTH; - - // Only 'width' attribute given - $size = - $this->src_width/$this->src_height* - $this->get_width(); - - $this->put_height($size); - - // Update baseline according to constrained image height - $this->default_baseline = $this->get_full_height(); - - } elseif (!$hc->is_null() && $wc->isNull()) { - $this->scale = SCALE_HEIGHT; - - // Only 'height' attribute given - $size = - $this->src_height/$this->src_width* - $this->get_height(); - - $this->put_width($size); - $this->setCSSProperty(CSS_WIDTH, new WCConstant($size)); - - $this->default_baseline = $this->get_full_height(); - }; - } - - function ImgBox($img) { - $this->encoding = DEFAULT_ENCODING; - $this->scale = SCALE_NONE; - - // Call parent constructor - $this->GenericImgBox(); - - // Store image for further processing - $this->image = $img; - } - - function show(&$driver) { - // draw generic box - GenericFormattedBox::show($driver); - - // Check if "designer" set the height or width of this image to zero; in this there will be no reason - // in drawing the image at all - // - if ($this->get_width() < EPSILON || - $this->get_height() < EPSILON) { - return true; - }; - - $driver->image_scaled($this->image, - $this->get_left(), $this->get_bottom(), - $this->get_width() / imagesx($this->image), $this->get_height() / imagesy($this->image)); - - $strategy =& new StrategyLinkRenderingNormal(); - $strategy->apply($this, $driver); - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.inline.control.php b/thirdparty/html2ps_pdf/box.inline.control.php deleted file mode 100644 index 63c033a05..000000000 --- a/thirdparty/html2ps_pdf/box.inline.control.php +++ /dev/null @@ -1,69 +0,0 @@ -get_max_width($context, $limit); - } - - function get_max_width(&$context, $limit = 10E6) { - return - GenericContainerBox::get_max_width($context, $limit) - - $this->_get_hor_extra(); - } - - function show(&$viewport) { - // Now set the baseline of a button box to align it vertically when flowing isude the - // text line - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - return GenericContainerBox::show($viewport); - } - - function line_break_allowed() { return false; } - - function reflow_static(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - // Determine the box width - $this->_calc_percentage_width($parent, $context); - - $this->put_full_width($this->get_min_width($context, $parent->get_width())); - $this->setCSSProperty(CSS_WIDTH, new WCNone()); - - // Check if we need a line break here - $this->maybe_line_break($parent, $context); - - // append to parent line box - $parent->append_line($this); - - // Determine coordinates of upper-left _margin_ corner - $this->guess_corner($parent); - - $this->reflow_content($context); - - /** - * After text content have been reflown, we may determine the baseline of the control item itself; - * - * As there will be some extra whitespace on the top of the control box, we must add this whitespace - * to the calculated baseline value, so text before and after control item will be aligned - * with the text inside the box. - */ - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - // center the button text vertically inside the button - $text =& $this->content[0]; - $delta = ($text->get_top() - $text->get_height()/2) - ($this->get_top() - $this->get_height()/2); - $text->offset(0,-$delta); - - // Offset parent current X coordinate - $parent->_current_x += $this->get_full_width(); - - // Extends parents height - $parent->extend_height($this->get_bottom_margin()); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.inline.php b/thirdparty/html2ps_pdf/box.inline.php deleted file mode 100644 index c9eeebcbc..000000000 --- a/thirdparty/html2ps_pdf/box.inline.php +++ /dev/null @@ -1,498 +0,0 @@ -top = $this->top; - $box->right = $this->right; - $box->bottom = $this->bottom; - $box->left = $this->left; - return $box; - } - - function offset($dx, $dy) { - $this->top += $dy; - $this->bottom += $dy; - $this->left += $dx; - $this->right += $dx; - } - - function create(&$box) { - $lbox = new LineBox; - $lbox->top = $box->get_top(); - $lbox->right = $box->get_right(); - $lbox->bottom = $box->get_bottom(); - $lbox->left = $box->get_left(); - - // $lbox->bottom = $box->get_top() - $box->get_baseline() - $box->get_descender(); - // $lbox->top = $box->get_top() - $box->get_baseline() + $box->get_ascender(); - return $lbox; - } - - function extend(&$box) { - $base = $box->get_top() - $box->get_baseline(); - - $this->top = max($this->top, $base + $box->get_ascender()); - $this->right = max($this->right, $box->get_right()); - $this->bottom = min($this->bottom, $base - $box->get_descender()); - - // Left edge of the line box should never be modified - } - - function fake_box(&$box) { - // Create the fake box object - - $fake_state = new CSSState(CSS::get()); - $fake_state->pushState(); - - $fake = null; - $fake_box = new BlockBox($fake); - $fake_box->readCSS($fake_state); - - // Setup fake box size - $fake_box->put_left($this->left); - $fake_box->put_width($this->right - $this->left); - $fake_box->put_top($this->top - $box->baseline); - $fake_box->put_height($this->top - $this->bottom); - - // Setup padding value - $fake_box->setCSSProperty(CSS_PADDING, $box->getCSSProperty(CSS_PADDING)); - - // Setup fake box border and background - $fake_box->setCSSProperty(CSS_BACKGROUND, $box->getCSSProperty(CSS_BACKGROUND)); - $fake_box->setCSSProperty(CSS_BORDER, $box->getCSSProperty(CSS_BORDER)); - - return $fake_box; - } -} - -class InlineBox extends GenericInlineBox { - var $_lines; - - function InlineBox() { - // Call parent's constructor - $this->GenericInlineBox(); - - // Clear the list of line boxes inside this box - $this->_lines = array(); - } - - function &create(&$root, &$pipeline) { - // Create contents of this inline box - if ($root->node_type() == XML_TEXT_NODE) { - $css_state =& $pipeline->getCurrentCSSState(); - return InlineBox::create_from_text($root->content, - $css_state->getProperty(CSS_WHITE_SPACE), - $pipeline); - - } else { - $box =& new InlineBox(); - - $css_state =& $pipeline->getCurrentCSSState(); - - $box->readCSS($css_state); - - // Initialize content - $child = $root->first_child(); - while ($child) { - $child_box =& create_pdf_box($child, $pipeline); - $box->add_child($child_box); - $child = $child->next_sibling(); - }; - - // Add fake whitespace box with zero size for the anchor spans - // We need this, as "reflow" functions will automatically remove empty inline boxes from the - // document tree - // - if ($box->is_null()) { - $css_state->pushState(); - $css_state->setProperty(CSS_FONT_SIZE, Value::fromData(0.01, UNIT_PT)); - - $whitespace = WhitespaceBox::create($pipeline); - $whitespace->readCSS($css_state); - - $box->add_child($whitespace); - - $css_state->popState(); - }; - } - - return $box; - } - - function &create_from_text($text, $white_space, &$pipeline) { - $box =& new InlineBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - - // Apply/inherit text-related CSS properties - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushDefaultTextState(); - - require_once(HTML2PS_DIR.'inline.content.builder.factory.php'); - $inline_content_builder =& InlineContentBuilderFactory::get($white_space); - $inline_content_builder->build($box, $text, $pipeline); - - // Clear the CSS stack - $css_state->popState(); - - return $box; - } - - function get_line_box_count() { - return count($this->_lines); - } - - // Inherited from GenericFormattedBox - - function process_word($raw_content, &$pipeline) { - if ($raw_content === '') { - return false; - } - - $ptr = 0; - $word = ''; - $hyphens = array(); - $encoding = 'iso-8859-1'; - - $manager_encoding =& ManagerEncoding::get(); - $text_box =& TextBox::create_empty($pipeline); - - $len = strlen($raw_content); - while ($ptr < $len) { - $char = $manager_encoding->getNextUTF8Char($raw_content, $ptr); - - // Check if current char is a soft hyphen character. It it is, - // remove it from the word (as it should not be drawn normally) - // and store its location - if ($char == SYMBOL_SHY) { - $hyphens[] = strlen($word); - } else { - $mapping = $manager_encoding->getMapping($char); - - /** - * If this character is not found in predefined encoding vectors, - * we'll use "Custom" encoding and add single-character TextBox - * - * @TODO: handle characters without known glyph names - */ - if (is_null($mapping)) { - /** - * No mapping to default encoding vectors found for this character - */ - - /** - * Add last word - */ - if ($word !== '') { - $text_box->add_subword($word, $encoding, $hyphens); - }; - - /** - * Add current symbol - */ - $custom_char = $manager_encoding->addCustomChar(utf8_to_code($char)); - $text_box->add_subword($custom_char, $manager_encoding->getCustomEncodingName(), $hyphens); - - $word = ''; - } else { - if (isset($mapping[$encoding])) { - $word .= $mapping[$encoding]; - } else { - // This condition prevents empty text boxes from appearing; say, if word starts with a national - // character, an () - text box with no letters will be generated, in rare case causing a random line - // wraps, if container is narrow - if ($word !== '') { - $text_box->add_subword($word, $encoding, $hyphens); - }; - - reset($mapping); - list($encoding, $add) = each($mapping); - - $word = $mapping[$encoding]; - $hyphens = array(); - }; - }; - }; - }; - - if ($word !== '') { - $text_box->add_subword($word, $encoding, $hyphens); - }; - - $this->add_child($text_box); - return true; - } - - function show(&$driver) { - if ($this->getCSSProperty(CSS_POSITION) == POSITION_RELATIVE) { - // Postpone - return true; - }; - - return $this->_show($driver); - } - - function show_postponed(&$driver) { - return $this->_show($driver); - } - - function _show(&$driver) { - // Show line boxes background and borders - $size = $this->getLineBoxCount(); - for ($i=0; $i<$size; $i++) { - $line_box = $this->getLineBox($i); - $fake_box = $line_box->fake_box($this); - - $background = $this->getCSSProperty(CSS_BACKGROUND); - $border = $this->getCSSProperty(CSS_BORDER); - - $background->show($driver, $fake_box); - $border->show($driver, $fake_box); - }; - - // Show content - $size = count($this->content); - for ($i=0; $i < $size; $i++) { - if (is_null($this->content[$i]->show($driver))) { - return null; - }; - } - - return true; - } - - // Initialize next line box inside this inline - // - // Adds the next element to _lines array inside the current object and initializes it with the - // $box parameters - // - // @param $box child box which will be first in this line box - // @param $line_no number of line box - // - function init_line(&$box, &$line_no) { - $line_box = LineBox::create($box); - $this->_lines[$line_no] = $line_box; - } - - // Extends the existing line box to include the given child - // OR starts new line box, if current child is to the left of the box right edge - // (which should not happen white the line box is filled) - // - // @param $box child box which will be first in this line box - // @param $line_no number of line box - // - function extend_line(&$box, $line_no) { - if (!isset($this->_lines[$line_no])) { - // New line box started - $this->init_line($box, $line_no); - - return $line_no; - }; - - // Check if this box starts a new line - if ($box->get_left() < $this->_lines[$line_no]->right) { - $line_no++; - $this->init_line($box, $line_no); - return $line_no; - }; - - $this->_lines[$line_no]->extend($box); - - return $line_no; - } - - function merge_line(&$box, $line_no) { - $start_line = 0; - - if ($line_no > 0 && count($box->_lines) > 0) { - if ($this->_lines[$line_no-1]->right + EPSILON > $box->_lines[0]->left) { - $this->_lines[$line_no-1]->right = max($box->_lines[0]->right, $this->_lines[$line_no-1]->right); - $this->_lines[$line_no-1]->top = max($box->_lines[0]->top, $this->_lines[$line_no-1]->top); - $this->_lines[$line_no-1]->bottom = min($box->_lines[0]->bottom, $this->_lines[$line_no-1]->bottom); - $start_line = 1; - }; - }; - - $size = count($box->_lines); - for ($i=$start_line; $i<$size; $i++) { - $this->_lines[] = $box->_lines[$i]->copy(); - }; - - return count($this->_lines); - } - - function reflow_static(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - // Note that inline boxes (actually SPANS) - // are never added to the parent's line boxes - - // Move current box to the parent's current coordinates - // Note that span box will start at the far left of the parent, NOT on its current X! - // Also, note that inline box can have margins, padding and borders! - - $this->put_left($parent->get_left()); - $this->put_top($parent->get_top() - $this->get_extra_top()); - - // first line of the SPAN will be offset to its parent current-x - // PLUS the left padding of current span! - $parent->_current_x += $this->get_extra_left(); - $this->_current_x = $parent->_current_x; - - // Note that the same operation IS NOT applied to parent current-y! - // The padding space is just extended to the top possibly OVERLAPPING the above boxes. - - $this->width = 0; - - // Reflow contents - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $child =& $this->content[$i]; - - // Add current element into _parent_ line box and reflow it - $child->reflow($parent, $context); - - // In general, if inline box centained whitespace box only, - // it could be removed during reflow function call; - // let's check it and skip to next child - // - // if no children left AT ALL (so this box is empty), just exit - - // Track the real height of the inline box; it will be used by other functions - // (say, functions calculating content height) - - $this->extend_height($child->get_bottom_margin()); - }; - - // Apply right extra space value (padding + border + margin) - $parent->_current_x += $this->get_extra_right(); - - // Margins of inline boxes are not collapsed - - if ($this->get_first_data()) { - $context->pop_collapsed_margin(); - $context->push_collapsed_margin( 0 ); - }; - } - - function reflow_inline() { - $line_no = 0; - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $child =& $this->content[$i]; - - $child->reflow_inline(); - - if (!$child->is_null()) { - if (is_a($child,'InlineBox')) { - $line_no = $this->merge_line($child, $line_no); - } else { - $line_no = $this->extend_line($child, $line_no); - }; - }; - }; - } - - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - /** - * Anchors could have no content at all (like ). - * We should not remove such anchors, as this will break internal links - * in the document. - */ - $dest = $this->getCSSProperty(CSS_HTML2PS_LINK_DESTINATION); - if ($dest != '') { return; }; - - $size = count($this->content); - for ($i=0; $i<$size; $i++) { - $child =& $this->content[$i]; - $child->reflow_whitespace($linebox_started, $previous_whitespace); - }; - - if ($this->is_null()) { - $this->parent->remove($this); - }; - } - - function get_extra_line_left() { - return $this->get_extra_left() + ($this->parent ? $this->parent->get_extra_line_left() : 0); - } - - function get_extra_line_right() { - return $this->get_extra_right() + ($this->parent ? $this->parent->get_extra_line_right() : 0); - } - - /** - * As "nowrap" properties applied to block-level boxes only, we may use simplified version of - * 'get_min_width' here - */ - function get_min_width(&$context) { - if (isset($this->_cache[CACHE_MIN_WIDTH])) { - return $this->_cache[CACHE_MIN_WIDTH]; - } - - $content_size = count($this->content); - - /** - * If box does not have any content, its minimal width is determined by extra horizontal space - */ - if ($content_size == 0) { - return $this->_get_hor_extra(); - }; - - $minw = $this->content[0]->get_min_width($context); - - for ($i=1; $i<$content_size; $i++) { - $item = $this->content[$i]; - if (!$item->out_of_flow()) { - $minw = max($minw, $item->get_min_width($context)); - }; - } - - // Apply width constraint to min width. Return maximal value - $wc = $this->getCSSProperty(CSS_WIDTH); - $min_width = max($minw, $wc->apply($minw, $this->parent->get_width())) + $this->_get_hor_extra(); - - $this->_cache[CACHE_MIN_WIDTH] = $min_width; - return $min_width; - } - - // Restore default behaviour, as this class is a ContainerBox descendant - function get_max_width_natural(&$context, $limit=10E6) { - return $this->get_max_width($context, $limit); - } - - function offset($dx, $dy) { - $size = count($this->_lines); - for ($i=0; $i<$size; $i++) { - $this->_lines[$i]->offset($dx, $dy); - }; - GenericInlineBox::offset($dx, $dy); - } - - /** - * Deprecated - */ - function getLineBoxCount() { - return $this->get_line_box_count(); - } - - function &getLineBox($index) { - $line_box =& $this->_lines[$index]; - return $line_box; - } -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.inline.simple.php b/thirdparty/html2ps_pdf/box.inline.simple.php deleted file mode 100644 index 3a328dbd0..000000000 --- a/thirdparty/html2ps_pdf/box.inline.simple.php +++ /dev/null @@ -1,48 +0,0 @@ -GenericBox(); - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_TEXT_DECORATION, - CSS_TEXT_TRANSFORM)); - - // '-html2ps-link-target' - global $g_config; - if ($g_config["renderlinks"]) { - $this->_readCSS($state, - array(CSS_HTML2PS_LINK_TARGET)); - }; - } - - function get_extra_left() { - return 0; - } - - function get_extra_top() { - return 0; - } - - function get_extra_right() { - return 0; - } - - function get_extra_bottom() { - return 0; - } - - function show(&$driver) { - parent::show($driver); - - $strategy =& new StrategyLinkRenderingNormal(); - $strategy->apply($this, $driver); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.input.img.php b/thirdparty/html2ps_pdf/box.input.img.php deleted file mode 100644 index 166d6cfa3..000000000 --- a/thirdparty/html2ps_pdf/box.input.img.php +++ /dev/null @@ -1,128 +0,0 @@ -BrokenImgBox($width, $height, $alt); - - $this->_field_name = $field; - $this->_field_value = $value; - $this->set_action_url($action_url); - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_HTML2PS_FORM_ACTION)); - } - - function set_action_url($action_url) { - $this->_action_url = $action_url; - } - - function show(&$driver) { - $status = parent::show($driver); - - global $g_config; - if ($g_config['renderforms']) { - $driver->field_pushbuttonimage($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(), - $this->_field_name, - $this->_field_value, - $this->_action_url); - }; - - return $status; - } -} - -class ButtonImageBox extends ImgBox { - var $_field_name; - var $_field_value; - var $_action_url; - - function ButtonImageBox($img, $field, $value, $action_url) { - $this->ImgBox($img); - - $this->_field_name = $field; - $this->_field_value = $value; - $this->set_action_url($action_url); - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_HTML2PS_FORM_ACTION)); - } - - function set_action_url($action_url) { - $this->_action_url = $action_url; - } - - function show(&$driver) { - $status = parent::show($driver); - - global $g_config; - if ($g_config['renderforms']) { - $driver->field_pushbuttonimage($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(), - $this->_field_name, - $this->_field_value, - $this->_action_url); - }; - - return $status; - } - - function &create(&$root, &$pipeline) { - $name = $root->get_attribute('name'); - $value = $root->get_attribute('value'); - - $url_autofix = new AutofixUrl(); - $src = $url_autofix->apply(trim($root->get_attribute("src"))); - - $src_img = Image::get($pipeline->guess_url($src), $pipeline); - if (is_null($src_img)) { - error_log(sprintf("Cannot open image at '%s'", $src)); - - if ($root->has_attribute('width')) { - $width = px2pt($root->get_attribute('width')); - } else { - $width = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX); - }; - - if ($root->has_attribute('height')) { - $height = px2pt($root->get_attribute('height')); - } else { - $height = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX); - }; - - $alt = $root->get_attribute('alt'); - - $css_state =& $pipeline->getCurrentCSSState(); - $box =& new ButtonBrokenImagebox($width, $height, $alt, $name, $value, - $css_state->getProperty(CSS_HTML2PS_FORM_ACTION)); - $box->readCSS($css_state); - return $box; - }; - - $css_state =& $pipeline->getCurrentCSSState(); - $box =& new ButtonImageBox($src_img, $name, $value, - $css_state->getProperty(CSS_HTML2PS_FORM_ACTION)); - $box->readCSS($css_state); - $box->_setupSize(); - - return $box; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.input.password.php b/thirdparty/html2ps_pdf/box.input.password.php deleted file mode 100644 index a6d51d8a9..000000000 --- a/thirdparty/html2ps_pdf/box.input.password.php +++ /dev/null @@ -1,66 +0,0 @@ -has_attribute('value')) { - $text = str_repeat("*",strlen($root->get_attribute("value"))); - } else { - $text = ""; - }; - - /** - * Input field name - */ - $name = $root->get_attribute('name'); - - $box =& new PasswordInputBox($text, $root->get_attribute("value"), $name); - $box->readCSS($pipeline->getCurrentCSSState()); - - $ibox = InlineBox::create_from_text(" ", WHITESPACE_PRE, $pipeline); - for ($i=0, $size = count($ibox->content); $i<$size; $i++) { - $box->add_child($ibox->content[$i]); - }; - - return $box; - } - - function show(&$driver) { - // Now set the baseline of a button box to align it vertically when flowing isude the - // text line - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - /** - * If we're rendering the interactive form, the field content should not be rendered - */ - global $g_config; - if ($g_config['renderforms']) { - /** - * Render background/borders only - */ - $status = GenericFormattedBox::show($driver); - - /** - * @todo encoding name? - * @todo font name? - * @todo check if font is embedded for PDFLIB - */ - $driver->field_password($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(), - $this->_value, - $this->_field_name); - } else { - /** - * Render everything, including content - */ - $status = GenericContainerBox::show($driver); - } - - return $status; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.input.text.php b/thirdparty/html2ps_pdf/box.input.text.php deleted file mode 100644 index be22da5f1..000000000 --- a/thirdparty/html2ps_pdf/box.input.text.php +++ /dev/null @@ -1,103 +0,0 @@ -InlineBox(); - - $this->_value = $value; - $this->_field_name = $name; - } - - function &create(&$root, &$pipeline) { - // Text to be displayed - if ($root->has_attribute('value')) { - $text = trim($root->get_attribute("value")); - } else { - $text = ""; - }; - - /** - * Input field name - */ - $name = $root->get_attribute('name'); - - $box =& new TextInputBox($root->get_attribute("value"), $name); - $box->readCSS($pipeline->getCurrentCSSState()); - - /** - * Contents of the text box are somewhat similar to the inline box: - * a sequence of the text and whitespace boxes; we generate this sequence using - * the InlineBox, then copy contents of the created inline box to our button. - * - * @todo probably, create_from_text() function should be extracted to the common parent - * of inline boxes. - */ - $ibox = InlineBox::create_from_text($text, WHITESPACE_PRE, $pipeline); - - for ($i=0, $size = count($ibox->content); $i<$size; $i++) { - $box->add_child($ibox->content[$i]); - }; - - return $box; - } - - function get_height() { - $normal_height = parent::get_height(); - - $hc = $this->get_height_constraint(); - if ($hc->is_null()) { - return $normal_height; - } else { - return $normal_height - $this->_get_vert_extra(); - }; - } - - function show(&$driver) { - // Now set the baseline of a button box to align it vertically when flowing isude the - // text line - - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - /** - * If we're rendering the interactive form, the field content should not be rendered - */ - global $g_config; - if ($g_config['renderforms']) { - /** - * Render background/borders only - */ - $status = GenericFormattedBox::show($driver); - - /** - * @todo encoding name? - * @todo font name? - * @todo check if font is embedded for PDFLIB - */ - $driver->field_text($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height(), - $this->_value, - $this->_field_name); - } else { - /** - * Render everything, including content - */ - $status = GenericContainerBox::show($driver); - } - - return $status; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.input.textarea.php b/thirdparty/html2ps_pdf/box.input.textarea.php deleted file mode 100644 index 3dea041c4..000000000 --- a/thirdparty/html2ps_pdf/box.input.textarea.php +++ /dev/null @@ -1,74 +0,0 @@ -InlineBlockBox(); - - $this->set_value($value); - $this->_field_name = $name; - } - - function &create(&$root, &$pipeline) { - $value = $root->get_content(); - $name = $root->get_attribute('name'); - - $box = new TextAreaInputBox($value, $name); - $box->readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - - return $box; - } - - function get_height() { - $normal_height = parent::get_height(); - return $normal_height - $this->_get_vert_extra(); - } - - function get_min_width(&$context) { - return $this->get_max_width($context); - } - - function get_max_width(&$context) { - return $this->get_width(); - } - - function get_value() { - return $this->_value; - } - - function get_width() { - $normal_width = parent::get_width(); - return $normal_width - $this->_get_hor_extra(); - } - - function set_value($value) { - $this->_value = $value; - } - - function show(&$driver) { - /** - * If we're rendering the interactive form, the field content should not be rendered - */ - global $g_config; - if ($g_config['renderforms']) { - $status = GenericFormattedBox::show($driver); - - $driver->field_multiline_text($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(), - $this->_value, - $this->_field_name); - } else { - $status = GenericContainerBox::show($driver); - } - - return $status; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.legend.php b/thirdparty/html2ps_pdf/box.legend.php deleted file mode 100644 index 9e221fbf6..000000000 --- a/thirdparty/html2ps_pdf/box.legend.php +++ /dev/null @@ -1,57 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - $box->create_content($root, $pipeline); - - return $box; - } - - function LegendBox(&$root) { - // Call parent constructor - $this->GenericContainerBox(); - - $this->_current_x = 0; - $this->_current_y = 0; - } - - // Flow-control - function reflow(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - // Determine upper-left _content_ corner position of current box - $this->put_left($parent->get_left_padding()); - $this->put_top($parent->get_top_padding()); - - // Legends will not wrap - $this->put_full_width($this->get_max_width($context)); - - // Reflow contents - $this->reflow_content($context); - - // Adjust legend position - $height = $this->get_full_height(); - $this->offset(units2pt(LEGEND_HORIZONTAL_OFFSET) + $this->get_extra_left(), - $height/2); - // Adjust parent position - $parent->offset(0, -$height/2); - // Adjust parent content position - for ($i=0; $icontent); $i++) { - if ($parent->content[$i]->uid != $this->uid) { - $parent->content[$i]->offset(0, -$height/2); - } - } - $parent->_current_y -= $height/2; - - $parent->extend_height($this->get_bottom_margin()); - } - - function show(&$driver) { - // draw generic box - return GenericContainerBox::show($driver); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.list-item.php b/thirdparty/html2ps_pdf/box.list-item.php deleted file mode 100644 index 4279960b6..000000000 --- a/thirdparty/html2ps_pdf/box.list-item.php +++ /dev/null @@ -1,224 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - - /** - * Create text box containing item number - */ - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushState(); - $css_state->setProperty(CSS_COLOR, CSSColor::parse('transparent')); - - $list_style = $css_state->getProperty(CSS_LIST_STYLE); - $box->str_number_box = TextBox::create(CSSListStyleType::format_number($list_style->type, - $css_state->getProperty(CSS_HTML2PS_LIST_COUNTER)).". ", - 'iso-8859-1', - $pipeline); - $box->str_number_box->baseline = $box->str_number_box->default_baseline; - - $css_state->popState(); - - /** - * Create nested items - */ - $box->create_content($root, $pipeline); - - return $box; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_LIST_STYLE)); - - // Pseudo-CSS properties - // '-list-counter' - - // increase counter value - $value = $state->getProperty(CSS_HTML2PS_LIST_COUNTER) + 1; - $state->setProperty(CSS_HTML2PS_LIST_COUNTER, $value); - $state->setPropertyOnLevel(CSS_HTML2PS_LIST_COUNTER, CSS_PROPERTY_LEVEL_PARENT, $value); - - // open the marker image if specified - $list_style = $this->getCSSProperty(CSS_LIST_STYLE); - - if (!$list_style->image->is_default()) { - $this->marker_image = new ImgBox($list_style->image->_image); - $state->pushDefaultState(); - $this->marker_image->readCSS($state); - $state->popState(); - $this->marker_image->_setupSize(); - } else { - $this->marker_image = null; - }; - } - - function ListItemBox(&$root, &$pipeline) { - // Call parent constructor - $this->BlockBox($root); - } - - function reflow(&$parent, &$context) { - $list_style = $this->getCSSProperty(CSS_LIST_STYLE); - - // If list-style-position is inside, we'll need to move marker box inside the - // list-item box and offset all content by its size; - if ($list_style->position === LSP_INSIDE) { - // Add marker box width to text-indent value - $this->_additional_text_indent = $this->get_marker_box_width(); - }; - - // Procees with normal block box flow algorithm - BlockBox::reflow($parent, $context); - } - - function reflow_text(&$driver) { - if (is_null($this->str_number_box->reflow_text($driver))) { - return null; - }; - - return GenericContainerBox::reflow_text($driver); - } - - function show(&$viewport) { - // draw generic block box - if (is_null(BlockBox::show($viewport))) { - return null; - }; - - // Draw marker - /** - * Determine the marker box base X coordinate - * If possible, the marker box should be drawn immediately to the left of the first word in this - * box; this means that marker should be tied to the first text box, not to the left - * edge of the list block box - */ - $child = $this->get_first_data(); - if (is_null($child)) { - $x = $this->get_left(); - - $list_style = $this->getCSSProperty(CSS_LIST_STYLE); - - // If list-style-position is inside, we'll need to move marker box inside the - // list-item box and offset all content by its size; - if ($list_style->position === LSP_INSIDE) { - $x += $this->get_marker_box_width(); - }; - } else { - $x = $child->get_left(); - }; - - // Determine the base Y coordinate of marker box - $element = $this->get_first_data(); - - if ($element) { - $y = $element->get_top() - $element->default_baseline; - } else { - $y = $this->get_top(); - } - - if (!is_null($this->marker_image)) { - $this->mb_image($viewport, $x, $y); - } else { - $list_style = $this->getCSSProperty(CSS_LIST_STYLE); - - switch ($list_style->type) { - case LST_NONE: - // No marker at all - break; - case LST_DISC: - $this->mb_disc($viewport, $x, $y); - break; - case LST_CIRCLE: - $this->mb_circle($viewport, $x, $y); - break; - case LST_SQUARE: - $this->mb_square($viewport, $x, $y); - break; - default: - $this->mb_string($viewport, $x, $y); - break; - } - }; - - return true; - } - - function get_marker_box_width() { - $list_style = $this->getCSSProperty(CSS_LIST_STYLE); - - switch ($list_style->type) { - case LST_NONE: - // no marker box will be rendered at all - return 0; - case LST_DISC: - case LST_CIRCLE: - case LST_SQUARE: - // simple graphic marker - $font = $this->getCSSProperty(CSS_FONT); - return $font->size->getPoints(); - default: - // string marker. Return the width of the marker text - return $this->str_number_box->get_full_width(); - }; - } - - function mb_string(&$viewport, $x, $y) { - $this->str_number_box->put_top($y + $this->str_number_box->default_baseline); - $this->str_number_box->put_left($x - $this->str_number_box->get_full_width()); - - $this->str_number_box->show($viewport); - } - - function mb_disc(&$viewport, $x, $y) { - $color = $this->getCSSProperty(CSS_COLOR); - $color->apply($viewport); - - $font = $this->getCSSProperty(CSS_FONT); - - $viewport->circle( $x - $font->size->getPoints()*0.5, $y + $font->size->getPoints()*0.4*HEIGHT_KOEFF, $font->size->getPoints() * BULLET_SIZE_KOEFF); - $viewport->fill(); - } - - function mb_circle(&$viewport, $x, $y) { - $color = $this->getCSSProperty(CSS_COLOR); - $color->apply($viewport); - - $viewport->setlinewidth(0.1); - - $font = $this->getCSSProperty(CSS_FONT); - $viewport->circle( $x - $font->size->getPoints()*0.5, $y + $font->size->getPoints()*0.4*HEIGHT_KOEFF, $font->size->getPoints() * BULLET_SIZE_KOEFF); - $viewport->stroke(); - } - - function mb_square(&$viewport, $x, $y) { - $color = $this->getCSSProperty(CSS_COLOR); - $color->apply($viewport); - - $font = $this->getCSSProperty(CSS_FONT); - $viewport->rect($x - $font->size->getPoints()*0.512, $y + $font->size->getPoints()*0.3*HEIGHT_KOEFF, $font->size->getPoints() * 0.25, $font->size->getPoints() * 0.25); - $viewport->fill(); - } - - function mb_image(&$viewport, $x, $y) { - $font = $this->getCSSProperty(CSS_FONT); - - $imagebox =& $this->marker_image; - $imagebox->moveto($x - $font->size->getPoints()*0.5 - $imagebox->get_width()/2, - $y + $font->size->getPoints()*0.4*HEIGHT_KOEFF + $imagebox->get_height()/2); - $imagebox->show($viewport); - } - - function isBlockLevel() { - return true; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.note-call.class.php b/thirdparty/html2ps_pdf/box.note-call.class.php deleted file mode 100644 index 8d460b18e..000000000 --- a/thirdparty/html2ps_pdf/box.note-call.class.php +++ /dev/null @@ -1,199 +0,0 @@ -_note_call_box->offset($dx, $dy); - } - - function BoxNoteCall(&$content, &$pipeline) { - $this->GenericInlineBox(); - - $this->_note_content =& $content; - - $this->copy_style($content); - $this->put_height_constraint(new HCConstraint(null, null, null)); - - /** - * Prepare ::note-call box - */ - - $this->_note_call_box = InlineBox::create_from_text(CSSListStyleType::format_number(LST_DECIMAL, 99), - WHITESPACE_NORMAL, - $pipeline); - - $this->_note_call_box->copy_style($content); - $this->_note_call_box->content[0]->copy_style($content); - - $font = $this->_note_call_box->content[0]->getCSSProperty(CSS_FONT); - $font = $font->copy(); - $font->size->scale(0.75); - $this->_note_call_box->content[0]->setCSSProperty(CSS_FONT, $font); - - $this->_note_call_box->content[0]->setCSSProperty(CSS_VERTICAL_ALIGN, VA_SUPER); - $this->_note_call_box->content[0]->setCSSProperty(CSS_LINE_HEIGHT, CSS::getDefaultValue(CSS_LINE_HEIGHT)); - - /** - * Prepare ::marker box - */ - - $this->_note_marker_box = InlineBox::create_from_text(CSSListStyleType::format_number(LST_DECIMAL, 99), - WHITESPACE_NORMAL, - $pipeline); - - $this->_note_marker_box->copy_style($content); - $this->_note_marker_box->content[0]->copy_style($content); - - $font = $this->_note_marker_box->content[0]->getCSSProperty(CSS_FONT); - $font = $font->copy(); - $font->size->scale(0.5); - $this->_note_marker_box->content[0]->setCSSProperty(CSS_FONT, $font); - - $margin = $this->_note_marker_box->content[0]->getCSSProperty(CSS_MARGIN); - $margin = $margin->copy(); - $margin->right = Value::fromData(FOOTNOTE_MARKER_MARGIN, UNIT_PT); - $this->_note_marker_box->content[0]->setCSSProperty(CSS_MARGIN, $margin); - - - $this->_note_marker_box->content[0]->setCSSProperty(CSS_VERTICAL_ALIGN, VA_SUPER); - $this->_note_marker_box->content[0]->setCSSProperty(CSS_LINE_HEIGHT, CSS::getDefaultValue(CSS_LINE_HEIGHT)); - } - - function &create(&$content, &$pipeline) { - $box = new BoxNoteCall($content, $pipeline); - - return $box; - } - - function reflow(&$parent, &$context) { - $parent->append_line($this->_note_call_box); - - $body = $parent; - while ($body->parent) { - $body = $body->parent; - }; - - /** - * Reflow note content - */ - $this->put_full_height(1000); - $this->put_full_width($body->get_width()); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - $this->_note_content->reflow($this, $context); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - $this->_note_marker_box->reflow($this, $context); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - $this->_note_call_box->reflow($this, $context); - // This prevents note-call box from affecting line height - $this->_note_call_box->put_full_height(0); - - /** - * Reflow note-call itself - */ - $this->put_full_height(0); - $this->put_full_width(0); - $this->guess_corner($parent); - $parent->_current_x += $this->_note_call_box->content[0]->get_width(); - $this->_note_call_box->put_full_width($this->_note_call_box->content[0]->get_width()); - - $this->_note_call_box->moveto($this->get_left(), $this->get_top()); - -// $last =& $parent->last_in_line(); -// $last->note_call = true; - - return true; - } - - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - $ls = false; - $pw = false; - $this->_note_content->reflow_whitespace($ls, $pw); - } - - function reflow_text(&$driver) { - $this->_note_content->reflow_text($driver); - $this->_note_marker_box->reflow_text($driver); - $this->_note_call_box->reflow_text($driver); - return true; - } - - function _getFootnoteHeight(&$driver) { - if ($driver->getFootnoteCount() == 0) { - $footnote_height = - $this->_note_content->get_full_height() + - FOOTNOTE_LINE_TOP_GAP + - FOOTNOTE_LINE_BOTTOM_GAP; - } else { - $footnote_height = - $this->_note_content->get_full_height() + - FOOTNOTE_GAP; - }; - - return $footnote_height; - } - - function show(&$driver) { - $footnote_height = $this->_getFootnoteHeight($driver); - if (!$driver->willContain($this, $footnote_height)) { - return true; - }; - - $driver->setFootnoteAreaHeight($driver->getFootnoteAreaHeight() + $footnote_height); - $driver->setFootnoteCount($driver->getFootnoteCount() + 1); - - /** - * Prepare box containing note number - */ - $this->_note_number = $driver->getFootnoteCount(); - - /** - * Render reference number - */ - $this->_note_call_box->content[0]->words[0] = CSSListStyleType::format_number(LST_DECIMAL, - $this->_note_number); - $this->_note_call_box->show_fixed($driver); - - return true; - } - - function show_footnote(&$driver, $x, $y) { - /** - * Render note reference number - */ - $this->_note_marker_box->content[0]->words[0] = CSSListStyleType::format_number(LST_DECIMAL, - $this->_note_number); - $this->_note_marker_box->moveto($x, $y); - $this->_note_marker_box->show_fixed($driver); - - /** - * Render note content - */ - $this->_note_content->moveto($x + $this->_note_marker_box->content[0]->get_width()*0.75, - $y); - $this->_note_content->show_fixed($driver); - - - return $y - $this->_note_content->get_full_height(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.null.php b/thirdparty/html2ps_pdf/box.null.php deleted file mode 100644 index c3728063e..000000000 --- a/thirdparty/html2ps_pdf/box.null.php +++ /dev/null @@ -1,36 +0,0 @@ -GenericInlineBox(); - } - - function &create() { - $box =& new NullBox; - - $css_state = new CSSState(CSS::get()); - $css_state->pushState(); - $box->readCSS($css_state); - - return $box; - } - - function show(&$viewport) { - return true; - } - - function reflow_static(&$parent, &$context) { - // Move current "box" to parent current coordinates. It is REQUIRED, - // as some other routines uses box coordinates. - $this->put_left($parent->get_left()); - $this->put_top($parent->get_top()); - } - - function is_null() { return true; } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.page.margin.class.php b/thirdparty/html2ps_pdf/box.page.margin.class.php deleted file mode 100644 index 71218da65..000000000 --- a/thirdparty/html2ps_pdf/box.page.margin.class.php +++ /dev/null @@ -1,476 +0,0 @@ -getSelector()) { - case CSS_MARGIN_BOX_SELECTOR_TOP: - $box =& new BoxPageMarginTop($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER: - $box =& new BoxPageMarginTopLeftCorner($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_TOP_LEFT: - $box =& new BoxPageMarginTopLeft($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_TOP_CENTER: - $box =& new BoxPageMarginTopCenter($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT: - $box =& new BoxPageMarginTopRight($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER: - $box =& new BoxPageMarginTopRightCorner($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM: - $box =& new BoxPageMarginBottom($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER: - $box =& new BoxPageMarginBottomLeftCorner($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT: - $box =& new BoxPageMarginBottomLeft($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER: - $box =& new BoxPageMarginBottomCenter($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT: - $box =& new BoxPageMarginBottomRight($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER: - $box =& new BoxPageMarginBottomRightCorner($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_LEFT_TOP: - $box =& new BoxPageMarginLeftTop($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE: - $box =& new BoxPageMarginLeftMiddle($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM: - $box =& new BoxPageMarginLeftBottom($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP: - $box =& new BoxPageMarginRightTop($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE: - $box =& new BoxPageMarginRightMiddle($pipeline, $at_rule); - break; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM: - $box =& new BoxPageMarginRightBottom($pipeline, $at_rule); - break; - default: - trigger_error("Unknown selector type", E_USER_ERROR); - }; - - return $box; - } - - function BoxPageMargin(&$pipeline, $at_rule) { - $state =& $pipeline->getCurrentCSSState(); - $state->pushDefaultState(); - - $root = null; - $at_rule->css->apply($root, $state, $pipeline); - - $this->GenericContainerBox(); - $this->readCSS($state); - - $state->pushDefaultstate(); - - /** - * Check whether 'content' or '-html2ps-html-content' properties had been defined - * (if both properties are defined, -html2ps-html-content takes precedence) - */ - $raw_html_content =& $at_rule->getCSSProperty(CSS_HTML2PS_HTML_CONTENT); - $html_content = $raw_html_content->render($pipeline->get_counters()); - - if ($html_content !== '') { - // We should wrap html_content in DIV tag, - // as we treat only the very first box of the resulting DOM tree as margin box content - - $html_content = html2xhtml("
".$html_content."
"); - $tree = TreeBuilder::build($html_content); - $tree_root = traverse_dom_tree_pdf($tree); - $body_box =& create_pdf_box($tree_root, $pipeline); - $box =& $body_box->content[0]; - } else { - $raw_content =& $at_rule->getCSSProperty(CSS_CONTENT); - $content = $raw_content->render($pipeline->get_counters()); - - $box =& InlineBox::create_from_text($content, - WHITESPACE_NORMAL, - $pipeline); - } - $this->add_child($box); - - $state->popState(); - $state->popState(); - } - - function get_cell_baseline() { - return 0; - } - - function reflow(&$driver, &$media, $boxes) { - $context = new FlowContext; - $this->_position($media, $boxes, $context); - - $this->setCSSProperty(CSS_WIDTH, new WCConstant($this->get_width())); - $this->put_height_constraint(new HCConstraint(array($this->height, false), - null, - null)); - - $this->reflow_content($context); - - /** - * Apply vertical-align (behave like table cell) - */ - $va = CSSVerticalAlign::value2pdf($this->getCSSProperty(CSS_VERTICAL_ALIGN)); - - $va->apply_cell($this,$this->get_full_height(),0); - } - - function show(&$driver) { - $this->offset(0, $driver->offset); - $this->show_fixed($driver); - } - - function _calc_sizes($full_width, $left, $center, $right) { - $context = new FlowContext; - - $left_width = $left->get_max_width($context); - $center_width = $center->get_max_width($context); - $right_width = $right->get_max_width($context); - - $calculated_left_width = 0; - $calculated_center_width = 0; - $calculated_right_width = 0; - - if ($center_width > 0) { - $calculated_center_width = $full_width * $center_width / ($center_width + 2*max($left_width, $right_width)); - $calculated_left_width = ($full_width - $calculated_center_width) / 2; - $calculated_right_width = $calculated_left_width; - } elseif ($left_width == 0 && $right_width == 0) { - $calculated_center_width = 0; - $calculated_left_width = 0; - $calculated_right_width = 0; - } elseif ($left_width == 0) { - $calculated_center_width = 0; - $calculated_left_width = 0; - $calculated_right_width = $full_width; - } elseif ($right_width == 0) { - $calculated_center_width = 0; - $calculated_left_width = $full_width; - $calculated_right_width = 0; - } else { - $calculated_center_width = 0; - $calculated_left_width = $full_width * $left_width / ($left_width + $right_width); - $calculated_right_width = $full_width - $calculated_left_width; - }; - - return array($calculated_left_width, - $calculated_center_width, - $calculated_right_width); - } -} - -class BoxPageMarginTop extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width(mm2pt($media->width())); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginTopLeftCorner extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width(mm2pt($media->margins['left'])); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginTopLeft extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width($left); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginTopCenter extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left']) + $left); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width($center); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginTopRight extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left']) + $left + $center); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width($right); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginTopRightCorner extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + mm2pt($media->width() - $media->margins['right'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height())); - - $this->put_full_width(mm2pt($media->margins['right'])); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottomLeftCorner extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width(mm2pt($media->margins['left'])); - $this->put_full_height(mm2pt($media->margins['bottom'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottomLeft extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width($left); - $this->put_full_height(mm2pt($media->margins['bottom'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottomCenter extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left']) + $left); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width($center); - $this->put_full_height(mm2pt($media->margins['bottom'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottomRight extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_width()), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER], - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT]); - - $this->put_left($this->get_extra_left() + mm2pt($media->margins['left']) + $left + $center); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width($right); - $this->put_full_height(mm2pt($media->margins['bottom'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottomRightCorner extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + mm2pt($media->width() - $media->margins['right'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width(mm2pt($media->margins['right'])); - $this->put_full_height(mm2pt($media->margins['top'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginBottom extends BoxPageMargin { - function _position($media, $boxes, $context) { - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->margins['bottom'])); - - $this->put_full_width(mm2pt($media->width())); - $this->put_full_height(mm2pt($media->margins['bottom'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginLeftTop extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM]); - - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height() - $media->margins['top'])); - - $this->put_full_height($left); - $this->put_full_width(mm2pt($media->margins['left'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginLeftMiddle extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM]); - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height() - $media->margins['top']) - $left); - - $this->put_full_height($center); - $this->put_full_width(mm2pt($media->margins['left'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginLeftBottom extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM]); - - $this->put_left($this->get_extra_left() + 0); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height() - $media->margins['top']) - $left - $center); - - $this->put_full_height($right); - $this->put_full_width(mm2pt($media->margins['left'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginRightTop extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM]); - - $this->put_left($this->get_extra_left() + mm2pt($media->width() - $media->margins['right'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height() - $media->margins['top'])); - - $this->put_full_height($left); - $this->put_full_width(mm2pt($media->margins['right'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginRightMiddle extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM]); - - $this->put_left($this->get_extra_left() + mm2pt($media->width() - $media->margins['right'])); - $this->put_top(-$this->get_extra_top() +mm2pt($media->height() - $media->margins['top']) - $left); - - $this->put_full_height($center); - $this->put_full_width(mm2pt($media->margins['right'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -class BoxPageMarginRightBottom extends BoxPageMargin { - function _position($media, $boxes, $context) { - list($left, $center, $right) = $this->_calc_sizes(mm2pt($media->real_height()), - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE], - $boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM]); - - $this->put_left($this->get_extra_left() + mm2pt($media->width() - $media->margins['right'])); - $this->put_top(-$this->get_extra_top() + mm2pt($media->height() - $media->margins['top']) - $left - $center); - - $this->put_full_height($right); - $this->put_full_width(mm2pt($media->margins['right'])); - - $this->_current_x = $this->get_left(); - $this->_current_y = $this->get_top(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.page.php b/thirdparty/html2ps_pdf/box.page.php deleted file mode 100644 index 72b16ff29..000000000 --- a/thirdparty/html2ps_pdf/box.page.php +++ /dev/null @@ -1,49 +0,0 @@ -GenericContainerBox(); - } - - function &create(&$pipeline, $rules) { - $box =& new BoxPage(); - - $state =& $pipeline->getCurrentCSSState(); - $state->pushDefaultState(); - $rules->apply($state); - $box->readCSS($state); - $state->popState(); - - return $box; - } - - function get_bottom_background() { - return $this->get_bottom_margin(); - } - - function get_left_background() { - return $this->get_left_margin(); - } - - function get_right_background() { - return $this->get_right_margin(); - } - - function get_top_background() { - return $this->get_top_margin(); - } - - function reflow(&$media) { - $this->put_left(mm2pt($media->margins['left'])); - $this->put_top(mm2pt($media->height() - $media->margins['top'])); - $this->put_width(mm2pt($media->real_width())); - $this->put_height(mm2pt($media->real_height())); - } - - function show(&$driver) { - $this->offset(0, $driver->offset); - parent::show($driver); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.php b/thirdparty/html2ps_pdf/box.php deleted file mode 100644 index c9cd2e9f9..000000000 --- a/thirdparty/html2ps_pdf/box.php +++ /dev/null @@ -1,576 +0,0 @@ - MAX_FRAME_NESTING_LEVEL) { - trigger_error('Frame nesting too deep', - E_USER_ERROR); - }; -} - -// Called when frame (and all nested frames, of course) processing have been completed -// -function dec_frame_level() { - global $g_frame_level; - $g_frame_level --; -} - -// Calculate 'display' CSS property according to CSS 2.1 paragraph 9.7 -// "Relationships between 'display', 'position', and 'float'" -// (The last table in that paragraph) -// -// @return flag indication of current box need a block box wrapper -// -function _fix_display_position_float(&$css_state) { - // Specified value -> Computed value - // inline-table -> table - // inline, run-in, table-row-group, table-column, table-column-group, table-header-group, - // table-footer-group, table-row, table-cell, table-caption, inline-block -> block - // others-> same as specified - - $display = $css_state->getProperty(CSS_DISPLAY); - - switch ($display) { - case "inline-table": - $css_state->setProperty(CSS_DISPLAY, 'table'); - return false; - case "inline": - case "run-in": - case "table-row-group": - case "table-column": - case "table-column-group": - case "table-header-group": - case "table-footer-group": - case "table-row": - case "table-cell": - case "table-caption": - case "inline-block": - // Note that as we're using some non-standard display values, we need to add them to translation table - $css_state->setProperty(CSS_DISPLAY, 'block'); - return false; - - // There are display types that cannot be directly converted to block; in this case we need to create a "wrapper" floating - // or positioned block box and put our real box into it. - case "-button": - case "-button-submit": - case "-button-reset": - case "-button-image": - case "-checkbox": - case "-iframe": - case "-image": - case "-legend": - case "-password": - case "-radio": - case "-select": - case "-text": - case "-textarea": - // No change - return true; - - // Display values that are not affected by "float" property - case "-frame": - case "-frameset": - // 'block' is assumed here - default: - // No change - return false; - } -} - -function &create_pdf_box(&$root, &$pipeline) { - if ($root != ''){ - $valueNodeType = $root->node_type(); - } else { - throw new Exception("ID_OUTPUT_NOT_GENERATE", 1); - } - - switch ($valueNodeType) { - case XML_DOCUMENT_NODE: - // TODO: some magic from traverse_dom_tree - $box =& create_document_box($root, $pipeline); - return $box; - case XML_ELEMENT_NODE: - $box =& create_node_box($root, $pipeline); - return $box; - case XML_TEXT_NODE: - $box =& create_text_box($root, $pipeline); - return $box; - default: - die("Unsupported node type:".$root->node_type()); - } -} - -function &create_document_box(&$root, &$pipeline) { - return BlockBox::create($root, $pipeline); -} - -function &create_node_box(&$root, &$pipeline) { - // Determine CSS proerty value for current child - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushDefaultState(); - - $default_css = $pipeline->getDefaultCSS(); - $default_css->apply($root, $css_state, $pipeline); - - // Store the default 'display' value; we'll need it later when checking for impossible tag/display combination - $handler =& CSS::get_handler(CSS_DISPLAY); - $default_display = $handler->get($css_state->getState()); - - // Initially generated boxes do not require block wrappers - // Block wrappers are required in following cases: - // - float property is specified for non-block box which cannot be directly converted to block box - // (a button, for example) - // - display set to block for such box - $need_block_wrapper = false; - - // TODO: some inheritance magic - - // Order is important. Items with most priority should be applied last - // Tag attributes - execute_attrs_before($root, $pipeline); - - // CSS stylesheet - $css =& $pipeline->getCurrentCSS(); - $css->apply($root, $css_state, $pipeline); - - // values from 'style' attribute - if ($root->has_attribute("style")) { - parse_style_attr($root, $css_state, $pipeline); - }; - - _fix_tag_display($default_display, $css_state, $pipeline); - - execute_attrs_after_styles($root, $pipeline); - - // CSS 2.1: - // 9.7 Relationships between 'display', 'position', and 'float' - // The three properties that affect box generation and layout B - // 'display', 'position', and 'float' B interact as follows: - // 1. If 'display' has the value 'none', then 'position' and 'float' do not apply. - // In this case, the element generates no box. - $position_handler =& CSS::get_handler(CSS_POSITION); - $float_handler =& CSS::get_handler(CSS_FLOAT); - - // 2. Otherwise, if 'position' has the value 'absolute' or 'fixed', the box is absolutely positioned, - // the computed value of 'float' is 'none', and display is set according to the table below. - // The position of the box will be determined by the 'top', 'right', 'bottom' and 'left' properties and - // the box's containing block. - $position = $css_state->getProperty(CSS_POSITION); - if ($position === CSS_PROPERTY_INHERIT) { - $position = $css_state->getInheritedProperty(CSS_POSITION); - }; - - if ($position === POSITION_ABSOLUTE || - $position === POSITION_FIXED) { - $float_handler->replace(FLOAT_NONE, $css_state); - $need_block_wrapper |= _fix_display_position_float($css_state); - }; - - // 3. Otherwise, if 'float' has a value other than 'none', the box is floated and 'display' is set - // according to the table below. - $float = $css_state->getProperty(CSS_FLOAT); - if ($float != FLOAT_NONE) { - $need_block_wrapper |= _fix_display_position_float($css_state); - }; - - // Process some special nodes, which should not get their 'display' values overwritten (unless - // current display value is 'none' - $current_display = $css_state->getProperty(CSS_DISPLAY); - - if ($current_display != 'none') { - switch ($root->tagname()) { - case 'body': - $handler =& CSS::get_handler(CSS_DISPLAY); - $handler->css('-body', $pipeline); - break; - case 'br': - $handler =& CSS::get_handler(CSS_DISPLAY); - $handler->css('-break', $pipeline); - break; - case 'img': - $handler =& CSS::get_handler(CSS_DISPLAY); - $need_block_wrapper |= ($handler->get($css_state->getState()) == "block"); - $handler->css('-image', $pipeline); - break; - }; - }; - - // 4. Otherwise, if the element is the root element, 'display' is set according to the table below. - // 5. Otherwise, the remaining 'display' property values apply as specified. (see _fix_display_position_float) - - switch($css_state->getProperty(CSS_DISPLAY)) { - case "block": - $box =& BlockBox::create($root, $pipeline); - break; - case "-break": - $box =& BRBox::create($pipeline); - break; - case "-body": - $box =& BodyBox::create($root, $pipeline); - break; - case "-button": - $box =& ButtonBox::create($root, $pipeline); - break; - case "-button-reset": - $box =& ButtonResetBox::create($root, $pipeline); - break; - case "-button-submit": - $box =& ButtonSubmitBox::create($root, $pipeline); - break; - case "-button-image": - $box =& ButtonImageBox::create($root, $pipeline); - break; - case "-checkbox": - $box =& CheckBox::create($root, $pipeline); - break; - case "-form": - $box =& FormBox::create($root, $pipeline); - break; - case "-frame": - inc_frame_level(); - $box =& FrameBox::create($root, $pipeline); - dec_frame_level(); - break; - case "-frameset": - inc_frame_level(); - $box =& FramesetBox::create($root, $pipeline); - dec_frame_level(); - break; - case "-iframe": - inc_frame_level(); - $box =& IFrameBox::create($root, $pipeline); - dec_frame_level(); - break; - case "-textarea": - $box =& TextAreaInputBox::create($root, $pipeline); - break; - case "-image": - $box =& IMGBox::create($root, $pipeline); - break; - case "inline": - $box =& InlineBox::create($root, $pipeline); - break; - case "inline-block": - $box =& InlineBlockBox::create($root, $pipeline); - break; - case "-legend": - $box =& LegendBox::create($root, $pipeline); - break; - case "list-item": - $box =& ListItemBox::create($root, $pipeline); - break; - case "none": - $box =& NullBox::create(); - break; - case "-radio": - $box =& RadioBox::create($root, $pipeline); - break; - case "-select": - $box =& SelectBox::create($root, $pipeline); - break; - case "table": - $box =& TableBox::create($root, $pipeline); - break; - case "table-cell": - $box =& TableCellBox::create($root, $pipeline); - break; - case "table-row": - $box =& TableRowBox::create($root, $pipeline); - break; - case "table-row-group": - case "table-header-group": - case "table-footer-group": - $box =& TableSectionBox::create($root, $pipeline); - break; - case "-text": - $box =& TextInputBox::create($root, $pipeline); - break; - case "-password": - $box =& PasswordInputBox::create($root, $pipeline); - break; - default: - /** - * If 'display' value is invalid or unsupported, fall back to 'block' mode - */ - error_log("Unsupported 'display' value: ".$css_state->getProperty(CSS_DISPLAY)); - $box =& BlockBox::create($root, $pipeline); - break; - } - - // Now check if pseudoelement should be created; in this case we'll use the "inline wrapper" box - // containing both generated box and pseudoelements - // - $pseudoelements = $box->getCSSProperty(CSS_HTML2PS_PSEUDOELEMENTS); - - if ($pseudoelements & CSS_HTML2PS_PSEUDOELEMENTS_BEFORE) { - // Check if :before preudoelement exists - $before =& create_pdf_pseudoelement($root, SELECTOR_PSEUDOELEMENT_BEFORE, $pipeline); - if (!is_null($before)) { - $box->insert_child(0, $before); - }; - }; - - if ($pseudoelements & CSS_HTML2PS_PSEUDOELEMENTS_AFTER) { - // Check if :after pseudoelement exists - $after =& create_pdf_pseudoelement($root, SELECTOR_PSEUDOELEMENT_AFTER, $pipeline); - if (!is_null($after)) { - $box->add_child($after); - }; - }; - - // Check if this box needs a block wrapper (for example, floating button) - // Note that to keep float/position information, we clear the CSS stack only - // AFTER the wrapper box have been created; BUT we should clear the following CSS properties - // to avoid the fake wrapper box actually affect the layout: - // - margin - // - border - // - padding - // - background - // - if ($need_block_wrapper) { - /** - * Clear POSITION/FLOAT properties on wrapped boxes - */ - $box->setCSSProperty(CSS_POSITION, POSITION_STATIC); - $box->setCSSProperty(CSS_POSITION, FLOAT_NONE); - - $wc = $box->getCSSProperty(CSS_WIDTH); - - // Note that if element width have been set as a percentage constraint and we're adding a block wrapper, - // then we need to: - // 1. set the same percentage width constraint to the wrapper element (will be done implicilty if we will not - // modify the 'width' CSS handler stack - // 2. set the wrapped element's width constraint to 100%, otherwise it will be narrower than expected - if ($wc->isFraction()) { - $box->setCSSProperty(CSS_WIDTH, new WCFraction(1)); - } - - $handler =& CSS::get_handler(CSS_MARGIN); - $box->setCSSProperty(CSS_MARGIN, $handler->default_value()); - - /** - * Note: default border does not contain any fontsize-dependent - * values, so we may safely use zero as a base font size - */ - $border_handler =& CSS::get_handler(CSS_BORDER); - $value = $border_handler->default_value(); - $value->units2pt(0); - $box->setCSSProperty(CSS_BORDER, $value); - - $handler =& CSS::get_handler(CSS_PADDING); - $box->setCSSProperty(CSS_PADDING, $handler->default_value()); - - $handler =& CSS::get_handler(CSS_BACKGROUND); - $box->setCSSProperty(CSS_BACKGROUND, $handler->default_value()); - - // Create "clean" block box - $wrapper =& new BlockBox(); - $wrapper->readCSS($pipeline->getCurrentCSSState()); - $wrapper->add_child($box); - - // Remove CSS propery values from stack - execute_attrs_after($root, $pipeline); - - $css_state->popState(); - - return $wrapper; - } else { - // Remove CSS propery values from stack - execute_attrs_after($root, $pipeline); - $css_state->popState(); - - return $box; - }; -} - -function &create_text_box(&$root, &$pipeline) { - // Determine CSS property value for current child - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushDefaultTextState(); - - /** - * No text boxes generated by empty text nodes. - * Note that nodes containing spaces only are NOT empty, as they may - * correspond, for example, to whitespace between tags. - */ - if ($root->content !== "") { - $box =& InlineBox::create($root, $pipeline); - } else { - $box = null; - } - - // Remove CSS property values from stack - $css_state->popState(); - - return $box; -} - -function &create_pdf_pseudoelement($root, $pe_type, &$pipeline) { - // Store initial values to CSS stack - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushDefaultState(); - - // Initially generated boxes do not require block wrappers - // Block wrappers are required in following cases: - // - float property is specified for non-block box which cannot be directly converted to block box - // (a button, for example) - // - display set to block for such box - $need_block_wrapper = false; - - $css =& $pipeline->getCurrentCSS(); - $css->apply_pseudoelement($pe_type, $root, $css_state, $pipeline); - - // Now, if no content found, just return - // - $content_obj = $css_state->getProperty(CSS_CONTENT); - if ($content_obj === CSS_PROPERTY_INHERIT) { - $content_obj = $css_state->getInheritedProperty(CSS_CONTENT); - }; - $content = $content_obj->render($pipeline->get_counters()); - - if ($content === '') { - $css_state->popState(); - - $dummy = null; - return $dummy; - }; - - // CSS 2.1: - // 9.7 Relationships between 'display', 'position', and 'float' - // The three properties that affect box generation and layout B - // 'display', 'position', and 'float' B interact as follows: - // 1. If 'display' has the value 'none', then 'position' and 'float' do not apply. - // In this case, the element generates no box. - - // 2. Otherwise, if 'position' has the value 'absolute' or 'fixed', the box is absolutely positioned, - // the computed value of 'float' is 'none', and display is set according to the table below. - // The position of the box will be determined by the 'top', 'right', 'bottom' and 'left' properties and - // the box's containing block. - $position_handler =& CSS::get_handler(CSS_POSITION); - $float_handler =& CSS::get_handler(CSS_FLOAT); - - $position = $position_handler->get($css_state->getState()); - if ($position === CSS_PROPERTY_INHERIT) { - $position = $css_state->getInheritedProperty(CSS_POSITION); - }; - - if ($position === POSITION_ABSOLUTE || $position === POSITION_FIXED) { - $float_handler->replace(FLOAT_NONE); - $need_block_wrapper |= _fix_display_position_float($css_state); - }; - - // 3. Otherwise, if 'float' has a value other than 'none', the box is floated and 'display' is set - // according to the table below. - $float = $float_handler->get($css_state->getState()); - if ($float != FLOAT_NONE) { - $need_block_wrapper |= _fix_display_position_float($css_state); - }; - - // 4. Otherwise, if the element is the root element, 'display' is set according to the table below. - // 5. Otherwise, the remaining 'display' property values apply as specified. (see _fix_display_position_float) - - // Note that pseudoelements may get only standard display values - $display_handler =& CSS::get_handler(CSS_DISPLAY); - $display = $display_handler->get($css_state->getState()); - - switch ($display) { - case 'block': - $box =& BlockBox::create_from_text($content, $pipeline); - break; - case 'inline': - $ws_handler =& CSS::get_handler(CSS_WHITE_SPACE); - $box =& InlineBox::create_from_text($content, - $ws_handler->get($css_state->getState()), - $pipeline); - break; - default: - error_log('Unsupported display value: '.$display_handler->get($css_state->getState())); - die; - } - - // Check if this box needs a block wrapper (for example, floating button) - // Note that to keep float/position information, we clear the CSS stack only - // AFTER the wrapper box have been created; BUT we should clear the following CSS properties - // to avoid the fake wrapper box actually affect the layout: - // - margin - // - border - // - padding - // - background - // - if ($need_block_wrapper) { - $handler =& CSS::get_handler(CSS_MARGIN); - $handler->css("0",$pipeline); - - pop_border(); - push_border(default_border()); - - pop_padding(); - push_padding(default_padding()); - - $handler =& CSS::get_handler(CSS_BACKGROUND); - $handler->css('transparent',$pipeline); - - // Create "clean" block box - $wrapper =& new BlockBox(); - $wrapper->readCSS($pipeline->getCurrentCSSState()); - $wrapper->add_child($box); - - $css_state->popState(); - return $wrapper; - } else { - $css_state->popState(); - return $box; - }; -} - -function is_inline(&$box) { - if (is_a($box, "TextBox")) { return true; }; - - $display = $box->getCSSProperty(CSS_DISPLAY); - - return - $display === '-button' || - $display === '-button-reset' || - $display === '-button-submit' || - $display === '-button-image' || - $display === '-checkbox' || - $display === '-image' || - $display === 'inline' || - $display === 'inline-block' || - $display === 'none' || - $display === '-radio' || - $display === '-select' || - $display === '-text' || - $display === '-password'; -} - -function is_whitespace(&$box) { - return - is_a($box, "WhitespaceBox") || - is_a($box, "NullBox"); -} - -function is_container(&$box) { - return is_a($box, "GenericContainerBox") && - !is_a($box, "GenericInlineBox") || - is_a($box, "InlineBox"); -} - -function is_span(&$box) { - return is_a($box, "InlineBox"); -} - -function is_table_cell(&$box) { - return is_a($box, "TableCellBox"); -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.radiobutton.php b/thirdparty/html2ps_pdf/box.radiobutton.php deleted file mode 100644 index a0b7f14ce..000000000 --- a/thirdparty/html2ps_pdf/box.radiobutton.php +++ /dev/null @@ -1,148 +0,0 @@ -has_attribute('checked'); - - $value = $root->get_attribute('value'); - if (trim($value) == "") { - error_log("Radiobutton with empty 'value' attribute"); - $value = sprintf("___Value%s",G::encryptOld(time().rand())); - }; - - $css_state = $pipeline->getCurrentCSSState(); - - $box =& new RadioBox($checked, $value, - $css_state->getProperty(CSS_HTML2PS_FORM_RADIOGROUP)); - $box->readCSS($css_state); - return $box; - } - - function RadioBox($checked, $value, $group_name) { - // Call parent constructor - $this->GenericBox(); - - // Check the box state - $this->_checked = $checked; - - /** - * Store the form value for this radio button - */ - $this->_value = trim($value); - - $this->_group_name = $group_name; - - // Setup box size: - $this->default_baseline = units2pt(RADIOBUTTON_SIZE); - $this->height = units2pt(RADIOBUTTON_SIZE); - $this->width = units2pt(RADIOBUTTON_SIZE); - - $this->setCSSProperty(CSS_DISPLAY,'-radio'); - } - - // Inherited from GenericFormattedBox - function get_min_width(&$context) { - return $this->get_full_width($context); - } - - function get_max_width(&$context) { - return $this->get_full_width($context); - } - - function get_max_width_natural(&$context) { - return $this->get_full_width($context); - } - - function reflow(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - // set default baseline - $this->baseline = $this->default_baseline; - - // append to parent line box - $parent->append_line($this); - - // Determine coordinates of upper-left _margin_ corner - $this->guess_corner($parent); - - // Offset parent current X coordinate - $parent->_current_x += $this->get_full_width(); - - // Extends parents height - $parent->extend_height($this->get_bottom_margin()); - } - - function show(&$driver) { - // Cet check center - $x = ($this->get_left() + $this->get_right()) / 2; - $y = ($this->get_top() + $this->get_bottom()) / 2; - - // Calculate checkbox size - $size = $this->get_width() / 3; - - // Draw checkbox - $driver->setlinewidth(0.25); - $driver->circle($x, $y, $size); - $driver->stroke(); - - /** - * Render the interactive button (if requested and possible) - * Also, if no value were specified, then this radio button should not be interactive - */ - global $g_config; - if ($g_config['renderforms'] && $this->_value != "") { - $driver->field_radio($x - $size, - $y + $size, - 2*$size, - 2*$size, - $this->_group_name, - $this->_value, - $this->_checked); - } else { - // Draw checkmark if needed - if ($this->_checked) { - $check_size = $this->get_width() / 6; - - $driver->circle($x, $y, $check_size); - $driver->fill(); - } - }; - - return true; - } - - function get_ascender() { - return $this->get_height(); - } - - function get_descender() { - return 0; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.select.php b/thirdparty/html2ps_pdf/box.select.php deleted file mode 100644 index 38c5ac2d1..000000000 --- a/thirdparty/html2ps_pdf/box.select.php +++ /dev/null @@ -1,128 +0,0 @@ -InlineBox(); - - $this->_name = $name; - $this->_value = $value; - $this->_options = $options; - } - - function &create(&$root, &$pipeline) { - $name = $root->get_attribute('name'); - - $value = ""; - $options = array(); - - // Get option list - $child = $root->first_child(); - $content = ""; - $size = 0; - while ($child) { - if ($child->node_type() == XML_ELEMENT_NODE) { - $size = max($size, strlen($child->get_content())); - if (empty($content) || $child->has_attribute("selected")) { - $content = preg_replace("/\s/"," ",$child->get_content()); - $value = trim($child->get_content()); - }; - - if ($child->has_attribute('value')) { - $options[] = array($child->get_attribute('value'), - $child->get_content()); - } else { - $options[] = array($child->get_content(), - $child->get_content()); - }; - }; - $child = $child->next_sibling(); - }; - $content = str_pad($content, $size*SIZE_SPACE_KOEFF + SELECT_SPACE_PADDING, " "); - - $box =& new SelectBox($name, $value, $options); - $box->readCSS($pipeline->getCurrentCSSState()); - - // Add text to be rendered in non-interactive mode - $ibox = InlineBox::create_from_text($content, WHITESPACE_PRE, $pipeline); - for ($i=0, $size = count($ibox->content); $i<$size; $i++) { - $box->add_child($ibox->content[$i]); - }; - - return $box; - } - - function show(&$driver) { - global $g_config; - if ($g_config['renderforms']) { - return $this->show_field($driver); - } else { - return $this->show_rendered($driver); - }; - } - - function show_field(&$driver) { - if (is_null(GenericFormattedBox::show($driver))) { - return null; - }; - - $driver->field_select($this->get_left_padding(), - $this->get_top_padding(), - $this->get_width() + $this->get_padding_left() + $this->get_padding_right(), - $this->get_height(), - $this->_name, - $this->_value, - $this->_options); - return true; - } - - function show_rendered(&$driver) { - // Now set the baseline of a button box to align it vertically when flowing isude the - // text line - $this->default_baseline = $this->content[0]->baseline + $this->get_extra_top(); - $this->baseline = $this->content[0]->baseline + $this->get_extra_top(); - - if (is_null(GenericContainerBox::show($driver))) { - return null; - }; - - $padding = $this->getCSSProperty(CSS_PADDING); - $button_height = $this->get_height() + $padding->top->value + $padding->bottom->value; - - // Show arrow button box - $driver->setrgbcolor(0.93, 0.93, 0.93); - $driver->moveto($this->get_right_padding(), $this->get_top_padding()); - $driver->lineto($this->get_right_padding() - $button_height, $this->get_top_padding()); - $driver->lineto($this->get_right_padding() - $button_height, $this->get_bottom_padding()); - $driver->lineto($this->get_right_padding(), $this->get_bottom_padding()); - $driver->closepath(); - $driver->fill(); - - // Show box boundary - $driver->setrgbcolor(0,0,0); - $driver->moveto($this->get_right_padding(), $this->get_top_padding()); - $driver->lineto($this->get_right_padding() - $button_height, $this->get_top_padding()); - $driver->lineto($this->get_right_padding() - $button_height, $this->get_bottom_padding()); - $driver->lineto($this->get_right_padding(), $this->get_bottom_padding()); - $driver->closepath(); - $driver->stroke(); - - // Show arrow - $driver->setrgbcolor(0,0,0); - $driver->moveto($this->get_right_padding() - SELECT_BUTTON_TRIANGLE_PADDING, - $this->get_top_padding() - SELECT_BUTTON_TRIANGLE_PADDING); - $driver->lineto($this->get_right_padding() - $button_height + SELECT_BUTTON_TRIANGLE_PADDING, - $this->get_top_padding() - SELECT_BUTTON_TRIANGLE_PADDING); - $driver->lineto($this->get_right_padding() - $button_height/2, $this->get_bottom_padding() + SELECT_BUTTON_TRIANGLE_PADDING); - $driver->closepath(); - $driver->fill(); - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.table.cell.fake.php b/thirdparty/html2ps_pdf/box.table.cell.fake.php deleted file mode 100644 index 84ab13592..000000000 --- a/thirdparty/html2ps_pdf/box.table.cell.fake.php +++ /dev/null @@ -1,73 +0,0 @@ -getCurrentCSSState(); - $css_state->pushDefaultState(); - - $box->readCSS($css_state); - - $nullbox =& new NullBox; - $nullbox->readCSS($css_state); - $box->add_child($nullbox); - - $box->readCSS($css_state); - - $css_state->popState(); - - return $box; - } - - function FakeTableCellBox() { - // Required to reset any constraints initiated by CSS properties - $this->colspan = 1; - $this->rowspan = 1; - $this->GenericContainerBox(); - - $this->setCSSProperty(CSS_DISPLAY, 'table-cell'); - $this->setCSSProperty(CSS_VERTICAL_ALIGN, VA_MIDDLE); - } - - function show(&$viewport) { - return true; - } - - function is_fake() { - return true; - } - - function get_width_constraint() { - return new WCNone(); - } - - function get_height_constraint() { - return new HCConstraint(null, null, null); - } - - function get_height() { - return 0; - } - - function get_top_margin() { - return 0; - } - - function get_full_height() { - return 0; - } - - function get_max_width() { - return 0; - } - - function get_min_width() { - return 0; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.table.cell.php b/thirdparty/html2ps_pdf/box.table.cell.php deleted file mode 100644 index a7df23a67..000000000 --- a/thirdparty/html2ps_pdf/box.table.cell.php +++ /dev/null @@ -1,322 +0,0 @@ -_cache[CACHE_MIN_WIDTH])) { - return $this->_cache[CACHE_MIN_WIDTH]; - }; - - $content_size = count($this->content); - - /** - * If box does not have any context, its minimal width is determined by extra horizontal space: - * padding, border width and margins - */ - if ($content_size == 0) { - $min_width = $this->_get_hor_extra(); - $this->_cache[CACHE_MIN_WIDTH] = $min_width; - return $min_width; - }; - - /** - * If we're in 'nowrap' mode, minimal and maximal width will be equal - */ - $white_space = $this->getCSSProperty(CSS_WHITE_SPACE); - $pseudo_nowrap = $this->getCSSProperty(CSS_HTML2PS_NOWRAP); - if ($white_space == WHITESPACE_NOWRAP || - $pseudo_nowrap == NOWRAP_NOWRAP) { - $min_width = $this->get_min_nowrap_width($context); - $this->_cache[CACHE_MIN_WIDTH] = $min_width; - return $min_width; - } - - /** - * We need to add text indent size to the with of the first item - */ - $start_index = 0; - while ($start_index < $content_size && - $this->content[$start_index]->out_of_flow()) { - $start_index++; - }; - - if ($start_index < $content_size) { - $ti = $this->getCSSProperty(CSS_TEXT_INDENT); - $minw = - $ti->calculate($this) + - $this->content[$start_index]->get_min_width($context); - } else { - $minw = 0; - }; - - for ($i=$start_index; $i<$content_size; $i++) { - $item =& $this->content[$i]; - if (!$item->out_of_flow()) { - $minw = max($minw, $item->get_min_width_natural($context)); - }; - } - - /** - * Apply width constraint to min width. Return maximal value - */ - $wc = $this->getCSSProperty(CSS_WIDTH); - $min_width = max($minw, - $wc->apply($minw, $this->parent->get_width())) + $this->_get_hor_extra(); - $this->_cache[CACHE_MIN_WIDTH] = $min_width; - return $min_width; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_BORDER_COLLAPSE)); - - $this->_readCSSLengths($state, - array(CSS_HTML2PS_CELLPADDING, - CSS_HTML2PS_CELLSPACING, - CSS_HTML2PS_TABLE_BORDER)); - } - - function isCell() { - return true; - } - - function is_fake() { - return false; - } - - function &create(&$root, &$pipeline) { - $css_state = $pipeline->getCurrentCSSState(); - - $box =& new TableCellBox(); - $box->readCSS($css_state); - - // Use cellspacing / cellpadding values from the containing table - $cellspacing = $box->getCSSProperty(CSS_HTML2PS_CELLSPACING); - $cellpadding = $box->getCSSProperty(CSS_HTML2PS_CELLPADDING); - - // FIXME: I'll need to resolve that issue with COLLAPSING border model. Now borders - // are rendered separated - - // if not border set explicitly, inherit value set via border attribute of TABLE tag - $border_handler = CSS::get_handler(CSS_BORDER); - if ($border_handler->is_default($box->getCSSProperty(CSS_BORDER))) { - $table_border = $box->getCSSProperty(CSS_HTML2PS_TABLE_BORDER); - $box->setCSSProperty(CSS_BORDER, $table_border); - }; - - $margin =& CSS::get_handler(CSS_MARGIN); - $box->setCSSProperty(CSS_MARGIN, $margin->default_value()); - - $h_padding =& CSS::get_handler(CSS_PADDING); - $padding = $box->getCSSProperty(CSS_PADDING); - - if ($h_padding->is_default($padding)) { - $padding->left->_units = $cellpadding; - $padding->left->auto = false; - $padding->left->percentage = null; - - $padding->right->_units = $cellpadding; - $padding->right->auto = false; - $padding->right->percentage = null; - - $padding->top->_units = $cellpadding; - $padding->top->auto = false; - $padding->top->percentage = null; - - $padding->bottom->_units = $cellpadding; - $padding->bottom->auto = false; - $padding->bottom->percentage = null; - - /** - * Note that cellpadding/cellspacing values never use font-size based units - * ('em' and 'ex'), so we may pass 0 as base_font_size parameter - it - * will not be used anyway - */ - $padding->units2pt(0); - - $box->setCSSProperty(CSS_PADDING, $padding); - }; - - if ($box->getCSSProperty(CSS_BORDER_COLLAPSE) != BORDER_COLLAPSE) { - $margin_value = $box->getCSSProperty(CSS_MARGIN); - if ($margin->is_default($margin_value)) { - $length = $cellspacing->copy(); - $length->scale(0.5); - - $margin_value->left->_units = $length; - $margin_value->left->auto = false; - $margin_value->left->percentage = null; - - $margin_value->right->_units = $length; - $margin_value->right->auto = false; - $margin_value->right->percentage = null; - - $margin_value->top->_units = $length; - $margin_value->top->auto = false; - $margin_value->top->percentage = null; - - $margin_value->bottom->_units = $length; - $margin_value->bottom->auto = false; - $margin_value->bottom->percentage = null; - - /** - * Note that cellpadding/cellspacing values never use font-size based units - * ('em' and 'ex'), so we may pass 0 as base_font_size parameter - it - * will not be used anyway - */ - $margin_value->units2pt(0); - - $box->setCSSProperty(CSS_MARGIN, $margin_value); - } - }; - - // Save colspan and rowspan information - $box->colspan = max(1,(int)$root->get_attribute('colspan')); - $box->rowspan = max(1,(int)$root->get_attribute('rowspan')); - - // Create content - - // 'vertical-align' CSS value is not inherited from the table cells - $css_state->pushState(); - - $handler =& CSS::get_handler(CSS_VERTICAL_ALIGN); - $handler->replace($handler->default_value(), - $css_state); - - $box->create_content($root, $pipeline); - - global $g_config; - if ($g_config['mode'] == "quirks") { - // QUIRKS MODE: - // H1-H6 and P elements should have their top/bottom margin suppressed if they occur as the first/last table cell child - // correspondingly; note that we cannot do it usung CSS rules, as there's no selectors for the last child. - // - $child = $root->first_child(); - if ($child) { - while ($child && $child->node_type() != XML_ELEMENT_NODE) { - $child = $child->next_sibling(); - }; - - if ($child) { - if (array_search(strtolower($child->tagname()), array("h1","h2","h3","h4","h5","h6","p"))) { - $box->_suppress_first = true; - } - }; - }; - - $child = $root->last_child(); - if ($child) { - while ($child && $child->node_type() != XML_ELEMENT_NODE) { - $child = $child->previous_sibling(); - }; - - if ($child) { - if (array_search(strtolower($child->tagname()), array("h1","h2","h3","h4","h5","h6","p"))) { - $box->_suppress_last = true; - } - }; - }; - }; - - // pop the default vertical-align value - $css_state->popState(); - - return $box; - } - - function TableCellBox() { - // Call parent constructor - $this->GenericContainerBox(); - - $this->_suppress_first = false; - $this->_suppress_last = false; - - $this->colspan = 1; - $this->rowspan = 1; - - // This value will be overwritten in table 'normalize_parent' method - // - $this->column = 0; - $this->row = 0; - } - - // Inherited from GenericFormattedBox - - function get_cell_baseline() { - $content = $this->get_first_data(); - if (is_null($content)) { - return 0; - } - return $content->baseline; - } - - // Flow-control - function reflow(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - global $g_config; - $size = count($this->content); - if ($g_config['mode'] == "quirks" && $size > 0) { - // QUIRKS MODE: - // H1-H6 and P elements should have their top/bottom margin suppressed if they occur as the first/last table cell child - // correspondingly; note that we cannot do it usung CSS rules, as there's no selectors for the last child. - // - - $first =& $this->get_first(); - if (!is_null($first) && $this->_suppress_first && $first->isBlockLevel()) { - $first->margin->top->value = 0; - $first->margin->top->percentage = null; - }; - - $last =& $this->get_last(); - if (!is_null($last) && $this->_suppress_last && $last->isBlockLevel()) { - $last->margin->bottom->value = 0; - $last->margin->bottom->percentage = null; - }; - }; - - // Determine upper-left _content_ corner position of current box - $this->put_left($parent->_current_x + $this->get_extra_left()); - - // NOTE: Table cell margin is used as a cell-spacing value - $border = $this->getCSSProperty(CSS_BORDER); - $padding = $this->getCSSProperty(CSS_PADDING); - $this->put_top($parent->_current_y - - $border->top->get_width() - - $padding->top->value); - - // CSS 2.1: - // Floats, absolutely positioned elements, inline-blocks, table-cells, and elements with 'overflow' other than - // 'visible' establish new block formatting contexts. - $context->push(); - $context->push_container_uid($this->uid); - - // Reflow cell content - $this->reflow_content($context); - - // Extend the table cell height to fit all contained floats - // - // Determine the bottom edge corrdinate of the bottommost float - // - $float_bottom = $context->float_bottom(); - - if (!is_null($float_bottom)) { - $this->extend_height($float_bottom); - }; - - // Restore old context - $context->pop_container_uid(); - $context->pop(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.table.php b/thirdparty/html2ps_pdf/box.table.php deleted file mode 100644 index 410ff54fd..000000000 --- a/thirdparty/html2ps_pdf/box.table.php +++ /dev/null @@ -1,1341 +0,0 @@ -GenericContainerBox(); - - // List of column width constraints - $this->cwc = array(); - - $this->_cached_min_widths = null; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSS($state, - array(CSS_BORDER_COLLAPSE, - CSS_TABLE_LAYOUT)); - - $this->_readCSSLengths($state, - array(CSS_HTML2PS_CELLPADDING, - CSS_HTML2PS_CELLSPACING)); - } - - function &cell($r, $c) { - return $this->content[$r]->content[$c]; - } - - function rows_count() { - return count($this->content); - } - - // NOTE: assumes that rows are already normalized! - function cols_count() { - return count($this->content[0]->content); - } - - // FIXME: just a stub - function append_line(&$e) {} - - function &create(&$root, &$pipeline) { - $box =& new TableBox(); - $box->readCSS($pipeline->getCurrentCSSState()); - - // This row should not inherit any table specific properties! - // 'overflow' for example - // - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->pushDefaultState(); - - $row =& new TableRowBox($root); - $row->readCSS($css_state); - - $box->add_child($row); - - $css_state->popState(); - - // Setup cellspacing / cellpadding values - if ($box->getCSSProperty(CSS_BORDER_COLLAPSE) == BORDER_COLLAPSE) { - $handler =& CSS::get_handler(CSS_PADDING); - $box->setCSSProperty(CSS_PADDING, $handler->default_value()); - }; - - // Set text-align to 'left'; all browsers I've ever seen prevent inheriting of - // 'text-align' property by the tables. - // Say, in the following example the text inside the table cell will be aligned left, - // instead of inheriting 'center' value. - // - //
- //
- //
TEST - //
- // - $handler =& CSS::get_handler(CSS_TEXT_ALIGN); - $handler->css('left', $pipeline); - - // Parse table contents - $child = $root->first_child(); - $col_index = 0; - while ($child) { - if ($child->node_type() === XML_ELEMENT_NODE) { - if ($child->tagname() === 'colgroup') { - // COLGROUP tags do not generate boxes; they contain information on the columns - // - $col_index = $box->parse_colgroup_tag($child, $col_index); - } else { - $child_box =& create_pdf_box($child, $pipeline); - $box->add_child($child_box); - }; - }; - - $child = $child->next_sibling(); - }; - - $box->normalize($pipeline); - $box->normalize_cwc(); - $box->normalize_rhc(); - $box->normalize_parent(); - - return $box; - } - - // Parse the data in COL node; - // currently only 'width' attribute is parsed - // - // @param $root reference to a COL dom node - // @param $index index of column corresponding to this node - function parse_col(&$root, $index) { - if ($root->has_attribute('width')) { - // The value if 'width' attrubute is "multi-length"; - // it means that it could be: - // 1. absolute value (10) - // 2. percentage value (10%) - // 3. relative value (3* or just *) - // - - // TODO: support for relative values - - $value = $root->get_attribute('width'); - if (is_percentage($value)) { - $this->cwc[$index] = new WCFraction(((int)$value) / 100); - } else { - $this->cwc[$index] = new WCConstant(px2pt((int)$value)); - }; - }; - } - - // Traverse the COLGROUP node and save the column-specific information - // - // @param $root COLGROUP node - // @param $start_index index of the first column in this column group - // @return index of column after the last processed - // - function parse_colgroup_tag(&$root, $start_index) { - $index = $start_index; - - // COLGROUP may contain zero or more COLs - // - $child = $root->first_child(); - while ($child) { - if ($child->tagname() === 'col') { - $this->parse_col($child, $index); - $index ++; - }; - $child = $child->next_sibling(); - }; - - return $index; - } - - function normalize_parent() { - for ($i=0; $icontent); $i++) { - $this->content[$i]->parent =& $this; - - for ($j=0; $jcontent[$i]->content); $j++) { - $this->content[$i]->content[$j]->parent =& $this; - - // Set the column number for the cell to further reference - $this->content[$i]->content[$j]->column = $j; - - // Set the column number for the cell to further reference - $this->content[$i]->content[$j]->row = $i; - } - } - } - - // Normalize row height constraints - // - // no return value - // - function normalize_rhc() { - // Initialize the constraint array with the empty constraints - $this->rhc = array(); - for ($i=0, $size = count($this->content); $i < $size; $i++) { - $this->rhc[$i] = new HCConstraint(null, null, null); - }; - - // Scan all cells - for ($i=0, $num_rows = count($this->content); $i < $num_rows; $i++) { - $row =& $this->content[$i]; - - for ($j=0, $num_cells = count($row->content); $j < $num_cells; $j++) { - $cell = $row->content[$j]; - - // Ignore cells with rowspans - if ($cell->rowspan > 1) { continue; } - - // Put current cell width constraint as a columns with constraint - $this->rhc[$i] = merge_height_constraint($this->rhc[$i], $cell->get_height_constraint()); - - // Now reset the cell width constraint; cell width should be affected by ceolumn constraint only - $hc = new HCConstraint(null, null, null); - $cell->put_height_constraint($hc); - }; - }; - } - - // Normalize column width constraints - // Note that cwc array may be partially prefilled by a GOLGROUP/COL-generated constraints! - // - function normalize_cwc() { - // Note we've called 'normalize' method prior to 'normalize_cwc', - // so we already have all rows of equal length - // - for ($i=0, $num_cols = count($this->content[0]->content); $i < $num_cols; $i++) { - // Check if there's already COL-generated constraint for this column - // - if (!isset($this->cwc[$i])) { - $this->cwc[$i] = new WCNone; - }; - } - - // For each column (we should have table already normalized - so lengths of all rows are equal) - for ($i=0, $num_cols = count($this->content[0]->content); $i < $num_cols; $i++) { - - // For each row - for ($j=0, $num_rows = count($this->content); $j < $num_rows; $j++) { - $cell =& $this->content[$j]->content[$i]; - - // Ignore cells with colspans - if ($cell->colspan > 1) { continue; } - - // Put current cell width constraint as a columns with constraint - $this->cwc[$i] = merge_width_constraint($this->cwc[$i], $cell->getCSSProperty(CSS_WIDTH)); - - // Now reset the cell width constraint; cell width should be affected by ceolumn constraint only - $cell->setCSSProperty(CSS_WIDTH, new WCNone); - } - } - - // Now fix the overconstrained columns; first of all, sum of all percentage-constrained - // columns should be less or equal than 100%. If sum is greater, the last column - // percentage is reduced in order to get 100% as a result. - $rest = 1; - for ($i=0, $num_cols = count($this->content[0]->content); $i < $num_cols; $i++) { - // Get current CWC - $wc =& $this->cwc[$i]; - - if ($wc->isFraction()) { - $wc->fraction = min($rest, $wc->fraction); - $rest -= $wc->fraction; - }; - }; - - /** - * Now, let's process cells spanninig several columns. - */ - - /** - * Let's check if there's any colspanning cells filling the whole table width and - * containing non-100% percentage constraint - */ - - // For each row - for ($j=0; $jcontent); $j++) { - /** - * Check if the first cell in this row satisfies the above condition - */ - - $cell =& $this->content[$j]->content[0]; - - /** - * Note that there should be '>='; '==' is not enough, as sometimes cell is declared to span - * more columns than there are in the table - */ - $cell_wc = $cell->getCSSProperty(CSS_WIDTH); - if (!$cell->is_fake() && - $cell_wc->isFraction() && - $cell->colspan >= count($this->content[$j])) { - - /** - * Clear the constraint; anyway, it should be replaced with 100% in this case, as - * this cell is the only cell in the row - */ - - $wc = new WCNone; - $cell->setCSSProperty(CSS_WIDTH, $wc); - }; - }; - } - - /** - * Normalize table by adding fake cells for colspans and rowspans - * Also, if there is any empty rows (without cells), add at least one fake cell - */ - function normalize(&$pipeline) { - /** - * Fix empty rows by adding a fake cell - */ - for ($i=0; $icontent); $i++) { - $row =& $this->content[$i]; - if (count($row->content) == 0) { - $this->content[$i]->add_fake_cell_before(0, $pipeline); - }; - }; - - /** - * first, normalize colspans - */ - for ($i=0; $icontent); $i++) { - $this->content[$i]->normalize($pipeline); - }; - - /** - * second, normalize rowspans - * - * We should scan table column-by-column searching for row-spanned cells; - * consider the following example: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
A1B1C1
A2C2
C3
- */ - - $i_col = 0; - do { - $flag = false; - for ($i_row=0; $i_rowcontent); $i_row++) { - $row =& $this->content[$i_row]; - if ($i_col < count($row->content)) { - $flag = true; - - // Check if this rowspan runs off the last row - $row->content[$i_col]->rowspan = min($row->content[$i_col]->rowspan, - count($this->content) - $i_row); - - if ($row->content[$i_col]->rowspan > 1) { - - // Note that min($i_row + $row->content[$i_col]->rowspan, count($this->content)) is - // required, as we cannot be sure that table actually contains the number - // of rows used in rowspan - // - for ($k=$i_row+1; $kcontent[$i_col]->rowspan, count($this->content)); $k++) { - - // Note that if rowspanned cell have a colspan, we should insert SEVERAL fake cells! - // - for ($cs = 0; $cs < $row->content[$i_col]->colspan; $cs++) { - $this->content[$k]->add_fake_cell_before($i_col, $pipeline); - }; - }; - }; - }; - }; - - $i_col ++; - } while ($flag); - - // third, make all rows equal in length by padding with fake-cells - $length = 0; - for ($i=0; $icontent); $i++) { - $length = max($length, count($this->content[$i]->content)); - } - for ($i=0; $icontent); $i++) { - $row =& $this->content[$i]; - while ($length > count($row->content)) { - $row->append_fake_cell($pipeline); - } - } - } - - // Overrides default 'add_child' in GenericFormattedBox - function add_child(&$item) { - // Check if we're trying to add table cell to current table directly, without any table-rows - if ($item->isCell()) { - // Add cell to the last row - $last_row =& $this->content[count($this->content)-1]; - $last_row->add_child($item); - - } elseif ($item->isTableRow()) { - // If previous row is empty, remove it (get rid of automatically generated table row in constructor) - if (count($this->content) > 0) { - if (count($this->content[count($this->content)-1]->content) == 0) { - array_pop($this->content); - } - }; - - // Just add passed row - $this->content[] =& $item; - } elseif ($item->isTableSection()) { - // Add table section rows to current table, then drop section box - for ($i=0, $size = count($item->content); $i < $size; $i++) { - $this->add_child($item->content[$i]); - } - }; - } - - // Table-specific functions - - // PREDICATES - function is_constrained_column($index) { - return !is_a($this->get_cwc($index),"wcnone"); - } - - // ROWSPANS - function table_have_rowspan($x,$y) { - return $this->content[$y]->content[$x]->rowspan; - } - - function table_fit_rowspans($heights) { - $spans = $this->get_rowspans(); - - // Scan all cells spanning several rows - foreach ($spans as $span) { - $cell =& $this->content[$span->row]->content[$span->column]; - - // now check if cell height is less than sum of spanned rows heights - $row_heights = array_slice($heights, $span->row, $span->size); - - // Vertical-align current cell - // calculate (approximate) row baseline - $baseline = $this->content[$span->row]->get_row_baseline(); - - // apply vertical-align - $vertical_align = $cell->getCSSProperty(CSS_VERTICAL_ALIGN); - - $va_fun = CSSVerticalAlign::value2pdf($vertical_align); - $va_fun->apply_cell($cell, array_sum($row_heights), $baseline); - - if (array_sum($row_heights) > $cell->get_full_height()) { - // Make cell fill all available vertical space - $cell->put_full_height(array_sum($row_heights)); - }; - } - } - - function get_rowspans() { - $spans = array(); - - for ($i=0; $icontent); $i++) { - $spans = array_merge($spans, $this->content[$i]->get_rowspans($i)); - }; - - return $spans; - } - - // ROW-RELATED - - /** - * Calculate set of row heights - * - * At the moment (*), we have a sum of total content heights of percentage constraned rows in - * $ch variable, and a "free" (e.g. table height - sum of all non-percentage constrained heights) height - * in the $h variable. Obviously, percentage-constrained rows should be expanded to fill the free space - * - * On the other size, there should be a maximal value to expand them to; for example, if sum of - * percentage constraints is 33%, then all these rows should fill only 1/3 of the table height, - * whatever the content height of other rows is. In this case, other (non-constrained) rows - * should be expanded to fill space left. - * - * In the latter case, if there's no non-constrained rows, the additional space should be filled by - * "plain" rows without any constraints - * - * @param $minheight the minimal allowed height of the row; as we'll need to expand rows later - * and rows containing totally empty cells will have zero height - * @return array of row heights in media points - */ - function _row_heights($minheight) { - $heights = array(); - $cheights = array(); - $height = $this->get_height(); - - // Calculate "content" and "constrained" heights of table rows - - for ($i=0; $icontent); $i++) { - $heights[] = max($minheight, $this->content[$i]->row_height()); - - // Apply row height constraint - // we need to specify box which parent will serve as a base for height calculation; - - $hc = $this->get_rhc($i); - $cheights[] = $hc->apply($heights[$i], $this->content[$i], null); - }; - - // Collapse "constrained" heights of percentage-constrained rows, if they're - // taking more that available space - - $flags = $this->get_non_percentage_constrained_height_flags(); - $h = $height; - $ch = 0; - for ($i=0; $i 0) { - $scale = $h / $ch; - - if ($scale < 1) { - for ($i=0; $iget_non_constrained_height_flags(); - $h = $height; - $ch = 0; - for ($i=0; $i 0) { - $scale = $h / $ch; - - if ($scale < 1) { - for ($i=0; $iget_non_percentage_constrained_height_flags(); - $h = $height; - $ch = 0; - for ($i=0; $i 0) { - $scale = $h / $ch; - - if ($scale < 1) { - for ($i=0; $iget_top(); - - $size = count($heights); - for ($i=0; $i<$size; $i++) { - $this->content[$i]->table_resize_row($heights[$i], $row_top); - $row_top -= $heights[$i]; - } - - // Set table height to sum of row heights - $this->put_height(array_sum($heights)); - } - - // // Calculate given table row height - // // - // // @param $index zero-based row index - // // @return value of row height (in media points) - // // - // function table_row_height($index) { - // // Select row - // $row =& $this->content[$index]; - - // // Calculate height of each cell contained in this row - // $height = 0; - // for ($i=0; $icontent); $i++) { - // if ($this->table_have_rowspan($i, $index) <= 1) { - // $height = max($height, $row->content[$i]->get_full_height()); - // } - // } - - // return $height; - // } - - // function get_row_baseline($index) { - // // Get current row - // $row =& $this->content[$index]; - // // Calculate maximal baseline for each cell contained - // $baseline = 0; - // for ($i = 0; $i < count($row->content); $i++) { - // // Cell baseline is the baseline of its first line box inside this cell - // if (count($row->content[$i]->content) > 0) { - // $baseline = max($baseline, $row->content[$i]->content[0]->baseline); - // }; - // }; - // return $baseline; - // } - - // Width constraints - function get_cwc($col) { - return $this->cwc[$col]; - } - - // Get height constraint for the given row - // - // @param $row number of row (zero-based) - // - // @return HCConstraint object - // - function get_rhc($row) { - return $this->rhc[$row]; - } - - // Width calculation - // - // Note that if table have no width constraint AND some columns are percentage constrained, - // then the width of the table can be determined based on the minimal column width; - // e.g. if some column have minimal width of 10px and 10% width constraint, - // then table will have minimal width of 100px. If there's several percentage-constrained columns, - // then we choose from the generated values the maximal one - // - // Of course, all of the above can be applied ONLY to table without width constraint; - // of theres any w.c. applied to the table, it will have greater than column constraints - // - // We must take constrained table width into account; if there's a width constraint, - // then we must choose the maximal value between the constrained width and sum of minimal - // columns widths - so, expanding the constrained width in case it is not enough to fit - // the table contents - // - // @param $context referene to a flow context object - // @return minimal box width (including the padding/margin/border width! NOT content width) - // - function get_min_width(&$context) { - $widths = $this->get_table_columns_min_widths($context); - $maxw = $this->get_table_columns_max_widths($context); - - // Expand some columns to fit colspanning cells - $widths = $this->_table_apply_colspans($widths, $context, 'get_min_width', $widths, $maxw); - - $width = array_sum($widths); - $base_width = $width; - - $wc = $this->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { - // Check if constrained table width should be expanded to fit the table contents - // - $width = max($width, $wc->apply(0, $this->parent->get_available_width($context))); - } else { - // Now check if there's any percentage column width constraints (note that - // if we've get here, than the table width is not constrained). Calculate - // the table width basing on these values and select the maximal value - // - for ($i=0; $i<$this->cols_count(); $i++) { - $cwc = $this->get_cwc($i); - - $width = max($width, - min($cwc->apply_inverse($widths[$i], $base_width), - $this->parent->get_available_width($context) - $this->_get_hor_extra())); - }; - }; - - return $width + $this->_get_hor_extra(); - } - - function get_min_width_natural(&$context) { - return $this->get_min_width($context); - } - - function get_max_width(&$context) { - $wc = $this->getCSSProperty(CSS_WIDTH); - - if ($wc->isConstant()) { - return $wc->apply(0, $this->parent->get_available_width($context)); - } else { - $widths = $this->get_table_columns_max_widths($context); - $minwc = $this->get_table_columns_min_widths($context); - - $widths = $this->_table_apply_colspans($widths, $context, 'get_max_width', $minwc, $widths); - - $width = array_sum($widths); - $base_width = $width; - - // Now check if there's any percentage column width constraints (note that - // if we've get here, than the table width is not constrained). Calculate - // the table width based on these values and select the maximal value - // - for ($i=0; $i<$this->cols_count(); $i++) { - $cwc = $this->get_cwc($i); - - $width = max($width, - min($cwc->apply_inverse($widths[$i], $base_width), - $this->parent->get_available_width($context) - $this->_get_hor_extra())); - }; - - return $width + $this->_get_hor_extra(); - } - } - - function get_max_width_natural(&$context) { - return $this->get_max_width($context); - } - - function get_width() { - $wc = $this->getCSSProperty(CSS_WIDTH); - $pwc = $this->parent->getCSSProperty(CSS_WIDTH); - - if (!$this->parent->isCell() || - !$pwc->isNull() || - !$wc->isFraction()) { - $width = $wc->apply($this->width, $this->parent->width); - } else { - $width = $this->width; - }; - - // Note that table 'padding' property for is handled differently - // by different browsers; for example, IE 6 ignores it completely, - // while FF 1.5 subtracts horizontal padding value from constrained - // table width. We emulate FF behavior here - return $width - - $this->get_padding_left() - - $this->get_padding_right(); - } - - function table_column_widths(&$context) { - $table_layout = $this->getCSSProperty(CSS_TABLE_LAYOUT); - switch ($table_layout) { - case TABLE_LAYOUT_FIXED: -// require_once(HTML2PS_DIR.'strategy.table.layout.fixed.php'); -// $strategy =& new StrategyTableLayoutFixed(); -// break; - case TABLE_LAYOUT_AUTO: - default: - require_once(HTML2PS_DIR.'strategy.table.layout.auto.php'); - $strategy =& new StrategyTableLayoutAuto(); - break; - }; - - return $strategy->apply($this, $context); - } - - // Extend some columns widths (if needed) to fit colspanned cell contents - // - function _table_apply_colspans($widths, &$context, $width_fun, $minwc, $maxwc) { - $colspans = $this->get_colspans(); - - foreach ($colspans as $colspan) { - $cell = $this->content[$colspan->row]->content[$colspan->column]; - - // apply colspans to the corresponsing colspanned-cell dimension - // - $cell_width = $cell->$width_fun($context); - - // Apply cell constraint width, if any AND if table width is constrained - // if table width is not constrained, we should not do this, as current value - // of $table->get_width is maximal width (parent width), not the actual - // width of the table - $wc = $this->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { - $cell_wc = $cell->getCSSProperty(CSS_WIDTH); - $cell_width = $cell_wc->apply($cell_width, $this->get_width()); - - // On the other side, constrained with cannot be less than cell minimal width - $cell_width = max($cell_width, $cell->get_min_width($context)); - }; - - // now select the pre-calculated widths of columns covered by this cell - // select the list of resizable columns covered by this cell - $spanned_widths = array(); - $spanned_resizable = array(); - - for ($i=$colspan->column; $i < $colspan->column+$colspan->size; $i++) { - $spanned_widths[] = $widths[$i]; - $spanned_resizable[] = ($minwc[$i] != $maxwc[$i]); - } - - // Sometimes we may encounter the colspan over the empty columns (I mean ALL columns are empty); in this case - // we need to make these columns reizable in order to fit colspanned cell contents - // - if (array_sum($spanned_widths) == 0) { - for ($i=0; $icolumn, $colspan->size, $spanned_widths); - }; - - return $widths; - } - - function get_table_columns_max_widths(&$context) { - $widths = array(); - - for ($i=0; $icontent[0]->content); $i++) { - $widths[] = 0; - }; - - for ($i=0; $icontent); $i++) { - // Calculate column widths for a current row - $roww = $this->content[$i]->get_table_columns_max_widths($context); - for ($j=0; $jget_cwc($i); - - // Newertheless, percentage constraints should not be applied IF table - // does not have constrained width - // - if (!is_a($cwc,"wcfraction")) { - $widths[$i] = $cwc->apply($widths[$i], $this->get_width()); - }; - } - - // TODO: colspans - - return $widths; - } - - /** - * Optimization: calculated widths are cached - */ - function get_table_columns_min_widths(&$context) { - if (!is_null($this->_cached_min_widths)) { - return $this->_cached_min_widths; - }; - - $widths = array(); - - for ($i=0; $icontent[0]->content); $i++) { - $widths[] = 0; - }; - - $content_size = count($this->content); - for ($i=0; $i<$content_size; $i++) { - // Calculate column widths for a current row - $roww = $this->content[$i]->get_table_columns_min_widths($context); - - $row_size = count($roww); - for ($j=0; $j<$row_size; $j++) { - $widths[$j] = max($roww[$j], $widths[$j]); - } - } - - $this->_cached_min_widths = $widths; - return $widths; - } - - function get_colspans() { - $colspans = array(); - - for ($i=0; $icontent); $i++) { - $colspans = array_merge($colspans, $this->content[$i]->get_colspans($i)); - }; - - return $colspans; - } - - function check_constrained_colspan($col) { - for ($i=0; $i<$this->rows_count(); $i++) { - $cell =& $this->cell($i, $col); - $cell_wc = $cell->getCSSProperty(CSS_WIDTH); - - if ($cell->colspan > 1 && - !$cell_wc->isNull()) { - return true; - }; - }; - return false; - } - - // Tries to change minimal constrained width so that columns will fit into the given - // table width - // - // Note that every width constraint have its own priority; first, the unconstrained columns are collapsed, - // then - percentage constrained and after all - columns having fixed width - // - // @param $width table width - // @param $minw array of unconstrained minimal widths - // @param $minwc array of constrained minimal widths - // @return list of normalized minimal constrained widths - // - function normalize_min_widths($width, $minw, $minwc) { - // Check if sum of constrained widths is too big - // Note that we compare sum of constrained width with the MAXIMAL value of table width and - // sum of uncostrained minimal width; it will prevent from unneeded collapsing of table cells - // if table content will expand its width anyway - // - $twidth = max($width, array_sum($minw)); - - // compare with sum of minimal constrained widths - // - if (array_sum($minwc) > $twidth) { - $delta = array_sum($minwc) - $twidth; - - // Calculate the amount of difference between minimal and constrained minimal width for each columns - $diff = array(); - for ($i=0; $icheck_constrained_colspan($i)) { - $diff[$i] = $minwc[$i] - $minw[$i]; - } else { - $diff[$i] = 0; - }; - } - - // If no difference is found, we can collapse no columns - // otherwise scale some columns... - $cwdelta = array_sum($diff); - - if ($cwdelta > 0) { - for ($i=0; $icontent[$y]->content[$x]->colspan; - } - - // Flow-control - function reflow(&$parent, &$context) { - if ($this->getCSSProperty(CSS_FLOAT) === FLOAT_NONE) { - $status = $this->reflow_static_normal($parent, $context); - } else { - $status = $this->reflow_static_float($parent, $context); - } - - return $status; - } - - function reflow_absolute(&$context) { - GenericFormattedBox::reflow($parent, $context); - - // Calculate margin values if they have been set as a percentage - $this->_calc_percentage_margins($parent); - - // Calculate width value if it had been set as a percentage - $this->_calc_percentage_width($parent, $context); - - $wc = $this->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { - $col_width = $this->get_table_columns_min_widths($context); - $maxw = $this->get_table_columns_max_widths($context); - $col_width = $this->_table_apply_colspans($col_width, $context, 'get_min_width', $col_width, $maxw); - - if (array_sum($col_width) > $this->get_width()) { - $wc = new WCConstant(array_sum($col_width)); - }; - }; - - $position_strategy =& new StrategyPositionAbsolute(); - $position_strategy->apply($this); - - $this->reflow_content($context); - } - - /** - * TODO: unlike block elements, table unconstrained width is determined - * with its content, so it may be smaller than parent available width! - */ - function reflow_static_normal(&$parent, &$context) { - GenericFormattedBox::reflow($parent, $context); - - // Calculate margin values if they have been set as a percentage - $this->_calc_percentage_margins($parent); - - // Calculate width value if it had been set as a percentage - $this->_calc_percentage_width($parent, $context); - - $wc = $this->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { - $col_width = $this->get_table_columns_min_widths($context); - $maxw = $this->get_table_columns_max_widths($context); - $col_width = $this->_table_apply_colspans($col_width, $context, 'get_min_width', $col_width, $maxw); - - if (array_sum($col_width) > $this->get_width()) { - $wc = new WCConstant(array_sum($col_width)); - }; - }; - - // As table width can be deterimined by its contents, we may calculate auto values - // only AFTER the contents have been reflown; thus, we'll offset the table - // as a whole by a value of left margin AFTER the content reflow - - // Do margin collapsing - $y = $this->collapse_margin($parent, $context); - - // At this moment we have top parent/child collapsed margin at the top of context object - // margin stack - - $y = $this->apply_clear($y, $context); - - // Store calculated Y coordinate as current Y in the parent box - $parent->_current_y = $y; - - // Terminate current parent line-box - $parent->close_line($context); - - // And add current box to the parent's line-box (alone) - $parent->append_line($this); - - // Determine upper-left _content_ corner position of current box - // Also see note above regarding margins - $border = $this->getCSSProperty(CSS_BORDER); - $padding = $this->getCSSProperty(CSS_PADDING); - - $this->put_left($parent->_current_x + - $border->left->get_width() + - $padding->left->value); - - // Note that top margin already used above during maring collapsing - $this->put_top($parent->_current_y - $border->top->get_width() - $padding->top->value); - - /** - * By default, child block box will fill all available parent width; - * note that actual width will be smaller because of non-zero padding, border and margins - */ - $this->put_full_width($parent->get_available_width($context)); - - // Reflow contents - $this->reflow_content($context); - - // Update the collapsed margin value with current box bottom margin - $margin = $this->getCSSProperty(CSS_MARGIN); - - $context->pop_collapsed_margin(); - $context->pop_collapsed_margin(); - $context->push_collapsed_margin($margin->bottom->value); - - // Calculate margins and/or width is 'auto' values have been specified - $this->_calc_auto_width_margins($parent); - $this->offset($margin->left->value, 0); - - // Extend parent's height to fit current box - $parent->extend_height($this->get_bottom_margin()); - // Terminate parent's line box - $parent->close_line($context); - } - - // Get a list of boolean values indicating if table rows are height constrained - // - // @return array containing 'true' value at index I if I-th row is not height-constrained - // and 'false' otherwise - // - function get_non_constrained_flags() { - $flags = array(); - - for ($i=0; $icontent); $i++) { - $hc = $this->get_rhc($i); - $flags[$i] = - (is_null($hc->constant)) && - (is_null($hc->min)) && - (is_null($hc->max)); - }; - - return $flags; - } - - // Get a list of boolean values indicating if table rows are height constrained using percentage values - // - // @return array containing 'true' value at index I if I-th row is not height-constrained - // and 'false' otherwise - // - function get_non_percentage_constrained_height_flags() { - $flags = array(); - - for ($i=0; $icontent); $i++) { - $hc = $this->get_rhc($i); - $flags[$i] = - (!is_null($hc->constant) ? !$hc->constant[1] : true) && - (!is_null($hc->min) ? !$hc->min[1] : true) && - (!is_null($hc->max) ? !$hc->max[1] : true); - }; - - return $flags; - } - - function get_non_constrained_height_flags() { - $flags = array(); - - for ($i=0; $icontent); $i++) { - $hc = $this->get_rhc($i); - - $flags[$i] = $hc->is_null(); - }; - - return $flags; - } - - // Get a list of boolean values indicating if table columns are height constrained - // - // @return array containing 'true' value at index I if I-th columns is not width-constrained - // and 'false' otherwise - // - function get_non_constrained_width_flags() { - $flags = array(); - - for ($i=0; $i<$this->cols_count(); $i++) { - $wc = $this->get_cwc($i); - $flags[$i] = is_a($wc,"wcnone"); - }; - - return $flags; - } - - function get_non_constant_constrained_width_flags() { - $flags = array(); - - for ($i=0; $i<$this->cols_count(); $i++) { - $wc = $this->get_cwc($i); - $flags[$i] = !is_a($wc,"WCConstant"); - }; - - return $flags; - } - - function check_if_column_image_constrained($col) { - for ($i=0; $i<$this->rows_count(); $i++) { - $cell =& $this->cell($i, $col); - for ($j=0; $jcontent); $j++) { - if (!$cell->content[$j]->is_null() && - !is_a($cell->content[$j], "GenericImgBox")) { - return false; - }; - }; - }; - return true; - } - - function get_non_image_constrained_width_flags() { - $flags = array(); - - for ($i=0; $i<$this->cols_count(); $i++) { - $flags[$i] = !$this->check_if_column_image_constrained($i); - }; - - return $flags; - } - - // Get a list of boolean values indicating if table rows are NOT constant constrained - // - // @return array containing 'true' value at index I if I-th row is height-constrained - // and 'false' otherwise - // - function get_non_constant_constrained_flags() { - $flags = array(); - - for ($i=0; $icontent); $i++) { - $hc = $this->get_rhc($i); - $flags[$i] = is_null($hc->constant); - }; - - return $flags; - } - - function reflow_content(&$context) { - // Reflow content - - // Reset current Y value - // - $this->_current_y = $this->get_top(); - - // Determine the base table width - // if width constraint exists, the actual table width will not be changed anyway - // - $this->put_width(min($this->get_max_width($context), $this->get_width())); - - // Calculate widths of table columns - $columns = $this->table_column_widths($context); - - // Collapse table to minimum width (if width is not constrained) - $real_width = array_sum($columns); - $this->put_width($real_width); - - // If width is constrained, and is less than calculated, update the width constraint - // - // if ($this->get_width() < $real_width) { - // // $this->put_width_constraint(new WCConstant($real_width)); - // }; - - // Flow cells horizontally in each table row - for ($i=0; $icontent); $i++) { - // Row flow started - // Reset current X coordinate to the far left of the table - $this->_current_x = $this->get_left(); - - // Flow each cell in the row - $span = 0; - for ($j=0; $jcontent[$i]->content); $j++) { - // Skip cells covered by colspans (fake cells, anyway) - if ($span == 0) { - // Flow current cell - // Any colspans here? - $span = $this->table_have_colspan($j, $i); - - // Get sum of width for the current cell (or several cells in colspan) - // In most cases, $span == 1 here (just a single cell) - $cw = array_sum(array_slice($columns, $j, $span)); - - // store calculated width of the current cell - $cell =& $this->content[$i]->content[$j]; - $cell->put_full_width($cw); - $cell->setCSSProperty(CSS_WIDTH, - new WCConstant($cw - - $cell->_get_hor_extra())); - - // TODO: check for rowspans - - // Flow cell - $this->content[$i]->content[$j]->reflow($this, $context); - - // Offset current X value by the cell width - $this->_current_x += $cw; - }; - - // Current cell have been processed or skipped - $span = max(0, $span-1); - } - - // calculate row height and do vertical align - // $this->table_fit_row($i); - - // row height calculation offset current Y coordinate by the row height calculated - // $this->_current_y -= $this->table_row_height($i); - $this->_current_y -= $this->content[$i]->row_height(); - } - - // Calculate (and possibly adjust height of table rows) - $heights = $this->_row_heights(0.1); - - // adjust row heights to fit cells spanning several rows - foreach ($this->get_rowspans() as $rowspan) { - // Get height of the cell - $cell_height = $this->content[$rowspan->row]->content[$rowspan->column]->get_full_height(); - - // Get calculated height of the spanned-over rows - $cell_row_heights = array_slice($heights, $rowspan->row, $rowspan->size); - - // Get list of non-constrained columns - $flags = array_slice($this->get_non_constrained_flags(), $rowspan->row, $rowspan->size); - - // Expand row heights (only for non-constrained columns) - $new_heights = expand_to_with_flags($cell_height, - $cell_row_heights, - $flags); - - // Check if rows could not be expanded - // if (array_sum($new_heights) < $cell_height-1) { - if (array_sum($new_heights) < $cell_height - EPSILON) { - // Get list of non-constant-constrained columns - $flags = array_slice($this->get_non_constant_constrained_flags(), $rowspan->row, $rowspan->size); - - // use non-constant-constrained rows - $new_heights = expand_to_with_flags($cell_height, - $cell_row_heights, - $flags); - }; - - // Update the rows heights - array_splice($heights, - $rowspan->row, - $rowspan->size, - $new_heights); - } - - // Now expand rows to full table height - $table_height = max($this->get_height(), array_sum($heights)); - - // Get list of non-constrained columns - $flags = $this->get_non_constrained_height_flags(); - - // Expand row heights (only for non-constrained columns) - $heights = expand_to_with_flags($table_height, - $heights, - $flags); - - // Check if rows could not be expanded - if (array_sum($heights) < $table_height - EPSILON) { - // Get list of non-constant-constrained columns - $flags = $this->get_non_constant_constrained_flags(); - - // use non-constant-constrained rows - $heights = expand_to_with_flags($table_height, - $heights, - $flags); - }; - - // Now we calculated row heights, time to actually resize them - $this->table_resize_rows($heights); - - // Update size of cells spanning several rows - $this->table_fit_rowspans($heights); - } - - function isBlockLevel() { - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.table.row.php b/thirdparty/html2ps_pdf/box.table.row.php deleted file mode 100644 index 80e1f2774..000000000 --- a/thirdparty/html2ps_pdf/box.table.row.php +++ /dev/null @@ -1,220 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - - $child = $root->first_child(); - while ($child) { - $child_box =& create_pdf_box($child, $pipeline); - $box->add_child($child_box); - - $child = $child->next_sibling(); - }; - - return $box; - } - - function add_child(&$item) { - if ($item->isCell()) { - GenericContainerBox::add_child($item); - }; - } - - function TableRowBox() { - // Call parent constructor - $this->GenericContainerBox(); - } - - // Normalize colspans by adding fake cells after the "colspanned" cell - // Say, if we've got the following row: - // 12 - // we should get row containing four cells after normalization; - // first contains "1" - // second and third are completely empty - // fourth contains "2" - function normalize(&$pipeline) { - for ($i=0, $size = count($this->content); $i < $size; $i++) { - for ($j=1; $j<$this->content[$i]->colspan; $j++) { - $this->add_fake_cell_after($i, $pipeline); - // Note that add_fake_cell_after will increase the length of current row by one cell, - // so we must increase $size variable - $size++; - }; - }; - } - - function add_fake_cell_after($index, &$pipeline) { - array_splice($this->content, $index+1, 0, array(FakeTableCellBox::create($pipeline))); - } - - function add_fake_cell_before($index, &$pipeline) { - array_splice($this->content, $index, 0, array(FakeTableCellBox::create($pipeline))); - } - - function append_fake_cell(&$pipeline) { - $this->content[] = FakeTableCellBox::create($pipeline); - } - - // Table specific - - function table_resize_row($height, $top) { - // Do cell vertical-align - // Calculate row baseline - - $baseline = $this->get_row_baseline(); - - // Process cells contained in current row - for ($i=0, $size = count($this->content); $i<$size; $i++) { - $cell =& $this->content[$i]; - - // Offset cell if needed - $cell->offset(0, - $top - - $cell->get_top_margin()); - - // Vertical-align cell (do not apply to rowspans) - if ($cell->rowspan == 1) { - $va = $cell->getCSSProperty(CSS_VERTICAL_ALIGN); - $va_fun = CSSVerticalAlign::value2pdf($va); - $va_fun->apply_cell($cell, $height, $baseline); - - // Expand cell to full row height - $cell->put_full_height($height); - } - } - } - - function get_row_baseline() { - $baseline = 0; - for ($i=0, $size = count($this->content); $i<$size; $i++) { - $cell = $this->content[$i]; - if ($cell->rowspan == 1) { - $baseline = max($baseline, $cell->get_cell_baseline()); - }; - } - return $baseline; - } - - function get_colspans($row_index) { - $colspans = array(); - - for ($i=0, $size = count($this->content); $i<$size; $i++) { - // Check if current colspan will run off the right table edge - if ($this->content[$i]->colspan > 1) { - $colspan = new CellSpan; - $colspan->row = $row_index; - $colspan->column = $i; - $colspan->size = $this->content[$i]->colspan; - - $colspans[] = $colspan; - } - } - - return $colspans; - } - - function get_rowspans($row_index) { - $spans = array(); - - for ($i=0; $icontent); $i++) { - if ($this->content[$i]->rowspan > 1) { - $rowspan = new CellSpan; - $rowspan->row = $row_index; - $rowspan->column = $i; - $rowspan->size = $this->content[$i]->rowspan; - $spans[] = $rowspan; - } - } - - return $spans; - } - - // Column widths - function get_table_columns_max_widths(&$context) { - $widths = array(); - for ($i=0; $icontent); $i++) { - // For now, colspans are treated as zero-width; they affect - // column widths only in parent *_fit function - if ($this->content[$i]->colspan > 1) { - $widths[] = 0; - } else { - $widths[] = $this->content[$i]->get_max_width($context); - } - } - - return $widths; - } - - function get_table_columns_min_widths(&$context) { - $widths = array(); - for ($i=0; $icontent); $i++) { - // For now, colspans are treated as zero-width; they affect - // column widths only in parent *_fit function - if ($this->content[$i]->colspan > 1) { - $widths[] = 0; - } else { - $widths[] = $this->content[$i]->get_min_width($context); - }; - } - - return $widths; - } - - function row_height() { - // Calculate height of each cell contained in this row - $height = 0; - for ($i=0; $icontent); $i++) { - if ($this->content[$i]->rowspan <= 1) { - $height = max($height, $this->content[$i]->get_full_height()); - } - } - - return $height; - } - - /** - * Note that we SHOULD owerride the show method inherited from GenericContainerBox, - * as it MAY draw row background in case it was set via CSS rules. As row box - * is a "fake" box and will never have reasonable size and/or position in the layout, - * we should prevent this - */ - function show(&$viewport) { - // draw content - $size = count($this->content); - - for ($i=0; $i < $size; $i++) { - /** - * We'll check the visibility property here - * Reason: all boxes (except the top-level one) are contained in some other box, - * so every box will pass this check. The alternative is to add this check into every - * box class show member. - * - * The only exception of absolute positioned block boxes which are drawn separately; - * their show method is called explicitly; the similar check should be performed there - */ - - $cell =& $this->content[$i]; - $visibility = $cell->getCSSProperty(CSS_VISIBILITY); - - if ($visibility === VISIBILITY_VISIBLE) { - if (is_null($cell->show($viewport))) { - return null; - }; - }; - } - - return true; - } - - function isTableRow() { - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.table.section.php b/thirdparty/html2ps_pdf/box.table.section.php deleted file mode 100644 index a83f95560..000000000 --- a/thirdparty/html2ps_pdf/box.table.section.php +++ /dev/null @@ -1,55 +0,0 @@ -getCurrentCSSState(); - $box =& new TableSectionBox(); - $box->readCSS($state); - - // Automatically create at least one table row - $row = new TableRowBox(); - $row->readCSS($state); - $box->add_child($row); - - // Parse table contents - $child = $root->first_child(); - while ($child) { - $child_box =& create_pdf_box($child, $pipeline); - $box->add_child($child_box); - $child = $child->next_sibling(); - }; - - return $box; - } - - function TableSectionBox() { - $this->GenericContainerBox(); - } - - // Overrides default 'add_child' in GenericFormattedBox - function add_child(&$item) { - // Check if we're trying to add table cell to current table directly, without any table-rows - if ($item->isCell()) { - // Add cell to the last row - $last_row =& $this->content[count($this->content)-1]; - $last_row->add_child($item); - - } elseif ($item->isTableRow()) { - // If previous row is empty, remove it (get rid of automatically generated table row in constructor) - if (count($this->content) > 0) { - if (count($this->content[count($this->content)-1]->content) == 0) { - array_pop($this->content); - } - }; - - // Just add passed row - $this->content[] =& $item; - }; - } - - function isTableSection() { - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.text.php b/thirdparty/html2ps_pdf/box.text.php deleted file mode 100644 index 6e3bfc512..000000000 --- a/thirdparty/html2ps_pdf/box.text.php +++ /dev/null @@ -1,653 +0,0 @@ -SimpleInlineBox(); - - $this->words = array(); - $this->encodings = array(); - $this->hyphens = array(); - $this->_word_widths = array(); - $this->_wrappable = array(); - $this->wrapped = null; - $this->_widths = array(); - - $this->font_size = 0; - $this->ascender = 0; - $this->descender = 0; - $this->width = 0; - $this->height = 0; - } - - /** - * Check if given subword contains soft hyphens and calculate - */ - function _make_wrappable(&$driver, $base_width, $font_name, $font_size, $subword_index) { - $hyphens = $this->hyphens[$subword_index]; - $wrappable = array(); - - foreach ($hyphens as $hyphen) { - $subword_wrappable_index = $hyphen; - $subword_wrappable_width = $base_width + $driver->stringwidth(substr($this->words[$subword_index], 0, $subword_wrappable_index), - $font_name, - $this->encodings[$subword_index], - $font_size); - $subword_full_width = $subword_wrappable_width + $driver->stringwidth('-', - $font_name, - "iso-8859-1", - $font_size); - - $wrappable[] = array($subword_index, $subword_wrappable_index, $subword_wrappable_width, $subword_full_width); - }; - return $wrappable; - } - - function get_height() { - return $this->height; - } - - function put_height($value) { - $this->height = $value; - } - - // Apply 'line-height' CSS property; modifies the default_baseline value - // (NOT baseline, as it is calculated - and is overwritten - in the close_line - // method of container box - // - // Note that underline position (or 'descender' in terms of PDFLIB) - - // so, simple that space of text box under the baseline - is scaled too - // when 'line-height' is applied - // - function _apply_line_height() { - $height = $this->get_height(); - $under = $height - $this->default_baseline; - - $line_height = $this->getCSSProperty(CSS_LINE_HEIGHT); - - if ($height > 0) { - $scale = $line_height->apply($this->ascender + $this->descender) / ($this->ascender + $this->descender); - } else { - $scale = 0; - }; - - // Calculate the height delta of the text box - - $delta = $height * ($scale-1); - $this->put_height(($this->ascender + $this->descender)*$scale); - $this->default_baseline = $this->default_baseline + $delta/2; - } - - function _get_font_name(&$viewport, $subword_index) { - if (isset($this->_cache[CACHE_TYPEFACE][$subword_index])) { - return $this->_cache[CACHE_TYPEFACE][$subword_index]; - }; - - $font_resolver =& $viewport->get_font_resolver(); - - $font = $this->getCSSProperty(CSS_FONT); - - $typeface = $font_resolver->getTypefaceName($font->family, - $font->weight, - $font->style, - $this->encodings[$subword_index]); - - $this->_cache[CACHE_TYPEFACE][$subword_index] = $typeface; - - return $typeface; - } - - function add_subword($raw_subword, $encoding, $hyphens) { - $text_transform = $this->getCSSProperty(CSS_TEXT_TRANSFORM); - switch ($text_transform) { - case CSS_TEXT_TRANSFORM_CAPITALIZE: - $subword = ucwords($raw_subword); - break; - case CSS_TEXT_TRANSFORM_UPPERCASE: - $subword = strtoupper($raw_subword); - break; - case CSS_TEXT_TRANSFORM_LOWERCASE: - $subword = strtolower($raw_subword); - break; - case CSS_TEXT_TRANSFORM_NONE: - $subword = $raw_subword; - break; - } - - $this->words[] = $subword; - $this->encodings[] = $encoding; - $this->hyphens[] = $hyphens; - } - - function &create($text, $encoding, &$pipeline) { - $box =& TextBox::create_empty($pipeline); - $box->add_subword($text, $encoding, array()); - return $box; - } - - function &create_empty(&$pipeline) { - $box =& new TextBox(); - $css_state = $pipeline->getCurrentCSSState(); - - $box->readCSS($css_state); - $css_state = $pipeline->getCurrentCSSState(); - - return $box; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSSLengths($state, - array(CSS_TEXT_INDENT, - CSS_LETTER_SPACING)); - } - - // Inherited from GenericFormattedBox - function get_descender() { - return $this->descender; - } - - function get_ascender() { - return $this->ascender; - } - - function get_baseline() { - return $this->baseline; - } - - function get_min_width_natural(&$context) { - return $this->get_full_width(); - } - - function get_min_width(&$context) { - return $this->get_full_width(); - } - - function get_max_width(&$context) { - return $this->get_full_width(); - } - - // Checks if current inline box should cause a line break inside the parent box - // - // @param $parent reference to a parent box - // @param $content flow context - // @return true if line break occurred; false otherwise - // - function maybe_line_break(&$parent, &$context) { - if (!$parent->line_break_allowed()) { - return false; - }; - - $last =& $parent->last_in_line(); - if ($last) { - // Check if last box was a note call box. Punctuation marks - // after a note-call box should not be wrapped to new line, - // while "plain" words may be wrapped. - if ($last->is_note_call() && $this->is_punctuation()) { - return false; - }; - }; - - // Calculate the x-coordinate of this box right edge - $right_x = $this->get_full_width() + $parent->_current_x; - - $need_break = false; - - // Check for right-floating boxes - // If upper-right corner of this inline box is inside of some float, wrap the line - $float = $context->point_in_floats($right_x, $parent->_current_y); - if ($float) { - $need_break = true; - }; - - // No floats; check if we had run out the right edge of container - // TODO: nobr-before, nobr-after - if (($right_x > $parent->get_right()+EPSILON)) { - // Now check if parent line box contains any other boxes; - // if not, we should draw this box unless we have a floating box to the left - - $first = $parent->get_first(); - - $ti = $this->getCSSProperty(CSS_TEXT_INDENT); - $indent_offset = $ti->calculate($parent); - - if ($parent->_current_x > $parent->get_left() + $indent_offset + EPSILON) { - $need_break = true; - }; - } - - // As close-line will not change the current-Y parent coordinate if no - // items were in the line box, we need to offset this explicitly in this case - // - if ($parent->line_box_empty() && $need_break) { - $parent->_current_y -= $this->get_height(); - }; - - if ($need_break) { - // Check if current box contains soft hyphens and use them, breaking word into parts - $size = count($this->_wrappable); - if ($size > 0) { - $width_delta = $right_x - $parent->get_right(); - if (!is_null($float)) { - $width_delta = $right_x - $float->get_left_margin(); - }; - - $this->_find_soft_hyphen($parent, $width_delta); - }; - - $parent->close_line($context); - - // Check if parent inline boxes have left padding/margins and add them to current_x - $element = $this->parent; - while (!is_null($element) && is_a($element,"GenericInlineBox")) { - $parent->_current_x += $element->get_extra_left(); - $element = $element->parent; - }; - }; - - return $need_break; - } - - function _find_soft_hyphen(&$parent, $width_delta) { - /** - * Now we search for soft hyphen closest to the right margin - */ - $size = count($this->_wrappable); - for ($i=$size-1; $i>=0; $i--) { - $wrappable = $this->_wrappable[$i]; - if ($this->get_width() - $wrappable[3] > $width_delta) { - $this->save_wrapped($wrappable, $parent, $context); - $parent->append_line($this); - return; - }; - }; - } - - function save_wrapped($wrappable, &$parent, &$context) { - $this->wrapped = array($wrappable, - $parent->_current_x + $this->get_extra_left(), - $parent->_current_y - $this->get_extra_top()); - } - - function reflow(&$parent, &$context) { - // Check if we need a line break here (possilble several times in a row, if we - // have a long word and a floating box intersecting with this word - // - // To prevent infinite loop, we'll use a limit of 100 sequental line feeds - $i=0; - - do { $i++; } while ($this->maybe_line_break($parent, $context) && $i < 100); - - // Determine the baseline position and height of the text-box using line-height CSS property - $this->_apply_line_height(); - - // set default baseline - $this->baseline = $this->default_baseline; - - // append current box to parent line box - $parent->append_line($this); - - // Determine coordinates of upper-left _margin_ corner - $this->guess_corner($parent); - - // Offset parent current X coordinate - if (!is_null($this->wrapped)) { - $parent->_current_x += $this->get_full_width() - $this->wrapped[0][2]; - } else { - $parent->_current_x += $this->get_full_width(); - }; - - // Extends parents height - $parent->extend_height($this->get_bottom()); - - // Update the value of current collapsed margin; pure text (non-span) - // boxes always have zero margin - - $context->pop_collapsed_margin(); - $context->push_collapsed_margin( 0 ); - } - - function getWrappedWidthAndHyphen() { - return $this->wrapped[0][3]; - } - - function getWrappedWidth() { - return $this->wrapped[0][2]; - } - - function reflow_text(&$viewport) { - $num_words = count($this->words); - - /** - * Empty text box - */ - if ($num_words == 0) { - return true; - }; - - /** - * A simple assumption is made: fonts used for different encodings - * have equal ascender/descender values (while they have the same - * typeface, style and weight). - */ - $font_name = $this->_get_font_name($viewport, 0); - - /** - * Get font vertical metrics - */ - $ascender = $viewport->font_ascender($font_name, $this->encodings[0]); - if (is_null($ascender)) { - error_log("TextBox::reflow_text: cannot get font ascender"); - return null; - }; - - $descender = $viewport->font_descender($font_name, $this->encodings[0]); - if (is_null($descender)) { - error_log("TextBox::reflow_text: cannot get font descender"); - return null; - }; - - /** - * Setup box size - */ - $font = $this->getCSSProperty(CSS_FONT_SIZE); - $font_size = $font->getPoints(); - - // Both ascender and descender should make $font_size - // as it is not guaranteed that $ascender + $descender == 1, - // we should normalize the result - $koeff = $font_size / ($ascender + $descender); - $this->ascender = $ascender * $koeff; - $this->descender = $descender * $koeff; - - $this->default_baseline = $this->ascender; - $this->height = $this->ascender + $this->descender; - - /** - * Determine box width - */ - if ($font_size > 0) { - $width = 0; - - for ($i=0; $i<$num_words; $i++) { - $font_name = $this->_get_font_name($viewport, $i); - - $current_width = $viewport->stringwidth($this->words[$i], - $font_name, - $this->encodings[$i], - $font_size); - $this->_word_widths[] = $current_width; - - // Add information about soft hyphens - $this->_wrappable = array_merge($this->_wrappable, $this->_make_wrappable($viewport, $width, $font_name, $font_size, $i)); - - $width += $current_width; - }; - - $this->width = $width; - } else { - $this->width = 0; - }; - - $letter_spacing = $this->getCSSProperty(CSS_LETTER_SPACING); - - if ($letter_spacing->getPoints() != 0) { - $this->_widths = array(); - - for ($i=0; $i<$num_words; $i++) { - $num_chars = strlen($this->words[$i]); - - for ($j=0; $j<$num_chars; $j++) { - $this->_widths[] = $viewport->stringwidth($this->words[$i]{$j}, - $font_name, - $this->encodings[$i], - $font_size); - }; - - $this->width += $letter_spacing->getPoints()*$num_chars; - }; - }; - - return true; - } - - function show(&$driver) { - /** - * Check if font-size have been set to 0; in this case we should not draw this box at all - */ - $font_size = $this->getCSSProperty(CSS_FONT_SIZE); - if ($font_size->getPoints() == 0) { - return true; - } - - // Check if current text box will be cut-off by the page edge - // Get Y coordinate of the top edge of the box - $top = $this->get_top_margin(); - // Get Y coordinate of the bottom edge of the box - $bottom = $this->get_bottom_margin(); - - $top_inside = $top >= $driver->getPageBottom()-EPSILON; - $bottom_inside = $bottom >= $driver->getPageBottom()-EPSILON; - - if (!$top_inside && !$bottom_inside) { - return true; - } - - return $this->_showText($driver); - } - - function _showText(&$driver) { - if (!is_null($this->wrapped)) { - return $this->_showTextWrapped($driver); - } else { - return $this->_showTextNormal($driver); - }; - } - - function _showTextWrapped(&$driver) { - // draw generic box - parent::show($driver); - - $font_size = $this->getCSSProperty(CSS_FONT_SIZE); - - $decoration = $this->getCSSProperty(CSS_TEXT_DECORATION); - - // draw text decoration - $driver->decoration($decoration['U'], - $decoration['O'], - $decoration['T']); - - $letter_spacing = $this->getCSSProperty(CSS_LETTER_SPACING); - - // Output text with the selected font - // note that we're using $default_baseline; - // the alignment offset - the difference between baseline and default_baseline values - // is taken into account inside the get_top/get_bottom functions - // - $current_char = 0; - - $left = $this->wrapped[1]; - $top = $this->get_top() - $this->default_baseline; - $num_words = count($this->words); - - /** - * First part of wrapped word (before hyphen) - */ - for ($i=0; $i<$this->wrapped[0][0]; $i++) { - // Activate font - $status = $driver->setfont($this->_get_font_name($driver, $i), - $this->encodings[$i], - $font_size->getPoints()); - if (is_null($status)) { - error_log("TextBox::show: setfont call failed"); - return null; - }; - - $driver->show_xy($this->words[$i], - $left, - $this->wrapped[2] - $this->default_baseline); - $left += $this->_word_widths[$i]; - }; - - $index = $this->wrapped[0][0]; - - $status = $driver->setfont($this->_get_font_name($driver, $index), - $this->encodings[$index], - $font_size->getPoints()); - if (is_null($status)) { - error_log("TextBox::show: setfont call failed"); - return null; - }; - - $driver->show_xy(substr($this->words[$index],0,$this->wrapped[0][1])."-", - $left, - $this->wrapped[2] - $this->default_baseline); - - /** - * Second part of wrapped word (after hyphen) - */ - - $left = $this->get_left(); - $top = $this->get_top(); - $driver->show_xy(substr($this->words[$index],$this->wrapped[0][1]), - $left, - $top - $this->default_baseline); - - $size = count($this->words); - for ($i = $this->wrapped[0][0]+1; $i<$size; $i++) { - // Activate font - $status = $driver->setfont($this->_get_font_name($driver, $i), - $this->encodings[$i], - $font_size->getPoints()); - if (is_null($status)) { - error_log("TextBox::show: setfont call failed"); - return null; - }; - - $driver->show_xy($this->words[$i], - $left, - $top - $this->default_baseline); - - $left += $this->_word_widths[$i]; - }; - - return true; - } - - function _showTextNormal(&$driver) { - // draw generic box - parent::show($driver); - - $font_size = $this->getCSSProperty(CSS_FONT_SIZE); - - $decoration = $this->getCSSProperty(CSS_TEXT_DECORATION); - - // draw text decoration - $driver->decoration($decoration['U'], - $decoration['O'], - $decoration['T']); - - $letter_spacing = $this->getCSSProperty(CSS_LETTER_SPACING); - - if ($letter_spacing->getPoints() == 0) { - // Output text with the selected font - // note that we're using $default_baseline; - // the alignment offset - the difference between baseline and default_baseline values - // is taken into account inside the get_top/get_bottom functions - // - $size = count($this->words); - $left = $this->get_left(); - - for ($i=0; $i<$size; $i++) { - // Activate font - $status = $driver->setfont($this->_get_font_name($driver, $i), - $this->encodings[$i], - $font_size->getPoints()); - if (is_null($status)) { - error_log("TextBox::show: setfont call failed"); - return null; - }; - - $driver->show_xy($this->words[$i], - $left, - $this->get_top() - $this->default_baseline); - - $left += $this->_word_widths[$i]; - }; - } else { - $current_char = 0; - - $left = $this->get_left(); - $top = $this->get_top() - $this->default_baseline; - $num_words = count($this->words); - - for ($i=0; $i<$num_words; $i++) { - $num_chars = strlen($this->words[$i]); - - for ($j=0; $j<$num_chars; $j++) { - $status = $driver->setfont($this->_get_font_name($driver, $i), - $this->encodings[$i], - $font_size->getPoints()); - - $driver->show_xy($this->words[$i]{$j}, $left, $top); - $left += $this->_widths[$current_char] + $letter_spacing->getPoints(); - $current_char++; - }; - }; - }; - - return true; - } - - function show_fixed(&$driver) { - $font_size = $this->getCSSProperty(CSS_FONT_SIZE); - - // Check if font-size have been set to 0; in this case we should not draw this box at all - if ($font_size->getPoints() == 0) { - return true; - } - - return $this->_showText($driver); - } - - function offset($dx, $dy) { - parent::offset($dx, $dy); - - // Note that horizonal offset should be called explicitly from text-align routines - // otherwise wrapped part will be offset twice (as offset is called both for - // wrapped and non-wrapped parts). - if (!is_null($this->wrapped)) { - $this->offset_wrapped($dx, $dy); - }; - } - - function offset_wrapped($dx, $dy) { - $this->wrapped[1] += $dx; - $this->wrapped[2] += $dy; - } - - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - $linebox_started = true; - $previous_whitespace = false; - return; - } - - function is_null() { return false; } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.text.string.php b/thirdparty/html2ps_pdf/box.text.string.php deleted file mode 100644 index b02a762a7..000000000 --- a/thirdparty/html2ps_pdf/box.text.string.php +++ /dev/null @@ -1,60 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - return $box; - } - - function TextBoxString($word, $encoding) { - // Call parent constructor - $this->TextBox(); - $this->add_subword($word, $encoding, array()); - } - - function get_extra_bottom() { - return 0; - } - - // "Pure" Text boxes never have margins/border/padding - function get_extra_left() { - return 0; - } - - // "Pure" Text boxes never have margins/border/padding - function get_extra_right() { - return 0; - } - - function get_extra_top() { - return 0; - } - - function get_full_width() { - return $this->width; - } - - function get_margin_top() { - return 0; - } - - function get_min_width(&$context) { - return $this->width; - } - - function get_max_width(&$context) { - return $this->width; - } - - // Note that we don't need to call complicated 'get_width' function inherited from GenericFormattedBox, - // a TextBox never have width constraints nor children; its width is always defined by the string length - function get_width() { - return $this->width; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.utils.text-align.inc.php b/thirdparty/html2ps_pdf/box.utils.text-align.inc.php deleted file mode 100644 index d2252c33b..000000000 --- a/thirdparty/html2ps_pdf/box.utils.text-align.inc.php +++ /dev/null @@ -1,103 +0,0 @@ -_line_length_delta($context) / 2; - - $size = count($box->_line); - for ($i=0; $i< $size; $i++) { - $box->_line[$i]->offset($delta, 0); - }; - - $first_box =& $box->_line[0]; - if (isset($first_box->wrapped) && !is_null($first_box->wrapped)) { - $first_box->offset_wrapped(-$delta, 0); - }; -} - -function ta_right(&$box, &$context, $lastline) { - $delta = $box->_line_length_delta($context); - - $size = count($box->_line); - for ($i=0; $i<$size; $i++) { - $box->_line[$i]->offset($delta, 0); - }; - - $first_box =& $box->_line[0]; - if (isset($first_box->wrapped) && !is_null($first_box->wrapped)) { - $first_box->offset_wrapped(-$delta, 0); - }; -} - -function ta_justify(&$box, &$context, $lastline) { - // last line is never justified - if ($lastline) { - return; - } - - // If line box contains less that two items, no justification can be done, just return - if (count($box->_line) < 2) { - return; - } - - // Calculate extra space to be filled by this line - $delta = $box->_line_length_delta($context); - - // note that if it is the very first line inside the container, 'text-indent' value - // should not be taken into account while calculating delta value - if (count($box->content) > 0) { - if ($box->content[0]->uid === $box->_line[0]->uid) { - $delta -= $box->text_indent->calculate($box); - }; - }; - - // if line takes less that MAX_JUSTIFY_FRACTION of available space, no justtification should be done - if ($delta > $box->_line_length() * MAX_JUSTIFY_FRACTION) { - return; - }; - - // Calculate offset for each whitespace box - $whitespace_count = 0; - $size = count($box->_line); - - // Why $size-1? Ignore whitespace box, if it is located at the very end of - // line box - - // Also, ignore whitespace box at the very beginning of the line - for ($i=1; $i<$size-1; $i++) { - if (is_a($box->_line[$i],"WhitespaceBox")) { - $whitespace_count++; - }; - }; - - if ($whitespace_count > 0) { - $offset = $delta / $whitespace_count; - } else { - $offset = 0; - }; - - // Offset all boxes in current line box - $num_whitespaces = 0; - $size = count($box->_line); - for ($i=1; $i < $size; $i++) { - /* - * Note that order is important: additional horizontal space - * is added after the whitespace box; it is important, as - * whitespace box (if it is the last box in the line) should not - * run off the right edge of the container box - */ - $box->_line[$i]->offset($offset * $num_whitespaces, 0); - - if (is_a($box->_line[$i],"WhitespaceBox")) { - $num_whitespaces++; - }; - }; - - // The very first box is not offset in this case, so we don't need to - // call offset_wrapped to compensate this. -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/box.whitespace.php b/thirdparty/html2ps_pdf/box.whitespace.php deleted file mode 100644 index f18f7ddc4..000000000 --- a/thirdparty/html2ps_pdf/box.whitespace.php +++ /dev/null @@ -1,121 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - $box->add_subword(" ", 'iso-8859-1', array()); - return $box; - } - - function readCSS(&$state) { - parent::readCSS($state); - - $this->_readCSSLengths($state, - array(CSS_WORD_SPACING)); - } - - function get_extra_bottom() { - return 0; - } - - // "Pure" Text boxes never have margins/border/padding - function get_extra_left() { - return 0; - } - - // "Pure" Text boxes never have margins/border/padding - function get_extra_right() { - return 0; - } - - function get_extra_top() { - return 0; - } - - function get_full_width() { - return $this->width; - } - - function get_margin_top() { - return 0; - } - - function get_min_width(&$context) { - return $this->width; - } - - function get_max_width(&$context) { - return $this->width; - } - - function WhitespaceBox() { - // Call parent constructor - $this->TextBox(); - } - - // (!) SIDE EFFECT: current whitespace box can be replaced by a null box during reflow. - // callers of reflow should take this into account and possilby check for this - // after reflow returns. This can be detected by UID change. - // - function reflow(&$parent, &$context) { - // Check if there are any boxes in parent's line box - if ($parent->line_box_empty()) { - // The very first whitespace in the line box should not affect neither height nor baseline of the line box; - // because following boxes can be smaller that assumed whitespace height - // Example:
[whitespace]
; whitespace can overextend this line - - $this->width = 0; - $this->height = 0; - } elseif (is_a($parent->last_in_line(),"WhitespaceBox")) { - // Duplicate whitespace boxes should not offset further content and affect the line box length - - $this->width = 0; - $this->height = 0; - } elseif ($this->maybe_line_break($parent, $context)) { - $this->width = 0; - $this->height = 0; - }; - - parent::reflow($parent, $context); - } - - function reflow_text(&$driver) { - if (is_null(parent::reflow_text($driver))) { - return null; - }; - - // Override widths - $letter_spacing = $this->getCSSProperty(CSS_LETTER_SPACING); - $word_spacing = $this->getCSSProperty(CSS_WORD_SPACING); - - $this->width = - $this->height * WHITESPACE_FONT_SIZE_FRACTION + - $letter_spacing->getPoints() + - $word_spacing->getPoints(); - - return true; - } - - function reflow_whitespace(&$linebox_started, &$previous_whitespace) { - if (!$linebox_started || - ($linebox_started && $previous_whitespace)) { - - $link_destination = $this->getCSSProperty(CSS_HTML2PS_LINK_DESTINATION); - if ($link_destination == "") { - $this->parent->remove($this); - } else { - $this->font_height = 0.001; - $this->height = 0; - $this->width = 0; - }; - }; - - $previous_whitespace = true; - - // Note that there can (in theory) several whitespaces in a row, so - // we could not modify a flag until we met a real text box - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/cache/.gitignore b/thirdparty/html2ps_pdf/cache/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/thirdparty/html2ps_pdf/classes/include.php b/thirdparty/html2ps_pdf/classes/include.php deleted file mode 100644 index 0dccd53ff..000000000 --- a/thirdparty/html2ps_pdf/classes/include.php +++ /dev/null @@ -1,39 +0,0 @@ - diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/doc/DocHTML.php b/thirdparty/html2ps_pdf/classes/org/active-link/doc/DocHTML.php deleted file mode 100644 index eb33d0071..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/doc/DocHTML.php +++ /dev/null @@ -1,242 +0,0 @@ -CSSStringDefault = " - body {background-color: white;} - a {font-family: monospace;} - ul {list-style-type: none;} - .classTitle {color: blue;} - .name {color: black;} - .version {color: black;} - .requires {color: red;} - .extends {color: black;} - .description {color: black;font-family: sans-serif;} - .author {color: blue;} - .methodsTitle {color: blue;} - .methodList {color: blue;} - .methodName {color: blue;font-weight: bold;} - .returns {color: black;} - .param {color: black;font-weight: bold;font-family: monospace;} - "; - } - - /** - * Returns class documentation as a string, formatted in HTML - * If argument is a filename, it parses the file for comments and generates documentation - * If argument is an object of type PHPClass, then documentation is generated from it - * @method getClassDoc - * @param mixed argument - * @returns string HTML-formatted documentation if successful, false otherwise - */ - function getClassDoc($argument) { - if(is_object($argument) && get_class($argument) == "phpclass") - return $this->getClassDocFromClass($argument); - elseif(is_string($argument)) - return $this->getClassDocFromFile($argument); - else - return false; - } - - /** - * Returns class documentation as a string, formatted in HTML - * @method getClassDocFromClass - * @param object objClass - * @returns string HTML-formatted documentation if successful, false otherwise - */ - function getClassDocFromClass($objClass) { - if(is_object($objClass) && get_class($objClass) == "phpclass") { - $classDocXML = new XML_("html"); - // ---------------------- HEAD ---------------------- // - $headXML = new XMLBranch("head"); - $headXML->setTagContent($objClass->getInfo("name"), "head/title"); - $headXML->setTagContent("", "head/meta"); - $headXML->setTagAttribute("http-equiv", "content-type", "head/meta"); - $headXML->setTagAttribute("content", "text/html; charset=ISO-8859-1", "head/meta"); - $headXML->setTagContent($this->CSSStringDefault, "head/style"); - $headXML->setTagAttribute("type", "text/css", "head/style"); - // ---------------------- BODY ---------------------- // - $bodyXML = new XMLBranch("body"); - $classTitleXML = new XMLBranch("h1"); - $classTitleXML->setTagAttribute("class", "classTitle"); - $classTitleXML->setTagContent($objClass->getInfo("name") . " Class"); - $bodyXML->addXMLBranch($classTitleXML); - foreach($objClass->info as $infoKey => $infoValue) { - $brXML = new XMLBranch("br"); - $bodyXML->addXMLBranch($brXML); - if(is_array($infoValue)) { - $spanXML = new XMLBranch("span"); - $spanXML->setTagAttribute("class", $infoKey); - $spanXML->setTagContent(ucfirst($infoKey) . ":"); - $ulXML = new XMLBranch("ul"); - $ulXML->setTagAttribute("class", $infoKey); - foreach($infoValue as $value) { - $liXML = new XMLBranch("li"); - $liXML->setTagContent($value); - $ulXML->addXMLBranch($liXML); - } - $bodyXML->addXMLBranch($spanXML); - $bodyXML->addXMLBranch($ulXML); - } - else { - $spanXML = new XMLBranch("span"); - $spanXML->setTagAttribute("class", $infoKey); - $spanXML->setTagContent(ucfirst($infoKey) . ": " . $infoValue); - $bodyXML->addXMLBranch($spanXML); - } - } - $hrXML = new XMLBranch("hr"); - $bodyXML->addXMLBranch($hrXML); - $h2XML = new XMLBranch("h2"); - $h2XML->setTagAttribute("class", "methodsTitle"); - $h2XML->setTagContent("All Methods"); - $bodyXML->addXMLBranch($h2XML); - $spanXML = new XMLBranch("span"); - $spanXML->setTagAttribute("class", "methodList"); - foreach($objClass->methods as $methodName => $method) { - $aMethodXML = new XMLBranch("a"); - $aMethodXML->setTagAttribute("href", "#" . $methodName); - $aMethodXML->setTagContent($methodName); - $brXML = new XMLBranch("br"); - $spanXML->addXMLBranch($aMethodXML); - $spanXML->addXMLBranch($brXML); - } - $bodyXML->addXMLBranch($spanXML); - foreach($objClass->methods as $methodName => $method) { - $hrXML = new XMLBranch("hr"); - $bodyXML->addXMLBranch($hrXML); - $pMethodXML = new XMLBranch("p"); - $aMethodXML = new XMLBranch("a"); - $aMethodXML->setTagAttribute("name", $methodName); - $spanXMLName = new XMLBranch("span"); - $spanXMLName->setTagAttribute("class", "methodName"); - $spanXMLName->setTagContent($methodName); - $spanXMLArgs = new XMLBranch("span"); - $tagContentArgs = " ( "; - if(is_array($method->params) && count($method->params) > 0) { - $paramCount = 0; - foreach($method->params as $key => $value) { - if($paramCount > 0) - $tagContentArgs .= ", "; - $tagContentArgs .= $key; - $paramCount ++; - } - } - $tagContentArgs .= " )"; - $spanXMLArgs->setTagContent($tagContentArgs); - $aMethodXML->addXMLBranch($spanXMLName); - $aMethodXML->addXMLBranch($spanXMLArgs); - $pMethodXML->addXMLBranch($aMethodXML); - $bodyXML->addXMLBranch($pMethodXML); - unset($method->info["name"]); - foreach($method->info as $infoKey => $infoValue) { - if(is_array($infoValue)) { - $pXML = new XMLBranch("p"); - $pXML->setTagAttribute("class", $infoKey); - $pXML->setTagContent(ucfirst($infoKey) . ":"); - $ulXML = new XMLBranch("ul"); - $ulXML->setTagAttribute("class", $infoKey); - foreach($infoValue as $value) { - $liXML = new XMLBranch("li"); - $liXML->setTagContent($value); - $ulXML->addXMLBranch($liXML); - } - $bodyXML->addXMLBranch($pXML); - $bodyXML->addXMLBranch($ulXML); - } - else { - $pXML = new XMLBranch("p"); - $pXML->setTagAttribute("class", $infoKey); - $pXML->setTagContent(ucfirst($infoKey) . ": " . $infoValue); - $bodyXML->addXMLBranch($pXML); - } - } - if(is_array($method->params) && count($method->params) > 0) { - $pParamXML = new XMLBranch("p"); - //$pParamXML->setTagAttribute("class", "param"); - $paramTitleXML = new XMLBranch("span"); - $paramTitleXML->setTagContent("Arguments:"); - $pParamXML->addXMLBranch($paramTitleXML); - $paramListXML = new XMLBranch("ul"); - foreach($method->params as $key => $value) { - $paramItemXML = new XMLBranch("li"); - $paramItemXML->setTagAttribute("class", "param"); - $paramItemXML->setTagContent($key); - $paramListXML->addXMLBranch($paramItemXML); - } - $pParamXML->addXMLBranch($paramListXML); - $bodyXML->addXMLBranch($pParamXML); - } - } - // ---------------------- END ---------------------- // - $classDocXML->addXMLBranch($headXML); - $classDocXML->addXMLBranch($bodyXML); - return $classDocXML->getXMLString(0); - } - else - return false; - } - - /** - * Returns class documentation as a string, formatted in HTML - * @method getClassDocFromFile - * @param string filename - * @returns string HTML-formatted documentation if successful, false otherwise - */ - function getClassDocFromFile($filename) { - if(is_string($filename) && file_exists($filename) && is_readable($filename)) { - $objClass = new PHPClass($filename); - return $this->getClassDocFromClass($objClass); - } - else - return false; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/doc/Method.php b/thirdparty/html2ps_pdf/classes/org/active-link/doc/Method.php deleted file mode 100644 index 171f49338..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/doc/Method.php +++ /dev/null @@ -1,83 +0,0 @@ -info = array(); - $this->params = array(); - $this->setInfo("name", $name); - } - - /** - * Returns value of a property by name - * @method getInfo - * @param string name - * @returns string value of a property if found, false otherwise - */ - function getInfo($name) { - if(array_key_exists($name, $this->info)) - return $this->info[$name]; - else - return false; - } - - /** - * Sets a property with supplied name to a supplied value - * @method setInfo - * @param string name, string value - * @returns none - */ - function setInfo($name, $value) { - $this->info[$name] = $value; - } - - /** - * Sets a parameter with supplied name and value - * @method setParam - * @param string name, string value - * @returns none - */ - function setParam($name, $value) { - $this->params[$name] = $value; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/doc/PHPClass.php b/thirdparty/html2ps_pdf/classes/org/active-link/doc/PHPClass.php deleted file mode 100644 index efaff865f..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/doc/PHPClass.php +++ /dev/null @@ -1,195 +0,0 @@ -methods = array(); - $this->properties = array(); - $this->info = array(); - if($filename != "") - $this->parseFromFile($filename); - } - - /** - * Deletes a property by name - * @method deleteInfo - * @param string name - * @returns true if successful, false otherwise - */ - function deleteInfo($name) { - $success = false; - if(array_key_exists($name, $this->info)) { - unset($this->info[$name]); - $success = true; - } - return $success; - } - - /** - * Returns a property value by name - * @method getInfo - * @param string name - * @returns string value if successful, false otherwise - */ - function getInfo($name) { - if(array_key_exists($name, $this->info)) - return $this->info[$name]; - else - return false; - } - - /** - * Parses a class from supplied filename - * @method parseFromFile - * @param string filename - * @returns true if successful, false otherwise - */ - function parseFromFile($filename) { - $success = false; - if(file_exists($filename) && is_readable($filename)) { - $arrContents = file($filename); - $parsing = false; - $parsingBlocks = array(); - $tempBlock = array(); - foreach($arrContents as $line) { - if(trim($line) == "/**") { - $parsing = true; - $blockstart = true; - } - elseif($parsing && trim($line) == "*/") { - $parsing = false; - $parsingBlocks[] = $tempBlock; - $tempBlock = array(); - } - else { - if($parsing) { - if($blockstart) { - $tempBlock[] = $line; - $blockstart = false; - } - else { - $tempBlock[] = $line; - } - } - } - } - foreach($parsingBlocks as $blockLines) { - $block = array(); - foreach($blockLines as $line) { - $str = strstr($line, "@"); - $str = substr($str, 1); - if($str !== false) { - $separatorPos = (strpos($str, " ") && strpos($str, "\t")) ? min(strpos($str, " "), strpos($str, "\t")) : (strpos($str, " ") ? strpos($str, " ") : (strpos($str, "\t") ? strpos($str, "\t") : strlen($str))); - $name = trim(substr($str, 0, $separatorPos)); - $value = trim(substr($str, $separatorPos)); - } - else { - $name = "description"; - $value = trim($line); - } - if($name == "param" || $name == "description") - $block[$name][] = $value; - else - $block[$name] = $value; - } - //print("
");
-				//print_r($block);
-				//print("
"); - if(array_key_exists("method", $block)) { - $tempMethod = new Method($block["method"]); - unset($block["method"]); - if(isset($block["param"]) && is_array($block["param"])) { - foreach($block["param"] as $param) { - $tempMethod->setParam($param, ""); - } - } - unset($block["param"]); - foreach($block as $name => $value) { - $tempMethod->setInfo($name, $value); - } - $this->setMethod($tempMethod); - } - elseif(array_key_exists("class", $block)) { - $this->setInfo("name", $block["class"]); - unset($block["class"]); - foreach($block as $name => $value) { - $this->setInfo($name, $value); - } - } - } - $success = true; - } - return $success; - } - - /** - * Sets a property by name - * @method setInfo - * @param string name, string value - * @returns none - */ - function setInfo($name, $value) { - $this->info[$name] = $value; - } - - /** - * Adds a method to the class definition - * @method setMethod - * @param object method - * @returns true if successful, false otherwise - */ - function setMethod($method) { - $success = false; - if(is_object($method) && get_class($method) == "Method") { - $this->methods[$method->getInfo("name")] = $method; - $success = true; - } - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPClient.php b/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPClient.php deleted file mode 100644 index 773fcd0eb..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPClient.php +++ /dev/null @@ -1,173 +0,0 @@ -Socket($host, $port); - $this->defaultRequestMethod = "GET"; - $this->defaultRequestURI = "/"; - $this->defaultRequestVersion = "HTTP/1.0"; - $this->defaultRequestUserAgent = "ActiveLink NET Object/0.3.3"; - $this->defaultRequestBody = ""; - $this->requestMethod = $this->defaultRequestMethod; - $this->requestURI = $this->defaultRequestURI; - $this->requestVersion = $this->defaultRequestVersion; - $this->requestUserAgent = $this->defaultRequestUserAgent; - $this->requestBody = $this->defaultRequestBody; - $this->requestHeaders = array(); - } - - /** - * Adds a supplied raw header to the internal header array - * @method addRequestHeaderRaw - * @param string header - * @returns none - */ - function addRequestHeaderRaw($header) { - $this->requestHeaders[] = $header; - } - - /** - * Gets a string containing all HTTP request headers in their raw form - * @method getRequestHeaders - * @returns string request HTTP headers - */ - function getRequestHeaders() { - $headers = $this->requestMethod . " " . $this->requestURI . " " . $this->requestVersion . "\r\n"; - $headers .= "User-Agent: " . $this->requestUserAgent . "\r\n"; - $headers .= "Host: " . $this->host . "\r\n"; - foreach($this->requestHeaders as $header) { - $headers .= $header . "\r\n"; - } - if($this->requestMethod == "POST") { - $contentLength = strlen($this->requestBody); - $headers .= "Content-length: " . $contentLength . "\r\n"; - } - $headers .= "Connection: close\r\n\r\n"; - return $headers; - } - - /** - * Sets HTTP request body/payload, used only when request method is POST - * @method setRequestBody - * @param string body - * @returns none - */ - function setRequestBody($body) { - $this->requestBody = $body; - } - - /** - * Sets HTTP request method, GET or POST - * @method setRequestMethod - * @param string method - * @returns none - */ - function setRequestMethod($method) { - $this->requestMethod = strtoupper($method); - } - - /** - * Sets request URI, if not set here, default will be / - * @method setRequestURI - * @param string uri - * @returns none - */ - function setRequestURI($uri) { - $this->requestURI = $uri; - } - - /** - * Sets HTTP request User-Agent to send to the server, default is "ActiveLink NET Object/version" - * @method setRequestUserAgent - * @param string userAgent - * @returns none - */ - function setRequestUserAgent($userAgent) { - $this->setRequestUserAgent = $userAgent; - } - - /** - * Sets HTTP protocol version to be used, default is "HTTP/1.0" - * @method setRequestVersion - * @param string version - * @returns none - */ - function setRequestVersion($version) { - $this->requestVersion = $version; - } - - /** - * After all settings are complete, send the request to the server - * @method sendRequest - * @returns string server response if successful, false otherwise - */ - function sendRequest() { - $response = false; - $request = $this->getRequestHeaders(); - $request .= $this->requestBody; - $success = $this->connect(); - if($success) { - $response = $this->sendReceive($request); - $this->disconnect(); - } - return $response; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPServer.php b/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPServer.php deleted file mode 100644 index b04f26a52..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/net/HTTPServer.php +++ /dev/null @@ -1,50 +0,0 @@ -defaultServer = "ActiveLink NET Object/0.1"; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/net/Socket.php b/thirdparty/html2ps_pdf/classes/org/active-link/net/Socket.php deleted file mode 100644 index 6baa9cd5b..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/net/Socket.php +++ /dev/null @@ -1,162 +0,0 @@ -host = $host; - $this->port = $port; - $this->connected = false; - } - - /** - * Connects to host with specified settings, accepts connection timeout (optional, default 30) - * @method connect - * @param optional int connectionTimeout - * @returns true if successful, false otherwise - */ - function connect($connectTimeout = 30) { - $this->connectionID = fsockopen($this->host, $this->port, $errorID, $errorDesc, $connectTimeout); - if($this->connectionID === false) { - return false; - } - else { - $this->connected = true; - return true; - } - } - - /** - * Disconnects if already connected - * @method disconnect - * @returns true if successful, false otherwise - */ - function disconnect() { - $success = fclose($this->connectionID); - if($success) - $this->connected = false; - return $success; - } - - /** - * Receives data through connected socket, accepts chunk size (optional, default 4096) - * @method receive - * @param optional int chunkSize - * @returns string received data if successful, false otherwise - */ - function receive($chunkSize = 4096) { - $receivedString = ""; - $success = false; - if($this->connected) { - while(!feof($this->connectionID)) { - $receivedString .= fgets($this->connectionID, $chunkSize); - } - $success = true; - } - if($success) - return $receivedString; - else - return false; - } - - /** - * Sends data through connected socket - * @method send - * @param string sendString - * @returns true if successful, false otherwise - */ - function send($sendString) { - $success = false; - if($this->connected) - $success = fwrite($this->connectionID, $sendString); - return $success; - } - - /** - * Combination of send and receive methods in one - * @method sendReceive - * @param sendString - * @param optional int connectionTimeout - * @returns string received data if successful, false otherwise - */ - function sendReceive($sendString, $receiveChunkSize = 4096) { - $success = true; - $receivedString = ""; - if($this->connected) { - $bytesSent = $this->send($sendString); - if($bytesSent === false) - $success = false; - if($success) { - $receivedString = $this->receive($receiveChunkSize); - if($receivedString === false) - $success = false; - } - } - if($success) - return $receivedString; - else - return false; - } - - /** - * Sets host to make a connection to - * @method setHost - * @param string host - * @returns none - */ - function setHost($host) { - $this->host = $host; - } - - /** - * Sets port to use for the connection - * @method setPort - * @param int port - * @returns none - */ - function setPort($port) { - $this->port = $port; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/sys/File.php b/thirdparty/html2ps_pdf/classes/org/active-link/sys/File.php deleted file mode 100644 index 795ee6229..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/sys/File.php +++ /dev/null @@ -1,153 +0,0 @@ -filename = $filename; - $this->fileOpenMode = $fileOpenMode; - $this->fileOpenModeRead = "r"; - $this->fileOpenModeReadWrite = "r+"; - $this->fileOpenModeWrite = "w"; - $this->fileOpenModeWriteRead = "w+"; - $this->fileOpenModeAppend = "a"; - $this->fileOpenModeAppendRead = "a+"; - $this->connected = false; - $this->handleID = false; - if($this->filename != "") - $success = $this->open($this->filename, $this->fileOpenMode); - return $success; - } - - /** - * Closes open file handle, resets filename, and file open mode to defaults - * @method close - * @returns true if successful, false otherwise - */ - function close() { - $success = fclose($this->handleID); - if($success) { - $this->filename = ""; - $this->fileOpenMode = "r"; - $this->connected = false; - $this->handleID = false; - } - return $success; - } - - /** - * Returns file contents, optionally specify chunk size number of bytes to use per chunk read (default 8192) - * @method getContents - * @param optional int chunkSize - * @returns string file contents if successful, false otherwise - */ - function getContents($chunkSize = 8192) { - if($this->connected) { - $fileContents = ""; - do { - $data = fread($this->handleID, $chunkSize); - if (strlen($data) == 0) { - break; - } - $fileContents .= $data; - } while(true); - return $fileContents; - } - else - return false; - } - - /** - * Returns file contents as an array of lines - * @method getContentsArray - * @returns array file contents lines - */ - function getContentsArray() { - $fileContentsArray = file($this->filename); - return $fileContentsArray; - } - - /** - * Opens a file with the supplied open mode - * @method open - * @param string filename - * @param optional string fileOpenMode - * @returns true if successful, false otherwise - */ - function open($filename, $mode = "r") { - $success = false; - if(!$this->connected) { - $this->handleID = @fopen($filename, $mode); - if($this->handleID !== false) { - $this->filename = $filename; - $this->fileOpenMode = $mode; - $this->connected = true; - $success = true; - } - } - return $success; - } - - /** - * Writes supplied string content to already open file handle - * @method write - * @param string strContent - * @returns number of bytes written if successful, false otherwise - */ - function write($strContent) { - $bytesWritten = fwrite($this->handleID, $strContent, strlen($strContent)); - return $bytesWritten; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Branch.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/Branch.php deleted file mode 100644 index 54b450f8f..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Branch.php +++ /dev/null @@ -1,42 +0,0 @@ - diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Leaf.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/Leaf.php deleted file mode 100644 index fdb9e14f2..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Leaf.php +++ /dev/null @@ -1,70 +0,0 @@ -setValue($value); - } - - /** - * Gets Leaf object value - * @method getValue - * @returns value of the object - */ - function getValue() { - return $this->value; - } - - /** - * Sets Leaf object to the specified value - * @method setValue - * @param mixed value - * @returns none - */ - function setValue($value) { - $this->value = $value; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/RSS.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/RSS.php deleted file mode 100644 index 6ac2e228f..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/RSS.php +++ /dev/null @@ -1,108 +0,0 @@ -xml = new XML_($parseString); - $this->rootTags = array("rss", "rdf:RDF"); - $this->itemBranches = array(); - $this->parseItemBranches(); - } - - /** - * Returns array of references to item branches of the RSS - * @method getItemBranches - * @returns array of references to objects of type XMLBranch (item branches of RSS) - */ - function getItemBranches() { - return $this->itemBranches; - } - - /** - * Returns HTML-formatted RSS items - * @method getHTMLTitlesFormatted - * @returns string HTML-formatted RSS items - */ - function getHTMLTitlesFormatted() { - $itemBranchesXML = new XML_("ul"); - reset($this->itemBranches); - foreach($this->itemBranches as $newsItem) { - $itemXML = new XMLBranch("li"); - $itemLinkXML = new XMLBranch("a"); - $itemLinkXML->setTagContent($newsItem->getTagContent("item/title")); - $itemLinkXML->setTagAttribute("href", $newsItem->getTagContent("item/link")); - $itemXML->addXMLBranch($itemLinkXML); - $itemBranchesXML->addXMLBranch($itemXML); - } - return $itemBranchesXML->getXMLString(); - } - - /** - * Parses RSS item branches, called from constructor - * @method parseItemBranches - * @returns true if successful, false otherwise - */ - function parseItemBranches() { - $success = false; - $rootTagName = $this->xml->getTagName(); - if(in_array($rootTagName, $this->rootTags)) { - $tempBranches = array(); - if($rootTagName == "rss") - $tempBranches = $this->xml->getBranches($rootTagName . "/channel", "item"); - elseif($rootTagName == "rdf:RDF") - $tempBranches = $this->xml->getBranches($rootTagName, "item"); - if($tempBranches !== false) { - $this->itemBranches = $tempBranches; - $success = true; - } - } - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tag.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tag.php deleted file mode 100644 index 3727edaac..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tag.php +++ /dev/null @@ -1,422 +0,0 @@ -tagStartOpen = "<"; - $this->tagStartClose = ">"; - $this->tagClose = "/>"; - $this->tagEndOpen = "tagEndClose = ">"; - $this->setTagName($name); - $this->setTagContent($content); - $this->tagAttributes = array(); - $this->tagAttributeSeparator = " "; - $this->tagAttributeSeparators = array(" ", "\n", "\r", "\t"); - $this->tagAttributeAssignment = "="; - $this->tagAttributeValueQuote = '"'; - $this->FORMAT_NONE = 0; - $this->FORMAT_INDENT = 1; - $this->tagFormat = $this->FORMAT_NONE; - $this->tagFormatIndentLevel = 0; - $this->tagFormatEndTag = false; - } - - /** - * Find out whether attribute exists - * @method attributeExists - * @param string attrName - * @returns true if attribute exists, false otherwise - */ - function attributeExists($attrName) { - return array_key_exists($attrName, $this->tagAttributes); - } - - /** - * Get attribute value by its name - * @method getTagAttribute - * @param string attrName - * @returns string attribute value - */ - function getTagAttribute($attrName) { - return $this->tagAttributes[$attrName]; - } - - /** - * Get tag content string - * @method getTagContent - * @returns string tag content - */ - function getTagContent() { - return $this->tagContent; - } - - /** - * Get tag name string - * @method getTagName - * @returns string tag name - */ - function getTagName() { - return $this->tagName; - } - - /** - * Get complete tag string with its attributes and content - * @method getTagString - * @returns string tag string - */ - function getTagString() { - $formatTagBegin = ""; - $formatTagEnd = ""; - $formatContent = ""; - if($this->tagFormat == $this->FORMAT_INDENT) { - if($this->tagFormatIndentLevel > 0) - $formatTagBegin = $this->tagFormatNewLine . str_repeat($this->tagFormatIndent, $this->tagFormatIndentLevel); - if($this->tagFormatEndTag) - $formatTagEnd = $this->tagFormatNewLine . str_repeat($this->tagFormatIndent, $this->tagFormatIndentLevel); - } - $tagString = $formatTagBegin . $this->getTagStringBegin() . $formatContent . $this->tagContent . $formatTagEnd . $this->getTagStringEnd(); - return $tagString; - } - - /** - * Get beginning of the tag string, i.e. its name attributes up until tag contents - * @method getTagStringBegin - * @returns string beginning of the tag string - */ - function getTagStringBegin() { - $tagString = ""; - if($this->tagName != "") { - $tagString .= $this->tagStartOpen . $this->tagName; - foreach($this->tagAttributes as $attrName => $attrValue) { - $tagString .= $this->tagAttributeSeparator . $attrName . $this->tagAttributeAssignment . $this->tagAttributeValueQuote . $attrValue . $this->tagAttributeValueQuote; - } - if($this->tagContent == "") - $tagString .= $this->tagAttributeSeparator . $this->tagClose; - else - $tagString .= $this->tagStartClose; - } - return $tagString; - } - - /** - * Get ending of the tag string, i.e. its closing tag - * @method getTagStringEnd - * @returns string close tag if tag is not short-handed, empty string otherwise - */ - function getTagStringEnd() { - $tagString = ""; - if($this->tagName != "" && $this->tagContent != "") - $tagString .= $this->tagEndOpen . $this->tagName . $this->tagEndClose; - return $tagString; - } - - /** - * Remove all tag attributes - * @method removeAllAttributes - * @returns none - */ - function removeAllAttributes() { - $this->tagAttributes = array(); - } - - /** - * Remove a tag attribute by its name - * @method removeAttribute - * @returns none - */ - function removeAttribute($attrName) { - unset($this->tagAttributes[$attrName]); - } - - /** - * Reset the tag object - set name, content to empty strings, and reset all attributes - * @method resetTag - * @returns none - */ - function resetTag() { - $this->setTagName(""); - $this->setTagContent(""); - $this->removeAllAttributes(); - } - - /** - * Create or modify an existing attribute by supplying attribute name and value - * @method setAttribute - * @param string attrName - * @param string attrValue - * @returns none - */ - function setAttribute($attrName, $attrValue) { - $this->tagAttributes[$attrName] = $attrValue; - } - - /** - * Set contents of the tag - * @method setTagContent - * @param string content - * @returns none - */ - function setTagContent($content) { - $this->tagContent = $content; - } - - /** - * Set tag formatting option by specifying tagFormat to 0 (none), or 1 (indented) - * @method setTagFormat - * @param int tagFormat - * @param optional int tagFormatIndentLevel - * @returns none - */ - function setTagFormat($tagFormat, $tagFormatIndentLevel = 0) { - $this->tagFormat = $tagFormat; - $this->tagFormatIndentLevel = $tagFormatIndentLevel; - } - - /** - * Set whether closing of the tag should be formatted or not - * @method setTagFormatEndTag - * @param optional boolean formatEndTag - * @returns none - */ - function setTagFormatEndTag($formatEndTag = true) { - $this->tagFormatEndTag = $formatEndTag; - } - - /** - * Parse a string containing a tag into the tag object, this will parse the first tag found - * @method setTagFromString - * @param string tagString - * @returns array array of [0]=>index of the beginning of the tag, [1]=>index where tag ended - */ - function setTagFromString($tagString) { - $i = 0; - $j = 0; - $tagStartOpen = $tagStartClose = $tagNameStart = $tagNameEnd = $tagContentStart = $tagContentEnd = $tagEndOpen = $tagEndClose = 0; - $tagName = $tagContent = ""; - $tagShort = false; - $tagAttributes = array(); - $success = true; - $tagFound = false; - while(!$tagFound && $i < strlen($tagString)) { - // look for start tag character - $i = strpos($tagString, $this->tagStartOpen, $i); - if($i === false) - break; - // if tag name starts from alpha character we found the tag - if(ctype_alpha(substr($tagString, $i + 1, 1))) - $tagFound = true; - // else continue searching - else - $i ++; - } - // if no tag found set success to false - if(!$tagFound) - $success = false; - // if so far so good continue with found tag name - if($success) { - $tagStartOpen = $i; - $tagNameStart = $i + 1; - // search where tag name would end - // search for a space separator to account for attributes - $separatorPos = array(); - for($counter = 0; $counter < count($this->tagAttributeSeparators); $counter ++) { - $separatorPosTemp = strpos($tagString, $this->tagAttributeSeparators[$counter], $tagStartOpen); - if($separatorPosTemp !== false) - $separatorPos[] = $separatorPosTemp; - } - //$i = strpos($tagString, $this->tagAttributeSeparator, $tagStartOpen); - if(count($separatorPos) > 0) - $i = min($separatorPos); - else - $i = false; - // search for tag close character - $j = strpos($tagString, $this->tagStartClose, $tagStartOpen); - // search for short tag (no content) - $k = strpos($tagString, $this->tagClose, $tagStartOpen); - // if tag close character is not found then no tag exists, set success to false - if($j === false) - $success = false; - // if tag short close found before tag close, then tag is short - if($k !== false && $k < $j) - $tagShort = true; - } - // if so far so good set tag name correctly - if($success) { - // if space separator not found or it is found after the tag close char - if($i === false || $i > $j) { - if($tagShort) - $tagNameEnd = $k; - else - $tagNameEnd = $j; - $tagStartClose = $j; - } - // else if tag attributes exist - else { - $tagNameEnd = $i; - $tagStartClose = $j; - // parse attributes - $tagAttributesStart = $i + strlen($this->tagAttributeSeparator); - $attrString = trim(substr($tagString, $tagAttributesStart, $j - $tagAttributesStart)); - $attrArray = explode($this->tagAttributeValueQuote, $attrString); - $attrCounter = 0; - while($attrCounter < count($attrArray) - 1) { - $attributeName = trim(str_replace($this->tagAttributeAssignment, "", $attrArray[$attrCounter])); - $attributeValue = $attrArray[$attrCounter + 1]; - $tagAttributes[$attributeName] = $attributeValue; - $attrCounter += 2; - } - } - $tagName = rtrim(substr($tagString, $tagNameStart, $tagNameEnd - $tagNameStart)); - if(!$tagShort) { - $tagContentStart = $tagStartClose + 1; - // look for ending of the tag after tag content - $j = $tagContentStart; - $tagCloseFound = false; - // while loop will find the k-th tag close - // start with one since we have one tag open - $k = 1; - while(!$tagCloseFound && $success) { - // find k-th tag close from j - $n = $j - 1; - for($skip = 0; $skip < $k; $skip ++) { - $n ++; - $tempPos = strpos($tagString, $this->tagEndOpen . $tagName . $this->tagEndClose, $n); - if($tempPos !== false) - $n = $tempPos; - else { - $success = false; - break; - } - } - // if success, find number of tag opens before the tag close - $k = 0; - if($success) { - $tempString = substr($tagString, $j, $n - $j); - $tempNewPos = 0; - do { - $tempPos = strpos($tempString, $this->tagStartOpen . $tagName, $tempNewPos); - if($tempPos !== false) { - $tempPosChar = substr($tempString, $tempPos + strlen($this->tagStartOpen . $tagName), 1); - $tagEndArray = $this->tagAttributeSeparators; - $tagEndArray[] = $this->tagEndClose; - $tempPosTagEnded = array_search($tempPosChar, $tagEndArray); - if($tempPosTagEnded !== false && $tempPosTagEnded !== NULL) { - $tempStartClose = strpos($tempString, $this->tagStartClose, $tempPos); - $tempStartShortClose = strpos($tempString, $this->tagClose, $tempPos); - // if open tag found increase counter - if($tempStartClose !== false && ($tempStartShortClose === false || $tempStartClose < $tempStartShortClose)) - $k ++; - $tempNewPos = $tempPos + strlen($this->tagStartOpen . $tagName); - } - else - $tempNewPos = $tempPos + strlen($this->tagStartOpen . $tagName); - } - } while($tempPos !== false); - } - // if no tags opened we found the tag close - if($k == 0) - $tagCloseFound = true; - // else set new j - else { - $j = $n + strlen($this->tagEndOpen . $tagName . $this->tagEndClose); - } - } - if($tagCloseFound) - $i = $n; - else - $success = false; - } - } - // if so far so good, then we have everything we need! set the object - if($success) { - if(!$tagShort) { - $tagContentEnd = $i; - $tagContent = substr($tagString, $tagContentStart, $tagContentEnd - $tagContentStart); - $tagEndOpen = $i; - $tagEndClose = $tagEndOpen + strlen($this->tagEndOpen . $tagName . $this->tagEndClose); - } - else - $tagEndClose = $tagStartClose + strlen($this->tagStartClose); - $this->setTagName($tagName); - $this->setTagContent($tagContent); - $this->tagAttributes = $tagAttributes; - } - if($success) - return array($tagStartOpen, $tagEndClose); - else - return false; - } - - /** - * Set tag name - * @method setTagName - * @param string name - * @returns none - */ - function setTagName($name) { - $this->tagName = $name; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tree.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tree.php deleted file mode 100644 index e3466ac4e..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/Tree.php +++ /dev/null @@ -1,94 +0,0 @@ -nodes = array(); - } - - /** - * Adds given node to the Tree - * @method addNode - * @param mixed id - * @param mixed node - * @returns true if successful, false otherwise - */ - function addNode($id, $node) { - $success = true; - if($id == -1) - $this->nodes[] = $node; - else - if(isset($this->nodes[$id])) - $success = false; - else - $this->nodes[$id] = $node; - return $success; - } - - /** - * Removes all nodes - * @method removeAllNodes - * @returns none - */ - function removeAllNodes () { - $this->nodes = array(); - } - - /** - * Removes specified node from the Tree - * @method removeNode - * @param mixed id - * @returns true if successful, false otherwise - */ - function removeNode($id) { - $success = false; - if(isset($this->nodes[$id])) { - unset($this->nodes[$id]); - $success = true; - } - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XML.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XML.php deleted file mode 100644 index 34a0c494f..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XML.php +++ /dev/null @@ -1,580 +0,0 @@ -Tree(); - $this->pathSeparator = "/"; - $this->tag = new Tag(); - if(is_string($argument)) { - // if this is an XML string to be parsed - if(strpos($argument, $this->tag->tagEndOpen) > 0 || strpos($argument, $this->tag->tagClose) > 0) - $this->parseFromString($argument); - // else if this is a tag path to be created - elseif(strpos($argument, $this->pathSeparator) > 0) { - $tags = explode($this->pathSeparator, $argument); - $this->tag->setTagName($tags[0]); - $this->setTagContent("", $argument); - } - else - $this->tag->setTagName($argument); - $success = true; - } - else - $success = false; - return $success; - } - - /** - * Adds another XML tree as a branch to the current XML object - * @method addXMLAsBranch - * @param object xml - * @param optional mixed id - * @returns true if successful, false otherwise - */ - function addXMLAsBranch($xml, $id = -1) { - $success = false; - if(is_object($xml) && strtolower(get_class($xml)) == "xml") { - $newBranch = new XMLBranch(); - $newBranch->nodes = $xml->nodes; - $newBranch->tag = $xml->tag; - $success = $this->addXMLBranch($newBranch, $id); - } - return $success; - } - - /** - * Adds XML Branch to the current XML object - * @method addXMLBranch - * @param object xmlBranch - * @param optional mixed id - * @returns true if successful, false otherwise - */ - function addXMLBranch($xmlBranch, $id = -1) { - $success = false; - if(is_object($xmlBranch) && strtolower(get_class($xmlBranch)) == "xmlbranch") { - $xmlBranch->setParentXML($this); - $success = $this->addNode($id, $xmlBranch); - } - return $success; - } - - /** - * Adds XML Leaf to the current XML object - * @method addXMLLeaf - * @param object xmlLeaf - * @param optional mixed id - * @returns true if successful, false otherwise - */ - function addXMLLeaf($xmlLeaf, $id = -1) { - $success = false; - if(is_object($xmlLeaf) && strtolower(get_class($xmlLeaf)) == "xmlleaf") { - $xmlLeaf->setParentXML($this); - $success = $this->addNode($id, $xmlLeaf); - } - return $success; - } - - /** - * Retrieves an array of references to XMLBranches within the specified path, tag name, attribute name, and attribute value - * @method getBranches - * @param optional string tagPath - * @param optional string tagName - * @param optional string attrName - * @param optional string attrValue - * @returns array of references to XMLBranch objects that meet specified criteria, or false if none found - */ - function getBranches($tagPath = "", $tagName = "", $attrName = "", $attrValue = "") { - $branchArray = array(); - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $tags = explode($this->pathSeparator, $tagPath); - if($this->tag->getTagName() == $tags[0]) { - if(count($tags) == 1) { - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - if(gettype($this->nodes[$arrKeys[$index]]) == "object" && strtolower(get_class($this->nodes[$arrKeys[$index]])) == "xmlbranch") { - if(($tagName == "" || $this->nodes[$arrKeys[$index]]->tag->getTagName() == $tagName) && - ($attrName == "" || $this->nodes[$arrKeys[$index]]->tag->attributeExists($attrName)) && - ($attrValue == "" || $this->nodes[$arrKeys[$index]]->tag->getTagAttribute($attrName) == $attrValue)) { - $branchArray[] = &$this->nodes[$arrKeys[$index]]; - } - } - } - } - else { - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - if(gettype($this->nodes[$arrKeys[$index]]) == "object" && strtolower(get_class($this->nodes[$arrKeys[$index]])) == "xmlbranch") { - if($this->nodes[$arrKeys[$index]]->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $newArray = $this->nodes[$arrKeys[$index]]->getBranches($newTagPath, $tagName, $attrName, $attrValue); - if($newArray !== false) - $branchArray = array_merge($branchArray, $newArray); - } - } - } - } - } - if(count($branchArray) == 0) - $branchArray = false; - return $branchArray; - } - - /** - * Retrieves an array of references to XMLLeaf(s) within the specified path - * @method getLeafs - * @param optional string tagPath - * @returns array of references to XMLLeaf objects in specified tag path, false if none found - */ - function getLeafs($tagPath = "") { - $leafArray = array(); - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $tags = explode($this->pathSeparator, $tagPath); - if($this->tag->getTagName() == $tags[0]) { - if(count($tags) == 1) { - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - if(gettype($this->nodes[$arrKeys[$index]]) == "object" && strtolower(get_class($this->nodes[$arrKeys[$index]])) == "xmlleaf") { - $leafArray[] = &$this->nodes[$arrKeys[$index]]; - } - } - } - else { - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - if(gettype($this->nodes[$arrKeys[$index]]) == "object" && strtolower(get_class($this->nodes[$arrKeys[$index]])) == "xmlbranch") { - if($this->nodes[$arrKeys[$index]]->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $newArray = $this->nodes[$arrKeys[$index]]->getLeafs($newTagPath); - if($newArray !== false) - $leafArray = array_merge($leafArray, $newArray); - } - } - } - } - } - if(count($leafArray) == 0) - $leafArray = false; - return $leafArray; - } - - /** - * Returns attribute value of the specified tag and tagpath - * @method getTagAttribute - * @param string attributeName - * @param optional string tagPath - * @returns attribute of the specified tag if successful, false otherwise - */ - function getTagAttribute($attributeName, $tagPath = "") { - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $tags = explode($this->pathSeparator, $tagPath); - $attributeValue = false; - if($this->tag->getTagName() == $tags[0]) { - if(sizeof($tags) == 1) { - if($this->tag->attributeExists($attributeName)) - $attributeValue = $this->tag->getTagAttribute($attributeName); - } - else { - foreach($this->nodes as $node) { - if(strtolower(get_class($node)) == "xmlbranch") - if($node->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $attributeValue = $node->getTagAttribute($attributeName, $newTagPath); - } - } - } - } - return $attributeValue; - } - - /** - * Returns contents of the specified tag path - * @method getTagContent - * @param optional string tagPath - * @returns content of the tag from the specified path if successful, false otherwise - */ - function getTagContent($tagPath = "") { - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $tags = explode($this->pathSeparator, $tagPath); - $tagValue = false; - if($this->tag->getTagName() == $tags[0]) { - if(sizeof($tags) == 1) - $tagValue = $this->getXMLContent(); - else { - foreach($this->nodes as $node) { - if(strtolower(get_class($node)) == "xmlbranch") - if($node->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $tagValue = $node->getTagContent($newTagPath); - } - } - } - } - return $tagValue; - } - - /** - * Retrieves the tag name of the current object - * @method getTagName - * @returns tag name - */ - function getTagName() { - return($this->tag->getTagName()); - } - - /** - * Gets contents from the current object - * @method getXMLContent - * @returns contents of the current XML tag - */ - function getXMLContent() { - $xmlContent = ""; - foreach($this->nodes as $node) { - if(gettype($node) == "object") { - if(strtolower(get_class($node)) == "xmlbranch") - $xmlContent .= $node->getXMLString(); - elseif(strtolower(get_class($node)) == "xmlleaf") - $xmlContent .= $node->getValue(); - } - } - return $xmlContent; - } - - /** - * Gets the whole XML string of the current object - * @method getXMLString - * @param optional mixed indent - * @returns complete XML string of current object - */ - function getXMLString($indent = false) { - $xmlString = ""; - $containsBranches = false; - $containsLeafs = false; - $newIndent = false; - if($indent === false) - $newIndent = false; - else { - $newIndent = $indent + 1; - $this->tag->setTagFormat($this->tag->FORMAT_INDENT, $indent); - } - foreach($this->nodes as $node) { - if(gettype($node) == "object") { - if(strtolower(get_class($node)) == "xmlbranch") { - $this->tag->tagContent .= $node->getXMLString($newIndent); - $containsBranches = true; - } - elseif(strtolower(get_class($node)) == "xmlleaf") { - $this->tag->tagContent .= $node->getValue(); - $containsLeafs = true; - } - } - } - if($containsBranches) - $this->tag->setTagFormatEndTag(true); - $xmlString = $this->tag->getTagString(); - $this->tag->setTagContent(""); - return $xmlString; - } - - /** - * Find out whether the current object has any branches - * @method hasBranch - * @returns true if branches exist, false otherwise - */ - function hasBranch() { - $hasBranch = false; - foreach($this->nodes as $node) { - if(strtolower(get_class($node)) == "xmlbranch") { - $hasBranch = true; - break; - } - } - return $hasBranch; - } - - /** - * Find out whether the current object has any leaf(s) - * @method hasLeaf - * @returns true if leaf(s) exist, false otherwise - */ - function hasLeaf() { - $hasLeaf = false; - foreach($this->nodes as $node) { - if(strtolower(get_class($node)) == "xmlleaf") { - $hasLeaf = true; - break; - } - } - return $hasLeaf; - } - - /** - * Parse entire XML string into the current object; also called from constructor - * @method parseFromString - * @param string parseString - * @returns none - */ - function parseFromString($parseString) { - $tagResult = $this->tag->setTagFromString($parseString); - if($tagResult !== false) { - $this->parseNodesFromTag(); - $this->tag->setTagContent(""); - } - } - - /** - * Parses the current tag content into Branches and Leaf(s); called from parseFromString - * @method parseNodesFromTag - * @returns none - */ - function parseNodesFromTag() { - $tempTag = new Tag(); - $parseString = $this->tag->getTagContent(); - while($tagParsed = $tempTag->setTagFromString($parseString)) { - if($tagParsed[0] != 0 && substr($parseString, 0, $tagParsed[0]) != "") - $this->addXMLLeaf(new XMLLeaf(substr($parseString, 0, $tagParsed[0]))); - $branch = new XMLBranch(); - $tempTagCopy = new Tag(); - $tempTagCopy->setTagName($tempTag->getTagName()); - $tempTagCopy->tagAttributes = $tempTag->tagAttributes; - $tempTagCopy->setTagContent($tempTag->getTagContent()); - $branch->setTag($tempTagCopy); - $branch->parseNodesFromTag(); - $branch->tag->setTagContent(""); - $this->addXMLBranch($branch); - $parseString = substr($parseString, $tagParsed[1]); - } - if(strlen($parseString) > 0 && $parseString != "") - $this->addXMLLeaf(new XMLLeaf($parseString)); - } - - /** - * Removes all Branches from current object - * @method removeAllBranches - */ - function removeAllBranches() { - foreach($this->nodes as $key => $value) { - if(strtolower(get_class($value)) == "xmlbranch") - unset($this->nodes[$key]); - } - } - - /** - * Removes all Leaf(s) from current object - * @method removeAllLeafs - */ - function removeAllLeafs() { - foreach($this->nodes as $key => $value) { - if(strtolower(get_class($value)) == "xmlleaf") - unset($this->nodes[$key]); - } - } - - /** - * Removes Branches with the specified criteria - * @method removeBranches - * @param optional string tagPath - * @param optional string tagName - * @param optional string attrName - * @param optional string attrValue - * @returns number of branches deleted - */ - function removeBranches($tagPath = "", $tagName = "", $attrName = "", $attrValue = "") { - $branchesDeleted = 0; - $referencedBranches = array(); - $tags = explode($this->pathSeparator, $tagPath); - if(count($tags) > 1) { - $parentTagName = array_pop($tags); - $parentTagPath = implode($this->pathSeparator, $tags); - $referencedBranches = $this->getBranches($parentTagPath, $parentTagName); - } - else { - $referencedBranches[] = &$this; - } - for($i = 0; $i < count($referencedBranches); $i ++) { - $arrKeys = array_keys($referencedBranches[$i]->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - if(gettype($referencedBranches[$i]->nodes[$arrKeys[$index]]) == "object" && strtolower(get_class($referencedBranches[$i]->nodes[$arrKeys[$index]])) == "xmlbranch") { - if(($tagName == "" || $referencedBranches[$i]->nodes[$arrKeys[$index]]->tag->getTagName() == $tagName) && - ($attrName == "" || $referencedBranches[$i]->nodes[$arrKeys[$index]]->tag->attributeExists($attrName)) && - ($attrValue == "" || $referencedBranches[$i]->nodes[$arrKeys[$index]]->tag->getTagAttribute($attrName) == $attrValue)) { - $referencedBranches[$i]->removeNode($arrKeys[$index]); - $branchesDeleted ++; - } - } - } - } - return $branchesDeleted; - } - - /** - * Sets tag object of a branch specified by branch ID for the current object; see getBranches and setTag - * @method setBranchTag - * @param mixed branchId - * @param object tag - * @returns true on success, false otherwise - */ - function setBranchTag($branchId, $tag) { - $success = true; - if(strtolower(get_class($this->nodes[$branchId])) == "xmlbranch" && strtolower(get_class($tag)) == "tag") - $this->nodes[$branchId]->setTag($tag); - else - $success = false; - return $success; - } - - /** - * Sets tag object of the current object - * @method setTag - * @param object tag - * @returns true if successful, false otherwise - */ - function setTag($tag) { - $success = true; - if(strtolower(get_class($tag)) == "tag") - $this->tag = $tag; - else - $success = false; - return $success; - } - - /** - * Sets an attribute name and value on an existing tag found via tagpath string - * @method setTagAttribute - * @param string attributeName - * @param optional string attributeValue - * @param optional string tagPath - * @returns true if successful, false otherwise - */ - function setTagAttribute($attributeName, $attributeValue = "", $tagPath = "") { - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $success = true; - $tags = explode($this->pathSeparator, $tagPath); - if($this->tag->getTagName() == $tags[0]) { - if(sizeof($tags) == 1) - $this->tag->setAttribute($attributeName, $attributeValue); - else { - $nodeTagFound = false; - reset($this->nodes); - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - $node =& $this->nodes[$arrKeys[$index]]; - if(strtolower(get_class($node)) == "xmlbranch") - if($node->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $success = $node->setTagAttribute($attributeName, $attributeValue, $newTagPath); - $nodeTagFound = true; - } - } - if(!$nodeTagFound) - $success = false; - } - } - else - $success = false; - return $success; - } - - /** - * Sets content of the specified tag - * @method setTagContent - * @param mixed content - * @param optional string tagPath - * @returns true if successful, false otherwise - */ - function setTagContent($content, $tagPath = "") { - if($tagPath == "") - $tagPath = $this->tag->getTagName(); - $success = true; - $tags = explode($this->pathSeparator, $tagPath); - if($this->tag->getTagName() == $tags[0]) { - if(sizeof($tags) == 1) { - //$this->nodes = array(new XMLLeaf($content)); - $this->removeAllNodes(); - $this->addXMLLeaf(new XMLLeaf($content)); - } - else { - $nodeTagFound = false; - reset($this->nodes); - $arrKeys = array_keys($this->nodes); - for($index = 0; $index < count($arrKeys); $index ++) { - $node =& $this->nodes[$arrKeys[$index]]; - if(strtolower(get_class($node)) == "xmlbranch") - if($node->tag->getTagName() == $tags[1]) { - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $success = $node->setTagContent($content, $newTagPath); - $nodeTagFound = true; - } - } - if(!$nodeTagFound) { - $branch = new XMLBranch(); - $branch->setTag(new Tag($tags[1])); - $newTagPath = implode($this->pathSeparator, array_slice($tags, 1)); - $branch->setTagContent($content, $newTagPath); - $this->addXMLBranch($branch); - } - } - } - return $success; - } - -} - -import("org.active-link.xml.XMLBranch"); -import("org.active-link.xml.XMLLeaf"); - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLBranch.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLBranch.php deleted file mode 100644 index 9e3777a07..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLBranch.php +++ /dev/null @@ -1,71 +0,0 @@ -parentXML; - } - - /** - * Sets parent object of the XML branch - * @method setParentXML - * @param object xml - * @returns true if successful, false otherwise - */ - function setParentXML(&$xml) { - $success = false; - if(strtolower(get_class($xml)) == "xml" || strtolower(get_class($xml)) == "xmlbranch") { - $this->parentXML = &$xml; - $success = true; - } - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLDocument.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLDocument.php deleted file mode 100644 index 6ddb056e4..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLDocument.php +++ /dev/null @@ -1,174 +0,0 @@ -File($filename, $fileOpenMode); - $this->tag = new Tag(); - $this->tag->tagStartOpen = "tag->tagClose = "?>"; - if($this->connected && ($this->fileOpenMode == $this->fileOpenModeRead || $this->fileOpenMode == $this->fileOpenModeReadWrite)) { - $fileContents = $this->getContents(); - $this->close(); - $this->parseFromString($fileContents); - } - else { - $this->setDefaultXMLTag(); - $this->xml = new XML_(); - } - return $success; - } - - /** - * Returns the XML object containing actual XML tree; in PHP 4 make sure to use =& to get a reference instead of a copy - * @method getXML - * @returns object of type XML containing actual XML tree - */ - function getXML() { - return $this->xml; - } - - /** - * Returns the XML string of a complete XML document - * @method getXMLString - * @returns string containing contents of XML document - */ - function getXMLString() { - $xmlString = $this->tag->getTagString(); - $xmlString .= "\n\n"; - $xmlString .= $this->xml->getXMLString(0); - return $xmlString; - } - - /** - * Parses XML document from supplied string, also called from constructor when parsing file contents - * @method parseFromString - * @param string XMLDocString - * @returns none - */ - function parseFromString($XMLDocString) { - $tagPos = $this->tag->setTagFromString($XMLDocString); - if($tagPos === false) { - $tagPos = array(0 => 0, 1 => 0); - $this->setDefaultXMLTag(); - } - $xmlContents = trim(substr($XMLDocString, $tagPos[1])); - $this->xml = new XML_($xmlContents); - } - - /** - * Saves document contents to a supplied filename - * @method save - * @param string filename - * @returns true if successful, false otherwise - */ - function save($filename) { - $success = $this->open($filename, $this->fileOpenModeWrite); - if($success) { - $bytesWritten = $this->write($this->getXMLString()); - if($bytesWritten <= 0) - $success = false; - $this->close(); - } - return $success; - } - - /** - * (Re)sets XML version/encoding to default values - * @method setDefaultXMLTag - * @returns none - */ - function setDefaultXMLTag() { - $this->tag->setTagName("xml"); - $this->tag->setAttribute("version", "1.0"); - $this->tag->setAttribute("encoding", "UTF-8"); - } - - /** - * Sets encoding of the XML document - * @method setEncoding - * @param string encoding - * @returns none - */ - function setEncoding($encoding) { - $this->tag->setAttribute("encoding", $encoding); - } - - /** - * Sets version of the XML document - * @method setVersion - * @param string version - * @returns none - */ - function setVersion($version) { - $this->tag->setAttribute("version", $version); - } - - /** - * Sets XML object of the XMLDocument, sets/changes/updates XML content to the supplied XML tree, uses reference no copy is created - * @method setXML - * @param object xml - * @returns true if successful, false otherwise - */ - function setXML(&$xml) { - $success = false; - if(gettype($xml) == "object" && strtolower(get_class($xml)) == "xml") { - $this->xml = &$xml; - $success = true; - } - return $success; - } - -} diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLLeaf.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLLeaf.php deleted file mode 100644 index 02acb1af3..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLLeaf.php +++ /dev/null @@ -1,73 +0,0 @@ -parentXML; - } - - /** - * Sets parent object of the XML leaf - * @method setParentXML - * @param object xml - * @returns true if successful, false otherwise - */ - function setParentXML(&$xml) { - $success = false; - if(strtolower(get_class($xml)) == "xml" || strtolower(get_class($xml)) == "xmlbranch") { - $this->parentXML = &$xml; - $success = true; - } - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLRPCClient.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLRPCClient.php deleted file mode 100644 index b83904c79..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XMLRPCClient.php +++ /dev/null @@ -1,120 +0,0 @@ -HTTPClient($host, $port); - $this->setRequestMethod("POST"); - $this->addRequestHeaderRaw("Content-type: text/xml"); - $this->xml = new XML_("methodCall"); - $this->xml->setTagContent("", "methodCall/methodName"); - $this->xml->setTagContent("", "methodCall/params"); - $this->xmlDoc = new XMLDocument(); - $this->xmlDoc->setXML($this->xml); - $paramsBranchArray = &$this->xml->getBranches("methodCall", "params"); - $this->params = &$paramsBranchArray[0]; - // this call not necessary if we can somehow update body before HTTPClient->sendRequest - $this->setRequestBody($this->xmlDoc->getXMLString()); - } - - /** - * Adds a parameter to a method call in XMLRPC request - * @method addParam - * @param string paramType - * @param mixed paramValue - * @returns none - */ - function addParam($paramType, $paramValue) { - $newParam = new XMLBranch("param"); - $newParam->setTagContent($paramValue, "param/value/$paramType"); - $this->params->addXMLBranch($newParam); - // this call not necessary if we can somehow update body before HTTPClient->sendRequest - $this->setRequestBody($this->xmlDoc->getXMLString()); - } - - /** - * Sets method name in XMLRPC request - * @method setMethodName - * @param string methodName - * @returns none - */ - function setMethodName ($methodName) { - $this->xml->setTagContent($methodName, "methodCall/methodName"); - // this call not necessary if we can somehow update body before HTTPClient->sendRequest - $this->setRequestBody($this->xmlDoc->getXMLString()); - } - - /** - * Sets XMLRPC request by supplying an XMLDocument object - * @method setRequestXML - * @param object XMLDocument - * @returns true if successful, false otherwise - */ - function setRequestXML(&$XMLDocument) { - if(is_object($XMLDocument) && strtolower(get_class($XMLDocument)) == "xmldocument") { - $this->xmlDoc = &$XMLDocument; - $this->xml = &$this->xmlDoc->getXML(); - $this->params = &$this->xml->getBranches("methodCall", "params"); - // this call not necessary if we can somehow update body before HTTPClient->sendRequest - $this->setRequestBody(htmlspecialchars($this->xmlDoc->getXMLString())); - $success = true; - } - else - $success = false; - return $success; - } - -} - -?> diff --git a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XPath.php b/thirdparty/html2ps_pdf/classes/org/active-link/xml/XPath.php deleted file mode 100644 index 521000715..000000000 --- a/thirdparty/html2ps_pdf/classes/org/active-link/xml/XPath.php +++ /dev/null @@ -1,46 +0,0 @@ - diff --git a/thirdparty/html2ps_pdf/config.inc.php b/thirdparty/html2ps_pdf/config.inc.php deleted file mode 100644 index 41c513cec..000000000 --- a/thirdparty/html2ps_pdf/config.inc.php +++ /dev/null @@ -1,157 +0,0 @@ - diff --git a/thirdparty/html2ps_pdf/config.parse.php b/thirdparty/html2ps_pdf/config.parse.php deleted file mode 100644 index 127633dc1..000000000 --- a/thirdparty/html2ps_pdf/config.parse.php +++ /dev/null @@ -1,170 +0,0 @@ -first_child(); - do { - if ($child->node_type() == XML_ELEMENT_NODE) { - switch ($child->tagname()) { - case "normal": - $names = explode(',',$root->get_attribute('name')); - foreach ($names as $name) { - $resolver->add_normal_encoding_override($name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - }; - break; - case "bold": - $names = explode(',',$root->get_attribute('name')); - foreach ($names as $name) { - $resolver->add_bold_encoding_override($name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - }; - break; - }; - }; - } while ($child = $child->next_sibling()); -} - -function parse_metrics_node_config_file($root, &$resolver) { - $resolver->add_afm_mapping($root->get_attribute('typeface'), - $root->get_attribute('file')); -} - -function parse_ttf_node_config_file($root, &$resolver) { - $resolver->add_ttf_mapping($root->get_attribute('typeface'), - $root->get_attribute('file'), - (bool)$root->get_attribute('embed')); -} - -function parse_family_encoding_override_node_config_file($family, $root, &$resolver) { - $child = $root->first_child(); - do { - if ($child->node_type() == XML_ELEMENT_NODE) { - switch ($child->tagname()) { - case "normal": - $names = explode(",",$root->get_attribute('name')); - foreach ($names as $name) { - $resolver->add_family_normal_encoding_override($family, - $name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - }; - break; - case "bold": - $names = explode(",",$root->get_attribute('name')); - foreach ($names as $name) { - $resolver->add_family_bold_encoding_override($family, - $name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - }; - break; - }; - }; - } while ($child = $child->next_sibling()); -} - -function parse_fonts_family_node_config_file($root, &$resolver) { - // Note: font family names are always converted to lower case to be non-case-sensitive - $child = $root->first_child(); - do { - if ($child->node_type() == XML_ELEMENT_NODE) { - $font_family_name = strtolower($root->get_attribute('name')); - switch ($child->tagname()) { - case "normal": - $resolver->add_normal_family($font_family_name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - break; - case "bold": - $resolver->add_bold_family($font_family_name, - $child->get_attribute('normal'), - $child->get_attribute('italic'), - $child->get_attribute('oblique')); - break; - case "encoding-override": - parse_family_encoding_override_node_config_file($font_family_name, $child, $resolver); - break; - }; - }; - } while ($child = $child->next_sibling()); -} - -function parse_fonts_node_config_file($root, &$resolver) { - $child = $root->first_child(); - do { - if ($child->node_type() == XML_ELEMENT_NODE) { - switch ($child->tagname()) { - case "alias": - $resolver->add_alias($child->get_attribute('alias'), $child->get_attribute('family')); - break; - case "family": - parse_fonts_family_node_config_file($child, $resolver); - break; - case "encoding-override": - parse_encoding_override_node_config_file($child, $resolver); - break; - case "ttf": - parse_ttf_node_config_file($child, $resolver); - break; - case "metrics": - parse_metrics_node_config_file($child, $resolver); - break; - }; - }; - } while ($child = $child->next_sibling()); -} - -function parse_config_file($filename) { - // Save old magic_quotes_runtime value and disable it - $mq_runtime = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - - $doc = TreeBuilder::build(file_get_contents($filename)); - $root=$doc->document_element(); - - $child = $root->first_child(); - do { - if ($child->node_type() == XML_ELEMENT_NODE) { - switch ($child->tagname()) { - case "fonts": - global $g_font_resolver; - parse_fonts_node_config_file($child, $g_font_resolver); - break; - case "fonts-pdf": - global $g_font_resolver_pdf; - parse_fonts_node_config_file($child, $g_font_resolver_pdf); - break; - case "media": - add_predefined_media($child->get_attribute('name'), - (float)$child->get_attribute('height'), - (float)$child->get_attribute('width')); - break; - }; - }; - } while ($child = $child->next_sibling()); - - // Restore old magic_quotes_runtime values - set_magic_quotes_runtime($mq_runtime); -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/content_type.class.php b/thirdparty/html2ps_pdf/content_type.class.php deleted file mode 100644 index ba4ac3e9c..000000000 --- a/thirdparty/html2ps_pdf/content_type.class.php +++ /dev/null @@ -1,27 +0,0 @@ -default_extension = $extension; - $this->mime_type = $mime; - } - - function png() { - return new ContentType('png', 'image/png'); - } - - function gz() { - return new ContentType('gz', 'application/gzip'); - } - - function pdf() { - return new ContentType('pdf', 'application/pdf'); - } - - function ps() { - return new ContentType('ps', 'application/postscript'); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/converter.class.php b/thirdparty/html2ps_pdf/converter.class.php deleted file mode 100644 index 74e351a95..000000000 --- a/thirdparty/html2ps_pdf/converter.class.php +++ /dev/null @@ -1,58 +0,0 @@ -apply_aliases($encoding); - - if ($encoding === 'iso-8859-1') { - return utf8_encode($html); - } elseif ($encoding === 'utf-8') { - return $html; - } elseif(isset($g_utf8_converters[$encoding])) { - return $this->something_to_utf8($html, $g_utf8_converters[$encoding][0]); - } else { - die("Unsupported encoding detected: '$encoding'"); - }; - } - - function something_to_utf8($html, &$mapping) { - for ($i=0; $i < strlen($html); $i++) { - $replacement = code_to_utf8($mapping[$html{$i}]); - if ($replacement != $html{$i}) { - $html = substr_replace($html, $replacement, $i, 1); - $i += strlen($replacement) - 1; - }; - }; - return $html; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.attachment.inc.php b/thirdparty/html2ps_pdf/css.background.attachment.inc.php deleted file mode 100644 index bf084f867..000000000 --- a/thirdparty/html2ps_pdf/css.background.attachment.inc.php +++ /dev/null @@ -1,35 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.color.inc.php b/thirdparty/html2ps_pdf/css.background.color.inc.php deleted file mode 100644 index 1457f3326..000000000 --- a/thirdparty/html2ps_pdf/css.background.color.inc.php +++ /dev/null @@ -1,62 +0,0 @@ -isTransparent()) { - return $color; - } - } - - return CSSBackgroundColor::default_value(); - } - - function get_visible_background_color() { - $owner =& $this->owner(); - - for ($i=0, $size = count($owner->_stack); $i<$size; $i++) { - if ($owner->_stack[$i][0]->color[0] >= 0) { - return $owner->_stack[$i][0]->color; - }; - }; - return array(255,255,255); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.image.inc.php b/thirdparty/html2ps_pdf/css.background.image.inc.php deleted file mode 100644 index 7451d1286..000000000 --- a/thirdparty/html2ps_pdf/css.background.image.inc.php +++ /dev/null @@ -1,41 +0,0 @@ -guess_url(css_remove_value_quotes($url)); - return new BackgroundImage($full_url, - Image::get($full_url, $pipeline)); - } - - // 'none' and unrecognzed values - return CSSBackgroundImage::default_value(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.inc.php b/thirdparty/html2ps_pdf/css.background.inc.php deleted file mode 100644 index ff1e17efb..000000000 --- a/thirdparty/html2ps_pdf/css.background.inc.php +++ /dev/null @@ -1,64 +0,0 @@ -default_value = new Background(CSSBackgroundColor::default_value(), - CSSBackgroundImage::default_value(), - CSSBackgroundRepeat::default_value(), - CSSBackgroundPosition::default_value(), - CSSBackgroundAttachment::default_value()); - - $this->CSSPropertyHandler(true, false); - } - - function inherit($state, &$new_state) { - // Determine parent 'display' value - $parent_display = $state[CSS_DISPLAY]; - - // If parent is a table row, inherit the background settings - $this->replace_array(($parent_display == 'table-row') ? $state[CSS_BACKGROUND] : $this->default_value(), - $new_state); - } - - function default_value() { - return $this->default_value->copy(); - } - - function parse($value, &$pipeline) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $background = new Background(CSSBackgroundColor::parse($value), - CSSBackgroundImage::parse($value, $pipeline), - CSSBackgroundRepeat::parse($value), - CSSBackgroundPosition::parse($value), - CSSBackgroundAttachment::parse($value)); - - return $background; - } -} - -$bg = new CSSBackground; - -CSS::register_css_property($bg); -CSS::register_css_property(new CSSBackgroundColor($bg, '_color')); -CSS::register_css_property(new CSSBackgroundImage($bg, '_image')); -CSS::register_css_property(new CSSBackgroundRepeat($bg, '_repeat')); -CSS::register_css_property(new CSSBackgroundPosition($bg, '_position')); -CSS::register_css_property(new CSSBackgroundAttachment($bg, '_attachment')); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.position.inc.php b/thirdparty/html2ps_pdf/css.background.position.inc.php deleted file mode 100644 index b2753380c..000000000 --- a/thirdparty/html2ps_pdf/css.background.position.inc.php +++ /dev/null @@ -1,108 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.background.repeat.inc.php b/thirdparty/html2ps_pdf/css.background.repeat.inc.php deleted file mode 100644 index 64bffb483..000000000 --- a/thirdparty/html2ps_pdf/css.background.repeat.inc.php +++ /dev/null @@ -1,43 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.bottom.color.inc.php b/thirdparty/html2ps_pdf/css.border.bottom.color.inc.php deleted file mode 100644 index c91b71bd7..000000000 --- a/thirdparty/html2ps_pdf/css.border.bottom.color.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->bottom->setColor($value); - } - - function getValue(&$owner_value) { - $value = $owner_value->bottom->color->copy(); - return $value; - } - - function getPropertyCode() { - return CSS_BORDER_BOTTOM_COLOR; - } - - function getPropertyName() { - return 'border-bottom-color'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return parse_color_declaration($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.bottom.inc.php b/thirdparty/html2ps_pdf/css.border.bottom.inc.php deleted file mode 100644 index f103ff477..000000000 --- a/thirdparty/html2ps_pdf/css.border.bottom.inc.php +++ /dev/null @@ -1,23 +0,0 @@ -bottom; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.bottom.style.inc.php b/thirdparty/html2ps_pdf/css.border.bottom.style.inc.php deleted file mode 100644 index 02336fe3d..000000000 --- a/thirdparty/html2ps_pdf/css.border.bottom.style.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->bottom->style = $value; - } - - function getValue(&$owner_value) { - return $owner_value->bottom->style; - } - - function getPropertyCode() { - return CSS_BORDER_BOTTOM_STYLE; - } - - function getPropertyName() { - return 'border-bottom-style'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return CSSBorderStyle::parse_style($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.bottom.width.inc.php b/thirdparty/html2ps_pdf/css.border.bottom.width.inc.php deleted file mode 100644 index 4b1add7c5..000000000 --- a/thirdparty/html2ps_pdf/css.border.bottom.width.inc.php +++ /dev/null @@ -1,40 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->bottom->width = $value->copy(); - } else { - $owner_value->bottom->width = $value; - }; - } - - function getValue(&$owner_value) { - return $owner_value->bottom->width; - } - - function getPropertyCode() { - return CSS_BORDER_BOTTOM_WIDTH; - } - - function getPropertyName() { - return 'border-bottom-width'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $width_handler = CSS::get_handler(CSS_BORDER_WIDTH); - $width = $width_handler->parse_value($value); - return $width; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.collapse.inc.php b/thirdparty/html2ps_pdf/css.border.collapse.inc.php deleted file mode 100644 index e66b7cf7f..000000000 --- a/thirdparty/html2ps_pdf/css.border.collapse.inc.php +++ /dev/null @@ -1,31 +0,0 @@ -CSSPropertyStringSet(true, - true, - array('inherit' => CSS_PROPERTY_INHERIT, - 'collapse' => BORDER_COLLAPSE, - 'separate' => BORDER_SEPARATE)); - } - - function default_value() { - return BORDER_SEPARATE; - } - - function getPropertyCode() { - return CSS_BORDER_COLLAPSE; - } - - function getPropertyName() { - return 'border-collapse'; - } -} - -CSS::register_css_property(new CSSBorderCollapse); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.color.inc.php b/thirdparty/html2ps_pdf/css.border.color.inc.php deleted file mode 100644 index 837421ba5..000000000 --- a/thirdparty/html2ps_pdf/css.border.color.inc.php +++ /dev/null @@ -1,92 +0,0 @@ -CSSSubProperty($owner); - - $this->_defaultValue = new BorderColor(new Color(array(0,0,0), true), - new Color(array(0,0,0), true), - new Color(array(0,0,0), true), - new Color(array(0,0,0), true)); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->top->setColor($value->top); - $owner_value->right->setColor($value->right); - $owner_value->bottom->setColor($value->bottom); - $owner_value->left->setColor($value->left); - } else { - $owner_value->top->setColor(CSS_PROPERTY_INHERIT); - $owner_value->right->setColor(CSS_PROPERTY_INHERIT); - $owner_value->bottom->setColor(CSS_PROPERTY_INHERIT); - $owner_value->left->setColor(CSS_PROPERTY_INHERIT); - }; - } - - function getValue(&$owner_value) { - return new BorderColor($owner_value->top->color, - $owner_value->right->color, - $owner_value->bottom->color, - $owner_value->left->color); - } - - function getPropertyCode() { - return CSS_BORDER_COLOR; - } - - function getPropertyName() { - return 'border-color'; - } - - function default_value() { - return $this->_defaultValue; - } - - function parse_in($value) { - $values = preg_split("/(?default_value(); - }; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $colors = $this->parse_in($value); - - return new BorderColor($colors[0], - $colors[1], - $colors[2], - $colors[3]); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.inc.php b/thirdparty/html2ps_pdf/css.border.inc.php deleted file mode 100644 index 00c360320..000000000 --- a/thirdparty/html2ps_pdf/css.border.inc.php +++ /dev/null @@ -1,151 +0,0 @@ -CSSPropertyHandler(false, false); - - $this->_defaultValue = BorderPDF::create(array('top' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'right' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'bottom' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'left' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE))); - } - - function default_value() { - return $this->_defaultValue; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - // Remove spaces between color values in rgb() color definition; this will allow us to tread - // this declaration as a single value - $value = preg_replace("/\s*,\s*/",",",$value); - - // Remove spaces before and after parens in rgb color definition - $value = preg_replace("/rgb\s*\(\s*(.*?)\s*\)/", 'rgb(\1)', $value); - - $subvalues = explode(" ", $value); - - $border = CSS::getDefaultValue(CSS_BORDER); - - foreach ($subvalues as $subvalue) { - $subvalue = trim(strtolower($subvalue)); - - switch (CSSBorder::detect_border_value_type($subvalue)) { - case BORDER_VALUE_COLOR: - $color_handler = CSS::get_handler(CSS_BORDER_COLOR); - $border_color = $color_handler->parse($subvalue); - $color_handler->setValue($border, $border_color); - break; - case BORDER_VALUE_WIDTH: - $width_handler = CSS::get_handler(CSS_BORDER_WIDTH); - $border_width = $width_handler->parse($subvalue); - $width_handler->setValue($border, $border_width); - break; - case BORDER_VALUE_STYLE: - $style_handler = CSS::get_handler(CSS_BORDER_STYLE); - $border_style = $style_handler->parse($subvalue); - $style_handler->setValue($border, $border_style); - break; - }; - }; - - return $border; - } - - function getPropertyCode() { - return CSS_BORDER; - } - - function getPropertyName() { - return 'border'; - } - - function detect_border_value_type($value) { - $color = _parse_color_declaration($value, $success); - if ($success) { return BORDER_VALUE_COLOR; }; - -// if (preg_match("/\b(transparent|black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua|rgb(.*?))\b/i",$value)) { return BORDER_VALUE_COLOR; }; -// // We must detect hecadecimal values separately, as #-sign will not match the \b metacharacter at the beginning of previous regexp -// if (preg_match("/#([[:xdigit:]]{3}|[[:xdigit:]]{6})\b/i",$value)) { return BORDER_VALUE_COLOR; }; - - // Note that unit name is in general not required, so that we can meet rule like "border: 0" in CSS! - if (preg_match("/\b(thin|medium|thick|[+-]?\d+(.\d*)?(em|ex|px|in|cm|mm|pt|pc)?)\b/i",$value)) { return BORDER_VALUE_WIDTH; }; - if (preg_match("/\b(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)\b/",$value)) { return BORDER_VALUE_STYLE; }; - return; - } -} - -$border = new CSSBorder(); -CSS::register_css_property($border); - -CSS::register_css_property(new CSSBorderColor($border)); -CSS::register_css_property(new CSSBorderWidth($border)); -CSS::register_css_property(new CSSBorderStyle($border)); - -CSS::register_css_property(new CSSBorderTop($border, 'top')); -CSS::register_css_property(new CSSBorderRight($border, 'right')); -CSS::register_css_property(new CSSBorderBottom($border, 'bottom')); -CSS::register_css_property(new CSSBorderLeft($border, 'left')); - -CSS::register_css_property(new CSSBorderLeftColor($border)); -CSS::register_css_property(new CSSBorderTopColor($border)); -CSS::register_css_property(new CSSBorderRightColor($border)); -CSS::register_css_property(new CSSBorderBottomColor($border)); - -CSS::register_css_property(new CSSBorderLeftStyle($border)); -CSS::register_css_property(new CSSBorderTopStyle($border)); -CSS::register_css_property(new CSSBorderRightStyle($border)); -CSS::register_css_property(new CSSBorderBottomStyle($border)); - -CSS::register_css_property(new CSSBorderLeftWidth($border)); -CSS::register_css_property(new CSSBorderTopWidth($border)); -CSS::register_css_property(new CSSBorderRightWidth($border)); -CSS::register_css_property(new CSSBorderBottomWidth($border)); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.left.color.inc.php b/thirdparty/html2ps_pdf/css.border.left.color.inc.php deleted file mode 100644 index 8c95c3547..000000000 --- a/thirdparty/html2ps_pdf/css.border.left.color.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->left->setColor($value); - } - - function getValue(&$owner_value) { - return $owner_value->left->color->copy(); - } - - function getPropertyCode() { - return CSS_BORDER_LEFT_COLOR; - } - - function getPropertyName() { - return 'border-left-color'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return parse_color_declaration($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.left.inc.php b/thirdparty/html2ps_pdf/css.border.left.inc.php deleted file mode 100644 index 871256dc8..000000000 --- a/thirdparty/html2ps_pdf/css.border.left.inc.php +++ /dev/null @@ -1,23 +0,0 @@ -left; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.left.style.inc.php b/thirdparty/html2ps_pdf/css.border.left.style.inc.php deleted file mode 100644 index d08679fdf..000000000 --- a/thirdparty/html2ps_pdf/css.border.left.style.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->left->style = $value; - } - - function getValue(&$owner_value) { - return $owner_value->left->style; - } - - function getPropertyCode() { - return CSS_BORDER_LEFT_STYLE; - } - - function getPropertyName() { - return 'border-left-style'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return CSSBorderStyle::parse_style($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.left.width.inc.php b/thirdparty/html2ps_pdf/css.border.left.width.inc.php deleted file mode 100644 index 0613452e4..000000000 --- a/thirdparty/html2ps_pdf/css.border.left.width.inc.php +++ /dev/null @@ -1,40 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->left->width = $value->copy(); - } else { - $owner_value->left->width = $value; - }; - } - - function getValue(&$owner_value) { - return $owner_value->left->width; - } - - function getPropertyCode() { - return CSS_BORDER_LEFT_WIDTH; - } - - function getPropertyName() { - return 'border-left-width'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $width_handler = CSS::get_handler(CSS_BORDER_WIDTH); - $width = $width_handler->parse_value($value); - return $width; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.right.color.inc.php b/thirdparty/html2ps_pdf/css.border.right.color.inc.php deleted file mode 100644 index c874955d4..000000000 --- a/thirdparty/html2ps_pdf/css.border.right.color.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->right->setColor($value); - } - - function getValue(&$owner_value) { - return $owner_value->right->color->copy(); - } - - function getPropertyCode() { - return CSS_BORDER_RIGHT_COLOR; - } - - function getPropertyName() { - return 'border-right-color'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return parse_color_declaration($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.right.inc.php b/thirdparty/html2ps_pdf/css.border.right.inc.php deleted file mode 100644 index 3a835915e..000000000 --- a/thirdparty/html2ps_pdf/css.border.right.inc.php +++ /dev/null @@ -1,23 +0,0 @@ -right; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.right.style.inc.php b/thirdparty/html2ps_pdf/css.border.right.style.inc.php deleted file mode 100644 index ce11c72aa..000000000 --- a/thirdparty/html2ps_pdf/css.border.right.style.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->right->style = $value; - } - - function getValue(&$owner_value) { - return $owner_value->right->style; - } - - function getPropertyCode() { - return CSS_BORDER_RIGHT_STYLE; - } - - function getPropertyName() { - return 'border-right-style'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return CSSBorderStyle::parse_style($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.right.width.inc.php b/thirdparty/html2ps_pdf/css.border.right.width.inc.php deleted file mode 100644 index ec3cea121..000000000 --- a/thirdparty/html2ps_pdf/css.border.right.width.inc.php +++ /dev/null @@ -1,40 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->right->width = $value->copy(); - } else { - $owner_value->right->width = $value; - }; - } - - function getValue(&$owner_value) { - return $owner_value->right->width; - } - - function getPropertyCode() { - return CSS_BORDER_RIGHT_WIDTH; - } - - function getPropertyName() { - return 'border-right-width'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $width_handler = CSS::get_handler(CSS_BORDER_WIDTH); - $width = $width_handler->parse_value($value); - return $width; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.style.inc.php b/thirdparty/html2ps_pdf/css.border.style.inc.php deleted file mode 100644 index 72e1c2335..000000000 --- a/thirdparty/html2ps_pdf/css.border.style.inc.php +++ /dev/null @@ -1,115 +0,0 @@ -CSSSubProperty($owner); - - $this->_defaultValue = new BorderStyle(BS_NONE, - BS_NONE, - BS_NONE, - BS_NONE); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->top->style = $value->top; - $owner_value->right->style = $value->right; - $owner_value->bottom->style = $value->bottom; - $owner_value->left->style = $value->left; - } else { - $owner_value->top->style = CSS_PROPERTY_INHERIT; - $owner_value->right->style = CSS_PROPERTY_INHERIT; - $owner_value->bottom->style = CSS_PROPERTY_INHERIT; - $owner_value->left->style = CSS_PROPERTY_INHERIT; - }; - } - - function getValue(&$owner_value) { - return new BorderStyle($owner_value->top->style, - $owner_value->right->style, - $owner_value->bottom->style, - $owner_value->left->style); - } - - function getPropertyCode() { - return CSS_BORDER_STYLE; - } - - function getPropertyName() { - return 'border-style'; - } - - function default_value() { - return $this->_defaultValue; - } - - function parse_style($value) { - switch ($value) { - case "solid": - return BS_SOLID; - case "dashed": - return BS_DASHED; - case "dotted": - return BS_DOTTED; - case "double": - return BS_DOUBLE; - case "inset": - return BS_INSET; - case "outset": - return BS_OUTSET; - case "groove": - return BS_GROOVE; - case "ridge": - return BS_RIDGE; - default: - return BS_NONE; - }; - } - - function parse_in($value) { - $values = explode(" ",$value); - - switch (count($values)) { - case 1: - $v1 = $this->parse_style($values[0]); - return array($v1, $v1, $v1, $v1); - case 2: - $v1 = $this->parse_style($values[0]); - $v2 = $this->parse_style($values[1]); - return array($v1, $v2, $v1, $v2); - case 3: - $v1 = $this->parse_style($values[0]); - $v2 = $this->parse_style($values[1]); - $v3 = $this->parse_style($values[2]); - return array($v1, $v2, $v3, $v2); - case 4: - $v1 = $this->parse_style($values[0]); - $v2 = $this->parse_style($values[1]); - $v3 = $this->parse_style($values[2]); - $v4 = $this->parse_style($values[3]); - return array($v1, $v2, $v3, $v4); - default: - return $this->default_value(); - }; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $values = $this->parse_in($value); - - return new BorderStyle($values[0], - $values[1], - $values[2], - $values[3]); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.top.color.inc.php b/thirdparty/html2ps_pdf/css.border.top.color.inc.php deleted file mode 100644 index e5f4bdb4a..000000000 --- a/thirdparty/html2ps_pdf/css.border.top.color.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->top->setColor($value); - } - - function getValue(&$owner_value) { - return $owner_value->top->color->copy(); - } - - function getPropertyCode() { - return CSS_BORDER_TOP_COLOR; - } - - function getPropertyName() { - return 'border-top-color'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return parse_color_declaration($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.top.inc.php b/thirdparty/html2ps_pdf/css.border.top.inc.php deleted file mode 100644 index 3ad9f6e6d..000000000 --- a/thirdparty/html2ps_pdf/css.border.top.inc.php +++ /dev/null @@ -1,23 +0,0 @@ -left; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.top.style.inc.php b/thirdparty/html2ps_pdf/css.border.top.style.inc.php deleted file mode 100644 index fe5a2fd30..000000000 --- a/thirdparty/html2ps_pdf/css.border.top.style.inc.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $owner_value->top->style = $value; - } - - function getValue(&$owner_value) { - return $owner_value->top->style; - } - - function getPropertyCode() { - return CSS_BORDER_TOP_STYLE; - } - - function getPropertyName() { - return 'border-top-style'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return CSSBorderStyle::parse_style($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.top.width.inc.php b/thirdparty/html2ps_pdf/css.border.top.width.inc.php deleted file mode 100644 index 3dfdcc26d..000000000 --- a/thirdparty/html2ps_pdf/css.border.top.width.inc.php +++ /dev/null @@ -1,40 +0,0 @@ -CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->top->width = $value->copy(); - } else { - $owner_value->top->width = $value; - }; - } - - function getValue(&$owner_value) { - return $owner_value->top->width; - } - - function getPropertyCode() { - return CSS_BORDER_TOP_WIDTH; - } - - function getPropertyName() { - return 'border-top-width'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $width_handler = CSS::get_handler(CSS_BORDER_WIDTH); - $width = $width_handler->parse_value($value); - return $width; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.border.width.inc.php b/thirdparty/html2ps_pdf/css.border.width.inc.php deleted file mode 100644 index de644790f..000000000 --- a/thirdparty/html2ps_pdf/css.border.width.inc.php +++ /dev/null @@ -1,104 +0,0 @@ -CSSSubProperty($owner); - - $this->_defaultValue = new BorderWidth(Value::fromData(0, UNIT_PT), - Value::fromData(0, UNIT_PT), - Value::fromData(0, UNIT_PT), - Value::fromData(0, UNIT_PT)); - } - - function setValue(&$owner_value, &$value) { - if ($value != CSS_PROPERTY_INHERIT) { - $owner_value->top->width = $value->top; - $owner_value->right->width = $value->right; - $owner_value->bottom->width = $value->bottom; - $owner_value->left->width = $value->left; - } else { - $owner_value->top->width = CSS_PROPERTY_INHERIT; - $owner_value->right->width = CSS_PROPERTY_INHERIT; - $owner_value->bottom->width = CSS_PROPERTY_INHERIT; - $owner_value->left->width = CSS_PROPERTY_INHERIT; - }; - } - - function getValue(&$owner_value) { - return new BorderWidth($owner_value->top->width, - $owner_value->right->width, - $owner_value->bottom->width, - $owner_value->left->width); - } - - function getPropertyCode() { - return CSS_BORDER_WIDTH; - } - - function getPropertyName() { - return 'border-width'; - } - - function default_value() { - return $this->_defaultValue; - } - - function parse_value($value) { - switch (strtolower($value)) { - case 'thin': - return Value::fromString('1px'); - case 'medium': - return Value::fromString('3px'); - case 'thick': - return Value::fromString('5px'); - default: - return Value::fromString($value); - }; - } - - function parse_in($value) { - $values = explode(' ', $value); - - switch (count($values)) { - case 1: - $v1 = $this->parse_value($values[0]); - return array($v1, $v1, $v1, $v1); - case 2: - $v1 = $this->parse_value($values[0]); - $v2 = $this->parse_value($values[1]); - return array($v1, $v2, $v1, $v2); - case 3: - $v1 = $this->parse_value($values[0]); - $v2 = $this->parse_value($values[1]); - $v3 = $this->parse_value($values[2]); - return array($v1, $v2, $v3, $v2); - case 4: - $v1 = $this->parse_value($values[0]); - $v2 = $this->parse_value($values[1]); - $v3 = $this->parse_value($values[2]); - $v4 = $this->parse_value($values[3]); - return array($v1, $v2, $v3, $v4); - default: - return $this->default_value(); - }; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $values = $this->parse_in($value); - return new BorderWidth($values[0], - $values[1], - $values[2], - $values[3]); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.bottom.inc.php b/thirdparty/html2ps_pdf/css.bottom.inc.php deleted file mode 100644 index 16b8fdc6a..000000000 --- a/thirdparty/html2ps_pdf/css.bottom.inc.php +++ /dev/null @@ -1,56 +0,0 @@ - | | auto | inherit - * Initial: auto - * Applies to: positioned elements - * Inherited: no - * Percentages: refer to height of containing block - * Media: visual - * Computed value: for 'position:relative', see section Relative - * Positioning. For 'position:static', 'auto'. Otherwise: if - * specified as a length, the corresponding absolute length; if - * specified as a percentage, the specified value; otherwise, 'auto'. - * - * Like 'top', but specifies how far a box's bottom margin edge is - * offset above the bottom of the box's containing block. For - * relatively positioned boxes, the offset is with respect to the - * bottom edge of the box itself. Note: For absolutely positioned - * elements whose containing block is based on a block-level element, - * this property is an offset from the padding edge of that element. - */ - -class CSSBottom extends CSSPropertyHandler { - function CSSBottom() { - $this->CSSPropertyHandler(false, false); - $this->_autoValue = ValueBottom::fromString('auto'); - } - - function _getAutoValue() { - return $this->_autoValue->copy(); - } - - function default_value() { - return $this->_getAutoValue(); - } - - function getPropertyCode() { - return CSS_BOTTOM; - } - - function getPropertyName() { - return 'bottom'; - } - - function parse($value) { - return ValueBottom::fromString($value); - } -} - -CSS::register_css_property(new CSSBottom); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.cache.class.php b/thirdparty/html2ps_pdf/css.cache.class.php deleted file mode 100644 index 212993798..000000000 --- a/thirdparty/html2ps_pdf/css.cache.class.php +++ /dev/null @@ -1,56 +0,0 @@ -_getCacheFilename($url); - return is_readable($cache_filename); - } - - function _readCached($url) { - $cache_filename = $this->_getCacheFilename($url); - return unserialize(file_get_contents($cache_filename)); - } - - function _putCached($url, $css) { - file_put_contents($this->_getCacheFilename($url), serialize($css)); - } - - function compile($url, $css) { - if ($this->_isCached($url)) { - return $this->_readCached($url); - } else { - $cssruleset = new CSSRuleset(); - $cssruleset->parse_css($css, new Pipeline()); - $this->_putCached($url, $cssruleset); - return $cssruleset; - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.clear.inc.php b/thirdparty/html2ps_pdf/css.clear.inc.php deleted file mode 100644 index faacab4a3..000000000 --- a/thirdparty/html2ps_pdf/css.clear.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('inherit' => CSS_PROPERTY_INHERIT, - 'left' => CLEAR_LEFT, - 'right' => CLEAR_RIGHT, - 'both' => CLEAR_BOTH, - 'none' => CLEAR_NONE)); - } - - function default_value() { - return CLEAR_NONE; - } - - function getPropertyCode() { - return CSS_CLEAR; - } - - function getPropertyName() { - return 'clear'; - } -} - -CSS::register_css_property(new CSSClear); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.color.inc.php b/thirdparty/html2ps_pdf/css.color.inc.php deleted file mode 100644 index 2834470e0..000000000 --- a/thirdparty/html2ps_pdf/css.color.inc.php +++ /dev/null @@ -1,32 +0,0 @@ -CSSPropertyHandler(true, true); - } - - function default_value() { - return new Color(array(0,0,0),false); - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - return parse_color_declaration($value); - } - - function getPropertyCode() { - return CSS_COLOR; - } - - function getPropertyName() { - return 'color'; - } -} - -CSS::register_css_property(new CSSColor); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.colors.inc.php b/thirdparty/html2ps_pdf/css.colors.inc.php deleted file mode 100644 index 2012517d7..000000000 --- a/thirdparty/html2ps_pdf/css.colors.inc.php +++ /dev/null @@ -1,234 +0,0 @@ - array(0,0,0), - "silver" => array(192,192,192), - "gray" => array(128,128,128), - "white" => array(255,255,255), - "maroon" => array(128,0,0), - "red" => array(255,0,0), - "purple" => array(128,0,128), - "fuchsia" => array(255,0,255), - "green" => array(0,128,0), - "lime" => array(0,255,0), - "olive" => array(128,128,0), - "yellow" => array(255,255,0), - "navy" => array(0,0,128), - "blue" => array(0,0,255), - "teal" => array(0,128,128), - "aqua" => array(0,255,255), - - // Widely-used non-stadard color names - "aliceblue" => array(240,248,255), - "antiquewhite" => array(250,235,215), - "aquamarine" => array(127,255,212), - "azure" => array(240,255,255), - "beige" => array(245,245,220), - "bisque" => array(255,228,196), - "blanchedalmond" => array(255,235,205), - "blueviolet" => array(138, 43,226), - "brown" => array(165, 42, 42), - "burlywood" => array(222,184,135), - "cadetblue" => array( 95,158,160), - "chartreuse" => array(127,255, 0), - "chocolate" => array(210,105, 30), - "coral" => array(255,127, 80), - "cornflowerblue" => array(100,149,237), - "cornsilk" => array(255,248,220), - "crimson" => array(220, 20, 60), - "cyan" => array( 0,255,255), - "darkblue" => array( 0, 0,139), - "darkcyan" => array( 0,139,139), - "darkgoldenrod" => array(184,134, 11), - "darkgray" => array(169,169,169), - "darkgreen" => array( 0,100, 0), - "darkkhaki" => array(189,183,107), - "darkmagenta" => array(139, 0,139), - "darkolivegreen" => array( 85,107, 47), - "darkorange" => array(255,140, 0), - "darkorchid" => array(153, 50,204), - "darkred" => array(139, 0, 0), - "darksalmon" => array(233,150,122), - "darkseagreen" => array(143,188,143), - "darkslateblue" => array( 72, 61,139), - "darkslategray" => array( 47, 79, 79), - "darkturquoise" => array( 0,206,209), - "darkviolet" => array(148, 0,211), - "deeppink" => array(255, 20,147), - "deepskyblue" => array( 0,191,255), - "dimgray" => array(105,105,105), - "dodgerblue" => array( 30,144,255), - "firebrick" => array(178, 34, 34), - "floralwhite" => array(255,250,240), - "forestgreen" => array( 34,139, 34), - "gainsboro" => array(220,220,220), - "ghostwhite" => array(248,248,255), - "gold" => array(255,215, 0), - "goldenrod" => array(218,165, 32), - "greenyellow" => array(173,255, 47), - "honeydew" => array(240,255,240), - "hotpink" => array(255,105,180), - "indianred" => array(205, 92, 92), - "indigo" => array( 75, 0,130), - "ivory" => array(255,255,240), - "khaki" => array(240,230,140), - "lavender" => array(230,230,250), - "lavenderblush" => array(255,240,245), - "lawngreen" => array(124,252, 0), - "lemonchiffon" => array(255,250,205), - "lightblue" => array(173,216,230), - "lightcoral" => array(240,128,128), - "lightcyan" => array(224,255,255), - "lightgoldenrodyellow" => array(250,250,210), - "lightgreen" => array(144,238,244), - "lightgrey" => array(211,211,211), - "lightpink" => array(255,182,193), - "lightsalmon" => array(255,160,122), - "lightseagreen" => array( 32,178,170), - "lightskyblue" => array(135,206,250), - "lightslategray" => array(119,136,153), - "lightsteelblue" => array(176,196,222), - "lightyellow" => array(255,255,224), - "limegreen" => array( 50,205, 50), - "linen" => array(250,240,230), - "magenta" => array(255, 0,255), - "mediumaquamarine" => array(102,205,170), - "mediumblue" => array( 0, 0,205), - "mediumorchid" => array(186, 85,211), - "mediumpurple" => array(147,112,219), - "mediumseagreen" => array( 60,179,113), - "mediumslateblue" => array(123,104,238), - "mediumspringgreen" => array( 0,250,154), - "mediumturquoise" => array( 72,209,204), - "mediumvioletred" => array(199, 21,133), - "midnightblue" => array( 25, 25,112), - "mintcream" => array(245,255,250), - "mistyrose" => array(255,228,225), - "moccasin" => array(255,228,181), - "navajowhite" => array(255,222,173), - "oldlace" => array(253,245,230), - "olivedrab" => array(107,142, 35), - "orange" => array(255,165, 0), - "orangered" => array(255, 69, 0), - "orchid" => array(218,112,214), - "palegoldenrod" => array(238,232,170), - "palegreen" => array(152,251,152), - "paleturquoise" => array(175,238,238), - "palevioletred" => array(219,112,147), - "papayawhip" => array(255,239,213), - "peachpuff" => array(255,218,185), - "peru" => array(205,133, 63), - "pink" => array(255,192,203), - "plum" => array(221,160,221), - "powderblue" => array(176,224,230), - "rosybrown" => array(188,143,143), - "royalblue" => array( 65,105,225), - "saddlebrown" => array(139, 69, 19), - "salmon" => array(250,128,114), - "sandybrown" => array(244,164, 96), - "seagreen" => array( 46,139, 87), - "seashell" => array(255,245,238), - "sienna" => array(160, 82, 45), - "skyblue" => array(135,206,235), - "slateblue" => array(106, 90,205), - "slategray" => array(112,128,144), - "snow" => array(255,250,250), - "springgreen" => array( 0,255,127), - "steelblue" => array( 70,130,180), - "tan" => array(210,180,140), - "thistle" => array(216,191,216), - "tomato" => array(255, 99, 71), - "turquoise" => array( 64,224,208), - "violet" => array(238,130,238), - "wheat" => array(245,222,179), - "whitesmoke" => array(245,245,245), - "yellowgreen" => array(154,205, 50) -); - -function &parse_color_declaration($decl) { - $color = _parse_color_declaration($decl, $success); - $color_obj =& new Color($color, is_transparent($color)); - return $color_obj; -}; - - -function _parse_color_declaration($decl, &$success) { - $success = true; - - global $g_colors; - if (isset($g_colors[strtolower($decl)])) { return $g_colors[strtolower($decl)]; }; - - // Parse color keywords - switch (strtolower($decl)) { - case "transparent": - return array(-1,-1,-1); - } - - // rgb(0,0,0) form - if (preg_match("/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/",$decl,$matches)) { - $r = min(255,max(0,$matches[1])); - $g = min(255,max(0,$matches[2])); - $b = min(255,max(0,$matches[3])); - return array($r,$g,$b); - }; - - // rgb(0%,0%,0%) form - if (preg_match("/rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/",$decl,$matches)) { - $r = min(255,max(0,$matches[1]*255/100)); - $g = min(255,max(0,$matches[2]*255/100)); - $b = min(255,max(0,$matches[3]*255/100)); - return array($r,$g,$b); - }; - - // We've already checked every non-hexadecimal forms; now only color declarations starting - // with # left; nevertheless, sometimes designers forget to put #-sign before the - // color declaration. Thus, we'll add sharp sign automatically if it is missing - // - if (strlen($decl) > 0) { - if ($decl{0} !== "#") { $decl = "#" . $decl; }; - }; - - // #000000 form - if (preg_match("/^#([[:xdigit:]]{2})([[:xdigit:]]{2})([[:xdigit:]]{2})$/",$decl,$matches)) { - $arrr = unpack("C",pack("H2",$matches[1])); - $arrg = unpack("C",pack("H2",$matches[2])); - $arrb = unpack("C",pack("H2",$matches[3])); - - // Note that array indices returned by unpack differ in different versions of PHP. Unfortunately - // we unable to directly access values - compatibility is an issue... - - $r = array_pop($arrr); - $g = array_pop($arrg); - $b = array_pop($arrb); - - return array($r,$g,$b); - }; - - // #000 form - if (preg_match("/^#([[:xdigit:]])([[:xdigit:]])([[:xdigit:]])$/",$decl,$matches)) { - $arrr = unpack("C",pack("H2",$matches[1].$matches[1])); - $arrg = unpack("C",pack("H2",$matches[2].$matches[2])); - $arrb = unpack("C",pack("H2",$matches[3].$matches[3])); - - // Note that array indices returned by unpack differ in different versions of PHP. Unfortunately - // we unable to directly access values - compatibility is an issue... - - $r = array_pop($arrr); - $g = array_pop($arrg); - $b = array_pop($arrb); - - return array($r,$g,$b); - }; - - // Transparent color - by default - $success = false; - return array(-1,-1,-1); -} - -function is_transparent($color) { - return $color[0] < 0; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.constants.inc.php b/thirdparty/html2ps_pdf/css.constants.inc.php deleted file mode 100644 index 29fcb78eb..000000000 --- a/thirdparty/html2ps_pdf/css.constants.inc.php +++ /dev/null @@ -1,184 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.content.inc.php b/thirdparty/html2ps_pdf/css.content.inc.php deleted file mode 100644 index 62e31fb23..000000000 --- a/thirdparty/html2ps_pdf/css.content.inc.php +++ /dev/null @@ -1,96 +0,0 @@ - | | | - * attr() | open-quote | close-quote | no-open-quote | - * no-close-quote ]+ | inherit - * Initial: normal - * Applies to: :before and :after pseudo-elements - * Inherited: no - * Percentages: N/A - * Media: all - * Computed value: for URI values, the absolute URI; for attr() - * values, the resulting string; otherwise as specified - * - * This property is used with the :before and :after pseudo-elements - * to generate content in a document. Values have the following - * meanings: - * - * normal - * The pseudo-element is not generated. - * - * Text content (see the section on strings). - * - * The value is a URI that designates an external resource. If a - * user agent cannot support the resource because of the media - * types it supports, it must ignore the resource. - * - * Counters may be specified with two different functions: - * 'counter()' or 'counters()'. The former has two forms: - * 'counter(name)' or 'counter(name, style)'. The generated text is - * the value of the named counter at this point in the formatting - * structure; it is formatted in the indicated style ('decimal' by - * default). The latter function also has two forms: - * 'counters(name, string)' or 'counters(name, string, style)'. The - * generated text is the value of all counters with the given name - * at this point in the formatting structure, separated by the - * specified string. The counters are rendered in the indicated - * style ('decimal' by default). See the section on automatic - * counters and numbering for more information. - * open-quote and close-quote - * These values are replaced by the appropriate string from the - * 'quotes' property. - * no-open-quote and no-close-quote - * Same as 'none', but increments (decrements) the level of nesting - * for quotes. - * attr(X) - * This function returns as a string the value of attribute X for - * the subject of the selector. The string is not parsed by the CSS - * processor. If the subject of the selector doesn't have an - * attribute X, an empty string is returned. The case-sensitivity - * of attribute names depends on the document language. Note. In - * CSS 2.1, it is not possible to refer to attribute values for - * other elements than the subject of the selector. - */ -class CSSContent extends CSSPropertyHandler { - function CSSContent() { - $this->CSSPropertyHandler(false, false); - } - - function &default_value() { - $data =& new ValueContent(); - return $data; - } - - // CSS 2.1 p 12.2: - // Value: [ | | | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit - // - // TODO: process values other than - // - function &parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - $value_obj =& ValueContent::parse($value); - return $value_obj; - } - - function getPropertyCode() { - return CSS_CONTENT; - } - - function getPropertyName() { - return 'content'; - } -} - -CSS::register_css_property(new CSSContent); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.counter.collection.php b/thirdparty/html2ps_pdf/css.counter.collection.php deleted file mode 100644 index 2c490125c..000000000 --- a/thirdparty/html2ps_pdf/css.counter.collection.php +++ /dev/null @@ -1,24 +0,0 @@ -_counters = array(); - } - - function add(&$counter) { - $this->_counters[$counter->get_name()] =& $counter; - } - - function &get($name) { - if (!isset($this->_counters[$name])) { - $null = null; - return $null; - }; - - return $this->_counters[$name]; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.counter.php b/thirdparty/html2ps_pdf/css.counter.php deleted file mode 100644 index ec4479593..000000000 --- a/thirdparty/html2ps_pdf/css.counter.php +++ /dev/null @@ -1,33 +0,0 @@ -set_name($name); - $this->reset(); - } - - function get() { - return $this->_value; - } - - function get_name() { - return $this->_name; - } - - function reset() { - $this->_value = 0; - } - - function set($value) { - $this->_value = $value; - } - - function set_name($value) { - $this->_name = $value; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.direction.inc.php b/thirdparty/html2ps_pdf/css.direction.inc.php deleted file mode 100644 index 434d3a7f1..000000000 --- a/thirdparty/html2ps_pdf/css.direction.inc.php +++ /dev/null @@ -1,30 +0,0 @@ -CSSPropertyStringSet(true, - true, - array('lrt' => DIRECTION_LTR, - 'rtl' => DIRECTION_RTF)); - } - - function default_value() { - return DIRECTION_LTR; - } - - function getPropertyCode() { - return CSS_DIRECTION; - } - - function getPropertyName() { - return 'direction'; - } -} - -CSS::register_css_property(new CSSDirection); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.display.inc.php b/thirdparty/html2ps_pdf/css.display.inc.php deleted file mode 100644 index 34f009ce5..000000000 --- a/thirdparty/html2ps_pdf/css.display.inc.php +++ /dev/null @@ -1,46 +0,0 @@ -CSSPropertyHandler(false, false); } - - function get_parent() { - if (isset($this->_stack[1])) { - return $this->_stack[1][0]; - } else { - return 'block'; - }; - } - - function default_value() { return "inline"; } - - function getPropertyCode() { - return CSS_DISPLAY; - } - - function getPropertyName() { - return 'display'; - } - - function parse($value) { - return trim(strtolower($value)); - } -} - -CSS::register_css_property(new CSSDisplay); - -function is_inline_element($display) { - return - $display == "inline" || - $display == "inline-table" || - $display == "compact" || - $display == "run-in" || - $display == "-button" || - $display == "-checkbox" || - $display == "-iframe" || - $display == "-image" || - $display == "inline-block" || - $display == "-radio" || - $display == "-select"; -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.float.inc.php b/thirdparty/html2ps_pdf/css.float.inc.php deleted file mode 100644 index 5e4ab3e52..000000000 --- a/thirdparty/html2ps_pdf/css.float.inc.php +++ /dev/null @@ -1,32 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('left' => FLOAT_LEFT, - 'right' => FLOAT_RIGHT, - 'none' => FLOAT_NONE)); - } - - function default_value() { - return FLOAT_NONE; - } - - function getPropertyCode() { - return CSS_FLOAT; - } - - function getPropertyName() { - return 'float'; - } -} - -CSS::register_css_property(new CSSFloat); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.font-family.inc.php b/thirdparty/html2ps_pdf/css.font-family.inc.php deleted file mode 100644 index 4fa5308c0..000000000 --- a/thirdparty/html2ps_pdf/css.font-family.inc.php +++ /dev/null @@ -1,50 +0,0 @@ -have_font_family($subvalue)) { return $subvalue; }; - - global $g_font_resolver_pdf; - if ($g_font_resolver_pdf->have_font_family($subvalue)) { return $subvalue; }; - }; - }; - - // Unknown family type - return "times"; - } - - function getPropertyCode() { - return CSS_FONT_FAMILY; - } - - function getPropertyName() { - return 'font-family'; - } - -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.font-size.inc.php b/thirdparty/html2ps_pdf/css.font-size.inc.php deleted file mode 100644 index aec2f0d18..000000000 --- a/thirdparty/html2ps_pdf/css.font-size.inc.php +++ /dev/null @@ -1,63 +0,0 @@ -CSSSubFieldProperty($owner, $field); - - $this->_defaultValue = Value::fromData(BASE_FONT_SIZE_PT, UNIT_PT); - } - - function default_value() { - return $this->_defaultValue; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - $value = trim(strtolower($value)); - - switch(strtolower($value)) { - case "xx-small": - return Value::fromData(BASE_FONT_SIZE_PT*3/5, UNIT_PT); - case "x-small": - return Value::fromData(BASE_FONT_SIZE_PT*3/4, UNIT_PT); - case "small": - return Value::fromData(BASE_FONT_SIZE_PT*8/9, UNIT_PT); - case "medium": - return Value::fromData(BASE_FONT_SIZE_PT, UNIT_PT); - case "large": - return Value::fromData(BASE_FONT_SIZE_PT*6/5, UNIT_PT); - case "x-large": - return Value::fromData(BASE_FONT_SIZE_PT*3/2, UNIT_PT); - case "xx-large": - return Value::fromData(BASE_FONT_SIZE_PT*2/1, UNIT_PT); - }; - - switch(strtolower($value)) { - case "larger": - return Value::fromData(1.2, UNIT_EM); - case "smaller": - return Value::fromData(0.83, UNIT_EM); // 0.83 = 1/1.2 - }; - - if (preg_match("/(\d+\.?\d*)%/i", $value, $matches)) { - return Value::fromData($matches[1]/100, UNIT_EM); - }; - - return Value::fromString($value); - } - - function getPropertyCode() { - return CSS_FONT_SIZE; - } - - function getPropertyName() { - return 'font-size'; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.font-style.inc.php b/thirdparty/html2ps_pdf/css.font-style.inc.php deleted file mode 100644 index 999da1e42..000000000 --- a/thirdparty/html2ps_pdf/css.font-style.inc.php +++ /dev/null @@ -1,32 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.font-weight.inc.php b/thirdparty/html2ps_pdf/css.font-weight.inc.php deleted file mode 100644 index 8bc664589..000000000 --- a/thirdparty/html2ps_pdf/css.font-weight.inc.php +++ /dev/null @@ -1,40 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.font.inc.php b/thirdparty/html2ps_pdf/css.font.inc.php deleted file mode 100644 index 3122be04c..000000000 --- a/thirdparty/html2ps_pdf/css.font.inc.php +++ /dev/null @@ -1,186 +0,0 @@ -CSSPropertyHandler(true, true); - - $this->_defaultValue = null; - } - - function default_value() { - if (is_null($this->_defaultValue)) { - $this->_defaultValue = new ValueFont; - - $size_handler = CSS::get_handler(CSS_FONT_SIZE); - $default_size = $size_handler->default_value(); - - $this->_defaultValue->size = $default_size->copy(); - $this->_defaultValue->weight = CSSFontWeight::default_value(); - $this->_defaultValue->style = CSSFontStyle::default_value(); - $this->_defaultValue->family = CSSFontFamily::default_value(); - $this->_defaultValue->line_height = CSS::getDefaultValue(CSS_LINE_HEIGHT); - }; - - return $this->_defaultValue; - } - - function parse($value) { - $font = CSS::getDefaultValue(CSS_FONT); - - if ($value === 'inherit') { - $font->style = CSS_PROPERTY_INHERIT; - $font->weight = CSS_PROPERTY_INHERIT; - $font->size = CSS_PROPERTY_INHERIT; - $font->family = CSS_PROPERTY_INHERIT; - $font->line_height = CSS_PROPERTY_INHERIT; - - return $font; - }; - - - // according to CSS 2.1 standard, - // value of 'font' CSS property can be represented as follows: - // [ <'font-style'> || <'font-variant'> || <'font-weight'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | - // caption | icon | menu | message-box | small-caption | status-bar | inherit - - // Note that font-family value, unlike other values, can contain spaces (in this case it should be quoted) - // Breaking value by spaces, we'll break such multi-word families. - - // Replace all white space sequences with only one space; - // Remove spaces after commas; it will allow us - // to split value correctly using look-backward expressions - $value = preg_replace("/\s+/"," ",$value); - $value = preg_replace("/,\s+/",",",$value); - $value = preg_replace("#\s*/\s*#","/",$value); - - // Split value to subvalues by all whitespaces NOT preceeded by comma; - // thus, we'll keep all alternative font-families together instead of breaking them. - // Still we have a problem with multi-word family names. - $subvalues = preg_split("/ /",$value); - - // Let's scan subvalues we've received and join values containing multiword family names - $family_start = 0; - $family_running = false; - $family_double_quote = false;; - - for ($i=0, $num_subvalues = count($subvalues); $i < $num_subvalues; $i++) { - $current_value = $subvalues[$i]; - - if ($family_running) { - $subvalues[$family_start] .= " " . $subvalues[$i]; - - // Remove this subvalues from the subvalue list at all - array_splice($subvalues, $i, 1); - - $num_subvalues--; - $i--; - } - - // Check if current subvalue contains beginning of multi-word family name - // We can detect it by searching for single or double quote without pair - if ($family_running && $family_double_quote && !preg_match('/^[^"]*("[^"]*")*[^"]*$/',$current_value)) { - $family_running = false; - } elseif ($family_running && !$family_double_quote && !preg_match("/^[^']*('[^']*')*[^']*$/",$current_value)) { - $family_running = false; - } elseif (!$family_running && !preg_match("/^[^']*('[^']*')*[^']*$/",$current_value)) { - $family_running = true; - $family_start = $i; - $family_double_quote = false; - } elseif (!$family_running && !preg_match('/^[^"]*("[^"]*")*[^"]*$/',$current_value)) { - $family_running = true; - $family_start = $i; - $family_double_quote = true; - } - }; - - // Now process subvalues one-by-one. - foreach ($subvalues as $subvalue) { - $subvalue = trim(strtolower($subvalue)); - $subvalue_type = detect_font_value_type($subvalue); - - switch ($subvalue_type) { - case FONT_VALUE_STYLE: - $font->style = CSSFontStyle::parse($subvalue); - break; - case FONT_VALUE_WEIGHT: - $font->weight = CSSFontWeight::parse($subvalue); - break; - case FONT_VALUE_SIZE: - $size_subvalues = explode('/', $subvalue); - $font->size = CSSFontSize::parse($size_subvalues[0]); - if (isset($size_subvalues[1])) { - $handler =& CSS::get_handler(CSS_LINE_HEIGHT); - $font->line_height = $handler->parse($size_subvalues[1]); - }; - break; - case FONT_VALUE_FAMILY: - $font->family = CSSFontFamily::parse($subvalue); - break; - }; - }; - - return $font; - } - - function getPropertyCode() { - return CSS_FONT; - } - - function getPropertyName() { - return 'font'; - } - - function clearDefaultFlags(&$state) { - parent::clearDefaultFlags($state); - $state->setPropertyDefaultFlag(CSS_FONT_SIZE, false); - $state->setPropertyDefaultFlag(CSS_FONT_STYLE, false); - $state->setPropertyDefaultFlag(CSS_FONT_WEIGHT, false); - $state->setPropertyDefaultFlag(CSS_FONT_FAMILY, false); - $state->setPropertyDefaultFlag(CSS_LINE_HEIGHT, false); - } -} - -$font = new CSSFont; -CSS::register_css_property($font); -CSS::register_css_property(new CSSFontSize($font, 'size')); -CSS::register_css_property(new CSSFontStyle($font, 'style')); -CSS::register_css_property(new CSSFontWeight($font, 'weight')); -CSS::register_css_property(new CSSFontFamily($font, 'family')); -CSS::register_css_property(new CSSLineHeight($font, 'line_height')); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.frame.inc.php b/thirdparty/html2ps_pdf/css.frame.inc.php deleted file mode 100644 index b2cedddba..000000000 --- a/thirdparty/html2ps_pdf/css.frame.inc.php +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.height.inc.php b/thirdparty/html2ps_pdf/css.height.inc.php deleted file mode 100644 index 2e4759819..000000000 --- a/thirdparty/html2ps_pdf/css.height.inc.php +++ /dev/null @@ -1,46 +0,0 @@ -CSSPropertyHandler(true, false); - $this->_autoValue = ValueHeight::fromString('auto'); - } - - /** - * 'height' CSS property should be inherited by table cells from table rows - */ - function inherit($old_state, &$new_state) { - $parent_display = $old_state[CSS_DISPLAY]; - $this->replace_array(($parent_display === 'table-row') ? $old_state[CSS_HEIGHT] : $this->default_value(), - $new_state); - } - - function _getAutoValue() { - return $this->_autoValue->copy(); - } - - function default_value() { - return $this->_getAutoValue(); - } - - function parse($value) { - return ValueHeight::fromString($value); - } - - function getPropertyCode() { - return CSS_HEIGHT; - } - - function getPropertyName() { - return 'height'; - } -} - -CSS::register_css_property(new CSSHeight); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.html2ps.html.content.inc.php b/thirdparty/html2ps_pdf/css.html2ps.html.content.inc.php deleted file mode 100644 index 8dc76b8cb..000000000 --- a/thirdparty/html2ps_pdf/css.html2ps.html.content.inc.php +++ /dev/null @@ -1,41 +0,0 @@ -CSSPropertyHandler(false, false); - } - - function &default_value() { - $data =& new ValueContent(); - return $data; - } - - // CSS 2.1 p 12.2: - // Value: [ | | | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit - // - // TODO: process values other than - // - function &parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - $value_obj =& ValueContent::parse($value); - return $value_obj; - } - - function getPropertyCode() { - return CSS_HTML2PS_HTML_CONTENT; - } - - function getPropertyName() { - return '-html2ps-html-content'; - } -} - -CSS::register_css_property(new CSSHTML2PSHTMLContent); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.html2ps.pseudoelements.inc.php b/thirdparty/html2ps_pdf/css.html2ps.pseudoelements.inc.php deleted file mode 100644 index 932cc97dc..000000000 --- a/thirdparty/html2ps_pdf/css.html2ps.pseudoelements.inc.php +++ /dev/null @@ -1,32 +0,0 @@ -CSSPropertyHandler(false, false); - } - - function default_value() { - return CSS_HTML2PS_PSEUDOELEMENTS_NONE; - } - - function parse($value) { - return $value; - } - - function getPropertyCode() { - return CSS_HTML2PS_PSEUDOELEMENTS; - } - - function getPropertyName() { - return '-html2ps-pseudoelements'; - } -} - -CSS::register_css_property(new CSSHTML2PSPseudoelements); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.inc.php b/thirdparty/html2ps_pdf/css.inc.php deleted file mode 100644 index 2c6994956..000000000 --- a/thirdparty/html2ps_pdf/css.inc.php +++ /dev/null @@ -1,151 +0,0 @@ -_defaultState)) { - $this->_defaultState = array(); - - $handlers = $this->getHandlers(); - foreach ($handlers as $property => $handler) { - $this->_defaultState[$property] = $handler->default_value(); - }; - }; - - return $this->_defaultState; - } - - function _getDefaultStateFlags() { - if (!isset($this->_defaultStateFlags)) { - $this->_defaultStateFlags = array(); - - $handlers = $this->getHandlers(); - foreach ($handlers as $property => $handler) { - $this->_defaultStateFlags[$property] = true; - }; - }; - - return $this->_defaultStateFlags; - } - - function getHandlers() { - return $this->_handlers; - } - - function getInheritableTextHandlers() { - if (!isset($this->_handlersInheritableText)) { - $this->_handlersInheritabletext = array(); - foreach ($this->_handlers as $property => $handler) { - if ($handler->isInheritableText()) { - $this->_handlersInheritableText[$property] =& $this->_handlers[$property]; - }; - } - } - - return $this->_handlersInheritableText; - } - - function getInheritableHandlers() { - if (!isset($this->_handlersInheritable)) { - $this->_handlersInheritable = array(); - foreach ($this->_handlers as $property => $handler) { - if ($handler->isInheritable()) { - $this->_handlersInheritable[$property] =& $this->_handlers[$property]; - }; - } - } - - return $this->_handlersInheritable; - } - - function &get() { - global $__g_css_handler_set; - - if (!isset($__g_css_handler_set)) { - $__g_css_handler_set = new CSS(); - }; - - return $__g_css_handler_set; - } - - function CSS() { - $this->_handlers = array(); - $this->_mapping = array(); - } - - function getDefaultValue($property) { - $css =& CSS::get(); - $handler =& $css->_get_handler($property); - $value = $handler->default_value(); - - if (is_object($value)) { - return $value->copy(); - } else { - return $value; - }; - } - - function &get_handler($property) { - $css =& CSS::get(); - $handler =& $css->_get_handler($property); - return $handler; - } - - function &_get_handler($property) { - if (isset($this->_handlers[$property])) { - return $this->_handlers[$property]; - } else { - $dumb = null; - return $dumb; - }; - } - - function _word2code($key) { - if (!isset($this->_mapping[$key])) { - return null; - }; - - return $this->_mapping[$key]; - } - - function word2code($key) { - $css =& CSS::get(); - return $css->_word2code($key); - } - - function register_css_property(&$handler) { - $property = $handler->getPropertyCode(); - $name = $handler->getPropertyName(); - - $css =& CSS::get(); - $css->_handlers[$property] =& $handler; - $css->_mapping[$name] = $property; - } - - /** - * Refer to CSS 2.1 G.2 Lexical scanner - * h [0-9a-f] - * nonascii [\200-\377] - * unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? - * escape {unicode}|\\[^\r\n\f0-9a-f] - * nmstart [_a-z]|{nonascii}|{escape} - * nmchar [_a-z0-9-]|{nonascii}|{escape} - * ident -?{nmstart}{nmchar}* - */ - function get_identifier_regexp() { - return '-?(?:[_a-z]|[\200-\377]|\\[0-9a-f]{1,6}(?:\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])(?:[_a-z0-9-]|[\200-\377]|\\[0-9a-f]{1,6}(?:\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*'; - } - - function is_identifier($string) { - return preg_match(sprintf('/%s/', - CSS::get_identifier_regexp()), - $string); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.left.inc.php b/thirdparty/html2ps_pdf/css.left.inc.php deleted file mode 100644 index bd5c24153..000000000 --- a/thirdparty/html2ps_pdf/css.left.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSPropertyHandler(false, false); - $this->_autoValue = ValueLeft::fromString('auto'); - } - - function _getAutoValue() { - return $this->_autoValue->copy(); - } - - function default_value() { - return $this->_getAutoValue(); - } - - function parse($value) { - return ValueLeft::fromString($value); - } - - function getPropertyCode() { - return CSS_LEFT; - } - - function getPropertyName() { - return 'left'; - } -} - -CSS::register_css_property(new CSSLeft); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.letter-spacing.inc.php b/thirdparty/html2ps_pdf/css.letter-spacing.inc.php deleted file mode 100644 index 9182f477d..000000000 --- a/thirdparty/html2ps_pdf/css.letter-spacing.inc.php +++ /dev/null @@ -1,42 +0,0 @@ -CSSPropertyHandler(false, true); - - $this->_default_value = Value::fromString("0"); - } - - function default_value() { - return $this->_default_value; - } - - function parse($value) { - $value = trim($value); - - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - if ($value === 'normal') { - return $this->_default_value; - }; - - return Value::fromString($value); - } - - function getPropertyCode() { - return CSS_LETTER_SPACING; - } - - function getPropertyName() { - return 'letter-spacing'; - } -} - -CSS::register_css_property(new CSSLetterSpacing); - -?> diff --git a/thirdparty/html2ps_pdf/css.line-height.inc.php b/thirdparty/html2ps_pdf/css.line-height.inc.php deleted file mode 100644 index 0bf9a5088..000000000 --- a/thirdparty/html2ps_pdf/css.line-height.inc.php +++ /dev/null @@ -1,65 +0,0 @@ -CSSSubFieldProperty($owner, $field); - - $this->_defaultValue = new LineHeight_Relative(1.1); - } - - function default_value() { - return $this->_defaultValue; - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - // - // The used value of the property is this number multiplied by the element's font size. - // Negative values are illegal. The computed value is the same as the specified value. - if (preg_match("/^\d+(\.\d+)?$/",$value)) { - return new LineHeight_Relative((float)$value); - }; - - // - // The computed value of the property is this percentage multiplied by the element's - // computed font size. Negative values are illegal. - if (preg_match("/^\d+%$/",$value)) { - return new LineHeight_Relative(((float)$value)/100); - }; - - // normal - // Tells user agents to set the used value to a "reasonable" value based on the font of the element. - // The value has the same meaning as . We recommend a used value for 'normal' between 1.0 to 1.2. - // The computed value is 'normal'. - if (trim($value) === "normal") { - return $this->default_value(); - }; - - // - // The specified length is used in the calculation of the line box height. - // Negative values are illegal. - return new LineHeight_Absolute($value); - } - - function getPropertyCode() { - return CSS_LINE_HEIGHT; - } - - function getPropertyName() { - return 'line-height'; - } -} - -?> diff --git a/thirdparty/html2ps_pdf/css.list-style-image.inc.php b/thirdparty/html2ps_pdf/css.list-style-image.inc.php deleted file mode 100644 index c270b4bd9..000000000 --- a/thirdparty/html2ps_pdf/css.list-style-image.inc.php +++ /dev/null @@ -1,45 +0,0 @@ -guess_url(css_remove_value_quotes($url)); - return new ListStyleImage($full_url, - Image::get($full_url, $pipeline)); - }; - - /** - * 'none' value and all unrecognized values - */ - return CSSListStyleImage::default_value(); - } - - function getPropertyCode() { - return CSS_LIST_STYLE_IMAGE; - } - - function getPropertyName() { - return 'list-style-image'; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.list-style-position.inc.php b/thirdparty/html2ps_pdf/css.list-style-position.inc.php deleted file mode 100644 index 95d787e5e..000000000 --- a/thirdparty/html2ps_pdf/css.list-style-position.inc.php +++ /dev/null @@ -1,32 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.list-style-type.inc.php b/thirdparty/html2ps_pdf/css.list-style-type.inc.php deleted file mode 100644 index 5cc33a45b..000000000 --- a/thirdparty/html2ps_pdf/css.list-style-type.inc.php +++ /dev/null @@ -1,87 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.list-style.inc.php b/thirdparty/html2ps_pdf/css.list-style.inc.php deleted file mode 100644 index 8fb7c891a..000000000 --- a/thirdparty/html2ps_pdf/css.list-style.inc.php +++ /dev/null @@ -1,43 +0,0 @@ -default_value = new ListStyleValue; - $this->default_value->image = CSSListStyleImage::default_value(); - $this->default_value->position = CSSListStylePosition::default_value(); - $this->default_value->type = CSSListStyleType::default_value(); - - $this->CSSPropertyHandler(true, true); - } - - function parse($value, &$pipeline) { - $style = new ListStyleValue; - $style->image = CSSListStyleImage::parse($value, $pipeline); - $style->position = CSSListStylePosition::parse($value); - $style->type = CSSListStyleType::parse($value); - - return $style; - } - - function default_value() { return $this->default_value; } - - function getPropertyCode() { - return CSS_LIST_STYLE; - } - - function getPropertyName() { - return 'list-style'; - } -} - -$ls = new CSSListStyle; -CSS::register_css_property($ls); -CSS::register_css_property(new CSSListStyleImage($ls, 'image')); -CSS::register_css_property(new CSSListStylePosition($ls, 'position')); -CSS::register_css_property(new CSSListStyleType($ls, 'type')); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.margin.inc.php b/thirdparty/html2ps_pdf/css.margin.inc.php deleted file mode 100644 index 6202f432f..000000000 --- a/thirdparty/html2ps_pdf/css.margin.inc.php +++ /dev/null @@ -1,130 +0,0 @@ -default_value = $this->parse("0"); - $this->CSSPropertyHandler(false, false); - } - - function default_value() { - return $this->default_value->copy(); - } - - function parse_in($value) { - $values = explode(" ",trim($value)); - - switch (count($values)) { - case 1: - $v1 = $values[0]; - return array($v1, $v1, $v1, $v1); - case 2: - $v1 = $values[0]; - $v2 = $values[1]; - return array($v1, $v2, $v1, $v2); - case 3: - $v1 = $values[0]; - $v2 = $values[1]; - $v3 = $values[2]; - return array($v1, $v2, $v3, $v2); - case 4: - $v1 = $values[0]; - $v2 = $values[1]; - $v3 = $values[2]; - $v4 = $values[3]; - return array($v1, $v2, $v3, $v4); - default: - // We newer should get there, because 'margin' value can contain from 1 to 4 widths - return array(0,0,0,0); - }; - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - $value = MarginValue::init($this->parse_in($value)); - return $value; - } - - function getPropertyCode() { - return CSS_MARGIN; - } - - function getPropertyName() { - return 'margin'; - } -} - -class CSSMarginTop extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return MarginSideValue::init($value); - } - - function getPropertyCode() { - return CSS_MARGIN_TOP; - } - - function getPropertyName() { - return 'margin-top'; - } -} - -class CSSMarginRight extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return MarginSideValue::init($value); - } - - function getPropertyCode() { - return CSS_MARGIN_RIGHT; - } - - function getPropertyName() { - return 'margin-right'; - } -} - -class CSSMarginLeft extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return MarginSideValue::init($value); - } - - function getPropertyCode() { - return CSS_MARGIN_LEFT; - } - - function getPropertyName() { - return 'margin-left'; - } -} - -class CSSMarginBottom extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return MarginSideValue::init($value); - } - - function getPropertyCode() { - return CSS_MARGIN_BOTTOM; - } - - function getPropertyName() { - return 'margin-bottom'; - } -} - -$mh = new CSSMargin; -CSS::register_css_property($mh); -CSS::register_css_property(new CSSMarginLeft($mh, 'left')); -CSS::register_css_property(new CSSMarginRight($mh, 'right')); -CSS::register_css_property(new CSSMarginTop($mh, 'top')); -CSS::register_css_property(new CSSMarginBottom($mh, 'bottom')); - -?> diff --git a/thirdparty/html2ps_pdf/css.max-height.inc.php b/thirdparty/html2ps_pdf/css.max-height.inc.php deleted file mode 100644 index 3b225e901..000000000 --- a/thirdparty/html2ps_pdf/css.max-height.inc.php +++ /dev/null @@ -1,57 +0,0 @@ -CSSPropertyHandler(true, false); - $this->_defaultValue = ValueMaxHeight::fromString("auto"); - } - - /** - * 'height' CSS property should be inherited by table cells from table rows - * (as, obviously, ) - */ - function inherit($old_state, &$new_state) { - $parent_display = $old_state[CSS_DISPLAY]; - if ($parent_display === "table-row") { - $new_state[CSS_MAX_HEIGHT] = $old_state[CSS_MAX_HEIGHT]; - return; - } - - $new_state[CSS_MAX_HEIGHT] = - is_inline_element($parent_display) ? - $this->get($old_state) : - $this->default_value(); - } - - function _getAutoValue() { - return $this->default_value(); - } - - function default_value() { - return $this->_defaultValue->copy(); - } - - function parse($value) { - if ($value == 'none') { - return ValueMaxHeight::fromString('auto'); - }; - return ValueMaxHeight::fromString($value); - } - - function getPropertyCode() { - return CSS_MAX_HEIGHT; - } - - function getPropertyName() { - return 'max-height'; - } -} - -CSS::register_css_property(new CSSMaxHeight); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.min-height.inc.php b/thirdparty/html2ps_pdf/css.min-height.inc.php deleted file mode 100644 index 2be85a4f1..000000000 --- a/thirdparty/html2ps_pdf/css.min-height.inc.php +++ /dev/null @@ -1,54 +0,0 @@ -CSSPropertyHandler(true, false); - $this->_defaultValue = ValueMinHeight::fromString("0px"); - } - - /** - * 'height' CSS property should be inherited by table cells from table rows - * (as, obviously, ) - */ - function inherit($old_state, &$new_state) { - $parent_display = $old_state[CSS_DISPLAY]; - if ($parent_display === "table-row") { - $new_state[CSS_MIN_HEIGHT] = $old_state[CSS_MIN_HEIGHT]; - return; - } - - $new_state[CSS_MIN_HEIGHT] = - is_inline_element($parent_display) ? - $this->get($old_state) : - $this->default_value(); - } - - function _getAutoValue() { - return $this->default_value(); - } - - function default_value() { - return $this->_defaultValue->copy(); - } - - function parse($value) { - return ValueMinHeight::fromString($value); - } - - function getPropertyCode() { - return CSS_MIN_HEIGHT; - } - - function getPropertyName() { - return 'min-height'; - } -} - -CSS::register_css_property(new CSSMinHeight); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.min-width.inc.php b/thirdparty/html2ps_pdf/css.min-width.inc.php deleted file mode 100644 index 9641df41d..000000000 --- a/thirdparty/html2ps_pdf/css.min-width.inc.php +++ /dev/null @@ -1,26 +0,0 @@ -CSSSubFieldProperty($owner, $field); - } - - function getPropertyCode() { - return CSS_MIN_WIDTH; - } - - function getPropertyName() { - return 'min-width'; - } - - function parse($value) { - if ($value == 'inherit') { - return CSS_PROPERTY_INHERIT; - } - - return Value::fromString($value); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.orphans.inc.php b/thirdparty/html2ps_pdf/css.orphans.inc.php deleted file mode 100644 index 49444cb14..000000000 --- a/thirdparty/html2ps_pdf/css.orphans.inc.php +++ /dev/null @@ -1,27 +0,0 @@ -CSSPropertyHandler(true, false); - } - - function default_value() { - return 2; - } - - function parse($value) { - return (int)$value; - } - - function getPropertyCode() { - return CSS_ORPHANS; - } - - function getPropertyName() { - return 'orphans'; - } -} - -CSS::register_css_property(new CSSOrphans); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.overflow.inc.php b/thirdparty/html2ps_pdf/css.overflow.inc.php deleted file mode 100644 index 002133045..000000000 --- a/thirdparty/html2ps_pdf/css.overflow.inc.php +++ /dev/null @@ -1,33 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('inherit' => CSS_PROPERTY_INHERIT, - 'hidden' => OVERFLOW_HIDDEN, - 'scroll' => OVERFLOW_HIDDEN, - 'auto' => OVERFLOW_HIDDEN, - 'visible' => OVERFLOW_VISIBLE)); - } - - function default_value() { - return OVERFLOW_VISIBLE; - } - - function getPropertyCode() { - return CSS_OVERFLOW; - } - - function getPropertyName() { - return 'overflow'; - } -} - -CSS::register_css_property(new CSSOverflow); - -?> diff --git a/thirdparty/html2ps_pdf/css.padding.inc.php b/thirdparty/html2ps_pdf/css.padding.inc.php deleted file mode 100644 index bc53c1dff..000000000 --- a/thirdparty/html2ps_pdf/css.padding.inc.php +++ /dev/null @@ -1,132 +0,0 @@ -default_value = $this->parse("0"); - $this->CSSPropertyHandler(false, false); - } - - function default_value() { return $this->default_value->copy(); } - - function parse_in($value) { - $values = explode(" ",trim($value)); - switch (count($values)) { - case 1: - $v1 = $values[0]; - return array($v1, $v1, $v1, $v1); - case 2: - $v1 = $values[0]; - $v2 = $values[1]; - return array($v1, $v2, $v1, $v2); - case 3: - $v1 = $values[0]; - $v2 = $values[1]; - $v3 = $values[2]; - return array($v1, $v2, $v3, $v2); - case 4: - $v1 = $values[0]; - $v2 = $values[1]; - $v3 = $values[2]; - $v4 = $values[3]; - return array($v1, $v2, $v3, $v4); - default: - // We newer should get there, because 'padding' value can contain from 1 to 4 widths - return array(0,0,0,0); - }; - } - - function parse($string) { - if ($string === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - $padding = PaddingValue::init($this->parse_in($string)); - - return $padding; - } - - function getPropertyCode() { - return CSS_PADDING; - } - - function getPropertyName() { - return 'padding'; - } -} - -class CSSPaddingTop extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return PaddingSideValue::init($value); - } - - function getPropertyCode() { - return CSS_PADDING_TOP; - } - - function getPropertyName() { - return 'padding-top'; - } -} - -class CSSPaddingRight extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - $result = PaddingSideValue::init($value); - return $result; - } - - function getPropertyCode() { - return CSS_PADDING_RIGHT; - } - - function getPropertyName() { - return 'padding-right'; - } -} - -class CSSPaddingLeft extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { return CSS_PROPERTY_INHERIT; }; - return PaddingSideValue::init($value); - } - - function getPropertyCode() { - return CSS_PADDING_LEFT; - } - - function getPropertyName() { - return 'padding-left'; - } -} - -class CSSPaddingBottom extends CSSSubFieldProperty { - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - return PaddingSideValue::init($value); - } - - function getPropertyCode() { - return CSS_PADDING_BOTTOM; - } - - function getPropertyName() { - return 'padding-bottom'; - } -} - -$ph = new CSSPadding; -CSS::register_css_property($ph); -CSS::register_css_property(new CSSPaddingLeft($ph, 'left')); -CSS::register_css_property(new CSSPaddingRight($ph, 'right')); -CSS::register_css_property(new CSSPaddingTop($ph, 'top')); -CSS::register_css_property(new CSSPaddingBottom($ph, 'bottom')); - -?> diff --git a/thirdparty/html2ps_pdf/css.page-break-after.inc.php b/thirdparty/html2ps_pdf/css.page-break-after.inc.php deleted file mode 100644 index e8036139a..000000000 --- a/thirdparty/html2ps_pdf/css.page-break-after.inc.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.page-break-before.inc.php b/thirdparty/html2ps_pdf/css.page-break-before.inc.php deleted file mode 100644 index 54a51ac67..000000000 --- a/thirdparty/html2ps_pdf/css.page-break-before.inc.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.page-break-inside.inc.php b/thirdparty/html2ps_pdf/css.page-break-inside.inc.php deleted file mode 100644 index d935c20e4..000000000 --- a/thirdparty/html2ps_pdf/css.page-break-inside.inc.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.page-break.inc.php b/thirdparty/html2ps_pdf/css.page-break.inc.php deleted file mode 100644 index 54635c7c8..000000000 --- a/thirdparty/html2ps_pdf/css.page-break.inc.php +++ /dev/null @@ -1,25 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('inherit' => CSS_PROPERTY_INHERIT, - 'auto' => PAGE_BREAK_AUTO, - 'always' => PAGE_BREAK_ALWAYS, - 'avoid' => PAGE_BREAK_AVOID, - 'left' => PAGE_BREAK_LEFT, - 'right' => PAGE_BREAK_RIGHT)); - } - - function default_value() { - return PAGE_BREAK_AUTO; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.page.inc.php b/thirdparty/html2ps_pdf/css.page.inc.php deleted file mode 100644 index db5a2035d..000000000 --- a/thirdparty/html2ps_pdf/css.page.inc.php +++ /dev/null @@ -1,28 +0,0 @@ -CSSPropertyHandler(true, true); - } - - function default_value() { - return 'auto'; - } - - function parse($value) { - return $value; - } - - function getPropertyCode() { - return CSS_PAGE; - } - - function getPropertyName() { - return 'page'; - } -} - -CSS::register_css_property(new CSSPage()); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.parse.inc.php b/thirdparty/html2ps_pdf/css.parse.inc.php deleted file mode 100644 index 51151eb7a..000000000 --- a/thirdparty/html2ps_pdf/css.parse.inc.php +++ /dev/null @@ -1,236 +0,0 @@ -get_attribute("style"); - - // Some "designers" (obviously lacking the brain and ability to read ) use such constructs: - // - // - // - // It is out of standard, as HTML 4.01 says: - // - // The syntax of the value of the style attribute is determined by the default style sheet language. - // For example, for [[CSS2]] inline style, use the declaration block syntax described in section 4.1.8 - // *(without curly brace delimiters)* - // - // but still parsed by many browsers; let's be compatible with these idiots - remove curly braces - // - $style = preg_replace("/^\s*{/","",$style); - $style = preg_replace("/}\s*$/","",$style); - - $properties = parse_css_properties($style, $pipeline); - - $rule = new CSSRule(array( - array(SELECTOR_ANY), - $properties, - $pipeline->get_base_url(), - $root - ), - $pipeline); - - $rule->apply($root, $state, $pipeline); -} - -// TODO: make a real parser instead of if-then-else mess -// -// Selector grammar (according to CSS 2.1, paragraph 5.1 & 5.2): -// Note that this particular grammar is not LL1, but still can be converter to -// that form -// -// COMPOSITE_SELECTOR ::= SELECTOR ("," SELECTOR)* -// -// SELECTOR ::= SIMPLE_SELECTOR (COMBINATOR SIMPLE_SELECTOR)* -// -// COMBINATOR ::= WHITESPACE* COMBINATOR_SYMBOL WHITESPACE* -// COMBINATOR_SYMBOL ::= " " | ">" | "+" -// -// SIMPLE_SELECTOR ::= TYPE_SELECTOR (ADDITIONAL_SELECTOR)* -// SIMPLE_SELECTOR ::= UNIVERSAL_SELECTOR (ADDITIONAL_SELECTOR)* -// SIMPLE_SELECTOR ::= (ADDITIONAL_SELECTOR)* -// -// CSS 2.1, p. 5.3: if the universal selector is not the only component of a simple selector, the "*" may be omitted -// SIMPLE_SELECTOR ::= (ADDITIONAL_SELECTOR)* -// -// TYPE_SELECTOR ::= TAG_NAME -// -// UNIVERSAL_SELECTOR ::= "*" -// -// ADDITIONAL_SELECTOR ::= ATTRIBUTE_SELECTOR | ID_SELECTOR | PSEUDOCLASS | CLASS_SELECTOR | PSEUDOELEMENT -// -// ATTRIBUTE_SELECTOR ::= "[" ATTRIBUTE_NAME "]" -// ATTRIBUTE_SELECTOR ::= "[" ATTRIBUTE_NAME "=" ATTR_VALUE "]" -// ATTRIBUTE_SELECTOR ::= "[" ATTRIBUTE_NAME "~=" ATTR_VALUE "]" -// ATTRIBUTE_SELECTOR ::= "[" ATTRIBUTE_NAME "|=" ATTR_VALUE "]" -// -// CLASS_SELECTOR ::= "." CLASS_NAME -// -// ID_SELECTOR ::= "#" ID_VALUE -// -// PSEUDOCLASS ::= ":first-child" | -// ":link" | -// ":visited" | // ignored in our case -// ":hover" | // dynamic - ignored in our case -// ":active" | // dynamic - ignored in our case -// ":focus" | // dynamic - ignored in our case -// ":lang(" LANG ")" | // dynamic - ignored in our case -// -// PSEUDOELEMENT ::= ":first-line" | -// ":first-letter" | -// ":before" | -// ":after" | -// -// ATTR_VALUE ::= IDENTIFIER | STRING -// CLASS_NAME ::= INDETIFIER -// ID_VALUE ::= IDENTIFIER -// -function parse_css_selector($raw_selector) { - // Note a 'trim' call. Is is required as there could be leading/trailing spaces in $raw_selector - // - $raw_selector = strtolower(trim($raw_selector)); - - // Direct Parent/child selectors (for example 'table > tr') - if (preg_match("/^(\S.*)\s*>\s*([^\s]+)$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array( - parse_css_selector($matches[2]), - array(SELECTOR_DIRECT_PARENT, - parse_css_selector($matches[1])))); - } - - // Parent/child selectors (for example 'table td') - if (preg_match("/^(\S.*)\s+([^\s]+)$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array( - parse_css_selector($matches[2]), - array(SELECTOR_PARENT, - parse_css_selector($matches[1])))); - } - - if (preg_match("/^(.+)\[(".SELECTOR_ATTR_REGEXP.")\]$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array( - parse_css_selector($matches[1]), - array(SELECTOR_ATTR, $matches[2]))); - } - - if (preg_match("/^(.+)\[".SELECTOR_ATTR_VALUE_REGEXP."\]$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array( - parse_css_selector($matches[1]), - array(SELECTOR_ATTR_VALUE, $matches[2], css_remove_value_quotes($matches[3])))); - } - - if (preg_match("/^(.+)\[".SELECTOR_ATTR_VALUE_WORD_REGEXP."\]$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array( - parse_css_selector($matches[1]), - array(SELECTOR_ATTR_VALUE_WORD, $matches[2], css_remove_value_quotes($matches[3])))); - } - - // pseudoclasses & pseudoelements - if (preg_match("/^([#\.\s\w_-]*):(\w+)$/", $raw_selector, $matches)) { - if ($matches[1] === "") { $matches[1] = "*"; }; - - switch($matches[2]) { - case "lowlink": - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), array(SELECTOR_PSEUDOCLASS_LINK_LOW_PRIORITY))); - case "link": - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), array(SELECTOR_PSEUDOCLASS_LINK))); - case "before": - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), array(SELECTOR_PSEUDOELEMENT_BEFORE))); - case "after": - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), array(SELECTOR_PSEUDOELEMENT_AFTER))); - }; - }; - - // :lang() pseudoclass - if (preg_match("/^([#\.\s\w_-]+):lang\((\w+)\)$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), array(SELECTOR_LANGUAGE, $matches[2]))); - }; - - if (preg_match("/^(\S+)(\.\S+)$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array(parse_css_selector($matches[1]), parse_css_selector($matches[2]))); - }; - - switch ($raw_selector{0}) { - case '#': - return array(SELECTOR_ID, substr($raw_selector,1)); - case '.': - return array(SELECTOR_CLASS, substr($raw_selector,1)); - }; - - if (preg_match("/^(\w+)#(".SELECTOR_ID_REGEXP.")$/", $raw_selector, $matches)) { - return array(SELECTOR_SEQUENCE, array(array(SELECTOR_ID, $matches[2]), array(SELECTOR_TAG, $matches[1]))); - }; - - if ($raw_selector === "*") { - return array(SELECTOR_ANY); - }; - - return array(SELECTOR_TAG,$raw_selector); -} - -function parse_css_selectors($raw_selectors) { - $offset = 0; - $selectors = array(); - - $selector_strings = explode(",",$raw_selectors); - - foreach ($selector_strings as $selector_string) { - // See comment on SELECTOR_ANY regarding why this code is commented - // Remove the '* html' string from the selector - // $selector_string = preg_replace('/^\s*\*\s+html/','',$selector_string); - - $selector_string = trim($selector_string); - - // Support for non-valid CSS similar to: "selector1,selector2, {rules}" - // In this case we'll get three selectors; last will be empty string - - if (!empty($selector_string)) { - $selectors[] = parse_css_selector($selector_string); - }; - }; - - return $selectors; -} - -// function &parse_css_property($property, &$pipeline) { -// if (preg_match("/^(.*?)\s*:\s*(.*)/",$property, $matches)) { -// $name = strtolower(trim($matches[1])); -// $code = CSS::word2code($name); -// if (is_null($code)) { -// error_log(sprintf("Unsupported CSS property: '%s'", $name)); -// $null = null; -// return $null; -// }; - -// $collection =& new CSSPropertyCollection(); -// $collection->addProperty(CSSPropertyDeclaration::create($code, trim($matches[2]), $pipeline)); -// return $collection; -// } elseif (preg_match("/@import\s+\"(.*)\";/",$property, $matches)) { -// // @import "" -// $collection =& css_import(trim($matches[1]), $pipeline); -// return $collection; -// } elseif (preg_match("/@import\s+url\((.*)\);/",$property, $matches)) { -// // @import url() -// $collection =& css_import(trim($matches[1]), $pipeline); -// return $collection; -// } elseif (preg_match("/@import\s+(.*);/",$property, $matches)) { -// // @import -// $collection =& css_import(trim($matches[1]), $pipeline); -// return $collection; -// } else { -// $collection =& new CSSPropertyCollection(); -// return $collection; -// }; -// } - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.parse.media.inc.php b/thirdparty/html2ps_pdf/css.parse.media.inc.php deleted file mode 100644 index 4237f86a5..000000000 --- a/thirdparty/html2ps_pdf/css.parse.media.inc.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.parse.properties.php b/thirdparty/html2ps_pdf/css.parse.properties.php deleted file mode 100644 index 7591657bc..000000000 --- a/thirdparty/html2ps_pdf/css.parse.properties.php +++ /dev/null @@ -1,87 +0,0 @@ -addProperty($property); - }; - }; - - return $property_collection; -} - -function parse_css_properties_property($string, &$code) { - $identifier_regexp = CSS::get_identifier_regexp(); - - if (!preg_match(sprintf('/^\s*(%s)(.*)/s', $identifier_regexp), $string, $matches)) { - $code = null; - return ''; - }; - - $name = strtolower(trim($matches[1])); - $rest = $matches[2]; - $code = CSS::word2code($name); - return $rest; -} - -function parse_css_properties_value($string, &$value) { - $string1_regexp = CSS_STRING1_REGEXP; - $string2_regexp = CSS_STRING2_REGEXP; - - $value = ''; - - do { - $matched = false; - - if (preg_match(sprintf('/^(%s)\s*(.*)$/s', $string1_regexp), $string, $matches)) { - $value .= $matches[1]; - $string = $matches[2]; - $matched = true; - }; - - if (preg_match(sprintf('/^(%s)\s*(.*)$/s', $string2_regexp), $string, $matches)) { - $value .= $matches[1]; - $string = $matches[2]; - $matched = true; - }; - - if (preg_match('/^('.CSS_FUNCTION_REGEXP.CSS_IDENT_REGEXP.'\))\s*(.*)$/s', $string, $matches)) { - $value .= $matches[1]; - $string = $matches[2]; - $matched = true; - }; - } while ($matched); - - $value_regexp = '[^;]*?'; - if (preg_match(sprintf('/^(%s)(\s*;.*)/s', $value_regexp), $string, $matches)) { - $value .= trim($matches[1]); - $rest = $matches[2]; - - return $rest; - }; - - $value = $value.trim($string); - return ''; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.position.inc.php b/thirdparty/html2ps_pdf/css.position.inc.php deleted file mode 100644 index dfb48174f..000000000 --- a/thirdparty/html2ps_pdf/css.position.inc.php +++ /dev/null @@ -1,40 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('inherit' => CSS_PROPERTY_INHERIT, - 'absolute' => POSITION_ABSOLUTE, - 'relative' => POSITION_RELATIVE, - 'fixed' => POSITION_FIXED, - 'static' => POSITION_STATIC, - 'footnote' => POSITION_FOOTNOTE)); - } - - function default_value() { - return POSITION_STATIC; - } - - function getPropertyCode() { - return CSS_POSITION; - } - - function getPropertyName() { - return 'position'; - } -} - -CSS::register_css_property(new CSSPosition); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.collection.php b/thirdparty/html2ps_pdf/css.property.collection.php deleted file mode 100644 index 8f328e4d0..000000000 --- a/thirdparty/html2ps_pdf/css.property.collection.php +++ /dev/null @@ -1,119 +0,0 @@ -_properties = array(); - $this->_positions = array(); - $this->_priorities = array(); - $this->_max_priority = 0; - } - - function apply(&$state) { - $properties = $this->getPropertiesRaw(); - foreach ($properties as $property) { - $key = $property->getCode(); - $value = $property->getValue(); - - $handler =& CSS::get_handler($key); - $handler->replace($value, $state); - }; - } - - function ©() { - $collection =& new CSSPropertyCollection(); - - for ($i = 0, $size = count($this->_properties); $i < $size; $i++) { - $property =& $this->_properties[$i]; - $collection->_properties[] =& $property->copy(); - }; - - $collection->_positions = $this->_positions; - $collection->_priorities = $this->_priorities; - $collection->_max_priority = $this->_max_priority; - - return $collection; - } - - function addProperty($property) { - $this->_max_priority ++; - - $code = $property->getCode(); - - /** - * Important properties shoud not be overridden with non-important ones - */ - if ($this->isImportant($code) && - !$property->isImportant()) { - return; - }; - - if (array_key_exists($code, $this->_positions)) { - $this->_properties[$this->_positions[$code]] = $property; - $this->_priorities[$this->_positions[$code]] = $this->_max_priority; - } else { - $this->_properties[] = $property; - $this->_priorities[] = $this->_max_priority; - $this->_positions[$code] = count($this->_priorities)-1; - }; - } - - function contains($code) { - return isset($this->_positions[$code]); - } - - function getMaxPriority() { - return $this->_max_priority; - } - - function getPropertiesSortedByPriority() { - $properties = $this->_properties; - $priorities = $this->_priorities; - - array_multisort($priorities, $properties); - - return $properties; - } - - function getPropertiesRaw() { - return $this->_properties; - } - - function isImportant($code) { - if (!isset($this->_positions[$code])) { - return false; - }; - return $this->_properties[$this->_positions[$code]]->isImportant(); - } - - function &getPropertyValue($code) { - if (!isset($this->_properties[$this->_positions[$code]])) { - $null = null; - return $null; - }; - - $property =& $this->_properties[$this->_positions[$code]]; - return $property->getValue(); - } - - function setPropertyValue($code, $value) { - $this->_properties[$this->_positions[$code]]->setValue($value); - } - - /** - * Merge two sets of CSS properties, overwriting old values - * with values from $collection - */ - function merge($collection) { - $properties = $collection->getPropertiesSortedByPriority(); - foreach ($properties as $property) { - $this->addProperty($property); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.declaration.php b/thirdparty/html2ps_pdf/css.property.declaration.php deleted file mode 100644 index 84b0c5757..000000000 --- a/thirdparty/html2ps_pdf/css.property.declaration.php +++ /dev/null @@ -1,67 +0,0 @@ -_code = 0; - $this->_value = null; - $this->_important = false; - } - - function &getValue() { - return $this->_value; - } - - function setValue(&$value) { - $this->_value =& $value; - } - - function &create($code, $value, $pipeline) { - $handler =& CSS::get_handler($code); - if (is_null($handler)) { - $null = null; - return $null; - }; - - $declaration =& new CSSPropertyDeclaration(); - $declaration->_code = $code; - - if (preg_match("/^(.*)!\s*important\s*$/", $value, $matches)) { - $value = $matches[1]; - $declaration->_important = true; - } else { - $declaration->_important = false; - }; - - $declaration->_value = $handler->parse($value, $pipeline); - return $declaration; - } - - function getCode() { - return $this->_code; - } - - function ©() { - $declaration =& new CSSPropertyDeclaration(); - $declaration->_code = $this->_code; - - if (is_object($this->_value)) { - $declaration->_value =& $this->_value->copy(); - } else { - $declaration->_value =& $this->_value; - }; - - $declaration->_important = $this->_important; - - return $declaration; - } - - function isImportant() { - return $this->_important; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.handler.class.php b/thirdparty/html2ps_pdf/css.property.handler.class.php deleted file mode 100644 index 5c186eb37..000000000 --- a/thirdparty/html2ps_pdf/css.property.handler.class.php +++ /dev/null @@ -1,101 +0,0 @@ -getCurrentCSSState(); - - if ($this->applicable($css_state)) { - $this->replace($this->parse($value, $pipeline), $css_state); - }; - } - - function applicable($css_state) { - return true; - } - - function clearDefaultFlags(&$state) { - $state->setPropertyDefaultFlag($this->getPropertyCode(), false); - } - - function CSSPropertyHandler($inheritable, $inheritable_text) { - $this->_inheritable = $inheritable; - $this->_inheritable_text = $inheritable_text; - } - - /** - * Optimization: this function is called very often, so - * we minimize the overhead by calling $this->getPropertyCode() - * once per property handler object instead of calling in every - * CSSPropertyHandler::get() call. - */ - function &get(&$state) { - static $property_code = null; - if (is_null($property_code)) { - $property_code = $this->getPropertyCode(); - }; - - if (!isset($state[$property_code])) { - $null = null; - return $null; - }; - - return $state[$property_code]; - } - - function inherit($old_state, &$new_state) { - $code = $this->getPropertyCode(); - $new_state[$code] = ($this->_inheritable ? - $old_state[$code] : - $this->default_value()); - } - - function isInheritableText() { - return $this->_inheritable_text; - } - - function isInheritable() { - return $this->_inheritable; - } - - function inherit_text($old_state, &$new_state) { - $code = $this->getPropertyCode(); - - if ($this->_inheritable_text) { - $new_state[$code] = $old_state[$code]; - } else { - $new_state[$code] = $this->default_value(); - }; - } - - function is_default($value) { - if (is_object($value)) { - return $value->is_default(); - } else { - return $this->default_value() === $value; - }; - } - - function is_subproperty() { return false; } - - function replace($value, &$state) { - $state->setProperty($this->getPropertyCode(), $value); - } - - function replaceDefault($value, &$state) { - $state->setPropertyDefault($this->getPropertyCode(), $value); - } - - function replace_array($value, &$state) { - static $property_code = null; - if (is_null($property_code)) { - $property_code = $this->getPropertyCode(); - }; - - $state[$property_code] = $value; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.stringset.class.php b/thirdparty/html2ps_pdf/css.property.stringset.class.php deleted file mode 100644 index d071f6022..000000000 --- a/thirdparty/html2ps_pdf/css.property.stringset.class.php +++ /dev/null @@ -1,34 +0,0 @@ -CSSPropertyHandler($inherit, $inherit_text); - - $this->_mapping = $mapping; - - /** - * Unfortunately, isset($this->_mapping[$key]) will return false - * for $_mapping[$key] = null. As CSS_PROPERTY_INHERIT value is 'null', - * this should be avoided using the hack below - */ - $this->_keys = $mapping; - foreach ($this->_keys as $key => $value) { - $this->_keys[$key] = 1; - }; - } - - function parse($value) { - $value = trim(strtolower($value)); - - if (isset($this->_keys[$value])) { - return $this->_mapping[$value]; - }; - - return $this->default_value(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.sub.class.php b/thirdparty/html2ps_pdf/css.property.sub.class.php deleted file mode 100644 index b608441d3..000000000 --- a/thirdparty/html2ps_pdf/css.property.sub.class.php +++ /dev/null @@ -1,80 +0,0 @@ -_owner =& $owner; - } - - function &get(&$state) { - $owner =& $this->owner(); - $value =& $owner->get($state); - $subvalue =& $this->getValue($value); - return $subvalue; - } - - function is_subproperty() { - return true; - } - - function &owner() { - return $this->_owner; - } - - function default_value() { - } - - function inherit($old_state, &$new_state) { - } - - function inherit_text($old_state, &$new_state) { - } - - function replace_array($value, &$state_array) { - $owner =& $this->owner(); - - $owner_value = $state_array[$owner->getPropertyCode()]; - - if (is_object($owner_value)) { - $owner_value = $owner_value->copy(); - }; - - if (is_object($value)) { - $this->setValue($owner_value, $value->copy()); - } else { - $this->setValue($owner_value, $value); - }; - - $state_array[$owner->getPropertyCode()] = $owner_value; - } - - function replace($value, &$state) { - $owner =& $this->owner(); - $owner_value = $owner->get($state->getState()); - - if (is_object($owner_value)) { - $owner_value =& $owner_value->copy(); - }; - - if (is_object($value)) { - $value_copy =& $value->copy(); - $this->setValue($owner_value, $value_copy); - } else { - $this->setValue($owner_value, $value); - }; - - $owner->replaceDefault($owner_value, $state); - $state->setPropertyDefaultFlag($this->getPropertyCode(), false); - } - - function setValue(&$owner_value, &$value) { - error_no_method('setValue', get_class($this)); - } - - function &getValue(&$owner_value) { - error_no_method('getValue', get_class($this)); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.property.sub.field.class.php b/thirdparty/html2ps_pdf/css.property.sub.field.class.php deleted file mode 100644 index 39e5c0fc0..000000000 --- a/thirdparty/html2ps_pdf/css.property.sub.field.class.php +++ /dev/null @@ -1,23 +0,0 @@ -CSSSubProperty($owner); - $this->_owner_field = $field; - } - - function setValue(&$owner_value, &$value) { - $field = $this->_owner_field; - $owner_value->$field = $value; - } - - function &getValue(&$owner_value) { - $field = $this->_owner_field; - return $owner_value->$field; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.add.margin.inc.php b/thirdparty/html2ps_pdf/css.pseudo.add.margin.inc.php deleted file mode 100644 index acb6c3546..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.add.margin.inc.php +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/thirdparty/html2ps_pdf/css.pseudo.align.inc.php b/thirdparty/html2ps_pdf/css.pseudo.align.inc.php deleted file mode 100644 index 40b0425c4..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.align.inc.php +++ /dev/null @@ -1,70 +0,0 @@ -CSSPropertyHandler(true, true); } - - function default_value() { - return PA_LEFT; - } - - function inherit($old_state, &$new_state) { - // This pseudo-property is not inherited by tables - // As current box display value may not be know at the moment of inheriting, - // we'll use parent display value, stopping inheritance on the table-row/table-group level - - // Determine parent 'display' value - $parent_display = $old_state[CSS_DISPLAY]; - - $this->replace_array(($parent_display === 'table') ? $this->default_value() : $this->get($old_state), - $new_state); - } - - function parse($value) { - // Convert value to lower case, as html allows values - // in both cases to be entered - // - $value = strtolower($value); - - if ($value === 'left') { return PA_LEFT; } - if ($value === 'right') { return PA_RIGHT; } - if ($value === 'center') { return PA_CENTER; } - - // For compatibility with non-valid HTML - // - if ($value === 'middle') { return PA_CENTER; } - - return $this->default_value(); - } - - function value2pdf($value) { - switch ($value) { - case PA_LEFT: - return "ta_left"; - case PA_RIGHT: - return "ta_right"; - case PA_CENTER: - return "ta_center"; - default: - return "ta_left"; - } - } - - function getPropertyCode() { - return CSS_HTML2PS_ALIGN; - } - - function getPropertyName() { - return '-html2ps-align'; - } -} - -CSS::register_css_property(new CSSPseudoAlign); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.cellpadding.inc.php b/thirdparty/html2ps_pdf/css.pseudo.cellpadding.inc.php deleted file mode 100644 index c04ee4e62..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.cellpadding.inc.php +++ /dev/null @@ -1,28 +0,0 @@ -CSSPropertyHandler(true, false); - } - - function default_value() { - return Value::fromData(1, UNIT_PX); - } - - function parse($value) { - return Value::fromString($value); - } - - function getPropertyCode() { - return CSS_HTML2PS_CELLPADDING; - } - - function getPropertyName() { - return '-html2ps-cellpadding'; - } -} - -CSS::register_css_property(new CSSCellPadding); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.cellspacing.inc.php b/thirdparty/html2ps_pdf/css.pseudo.cellspacing.inc.php deleted file mode 100644 index a4453b661..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.cellspacing.inc.php +++ /dev/null @@ -1,28 +0,0 @@ -CSSPropertyHandler(true, false); - } - - function default_value() { - return Value::fromData(1, UNIT_PX); - } - - function parse($value) { - return Value::fromString($value); - } - - function getPropertyCode() { - return CSS_HTML2PS_CELLSPACING; - } - - function getPropertyName() { - return '-html2ps-cellspacing'; - } -} - -CSS::register_css_property(new CSSCellSpacing); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.form.action.inc.php b/thirdparty/html2ps_pdf/css.pseudo.form.action.inc.php deleted file mode 100644 index f99951d80..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.form.action.inc.php +++ /dev/null @@ -1,23 +0,0 @@ -CSSPropertyHandler(true, true); } - - function default_value() { return null; } - - function parse($value) { - return $value; - } - - function getPropertyCode() { - return CSS_HTML2PS_FORM_ACTION; - } - - function getPropertyName() { - return '-html2ps-form-action'; - } -} - -CSS::register_css_property(new CSSPseudoFormAction); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.form.radiogroup.inc.php b/thirdparty/html2ps_pdf/css.pseudo.form.radiogroup.inc.php deleted file mode 100644 index 666fbf68a..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.form.radiogroup.inc.php +++ /dev/null @@ -1,27 +0,0 @@ -CSSPropertyHandler(true, true); - } - - function default_value() { - return null; - } - - function parse($value) { - return $value; - } - - function getPropertyCode() { - return CSS_HTML2PS_FORM_RADIOGROUP; - } - - function getPropertyName() { - return '-html2ps-form-radiogroup'; - } -} - -CSS::register_css_property(new CSSPseudoFormRadioGroup); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.link.destination.inc.php b/thirdparty/html2ps_pdf/css.pseudo.link.destination.inc.php deleted file mode 100644 index 2b252940d..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.link.destination.inc.php +++ /dev/null @@ -1,27 +0,0 @@ -CSSPropertyHandler(false, false); - } - - function default_value() { - return ""; - } - - function parse($value) { - return $value; - } - - function getPropertyCode() { - return CSS_HTML2PS_LINK_DESTINATION; - } - - function getPropertyName() { - return '-html2ps-link-destination'; - } -} - -CSS::register_css_property(new CSSPseudoLinkDestination); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.link.target.inc.php b/thirdparty/html2ps_pdf/css.pseudo.link.target.inc.php deleted file mode 100644 index 5a8ad9682..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.link.target.inc.php +++ /dev/null @@ -1,39 +0,0 @@ -CSSPropertyHandler(true, true); } - - function default_value() { return ""; } - - function is_external_link($value) { - return (strlen($value) > 0 && $value{0} != "#"); - } - - function is_local_link($value) { - return (strlen($value) > 0 && $value{0} == "#"); - } - - function parse($value, &$pipeline) { - // Keep local links (starting with sharp sign) as-is - if (CSSPseudoLinkTarget::is_local_link($value)) { return $value; } - - $data = @parse_url($value); - if (!isset($data['scheme']) || $data['scheme'] == "" || $data['scheme'] == "http") { - return $pipeline->guess_url($value); - } else { - return $value; - }; - } - - function getPropertyCode() { - return CSS_HTML2PS_LINK_TARGET; - } - - function getPropertyName() { - return '-html2ps-link-target'; - } -} - -CSS::register_css_property(new CSSPseudoLinkTarget); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.listcounter.inc.php b/thirdparty/html2ps_pdf/css.pseudo.listcounter.inc.php deleted file mode 100644 index a1bea2243..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.listcounter.inc.php +++ /dev/null @@ -1,20 +0,0 @@ -CSSPropertyHandler(true, false); } - function default_value() { return 0; } - - function getPropertyCode() { - return CSS_HTML2PS_LIST_COUNTER; - } - - function getPropertyName() { - return '-html2ps-list-counter'; - } - -} - -CSS::register_css_property(new CSSPseudoListCounter); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.localalign.inc.php b/thirdparty/html2ps_pdf/css.pseudo.localalign.inc.php deleted file mode 100644 index 77e6b156d..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.localalign.inc.php +++ /dev/null @@ -1,26 +0,0 @@ -CSSPropertyHandler(false, false); } - - function default_value() { return LA_LEFT; } - - function parse($value) { return $value; } - - function getPropertyCode() { - return CSS_HTML2PS_LOCALALIGN; - } - - function getPropertyName() { - return '-html2ps-localalign'; - } -} - -CSS::register_css_property(new CSSLocalAlign); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.nowrap.inc.php b/thirdparty/html2ps_pdf/css.pseudo.nowrap.inc.php deleted file mode 100644 index 40414c2e5..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.nowrap.inc.php +++ /dev/null @@ -1,22 +0,0 @@ -CSSPropertyHandler(false, false); } - function default_value() { return NOWRAP_NORMAL; } - - function getPropertyCode() { - return CSS_HTML2PS_NOWRAP; - } - - function getPropertyName() { - return '-html2ps-nowrap'; - } -} - -CSS::register_css_property(new CSSPseudoNoWrap); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.pseudo.table.border.inc.php b/thirdparty/html2ps_pdf/css.pseudo.table.border.inc.php deleted file mode 100644 index a390b9c35..000000000 --- a/thirdparty/html2ps_pdf/css.pseudo.table.border.inc.php +++ /dev/null @@ -1,57 +0,0 @@ -CSSPropertyHandler(true, false); - - $this->_defaultValue = BorderPDF::create(array('top' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'right' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'bottom' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE), - 'left' => array('width' => Value::fromString('2px'), - 'color' => array(0,0,0), - 'style' => BS_NONE))); - } - - function default_value() { - return $this->_defaultValue->copy(); - } - - function getPropertyCode() { - return CSS_HTML2PS_TABLE_BORDER; - } - - function getPropertyName() { - return '-html2ps-table-border'; - } - - function inherit($old_state, &$new_state) { - // Determine parent 'display' value - $parent_display = $old_state[CSS_DISPLAY]; - - // Inherit from table rows and tables - $inherit_from = array('table-row', 'table', 'table-row-group', 'table-header-group', 'table-footer-group'); - if (array_search($parent_display, $inherit_from) !== FALSE) { - $this->replace_array($this->get($old_state), - $new_state); - return; - } - - $this->replace_array($this->default_value(), $new_state); - return; - } -} - -CSS::register_css_property(new CSSPseudoTableBorder()); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.right.inc.php b/thirdparty/html2ps_pdf/css.right.inc.php deleted file mode 100644 index a95b0f56c..000000000 --- a/thirdparty/html2ps_pdf/css.right.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSPropertyHandler(false, false); - $this->_autoValue = ValueRight::fromString('auto'); - } - - function _getAutoValue() { - return $this->_autoValue->copy(); - } - - function default_value() { - return $this->_getAutoValue(); - } - - function parse($value) { - return ValueRight::fromString($value); - } - - function getPropertyCode() { - return CSS_RIGHT; - } - - function getPropertyName() { - return 'right'; - } -} - -CSS::register_css_property(new CSSRight); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.rules.inc.php b/thirdparty/html2ps_pdf/css.rules.inc.php deleted file mode 100644 index 18c8d1610..000000000 --- a/thirdparty/html2ps_pdf/css.rules.inc.php +++ /dev/null @@ -1,79 +0,0 @@ -push_base_url($this->baseurl); - $this->body->apply($state); - $pipeline->pop_base_url(); - } - - function addProperty($property) { - $this->body->addProperty($property); - } - - function CSSRule($rule, &$pipeline) { - $this->selector = $rule[0]; - $this->body = $rule[1]->copy(); - $this->baseurl = $rule[2]; - $this->order = $rule[3]; - - $this->specificity = css_selector_specificity($this->selector); - $this->pseudoelement = css_find_pseudoelement($this->selector); - } - - function setProperty($key, $value, &$pipeline) { - $this->body->setPropertyValue($key, $value); - } - - function &getProperty($key) { - return $this->body->getPropertyValue($key); - } - - function get_order() { return $this->order; } - function get_pseudoelement() { return $this->pseudoelement; } - function get_selector() { return $this->selector; } - function get_specificity() { return $this->specificity; } - - function match($root) { - return match_selector($this->selector, $root); - } -} - -function rule_get_selector(&$rule) { return $rule[0]; }; - -function cmp_rules($r1, $r2) { - $a = css_selector_specificity($r1[0]); - $b = css_selector_specificity($r2[0]); - - for ($i=0; $i<=2; $i++) { - if ($a[$i] != $b[$i]) { return ($a[$i] < $b[$i]) ? -1 : 1; }; - }; - - // If specificity of selectors is equal, use rules natural order in stylesheet - - return $r1[3] < $r2[3] ? -1 : 1; -} - -function cmp_rule_objs($r1, $r2) { - $a = $r1->get_specificity(); - $b = $r2->get_specificity(); - - for ($i=0; $i<=2; $i++) { - if ($a[$i] != $b[$i]) { return ($a[$i] < $b[$i]) ? -1 : 1; }; - }; - - // If specificity of selectors is equal, use rules natural order in stylesheet - - return $r1->get_order() < $r2->get_order() ? -1 : 1; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.rules.page.inc.php b/thirdparty/html2ps_pdf/css.rules.page.inc.php deleted file mode 100644 index 878ca5831..000000000 --- a/thirdparty/html2ps_pdf/css.rules.page.inc.php +++ /dev/null @@ -1,394 +0,0 @@ -set_type($type); - } - - function get_type() { - return $this->_type; - } - - function set_type($type) { - $this->_type = $type; - } -} - -class CSSPageSelectorAll extends CSSPageSelector { - function CSSPageSelectorAll() { - $this->CSSPageSelector(CSS_PAGE_SELECTOR_ALL); - } -} - -class CSSPageSelectorNamed extends CSSPageSelector { - var $_name; - - function CSSPageSelectorNamed($name) { - $this->CSSPageSelector(CSS_PAGE_SELECTOR_NAMED); - $this->set_name($name); - } - - function get_name() { - return $this->_name; - } - - function set_name($name) { - $this->_name = $name; - } -} - -class CSSPageSelectorFirst extends CSSPageSelector { - function CSSPageSelectorFirst() { - $this->CSSPageSelector(CSS_PAGE_SELECTOR_FIRST); - } -} - -class CSSPageSelectorLeft extends CSSPageSelector { - function CSSPageSelectorLeft() { - $this->CSSPageSelector(CSS_PAGE_SELECTOR_LEFT); - } -} - -class CSSPageSelectorRight extends CSSPageSelector { - function CSSPageSelectorRight() { - $this->CSSPageSelector(CSS_PAGE_SELECTOR_RIGHT); - } -} - -class CSSAtRulePage { - var $selector; - var $margin_boxes; - var $css; - - function CSSAtRulePage($selector, &$pipeline) { - $this->selector = $selector; - $this->margin_boxes = array(); - - $this->css = new CSSPropertyCollection(); - } - - function &getSelector() { - return $this->selector; - } - - function getAtRuleMarginBoxes() { - return $this->margin_boxes; - } - - /** - * Note that only one margin box rule could be added; subsequent adds - * will overwrite existing data - */ - function addAtRuleMarginBox($rule) { - $this->margin_boxes[$rule->getSelector()] = $rule; - } - - function setCSSProperty($property) { - $this->css->addProperty($property); - } -} - -class CSSAtRuleMarginBox { - var $selector; - var $css; - - /** - * TODO: CSS_TEXT_ALIGN should get top/bottom values by default for - * left-top, left-bottom, right-top and right-bottom boxes - */ - function CSSAtRuleMarginBox($selector, &$pipeline) { - $this->selector = $selector; - - $css = "-html2ps-html-content: ''; content: ''; width: auto; height: auto; margin: 0; border: none; padding: 0; font: auto;"; - $css = $css . $this->_getCSSDefaults($selector); - - $this->css = new CSSRule(array( - array(SELECTOR_ANY), - parse_css_properties($css, $null), - '', - null), - $pipeline); - } - - function getSelector() { - return $this->selector; - } - - function _getCSSDefaults($selector) { - $text_align_handler =& CSS::get_handler(CSS_TEXT_ALIGN); - $vertical_align_handler =& CSS::get_handler(CSS_VERTICAL_ALIGN); - - switch ($selector) { - case CSS_MARGIN_BOX_SELECTOR_TOP: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER: - return 'text-align: right; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_TOP_LEFT: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_TOP_CENTER: - return 'text-align: center; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT: - return 'text-align: right; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER: - return 'text-align: right; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER: - return 'text-align: center; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT: - return 'text-align: right; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER: - return 'text-align: left; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_LEFT_TOP: - return 'text-align: center; vertical-align: top'; - case CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE: - return 'text-align: center; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM: - return 'text-align: center; vertical-align: bottom'; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP: - return 'text-align: center; vertical-align: top'; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE: - return 'text-align: center; vertical-align: middle'; - case CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM: - return 'text-align: center; vertical-align: bottom'; - }; - } - - function setCSSProperty($property) { - $this->css->addProperty($property); - } - - function &getCSSProperty($code) { - return $this->css->getProperty($code); - } -} - -/** - * Handle @page rules in current CSS media As parse_css_media is - * called for selected media only, we can store data to global CSS - * state - no data should be ignored - * - * at-page rules will be removed after parsing - * - * @param $css String contains raw CSS data to be processed - * @return String CSS text without at-page rules - */ -function parse_css_atpage_rules($css, &$css_ruleset) { - while (preg_match('/^(.*?)@page(.*)/is', $css, $matches)) { - $data = $matches[2]; - $css = $matches[1].parse_css_atpage_rule(trim($data), $css_ruleset); - }; - return $css; -} - -function parse_css_atpage_rule($css, &$css_ruleset) { - /** - * Extract selector and left bracket - */ - if (!preg_match('/^(.*?){(.*)$/is', $css, $matches)) { - error_log('No selector and/or open bracket found in @page rule'); - return $css; - }; - $raw_selector = trim($matches[1]); - $css = trim($matches[2]); - - $selector =& parse_css_atpage_selector($raw_selector); - $at_rule =& new CSSAtRulePage($selector, $css_ruleset); - - /** - * The body of @page rule may contain declaraction (detected by ';'), - * margin box at-rule (detected by @top and similar tokens) or } indicating termination of - * @page rule - */ - while (preg_match('/^(.*?)(;|@|})(.*)$/is', $css, $matches)) { - $raw_prefix = trim($matches[1]); - $raw_token = trim($matches[2]); - $raw_suffix = trim($matches[3]); - - switch ($raw_token) { - case ';': - /** - * Normal declaration (text contained in $raw_prefix - */ - parse_css_atpage_declaration($raw_prefix, $at_rule, $css_ruleset); - $css = $raw_suffix; - break; - - case '@': - /** - * Margin box at-rule - */ - $css = parse_css_atpage_margin_box($raw_suffix, $at_rule, $css_ruleset); - break; - - case '}': - /** - * End-of-rule - */ - $css_ruleset->add_at_rule_page($at_rule); - return $raw_suffix; - }; - }; - - /** - * Note that we should normally exit via '}' token handler above - */ - error_log('No close bracket found in @page rule'); - $css_ruleset->add_at_rule_page($at_rule); - return $css; -} - -/** - * Parses CSS at-page rule selector; syntax of this selector can be seen in - * CSS 3 specification at http://www.w3.org/TR/css3-page/#syntax-page-selector - * - * - */ -function &parse_css_atpage_selector($selector) { - switch ($selector) { - case '': - $selector =& new CSSPageSelectorAll(); - return $selector; - case ':first': - $selector =& new CSSPageSelectorFirst(); - return $selector; - case ':left': - $selector =& new CSSPageSelectorLeft(); - return $selector; - case ':right': - $selector =& new CSSPageSelectorRight(); - return $selector; - default: - if (CSS::is_identifier($selector)) { - $selector =& new CSSPageSelectorNamed($selector); - return $selector; - } else { - error_log(sprintf('Unknown page selector in @page rule: \'%s\'', $selector)); - $selector =& new CSSPageSelectorAll(); - return $selector; - }; - }; -} - -function parse_css_atpage_margin_box($css, &$at_rule, &$pipeline) { - if (!preg_match("/^([-\w]*)\s*{(.*)/is",$css,$matches)) { - error_log("Invalid margin box at-rule format"); - return $css; - }; - - $raw_margin_box_selector = trim($matches[1]); - $css = trim($matches[2]); - - $margin_box_selector = parse_css_atpage_margin_box_selector($raw_margin_box_selector); - $at_rule_margin_box = new CSSAtRuleMarginBox($margin_box_selector, $pipeline); - - /** - * The body of margin box at-rule may contain declaraction (detected - * by ';'), or } indicating termination of at-rule - */ - while (preg_match('/^(.*?)(;|})(.*)$/is', $css, $matches)) { - $raw_prefix = trim($matches[1]); - $raw_token = trim($matches[2]); - $raw_suffix = trim($matches[3]); - - switch ($raw_token) { - case ';': - /** - * Normal declaration (text contained in $raw_prefix - */ - parse_css_atpage_margin_box_declaration($raw_prefix, $at_rule_margin_box, $pipeline); - $css = $raw_suffix; - break; - - case '}': - /** - * End-of-rule - */ - $at_rule->addAtRuleMarginBox($at_rule_margin_box); - return $raw_suffix; - }; - }; - - /** - * Note that we should normally exit via '}' token handler above - */ - error_log('No close bracket found in margin box at-rule'); - $at_rule->addAtRuleMarginBox($at_rule_margin_box); - return $css; -} - -function parse_css_atpage_margin_box_selector($css) { - switch ($css) { - case 'top': - return CSS_MARGIN_BOX_SELECTOR_TOP; - case 'top-left-corner': - return CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER; - case 'top-left': - return CSS_MARGIN_BOX_SELECTOR_TOP_LEFT; - case 'top-center': - return CSS_MARGIN_BOX_SELECTOR_TOP_CENTER; - case 'top-right': - return CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT; - case 'top-right-corner': - return CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER; - case 'bottom': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM; - case 'bottom-left-corner': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER; - case 'bottom-left': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT; - case 'bottom-center': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER; - case 'bottom-right': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT; - case 'bottom-right-corner': - return CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER; - case 'left-top': - return CSS_MARGIN_BOX_SELECTOR_LEFT_TOP; - case 'left-middle': - return CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE; - case 'left-bottom': - return CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM; - case 'right-top': - return CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP; - case 'right-middle': - return CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE; - case 'right-bottom': - return CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM; - default: - error_log(sprintf('Unrecognized margin box selector: \'%s\'', $css)); - return CSS_MARGIN_BOX_SELECTOR_TOP; - } -}; - -function parse_css_atpage_declaration($css, &$at_rule, &$pipeline) { - $parsed =& parse_css_property($css, $pipeline); - - if (!is_null($parsed)) { - $properties = $parsed->getPropertiesSortedByPriority(); - foreach ($properties as $property) { - $at_rule->setCSSProperty($property); - }; - }; -} - -function parse_css_atpage_margin_box_declaration($css, &$at_rule, &$pipeline) { - $parsed =& parse_css_property($css, $pipeline); - - if (!is_null($parsed)) { - $properties = $parsed->getPropertiesSortedByPriority(); - foreach ($properties as $property) { - $at_rule->setCSSProperty($property); - }; - }; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.ruleset.class.php b/thirdparty/html2ps_pdf/css.ruleset.class.php deleted file mode 100644 index e9a45fe0f..000000000 --- a/thirdparty/html2ps_pdf/css.ruleset.class.php +++ /dev/null @@ -1,327 +0,0 @@ -rules = array(); - $this->tag_filtered = array(); - $this->_lastId = 0; - } - - function parse_style_node($root, &$pipeline) { - // Check if this style node have 'media' attribute - // and if we're using this media; - // - // Note that, according to the HTML 4.01 p.14.2.3 - // This attribute specifies the intended destination medium for style information. - // It may be a single media descriptor or a comma-separated list. - // The default value for this attribute is "screen". - // - $media_list = array("screen"); - if ($root->has_attribute("media")) { - // Note that there may be whitespace symbols around commas, so we should not just use 'explode' function - // - $media_list = preg_split("/\s*,\s*/",trim($root->get_attribute("media"))); - }; - - if (!is_allowed_media($media_list)) { - if (defined('DEBUG_MODE')) { - error_log(sprintf('No allowed (%s) media types found in CSS stylesheet media types (%s). Stylesheet ignored.', - join(',', config_get_allowed_media()), - join(',', $media_list))); - }; - return; - }; - - if (!isset($GLOBALS['g_stylesheet_title']) || - $GLOBALS['g_stylesheet_title'] === "") { - $GLOBALS['g_stylesheet_title'] = $root->get_attribute("title"); - }; - - if (!$root->has_attribute("title") || $root->get_attribute("title") === $GLOBALS['g_stylesheet_title']) { - /** - * Check if current node is empty (then, we don't need to parse its contents) - */ - $content = trim($root->get_content()); - if ($content != "") { - $this->parse_css($content, $pipeline); - }; - }; - } - - function scan_styles($root, &$pipeline) { - switch ($root->node_type()) { - case XML_ELEMENT_NODE: - if ($root->tagname() === 'style') { - // Parse nodes - // - $this->parse_style_node($root, $pipeline); - - } elseif ($root->tagname() === 'link') { - // Parse nodes - // - $rel = strtolower($root->get_attribute("rel")); - - $type = strtolower($root->get_attribute("type")); - if ($root->has_attribute("media")) { - $media = explode(",",$root->get_attribute("media")); - } else { - $media = array(); - }; - - if ($rel == "stylesheet" && - ($type == "text/css" || $type == "") && - (count($media) == 0 || is_allowed_media($media))) { - // Attempt to escape URL automaticaly - $url_autofix = new AutofixUrl(); - $src = $url_autofix->apply(trim($root->get_attribute('href'))); - - if ($src) { - $this->css_import($src, $pipeline); - }; - }; - }; - - // Note that we continue processing here! - case XML_DOCUMENT_NODE: - - // Scan all child nodes - $child = $root->first_child(); - while ($child) { - $this->scan_styles($child, $pipeline); - $child = $child->next_sibling(); - }; - break; - }; - } - - function parse_css($css, &$pipeline, $baseindex = 0) { - $allowed_media = implode("|",config_get_allowed_media()); - - // remove the UTF8 byte-order mark from the beginning of the file (several high-order symbols at the beginning) - $pos = 0; - $len = strlen($css); - while (isset($css{$pos}) && ord($css{$pos}) > 127 && $pos < $len) { $pos ++; }; - $css = substr($css, $pos); - - // Process @media rules; - // basic syntax is: - // @media (,)* { } - // - - while (preg_match("/^(.*?)@media([^{]+){(.*)$/s",$css,$matches)) { - $head = $matches[1]; - $media = $matches[2]; - $rest = $matches[3]; - - // Process CSS rules placed before the first @media declaration - they should be applied to - // all media types - // - $this->parse_css_media($head, $pipeline, $baseindex); - - // Extract the media content - if (!preg_match("/^((?:[^{}]*{[^{}]*})*)[^{}]*\s*}(.*)$/s", $rest, $matches)) { - die("CSS media syntax error\n"); - } else { - $content = $matches[1]; - $tail = $matches[2]; - }; - - // Check if this media is to be processed - if (preg_match("/".$allowed_media."/i", $media)) { - $this->parse_css_media($content, $pipeline, $baseindex); - }; - - // Process the rest of CSS file - $css = $tail; - }; - - // The rest of CSS file belogs to common media, process it too - $this->parse_css_media($css, $pipeline, $baseindex); - } - - function css_import($src, &$pipeline) { - // Update the base url; - // all urls will be resolved relatively to the current stylesheet url - $url = $pipeline->guess_url($src); - $data = $pipeline->fetch($url); - - /** - * If referred file could not be fetched return immediately - */ - if (is_null($data)) { return; }; - - $css = $data->get_content(); - if (!empty($css)) { - /** - * Sometimes, external stylesheets contain at the beginning and - * at the end; we should remove these characters, as they may break parsing of - * first and last rules - */ - $css = preg_replace('/^\s*\s*$/', '', $css); - - $this->parse_css($css, $pipeline); - }; - - $pipeline->pop_base_url(); - } - - function parse_css_import($import, &$pipeline) { - if (preg_match("/@import\s+[\"'](.*)[\"'];/",$import, $matches)) { - // @import "" - $this->css_import(trim($matches[1]), $pipeline); - } elseif (preg_match("/@import\s+url\((.*)\);/",$import, $matches)) { - // @import url() - $this->css_import(trim(css_remove_value_quotes($matches[1])), $pipeline); - } elseif (preg_match("/@import\s+(.*);/",$import, $matches)) { - // @import - $this->css_import(trim(css_remove_value_quotes($matches[1])), $pipeline); - }; - } - - function parse_css_media($css, &$pipeline, $baseindex = 0) { - // Remove comments - $css = preg_replace("#/\*.*?\*/#is","",$css); - - // Extract @page rules - $css = parse_css_atpage_rules($css, $pipeline); - - // Extract @import rules - if ($num = preg_match_all("/@import[^;]+;/",$css, $matches, PREG_PATTERN_ORDER)) { - for ($i=0; $i<$num; $i++) { - $this->parse_css_import($matches[0][$i], $pipeline); - } - }; - - // Remove @import rules so they will not break further processing - $css = preg_replace("/@import[^;]+;/","", $css); - - while (preg_match("/([^{}]*){(.*?)}(.*)/is", $css, $matches)) { - // Drop extracted part - $css = $matches[3]; - - // Save extracted part - $raw_selectors = $matches[1]; - $raw_properties = $matches[2]; - - $selectors = parse_css_selectors($raw_selectors); - - $properties = parse_css_properties($raw_properties, $pipeline); - - foreach ($selectors as $selector) { - $this->_lastId ++; - $rule = array($selector, - $properties, - $pipeline->get_base_url(), - $this->_lastId + $baseindex); - $this->add_rule($rule, - $pipeline); - }; - }; - } - - function add_rule(&$rule, &$pipeline) { - $rule_obj = new CSSRule($rule, $pipeline); - $this->rules[] = $rule_obj; - - $tag = $this->detect_applicable_tag($rule_obj->get_selector()); - if (is_null($tag)) { - $tag = "*"; - } - $this->tag_filtered[$tag][] = $rule_obj; - } - - function apply(&$root, &$state, &$pipeline) { - $local_css = array(); - - if (isset($this->tag_filtered[strtolower($root->tagname())])) { - $local_css = $this->tag_filtered[strtolower($root->tagname())]; - }; - - if (isset($this->tag_filtered["*"])) { - $local_css = array_merge($local_css, $this->tag_filtered["*"]); - }; - - $applicable = array(); - - foreach ($local_css as $rule) { - if ($rule->match($root)) { - $applicable[] = $rule; - }; - }; - - usort($applicable, "cmp_rule_objs"); - - foreach ($applicable as $rule) { - switch ($rule->get_pseudoelement()) { - case SELECTOR_PSEUDOELEMENT_BEFORE: - $handler =& CSS::get_handler(CSS_HTML2PS_PSEUDOELEMENTS); - $handler->replace($handler->get($state->getState()) | CSS_HTML2PS_PSEUDOELEMENTS_BEFORE, $state); - break; - case SELECTOR_PSEUDOELEMENT_AFTER: - $handler =& CSS::get_handler(CSS_HTML2PS_PSEUDOELEMENTS); - $handler->replace($handler->get($state->getState()) | CSS_HTML2PS_PSEUDOELEMENTS_AFTER, $state); - break; - default: - $rule->apply($root, $state, $pipeline); - break; - }; - }; - } - - function apply_pseudoelement($element_type, &$root, &$state, &$pipeline) { - $local_css = array(); - - if (isset($this->tag_filtered[strtolower($root->tagname())])) { - $local_css = $this->tag_filtered[strtolower($root->tagname())]; - }; - - if (isset($this->tag_filtered["*"])) { - $local_css = array_merge($local_css, $this->tag_filtered["*"]); - }; - - $applicable = array(); - - for ($i=0; $iget_pseudoelement() == $element_type) { - if ($rule->match($root)) { - $applicable[] =& $rule; - }; - }; - }; - - usort($applicable, "cmp_rule_objs"); - - // Note that filtered rules already have pseudoelement mathing (see condition above) - - foreach ($applicable as $rule) { - $rule->apply($root, $state, $pipeline); - }; - } - - // Check if only tag with a specific name can match this selector - // - function detect_applicable_tag($selector) { - switch (selector_get_type($selector)) { - case SELECTOR_TAG: - return $selector[1]; - case SELECTOR_TAG_CLASS: - return $selector[1]; - case SELECTOR_SEQUENCE: - foreach ($selector[1] as $subselector) { - $tag = $this->detect_applicable_tag($subselector); - if ($tag) { return $tag; }; - }; - return null; - default: - return null; - } - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.selectors.inc.php b/thirdparty/html2ps_pdf/css.selectors.inc.php deleted file mode 100644 index 60adfdfb5..000000000 --- a/thirdparty/html2ps_pdf/css.selectors.inc.php +++ /dev/null @@ -1,224 +0,0 @@ - TAG2 -define('SELECTOR_LANGUAGE', 11); // SELECTOR:lang(..) - -// Used for handling the body 'link' atttribute; this selector have no specificity at all -// we need to introduce this selector type as some ill-brained designers use constructs like: -// -// -// -// test -// -// in this case the CSS rule should have the higher priority; nevertheless, using the default selector rules -// we'd get find that 'link'-generated CSS rule is more important -// -define('SELECTOR_PSEUDOCLASS_LINK_LOW_PRIORITY', 12); - -// Used for hanling the following case: -// -// -// -// -// -// -define('SELECTOR_PARENT_LOW_PRIORITY', 13); - -define('SELECTOR_PSEUDOELEMENT_BEFORE', 14); -define('SELECTOR_PSEUDOELEMENT_AFTER', 15); - -// Note on SELECTOR_ANY: -// normally we should not process rules like -// * html as they're IE specific and (according to CSS standard) -// should be never matched -define('SELECTOR_ANY', 16); - -define('SELECTOR_ATTR_VALUE_WORD',17); - -// CSS 2.1: -// In CSS2, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [A-Za-z0-9] and -// ISO 10646 characters 161 and higher, plus the hyphen (-); they cannot start with a hyphen or a digit. -// They can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, -// the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F". -// -// Any node can be marked by several space separated class names -// -function node_have_class($root, $target_class) { - if (!$root->has_attribute('class')) { return false; }; - - $classes = preg_split("/\s+/", strtolower($root->get_attribute('class'))); - - foreach ($classes as $class) { - if ($class == $target_class) { - return true; - }; - }; - - return false; -}; - -function match_selector($selector, $root) { - switch ($selector[0]) { - case SELECTOR_TAG: - if ($selector[1] == strtolower($root->tagname())) { return true; }; - break; - case SELECTOR_ID: - if ($selector[1] == strtolower($root->get_attribute('id'))) { return true; }; - break; - case SELECTOR_CLASS: - if (node_have_class($root, $selector[1])) { return true; } - if ($selector[1] == strtolower($root->get_attribute('class'))) { return true; }; - break; - case SELECTOR_TAG_CLASS: - if ((node_have_class($root, $selector[2])) && - ($selector[1] == strtolower($root->tagname()))) { return true; }; - break; - case SELECTOR_SEQUENCE: - foreach ($selector[1] as $subselector) { - if (!match_selector($subselector, $root)) { return false; }; - }; - return true; - case SELECTOR_PARENT: - case SELECTOR_PARENT_LOW_PRIORITY: - $node = $root->parent(); - - while ($node && $node->node_type() == XML_ELEMENT_NODE) { - if (match_selector($selector[1], $node)) { return true; }; - $node = $node->parent(); - }; - return false; - case SELECTOR_DIRECT_PARENT: - $node = $root->parent(); - if ($node && $node->node_type() == XML_ELEMENT_NODE) { - if (match_selector($selector[1], $node)) { return true; }; - }; - return false; - case SELECTOR_ATTR: - $attr_name = $selector[1]; - return $root->has_attribute($attr_name); - case SELECTOR_ATTR_VALUE: - // Note that CSS 2.1 standard does not says strictly if attribute case - // is significiant: - // """ - // Attribute values must be identifiers or strings. The case-sensitivity of attribute names and - // values in selectors depends on the document language. - // """ - // As we've met several problems with pages having INPUT type attributes in upper (or ewen worse - mixed!) - // case, the following decision have been accepted: attribute values should not be case-sensitive - - $attr_name = $selector[1]; - $attr_value = $selector[2]; - - if (!$root->has_attribute($attr_name)) { - return false; - }; - return strtolower($root->get_attribute($attr_name)) == strtolower($attr_value); - case SELECTOR_ATTR_VALUE_WORD: - // Note that CSS 2.1 standard does not says strictly if attribute case - // is significiant: - // """ - // Attribute values must be identifiers or strings. The case-sensitivity of attribute names and - // values in selectors depends on the document language. - // """ - // As we've met several problems with pages having INPUT type attributes in upper (or ewen worse - mixed!) - // case, the following decision have been accepted: attribute values should not be case-sensitive - - $attr_name = $selector[1]; - $attr_value = $selector[2]; - - if (!$root->has_attribute($attr_name)) { - return false; - }; - - $words = preg_split("/\s+/",$root->get_attribute($attr_name)); - foreach ($words as $word) { - if (strtolower($word) == strtolower($attr_value)) { return true; }; - }; - return false; - case SELECTOR_PSEUDOCLASS_LINK: - return $root->tagname() == "a" && $root->has_attribute('href'); - case SELECTOR_PSEUDOCLASS_LINK_LOW_PRIORITY: - return $root->tagname() == "a" && $root->has_attribute('href'); - - // Note that :before and :after always match - case SELECTOR_PSEUDOELEMENT_BEFORE: - return true; - case SELECTOR_PSEUDOELEMENT_AFTER: - return true; - - case SELECTOR_LANGUAGE: - // FIXME: determine the document language - return true; - - case SELECTOR_ANY: - return true; - }; - return false; -} - -function css_selector_specificity($selector) { - switch ($selector[0]) { - case SELECTOR_ID: - return array(1,0,0); - case SELECTOR_CLASS: - return array(0,1,0); - case SELECTOR_TAG: - return array(0,0,1); - case SELECTOR_TAG_CLASS: - return array(0,1,1); - case SELECTOR_SEQUENCE: - $specificity = array(0,0,0); - foreach ($selector[1] as $subselector) { - $s = css_selector_specificity($subselector); - $specificity = array($specificity[0]+$s[0], - $specificity[1]+$s[1], - $specificity[2]+$s[2]); - } - return $specificity; - case SELECTOR_PARENT: - return css_selector_specificity($selector[1]); - case SELECTOR_PARENT_LOW_PRIORITY: - return array(-1,-1,-1); - case SELECTOR_DIRECT_PARENT: - return css_selector_specificity($selector[1]); - case SELECTOR_ATTR: - return array(0,1,0); - case SELECTOR_ATTR_VALUE: - return array(0,1,0); - case SELECTOR_ATTR_VALUE_WORD: - return array(0,1,0); - case SELECTOR_PSEUDOCLASS_LINK: - return array(0,1,0); - case SELECTOR_PSEUDOCLASS_LINK_LOW_PRIORITY: - return array(0,0,0); - case SELECTOR_PSEUDOELEMENT_BEFORE: - return array(0,0,0); - case SELECTOR_PSEUDOELEMENT_AFTER: - return array(0,0,0); - case SELECTOR_LANGUAGE: - return array(0,1,0); - case SELECTOR_ANY: - return array(0,1,0); - default: - die("Bad selector while calculating selector specificity:".$selector[0]); - } -} - -// Just an abstraction wrapper for determining the selector type -// from the selector-describing structure -// -function selector_get_type($selector) { - return $selector[0]; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.state.class.php b/thirdparty/html2ps_pdf/css.state.class.php deleted file mode 100644 index dbf59fd2a..000000000 --- a/thirdparty/html2ps_pdf/css.state.class.php +++ /dev/null @@ -1,184 +0,0 @@ -_handlerSet =& $handlerSet; - $this->_state = array($this->_getDefaultState()); - $this->_stateDefaultFlags = array($this->_getDefaultStateFlags()); - - /** - * Note that default state should contain font size in absolute units (e.g. 11pt), - * so we may pass any value as a base font size parameter of 'toPt' method call - */ - $this->_baseFontSize = array($this->_state[0][CSS_FONT]->size->toPt(0)); - } - - function _getDefaultState() { - return $this->_handlerSet->_getDefaultState(); - } - - function _getDefaultStateFlags() { - return $this->_handlerSet->_getDefaultStateFlags(); - } - - function replaceParsed($property_data, $property_list) { - foreach ($property_list as $property) { - $this->setProperty($property, $property_data->getCSSProperty($property)); - }; - } - - function popState() { - array_shift($this->_state); - array_shift($this->_stateDefaultFlags); - array_shift($this->_baseFontSize); - } - - function getStoredState(&$base_font_size, &$state, &$state_default_flags) { - $base_font_size = array_shift($this->_baseFontSize); - $state = array_shift($this->_state); - $state_default_flags = array_shift($this->_stateDefaultFlags); - } - - function pushStoredState($base_font_size, $state, $state_default_flags) { - array_unshift($this->_baseFontSize, $base_font_size); - array_unshift($this->_state, $state); - array_unshift($this->_stateDefaultFlags, $state_default_flags); - } - - function pushState() { - $base_size = $this->getBaseFontSize(); - /** - * Only computed font-size values are inherited; this means that - * base font size value should not be recalculated if font-size was not set explicitly - */ - if ($this->getPropertyDefaultFlag(CSS_FONT_SIZE)) { - array_unshift($this->_baseFontSize, $base_size); - } else { - $size = $this->getInheritedProperty(CSS_FONT_SIZE); - array_unshift($this->_baseFontSize, $size->toPt($base_size)); - }; - - array_unshift($this->_state, $this->getState()); - array_unshift($this->_stateDefaultFlags, $this->_getDefaultStateFlags()); - } - - function pushDefaultState() { - $this->pushState(); - $this->_state[0] = $this->_getDefaultState(); - - $handlers = $this->_handlerSet->getInheritableHandlers(); - - foreach ($handlers as $property => $handler) { - $handler->inherit($this->_state[1], $this->_state[0]); - }; - } - - function pushDefaultTextState() { - $state = $this->getState(); - - $this->pushState(); - $this->_state[0] = $this->_getDefaultState(); - $new_state =& $this->getState(); - - $handlers = $this->_handlerSet->getInheritableTextHandlers(); - foreach ($handlers as $property => $handler) { - $handler->inherit_text($state, $new_state); - } - } - - function &getStateDefaultFlags() { - return $this->_stateDefaultFlags[0]; - } - - function &getState() { - return $this->_state[0]; - } - - function &getInheritedProperty($code) { - $handler =& CSS::get_handler($code); - - $size = count($this->_state); - for ($i=0; $i<$size; $i++) { - $value =& $handler->get($this->_state[$i]); - if ($value != CSS_PROPERTY_INHERIT) { - return $value; - }; - - // Prevent taking the font-size property; as, according to CSS - // standard, 'inherit' should mean calculated value, we use - // '1em' instead, forcing the script to take parent calculated - // value later - if ($code == CSS_FONT_SIZE) { - $value =& Value::fromData(1, UNIT_EM); - return $value; - }; - }; - - $null = null; - return $null; - } - - function getPropertyOnLevel($code, $level) { - return $this->_state[$level][$code]; - } - - /** - * Optimization notice: this function is called very often, - * so even a slight overhead for the 'getState() and CSS::get_handler - * accumulates in a significiant processing delay. - * - * getState was replaced with direct $this->_state[0] access, - * get_handler call results are cached in static var - */ - function &getProperty($code) { - static $cache = array(); - if (!isset($cache[$code])) { - $cache[$code] =& CSS::get_handler($code); - }; - $value =& $cache[$code]->get($this->_state[0]); - return $value; - } - - function getPropertyDefaultFlag($code) { - return $this->_stateDefaultFlags[0][$code]; - } - - function setPropertyOnLevel($code, $level, $value) { - $this->_state[$level][$code] = $value; - } - - function setPropertyDefault($code, $value) { - $state =& $this->getState(); - $state[$code] = $value; - } - - /** - * see getProperty for optimization description - */ - function setProperty($code, $value) { - $this->setPropertyDefault($code, $value); - - static $cache = array(); - if (!isset($cache[$code])) { - $cache[$code] =& CSS::get_handler($code); - }; - - $cache[$code]->clearDefaultFlags($this); - } - - function setPropertyDefaultFlag($code, $value) { - $state_flags =& $this->getStateDefaultFlags(); - $state_flags[$code] = $value; - } - - function getBaseFontSize() { - return $this->_baseFontSize[0]; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.table-layout.inc.php b/thirdparty/html2ps_pdf/css.table-layout.inc.php deleted file mode 100644 index c13478ecd..000000000 --- a/thirdparty/html2ps_pdf/css.table-layout.inc.php +++ /dev/null @@ -1,30 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('auto' => TABLE_LAYOUT_AUTO, - 'fixed' => TABLE_LAYOUT_FIXED)); - } - - function default_value() { - return TABLE_LAYOUT_AUTO; - } - - function getPropertyCode() { - return CSS_TABLE_LAYOUT; - } - - function getPropertyName() { - return 'table-layout'; - } -} - -CSS::register_css_property(new CSSTableLayout()); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.text-align.inc.php b/thirdparty/html2ps_pdf/css.text-align.inc.php deleted file mode 100644 index 4a9aee78a..000000000 --- a/thirdparty/html2ps_pdf/css.text-align.inc.php +++ /dev/null @@ -1,49 +0,0 @@ -CSSPropertyStringSet(true, - true, - array('inherit' => CSS_PROPERTY_INHERIT, - 'left' => TA_LEFT, - 'right' => TA_RIGHT, - 'center' => TA_CENTER, - 'middle' => TA_CENTER, - 'justify' => TA_JUSTIFY)); - } - - function default_value() { return TA_LEFT; } - - function value2pdf($value) { - switch ($value) { - case TA_LEFT: - return "ta_left"; - case TA_RIGHT: - return "ta_right"; - case TA_CENTER: - return "ta_center"; - case TA_JUSTIFY: - return "ta_justify"; - default: - return "ta_left"; - } - } - - function getPropertyCode() { - return CSS_TEXT_ALIGN; - } - - function getPropertyName() { - return 'text-align'; - } -} - -CSS::register_css_property(new CSSTextAlign); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.text-decoration.inc.php b/thirdparty/html2ps_pdf/css.text-decoration.inc.php deleted file mode 100644 index 6235f9439..000000000 --- a/thirdparty/html2ps_pdf/css.text-decoration.inc.php +++ /dev/null @@ -1,52 +0,0 @@ -CSSPropertyHandler(true, true); - } - - function default_value() { - return array("U"=>false, - "O"=>false, - "T"=>false); - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - $parsed = $this->default_value(); - if (strstr($value,"overline") !== false) { $parsed['O'] = true; }; - if (strstr($value,"underline") !== false) { $parsed['U'] = true; }; - if (strstr($value,"line-through") !== false) { $parsed['T'] = true; }; - return $parsed; - } - - function getPropertyCode() { - return CSS_TEXT_DECORATION; - } - - function getPropertyName() { - return 'text-decoration'; - } -} - -CSS::register_css_property(new CSSTextDecoration); - -?> diff --git a/thirdparty/html2ps_pdf/css.text-indent.inc.php b/thirdparty/html2ps_pdf/css.text-indent.inc.php deleted file mode 100644 index 7f16cd26b..000000000 --- a/thirdparty/html2ps_pdf/css.text-indent.inc.php +++ /dev/null @@ -1,38 +0,0 @@ -CSSPropertyHandler(true, true); - } - - function default_value() { - return new TextIndentValuePDF(array(0,false)); - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - if (is_percentage($value)) { - return new TextIndentValuePDF(array((int)$value, true)); - } else { - return new TextIndentValuePDF(array($value, false)); - }; - } - - function getPropertyCode() { - return CSS_TEXT_INDENT; - } - - function getPropertyName() { - return 'text-indent'; - } -} - -CSS::register_css_property(new CSSTextIndent()); - -?> diff --git a/thirdparty/html2ps_pdf/css.text-transform.inc.php b/thirdparty/html2ps_pdf/css.text-transform.inc.php deleted file mode 100644 index 2eec2fad8..000000000 --- a/thirdparty/html2ps_pdf/css.text-transform.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSPropertyStringSet(false, - true, - array('inherit' => CSS_PROPERTY_INHERIT, - 'none' => CSS_TEXT_TRANSFORM_NONE, - 'capitalize' => CSS_TEXT_TRANSFORM_CAPITALIZE, - 'uppercase' => CSS_TEXT_TRANSFORM_UPPERCASE, - 'lowercase' => CSS_TEXT_TRANSFORM_LOWERCASE)); - } - - function default_value() { - return CSS_TEXT_TRANSFORM_NONE; - } - - function getPropertyCode() { - return CSS_TEXT_TRANSFORM; - } - - function getPropertyName() { - return 'text-transform'; - } -} - -CSS::register_css_property(new CSSTextTransform); - -?> diff --git a/thirdparty/html2ps_pdf/css.top.inc.php b/thirdparty/html2ps_pdf/css.top.inc.php deleted file mode 100644 index 2da4b170c..000000000 --- a/thirdparty/html2ps_pdf/css.top.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -CSSPropertyHandler(false, false); - $this->_autoValue = ValueTop::fromString('auto'); - } - - function _getAutoValue() { - return $this->_autoValue->copy(); - } - - function default_value() { - return $this->_getAutoValue(); - } - - function getPropertyCode() { - return CSS_TOP; - } - - function getPropertyName() { - return 'top'; - } - - function parse($value) { - return ValueTop::fromString($value); - } -} - -CSS::register_css_property(new CSSTop); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.utils.inc.php b/thirdparty/html2ps_pdf/css.utils.inc.php deleted file mode 100644 index b377d4e4f..000000000 --- a/thirdparty/html2ps_pdf/css.utils.inc.php +++ /dev/null @@ -1,139 +0,0 @@ -get($state->getState()) === "none") { - return; - }; - - switch ($default_display) { - case 'table-cell': - // TD will always have 'display: table-cell' - $handler->css('table-cell', $pipeline); - break; - - case '-button': - // INPUT buttons will always have 'display: -button' (in latter case if display = 'block', we'll use a wrapper box) - $css_state =& $pipeline->getCurrentCSSState(); - if ($handler->get($css_state->getState()) === 'block') { - $need_block_wrapper = true; - }; - $handler->css('-button', $pipeline); - break; - }; -} - -function is_percentage($value) { - return $value{strlen($value)-1} == "%"; -} - -/** - * Handle escape sequences in CSS string values - * - * 4.3.7 Strings - * - * Strings can either be written with double quotes or with single - * quotes. Double quotes cannot occur inside double quotes, unless - * escaped (e.g., as '\"' or as '\22'). Analogously for single quotes - * (e.g., "\'" or "\27")... - * - * A string cannot directly contain a newline. To include a newline in - * a string, use an escape representing the line feed character in - * Unicode (U+000A), such as "\A" or "\00000a"... - * - * It is possible to break strings over several lines, for esthetic or - * other reasons, but in such a case the newline itself has to be - * escaped with a backslash (\). - * - * 4.1.3 Characters and case - * - * In CSS 2.1, a backslash (\) character indicates three types of - * character escapes. - * - * First, inside a string, a backslash followed by a newline is - * ignored (i.e., the string is deemed not to contain either the - * backslash or the newline). - * - * Second, it cancels the meaning of special CSS characters. Any - * character (except a hexadecimal digit) can be escaped with a - * backslash to remove its special meaning. For example, "\"" is a - * string consisting of one double quote. Style sheet preprocessors - * must not remove these backslashes from a style sheet since that - * would change the style sheet's meaning. - * - * Third, backslash escapes allow authors to refer to characters they - * can't easily put in a document. In this case, the backslash is - * followed by at most six hexadecimal digits (0..9A..F), which stand - * for the ISO 10646 ([ISO10646]) character with that number, which - * must not be zero. If a character in the range [0-9a-fA-F] follows - * the hexadecimal number, the end of the number needs to be made - * clear. There are two ways to do that: - * - * 1. with a space (or other whitespace character): "\26 B" ("&B"). In - * this case, user agents should treat a "CR/LF" pair - * (U+000D/U+000A) as a single whitespace character. - * 2. by providing exactly 6 hexadecimal digits: "\000026B" ("&B") - * - * In fact, these two methods may be combined. Only one whitespace - * character is ignored after a hexadecimal escape. Note that this - * means that a "real" space after the escape sequence must itself - * either be escaped or doubled. - */ -function css_process_escapes($value) { - $value = preg_replace_callback('/\\\\([\da-f]{1,6}) /i', - 'css_process_escapes_callback', - $value); - - $value = preg_replace_callback('/\\\\([\da-f]{6})/i', - 'css_process_escapes_callback', - $value); - - return $value; -} - -function css_process_escapes_callback($matches) { - return hex_to_utf8($matches[1]); -} - -function css_remove_value_quotes($value) { - if (strlen($value) == 0) { return $value; }; - - if ($value{0} === "'" || $value{0} === "\"") { - $value = substr($value, 1, strlen($value)-2); - }; - return $value; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.vertical-align.inc.php b/thirdparty/html2ps_pdf/css.vertical-align.inc.php deleted file mode 100644 index cc857cf7a..000000000 --- a/thirdparty/html2ps_pdf/css.vertical-align.inc.php +++ /dev/null @@ -1,171 +0,0 @@ -get_real_full_height()) / 2); - - $old_top = $cell->get_top(); - $cell->offset(0, -$delta); - $cell->put_top($old_top); - } -} - -class VerticalAlignBottom { - function apply_cell(&$cell, $row_height, $row_baseline) { - $delta = ($row_height - $cell->get_real_full_height()); - - $old_top = $cell->get_top(); - $cell->offset(0, -$delta); - $cell->put_top($old_top); - } -} - -class VerticalAlignBaseline { - function apply_cell(&$cell, $row_height, $row_baseline) { - $delta = ($row_baseline - $cell->get_cell_baseline()); - - $old_top = $cell->get_top(); - $cell->offset(0, -$delta); - $cell->put_top($old_top); - } -} - -class VerticalAlignTextTop { - function apply_cell(&$cell, $row_height, $row_baseline) { - return; // Do nothing - } -} - -class VerticalAlignTextBottom { - function apply_cell(&$cell, $row_height, $row_baseline) { - $delta = ($row_baseline - $cell->get_cell_baseline()); - - $old_top = $cell->get_top(); - $cell->offset(0, -$delta); - $cell->put_top($old_top); - } -} - -class CSSVerticalAlign extends CSSPropertyHandler { - function CSSVerticalAlign() { - // Note that in general, parameters 'true' and 'false' are non meaningful in out case, - // as we anyway override 'inherit' and 'inherit_text' in this class. - $this->CSSPropertyHandler(true, true); - } - - function inherit($old_state, &$new_state) { - // Determine parent 'display' value - $parent_display = $old_state[CSS_DISPLAY]; - - // Inherit vertical-align from table-rows - if ($parent_display === "table-row") { - $this->replace_array($this->get($old_state), - $new_state); - return; - } - - if (is_inline_element($parent_display)) { - $this->replace_array($this->get($old_state), $new_state); - return; - }; - - $this->replace_array($this->default_value(), $new_state); - return; - } - - function inherit_text($old_state, &$new_state) { - // Determine parent 'display' value - $parent_display = $old_state[CSS_DISPLAY]; - - $this->replace_array(is_inline_element($parent_display) ? $this->get($old_state) : $this->default_value(), - $new_state); - } - - function default_value() { return VA_BASELINE; } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - // Convert value to lower case, as html allows values - // in both cases to be entered - $value = strtolower($value); - - if ($value === 'baseline') { return VA_BASELINE; }; - if ($value === 'sub') { return VA_SUB; }; - if ($value === 'super') { return VA_SUPER; }; - if ($value === 'top') { return VA_TOP; }; - if ($value === 'middle') { return VA_MIDDLE; }; - - // As some brainless designers sometimes use 'center' instead of 'middle', - // we'll add support for it - if ($value === 'center') { return VA_MIDDLE; } - - if ($value === 'bottom') { return VA_BOTTOM; }; - if ($value === 'text-top') { return VA_TEXT_TOP; }; - if ($value === 'text-bottom') { return VA_TEXT_BOTTOM; }; - return $this->default_value(); - } - - function value2pdf($value) { - if ($value === VA_SUPER) { return new VerticalAlignSuper; } - if ($value === VA_SUB) { return new VerticalAlignSub; } - if ($value === VA_TOP) { return new VerticalAlignTop; } - if ($value === VA_MIDDLE) { return new VerticalAlignMiddle; } - if ($value === VA_BOTTOM) { return new VerticalAlignBottom; } - if ($value === VA_BASELINE) { return new VerticalAlignBaseline; } - if ($value === VA_TEXT_TOP) { return new VerticalAlignTextTop; } - if ($value === VA_TEXT_BOTTOM) { return new VerticalAlignTextBottom; } - return new VerticalAlignBaseline; - } - - function applicable($css_state) { - $handler =& CSS::get_handler(CSS_DISPLAY); - $display = $handler->get($css_state->getState()); - return - $display === 'table-cell' || - $display === 'table-row' || - is_inline_element($display); - } - - function getPropertyCode() { - return CSS_VERTICAL_ALIGN; - } - - function getPropertyName() { - return 'vertical-align'; - } -} - -CSS::register_css_property(new CSSVerticalAlign); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.visibility.inc.php b/thirdparty/html2ps_pdf/css.visibility.inc.php deleted file mode 100644 index 56f7904b0..000000000 --- a/thirdparty/html2ps_pdf/css.visibility.inc.php +++ /dev/null @@ -1,31 +0,0 @@ -CSSPropertyStringSet(false, - false, - array('inherit' => CSS_PROPERTY_INHERIT, - 'visible' => VISIBILITY_VISIBLE, - 'hidden' => VISIBILITY_HIDDEN, - 'collapse' => VISIBILITY_COLLAPSE)); - } - - function default_value() { return VISIBILITY_VISIBLE; } - - function getPropertyCode() { - return CSS_VISIBILITY; - } - - function getPropertyName() { - return 'visibility'; - } -} - -CSS::register_css_property(new CSSVisibility); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.white-space.inc.php b/thirdparty/html2ps_pdf/css.white-space.inc.php deleted file mode 100644 index 0d70aeb77..000000000 --- a/thirdparty/html2ps_pdf/css.white-space.inc.php +++ /dev/null @@ -1,36 +0,0 @@ -CSSPropertyStringSet(true, - true, - array('normal' => WHITESPACE_NORMAL, - 'pre' => WHITESPACE_PRE, - 'pre-wrap' => WHITESPACE_PRE_WRAP, - 'nowrap' => WHITESPACE_NOWRAP, - 'pre-line' => WHITESPACE_PRE_LINE)); - } - - function default_value() { - return WHITESPACE_NORMAL; - } - - function getPropertyCode() { - return CSS_WHITE_SPACE; - } - - function getPropertyName() { - return 'white-space'; - } -} - -CSS::register_css_property(new CSSWhiteSpace); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.widows.inc.php b/thirdparty/html2ps_pdf/css.widows.inc.php deleted file mode 100644 index cebc89277..000000000 --- a/thirdparty/html2ps_pdf/css.widows.inc.php +++ /dev/null @@ -1,25 +0,0 @@ -CSSPropertyHandler(true, false); - } - - function default_value() { return 2; } - - function parse($value) { - return (int)$value; - } - - function getPropertyCode() { - return CSS_WIDOWS; - } - - function getPropertyName() { - return 'widows'; - } -} - -CSS::register_css_property(new CSSWidows); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.width.inc.php b/thirdparty/html2ps_pdf/css.width.inc.php deleted file mode 100644 index 548770446..000000000 --- a/thirdparty/html2ps_pdf/css.width.inc.php +++ /dev/null @@ -1,80 +0,0 @@ -CSSPropertyHandler(false, false); - } - - function getPropertyCode() { - return CSS_HTML2PS_COMPOSITE_WIDTH; - } - - function getPropertyName() { - return '-html2ps-composite-width'; - } - - function default_value() { - return new WCNone(); - } -} - -class CSSWidth extends CSSSubProperty { - function CSSWidth($owner) { - $this->CSSSubProperty($owner); - } - - function setValue(&$owner_value, &$value) { - $min = $owner_value->_min_width; - $owner_value = $value->copy(); - $owner_value->_min_width = $min; - } - - function &getValue(&$owner_value) { - return $owner_value; - } - - function default_value() { - return new WCNone; - } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - // Check if user specified empty value - if ($value === "") { return new WCNone; }; - - // Check if this value is 'auto' - default value of this property - if ($value === 'auto') { - return new WCNone; - }; - - if (substr($value,strlen($value)-1,1) == "%") { - // Percentage - return new WCFraction(((float)$value)/100); - } else { - // Constant - return new WCConstant(trim($value)); - } - } - - function getPropertyCode() { - return CSS_WIDTH; - } - - function getPropertyName() { - return 'width'; - } -} - -$width = new CSSCompositeWidth; -CSS::register_css_property($width); -CSS::register_css_property(new CSSWidth($width)); -CSS::register_css_property(new CSSMinWidth($width, '_min_width')); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/css.word-spacing.inc.php b/thirdparty/html2ps_pdf/css.word-spacing.inc.php deleted file mode 100644 index ea67ae8d0..000000000 --- a/thirdparty/html2ps_pdf/css.word-spacing.inc.php +++ /dev/null @@ -1,42 +0,0 @@ -CSSPropertyHandler(false, true); - - $this->_default_value = Value::fromString("0"); - } - - function default_value() { - return $this->_default_value; - } - - function parse($value) { - $value = trim($value); - - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - if ($value === 'normal') { - return $this->_default_value; - }; - - return Value::fromString($value); - } - - function getPropertyCode() { - return CSS_WORD_SPACING; - } - - function getPropertyName() { - return 'word-spacing'; - } -} - -CSS::register_css_property(new CSSWordSpacing); - -?> diff --git a/thirdparty/html2ps_pdf/css.z-index.inc.php b/thirdparty/html2ps_pdf/css.z-index.inc.php deleted file mode 100644 index 4d1c01aa8..000000000 --- a/thirdparty/html2ps_pdf/css.z-index.inc.php +++ /dev/null @@ -1,29 +0,0 @@ -CSSPropertyHandler(false, false); - } - - function default_value() { return 0; } - - function parse($value) { - if ($value === 'inherit') { - return CSS_PROPERTY_INHERIT; - }; - - return (int)$value; - } - - function getPropertyCode() { - return CSS_Z_INDEX; - } - - function getPropertyName() { - return 'z-index'; - } -} - -CSS::register_css_property(new CSSZIndex); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/default.css b/thirdparty/html2ps_pdf/default.css deleted file mode 100644 index 0f8855ebd..000000000 --- a/thirdparty/html2ps_pdf/default.css +++ /dev/null @@ -1,528 +0,0 @@ -/** - * Simple tags - */ - -address { - display: block; - font-style: italic; -} - -applet { - display: none; -} - -area { - display: none; -} - -b { - font-weight: bold; -} - -big { - font-size: 1.2em; -} - -blockquote { - display: block; - margin: 1em 40px; -} - -body { - display: -body; - margin: 8px; - line-height: 1.1; - border: none; -} - -br { - display: -break; -} - -button { - display: -button; - text-align: center; - border: outset 2px; - background-color: #eeeeee; -} - -center { - display: block; - text-align: center; - -html2ps-align: center; -} - -cite { - font-style: italic; -} - -code { - font-family: monospace; -} - -col { - display: none; -} - -colgroup { - display: none; -} - -dd { - display: block; - padding-left: 40px; -} - -dfn { - font-style: italic; -} - -div { - display: block; -} - -dir { - margin-left: 1em; -} - -dl { - display: block; - margin: 1em 0; -} - -dt { - display: block; -} - -em { - font-style: italic; -} - -embed { - display: block; -} - -fieldset { - display: block; - border: solid black 1px; - margin-left: 2px; - margin-right: 2px; - padding: 0.25em 0.625em 0.75em; -} - -form { - display: -form; -} - -frame { - display: -frame; - position: absolute; - border: solid black 2px; - overflow: hidden; -} - -frameset { - display: -frameset; -} - -h1 { - display: block; - font-size: 2em; - font-weight: bold; - margin: .67em 0; -} - -h2 { - display: block; - font-size: 1.5em; - font-weight: bold; - margin: .83em 0; -} - -h3 { - display: block; - font-size: 1.17em; - font-weight: bold; - margin: 1em 0; -} - -h4 { - display: block; - font-weight: bold; - margin: 1.33em 0; -} - -h5 { - display: block; - font-size: 0.83em; - font-weight: bold; - margin: 1.67em 0; -} - -h6 { - display: block; - font-size: 0.67em; - font-weight: bold; - margin: 2.33em 0; -} - -head { - display: none; -} - -hr { - display: block; - margin: 0.5em auto 0.5em auto; - height: 1px; - border: 0.1pt solid black; -} - -/** - * We use this non-standard display value to avoid generating box for HTML tag; - * display: none and visibility: hidden are not the alternatives, as they cause the whole - * content of the page to be hidden - */ -html { - display: -html; -} - -i { - font-style: italic; - display: inline; -} - -iframe { - display: -iframe; - border: solid black 2px; - padding: 3px; - overflow: hidden; - width: 300px; - height: 150px; -} - -img { - display: -image; -} - -input { - display: -text; - padding: 1pt; - margin: 1px; - background-color: white; - border: black inset 2px; - line-height: 1; - overflow: hidden; -} - -input[type=button] { - display: -button; - text-align: center; - border: outset 2px; - background-color: #eeeeee; -} - -input[type=checkbox] { - display: -checkbox; -} - -input[type=hidden] { - display: none; -} - -input[type=image] { - display: -button-image; - border: none 0px; - background-color: transparent; -} - -input[type=password] { - display: -password -} - -input[type=radio] { - display: -radio; -} - -input[type=reset] { - display: -button-reset; - text-align: center; - border: outset 2px; - background-color: #eeeeee; -} - -input[type=submit] { - display: -button-submit; - text-align: center; - border: outset 2px; - background-color: #eeeeee; -} - -input[type=text] { - display: -text; -} - -ins { - text-decoration: underline; -} - -isindex { - display: block; -} - -kbd { - font-family: monospace; -} - -legend { - display: -legend; - background-color: white; -} - -li { - display: list-item; -} - -marquee { - display: block; - overflow: hidden; -} - -menu { - margin-left: 1em; -} - -nobr { - display: inline; - white-space: nowrap; -} - -noframes { - display: none; -} - -object { - display: block; -} - -ol { - display: block; - list-style-type: decimal; - padding-left: 40px; - margin-top: 1em; - margin-bottom: 1em; -} - -option { - display: none; -} - -p { - display: block; - margin: 1em 0; -} - -pagebreak { - display: block; - visibility: hidden; - page-break-after: always; -} - -param { - display: none; -} - -pre { - display: block; - font-family: monospace; - white-space: pre; -} - -s { - text-decoration: line-through; -} - -samp { - font-family: monospace; -} - -script { - display: none; -} - -select { - background-color: white; - border: inset black 2px; - display: -select; - overflow: hidden; - padding: 1pt; - margin: 1px; - line-height: 1; -} - -small { - font-size: smaller; -} - -span { - display: inline; -} - -strong { - font-weight: bold; -} - -strike { - text-decoration: line-through; -} - -style { - display: none; -} - -sup { - display: inline; - font-size: 50%; - vertical-align: super; -} - -sub { - display: inline; - font-size: 50%; - vertical-align: sub; -} - -table { - display: table; - line-height: 1.1; - page-break-inside: avoid; - -html2ps-cellpadding: 1px; - -html2ps-cellspacing: 1px; -} - -textarea { - display: -textarea; - border: solid black 2px; - padding: 3px; - white-space: pre-wrap; - overflow: hidden; - width: 15.3em; - height: 3em; -} - -tbody { - display: table-row-group; -} - -td { - display: table-cell; - page-break-inside: avoid; -} - -th { - display: table-cell; - font-weight: bold; -} - -thead { - display: table-header-group; -} - -tfoot { - display: table-footer-group; -} - -tr { - display: table-row; - vertical-align: middle; -} - -tt { - font-family: monospace; -} - -u { - text-decoration: underline; -} - -ul { - display: block; - list-style-type: disc; - padding-left: 40px; - margin-top: 1em; - margin-bottom: 1em; -} - -var { - font-style: italic; -} - -/** - * Tag combinations - */ - -a:link { - color: blue; - text-decoration: underline; -} - - -a img { - border: solid blue 1px; -} - -/* nested lists have no top/bottom margins */ -ul ul, ul ol, ul dir, ul menu, ul dl, -ol ul, ol ol, ol dir, ol menu, ol dl, -dir ul, dir ol, dir dir, dir menu, dir dl, -menu ul, menu ol, menu dir, menu menu, menu dl, -dl ul, dl ol, dl dir, dl menu, dl dl { - margin-top: 0; - margin-bottom: 0; -} - -/* 2 deep unordered lists use a circle */ -ol ul, ul ul, menu ul, dir ul, -ol menu, ul menu, menu menu, dir menu, -ol dir, ul dir, menu dir, dir dir { - list-style-type: circle; -} - -/* 3 deep (or more) unordered lists use a square */ -ol ol ul, ol ul ul, ol menu ul, ol dir ul, -ol ol menu, ol ul menu, ol menu menu, ol dir menu, -ol ol dir, ol ul dir, ol menu dir, ol dir dir, -ul ol ul, ul ul ul, ul menu ul, ul dir ul, -ul ol menu, ul ul menu, ul menu menu, ul dir menu, -ul ol dir, ul ul dir, ul menu dir, ul dir dir, -menu ol ul, menu ul ul, menu menu ul, menu dir ul, -menu ol menu, menu ul menu, menu menu menu, menu dir menu, -menu ol dir, menu ul dir, menu menu dir, menu dir dir, -dir ol ul, dir ul ul, dir menu ul, dir dir ul, -dir ol menu, dir ul menu, dir menu menu, dir dir menu, -dir ol dir, dir ul dir, dir menu dir, dir dir dir { - list-style-type: square; -} - -/** - * CSS 3 - specific defaults - */ -/* -@page { - reset-counter: footnote; -} -*/ - -@footnote { - border-top: thin solid black; - padding-top: 0.6em; - margin-top: 0.6em; - content: pending(footnote); -} - -*::note-call { - content: counter(footnote, super-decimal); -} - -*::marker { - content: counter(footnote, super-decimal); -} \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/.htaccess b/thirdparty/html2ps_pdf/demo/.htaccess deleted file mode 100644 index d9299cf26..000000000 --- a/thirdparty/html2ps_pdf/demo/.htaccess +++ /dev/null @@ -1 +0,0 @@ -php_value allow_url_fopen 0 \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/generic.param.php b/thirdparty/html2ps_pdf/demo/generic.param.php deleted file mode 100644 index c17c56cea..000000000 --- a/thirdparty/html2ps_pdf/demo/generic.param.php +++ /dev/null @@ -1,46 +0,0 @@ - $value) { - $data[$key] = stripslashes($data[$key]); - }; - }; - } else { - /** - * Remove slashes added by magic quotes option - */ - if (get_magic_quotes_gpc()) { - $data = stripslashes($data); - }; - - /** - * Limit maximal length of passed data - */ - $data = substr($data, 0, $maxlength); - }; - - return $data; -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/html2ps.php b/thirdparty/html2ps_pdf/demo/html2ps.php deleted file mode 100644 index c12a26c02..000000000 --- a/thirdparty/html2ps_pdf/demo/html2ps.php +++ /dev/null @@ -1,230 +0,0 @@ - get_var('cssmedia', $_REQUEST, 255, "screen"), - 'media' => get_var('media', $_REQUEST, 255, "A4"), - 'scalepoints' => isset($_REQUEST['scalepoints']), - 'renderimages' => isset($_REQUEST['renderimages']), - 'renderfields' => isset($_REQUEST['renderfields']), - 'renderforms' => isset($_REQUEST['renderforms']), - 'pslevel' => (int)get_var('pslevel', $_REQUEST, 1, 3), - 'renderlinks' => isset($_REQUEST['renderlinks']), - 'pagewidth' => (int)get_var('pixels', $_REQUEST, 10, 800), - 'landscape' => isset($_REQUEST['landscape']), - 'method' => get_var('method', $_REQUEST, 255, "fpdf"), - 'margins' => array( - 'left' => (int)get_var('leftmargin', $_REQUEST, 10, 0), - 'right' => (int)get_var('rightmargin', $_REQUEST, 10, 0), - 'top' => (int)get_var('topmargin', $_REQUEST, 10, 0), - 'bottom' => (int)get_var('bottommargin', $_REQUEST, 10, 0), - ), - 'encoding' => get_var('encoding', $_REQUEST, 255, ""), - 'ps2pdf' => isset($_REQUEST['ps2pdf']), - 'compress' => isset($_REQUEST['compress']), - 'output' => get_var('output', $_REQUEST, 255, ""), - 'pdfversion' => get_var('pdfversion', $_REQUEST, 255, "1.2"), - 'transparency_workaround' => isset($_REQUEST['transparency_workaround']), - 'imagequality_workaround' => isset($_REQUEST['imagequality_workaround']), - 'draw_page_border' => isset($_REQUEST['pageborder']), - 'debugbox' => isset($_REQUEST['debugbox']), - 'html2xhtml' => !isset($_REQUEST['html2xhtml']), - 'mode' => 'html', - 'smartpagebreak' => isset($_REQUEST['smartpagebreak']) - ); - -$proxy = get_var('proxy', $_REQUEST, 255, ''); - -// ========== Entry point -parse_config_file('../html2ps.config'); - -// validate input data -if ($GLOBALS['g_config']['pagewidth'] == 0) { - die("Please specify non-zero value for the pixel width!"); -}; - -// begin processing - -$g_media = Media::predefined($GLOBALS['g_config']['media']); -$g_media->set_landscape($GLOBALS['g_config']['landscape']); -$g_media->set_margins($GLOBALS['g_config']['margins']); -$g_media->set_pixels($GLOBALS['g_config']['pagewidth']); - -// Initialize the coversion pipeline -$pipeline = new Pipeline(); - -// Configure the fetchers -if (extension_loaded('curl')) { - require_once(HTML2PS_DIR.'fetcher.url.curl.class.php'); - $pipeline->fetchers = array(new FetcherURLCurl()); - if ($proxy != '') { - $pipeline->fetchers[0]->set_proxy($proxy); - }; -} else { - require_once(HTML2PS_DIR.'fetcher.url.class.php'); - $pipeline->fetchers[] = new FetcherURL(); -}; - -// Configure the data filters -$pipeline->data_filters[] = new DataFilterDoctype(); -$pipeline->data_filters[] = new DataFilterUTF8($GLOBALS['g_config']['encoding']); -if ($GLOBALS['g_config']['html2xhtml']) { - $pipeline->data_filters[] = new DataFilterHTML2XHTML(); -} else { - $pipeline->data_filters[] = new DataFilterXHTML2XHTML(); -}; - -$pipeline->parser = new ParserXHTML(); - -// "PRE" tree filters - -$pipeline->pre_tree_filters = array(); - -$header_html = get_var('headerhtml', $_REQUEST, 65535, ""); -$footer_html = get_var('footerhtml', $_REQUEST, 65535, ""); -$filter = new PreTreeFilterHeaderFooter($header_html, $footer_html); -$pipeline->pre_tree_filters[] = $filter; - -if ($GLOBALS['g_config']['renderfields']) { - $pipeline->pre_tree_filters[] = new PreTreeFilterHTML2PSFields(); -}; - -// - -if ($GLOBALS['g_config']['method'] === 'ps') { - $pipeline->layout_engine = new LayoutEnginePS(); -} else { - $pipeline->layout_engine = new LayoutEngineDefault(); -}; - -$pipeline->post_tree_filters = array(); - -// Configure the output format -if ($GLOBALS['g_config']['pslevel'] == 3) { - $image_encoder = new PSL3ImageEncoderStream(); -} else { - $image_encoder = new PSL2ImageEncoderStream(); -}; - -switch ($GLOBALS['g_config']['method']) { - case 'fastps': - if ($GLOBALS['g_config']['pslevel'] == 3) { - $pipeline->output_driver = new OutputDriverFastPS($image_encoder); - } else { - $pipeline->output_driver = new OutputDriverFastPSLevel2($image_encoder); - }; - break; - case 'pdflib': - $pipeline->output_driver = new OutputDriverPDFLIB16($GLOBALS['g_config']['pdfversion']); - break; - case 'fpdf': - $pipeline->output_driver = new OutputDriverFPDF(); - break; - case 'png': - $pipeline->output_driver = new OutputDriverPNG(); - break; - case 'pcl': - $pipeline->output_driver = new OutputDriverPCL(); - break; - default: - die("Unknown output method"); -}; - -// Setup watermark -$watermark_text = get_var('watermarkhtml', $_REQUEST, 65535, ""); -$pipeline->output_driver->set_watermark($watermark_text); - -if ($watermark_text != "") { - $dispatcher =& $pipeline->getDispatcher(); - - // @TODO: render watermark in observer - // $dispatcher->add_observer("after-page", new Observer()); -}; - -if ($GLOBALS['g_config']['debugbox']) { - $pipeline->output_driver->set_debug_boxes(true); -} - -if ($GLOBALS['g_config']['draw_page_border']) { - $pipeline->output_driver->set_show_page_border(true); -} - -if ($GLOBALS['g_config']['ps2pdf']) { - $pipeline->output_filters[] = new OutputFilterPS2PDF($GLOBALS['g_config']['pdfversion']); -} - -if ($GLOBALS['g_config']['compress'] && $GLOBALS['g_config']['method'] == 'fastps') { - $pipeline->output_filters[] = new OutputFilterGZip(); -} - -if (get_var('process_mode', $_REQUEST) == 'batch') { - $filename = "batch"; -} else { - $filename = $g_baseurl; -}; - -switch ($GLOBALS['g_config']['output']) { - case 0: - $pipeline->destination = new DestinationBrowser($filename); - break; - case 1: - $pipeline->destination = new DestinationDownload($filename); - break; - case 2: - $pipeline->destination = new DestinationFile($filename); - break; -}; - -// Start the conversion - -$time = time(); -if (get_var('process_mode', $_REQUEST) == 'batch') { - $batch = get_var('batch', $_REQUEST); - - for ($i=0; $iprocess_batch($batch, $g_media); -} else { - $status = $pipeline->process($g_baseurl, $g_media); -}; - -error_log(sprintf("Processing of '%s' completed in %u seconds", $g_baseurl, time() - $time)); - -if ($status == null) { - print($pipeline->error_message()); - error_log("Error in conversion pipeline"); - die(); -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/htmltopdf.php b/thirdparty/html2ps_pdf/demo/htmltopdf.php deleted file mode 100644 index c12a26c02..000000000 --- a/thirdparty/html2ps_pdf/demo/htmltopdf.php +++ /dev/null @@ -1,230 +0,0 @@ - get_var('cssmedia', $_REQUEST, 255, "screen"), - 'media' => get_var('media', $_REQUEST, 255, "A4"), - 'scalepoints' => isset($_REQUEST['scalepoints']), - 'renderimages' => isset($_REQUEST['renderimages']), - 'renderfields' => isset($_REQUEST['renderfields']), - 'renderforms' => isset($_REQUEST['renderforms']), - 'pslevel' => (int)get_var('pslevel', $_REQUEST, 1, 3), - 'renderlinks' => isset($_REQUEST['renderlinks']), - 'pagewidth' => (int)get_var('pixels', $_REQUEST, 10, 800), - 'landscape' => isset($_REQUEST['landscape']), - 'method' => get_var('method', $_REQUEST, 255, "fpdf"), - 'margins' => array( - 'left' => (int)get_var('leftmargin', $_REQUEST, 10, 0), - 'right' => (int)get_var('rightmargin', $_REQUEST, 10, 0), - 'top' => (int)get_var('topmargin', $_REQUEST, 10, 0), - 'bottom' => (int)get_var('bottommargin', $_REQUEST, 10, 0), - ), - 'encoding' => get_var('encoding', $_REQUEST, 255, ""), - 'ps2pdf' => isset($_REQUEST['ps2pdf']), - 'compress' => isset($_REQUEST['compress']), - 'output' => get_var('output', $_REQUEST, 255, ""), - 'pdfversion' => get_var('pdfversion', $_REQUEST, 255, "1.2"), - 'transparency_workaround' => isset($_REQUEST['transparency_workaround']), - 'imagequality_workaround' => isset($_REQUEST['imagequality_workaround']), - 'draw_page_border' => isset($_REQUEST['pageborder']), - 'debugbox' => isset($_REQUEST['debugbox']), - 'html2xhtml' => !isset($_REQUEST['html2xhtml']), - 'mode' => 'html', - 'smartpagebreak' => isset($_REQUEST['smartpagebreak']) - ); - -$proxy = get_var('proxy', $_REQUEST, 255, ''); - -// ========== Entry point -parse_config_file('../html2ps.config'); - -// validate input data -if ($GLOBALS['g_config']['pagewidth'] == 0) { - die("Please specify non-zero value for the pixel width!"); -}; - -// begin processing - -$g_media = Media::predefined($GLOBALS['g_config']['media']); -$g_media->set_landscape($GLOBALS['g_config']['landscape']); -$g_media->set_margins($GLOBALS['g_config']['margins']); -$g_media->set_pixels($GLOBALS['g_config']['pagewidth']); - -// Initialize the coversion pipeline -$pipeline = new Pipeline(); - -// Configure the fetchers -if (extension_loaded('curl')) { - require_once(HTML2PS_DIR.'fetcher.url.curl.class.php'); - $pipeline->fetchers = array(new FetcherURLCurl()); - if ($proxy != '') { - $pipeline->fetchers[0]->set_proxy($proxy); - }; -} else { - require_once(HTML2PS_DIR.'fetcher.url.class.php'); - $pipeline->fetchers[] = new FetcherURL(); -}; - -// Configure the data filters -$pipeline->data_filters[] = new DataFilterDoctype(); -$pipeline->data_filters[] = new DataFilterUTF8($GLOBALS['g_config']['encoding']); -if ($GLOBALS['g_config']['html2xhtml']) { - $pipeline->data_filters[] = new DataFilterHTML2XHTML(); -} else { - $pipeline->data_filters[] = new DataFilterXHTML2XHTML(); -}; - -$pipeline->parser = new ParserXHTML(); - -// "PRE" tree filters - -$pipeline->pre_tree_filters = array(); - -$header_html = get_var('headerhtml', $_REQUEST, 65535, ""); -$footer_html = get_var('footerhtml', $_REQUEST, 65535, ""); -$filter = new PreTreeFilterHeaderFooter($header_html, $footer_html); -$pipeline->pre_tree_filters[] = $filter; - -if ($GLOBALS['g_config']['renderfields']) { - $pipeline->pre_tree_filters[] = new PreTreeFilterHTML2PSFields(); -}; - -// - -if ($GLOBALS['g_config']['method'] === 'ps') { - $pipeline->layout_engine = new LayoutEnginePS(); -} else { - $pipeline->layout_engine = new LayoutEngineDefault(); -}; - -$pipeline->post_tree_filters = array(); - -// Configure the output format -if ($GLOBALS['g_config']['pslevel'] == 3) { - $image_encoder = new PSL3ImageEncoderStream(); -} else { - $image_encoder = new PSL2ImageEncoderStream(); -}; - -switch ($GLOBALS['g_config']['method']) { - case 'fastps': - if ($GLOBALS['g_config']['pslevel'] == 3) { - $pipeline->output_driver = new OutputDriverFastPS($image_encoder); - } else { - $pipeline->output_driver = new OutputDriverFastPSLevel2($image_encoder); - }; - break; - case 'pdflib': - $pipeline->output_driver = new OutputDriverPDFLIB16($GLOBALS['g_config']['pdfversion']); - break; - case 'fpdf': - $pipeline->output_driver = new OutputDriverFPDF(); - break; - case 'png': - $pipeline->output_driver = new OutputDriverPNG(); - break; - case 'pcl': - $pipeline->output_driver = new OutputDriverPCL(); - break; - default: - die("Unknown output method"); -}; - -// Setup watermark -$watermark_text = get_var('watermarkhtml', $_REQUEST, 65535, ""); -$pipeline->output_driver->set_watermark($watermark_text); - -if ($watermark_text != "") { - $dispatcher =& $pipeline->getDispatcher(); - - // @TODO: render watermark in observer - // $dispatcher->add_observer("after-page", new Observer()); -}; - -if ($GLOBALS['g_config']['debugbox']) { - $pipeline->output_driver->set_debug_boxes(true); -} - -if ($GLOBALS['g_config']['draw_page_border']) { - $pipeline->output_driver->set_show_page_border(true); -} - -if ($GLOBALS['g_config']['ps2pdf']) { - $pipeline->output_filters[] = new OutputFilterPS2PDF($GLOBALS['g_config']['pdfversion']); -} - -if ($GLOBALS['g_config']['compress'] && $GLOBALS['g_config']['method'] == 'fastps') { - $pipeline->output_filters[] = new OutputFilterGZip(); -} - -if (get_var('process_mode', $_REQUEST) == 'batch') { - $filename = "batch"; -} else { - $filename = $g_baseurl; -}; - -switch ($GLOBALS['g_config']['output']) { - case 0: - $pipeline->destination = new DestinationBrowser($filename); - break; - case 1: - $pipeline->destination = new DestinationDownload($filename); - break; - case 2: - $pipeline->destination = new DestinationFile($filename); - break; -}; - -// Start the conversion - -$time = time(); -if (get_var('process_mode', $_REQUEST) == 'batch') { - $batch = get_var('batch', $_REQUEST); - - for ($i=0; $iprocess_batch($batch, $g_media); -} else { - $status = $pipeline->process($g_baseurl, $g_media); -}; - -error_log(sprintf("Processing of '%s' completed in %u seconds", $g_baseurl, time() - $time)); - -if ($status == null) { - print($pipeline->error_message()); - error_log("Error in conversion pipeline"); - die(); -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/index.php b/thirdparty/html2ps_pdf/demo/index.php deleted file mode 100644 index ff55e057f..000000000 --- a/thirdparty/html2ps_pdf/demo/index.php +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - - - -HTML2PS/PDF - - - - - - -

html2ps/pdf demo

- -

GhostView can be used to read PostScript files, and Adobe Acrobat Reader can be used to read PDF files.

-

See also: -

-

- -
-
-
- Source  - -
- - - - -
- -
- - -
-
-
-
-
- -
- - -
-
-
- -

-
- -
- Format Requirements  -
- - - - -
- - - -
- - - - -
- - - -
- - -FPDF/PDFLIB 1.6 output only! - -
- - - -
- - - - -
- -
- - - - -
- -
- - - - -
- -
- - - - -
- -
- - - - -
- - -
- - - - -
- -
- - - - -
-

-
- -
- Additional data  -
- - - - -
- -
- - - - -
- -
- - - -
-Note that watermarking is not supported by some output drivers; currently you may place "watermarks" -using FPDF and PDFLIB output only. -
-
-
- -

-
- -
- Debugging  - - - - -
- - - - -
- -

-
- -
- File Requirements  -
- - -PostScript   - - -
PDF (PDFLIB) -
PDF (FPDF) -
Image (PNG) beta - -
-
- -
- - - -
-Note: not all output methods support all PDF compatibility levels! -
-
- -
- - -Browser (PDF will be opened in browser, Postsript will be downloaded)  -
Browser (download as file) -
File on server -
-
- -
- - -Convert Postscript to PDF
- -Compress output file using GZIP -
-Don't use this option with PDF output, -as Acrobat Reader will treat compressed file as damaged. -
-
-
-
- -
- - -Use PS2PDF transparency problem workaround
-Use PS2PDF image quality problem workaround
-(leave these options disabled if you have no problems with generated files) -
-
- -
-  - - - -  - - -
-

-
-
-
- -

html2ps is free and open-source for commercial and non-commercial use. Read more about html2ps.

- -

Donate to the html2ps project

- -
-© 2005–2006 Darren Gates, Konstantin Bournayev - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/phpinfo.php b/thirdparty/html2ps_pdf/demo/phpinfo.php deleted file mode 100644 index 6480abf34..000000000 --- a/thirdparty/html2ps_pdf/demo/phpinfo.php +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/systemcheck.footer.tpl b/thirdparty/html2ps_pdf/demo/systemcheck.footer.tpl deleted file mode 100644 index 611154db5..000000000 --- a/thirdparty/html2ps_pdf/demo/systemcheck.footer.tpl +++ /dev/null @@ -1,5 +0,0 @@ -
-© 2005–2006 Darren Gates, Konstantin Bournayev - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/systemcheck.header.tpl b/thirdparty/html2ps_pdf/demo/systemcheck.header.tpl deleted file mode 100644 index 71c025620..000000000 --- a/thirdparty/html2ps_pdf/demo/systemcheck.header.tpl +++ /dev/null @@ -1,69 +0,0 @@ - - -html2ps/html2pdf — checking your system configuration - - - -

Checking your system configuration

- -

This script will attempt to check your system settings and detect -most obvious problems which could prevent you from using html2ps: -missing PHP extensions, invalid permissions on files used by the -script, missing font files and so on. Please note that if list may be -incomplete; please visit html2ps -support forum in case you've encountered an unknown issue. -

diff --git a/thirdparty/html2ps_pdf/demo/systemcheck.php b/thirdparty/html2ps_pdf/demo/systemcheck.php deleted file mode 100644 index 22f120d6c..000000000 --- a/thirdparty/html2ps_pdf/demo/systemcheck.php +++ /dev/null @@ -1,679 +0,0 @@ - "failed", - CHECK_STATUS_WARNING => "warning", - CHECK_STATUS_SUCCESS => "success"); - if (isset($mapping[$status])) { - return $mapping[$status]; - }; - - error_log(sprintf("Unknown status code passed to 'status2class': %s", $status)); - return "unknown"; -} - -function out_check_list() { - $checks = ManagerChecks::getChecks(); - foreach ($checks as $check) { - $title = htmlspecialchars($check->title()); - $message = nl2br($check->getMessage()); - $status_class = status2class($check->getStatus()); - - print << -
${title}
-
${message}
- -EOF; - }; -} - -class ManagerChecks { - function register($check) { - global $__g_registered_checks; - $__g_registered_checks[] = $check; - } - - function run() { - global $__g_registered_checks; - $size = count($__g_registered_checks); - for ($i=0; $i<$size; $i++) { - $__g_registered_checks[$i]->run(); - }; - } - - function getChecks() { - global $__g_registered_checks; - return $__g_registered_checks; - } -} - -class CheckSimple { - var $_message; - - /** - * Invariants - */ - function title() { - error_no_method('title', get_class($this)); - } - - function description() { - error_no_method('description', get_class($this)); - } - - /** - * Start checking - */ - function run() { - error_no_method('run', get_class($this)); - } - - /** - * Get check status code; status code should be one of the following - * predefined constants: - * CHECK_STATUS_FAILED - check failed, script will not work unless this issue is fixed - * CHECK_STATUS_WARNING - check succeeded, script may encounter minor issues - * CHECK_STATUS_SUCCESS - check succeeded without any problems - * - * @return Integer Status code - */ - function getStatus() { - error_no_method('status', get_class($this)); - } - - /** - * Returns a short human-readable message describing results of the - * check run. By default, this message is generated in 'run' method - * (overridden in CheckSimple children) and stored via 'setMessage' - * - * @return String description of the test results - */ - function getMessage() { - return $this->_message; - } - - function setMessage($message) { - $this->_message = $message; - } -} - -/** - */ -class CheckBinary extends CheckSimple { - var $_success; - - function setSuccess($success) { - $this->_success = $success; - } - - function getSuccess() { - return $this->_success; - } -} - -/** - */ -class CheckBinaryRequired extends CheckBinary { - function getStatus() { - if ($this->getSuccess()) { - return CHECK_STATUS_SUCCESS; - } else { - return CHECK_STATUS_FAILED; - }; - } -} - -/** - */ -class CheckBinaryRecommended extends CheckBinary { - function getStatus() { - if ($this->getSuccess()) { - return CHECK_STATUS_SUCCESS; - } else { - return CHECK_STATUS_WARNING; - }; - } -} - -/** - */ -class CheckTriState extends CheckSimple { - var $_status; - - function getStatus() { - return $this->_status; - } - - function setStatus($status) { - $this->_status = $status; - } -} - -/** - * Actual checks - */ - -/** - * PHP version - */ -class CheckPHPVersion extends CheckTriState { - function title() { - return "PHP Version"; - } - - function description() { - return ""; - } - - function run() { - // > "4.3.0"; - } -} -// ManagerChecks::register(new CheckPHPVersion()); - -/** - * Required / recommended extensions - */ - -/** - * Presense of DOM/XML extensions - */ -class CheckDOM extends CheckTriState { - function title() { - return "XML DOM extension"; - } - - function description() { - return "HTML files are parsed using XML DOM extensions"; - } - - function run() { - if (function_exists('domxml_open_mem') || - class_exists('DOMDocument')) { - $this->setStatus(CHECK_STATUS_SUCCESS); - $this->setMessage('Native XML DOM extension found'); - return; - }; - - if (file_exists(HTML2PS_DIR.'classes/include.php')) { - $this->setStatus(CHECK_STATUS_WARNING); - $this->setMessage('No native XML DOM extension found, falling back to Active-State DOM XML. Note that it is highly recommended to use native PHP XML DOM extension.'); - return; - }; - - $this->setStatus(CHECK_STATUS_FAILED); - $this->setMessage('No XML DOM extension found'); - } -} - -/** - * Presense of PDFLIB extension - */ -class CheckPDFLIB extends CheckBinaryRecommended { -} - -/** - * Presense of Curl extension - */ -class CheckCurl extends CheckBinaryRecommended { - function title() { - return "Curl PHP Extension"; - } - - function description() { - return "Curl PHP extension is recommended for fetching files via HTTP protocol"; - } - - function run() { - $this->setSuccess(false); - - if (!extension_loaded('curl')) { - $this->setMessage('Missing Curl extension. Script will use pure-PHP fallback (allow_url_fopen=On is required!). Proxy support is not available'); - return; - }; - - $version = curl_version(); - // PHP 5.0.1 and greater return array instead of string - if (is_array($version)) { - $version = $version['version']; - }; - $this->setMessage(sprintf('Found Curl extension version %s.', $version['version'])); - $this->setSuccess(true); - } -} - -/** - * Presense of GD extension - */ -class CheckGD extends CheckBinaryRequired { - function title() { - return "GD PHP Extension"; - } - - function description() { - return "GD PHP extension is required for graphic file processing"; - } - - function run() { - $this->setSuccess(false); - - if (!extension_loaded('gd')) { - $this->setMessage('Missing GD extension. Please refer to PHP.net instructions on installing/enabling this extension.'); - return; - }; - - $gd_info = gd_info(); - $gd_version_string = $gd_info['GD Version']; - - /** - * Extract version number if it is a bundled version; otherwise we assume that - * version string should contain verions number only - */ - if (preg_match("/bundled \(([\d\.]+) compatible\)/", $gd_version_string, $matches)) { - $gd_version = $matches[1]; - } else { - $gd_version = $gd_version_string; - }; - - if ($gd_version < "2.0.1") { - $this->setMessage("GD version 2.0.1+ required for 'imagecreatetruecolor' function to work"); - return; - }; - - $this->setMessage("Found GD version $gd_version."); - $this->setSuccess(true); - } -} - -/** - * Presense of ZLIB extension (compressed files) - */ -class CheckZLIB extends CheckBinaryRecommended { -} - -/** - * System limits & settings - */ - -/** - * Execution time limit - */ -class CheckMaxExecutionTime extends CheckTriState { -} - -/** - * Memory limit - */ -class CheckMemoryLimit extends CheckTriState { -} - -/** - * Allow_url_fopen setting - */ -class CheckAllowURLFopen extends CheckBinaryRecommended { - function title() { - return "allow_url_fopen ini setting"; - } - - function description() { - return "allow_url_fopen should be enabled when CURL extension is not available"; - } - - function run() { - $this->setSuccess(false); - - $setting = ini_get('allow_url_fopen'); - if (!$setting) { - $this->setMessage('allow_url_fopen is disabled. You will not be able to fetch files via HTTP without CURL extension.'); - return; - } - - $this->setMessage('allow_url_fopen is enabled'); - $this->setSuccess(true); - } -} - -/** - * Access/permissions - */ - -/** - * permissions on cache directory - */ -class CheckPermissionsCache extends CheckBinaryRequired { -} - -/** - * Permissions on 'out' directory - */ -class CheckPermissionsOut extends CheckBinaryRecommended { -} - -/** - * Permissions on 'temp' directory (system-dependent) - */ -class CheckPermissionsTemp extends CheckBinaryRequired { - function title() { - return "Permissions on 'temp' subdirectory"; - } - - function description() { - return "Script should have full access to 'temp' subdirectory to keep temporary files there"; - } - - function run() { - if (!file_exists(HTML2PS_DIR.'/temp/')) { - $this->setMessage("'temp' subdirectory is missing"); - $this->setSuccess(false); - return; - }; - - if (!is_readable(HTML2PS_DIR.'/temp/')) { - $this->setMessage("'temp' subdirectory is not readable"); - $this->setSuccess(false); - return; - }; - - if (!is_writable(HTML2PS_DIR.'/temp/')) { - $this->setMessage("'temp' subdirectory is not writable"); - $this->setSuccess(false); - return; - }; - - if (!is_executable(HTML2PS_DIR.'/temp/') && PHP_OS != "WINNT") { - $this->setMessage("'temp' subdirectory is not executable"); - $this->setSuccess(false); - return; - }; - - $this->setMessage("'temp' subdirectory is fully accessible to the script"); - $this->setSuccess(true); - } -} - -/** - * Permissions/availability of GS executable - */ - -/** - * Permissions of fonts directory - */ -class CheckPermissionsFonts extends CheckBinaryRequired { - function title() { - return "Permissions on 'fonts' subdirectory"; - } - - function description() { - return "Script should be able to read 'fonts' subdirectory to access installed fonts"; - } - - function run() { - if (!file_exists(HTML2PS_DIR.'/fonts/')) { - $this->setMessage("'fonts' subdirectory is missing"); - $this->setSuccess(false); - return; - }; - - if (!is_readable(HTML2PS_DIR.'/fonts/')) { - $this->setMessage("'fonts' subdirectory is not readable"); - $this->setSuccess(false); - return; - }; - - if (!is_executable(HTML2PS_DIR.'/fonts/') && PHP_OS != "WINNT") { - $this->setMessage("'fonts' subdirectory is not executable"); - $this->setSuccess(false); - return; - }; - - $this->setMessage("'fonts' subdirectory is readable and executable by the script"); - $this->setSuccess(true); - } -} - -/** - * Permissions/presence of Type1 fonts repository - */ -class CheckPermissionsType1 extends CheckBinaryRecommended { - function title() { - return "Permissions on Type1 fonts directory"; - } - - function description() { - return "Script should be able to access Type1 fonts directory containing font metrics in order to generate Postscript files"; - } - - function run() { - if (!file_exists(TYPE1_FONTS_REPOSITORY)) { - $this->setMessage("Type1 fonts directory (".TYPE1_FONTS_REPOSITORY.") is missing. You will not be able to generate postscript files."); - $this->setSuccess(false); - return; - }; - - if (!is_readable(TYPE1_FONTS_REPOSITORY)) { - $this->setMessage("Type1 fonts directory (".TYPE1_FONTS_REPOSITORY.") is not readable. You will not be able to generate postscript files."); - $this->setSuccess(false); - return; - }; - - if (!is_executable(HTML2PS_DIR.'/fonts/') && PHP_OS != "WINNT") { - $this->setMessage("Type1 fonts directory (".TYPE1_FONTS_REPOSITORY.") is not executable. You will not be able to generate postscript files."); - $this->setSuccess(false); - return; - }; - - $this->setMessage("Type1 fonts directory is readable and executable by the script"); - $this->setSuccess(true); - } -} - -/** - * Fonts - */ - -/** - * Permissions/presense of TTF files - */ -class CheckPresenceTTF extends CheckBinaryRecommended { - function title() { - return "Presense of registered TTF files"; - } - - function description() { - return "TrueType fonts registered in html2ps.config should be present in order to generate PDF files with these fonts."; - } - - function run() { - $message = ""; - $this->setSuccess(true); - - global $g_font_resolver_pdf; - foreach ($g_font_resolver_pdf->ttf_mappings as $file) { - $fullname = HTML2PS_DIR.'/fonts/'.$file; - - if (!file_exists($fullname)) { - $message .= "Font ".$fullname." is missing. You will not be able to generate PDF files with this font.\n"; - $this->setSuccess(false); - } elseif (!file_exists($fullname)) { - $message .= "Font ".$fullname." is not readable. You will not be able to generate PDF files with this font.\n"; - $this->setSuccess(false); - } else { - $message .= "Font ".$fullname." is present and readable.\n"; - }; - }; - - $this->setMessage($message); - } -} - -/** - * Permissions/presense of Type1 fonts - */ - -/** - * Permissions/presense of AFM files for Type1 fonts - */ -class CheckPresenceType1AFM extends CheckBinaryRecommended { - function title() { - return "Presense of registered TTF files"; - } - - function description() { - return "TrueType fonts registered in html2ps.config should be present in order to generate PDF files with these fonts."; - } - - function run() { - $message = ""; - $this->setSuccess(true); - - global $g_font_resolver; - foreach ($g_font_resolver->afm_mappings as $file) { - $fullname = TYPE1_FONTS_REPOSITORY.$file.'.afm'; - - if (!file_exists($fullname)) { - $message .= "Font ".$fullname." is missing. You will not be able to generate PDF files with this font.\n"; - $this->setSuccess(false); - } elseif (!file_exists($fullname)) { - $message .= "Font ".$fullname." is not readable. You will not be able to generate PDF files with this font.\n"; - $this->setSuccess(false); - } else { - $message .= "Font ".$fullname." is present and readable.\n"; - }; - }; - - $this->setMessage($message); - } -} - -/** - * Graphics - */ - -/** - * Generic - */ -class CheckGDFormat extends CheckBinaryRequired { - function title() { - return "GD ".$this->_getFormatName()." Support"; - } - - function description() { - return "GD ".$this->_getFormatName()." Support is required for reading images in ".$this->_getFormatName()." format"; - } - - function run() { - $this->setSuccess(false); - - if (!extension_loaded('gd')) { - $this->setMessage('Missing GD extension. Please refer to PHP.net instructions on installing/enabling this extension.'); - return; - }; - - $gd_info = gd_info(); - if (!$gd_info[$this->_getInfoKey()]) { - $this->setMessage("No ".$this->_getFormatName()." support, some images will not be displayed"); - return; - }; - - $this->setMessage($this->_getFormatName()." support enabled"); - $this->setSuccess(true); - } -} - -/** - * JPEG support - */ -class CheckGDJPEG extends CheckGDFormat { - function _getFormatName() { - return "JPEG"; - } - - function _getInfoKey() { - return "JPG Support"; - } -} - -/** - * GIF support - */ -class CheckGDGIF extends CheckGDFormat { - function _getFormatName() { - return "GIF"; - } - - function _getInfoKey() { - return "GIF Read Support"; - } -} - -/** - * PNG support - */ -class CheckGDPNG extends CheckGDFormat { - function _getFormatName() { - return "PNG"; - } - - function _getInfoKey() { - return "PNG Support"; - } -} - -/** - * Freetype support - */ - -/** - * Miscellanous - */ - -/** - * Check if outgoing connections are allowed - */ -class CheckOutgoingConnections extends CheckBinary { -} - -ManagerChecks::register(new CheckDOM()); -ManagerChecks::register(new CheckCurl()); -ManagerChecks::register(new CheckAllowURLFopen()); -ManagerChecks::register(new CheckGD()); -ManagerChecks::register(new CheckGDJPEG()); -ManagerChecks::register(new CheckGDGIF()); -ManagerChecks::register(new CheckGDPNG()); -ManagerChecks::register(new CheckPermissionsTemp()); -ManagerChecks::register(new CheckPermissionsFonts()); -ManagerChecks::register(new CheckPermissionsType1()); -ManagerChecks::register(new CheckPresenceTTF()); -ManagerChecks::register(new CheckPresenceType1AFM()); - -ManagerChecks::run(); -out_header(); -out_check_list(); -out_footer(); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/demo/test.php b/thirdparty/html2ps_pdf/demo/test.php deleted file mode 100644 index 655ff3e05..000000000 --- a/thirdparty/html2ps_pdf/demo/test.php +++ /dev/null @@ -1,97 +0,0 @@ -_dest_filename = $dest_filename; - } - - function process($tmp_filename, $content_type) { - copy($tmp_filename, $this->_dest_filename); - } - } - - - class MyDestinationDownload extends DestinationHTTP { - function MyDestinationDownload($filename) { - $this->DestinationHTTP($filename); - $GLOBALS['PDFOutFileName'] = $filename; - } - - function headers($content_type) { - return array( - "Content-Disposition: attachment; filename=".$GLOBALS['PDFOutFileName'].".".$content_type->default_extension, - "Content-Transfer-Encoding: binary", - "Cache-Control: must-revalidate, post-check=0, pre-check=0", - "Pragma: public" - ); - } - } - - class MyFetcherLocalFile extends Fetcher { - var $_content; - - function MyFetcherLocalFile() { - $this->_content = "TestTestTestTest"; - } - - function get_data($dummy1) { - return new FetchedDataURL($this->_content, array(), ""); - } - - function get_base_url() { - return ""; - } - } - - - - $media = Media::predefined("A4"); - $media->set_landscape(false); - $media->set_margins(array('left' => 0, - 'right' => 0, - 'top' => 0, - 'bottom' => 0)); - $media->set_pixels(1024); - - $GLOBALS['g_config'] = array( - 'cssmedia' => 'screen', - 'renderimages' => true, - 'renderforms' => false, - 'renderlinks' => true, - 'renderfields' => true, - 'mode' => 'html', - 'debugbox' => false, - 'draw_page_border' => false, - ); - - $g_px_scale = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']) / $media->pixels; - $g_pt_scale = $g_px_scale * 1.43; - - $pipeline = new Pipeline; - $pipeline->configure($GLOBALS['g_config']); - $pipeline->fetchers[] = new MyFetcherLocalFile(); - // $pipeline->destination = new MyDestinationFile($pdf); - $pipeline->destination = new MyDestinationDownload($pdf); - $pipeline->data_filters[] = new DataFilterHTML2XHTML; - $pipeline->pre_tree_filters = array(); - $header_html = "test"; - $footer_html = "test"; - $filter = new PreTreeFilterHeaderFooter($header_html, $footer_html); - $pipeline->pre_tree_filters[] = $filter; - $pipeline->pre_tree_filters[] = new PreTreeFilterHTML2PSFields(); - $pipeline->parser = new ParserXHTML(); - $pipeline->layout_engine = new LayoutEngineDefault; - $pipeline->output_driver = new OutputDriverFPDF($media); - - $pipeline->process('', $media); -} - -convert_to_pdf("test"); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/destination._http.class.php b/thirdparty/html2ps_pdf/destination._http.class.php deleted file mode 100644 index e8fdfb3eb..000000000 --- a/thirdparty/html2ps_pdf/destination._http.class.php +++ /dev/null @@ -1,24 +0,0 @@ -Destination($filename); - } - - function headers($content_type) { - die("Unoverridden 'header' method called in ".get_class($this)); - } - - function process($tmp_filename, $content_type) { - header("Content-Type: ".$content_type->mime_type); - - $headers = $this->headers($content_type); - foreach ($headers as $header) { - header($header); - }; - - // NOTE: readfile does not work well with some Windows machines - // echo(file_get_contents($tmp_filename)); - readfile($tmp_filename); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/destination._interface.class.php b/thirdparty/html2ps_pdf/destination._interface.class.php deleted file mode 100644 index 499519d95..000000000 --- a/thirdparty/html2ps_pdf/destination._interface.class.php +++ /dev/null @@ -1,19 +0,0 @@ -set_filename($filename); - } - - function filename_escape($filename) { return preg_replace("/[^a-z0-9-]/i","_",$filename); } - - function get_filename() { return empty($this->filename) ? OUTPUT_DEFAULT_NAME : $this->filename; } - - function process($filename, $content_type) { - die("Oops. Inoverridden 'process' method called in ".get_class($this)); - } - - function set_filename($filename) { $this->filename = $filename; } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/destination.browser.class.php b/thirdparty/html2ps_pdf/destination.browser.class.php deleted file mode 100644 index 55314191b..000000000 --- a/thirdparty/html2ps_pdf/destination.browser.class.php +++ /dev/null @@ -1,11 +0,0 @@ -get_filename().".".$content_type->default_extension, - "Content-Transfer-Encoding: binary", - "Cache-Control: private" - ); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/destination.download.class.php b/thirdparty/html2ps_pdf/destination.download.class.php deleted file mode 100644 index 0a0fbc759..000000000 --- a/thirdparty/html2ps_pdf/destination.download.class.php +++ /dev/null @@ -1,16 +0,0 @@ -DestinationHTTP($filename); - } - - function headers($content_type) { - return array( - "Content-Disposition: attachment; filename=".$this->filename_escape($this->get_filename()).".".$content_type->default_extension, - "Content-Transfer-Encoding: binary", - "Cache-Control: must-revalidate, post-check=0, pre-check=0", - "Pragma: public" - ); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/destination.file.class.php b/thirdparty/html2ps_pdf/destination.file.class.php deleted file mode 100644 index 8aa2f05f0..000000000 --- a/thirdparty/html2ps_pdf/destination.file.class.php +++ /dev/null @@ -1,10 +0,0 @@ -filename_escape($this->get_filename()).".".$content_type->default_extension; - - copy($tmp_filename, $dest_filename); - //print("File saved as: ".$dest_filename); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/dispatcher.class.php b/thirdparty/html2ps_pdf/dispatcher.class.php deleted file mode 100644 index 6ac0b5cfd..000000000 --- a/thirdparty/html2ps_pdf/dispatcher.class.php +++ /dev/null @@ -1,37 +0,0 @@ -_callbacks = array(); - } - - /** - * @param String $type name of the event to dispatch - */ - function add_event($type) { - $this->_callbacks[$type] = array(); - } - - function add_observer($type, $callback) { - $this->_check_event_type($type); - $this->_callbacks[$type][] = $callback; - } - - function fire($type, $params) { - $this->_check_event_type($type); - - foreach ($this->_callbacks[$type] as $callback) { - call_user_func($callback, $params); - }; - } - - function _check_event_type($type) { - if (!isset($this->_callbacks[$type])) { - die(sprintf("Invalid event type: %s", $type)); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/doc.anchor.class.php b/thirdparty/html2ps_pdf/doc.anchor.class.php deleted file mode 100644 index 4245af054..000000000 --- a/thirdparty/html2ps_pdf/doc.anchor.class.php +++ /dev/null @@ -1,59 +0,0 @@ -name = $name; - $this->page = $page; - $this->x = $x; - $this->y = $y; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/dom.activelink.inc.php b/thirdparty/html2ps_pdf/dom.activelink.inc.php deleted file mode 100644 index 496c79203..000000000 --- a/thirdparty/html2ps_pdf/dom.activelink.inc.php +++ /dev/null @@ -1,126 +0,0 @@ -xml = $xml; - $this->index = $index; - $this->parent_indices = $indices; - $this->parents = $parents; - - if (is_a($this->xml,"XMLLeaf")) { - $this->content = $xml->value; - } else { - $this->content = $xml->getXMLContent(); - }; - } - - function &from_XML($xml) { - $tree =& new ActiveLinkDomTree($xml,0, array(), array()); - return $tree; - } - - function node_type() { - return is_a($this->xml,"XMLLeaf") ? XML_TEXT_NODE : XML_ELEMENT_NODE; - } - - function tagname() { - return is_a($this->xml,"XMLLeaf") ? "text" : $this->xml->getTagName(); - } - - function get_attribute($name) { - return $this->xml->getTagAttribute($name); - } - - function has_attribute($name) { - return $this->xml->getTagAttribute($name) !== false; - } - - function get_content() { - return $this->xml->getXMLContent(); - } - - function &document_element() { - return $this; - } - - function &last_child() { - $child =& $this->first_child(); - - if ($child) { - $sibling =& $child->next_sibling(); - while ($sibling) { - $child =& $sibling; - $sibling =& $child->next_sibling(); - }; - }; - - return $child; - } - - function &parent() { - if (!(is_a($this->xml,"XMLBranch") || is_a($this->xml,"XMLLeaf"))) { - $null = false; - return $null; - } - - if (count($this->parents) > 0) { - $parents =& $this->parents; - $parent =& array_pop($parents); - return $parent; - } else { - $null = false; - return $null; - }; - } - - function &first_child() { - $children = $this->xml->nodes; - $indices = $this->parent_indices; - array_push($indices, $this->index); - $parents = $this->parents; - array_push($parents, $this); - - if ($children) { - $node =& new ActiveLinkDOMTree($children[0], 0, $indices, $parents); - return $node; - } else { - $null = false; - return $null; - }; - } - - function &previous_sibling() { - $parent =& $this->parents[count($this->parents)-1]; - $nodes =& $parent->xml->nodes; - - if ($this->index <= 0) { - $null = false; - return $null; - }; - - $sibling = &new ActiveLinkDOMTree($nodes[$this->index-1],$this->index-1, $this->parent_indices, $this->parents); - return $sibling; - } - - function &next_sibling() { - $parent =& $this->parents[count($this->parents)-1]; - $nodes =& $parent->xml->nodes; - - if ($this->index >= count($nodes)-1) { - $null = false; - return $null; - }; - - $node =& new ActiveLinkDOMTree($nodes[$this->index+1], $this->index+1, $this->parent_indices, $this->parents); - return $node; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/dom.php5.inc.php b/thirdparty/html2ps_pdf/dom.php5.inc.php deleted file mode 100644 index f356d074c..000000000 --- a/thirdparty/html2ps_pdf/dom.php5.inc.php +++ /dev/null @@ -1,94 +0,0 @@ -domelement = $domelement; - $this->content = $domelement->textContent; - } - - function &document_element() { - return $this; - } - - function &first_child() { - if ($this->domelement->firstChild) { - $child =& new DOMTree($this->domelement->firstChild); - return $child; - } else { - $null = false; - return $null; - }; - } - - function &from_DOMDocument($domdocument) { - $tree =& new DOMTree($domdocument->documentElement); - return $tree; - } - - function get_attribute($name) { - return $this->domelement->getAttribute($name); - } - - function get_content() { - return $this->domelement->textContent; - } - - function has_attribute($name) { - return $this->domelement->hasAttribute($name); - } - - function &last_child() { - $child =& $this->first_child(); - - if ($child) { - $sibling =& $child->next_sibling(); - while ($sibling) { - $child =& $sibling; - $sibling =& $child->next_sibling(); - }; - }; - - return $child; - } - - function &next_sibling() { - if ($this->domelement->nextSibling) { - $child =& new DOMTree($this->domelement->nextSibling); - return $child; - } else { - $null = false; - return $null; - }; - } - - function node_type() { - return @$this->domelement->nodeType; - } - - function &parent() { - if ($this->domelement->parentNode) { - $parent =& new DOMTree($this->domelement->parentNode); - return $parent; - } else { - $null = false; - return $null; - }; - } - - function &previous_sibling() { - if ($this->domelement->previousSibling) { - $sibling =& new DOMTree($this->domelement->previousSibling); - return $sibling; - } else { - $null = false; - return $null; - }; - } - - function tagname() { - return $this->domelement->localName; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.cp1251.inc.php b/thirdparty/html2ps_pdf/encoding.cp1251.inc.php deleted file mode 100644 index a42954bd4..000000000 --- a/thirdparty/html2ps_pdf/encoding.cp1251.inc.php +++ /dev/null @@ -1,261 +0,0 @@ - 0x0000, //NULL -"\x01" => 0x0001, //START OF HEADING -"\x02" => 0x0002, //START OF TEXT -"\x03" => 0x0003, //END OF TEXT -"\x04" => 0x0004, //END OF TRANSMISSION -"\x05" => 0x0005, //ENQUIRY -"\x06" => 0x0006, //ACKNOWLEDGE -"\x07" => 0x0007, //BELL -"\x08" => 0x0008, //BACKSPACE -"\x09" => 0x0009, //HORIZONTAL TABULATION -"\x0A" => 0x000A, //LINE FEED -"\x0B" => 0x000B, //VERTICAL TABULATION -"\x0C" => 0x000C, //FORM FEED -"\x0D" => 0x000D, //CARRIAGE RETURN -"\x0E" => 0x000E, //SHIFT OUT -"\x0F" => 0x000F, //SHIFT IN -"\x10" => 0x0010, //DATA LINK ESCAPE -"\x11" => 0x0011, //DEVICE CONTROL ONE -"\x12" => 0x0012, //DEVICE CONTROL TWO -"\x13" => 0x0013, //DEVICE CONTROL THREE -"\x14" => 0x0014, //DEVICE CONTROL FOUR -"\x15" => 0x0015, //NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, //SYNCHRONOUS IDLE -"\x17" => 0x0017, //END OF TRANSMISSION BLOCK -"\x18" => 0x0018, //CANCEL -"\x19" => 0x0019, //END OF MEDIUM -"\x1A" => 0x001A, //SUBSTITUTE -"\x1B" => 0x001B, //ESCAPE -"\x1C" => 0x001C, //FILE SEPARATOR -"\x1D" => 0x001D, //GROUP SEPARATOR -"\x1E" => 0x001E, //RECORD SEPARATOR -"\x1F" => 0x001F, //UNIT SEPARATOR -"\x20" => 0x0020, //SPACE -"\x21" => 0x0021, //EXCLAMATION MARK -"\x22" => 0x0022, //QUOTATION MARK -"\x23" => 0x0023, //NUMBER SIGN -"\x24" => 0x0024, //DOLLAR SIGN -"\x25" => 0x0025, //PERCENT SIGN -"\x26" => 0x0026, //AMPERSAND -"\x27" => 0x0027, //APOSTROPHE -"\x28" => 0x0028, //LEFT PARENTHESIS -"\x29" => 0x0029, //RIGHT PARENTHESIS -"\x2A" => 0x002A, //ASTERISK -"\x2B" => 0x002B, //PLUS SIGN -"\x2C" => 0x002C, //COMMA -"\x2D" => 0x002D, //HYPHEN-MINUS -"\x2E" => 0x002E, //FULL STOP -"\x2F" => 0x002F, //SOLIDUS -"\x30" => 0x0030, //DIGIT ZERO -"\x31" => 0x0031, //DIGIT ONE -"\x32" => 0x0032, //DIGIT TWO -"\x33" => 0x0033, //DIGIT THREE -"\x34" => 0x0034, //DIGIT FOUR -"\x35" => 0x0035, //DIGIT FIVE -"\x36" => 0x0036, //DIGIT SIX -"\x37" => 0x0037, //DIGIT SEVEN -"\x38" => 0x0038, //DIGIT EIGHT -"\x39" => 0x0039, //DIGIT NINE -"\x3A" => 0x003A, //COLON -"\x3B" => 0x003B, //SEMICOLON -"\x3C" => 0x003C, //LESS-THAN SIGN -"\x3D" => 0x003D, //EQUALS SIGN -"\x3E" => 0x003E, //GREATER-THAN SIGN -"\x3F" => 0x003F, //QUESTION MARK -"\x40" => 0x0040, //COMMERCIAL AT -"\x41" => 0x0041, //LATIN CAPITAL LETTER A -"\x42" => 0x0042, //LATIN CAPITAL LETTER B -"\x43" => 0x0043, //LATIN CAPITAL LETTER C -"\x44" => 0x0044, //LATIN CAPITAL LETTER D -"\x45" => 0x0045, //LATIN CAPITAL LETTER E -"\x46" => 0x0046, //LATIN CAPITAL LETTER F -"\x47" => 0x0047, //LATIN CAPITAL LETTER G -"\x48" => 0x0048, //LATIN CAPITAL LETTER H -"\x49" => 0x0049, //LATIN CAPITAL LETTER I -"\x4A" => 0x004A, //LATIN CAPITAL LETTER J -"\x4B" => 0x004B, //LATIN CAPITAL LETTER K -"\x4C" => 0x004C, //LATIN CAPITAL LETTER L -"\x4D" => 0x004D, //LATIN CAPITAL LETTER M -"\x4E" => 0x004E, //LATIN CAPITAL LETTER N -"\x4F" => 0x004F, //LATIN CAPITAL LETTER O -"\x50" => 0x0050, //LATIN CAPITAL LETTER P -"\x51" => 0x0051, //LATIN CAPITAL LETTER Q -"\x52" => 0x0052, //LATIN CAPITAL LETTER R -"\x53" => 0x0053, //LATIN CAPITAL LETTER S -"\x54" => 0x0054, //LATIN CAPITAL LETTER T -"\x55" => 0x0055, //LATIN CAPITAL LETTER U -"\x56" => 0x0056, //LATIN CAPITAL LETTER V -"\x57" => 0x0057, //LATIN CAPITAL LETTER W -"\x58" => 0x0058, //LATIN CAPITAL LETTER X -"\x59" => 0x0059, //LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, //LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, //LEFT SQUARE BRACKET -"\x5C" => 0x005C, //REVERSE SOLIDUS -"\x5D" => 0x005D, //RIGHT SQUARE BRACKET -"\x5E" => 0x005E, //CIRCUMFLEX ACCENT -"\x5F" => 0x005F, //LOW LINE -"\x60" => 0x0060, //GRAVE ACCENT -"\x61" => 0x0061, //LATIN SMALL LETTER A -"\x62" => 0x0062, //LATIN SMALL LETTER B -"\x63" => 0x0063, //LATIN SMALL LETTER C -"\x64" => 0x0064, //LATIN SMALL LETTER D -"\x65" => 0x0065, //LATIN SMALL LETTER E -"\x66" => 0x0066, //LATIN SMALL LETTER F -"\x67" => 0x0067, //LATIN SMALL LETTER G -"\x68" => 0x0068, //LATIN SMALL LETTER H -"\x69" => 0x0069, //LATIN SMALL LETTER I -"\x6A" => 0x006A, //LATIN SMALL LETTER J -"\x6B" => 0x006B, //LATIN SMALL LETTER K -"\x6C" => 0x006C, //LATIN SMALL LETTER L -"\x6D" => 0x006D, //LATIN SMALL LETTER M -"\x6E" => 0x006E, //LATIN SMALL LETTER N -"\x6F" => 0x006F, //LATIN SMALL LETTER O -"\x70" => 0x0070, //LATIN SMALL LETTER P -"\x71" => 0x0071, //LATIN SMALL LETTER Q -"\x72" => 0x0072, //LATIN SMALL LETTER R -"\x73" => 0x0073, //LATIN SMALL LETTER S -"\x74" => 0x0074, //LATIN SMALL LETTER T -"\x75" => 0x0075, //LATIN SMALL LETTER U -"\x76" => 0x0076, //LATIN SMALL LETTER V -"\x77" => 0x0077, //LATIN SMALL LETTER W -"\x78" => 0x0078, //LATIN SMALL LETTER X -"\x79" => 0x0079, //LATIN SMALL LETTER Y -"\x7A" => 0x007A, //LATIN SMALL LETTER Z -"\x7B" => 0x007B, //LEFT CURLY BRACKET -"\x7C" => 0x007C, //VERTICAL LINE -"\x7D" => 0x007D, //RIGHT CURLY BRACKET -"\x7E" => 0x007E, //TILDE -"\x7F" => 0x007F, //DELETE -"\x80" => 0x0402, //CYRILLIC CAPITAL LETTER DJE -"\x81" => 0x0403, //CYRILLIC CAPITAL LETTER GJE -"\x82" => 0x201A, //SINGLE LOW-9 QUOTATION MARK -"\x83" => 0x0453, //CYRILLIC SMALL LETTER GJE -"\x84" => 0x201E, //DOUBLE LOW-9 QUOTATION MARK -"\x85" => 0x2026, //HORIZONTAL ELLIPSIS -"\x86" => 0x2020, //DAGGER -"\x87" => 0x2021, //DOUBLE DAGGER -"\x88" => 0x20AC, //EURO SIGN -"\x89" => 0x2030, //PER MILLE SIGN -"\x8A" => 0x0409, //CYRILLIC CAPITAL LETTER LJE -"\x8B" => 0x2039, //SINGLE LEFT-POINTING ANGLE QUOTATION MARK -"\x8C" => 0x040A, //CYRILLIC CAPITAL LETTER NJE -"\x8D" => 0x040C, //CYRILLIC CAPITAL LETTER KJE -"\x8E" => 0x040B, //CYRILLIC CAPITAL LETTER TSHE -"\x8F" => 0x040F, //CYRILLIC CAPITAL LETTER DZHE -"\x90" => 0x0452, //CYRILLIC SMALL LETTER DJE -"\x91" => 0x2018, //LEFT SINGLE QUOTATION MARK -"\x92" => 0x2019, //RIGHT SINGLE QUOTATION MARK -"\x93" => 0x201C, //LEFT DOUBLE QUOTATION MARK -"\x94" => 0x201D, //RIGHT DOUBLE QUOTATION MARK -"\x95" => 0x2022, //BULLET -"\x96" => 0x2013, //EN DASH -"\x97" => 0x2014, //EM DASH -"\x99" => 0x2122, //TRADE MARK SIGN -"\x9A" => 0x0459, //CYRILLIC SMALL LETTER LJE -"\x9B" => 0x203A, //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -"\x9C" => 0x045A, //CYRILLIC SMALL LETTER NJE -"\x9D" => 0x045C, //CYRILLIC SMALL LETTER KJE -"\x9E" => 0x045B, //CYRILLIC SMALL LETTER TSHE -"\x9F" => 0x045F, //CYRILLIC SMALL LETTER DZHE -"\xA0" => 0x00A0, //NO-BREAK SPACE -"\xA1" => 0x040E, //CYRILLIC CAPITAL LETTER SHORT U -"\xA2" => 0x045E, //CYRILLIC SMALL LETTER SHORT U -"\xA3" => 0x0408, //CYRILLIC CAPITAL LETTER JE -"\xA4" => 0x00A4, //CURRENCY SIGN -"\xA5" => 0x0490, //CYRILLIC CAPITAL LETTER GHE WITH UPTURN -"\xA6" => 0x00A6, //BROKEN BAR -"\xA7" => 0x00A7, //SECTION SIGN -"\xA8" => 0x0401, //CYRILLIC CAPITAL LETTER IO -"\xA9" => 0x00A9, //COPYRIGHT SIGN -"\xAA" => 0x0404, //CYRILLIC CAPITAL LETTER UKRAINIAN IE -"\xAB" => 0x00AB, //LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, //NOT SIGN -"\xAD" => 0x00AD, //SOFT HYPHEN -"\xAE" => 0x00AE, //REGISTERED SIGN -"\xAF" => 0x0407, //CYRILLIC CAPITAL LETTER YI -"\xB0" => 0x00B0, //DEGREE SIGN -"\xB1" => 0x00B1, //PLUS-MINUS SIGN -"\xB2" => 0x0406, //CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -"\xB3" => 0x0456, //CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -"\xB4" => 0x0491, //CYRILLIC SMALL LETTER GHE WITH UPTURN -"\xB5" => 0x00B5, //MICRO SIGN -"\xB6" => 0x00B6, //PILCROW SIGN -"\xB7" => 0x00B7, //MIDDLE DOT -"\xB8" => 0x0451, //CYRILLIC SMALL LETTER IO -"\xB9" => 0x2116, //NUMERO SIGN -"\xBA" => 0x0454, //CYRILLIC SMALL LETTER UKRAINIAN IE -"\xBB" => 0x00BB, //RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x0458, //CYRILLIC SMALL LETTER JE -"\xBD" => 0x0405, //CYRILLIC CAPITAL LETTER DZE -"\xBE" => 0x0455, //CYRILLIC SMALL LETTER DZE -"\xBF" => 0x0457, //CYRILLIC SMALL LETTER YI -"\xC0" => 0x0410, //CYRILLIC CAPITAL LETTER A -"\xC1" => 0x0411, //CYRILLIC CAPITAL LETTER BE -"\xC2" => 0x0412, //CYRILLIC CAPITAL LETTER VE -"\xC3" => 0x0413, //CYRILLIC CAPITAL LETTER GHE -"\xC4" => 0x0414, //CYRILLIC CAPITAL LETTER DE -"\xC5" => 0x0415, //CYRILLIC CAPITAL LETTER IE -"\xC6" => 0x0416, //CYRILLIC CAPITAL LETTER ZHE -"\xC7" => 0x0417, //CYRILLIC CAPITAL LETTER ZE -"\xC8" => 0x0418, //CYRILLIC CAPITAL LETTER I -"\xC9" => 0x0419, //CYRILLIC CAPITAL LETTER SHORT I -"\xCA" => 0x041A, //CYRILLIC CAPITAL LETTER KA -"\xCB" => 0x041B, //CYRILLIC CAPITAL LETTER EL -"\xCC" => 0x041C, //CYRILLIC CAPITAL LETTER EM -"\xCD" => 0x041D, //CYRILLIC CAPITAL LETTER EN -"\xCE" => 0x041E, //CYRILLIC CAPITAL LETTER O -"\xCF" => 0x041F, //CYRILLIC CAPITAL LETTER PE -"\xD0" => 0x0420, //CYRILLIC CAPITAL LETTER ER -"\xD1" => 0x0421, //CYRILLIC CAPITAL LETTER ES -"\xD2" => 0x0422, //CYRILLIC CAPITAL LETTER TE -"\xD3" => 0x0423, //CYRILLIC CAPITAL LETTER U -"\xD4" => 0x0424, //CYRILLIC CAPITAL LETTER EF -"\xD5" => 0x0425, //CYRILLIC CAPITAL LETTER HA -"\xD6" => 0x0426, //CYRILLIC CAPITAL LETTER TSE -"\xD7" => 0x0427, //CYRILLIC CAPITAL LETTER CHE -"\xD8" => 0x0428, //CYRILLIC CAPITAL LETTER SHA -"\xD9" => 0x0429, //CYRILLIC CAPITAL LETTER SHCHA -"\xDA" => 0x042A, //CYRILLIC CAPITAL LETTER HARD SIGN -"\xDB" => 0x042B, //CYRILLIC CAPITAL LETTER YERU -"\xDC" => 0x042C, //CYRILLIC CAPITAL LETTER SOFT SIGN -"\xDD" => 0x042D, //CYRILLIC CAPITAL LETTER E -"\xDE" => 0x042E, //CYRILLIC CAPITAL LETTER YU -"\xDF" => 0x042F, //CYRILLIC CAPITAL LETTER YA -"\xE0" => 0x0430, //CYRILLIC SMALL LETTER A -"\xE1" => 0x0431, //CYRILLIC SMALL LETTER BE -"\xE2" => 0x0432, //CYRILLIC SMALL LETTER VE -"\xE3" => 0x0433, //CYRILLIC SMALL LETTER GHE -"\xE4" => 0x0434, //CYRILLIC SMALL LETTER DE -"\xE5" => 0x0435, //CYRILLIC SMALL LETTER IE -"\xE6" => 0x0436, //CYRILLIC SMALL LETTER ZHE -"\xE7" => 0x0437, //CYRILLIC SMALL LETTER ZE -"\xE8" => 0x0438, //CYRILLIC SMALL LETTER I -"\xE9" => 0x0439, //CYRILLIC SMALL LETTER SHORT I -"\xEA" => 0x043A, //CYRILLIC SMALL LETTER KA -"\xEB" => 0x043B, //CYRILLIC SMALL LETTER EL -"\xEC" => 0x043C, //CYRILLIC SMALL LETTER EM -"\xED" => 0x043D, //CYRILLIC SMALL LETTER EN -"\xEE" => 0x043E, //CYRILLIC SMALL LETTER O -"\xEF" => 0x043F, //CYRILLIC SMALL LETTER PE -"\xF0" => 0x0440, //CYRILLIC SMALL LETTER ER -"\xF1" => 0x0441, //CYRILLIC SMALL LETTER ES -"\xF2" => 0x0442, //CYRILLIC SMALL LETTER TE -"\xF3" => 0x0443, //CYRILLIC SMALL LETTER U -"\xF4" => 0x0444, //CYRILLIC SMALL LETTER EF -"\xF5" => 0x0445, //CYRILLIC SMALL LETTER HA -"\xF6" => 0x0446, //CYRILLIC SMALL LETTER TSE -"\xF7" => 0x0447, //CYRILLIC SMALL LETTER CHE -"\xF8" => 0x0448, //CYRILLIC SMALL LETTER SHA -"\xF9" => 0x0449, //CYRILLIC SMALL LETTER SHCHA -"\xFA" => 0x044A, //CYRILLIC SMALL LETTER HARD SIGN -"\xFB" => 0x044B, //CYRILLIC SMALL LETTER YERU -"\xFC" => 0x044C, //CYRILLIC SMALL LETTER SOFT SIGN -"\xFD" => 0x044D, //CYRILLIC SMALL LETTER E -"\xFE" => 0x044E, //CYRILLIC SMALL LETTER YU -"\xFF" => 0x044F //CYRILLIC SMALL LETTER YA -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.cp866.inc.php b/thirdparty/html2ps_pdf/encoding.cp866.inc.php deleted file mode 100644 index f8654ee2b..000000000 --- a/thirdparty/html2ps_pdf/encoding.cp866.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, //NULL -"\x01" => 0x0001, //START OF HEADING -"\x02" => 0x0002, //START OF TEXT -"\x03" => 0x0003, //END OF TEXT -"\x04" => 0x0004, //END OF TRANSMISSION -"\x05" => 0x0005, //ENQUIRY -"\x06" => 0x0006, //ACKNOWLEDGE -"\x07" => 0x0007, //BELL -"\x08" => 0x0008, //BACKSPACE -"\x09" => 0x0009, //HORIZONTAL TABULATION -"\x0a" => 0x000a, //LINE FEED -"\x0b" => 0x000b, //VERTICAL TABULATION -"\x0c" => 0x000c, //FORM FEED -"\x0d" => 0x000d, //CARRIAGE RETURN -"\x0e" => 0x000e, //SHIFT OUT -"\x0f" => 0x000f, //SHIFT IN -"\x10" => 0x0010, //DATA LINK ESCAPE -"\x11" => 0x0011, //DEVICE CONTROL ONE -"\x12" => 0x0012, //DEVICE CONTROL TWO -"\x13" => 0x0013, //DEVICE CONTROL THREE -"\x14" => 0x0014, //DEVICE CONTROL FOUR -"\x15" => 0x0015, //NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, //SYNCHRONOUS IDLE -"\x17" => 0x0017, //END OF TRANSMISSION BLOCK -"\x18" => 0x0018, //CANCEL -"\x19" => 0x0019, //END OF MEDIUM -"\x1a" => 0x001a, //SUBSTITUTE -"\x1b" => 0x001b, //ESCAPE -"\x1c" => 0x001c, //FILE SEPARATOR -"\x1d" => 0x001d, //GROUP SEPARATOR -"\x1e" => 0x001e, //RECORD SEPARATOR -"\x1f" => 0x001f, //UNIT SEPARATOR -"\x20" => 0x0020, //SPACE -"\x21" => 0x0021, //EXCLAMATION MARK -"\x22" => 0x0022, //QUOTATION MARK -"\x23" => 0x0023, //NUMBER SIGN -"\x24" => 0x0024, //DOLLAR SIGN -"\x25" => 0x0025, //PERCENT SIGN -"\x26" => 0x0026, //AMPERSAND -"\x27" => 0x0027, //APOSTROPHE -"\x28" => 0x0028, //LEFT PARENTHESIS -"\x29" => 0x0029, //RIGHT PARENTHESIS -"\x2a" => 0x002a, //ASTERISK -"\x2b" => 0x002b, //PLUS SIGN -"\x2c" => 0x002c, //COMMA -"\x2d" => 0x002d, //HYPHEN-MINUS -"\x2e" => 0x002e, //FULL STOP -"\x2f" => 0x002f, //SOLIDUS -"\x30" => 0x0030, //DIGIT ZERO -"\x31" => 0x0031, //DIGIT ONE -"\x32" => 0x0032, //DIGIT TWO -"\x33" => 0x0033, //DIGIT THREE -"\x34" => 0x0034, //DIGIT FOUR -"\x35" => 0x0035, //DIGIT FIVE -"\x36" => 0x0036, //DIGIT SIX -"\x37" => 0x0037, //DIGIT SEVEN -"\x38" => 0x0038, //DIGIT EIGHT -"\x39" => 0x0039, //DIGIT NINE -"\x3a" => 0x003a, //COLON -"\x3b" => 0x003b, //SEMICOLON -"\x3c" => 0x003c, //LESS-THAN SIGN -"\x3d" => 0x003d, //EQUALS SIGN -"\x3e" => 0x003e, //GREATER-THAN SIGN -"\x3f" => 0x003f, //QUESTION MARK -"\x40" => 0x0040, //COMMERCIAL AT -"\x41" => 0x0041, //LATIN CAPITAL LETTER A -"\x42" => 0x0042, //LATIN CAPITAL LETTER B -"\x43" => 0x0043, //LATIN CAPITAL LETTER C -"\x44" => 0x0044, //LATIN CAPITAL LETTER D -"\x45" => 0x0045, //LATIN CAPITAL LETTER E -"\x46" => 0x0046, //LATIN CAPITAL LETTER F -"\x47" => 0x0047, //LATIN CAPITAL LETTER G -"\x48" => 0x0048, //LATIN CAPITAL LETTER H -"\x49" => 0x0049, //LATIN CAPITAL LETTER I -"\x4a" => 0x004a, //LATIN CAPITAL LETTER J -"\x4b" => 0x004b, //LATIN CAPITAL LETTER K -"\x4c" => 0x004c, //LATIN CAPITAL LETTER L -"\x4d" => 0x004d, //LATIN CAPITAL LETTER M -"\x4e" => 0x004e, //LATIN CAPITAL LETTER N -"\x4f" => 0x004f, //LATIN CAPITAL LETTER O -"\x50" => 0x0050, //LATIN CAPITAL LETTER P -"\x51" => 0x0051, //LATIN CAPITAL LETTER Q -"\x52" => 0x0052, //LATIN CAPITAL LETTER R -"\x53" => 0x0053, //LATIN CAPITAL LETTER S -"\x54" => 0x0054, //LATIN CAPITAL LETTER T -"\x55" => 0x0055, //LATIN CAPITAL LETTER U -"\x56" => 0x0056, //LATIN CAPITAL LETTER V -"\x57" => 0x0057, //LATIN CAPITAL LETTER W -"\x58" => 0x0058, //LATIN CAPITAL LETTER X -"\x59" => 0x0059, //LATIN CAPITAL LETTER Y -"\x5a" => 0x005a, //LATIN CAPITAL LETTER Z -"\x5b" => 0x005b, //LEFT SQUARE BRACKET -"\x5c" => 0x005c, //REVERSE SOLIDUS -"\x5d" => 0x005d, //RIGHT SQUARE BRACKET -"\x5e" => 0x005e, //CIRCUMFLEX ACCENT -"\x5f" => 0x005f, //LOW LINE -"\x60" => 0x0060, //GRAVE ACCENT -"\x61" => 0x0061, //LATIN SMALL LETTER A -"\x62" => 0x0062, //LATIN SMALL LETTER B -"\x63" => 0x0063, //LATIN SMALL LETTER C -"\x64" => 0x0064, //LATIN SMALL LETTER D -"\x65" => 0x0065, //LATIN SMALL LETTER E -"\x66" => 0x0066, //LATIN SMALL LETTER F -"\x67" => 0x0067, //LATIN SMALL LETTER G -"\x68" => 0x0068, //LATIN SMALL LETTER H -"\x69" => 0x0069, //LATIN SMALL LETTER I -"\x6a" => 0x006a, //LATIN SMALL LETTER J -"\x6b" => 0x006b, //LATIN SMALL LETTER K -"\x6c" => 0x006c, //LATIN SMALL LETTER L -"\x6d" => 0x006d, //LATIN SMALL LETTER M -"\x6e" => 0x006e, //LATIN SMALL LETTER N -"\x6f" => 0x006f, //LATIN SMALL LETTER O -"\x70" => 0x0070, //LATIN SMALL LETTER P -"\x71" => 0x0071, //LATIN SMALL LETTER Q -"\x72" => 0x0072, //LATIN SMALL LETTER R -"\x73" => 0x0073, //LATIN SMALL LETTER S -"\x74" => 0x0074, //LATIN SMALL LETTER T -"\x75" => 0x0075, //LATIN SMALL LETTER U -"\x76" => 0x0076, //LATIN SMALL LETTER V -"\x77" => 0x0077, //LATIN SMALL LETTER W -"\x78" => 0x0078, //LATIN SMALL LETTER X -"\x79" => 0x0079, //LATIN SMALL LETTER Y -"\x7a" => 0x007a, //LATIN SMALL LETTER Z -"\x7b" => 0x007b, //LEFT CURLY BRACKET -"\x7c" => 0x007c, //VERTICAL LINE -"\x7d" => 0x007d, //RIGHT CURLY BRACKET -"\x7e" => 0x007e, //TILDE -"\x7f" => 0x007f, //DELETE -"\x80" => 0x0410, //CYRILLIC CAPITAL LETTER A -"\x81" => 0x0411, //CYRILLIC CAPITAL LETTER BE -"\x82" => 0x0412, //CYRILLIC CAPITAL LETTER VE -"\x83" => 0x0413, //CYRILLIC CAPITAL LETTER GHE -"\x84" => 0x0414, //CYRILLIC CAPITAL LETTER DE -"\x85" => 0x0415, //CYRILLIC CAPITAL LETTER IE -"\x86" => 0x0416, //CYRILLIC CAPITAL LETTER ZHE -"\x87" => 0x0417, //CYRILLIC CAPITAL LETTER ZE -"\x88" => 0x0418, //CYRILLIC CAPITAL LETTER I -"\x89" => 0x0419, //CYRILLIC CAPITAL LETTER SHORT I -"\x8a" => 0x041a, //CYRILLIC CAPITAL LETTER KA -"\x8b" => 0x041b, //CYRILLIC CAPITAL LETTER EL -"\x8c" => 0x041c, //CYRILLIC CAPITAL LETTER EM -"\x8d" => 0x041d, //CYRILLIC CAPITAL LETTER EN -"\x8e" => 0x041e, //CYRILLIC CAPITAL LETTER O -"\x8f" => 0x041f, //CYRILLIC CAPITAL LETTER PE -"\x90" => 0x0420, //CYRILLIC CAPITAL LETTER ER -"\x91" => 0x0421, //CYRILLIC CAPITAL LETTER ES -"\x92" => 0x0422, //CYRILLIC CAPITAL LETTER TE -"\x93" => 0x0423, //CYRILLIC CAPITAL LETTER U -"\x94" => 0x0424, //CYRILLIC CAPITAL LETTER EF -"\x95" => 0x0425, //CYRILLIC CAPITAL LETTER HA -"\x96" => 0x0426, //CYRILLIC CAPITAL LETTER TSE -"\x97" => 0x0427, //CYRILLIC CAPITAL LETTER CHE -"\x98" => 0x0428, //CYRILLIC CAPITAL LETTER SHA -"\x99" => 0x0429, //CYRILLIC CAPITAL LETTER SHCHA -"\x9a" => 0x042a, //CYRILLIC CAPITAL LETTER HARD SIGN -"\x9b" => 0x042b, //CYRILLIC CAPITAL LETTER YERU -"\x9c" => 0x042c, //CYRILLIC CAPITAL LETTER SOFT SIGN -"\x9d" => 0x042d, //CYRILLIC CAPITAL LETTER E -"\x9e" => 0x042e, //CYRILLIC CAPITAL LETTER YU -"\x9f" => 0x042f, //CYRILLIC CAPITAL LETTER YA -"\xa0" => 0x0430, //CYRILLIC SMALL LETTER A -"\xa1" => 0x0431, //CYRILLIC SMALL LETTER BE -"\xa2" => 0x0432, //CYRILLIC SMALL LETTER VE -"\xa3" => 0x0433, //CYRILLIC SMALL LETTER GHE -"\xa4" => 0x0434, //CYRILLIC SMALL LETTER DE -"\xa5" => 0x0435, //CYRILLIC SMALL LETTER IE -"\xa6" => 0x0436, //CYRILLIC SMALL LETTER ZHE -"\xa7" => 0x0437, //CYRILLIC SMALL LETTER ZE -"\xa8" => 0x0438, //CYRILLIC SMALL LETTER I -"\xa9" => 0x0439, //CYRILLIC SMALL LETTER SHORT I -"\xaa" => 0x043a, //CYRILLIC SMALL LETTER KA -"\xab" => 0x043b, //CYRILLIC SMALL LETTER EL -"\xac" => 0x043c, //CYRILLIC SMALL LETTER EM -"\xad" => 0x043d, //CYRILLIC SMALL LETTER EN -"\xae" => 0x043e, //CYRILLIC SMALL LETTER O -"\xaf" => 0x043f, //CYRILLIC SMALL LETTER PE -"\xb0" => 0x2591, //LIGHT SHADE -"\xb1" => 0x2592, //MEDIUM SHADE -"\xb2" => 0x2593, //DARK SHADE -"\xb3" => 0x2502, //BOX DRAWINGS LIGHT VERTICAL -"\xb4" => 0x2524, //BOX DRAWINGS LIGHT VERTICAL AND LEFT -"\xb5" => 0x2561, //BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -"\xb6" => 0x2562, //BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -"\xb7" => 0x2556, //BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -"\xb8" => 0x2555, //BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -"\xb9" => 0x2563, //BOX DRAWINGS DOUBLE VERTICAL AND LEFT -"\xba" => 0x2551, //BOX DRAWINGS DOUBLE VERTICAL -"\xbb" => 0x2557, //BOX DRAWINGS DOUBLE DOWN AND LEFT -"\xbc" => 0x255d, //BOX DRAWINGS DOUBLE UP AND LEFT -"\xbd" => 0x255c, //BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -"\xbe" => 0x255b, //BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -"\xbf" => 0x2510, //BOX DRAWINGS LIGHT DOWN AND LEFT -"\xc0" => 0x2514, //BOX DRAWINGS LIGHT UP AND RIGHT -"\xc1" => 0x2534, //BOX DRAWINGS LIGHT UP AND HORIZONTAL -"\xc2" => 0x252c, //BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -"\xc3" => 0x251c, //BOX DRAWINGS LIGHT VERTICAL AND RIGHT -"\xc4" => 0x2500, //BOX DRAWINGS LIGHT HORIZONTAL -"\xc5" => 0x253c, //BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -"\xc6" => 0x255e, //BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -"\xc7" => 0x255f, //BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -"\xc8" => 0x255a, //BOX DRAWINGS DOUBLE UP AND RIGHT -"\xc9" => 0x2554, //BOX DRAWINGS DOUBLE DOWN AND RIGHT -"\xca" => 0x2569, //BOX DRAWINGS DOUBLE UP AND HORIZONTAL -"\xcb" => 0x2566, //BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -"\xcc" => 0x2560, //BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -"\xcd" => 0x2550, //BOX DRAWINGS DOUBLE HORIZONTAL -"\xce" => 0x256c, //BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -"\xcf" => 0x2567, //BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -"\xd0" => 0x2568, //BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -"\xd1" => 0x2564, //BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -"\xd2" => 0x2565, //BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -"\xd3" => 0x2559, //BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -"\xd4" => 0x2558, //BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -"\xd5" => 0x2552, //BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -"\xd6" => 0x2553, //BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -"\xd7" => 0x256b, //BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -"\xd8" => 0x256a, //BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -"\xd9" => 0x2518, //BOX DRAWINGS LIGHT UP AND LEFT -"\xda" => 0x250c, //BOX DRAWINGS LIGHT DOWN AND RIGHT -"\xdb" => 0x2588, //FULL BLOCK -"\xdc" => 0x2584, //LOWER HALF BLOCK -"\xdd" => 0x258c, //LEFT HALF BLOCK -"\xde" => 0x2590, //RIGHT HALF BLOCK -"\xdf" => 0x2580, //UPPER HALF BLOCK -"\xe0" => 0x0440, //CYRILLIC SMALL LETTER ER -"\xe1" => 0x0441, //CYRILLIC SMALL LETTER ES -"\xe2" => 0x0442, //CYRILLIC SMALL LETTER TE -"\xe3" => 0x0443, //CYRILLIC SMALL LETTER U -"\xe4" => 0x0444, //CYRILLIC SMALL LETTER EF -"\xe5" => 0x0445, //CYRILLIC SMALL LETTER HA -"\xe6" => 0x0446, //CYRILLIC SMALL LETTER TSE -"\xe7" => 0x0447, //CYRILLIC SMALL LETTER CHE -"\xe8" => 0x0448, //CYRILLIC SMALL LETTER SHA -"\xe9" => 0x0449, //CYRILLIC SMALL LETTER SHCHA -"\xea" => 0x044a, //CYRILLIC SMALL LETTER HARD SIGN -"\xeb" => 0x044b, //CYRILLIC SMALL LETTER YERU -"\xec" => 0x044c, //CYRILLIC SMALL LETTER SOFT SIGN -"\xed" => 0x044d, //CYRILLIC SMALL LETTER E -"\xee" => 0x044e, //CYRILLIC SMALL LETTER YU -"\xef" => 0x044f, //CYRILLIC SMALL LETTER YA -"\xf0" => 0x0401, //CYRILLIC CAPITAL LETTER IO -"\xf1" => 0x0451, //CYRILLIC SMALL LETTER IO -"\xf2" => 0x0404, //CYRILLIC CAPITAL LETTER UKRAINIAN IE -"\xf3" => 0x0454, //CYRILLIC SMALL LETTER UKRAINIAN IE -"\xf4" => 0x0407, //CYRILLIC CAPITAL LETTER YI -"\xf5" => 0x0457, //CYRILLIC SMALL LETTER YI -"\xf6" => 0x040e, //CYRILLIC CAPITAL LETTER SHORT U -"\xf7" => 0x045e, //CYRILLIC SMALL LETTER SHORT U -"\xf8" => 0x00b0, //DEGREE SIGN -"\xf9" => 0x2219, //BULLET OPERATOR -"\xfa" => 0x00b7, //MIDDLE DOT -"\xfb" => 0x221a, //SQUARE ROOT -"\xfc" => 0x2116, //NUMERO SIGN -"\xfd" => 0x00a4, //CURRENCY SIGN -"\xfe" => 0x25a0, //BLACK SQUARE -"\xff" => 0x00a0, //NO-BREAK SPACE -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.dingbats.inc.php b/thirdparty/html2ps_pdf/encoding.dingbats.inc.php deleted file mode 100644 index f1c43ca29..000000000 --- a/thirdparty/html2ps_pdf/encoding.dingbats.inc.php +++ /dev/null @@ -1,210 +0,0 @@ - 0x0020, // SPACE // space -"\x20" => 0x00A0, // NO-BREAK SPACE // space -"\x21" => 0x2701, // UPPER BLADE SCISSORS // a1 -"\x22" => 0x2702, // BLACK SCISSORS // a2 -"\x23" => 0x2703, // LOWER BLADE SCISSORS // a202 -"\x24" => 0x2704, // WHITE SCISSORS // a3 -"\x25" => 0x260E, // BLACK TELEPHONE // a4 -"\x26" => 0x2706, // TELEPHONE LOCATION SIGN // a5 -"\x27" => 0x2707, // TAPE DRIVE // a119 -"\x28" => 0x2708, // AIRPLANE // a118 -"\x29" => 0x2709, // ENVELOPE // a117 -"\x2A" => 0x261B, // BLACK RIGHT POINTING INDEX // a11 -"\x2B" => 0x261E, // WHITE RIGHT POINTING INDEX // a12 -"\x2C" => 0x270C, // VICTORY HAND // a13 -"\x2D" => 0x270D, // WRITING HAND // a14 -"\x2E" => 0x270E, // LOWER RIGHT PENCIL // a15 -"\x2F" => 0x270F, // PENCIL // a16 -"\x30" => 0x2710, // UPPER RIGHT PENCIL // a105 -"\x31" => 0x2711, // WHITE NIB // a17 -"\x32" => 0x2712, // BLACK NIB // a18 -"\x33" => 0x2713, // CHECK MARK // a19 -"\x34" => 0x2714, // HEAVY CHECK MARK // a20 -"\x35" => 0x2715, // MULTIPLICATION X // a21 -"\x36" => 0x2716, // HEAVY MULTIPLICATION X // a22 -"\x37" => 0x2717, // BALLOT X // a23 -"\x38" => 0x2718, // HEAVY BALLOT X // a24 -"\x39" => 0x2719, // OUTLINED GREEK CROSS // a25 -"\x3A" => 0x271A, // HEAVY GREEK CROSS // a26 -"\x3B" => 0x271B, // OPEN CENTRE CROSS // a27 -"\x3C" => 0x271C, // HEAVY OPEN CENTRE CROSS // a28 -"\x3D" => 0x271D, // LATIN CROSS // a6 -"\x3E" => 0x271E, // SHADOWED WHITE LATIN CROSS // a7 -"\x3F" => 0x271F, // OUTLINED LATIN CROSS // a8 -"\x40" => 0x2720, // MALTESE CROSS // a9 -"\x41" => 0x2721, // STAR OF DAVID // a10 -"\x42" => 0x2722, // FOUR TEARDROP-SPOKED ASTERISK // a29 -"\x43" => 0x2723, // FOUR BALLOON-SPOKED ASTERISK // a30 -"\x44" => 0x2724, // HEAVY FOUR BALLOON-SPOKED ASTERISK // a31 -"\x45" => 0x2725, // FOUR CLUB-SPOKED ASTERISK // a32 -"\x46" => 0x2726, // BLACK FOUR POINTED STAR // a33 -"\x47" => 0x2727, // WHITE FOUR POINTED STAR // a34 -"\x48" => 0x2605, // BLACK STAR // a35 -"\x49" => 0x2729, // STRESS OUTLINED WHITE STAR // a36 -"\x4A" => 0x272A, // CIRCLED WHITE STAR // a37 -"\x4B" => 0x272B, // OPEN CENTRE BLACK STAR // a38 -"\x4C" => 0x272C, // BLACK CENTRE WHITE STAR // a39 -"\x4D" => 0x272D, // OUTLINED BLACK STAR // a40 -"\x4E" => 0x272E, // HEAVY OUTLINED BLACK STAR // a41 -"\x4F" => 0x272F, // PINWHEEL STAR // a42 -"\x50" => 0x2730, // SHADOWED WHITE STAR // a43 -"\x51" => 0x2731, // HEAVY ASTERISK // a44 -"\x52" => 0x2732, // OPEN CENTRE ASTERISK // a45 -"\x53" => 0x2733, // EIGHT SPOKED ASTERISK // a46 -"\x54" => 0x2734, // EIGHT POINTED BLACK STAR // a47 -"\x55" => 0x2735, // EIGHT POINTED PINWHEEL STAR // a48 -"\x56" => 0x2736, // SIX POINTED BLACK STAR // a49 -"\x57" => 0x2737, // EIGHT POINTED RECTILINEAR BLACK STAR // a50 -"\x58" => 0x2738, // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR // a51 -"\x59" => 0x2739, // TWELVE POINTED BLACK STAR // a52 -"\x5A" => 0x273A, // SIXTEEN POINTED ASTERISK // a53 -"\x5B" => 0x273B, // TEARDROP-SPOKED ASTERISK // a54 -"\x5C" => 0x273C, // OPEN CENTRE TEARDROP-SPOKED ASTERISK // a55 -"\x5D" => 0x273D, // HEAVY TEARDROP-SPOKED ASTERISK // a56 -"\x5E" => 0x273E, // SIX PETALLED BLACK AND WHITE FLORETTE // a57 -"\x5F" => 0x273F, // BLACK FLORETTE // a58 -"\x60" => 0x2740, // WHITE FLORETTE // a59 -"\x61" => 0x2741, // EIGHT PETALLED OUTLINED BLACK FLORETTE // a60 -"\x62" => 0x2742, // CIRCLED OPEN CENTRE EIGHT POINTED STAR // a61 -"\x63" => 0x2743, // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK // a62 -"\x64" => 0x2744, // SNOWFLAKE // a63 -"\x65" => 0x2745, // TIGHT TRIFOLIATE SNOWFLAKE // a64 -"\x66" => 0x2746, // HEAVY CHEVRON SNOWFLAKE // a65 -"\x67" => 0x2747, // SPARKLE // a66 -"\x68" => 0x2748, // HEAVY SPARKLE // a67 -"\x69" => 0x2749, // BALLOON-SPOKED ASTERISK // a68 -"\x6A" => 0x274A, // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK // a69 -"\x6B" => 0x274B, // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK // a70 -"\x6C" => 0x25CF, // BLACK CIRCLE // a71 -"\x6D" => 0x274D, // SHADOWED WHITE CIRCLE // a72 -"\x6E" => 0x25A0, // BLACK SQUARE // a73 -"\x6F" => 0x274F, // LOWER RIGHT DROP-SHADOWED WHITE SQUARE // a74 -"\x70" => 0x2750, // UPPER RIGHT DROP-SHADOWED WHITE SQUARE // a203 -"\x71" => 0x2751, // LOWER RIGHT SHADOWED WHITE SQUARE // a75 -"\x72" => 0x2752, // UPPER RIGHT SHADOWED WHITE SQUARE // a204 -"\x73" => 0x25B2, // BLACK UP-POINTING TRIANGLE // a76 -"\x74" => 0x25BC, // BLACK DOWN-POINTING TRIANGLE // a77 -"\x75" => 0x25C6, // BLACK DIAMOND // a78 -"\x76" => 0x2756, // BLACK DIAMOND MINUS WHITE X // a79 -"\x77" => 0x25D7, // RIGHT HALF BLACK CIRCLE // a81 -"\x78" => 0x2758, // LIGHT VERTICAL BAR // a82 -"\x79" => 0x2759, // MEDIUM VERTICAL BAR // a83 -"\x7A" => 0x275A, // HEAVY VERTICAL BAR // a84 -"\x7B" => 0x275B, // HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT // a97 -"\x7C" => 0x275C, // HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT // a98 -"\x7D" => 0x275D, // HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT // a99 -"\x7E" => 0x275E, // HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT // a100 -"\x80" => 0xF8D7, // MEDIUM LEFT PARENTHESIS ORNAMENT // a89 (CUS) -"\x81" => 0xF8D8, // MEDIUM RIGHT PARENTHESIS ORNAMENT // a90 (CUS) -"\x82" => 0xF8D9, // MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT // a93 (CUS) -"\x83" => 0xF8DA, // MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT // a94 (CUS) -"\x84" => 0xF8DB, // MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT // a91 (CUS) -"\x85" => 0xF8DC, // MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT // a92 (CUS) -"\x86" => 0xF8DD, // HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT // a205 (CUS) -"\x87" => 0xF8DE, // HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT // a85 (CUS) -"\x88" => 0xF8DF, // HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT // a206 (CUS) -"\x89" => 0xF8E0, // HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT // a86 (CUS) -"\x8A" => 0xF8E1, // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT // a87 (CUS) -"\x8B" => 0xF8E2, // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT // a88 (CUS) -"\x8C" => 0xF8E3, // MEDIUM LEFT CURLY BRACKET ORNAMENT // a95 (CUS) -"\x8D" => 0xF8E4, // MEDIUM RIGHT CURLY BRACKET ORNAMENT // a96 (CUS) -"\xA1" => 0x2761, // CURVED STEM PARAGRAPH SIGN ORNAMENT // a101 -"\xA2" => 0x2762, // HEAVY EXCLAMATION MARK ORNAMENT // a102 -"\xA3" => 0x2763, // HEAVY HEART EXCLAMATION MARK ORNAMENT // a103 -"\xA4" => 0x2764, // HEAVY BLACK HEART // a104 -"\xA5" => 0x2765, // ROTATED HEAVY BLACK HEART BULLET // a106 -"\xA6" => 0x2766, // FLORAL HEART // a107 -"\xA7" => 0x2767, // ROTATED FLORAL HEART BULLET // a108 -"\xA8" => 0x2663, // BLACK CLUB SUIT // a112 -"\xA9" => 0x2666, // BLACK DIAMOND SUIT // a111 -"\xAA" => 0x2665, // BLACK HEART SUIT // a110 -"\xAB" => 0x2660, // BLACK SPADE SUIT // a109 -"\xAC" => 0x2460, // CIRCLED DIGIT ONE // a120 -"\xAD" => 0x2461, // CIRCLED DIGIT TWO // a121 -"\xAE" => 0x2462, // CIRCLED DIGIT THREE // a122 -"\xAF" => 0x2463, // CIRCLED DIGIT FOUR // a123 -"\xB0" => 0x2464, // CIRCLED DIGIT FIVE // a124 -"\xB1" => 0x2465, // CIRCLED DIGIT SIX // a125 -"\xB2" => 0x2466, // CIRCLED DIGIT SEVEN // a126 -"\xB3" => 0x2467, // CIRCLED DIGIT EIGHT // a127 -"\xB4" => 0x2468, // CIRCLED DIGIT NINE // a128 -"\xB5" => 0x2469, // CIRCLED NUMBER TEN // a129 -"\xB6" => 0x2776, // DINGBAT NEGATIVE CIRCLED DIGIT ONE // a130 -"\xB7" => 0x2777, // DINGBAT NEGATIVE CIRCLED DIGIT TWO // a131 -"\xB8" => 0x2778, // DINGBAT NEGATIVE CIRCLED DIGIT THREE // a132 -"\xB9" => 0x2779, // DINGBAT NEGATIVE CIRCLED DIGIT FOUR // a133 -"\xBA" => 0x277A, // DINGBAT NEGATIVE CIRCLED DIGIT FIVE // a134 -"\xBB" => 0x277B, // DINGBAT NEGATIVE CIRCLED DIGIT SIX // a135 -"\xBC" => 0x277C, // DINGBAT NEGATIVE CIRCLED DIGIT SEVEN // a136 -"\xBD" => 0x277D, // DINGBAT NEGATIVE CIRCLED DIGIT EIGHT // a137 -"\xBE" => 0x277E, // DINGBAT NEGATIVE CIRCLED DIGIT NINE // a138 -"\xBF" => 0x277F, // DINGBAT NEGATIVE CIRCLED NUMBER TEN // a139 -"\xC0" => 0x2780, // DINGBAT CIRCLED SANS-SERIF DIGIT ONE // a140 -"\xC1" => 0x2781, // DINGBAT CIRCLED SANS-SERIF DIGIT TWO // a141 -"\xC2" => 0x2782, // DINGBAT CIRCLED SANS-SERIF DIGIT THREE // a142 -"\xC3" => 0x2783, // DINGBAT CIRCLED SANS-SERIF DIGIT FOUR // a143 -"\xC4" => 0x2784, // DINGBAT CIRCLED SANS-SERIF DIGIT FIVE // a144 -"\xC5" => 0x2785, // DINGBAT CIRCLED SANS-SERIF DIGIT SIX // a145 -"\xC6" => 0x2786, // DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN // a146 -"\xC7" => 0x2787, // DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT // a147 -"\xC8" => 0x2788, // DINGBAT CIRCLED SANS-SERIF DIGIT NINE // a148 -"\xC9" => 0x2789, // DINGBAT CIRCLED SANS-SERIF NUMBER TEN // a149 -"\xCA" => 0x278A, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE // a150 -"\xCB" => 0x278B, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO // a151 -"\xCC" => 0x278C, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE // a152 -"\xCD" => 0x278D, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR // a153 -"\xCE" => 0x278E, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE // a154 -"\xCF" => 0x278F, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX // a155 -"\xD0" => 0x2790, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN // a156 -"\xD1" => 0x2791, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT // a157 -"\xD2" => 0x2792, // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE // a158 -"\xD3" => 0x2793, // DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN // a159 -"\xD4" => 0x2794, // HEAVY WIDE-HEADED RIGHTWARDS ARROW // a160 -"\xD5" => 0x2192, // RIGHTWARDS ARROW // a161 -"\xD6" => 0x2194, // LEFT RIGHT ARROW // a163 -"\xD7" => 0x2195, // UP DOWN ARROW // a164 -"\xD8" => 0x2798, // HEAVY SOUTH EAST ARROW // a196 -"\xD9" => 0x2799, // HEAVY RIGHTWARDS ARROW // a165 -"\xDA" => 0x279A, // HEAVY NORTH EAST ARROW // a192 -"\xDB" => 0x279B, // DRAFTING POINT RIGHTWARDS ARROW // a166 -"\xDC" => 0x279C, // HEAVY ROUND-TIPPED RIGHTWARDS ARROW // a167 -"\xDD" => 0x279D, // TRIANGLE-HEADED RIGHTWARDS ARROW // a168 -"\xDE" => 0x279E, // HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW // a169 -"\xDF" => 0x279F, // DASHED TRIANGLE-HEADED RIGHTWARDS ARROW // a170 -"\xE0" => 0x27A0, // HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW // a171 -"\xE1" => 0x27A1, // BLACK RIGHTWARDS ARROW // a172 -"\xE2" => 0x27A2, // THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD // a173 -"\xE3" => 0x27A3, // THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD // a162 -"\xE4" => 0x27A4, // BLACK RIGHTWARDS ARROWHEAD // a174 -"\xE5" => 0x27A5, // HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW // a175 -"\xE6" => 0x27A6, // HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW // a176 -"\xE7" => 0x27A7, // SQUAT BLACK RIGHTWARDS ARROW // a177 -"\xE8" => 0x27A8, // HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW // a178 -"\xE9" => 0x27A9, // RIGHT-SHADED WHITE RIGHTWARDS ARROW // a179 -"\xEA" => 0x27AA, // LEFT-SHADED WHITE RIGHTWARDS ARROW // a193 -"\xEB" => 0x27AB, // BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW // a180 -"\xEC" => 0x27AC, // FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW // a199 -"\xED" => 0x27AD, // HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW // a181 -"\xEE" => 0x27AE, // HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW // a200 -"\xEF" => 0x27AF, // NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW // a182 -"\xF1" => 0x27B1, // NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW // a201 -"\xF2" => 0x27B2, // CIRCLED HEAVY WHITE RIGHTWARDS ARROW // a183 -"\xF3" => 0x27B3, // WHITE-FEATHERED RIGHTWARDS ARROW // a184 -"\xF4" => 0x27B4, // BLACK-FEATHERED SOUTH EAST ARROW // a197 -"\xF5" => 0x27B5, // BLACK-FEATHERED RIGHTWARDS ARROW // a185 -"\xF6" => 0x27B6, // BLACK-FEATHERED NORTH EAST ARROW // a194 -"\xF7" => 0x27B7, // HEAVY BLACK-FEATHERED SOUTH EAST ARROW // a198 -"\xF8" => 0x27B8, // HEAVY BLACK-FEATHERED RIGHTWARDS ARROW // a186 -"\xF9" => 0x27B9, // HEAVY BLACK-FEATHERED NORTH EAST ARROW // a195 -"\xFA" => 0x27BA, // TEARDROP-BARBED RIGHTWARDS ARROW // a187 -"\xFB" => 0x27BB, // HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW // a188 -"\xFC" => 0x27BC, // WEDGE-TAILED RIGHTWARDS ARROW // a189 -"\xFD" => 0x27BD, // HEAVY WEDGE-TAILED RIGHTWARDS ARROW // a190 -"\xFE" => 0x27BE // OPEN-OUTLINED RIGHTWARDS ARROW // a191 -); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.entities.inc.php b/thirdparty/html2ps_pdf/encoding.entities.inc.php deleted file mode 100644 index ddb2dc44b..000000000 --- a/thirdparty/html2ps_pdf/encoding.entities.inc.php +++ /dev/null @@ -1,289 +0,0 @@ - "160", /* no-break space = non-breaking space,U+00A0 ISOnum */ - "iexcl" => "161", /* inverted exclamation mark, U+00A1 ISOnum */ - "cent" => "162", /* cent sign, U+00A2 ISOnum */ - "pound" => "163", /* pound sign, U+00A3 ISOnum */ - "curren" => "164", /* currency sign, U+00A4 ISOnum */ - "yen" => "165", /* yen sign = yuan sign, U+00A5 ISOnum */ - "brvbar" => "166", /* broken bar = broken vertical bar,U+00A6 ISOnum */ - "sect" => "167", /* section sign, U+00A7 ISOnum */ - "uml" => "168", /* diaeresis = spacing diaeresis,U+00A8 ISOdia */ - "copy" => "169", /* copyright sign, U+00A9 ISOnum */ - "ordf" => "170", /* feminine ordinal indicator, U+00AA ISOnum */ - "laquo" => "171", /* left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum */ - "not" => "172", /* not sign, U+00AC ISOnum */ - "shy" => "173", /* soft hyphen = discretionary hyphen,U+00AD ISOnum */ - "reg" => "174", /* registered sign = registered trade mark sign,U+00AE ISOnum */ - "macr" => "175", /* macron = spacing macron = overline = APL overbar, U+00AF ISOdia */ - "deg" => "176", /* degree sign, U+00B0 ISOnum */ - "plusmn" => "177", /* plus-minus sign = plus-or-minus sign,U+00B1 ISOnum */ - "sup2" => "178", /* superscript two = superscript digit two = squared, U+00B2 ISOnum */ - "sup3" => "179", /* superscript three = superscript digit three = cubed, U+00B3 ISOnum */ - "acute" => "180", /* acute accent = spacing acute,U+00B4 ISOdia */ - "micro" => "181", /* micro sign, U+00B5 ISOnum */ - "para" => "182", /* pilcrow sign = paragraph sign,U+00B6 ISOnum */ - "middot" => "183", /* middle dot = Georgian comma = Greek middle dot, U+00B7 ISOnum */ - "cedil" => "184", /* cedilla = spacing cedilla, U+00B8 ISOdia */ - "sup1" => "185", /* superscript one = superscript digit one,U+00B9 ISOnum */ - "ordm" => "186", /* masculine ordinal indicator,U+00BA ISOnum */ - "raquo" => "187", /* right-pointing double angle quotation mark = right pointing guillemet, U+00BB ISOnum */ - "frac14" => "188", /* vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum */ - "frac12" => "189", /* vulgar fraction one half = fraction one half, U+00BD ISOnum */ - "frac34" => "190", /* vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum */ - "iquest" => "191", /* inverted question mark = turned question mark, U+00BF ISOnum */ - "Agrave" => "192", /* latin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1 */ - "Aacute" => "193", /* latin capital letter A with acute,U+00C1 ISOlat1 */ - "Acirc" => "194", /* latin capital letter A with circumflex,U+00C2 ISOlat1 */ - "Atilde" => "195", /* latin capital letter A with tilde,U+00C3 ISOlat1 */ - "Auml" => "196", /* latin capital letter A with diaeresis,U+00C4 ISOlat1 */ - "Aring" => "197", /* latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1 */ - "AElig" => "198", /* latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1 */ - "Ccedil" => "199", /* latin capital letter C with cedilla,U+00C7 ISOlat1 */ - "Egrave" => "200", /* latin capital letter E with grave,U+00C8 ISOlat1 */ - "Eacute" => "201", /* latin capital letter E with acute,U+00C9 ISOlat1 */ - "Ecirc" => "202", /* latin capital letter E with circumflex,U+00CA ISOlat1 */ - "Euml" => "203", /* latin capital letter E with diaeresis,U+00CB ISOlat1 */ - "Igrave" => "204", /* latin capital letter I with grave,U+00CC ISOlat1 */ - "Iacute" => "205", /* latin capital letter I with acute,U+00CD ISOlat1 */ - "Icirc" => "206", /* latin capital letter I with circumflex,U+00CE ISOlat1 */ - "Iuml" => "207", /* latin capital letter I with diaeresis,U+00CF ISOlat1 */ - "ETH" => "208", /* latin capital letter ETH, U+00D0 ISOlat1 */ - "Ntilde" => "209", /* latin capital letter N with tilde,U+00D1 ISOlat1 */ - "Ograve" => "210", /* latin capital letter O with grave,U+00D2 ISOlat1 */ - "Oacute" => "211", /* latin capital letter O with acute,U+00D3 ISOlat1 */ - "Ocirc" => "212", /* latin capital letter O with circumflex,U+00D4 ISOlat1 */ - "Otilde" => "213", /* latin capital letter O with tilde,U+00D5 ISOlat1 */ - "Ouml" => "214", /* latin capital letter O with diaeresis,U+00D6 ISOlat1 */ - "times" => "215", /* multiplication sign, U+00D7 ISOnum */ - "Oslash" => "216", /* latin capital letter O with stroke = latin capital letter O slash, U+00D8 ISOlat1 */ - "Ugrave" => "217", /* latin capital letter U with grave,U+00D9 ISOlat1 */ - "Uacute" => "218", /* latin capital letter U with acute,U+00DA ISOlat1 */ - "Ucirc" => "219", /* latin capital letter U with circumflex,U+00DB ISOlat1 */ - "Uuml" => "220", /* latin capital letter U with diaeresis,U+00DC ISOlat1 */ - "Yacute" => "221", /* latin capital letter Y with acute,U+00DD ISOlat1 */ - "THORN" => "222", /* latin capital letter THORN,U+00DE ISOlat1 */ - "szlig" => "223", /* latin small letter sharp s = ess-zed,U+00DF ISOlat1 */ - "agrave" => "224", /* latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1 */ - "aacute" => "225", /* latin small letter a with acute,U+00E1 ISOlat1 */ - "acirc" => "226", /* latin small letter a with circumflex,U+00E2 ISOlat1 */ - "atilde" => "227", /* latin small letter a with tilde,U+00E3 ISOlat1 */ - "auml" => "228", /* latin small letter a with diaeresis,U+00E4 ISOlat1 */ - "aring" => "229", /* latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1 */ - "aelig" => "230", /* latin small letter ae = latin small ligature ae, U+00E6 ISOlat1 */ - "ccedil" => "231", /* latin small letter c with cedilla,U+00E7 ISOlat1 */ - "egrave" => "232", /* latin small letter e with grave,U+00E8 ISOlat1 */ - "eacute" => "233", /* latin small letter e with acute,U+00E9 ISOlat1 */ - "ecirc" => "234", /* latin small letter e with circumflex,U+00EA ISOlat1 */ - "euml" => "235", /* latin small letter e with diaeresis,U+00EB ISOlat1 */ - "igrave" => "236", /* latin small letter i with grave,U+00EC ISOlat1 */ - "iacute" => "237", /* latin small letter i with acute,U+00ED ISOlat1 */ - "icirc" => "238", /* latin small letter i with circumflex,U+00EE ISOlat1 */ - "iuml" => "239", /* latin small letter i with diaeresis,U+00EF ISOlat1 */ - "eth" => "240", /* latin small letter eth, U+00F0 ISOlat1 */ - "ntilde" => "241", /* latin small letter n with tilde,U+00F1 ISOlat1 */ - "ograve" => "242", /* latin small letter o with grave,U+00F2 ISOlat1 */ - "oacute" => "243", /* latin small letter o with acute,U+00F3 ISOlat1 */ - "ocirc" => "244", /* latin small letter o with circumflex,U+00F4 ISOlat1 */ - "otilde" => "245", /* latin small letter o with tilde,U+00F5 ISOlat1 */ - "ouml" => "246", /* latin small letter o with diaeresis,U+00F6 ISOlat1 */ - "divide" => "247", /* division sign, U+00F7 ISOnum */ - "oslash" => "248", /* latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1 */ - "ugrave" => "249", /* latin small letter u with grave,U+00F9 ISOlat1 */ - "uacute" => "250", /* latin small letter u with acute,U+00FA ISOlat1 */ - "ucirc" => "251", /* latin small letter u with circumflex,U+00FB ISOlat1 */ - "uuml" => "252", /* latin small letter u with diaeresis,U+00FC ISOlat1 */ - "yacute" => "253", /* latin small letter y with acute,U+00FD ISOlat1 */ - "thorn" => "254", /* latin small letter thorn,U+00FE ISOlat1 */ - "yuml" => "255", /* latin small letter y with diaeresis,U+00FF ISOlat1 */ - /* C0 Controls and Basic Latin */ - "quot" => "34", /* quotation mark = APL quote,U+0022 ISOnum */ - "amp" => "38", /* ampersand, U+0026 ISOnum */ - "lt" => "60", /* less-than sign, U+003C ISOnum */ - "gt" => "62", /* greater-than sign, U+003E ISOnum */ - /* Latin Extended-A */ - "OElig" => "338", /* latin capital ligature OE,U+0152 ISOlat2 */ - "oelig" => "339", /* latin small ligature oe, U+0153 ISOlat2 */ - /* ligature is a misnomer, this is a separate character in some languages */ - "Scaron" => "352", /* latin capital letter S with caron,U+0160 ISOlat2 */ - "scaron" => "353", /* latin small letter s with caron,U+0161 ISOlat2 */ - "Yuml" => "376", /* latin capital letter Y with diaeresis,U+0178 ISOlat2 */ - /* Spacing Modifier Letters */ - "circ" => "710", /* modifier letter circumflex accent,U+02C6 ISOpub */ - "tilde" => "732", /* small tilde, U+02DC ISOdia */ - /* General Punctuation */ - "ensp" => "8194", /* en space, U+2002 ISOpub */ - "emsp" => "8195", /* em space, U+2003 ISOpub */ - "thinsp" => "8201", /* thin space, U+2009 ISOpub */ - "zwnj" => "8204", /* zero width non-joiner,U+200C NEW RFC 2070 */ - "zwj" => "8205", /* zero width joiner, U+200D NEW RFC 2070 */ - "lrm" => "8206", /* left-to-right mark, U+200E NEW RFC 2070 */ - "rlm" => "8207", /* right-to-left mark, U+200F NEW RFC 2070 */ - "ndash" => "8211", /* en dash, U+2013 ISOpub */ - "mdash" => "8212", /* em dash, U+2014 ISOpub */ - "lsquo" => "8216", /* left single quotation mark,U+2018 ISOnum */ - "rsquo" => "8217", /* right single quotation mark,U+2019 ISOnum */ - "sbquo" => "8218", /* single low-9 quotation mark, U+201A NEW */ - "ldquo" => "8220", /* left double quotation mark,U+201C ISOnum */ - "rdquo" => "8221", /* right double quotation mark,U+201D ISOnum */ - "bdquo" => "8222", /* double low-9 quotation mark, U+201E NEW */ - "dagger" => "8224", /* dagger, U+2020 ISOpub */ - "Dagger" => "8225", /* double dagger, U+2021 ISOpub */ - "permil" => "8240", /* per mille sign, U+2030 ISOtech */ - "lsaquo" => "8249", /* single left-pointing angle quotation mark,U+2039 ISO proposed */ - /* lsaquo is proposed but not yet ISO standardized */ - "rsaquo" => "8250", /* single right-pointing angle quotation mark,U+203A ISO proposed */ - /* rsaquo is proposed but not yet ISO standardized */ - "euro" => "8364", /* euro sign, U+20AC NEW */ - /* Latin Extended-B */ - "fnof" => "402", /* latin small f with hook = function = florin, U+0192 ISOtech */ - /* Greek */ - "Alpha" => "913", /* greek capital letter alpha, U+0391 */ - "Beta" => "914", /* greek capital letter beta, U+0392 */ - "Gamma" => "915", /* greek capital letter gamma,U+0393 ISOgrk3 */ - "Delta" => "916", /* greek capital letter delta,U+0394 ISOgrk3 */ - "Epsilon" => "917", /* greek capital letter epsilon, U+0395 */ - "Zeta" => "918", /* greek capital letter zeta, U+0396 */ - "Eta" => "919", /* greek capital letter eta, U+0397 */ - "Theta" => "920", /* greek capital letter theta,U+0398 ISOgrk3 */ - "Iota" => "921", /* greek capital letter iota, U+0399 */ - "Kappa" => "922", /* greek capital letter kappa, U+039A */ - "Lambda" => "923", /* greek capital letter lambda,U+039B ISOgrk3 */ - "Mu" => "924", /* greek capital letter mu, U+039C */ - "Nu" => "925", /* greek capital letter nu, U+039D */ - "Xi" => "926", /* greek capital letter xi, U+039E ISOgrk3 */ - "Omicron" => "927", /* greek capital letter omicron, U+039F */ - "Pi" => "928", /* greek capital letter pi, U+03A0 ISOgrk3 */ - "Rho" => "929", /* greek capital letter rho, U+03A1 */ - /* there is no Sigmaf, and no U+03A2 character either */ - "Sigma" => "931", /* greek capital letter sigma,U+03A3 ISOgrk3 */ - "Tau" => "932", /* greek capital letter tau, U+03A4 */ - "Upsilon" => "933", /* greek capital letter upsilon,U+03A5 ISOgrk3 */ - "Phi" => "934", /* greek capital letter phi,U+03A6 ISOgrk3 */ - "Chi" => "935", /* greek capital letter chi, U+03A7 */ - "Psi" => "936", /* greek capital letter psi,U+03A8 ISOgrk3 */ - "Omega" => "937", /* greek capital letter omega,U+03A9 ISOgrk3 */ - "alpha" => "945", /* greek small letter alpha,U+03B1 ISOgrk3 */ - "beta" => "946", /* greek small letter beta, U+03B2 ISOgrk3 */ - "gamma" => "947", /* greek small letter gamma,U+03B3 ISOgrk3 */ - "delta" => "948", /* greek small letter delta,U+03B4 ISOgrk3 */ - "epsilon" => "949", /* greek small letter epsilon,U+03B5 ISOgrk3 */ - "zeta" => "950", /* greek small letter zeta, U+03B6 ISOgrk3 */ - "eta" => "951", /* greek small letter eta, U+03B7 ISOgrk3 */ - "theta" => "952", /* greek small letter theta,U+03B8 ISOgrk3 */ - "iota" => "953", /* greek small letter iota, U+03B9 ISOgrk3 */ - "kappa" => "954", /* greek small letter kappa,U+03BA ISOgrk3 */ - "lambda" => "955", /* greek small letter lambda,U+03BB ISOgrk3 */ - "mu" => "956", /* greek small letter mu, U+03BC ISOgrk3 */ - "nu" => "957", /* greek small letter nu, U+03BD ISOgrk3 */ - "xi" => "958", /* greek small letter xi, U+03BE ISOgrk3 */ - "omicron" => "959", /* greek small letter omicron, U+03BF NEW */ - "pi" => "960", /* greek small letter pi, U+03C0 ISOgrk3 */ - "rho" => "961", /* greek small letter rho, U+03C1 ISOgrk3 */ - "sigmaf" => "962", /* greek small letter final sigma,U+03C2 ISOgrk3 */ - "sigma" => "963", /* greek small letter sigma,U+03C3 ISOgrk3 */ - "tau" => "964", /* greek small letter tau, U+03C4 ISOgrk3 */ - "upsilon" => "965", /* greek small letter upsilon,U+03C5 ISOgrk3 */ - "phi" => "966", /* greek small letter phi, U+03C6 ISOgrk3 */ - "chi" => "967", /* greek small letter chi, U+03C7 ISOgrk3 */ - "psi" => "968", /* greek small letter psi, U+03C8 ISOgrk3 */ - "omega" => "969", /* greek small letter omega,U+03C9 ISOgrk3 */ - "thetasym" => "977", /* greek small letter theta symbol,U+03D1 NEW */ - "upsih" => "978", /* greek upsilon with hook symbol,U+03D2 NEW */ - "piv" => "982", /* greek pi symbol, U+03D6 ISOgrk3 */ - /* General Punctuation */ - "bull" => "8226", /* bullet = black small circle,U+2022 ISOpub */ - /* bullet is NOT the same as bullet operator, U+2219 */ - "hellip" => "8230", /* horizontal ellipsis = three dot leader,U+2026 ISOpub */ - "prime" => "8242", /* prime = minutes = feet, U+2032 ISOtech */ - "Prime" => "8243", /* double prime = seconds = inches,U+2033 ISOtech */ - "oline" => "8254", /* overline = spacing overscore,U+203E NEW */ - "frasl" => "8260", /* fraction slash, U+2044 NEW */ - /* Letterlike Symbols */ - "weierp" => "8472", /* script capital P = power set = Weierstrass p, U+2118 ISOamso */ - "image" => "8465", /* blackletter capital I = imaginary part,U+2111 ISOamso */ - "real" => "8476", /* blackletter capital R = real part symbol,U+211C ISOamso */ - "trade" => "8482", /* trade mark sign, U+2122 ISOnum */ - "alefsym" => "8501", /* alef symbol = first transfinite cardinal,U+2135 NEW */ - /* alef symbol is NOT the same as hebrew letter alef, U+05D0 although the same glyph could be used to depict both characters */ - /* Arrows */ - "larr" => "8592", /* leftwards arrow, U+2190 ISOnum */ - "uarr" => "8593", /* upwards arrow, U+2191 ISOnum */ - "rarr" => "8594", /* rightwards arrow, U+2192 ISOnum */ - "darr" => "8595", /* downwards arrow, U+2193 ISOnum */ - "harr" => "8596", /* left right arrow, U+2194 ISOamsa */ - "crarr" => "8629", /* downwards arrow with corner leftwards = carriage return, U+21B5 NEW */ - "lArr" => "8656", /* leftwards double arrow, U+21D0 ISOtech */ - /* ISO 10646 does not say that lArr is the same as the 'is implied by' arrow but also does not have any other character for that function. So ? lArr can be used for 'is implied by' as ISOtech suggests */ - "uArr" => "8657", /* upwards double arrow, U+21D1 ISOamsa */ - "rArr" => "8658", /* rightwards double arrow,U+21D2 ISOtech */ - /* ISO 10646 does not say this is the 'implies' character but does not have another character with this function so rArr can be used for 'implies' as ISOtech suggests */ - "dArr" => "8659", /* downwards double arrow, U+21D3 ISOamsa */ - "hArr" => "8660", /* left right double arrow,U+21D4 ISOamsa */ - /* Mathematical Operators */ - "forall" => "8704", /* for all, U+2200 ISOtech */ - "part" => "8706", /* partial differential, U+2202 ISOtech */ - "exist" => "8707", /* there exists, U+2203 ISOtech */ - "empty" => "8709", /* empty set = null set = diameter,U+2205 ISOamso */ - "nabla" => "8711", /* nabla = backward difference,U+2207 ISOtech */ - "isin" => "8712", /* element of, U+2208 ISOtech */ - "notin" => "8713", /* not an element of, U+2209 ISOtech */ - "ni" => "8715", /* contains as member, U+220B ISOtech */ - /* should there be a more memorable name than 'ni'? */ - "prod" => "8719", /* n-ary product = product sign,U+220F ISOamsb */ - /* prod is NOT the same character as U+03A0 'greek capital letter pi' though the same glyph might be used for both */ - "sum" => "8721", /* n-ary sumation, U+2211 ISOamsb */ - /* sum is NOT the same character as U+03A3 'greek capital letter sigma' though the same glyph might be used for both */ - "minus" => "8722", /* minus sign, U+2212 ISOtech */ - "lowast" => "8727", /* asterisk operator, U+2217 ISOtech */ - "radic" => "8730", /* square root = radical sign,U+221A ISOtech */ - "prop" => "8733", /* proportional to, U+221D ISOtech */ - "infin" => "8734", /* infinity, U+221E ISOtech */ - "ang" => "8736", /* angle, U+2220 ISOamso */ - "and" => "8743", /* logical and = wedge, U+2227 ISOtech */ - "or" => "8744", /* logical or = vee, U+2228 ISOtech */ - "cap" => "8745", /* intersection = cap, U+2229 ISOtech */ - "cup" => "8746", /* union = cup, U+222A ISOtech */ - "int" => "8747", /* integral, U+222B ISOtech */ - "there4" => "8756", /* therefore, U+2234 ISOtech */ - "sim" => "8764", /* tilde operator = varies with = similar to,U+223C ISOtech */ - /* tilde operator is NOT the same character as the tilde, U+007E, although the same glyph might be used to represent both */ - "cong" => "8773", /* approximately equal to, U+2245 ISOtech */ - "asymp" => "8776", /* almost equal to = asymptotic to,U+2248 ISOamsr */ - "ne" => "8800", /* not equal to, U+2260 ISOtech */ - "equiv" => "8801", /* identical to, U+2261 ISOtech */ - "le" => "8804", /* less-than or equal to, U+2264 ISOtech */ - "ge" => "8805", /* greater-than or equal to,U+2265 ISOtech */ - "sub" => "8834", /* subset of, U+2282 ISOtech */ - "sup" => "8835", /* superset of, U+2283 ISOtech */ - /* note that nsup, 'not a superset of, U+2283' is not covered by the Symbol font encoding and is not included. Should it be, for symmetry? It is in ISOamsn */ - "nsub" => "8836", /* not a subset of, U+2284 ISOamsn */ - "sube" => "8838", /* subset of or equal to, U+2286 ISOtech */ - "supe" => "8839", /* superset of or equal to,U+2287 ISOtech */ - "oplus" => "8853", /* circled plus = direct sum,U+2295 ISOamsb */ - "otimes" => "8855", /* circled times = vector product,U+2297 ISOamsb */ - "perp" => "8869", /* up tack = orthogonal to = perpendicular,U+22A5 ISOtech */ - "sdot" => "8901", /* dot operator, U+22C5 ISOamsb */ - /* dot operator is NOT the same character as U+00B7 middle dot */ - /* Miscellaneous Technical */ - "lceil" => "8968", /* left ceiling = apl upstile,U+2308 ISOamsc */ - "rceil" => "8969", /* right ceiling, U+2309 ISOamsc */ - "lfloor" => "8970", /* left floor = apl downstile,U+230A ISOamsc */ - "rfloor" => "8971", /* right floor, U+230B ISOamsc */ - "lang" => "9001", /* left-pointing angle bracket = bra,U+2329 ISOtech */ - /* lang is NOT the same character as U+003C 'less than' or U+2039 'single left-pointing angle quotation mark' */ - "rang" => "9002", /* right-pointing angle bracket = ket,U+232A ISOtech */ - /* rang is NOT the same character as U+003E 'greater than' or U+203A 'single right-pointing angle quotation mark' */ - /* Geometric Shapes */ - "loz" => "9674", /* lozenge, U+25CA ISOpub */ - /* Miscellaneous Symbols */ - "spades" => "9824", /* black spade suit, U+2660 ISOpub */ - /* black here seems to mean filled as opposed to hollow */ - "clubs" => "9827", /* black club suit = shamrock,U+2663 ISOpub */ - "hearts" => "9829", /* black heart suit = valentine,U+2665 ISOpub */ - "diams" => "9830", /* black diamond suit, U+2666 ISOpub */ - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.glyphs.inc.php b/thirdparty/html2ps_pdf/encoding.glyphs.inc.php deleted file mode 100644 index cea2d77cd..000000000 --- a/thirdparty/html2ps_pdf/encoding.glyphs.inc.php +++ /dev/null @@ -1,4060 +0,0 @@ - 'controlSTX', -0x0002 => 'controlSOT', -0x0003 => 'controlETX', -0x0004 => 'controlEOT', -0x0005 => 'controlENQ', -0x0006 => 'controlACK', -0x0007 => 'controlBEL', -0x0008 => 'controlBS', -0x0009 => 'controlHT', -0x000A => 'controlLF', -0x000B => 'controlVT', -0x000C => 'controlFF', -0x000D => 'controlCR', -0x000E => 'controlSO', -0x000F => 'controlSI', -0x0010 => 'controlDLE', -0x0011 => 'controlDC1', -0x0012 => 'controlDC2', -0x0013 => 'controlDC3', -0x0014 => 'controlDC4', -0x0015 => 'controlNAK', -0x0016 => 'controlSYN', -0x0017 => 'controlETB', -0x0018 => 'controlCAN', -0x0019 => 'controlEM', -0x001A => 'controlSUB', -0x001B => 'controlESC', -0x001C => 'controlFS', -0x001D => 'controlGS', -0x001E => 'controlRS', -0x001F => 'controlUS', -0x0020 => 'space', -0x0021 => 'exclam', -0x0022 => 'quotedbl', -0x0023 => 'numbersign', -0x0024 => 'dollar', -0x0025 => 'percent', -0x0026 => 'ampersand', -0x0027 => 'quotesingle', -0x0028 => 'parenleft', -0x0029 => 'parenright', -0x002A => 'asterisk', -0x002B => 'plus', -0x002C => 'comma', -0x002D => 'hyphen', -0x002E => 'period', -0x002F => 'slash', -0x0030 => 'zero', -0x0031 => 'one', -0x0032 => 'two', -0x0033 => 'three', -0x0034 => 'four', -0x0035 => 'five', -0x0036 => 'six', -0x0037 => 'seven', -0x0038 => 'eight', -0x0039 => 'nine', -0x003A => 'colon', -0x003B => 'semicolon', -0x003C => 'less', -0x003D => 'equal', -0x003E => 'greater', -0x003F => 'question', -0x0040 => 'at', -0x0041 => 'A', -0x0042 => 'B', -0x0043 => 'C', -0x0044 => 'D', -0x0045 => 'E', -0x0046 => 'F', -0x0047 => 'G', -0x0048 => 'H', -0x0049 => 'I', -0X004A => 'J', -0X004B => 'K', -0X004C => 'L', -0X004D => 'M', -0X004E => 'N', -0X004F => 'O', -0x0050 => 'P', -0x0051 => 'Q', -0x0052 => 'R', -0x0053 => 'S', -0x0054 => 'T', -0x0055 => 'U', -0x0056 => 'V', -0x0057 => 'W', -0x0058 => 'X', -0x0059 => 'Y', -0X005A => 'Z', -0x005B => 'bracketleft', -0x005C => 'backslash', -0x005D => 'bracketright', -0x005E => 'asciicircum', -0x005F => 'underscore', -0x0060 => 'grave', -0x0061 => 'a', -0x0062 => 'b', -0x0063 => 'c', -0x0064 => 'd', -0x0065 => 'e', -0x0066 => 'f', -0x0067 => 'g', -0x0068 => 'h', -0x0069 => 'i', -0x006A => 'j', -0x006B => 'k', -0x006C => 'l', -0x006D => 'm', -0x006E => 'n', -0x006F => 'o', -0x0070 => 'p', -0x0071 => 'q', -0x0072 => 'r', -0x0073 => 's', -0x0074 => 't', -0x0075 => 'u', -0x0076 => 'v', -0x0077 => 'w', -0x0078 => 'x', -0x0079 => 'y', -0x007A => 'z', -0x007B => 'braceleft', -0x007C => 'bar', -0x007D => 'braceright', -0x007E => 'asciitilde', -0x007F => 'controlDEL', -0x00A0 => 'nonbreakingspace', -0x00A1 => 'exclamdown', -0x00A2 => 'cent', -0x00A3 => 'sterling', -0x00A4 => 'currency', -0x00A5 => 'yen', -0x00A6 => 'brokenbar', -0x00A7 => 'section', -0x00A8 => 'dieresis', -0x00A9 => 'copyright', -0x00AA => 'ordfeminine', -0x00AB => 'guillemotleft', -0x00AC => 'logicalnot', -0x00AD => 'softhyphen', -0x00AE => 'registered', -0x00AF => 'overscore', -0x00B0 => 'degree', -0x00B1 => 'plusminus', -0x00B2 => 'twosuperior', -0x00B3 => 'threesuperior', -0x00B4 => 'acute', -0x00B5 => 'mu', -0x00B6 => 'paragraph', -0x00B7 => 'middot', -0x00B8 => 'cedilla', -0x00B9 => 'onesuperior', -0x00BA => 'ordmasculine', -0x00BB => 'guillemotright', -0x00BC => 'onequarter', -0x00BD => 'onehalf', -0x00BE => 'threequarters', -0x00BF => 'questiondown', -0x00C0 => 'Agrave', -0x00C1 => 'Aacute', -0x00C2 => 'Acircumflex', -0x00C3 => 'Atilde', -0x00C4 => 'Adieresis', -0x00C5 => 'Aring', -0X00C6 => 'AE', -0x00C7 => 'Ccedilla', -0x00C8 => 'Egrave', -0x00C9 => 'Eacute', -0x00CA => 'Ecircumflex', -0x00CB => 'Edieresis', -0x00CC => 'Igrave', -0x00CD => 'Iacute', -0x00CE => 'Icircumflex', -0x00CF => 'Idieresis', -0x00D0 => 'Eth', -0x00D1 => 'Ntilde', -0x00D2 => 'Ograve', -0x00D3 => 'Oacute', -0x00D4 => 'Ocircumflex', -0x00D5 => 'Otilde', -0x00D6 => 'Odieresis', -0x00D7 => 'multiply', -0x00D8 => 'Oslash', -0x00D9 => 'Ugrave', -0x00DA => 'Uacute', -0x00DB => 'Ucircumflex', -0x00DC => 'Udieresis', -0x00DD => 'Yacute', -0x00DE => 'Thorn', -0x00DF => 'germandbls', -0x00E0 => 'agrave', -0x00E1 => 'aacute', -0x00E2 => 'acircumflex', -0x00E3 => 'atilde', -0x00E4 => 'adieresis', -0x00E5 => 'aring', -0x00E6 => 'ae', -0x00E7 => 'ccedilla', -0x00E8 => 'egrave', -0x00E9 => 'eacute', -0x00EA => 'ecircumflex', -0x00EB => 'edieresis', -0x00EC => 'igrave', -0x00ED => 'iacute', -0x00EE => 'icircumflex', -0x00EF => 'idieresis', -0x00F0 => 'eth', -0x00F1 => 'ntilde', -0x00F2 => 'ograve', -0x00F3 => 'oacute', -0x00F4 => 'ocircumflex', -0x00F5 => 'otilde', -0x00F6 => 'odieresis', -0x00F7 => 'divide', -0x00F8 => 'oslash', -0x00F9 => 'ugrave', -0x00FA => 'uacute', -0x00FB => 'ucircumflex', -0x00FC => 'udieresis', -0x00FD => 'yacute', -0x00FE => 'thorn', -0x00FF => 'ydieresis', -0x0100 => 'Amacron', -0x0101 => 'amacron', -0x0102 => 'Abreve', -0x0103 => 'abreve', -0x0104 => 'Aogonek', -0x0105 => 'aogonek', -0x0106 => 'Cacute', -0x0107 => 'cacute', -0x0108 => 'Ccircumflex', -0x0109 => 'ccircumflex', -0x010A => 'Cdot', -0x010B => 'cdot', -0x010C => 'Ccaron', -0x010D => 'ccaron', -0x010E => 'Dcaron', -0x010F => 'dcaron', -0x0110 => 'Dcroat', -0x0110 => 'Dslash', -0x0111 => 'dcroat', -0x0111 => 'dmacron', -0x0112 => 'Emacron', -0x0113 => 'emacron', -0x0114 => 'Ebreve', -0x0115 => 'ebreve', -0x0116 => 'Edot', -0x0117 => 'edot', -0x0118 => 'Eogonek', -0x0119 => 'eogonek', -0x011A => 'Ecaron', -0x011B => 'ecaron', -0x011C => 'Gcircumflex', -0x011D => 'gcircumflex', -0x011E => 'Gbreve', -0x011F => 'gbreve', -0x0120 => 'Gdot', -0x0121 => 'gdot', -0x0122 => 'Gcedilla', -0x0123 => 'gcedilla', -0x0124 => 'Hcircumflex', -0x0125 => 'hcircumflex', -0x0126 => 'Hbar', -0x0127 => 'hbar', -0x0128 => 'Itilde', -0x0129 => 'itilde', -0x012A => 'Imacron', -0x012B => 'imacron', -0x012C => 'Ibreve', -0x012D => 'ibreve', -0x012E => 'Iogonek', -0x012F => 'iogonek', -0x0130 => 'Idot', -0x0131 => 'dotlessi', -0X0132 => 'IJ', -0x0133 => 'ij', -0x0134 => 'Jcircumflex', -0x0135 => 'jcircumflex', -0x0136 => 'Kcedilla', -0x0137 => 'kcedilla', -0x0138 => 'kgreenlandic', -0x0139 => 'Lacute', -0x013A => 'lacute', -0x013B => 'Lcedilla', -0x013C => 'lcedilla', -0x013D => 'Lcaron', -0x013E => 'lcaron', -0x013F => 'Ldot', -0x0140 => 'ldot', -0x0141 => 'Lslash', -0x0142 => 'lslash', -0x0143 => 'Nacute', -0x0144 => 'nacute', -0x0145 => 'Ncedilla', -0x0146 => 'ncedilla', -0x0147 => 'Ncaron', -0x0148 => 'ncaron', -0x0149 => 'napostrophe', -0x014A => 'Eng', -0x014B => 'eng', -0x014C => 'Omacron', -0x014D => 'omacron', -0x014E => 'Obreve', -0x014F => 'obreve', -0x0150 => 'Odblacute', -0x0151 => 'odblacute', -0X0152 => 'OE', -0x0153 => 'oe', -0x0154 => 'Racute', -0x0155 => 'racute', -0x0156 => 'Rcedilla', -0x0157 => 'rcedilla', -0x0158 => 'Rcaron', -0x0159 => 'rcaron', -0x015A => 'Sacute', -0x015B => 'sacute', -0x015C => 'Scircumflex', -0x015D => 'scircumflex', -0x015E => 'Scedilla', -0x015F => 'scedilla', -0x0160 => 'Scaron', -0x0161 => 'scaron', -0x0162 => 'Tcedilla', -0x0163 => 'tcedilla', -0x0164 => 'Tcaron', -0x0165 => 'tcaron', -0x0166 => 'Tbar', -0x0167 => 'tbar', -0x0168 => 'Utilde', -0x0169 => 'utilde', -0x016A => 'Umacron', -0x016B => 'umacron', -0x016C => 'Ubreve', -0x016D => 'ubreve', -0x016E => 'Uring', -0x016F => 'uring', -0x0170 => 'Udblacute', -0x0171 => 'udblacute', -0x0172 => 'Uogonek', -0x0173 => 'uogonek', -0x0174 => 'Wcircumflex', -0x0175 => 'wcircumflex', -0x0176 => 'Ycircumflex', -0x0177 => 'ycircumflex', -0x0178 => 'Ydieresis', -0x0179 => 'Zacute', -0x017A => 'zacute', -0x017B => 'Zdot', -0x017C => 'zdot', -0x017D => 'Zcaron', -0x017E => 'zcaron', -0x017F => 'slong', -0x0180 => 'bstroke', -0x0181 => 'Bhook', -0x0182 => 'Btopbar', -0x0183 => 'btopbar', -0x0184 => 'Tonesix', -0x0185 => 'tonesix', -0x0186 => 'Oopen', -0x0187 => 'Chook', -0x0188 => 'chook', -0x0189 => 'Dafrican', -0x018A => 'Dhook', -0x018B => 'Dtopbar', -0x018C => 'dtopbar', -0x018D => 'deltaturned', -0x018E => 'Ereversed', -0x018F => 'Schwa', -0x0190 => 'Eopen', -0x0191 => 'Fhook', -0x0192 => 'florin', -0x0193 => 'Ghook', -0x0194 => 'Gammaafrican', -0x0195 => 'hv', -0x0196 => 'Iotaafrican', -0x0197 => 'Istroke', -0x0198 => 'Khook', -0x0199 => 'khook', -0x019A => 'lbar', -0x019B => 'lambdastroke', -0x019C => 'Mturned', -0x019D => 'Nhookleft', -0x019E => 'nlegrightlong', -0x019F => 'Ocenteredtilde', -0x01A0 => 'Ohorn', -0x01A1 => 'ohorn', -0x01A2 => 'Oi', -0x01A3 => 'oi', -0x01A4 => 'Phook', -0x01A5 => 'phook', -0x01A6 => 'yr', -0x01A7 => 'Tonetwo', -0x01A8 => 'tonetwo', -0x01A9 => 'Esh', -0x01AA => 'eshreversedloop', -0x01AB => 'tpalatalhook', -0x01AC => 'Thook', -0x01AD => 'thook', -0x01AE => 'Tretroflexhook', -0x01AF => 'Uhorn', -0x01B0 => 'uhorn', -0x01B1 => 'Upsilonafrican', -0x01B2 => 'Vhook', -0x01B3 => 'Yhook', -0x01B4 => 'yhook', -0x01B5 => 'Zstroke', -0x01B6 => 'zstroke', -0x01B7 => 'Ezh', -0x01B8 => 'Ezhreversed', -0x01B9 => 'ezhreversed', -0x01BA => 'ezhtail', -0x01BB => 'twostroke', -0x01BC => 'Tonefive', -0x01BD => 'tonefive', -0x01BE => 'glottalinvertedstroke', -0x01BF => 'wynn', -0x01C0 => 'clickdental', -0x01C1 => 'clicklateral', -0x01C2 => 'clickalveolar', -0x01C3 => 'clickretroflex', -0x01C4 => 'DZcaron', -0x01C5 => 'Dzcaron', -0x01C6 => 'dzcaron', -0X01C7 => 'LJ', -0x01C8 => 'Lj', -0x01C9 => 'lj', -0X01CA => 'NJ', -0x01CB => 'Nj', -0x01CC => 'nj', -0x01CD => 'Acaron', -0x01CE => 'acaron', -0x01CF => 'Icaron', -0x01D0 => 'icaron', -0x01D1 => 'Ocaron', -0x01D2 => 'ocaron', -0x01D3 => 'Ucaron', -0x01D4 => 'ucaron', -0x01D5 => 'Udieresismacron', -0x01D6 => 'udieresismacron', -0x01D7 => 'Udieresisacute', -0x01D8 => 'udieresisacute', -0x01D9 => 'Udieresiscaron', -0x01DA => 'udieresiscaron', -0x01DB => 'Udieresisgrave', -0x01DC => 'udieresisgrave', -0x01DD => 'eturned', -0x01DE => 'Adieresismacron', -0x01DF => 'adieresismacron', -0x01E0 => 'Adotmacron', -0x01E1 => 'adotmacron', -0x01E2 => 'AEmacron', -0x01E3 => 'aemacron', -0x01E4 => 'Gstroke', -0x01E5 => 'gstroke', -0x01E6 => 'Gcaron', -0x01E7 => 'gcaron', -0x01E8 => 'Kcaron', -0x01E9 => 'kcaron', -0x01EA => 'Oogonek', -0x01EB => 'oogonek', -0x01EC => 'Oogonekmacron', -0x01ED => 'oogonekmacron', -0x01EE => 'Ezhcaron', -0x01EF => 'ezhcaron', -0x01F0 => 'jcaron', -0X01F1 => 'DZ', -0x01F2 => 'Dz', -0x01F3 => 'dz', -0x01F4 => 'Gacute', -0x01F5 => 'gacute', -0x01FA => 'Aringacute', -0x01FB => 'aringacute', -0x01FC => 'AEacute', -0x01FD => 'aeacute', -0x01FE => 'Oslashacute', -0x01FF => 'oslashacute', -0x0200 => 'Adblgrave', -0x0201 => 'adblgrave', -0x0202 => 'Ainvertedbreve', -0x0203 => 'ainvertedbreve', -0x0204 => 'Edblgrave', -0x0205 => 'edblgrave', -0x0206 => 'Einvertedbreve', -0x0207 => 'einvertedbreve', -0x0208 => 'Idblgrave', -0x0209 => 'idblgrave', -0x020A => 'Iinvertedbreve', -0x020B => 'iinvertedbreve', -0x020C => 'Odblgrave', -0x020D => 'odblgrave', -0x020E => 'Oinvertedbreve', -0x020F => 'oinvertedbreve', -0x0210 => 'Rdblgrave', -0x0211 => 'rdblgrave', -0x0212 => 'Rinvertedbreve', -0x0213 => 'rinvertedbreve', -0x0214 => 'Udblgrave', -0x0215 => 'udblgrave', -0x0216 => 'Uinvertedbreve', -0x0217 => 'uinvertedbreve', -0x0218 => 'Scommaaccent', -0x0219 => 'scommaaccent', -0x0250 => 'aturned', -0x0251 => 'ascript', -0x0252 => 'ascriptturned', -0x0253 => 'bhook', -0x0254 => 'oopen', -0x0255 => 'ccurl', -0x0256 => 'dtail', -0x0257 => 'dhook', -0x0258 => 'ereversed', -0x0259 => 'schwa', -0x025A => 'schwahook', -0x025B => 'eopen', -0x025C => 'eopenreversed', -0x025D => 'eopenreversedhook', -0x025E => 'eopenreversedclosed', -0x025F => 'jdotlessstroke', -0x0260 => 'ghook', -0x0261 => 'gscript', -0x0263 => 'gammalatinsmall', -0x0264 => 'ramshorn', -0x0265 => 'hturned', -0x0266 => 'hhook', -0x0267 => 'henghook', -0x0268 => 'istroke', -0x0269 => 'iotalatin', -0x026B => 'lmiddletilde', -0x026C => 'lbelt', -0x026D => 'lhookretroflex', -0x026E => 'lezh', -0x026F => 'mturned', -0x0270 => 'mlonglegturned', -0x0271 => 'mhook', -0x0272 => 'nhookleft', -0x0273 => 'nhookretroflex', -0x0275 => 'obarred', -0x0277 => 'omegalatinclosed', -0x0278 => 'philatin', -0x0279 => 'rturned', -0x027A => 'rlonglegturned', -0x027B => 'rhookturned', -0x027C => 'rlongleg', -0x027D => 'rhook', -0x027E => 'rfishhook', -0x027F => 'rfishhookreversed', -0x0281 => 'Rsmallinverted', -0x0282 => 'shook', -0x0283 => 'esh', -0x0284 => 'dotlessjstrokehook', -0x0285 => 'eshsquatreversed', -0x0286 => 'eshcurl', -0x0287 => 'tturned', -0x0288 => 'tretroflexhook', -0x0289 => 'ubar', -0x028A => 'upsilonlatin', -0x028B => 'vhook', -0x028C => 'vturned', -0x028D => 'wturned', -0x028E => 'yturned', -0x0290 => 'zretroflexhook', -0x0291 => 'zcurl', -0x0292 => 'ezh', -0x0293 => 'ezhcurl', -0x0294 => 'glottalstop', -0x0295 => 'glottalstopreversed', -0x0296 => 'glottalstopinverted', -0x0297 => 'cstretched', -0x0298 => 'bilabialclick', -0x029A => 'eopenclosed', -0x029B => 'Gsmallhook', -0x029D => 'jcrossedtail', -0x029E => 'kturned', -0x02A0 => 'qhook', -0x02A1 => 'glottalstopstroke', -0x02A2 => 'glottalstopstrokereversed', -0x02A3 => 'dzaltone', -0x02A4 => 'dezh', -0x02A5 => 'dzcurl', -0x02A6 => 'ts', -0x02A7 => 'tesh', -0x02A8 => 'tccurl', -0x02B0 => 'hsuperior', -0x02B1 => 'hhooksuperior', -0x02B2 => 'jsuperior', -0x02B4 => 'rturnedsuperior', -0x02B5 => 'rhookturnedsuperior', -0x02B6 => 'Rsmallinvertedsuperior', -0x02B7 => 'wsuperior', -0x02B8 => 'ysuperior', -0x02B9 => 'primemod', -0x02BA => 'dblprimemod', -0x02BB => 'commaturnedmod', -0x02BC => 'afii57929', -0x02BD => 'afii64937', -0x02BE => 'ringhalfright', -0x02BF => 'ringhalfleft', -0x02C0 => 'glottalstopmod', -0x02C1 => 'glottalstopreversedmod', -0x02C2 => 'arrowheadleftmod', -0x02C3 => 'arrowheadrightmod', -0x02C4 => 'arrowheadupmod', -0x02C5 => 'arrowheaddownmod', -0x02C6 => 'circumflex', -0x02C7 => 'caron', -0x02C8 => 'verticallinemod', -0x02C9 => 'firsttonechinese', -0x02CA => 'secondtonechinese', -0x02CB => 'fourthtonechinese', -0x02CC => 'verticallinelowmod', -0x02CD => 'macronlowmod', -0x02CE => 'gravelowmod', -0x02CF => 'acutelowmod', -0x02D0 => 'colontriangularmod', -0x02D1 => 'colontriangularhalfmod', -0x02D2 => 'ringhalfrightcentered', -0x02D3 => 'ringhalfleftcentered', -0x02D4 => 'uptackmod', -0x02D5 => 'downtackmod', -0x02D6 => 'plusmod', -0x02D7 => 'minusmod', -0x02D8 => 'breve', -0x02D9 => 'dotaccent', -0x02DA => 'ring', -0x02DB => 'ogonek', -0x02DC => 'tilde', -0x02DD => 'hungarumlaut', -0x02DE => 'rhotichookmod', -0x02E0 => 'gammasuperior', -0x02E3 => 'xsuperior', -0x02E4 => 'glottalstopreversedsuperior', -0x02E5 => 'tonebarextrahighmod', -0x02E6 => 'tonebarhighmod', -0x02E7 => 'tonebarmidmod', -0x02E8 => 'tonebarlowmod', -0x02E9 => 'tonebarextralowmod', -0x0300 => 'gravecmb', -0x0301 => 'acutecmb', -0x0302 => 'circumflexcmb', -0x0303 => 'tildecmb', -0x0304 => 'macroncmb', -0x0305 => 'overlinecmb', -0x0306 => 'brevecmb', -0x0307 => 'dotaccentcmb', -0x0308 => 'dieresiscmb', -0x0309 => 'hookcmb', -0x030A => 'ringcmb', -0x030B => 'hungarumlautcmb', -0x030C => 'caroncmb', -0x030D => 'verticallineabovecmb', -0x030E => 'dblverticallineabovecmb', -0x030F => 'dblgravecmb', -0x0310 => 'candrabinducmb', -0x0311 => 'breveinvertedcmb', -0x0312 => 'commaturnedabovecmb', -0x0313 => 'commaabovecmb', -0x0314 => 'commareversedabovecmb', -0x0315 => 'commaaboverightcmb', -0x0316 => 'gravebelowcmb', -0x0317 => 'acutebelowcmb', -0x0318 => 'lefttackbelowcmb', -0x0319 => 'righttackbelowcmb', -0x031A => 'leftangleabovecmb', -0x031B => 'horncmb', -0x031C => 'ringhalfleftbelowcmb', -0x031D => 'uptackbelowcmb', -0x031E => 'downtackbelowcmb', -0x031F => 'plusbelowcmb', -0x0320 => 'minusbelowcmb', -0x0321 => 'hookpalatalizedbelowcmb', -0x0322 => 'hookretroflexbelowcmb', -0x0323 => 'dotbelowcmb', -0x0324 => 'dieresisbelowcmb', -0x0325 => 'ringbelowcmb', -0x0327 => 'cedillacmb', -0x0328 => 'ogonekcmb', -0x0329 => 'verticallinebelowcmb', -0x032A => 'bridgebelowcmb', -0x032B => 'dblarchinvertedbelowcmb', -0x032C => 'caronbelowcmb', -0x032D => 'circumflexbelowcmb', -0x032E => 'brevebelowcmb', -0x032F => 'breveinvertedbelowcmb', -0x0330 => 'tildebelowcmb', -0x0331 => 'macronbelowcmb', -0x0332 => 'lowlinecmb', -0x0333 => 'dbllowlinecmb', -0x0334 => 'tildeoverlaycmb', -0x0335 => 'strokeshortoverlaycmb', -0x0336 => 'strokelongoverlaycmb', -0x0337 => 'solidusshortoverlaycmb', -0x0338 => 'soliduslongoverlaycmb', -0x0339 => 'ringhalfrightbelowcmb', -0x033A => 'bridgeinvertedbelowcmb', -0x033B => 'squarebelowcmb', -0x033C => 'seagullbelowcmb', -0x033D => 'xabovecmb', -0x033E => 'tildeverticalcmb', -0x033F => 'dbloverlinecmb', -0x0340 => 'gravetonecmb', -0x0341 => 'acutetonecmb', -0x0342 => 'perispomenigreekcmb', -0x0343 => 'koroniscmb', -0x0344 => 'dialytikatonoscmb', -0x0345 => 'ypogegrammenigreekcmb', -0x0360 => 'tildedoublecmb', -0x0361 => 'breveinverteddoublecmb', -0x0374 => 'numeralsigngreek', -0x0375 => 'numeralsignlowergreek', -0x037A => 'ypogegrammeni', -0x037E => 'questiongreek', -0x0384 => 'tonos', -0x0385 => 'dieresistonos', -0x0386 => 'Alphatonos', -0x0387 => 'anoteleia', -0x0388 => 'Epsilontonos', -0x0389 => 'Etatonos', -0x038A => 'Iotatonos', -0x038C => 'Omicrontonos', -0x038E => 'Upsilontonos', -0x038F => 'Omegatonos', -0x0390 => 'iotadieresistonos', -0x0391 => 'Alpha', -0x0392 => 'Beta', -0x0393 => 'Gamma', -0x0394 => 'Deltagreek', -0x0395 => 'Epsilon', -0x0396 => 'Zeta', -0x0397 => 'Eta', -0x0398 => 'Theta', -0x0399 => 'Iota', -0x039A => 'Kappa', -0x039B => 'Lambda', -0x039C => 'Mu', -0x039D => 'Nu', -0x039E => 'Xi', -0x039F => 'Omicron', -0x03A0 => 'Pi', -0x03A1 => 'Rho', -0x03A3 => 'Sigma', -0x03A4 => 'Tau', -0x03A5 => 'Upsilon', -0x03A6 => 'Phi', -0x03A7 => 'Chi', -0x03A8 => 'Psi', -0x03A9 => 'Omegagreek', -0x03AA => 'Iotadieresis', -0x03AB => 'Upsilondieresis', -0x03AC => 'alphatonos', -0x03AD => 'epsilontonos', -0x03AE => 'etatonos', -0x03AF => 'iotatonos', -0x03B0 => 'upsilondieresistonos', -0x03B1 => 'alpha', -0x03B2 => 'beta', -0x03B3 => 'gamma', -0x03B4 => 'delta', -0x03B5 => 'epsilon', -0x03B6 => 'zeta', -0x03B7 => 'eta', -0x03B8 => 'theta', -0x03B9 => 'iota', -0x03BA => 'kappa', -0x03BB => 'lambda', -0x03BC => 'mugreek', -0x03BD => 'nu', -0x03BE => 'xi', -0x03BF => 'omicron', -0x03C0 => 'pi', -0x03C1 => 'rho', -0x03C2 => 'sigma1', -0x03C3 => 'sigma', -0x03C4 => 'tau', -0x03C5 => 'upsilon', -0x03C6 => 'phi', -0x03C7 => 'chi', -0x03C8 => 'psi', -0x03C9 => 'omega', -0x03CA => 'iotadieresis', -0x03CB => 'upsilondieresis', -0x03CC => 'omicrontonos', -0x03CD => 'upsilontonos', -0x03CE => 'omegatonos', -0x03D0 => 'betasymbolgreek', -0x03D1 => 'theta1', -0x03D2 => 'Upsilon1', -0x03D3 => 'Upsilonacutehooksymbolgreek', -0x03D4 => 'Upsilondieresishooksymbolgreek', -0x03D5 => 'phi1', -0x03D6 => 'omega1', -0x03DA => 'Stigmagreek', -0x03DC => 'Digammagreek', -0x03DE => 'Koppagreek', -0x03E0 => 'Sampigreek', -0x03E2 => 'Sheicoptic', -0x03E3 => 'sheicoptic', -0x03E4 => 'Feicoptic', -0x03E5 => 'feicoptic', -0x03E6 => 'Kheicoptic', -0x03E7 => 'kheicoptic', -0x03E8 => 'Horicoptic', -0x03E9 => 'horicoptic', -0x03EA => 'Gangiacoptic', -0x03EB => 'gangiacoptic', -0x03EC => 'Shimacoptic', -0x03ED => 'shimacoptic', -0x03EE => 'Deicoptic', -0x03EF => 'deicoptic', -0x03F0 => 'kappasymbolgreek', -0x03F1 => 'rhosymbolgreek', -0x03F2 => 'sigmalunatesymbolgreek', -0x03F3 => 'yotgreek', -0x0401 => 'afii10023', -0x0402 => 'afii10051', -0x0403 => 'afii10052', -0x0404 => 'afii10053', -0x0405 => 'afii10054', -0x0406 => 'afii10055', -0x0407 => 'afii10056', -0x0408 => 'afii10057', -0x0409 => 'afii10058', -0x040A => 'afii10059', -0x040B => 'afii10060', -0x040C => 'afii10061', -0x040E => 'afii10062', -0x040F => 'afii10145', -0x0410 => 'afii10017', -0x0411 => 'afii10018', -0x0412 => 'afii10019', -0x0413 => 'afii10020', -0x0414 => 'afii10021', -0x0415 => 'afii10022', -0x0416 => 'afii10024', -0x0417 => 'afii10025', -0x0418 => 'afii10026', -0x0419 => 'afii10027', -0x041A => 'afii10028', -0x041B => 'afii10029', -0x041C => 'afii10030', -0x041D => 'afii10031', -0x041E => 'afii10032', -0x041F => 'afii10033', -0x0420 => 'afii10034', -0x0421 => 'afii10035', -0x0422 => 'afii10036', -0x0423 => 'afii10037', -0x0424 => 'afii10038', -0x0425 => 'afii10039', -0x0426 => 'afii10040', -0x0427 => 'afii10041', -0x0428 => 'afii10042', -0x0429 => 'afii10043', -0x042A => 'afii10044', -0x042B => 'afii10045', -0x042C => 'afii10046', -0x042D => 'afii10047', -0x042E => 'afii10048', -0x042F => 'afii10049', -0x0430 => 'afii10065', -0x0431 => 'afii10066', -0x0432 => 'afii10067', -0x0433 => 'afii10068', -0x0434 => 'afii10069', -0x0435 => 'afii10070', -0x0436 => 'afii10072', -0x0437 => 'afii10073', -0x0438 => 'afii10074', -0x0439 => 'afii10075', -0x043A => 'afii10076', -0x043B => 'afii10077', -0x043C => 'afii10078', -0x043D => 'afii10079', -0x043E => 'afii10080', -0x043F => 'afii10081', -0x0440 => 'afii10082', -0x0441 => 'afii10083', -0x0442 => 'afii10084', -0x0443 => 'afii10085', -0x0444 => 'afii10086', -0x0445 => 'afii10087', -0x0446 => 'afii10088', -0x0447 => 'afii10089', -0x0448 => 'afii10090', -0x0449 => 'afii10091', -0x044A => 'afii10092', -0x044B => 'afii10093', -0x044C => 'afii10094', -0x044D => 'afii10095', -0x044E => 'afii10096', -0x044F => 'afii10097', -0x0451 => 'afii10071', -0x0452 => 'afii10099', -0x0453 => 'afii10100', -0x0454 => 'afii10101', -0x0455 => 'afii10102', -0x0456 => 'afii10103', -0x0457 => 'afii10104', -0x0458 => 'afii10105', -0x0459 => 'afii10106', -0x045A => 'afii10107', -0x045B => 'afii10108', -0x045C => 'afii10109', -0x045E => 'afii10110', -0x045F => 'afii10193', -0x0460 => 'Omegacyrillic', -0x0461 => 'omegacyrillic', -0x0462 => 'Yatcyrillic', -0x0462 => 'afii10146', -0x0463 => 'afii10194', -0x0464 => 'Eiotifiedcyrillic', -0x0465 => 'eiotifiedcyrillic', -0x0466 => 'Yuslittlecyrillic', -0x0467 => 'yuslittlecyrillic', -0x0468 => 'Yuslittleiotifiedcyrillic', -0x0469 => 'yuslittleiotifiedcyrillic', -0x046A => 'Yusbigcyrillic', -0x046B => 'yusbigcyrillic', -0x046C => 'Yusbigiotifiedcyrillic', -0x046D => 'yusbigiotifiedcyrillic', -0x046E => 'Ksicyrillic', -0x046F => 'ksicyrillic', -0x0470 => 'Psicyrillic', -0x0471 => 'psicyrillic', -0x0472 => 'afii10147', -0x0473 => 'afii10195', -0x0474 => 'afii10148', -0x0475 => 'afii10196', -0x0476 => 'Izhitsadblgravecyrillic', -0x0477 => 'izhitsadblgravecyrillic', -0x0478 => 'Ukcyrillic', -0x0479 => 'ukcyrillic', -0x047A => 'Omegaroundcyrillic', -0x047B => 'omegaroundcyrillic', -0x047C => 'Omegatitlocyrillic', -0x047D => 'omegatitlocyrillic', -0x047E => 'Otcyrillic', -0x047F => 'otcyrillic', -0x0480 => 'Koppacyrillic', -0x0481 => 'koppacyrillic', -0x0482 => 'thousandcyrillic', -0x0483 => 'titlocyrilliccmb', -0x0484 => 'palatalizationcyrilliccmb', -0x0485 => 'dasiapneumatacyrilliccmb', -0x0486 => 'psilipneumatacyrilliccmb', -0x0490 => 'Gheupturncyrillic', -0x0490 => 'afii10050', -0x0491 => 'afii10098', -0x0491 => 'gheupturncyrillic', -0x0492 => 'Ghestrokecyrillic', -0x0493 => 'ghestrokecyrillic', -0x0494 => 'Ghemiddlehookcyrillic', -0x0495 => 'ghemiddlehookcyrillic', -0x0496 => 'Zhedescendercyrillic', -0x0497 => 'zhedescendercyrillic', -0x0498 => 'Zedescendercyrillic', -0x0499 => 'zedescendercyrillic', -0x049A => 'Kadescendercyrillic', -0x049B => 'kadescendercyrillic', -0x049C => 'Kaverticalstrokecyrillic', -0x049D => 'kaverticalstrokecyrillic', -0x049E => 'Kastrokecyrillic', -0x049F => 'kastrokecyrillic', -0x04A0 => 'Kabashkircyrillic', -0x04A1 => 'kabashkircyrillic', -0x04A2 => 'Endescendercyrillic', -0x04A3 => 'endescendercyrillic', -0x04A4 => 'Enghecyrillic', -0x04A5 => 'enghecyrillic', -0x04A6 => 'Pemiddlehookcyrillic', -0x04A7 => 'pemiddlehookcyrillic', -0x04A8 => 'Haabkhasiancyrillic', -0x04A9 => 'haabkhasiancyrillic', -0x04AA => 'Esdescendercyrillic', -0x04AB => 'esdescendercyrillic', -0x04AC => 'Tedescendercyrillic', -0x04AD => 'tedescendercyrillic', -0x04AE => 'Ustraightcyrillic', -0x04AF => 'ustraightcyrillic', -0x04B0 => 'Ustraightstrokecyrillic', -0x04B1 => 'ustraightstrokecyrillic', -0x04B2 => 'Hadescendercyrillic', -0x04B3 => 'hadescendercyrillic', -0x04B4 => 'Tetsecyrillic', -0x04B5 => 'tetsecyrillic', -0x04B6 => 'Chedescendercyrillic', -0x04B7 => 'chedescendercyrillic', -0x04B8 => 'Cheverticalstrokecyrillic', -0x04B9 => 'cheverticalstrokecyrillic', -0x04BA => 'Shhacyrillic', -0x04BB => 'shhacyrillic', -0x04BC => 'Cheabkhasiancyrillic', -0x04BD => 'cheabkhasiancyrillic', -0x04BE => 'Chedescenderabkhasiancyrillic', -0x04BF => 'chedescenderabkhasiancyrillic', -0x04C0 => 'palochkacyrillic', -0x04C1 => 'Zhebrevecyrillic', -0x04C2 => 'zhebrevecyrillic', -0x04C3 => 'Kahookcyrillic', -0x04C4 => 'kahookcyrillic', -0x04C7 => 'Enhookcyrillic', -0x04C8 => 'enhookcyrillic', -0x04CB => 'Chekhakassiancyrillic', -0x04CC => 'chekhakassiancyrillic', -0x04D0 => 'Abrevecyrillic', -0x04D1 => 'abrevecyrillic', -0x04D2 => 'Adieresiscyrillic', -0x04D3 => 'adieresiscyrillic', -0x04D4 => 'Aiecyrillic', -0x04D5 => 'aiecyrillic', -0x04D6 => 'Iebrevecyrillic', -0x04D7 => 'iebrevecyrillic', -0x04D8 => 'Schwacyrillic', -0x04D9 => 'afii10846', -0x04D9 => 'schwacyrillic', -0x04DA => 'Schwadieresiscyrillic', -0x04DB => 'schwadieresiscyrillic', -0x04DC => 'Zhedieresiscyrillic', -0x04DD => 'zhedieresiscyrillic', -0x04DE => 'Zedieresiscyrillic', -0x04DF => 'zedieresiscyrillic', -0x04E0 => 'Dzeabkhasiancyrillic', -0x04E1 => 'dzeabkhasiancyrillic', -0x04E2 => 'Imacroncyrillic', -0x04E3 => 'imacroncyrillic', -0x04E4 => 'Idieresiscyrillic', -0x04E5 => 'idieresiscyrillic', -0x04E6 => 'Odieresiscyrillic', -0x04E7 => 'odieresiscyrillic', -0x04E8 => 'Obarredcyrillic', -0x04E9 => 'obarredcyrillic', -0x04EA => 'Obarreddieresiscyrillic', -0x04EB => 'obarreddieresiscyrillic', -0x04EE => 'Umacroncyrillic', -0x04EF => 'umacroncyrillic', -0x04F0 => 'Udieresiscyrillic', -0x04F1 => 'udieresiscyrillic', -0x04F2 => 'Uhungarumlautcyrillic', -0x04F3 => 'uhungarumlautcyrillic', -0x04F4 => 'Chedieresiscyrillic', -0x04F5 => 'chedieresiscyrillic', -0x04F8 => 'Yerudieresiscyrillic', -0x04F9 => 'yerudieresiscyrillic', -0x0531 => 'Aybarmenian', -0x0532 => 'Benarmenian', -0x0533 => 'Gimarmenian', -0x0534 => 'Daarmenian', -0x0535 => 'Echarmenian', -0x0536 => 'Zaarmenian', -0x0537 => 'Eharmenian', -0x0538 => 'Etarmenian', -0x0539 => 'Toarmenian', -0x053A => 'Zhearmenian', -0x053B => 'Iniarmenian', -0x053C => 'Liwnarmenian', -0x053D => 'Xeharmenian', -0x053E => 'Caarmenian', -0x053F => 'Kenarmenian', -0x0540 => 'Hoarmenian', -0x0541 => 'Jaarmenian', -0x0542 => 'Ghadarmenian', -0x0543 => 'Cheharmenian', -0x0544 => 'Menarmenian', -0x0545 => 'Yiarmenian', -0x0546 => 'Nowarmenian', -0x0547 => 'Shaarmenian', -0x0548 => 'Voarmenian', -0x0549 => 'Chaarmenian', -0x054A => 'Peharmenian', -0x054B => 'Jheharmenian', -0x054C => 'Raarmenian', -0x054D => 'Seharmenian', -0x054E => 'Vewarmenian', -0x054F => 'Tiwnarmenian', -0x0550 => 'Reharmenian', -0x0551 => 'Coarmenian', -0x0552 => 'Yiwnarmenian', -0x0553 => 'Piwrarmenian', -0x0554 => 'Keharmenian', -0x0555 => 'Oharmenian', -0x0556 => 'Feharmenian', -0x0559 => 'ringhalfleftarmenian', -0x055A => 'apostrophearmenian', -0x055B => 'emphasismarkarmenian', -0x055C => 'exclamarmenian', -0x055D => 'commaarmenian', -0x055E => 'questionarmenian', -0x055F => 'abbreviationmarkarmenian', -0x0561 => 'aybarmenian', -0x0562 => 'benarmenian', -0x0563 => 'gimarmenian', -0x0564 => 'daarmenian', -0x0565 => 'echarmenian', -0x0566 => 'zaarmenian', -0x0567 => 'eharmenian', -0x0568 => 'etarmenian', -0x0569 => 'toarmenian', -0x056A => 'zhearmenian', -0x056B => 'iniarmenian', -0x056C => 'liwnarmenian', -0x056D => 'xeharmenian', -0x056E => 'caarmenian', -0x056F => 'kenarmenian', -0x0570 => 'hoarmenian', -0x0571 => 'jaarmenian', -0x0572 => 'ghadarmenian', -0x0573 => 'cheharmenian', -0x0574 => 'menarmenian', -0x0575 => 'yiarmenian', -0x0576 => 'nowarmenian', -0x0577 => 'shaarmenian', -0x0578 => 'voarmenian', -0x0579 => 'chaarmenian', -0x057A => 'peharmenian', -0x057B => 'jheharmenian', -0x057C => 'raarmenian', -0x057D => 'seharmenian', -0x057E => 'vewarmenian', -0x057F => 'tiwnarmenian', -0x0580 => 'reharmenian', -0x0581 => 'coarmenian', -0x0582 => 'yiwnarmenian', -0x0583 => 'piwrarmenian', -0x0584 => 'keharmenian', -0x0585 => 'oharmenian', -0x0586 => 'feharmenian', -0x0587 => 'echyiwnarmenian', -0x0589 => 'periodarmenian', -0x0591 => 'etnahtafoukhhebrew', -0x0591 => 'etnahtafoukhlefthebrew', -0x0591 => 'etnahtahebrew', -0x0591 => 'etnahtalefthebrew', -0x0592 => 'segoltahebrew', -0x0593 => 'shalshelethebrew', -0x0594 => 'zaqefqatanhebrew', -0x0595 => 'zaqefgadolhebrew', -0x0596 => 'tipehahebrew', -0x0596 => 'tipehalefthebrew', -0x0597 => 'reviahebrew', -0x0597 => 'reviamugrashhebrew', -0x0598 => 'zarqahebrew', -0x0599 => 'pashtahebrew', -0x059A => 'yetivhebrew', -0x059B => 'tevirhebrew', -0x059B => 'tevirlefthebrew', -0x059C => 'gereshaccenthebrew', -0x059D => 'gereshmuqdamhebrew', -0x059E => 'gershayimaccenthebrew', -0x059F => 'qarneyparahebrew', -0x05A0 => 'telishagedolahebrew', -0x05A1 => 'pazerhebrew', -0x05A3 => 'munahhebrew', -0x05A3 => 'munahlefthebrew', -0x05A4 => 'mahapakhhebrew', -0x05A4 => 'mahapakhlefthebrew', -0x05A5 => 'merkhahebrew', -0x05A5 => 'merkhalefthebrew', -0x05A6 => 'merkhakefulahebrew', -0x05A6 => 'merkhakefulalefthebrew', -0x05A7 => 'dargahebrew', -0x05A7 => 'dargalefthebrew', -0x05A8 => 'qadmahebrew', -0x05A9 => 'telishaqetanahebrew', -0x05AA => 'yerahbenyomohebrew', -0x05AA => 'yerahbenyomolefthebrew', -0x05AB => 'olehebrew', -0x05AC => 'iluyhebrew', -0x05AD => 'dehihebrew', -0x05AE => 'zinorhebrew', -0x05AF => 'masoracirclehebrew', -0x05B0 => 'afii57799', -0x05B0 => 'sheva', -0x05B0 => 'sheva115', -0x05B0 => 'sheva15', -0x05B0 => 'sheva22', -0x05B0 => 'sheva2e', -0x05B0 => 'shevahebrew', -0x05B0 => 'shevanarrowhebrew', -0x05B0 => 'shevaquarterhebrew', -0x05B0 => 'shevawidehebrew', -0x05B1 => 'afii57801', -0x05B1 => 'hatafsegol', -0x05B1 => 'hatafsegol17', -0x05B1 => 'hatafsegol24', -0x05B1 => 'hatafsegol30', -0x05B1 => 'hatafsegolhebrew', -0x05B1 => 'hatafsegolnarrowhebrew', -0x05B1 => 'hatafsegolquarterhebrew', -0x05B1 => 'hatafsegolwidehebrew', -0x05B2 => 'afii57800', -0x05B2 => 'hatafpatah', -0x05B2 => 'hatafpatah16', -0x05B2 => 'hatafpatah23', -0x05B2 => 'hatafpatah2f', -0x05B2 => 'hatafpatahhebrew', -0x05B2 => 'hatafpatahnarrowhebrew', -0x05B2 => 'hatafpatahquarterhebrew', -0x05B2 => 'hatafpatahwidehebrew', -0x05B3 => 'afii57802', -0x05B3 => 'hatafqamats', -0x05B3 => 'hatafqamats1b', -0x05B3 => 'hatafqamats28', -0x05B3 => 'hatafqamats34', -0x05B3 => 'hatafqamatshebrew', -0x05B3 => 'hatafqamatsnarrowhebrew', -0x05B3 => 'hatafqamatsquarterhebrew', -0x05B3 => 'hatafqamatswidehebrew', -0x05B4 => 'afii57793', -0x05B4 => 'hiriq', -0x05B4 => 'hiriq14', -0x05B4 => 'hiriq21', -0x05B4 => 'hiriq2d', -0x05B4 => 'hiriqhebrew', -0x05B4 => 'hiriqnarrowhebrew', -0x05B4 => 'hiriqquarterhebrew', -0x05B4 => 'hiriqwidehebrew', -0x05B5 => 'afii57794', -0x05B5 => 'tsere', -0x05B5 => 'tsere12', -0x05B5 => 'tsere1e', -0x05B5 => 'tsere2b', -0x05B5 => 'tserehebrew', -0x05B5 => 'tserenarrowhebrew', -0x05B5 => 'tserequarterhebrew', -0x05B5 => 'tserewidehebrew', -0x05B6 => 'afii57795', -0x05B6 => 'segol', -0x05B6 => 'segol13', -0x05B6 => 'segol1f', -0x05B6 => 'segol2c', -0x05B6 => 'segolhebrew', -0x05B6 => 'segolnarrowhebrew', -0x05B6 => 'segolquarterhebrew', -0x05B6 => 'segolwidehebrew', -0x05B7 => 'afii57798', -0x05B7 => 'patah', -0x05B7 => 'patah11', -0x05B7 => 'patah1d', -0x05B7 => 'patah2a', -0x05B7 => 'patahhebrew', -0x05B7 => 'patahnarrowhebrew', -0x05B7 => 'patahquarterhebrew', -0x05B7 => 'patahwidehebrew', -0x05B8 => 'afii57797', -0x05B8 => 'qamats', -0x05B8 => 'qamats10', -0x05B8 => 'qamats1a', -0x05B8 => 'qamats1c', -0x05B8 => 'qamats27', -0x05B8 => 'qamats29', -0x05B8 => 'qamats33', -0x05B8 => 'qamatsde', -0x05B8 => 'qamatshebrew', -0x05B8 => 'qamatsnarrowhebrew', -0x05B8 => 'qamatsqatanhebrew', -0x05B8 => 'qamatsqatannarrowhebrew', -0x05B8 => 'qamatsqatanquarterhebrew', -0x05B8 => 'qamatsqatanwidehebrew', -0x05B8 => 'qamatsquarterhebrew', -0x05B8 => 'qamatswidehebrew', -0x05B9 => 'afii57806', -0x05B9 => 'holam', -0x05B9 => 'holam19', -0x05B9 => 'holam26', -0x05B9 => 'holam32', -0x05B9 => 'holamhebrew', -0x05B9 => 'holamnarrowhebrew', -0x05B9 => 'holamquarterhebrew', -0x05B9 => 'holamwidehebrew', -0x05BB => 'afii57796', -0x05BB => 'qubuts', -0x05BB => 'qubuts18', -0x05BB => 'qubuts25', -0x05BB => 'qubuts31', -0x05BB => 'qubutshebrew', -0x05BB => 'qubutsnarrowhebrew', -0x05BB => 'qubutsquarterhebrew', -0x05BB => 'qubutswidehebrew', -0x05BC => 'afii57807', -0x05BC => 'dagesh', -0x05BC => 'dageshhebrew', -0x05BD => 'afii57839', -0x05BD => 'siluqhebrew', -0x05BD => 'siluqlefthebrew', -0x05BE => 'afii57645', -0x05BE => 'maqafhebrew', -0x05BF => 'afii57841', -0x05BF => 'rafe', -0x05BF => 'rafehebrew', -0x05C0 => 'afii57842', -0x05C0 => 'paseqhebrew', -0x05C1 => 'afii57804', -0x05C1 => 'shindothebrew', -0x05C2 => 'afii57803', -0x05C2 => 'sindothebrew', -0x05C3 => 'afii57658', -0x05C3 => 'sofpasuqhebrew', -0x05C4 => 'upperdothebrew', -0x05D0 => 'afii57664', -0x05D0 => 'alef', -0x05D0 => 'alefhebrew', -0x05D1 => 'afii57665', -0x05D1 => 'bet', -0x05D1 => 'bethebrew', -0x05D2 => 'afii57666', -0x05D2 => 'gimel', -0x05D2 => 'gimelhebrew', -0x05D3 => 'afii57667', -0x05D3 => 'dalet', -0x05D3 => 'dalethebrew', -0x05D4 => 'afii57668', -0x05D4 => 'he', -0x05D4 => 'hehebrew', -0x05D5 => 'afii57669', -0x05D5 => 'vav', -0x05D5 => 'vavhebrew', -0x05D6 => 'afii57670', -0x05D6 => 'zayin', -0x05D6 => 'zayinhebrew', -0x05D7 => 'afii57671', -0x05D7 => 'het', -0x05D7 => 'hethebrew', -0x05D8 => 'afii57672', -0x05D8 => 'tet', -0x05D8 => 'tethebrew', -0x05D9 => 'afii57673', -0x05D9 => 'yod', -0x05D9 => 'yodhebrew', -0x05DA => 'afii57674', -0x05DA => 'finalkaf', -0x05DA => 'finalkafhebrew', -0x05DB => 'afii57675', -0x05DB => 'kaf', -0x05DB => 'kafhebrew', -0x05DC => 'afii57676', -0x05DC => 'lamed', -0x05DC => 'lamedhebrew', -0x05DD => 'afii57677', -0x05DD => 'finalmem', -0x05DD => 'finalmemhebrew', -0x05DE => 'afii57678', -0x05DE => 'mem', -0x05DE => 'memhebrew', -0x05DF => 'afii57679', -0x05DF => 'finalnun', -0x05DF => 'finalnunhebrew', -0x05E0 => 'afii57680', -0x05E0 => 'nun', -0x05E0 => 'nunhebrew', -0x05E1 => 'afii57681', -0x05E1 => 'samekh', -0x05E1 => 'samekhhebrew', -0x05E2 => 'afii57682', -0x05E2 => 'ayin', -0x05E2 => 'ayinhebrew', -0x05E3 => 'afii57683', -0x05E3 => 'finalpe', -0x05E3 => 'finalpehebrew', -0x05E4 => 'afii57684', -0x05E4 => 'pe', -0x05E4 => 'pehebrew', -0x05E5 => 'afii57685', -0x05E5 => 'finaltsadi', -0x05E5 => 'finaltsadihebrew', -0x05E6 => 'afii57686', -0x05E6 => 'tsadi', -0x05E6 => 'tsadihebrew', -0x05E7 => 'afii57687', -0x05E7 => 'qof', -0x05E7 => 'qofhebrew', -0x05E8 => 'afii57688', -0x05E8 => 'resh', -0x05E8 => 'reshhebrew', -0x05E9 => 'afii57689', -0x05E9 => 'shin', -0x05E9 => 'shinhebrew', -0x05EA => 'afii57690', -0x05EA => 'tav', -0x05EA => 'tavhebrew', -0x05F0 => 'afii57716', -0x05F0 => 'vavvavhebrew', -0x05F1 => 'afii57717', -0x05F1 => 'vavyodhebrew', -0x05F2 => 'afii57718', -0x05F2 => 'yodyodhebrew', -0x05F3 => 'gereshhebrew', -0x05F4 => 'gershayimhebrew', -0x060C => 'afii57388', -0x060C => 'commaarabic', -0x061B => 'afii57403', -0x061B => 'semicolonarabic', -0x061F => 'afii57407', -0x061F => 'questionarabic', -0x0621 => 'afii57409', -0x0621 => 'hamzaarabic', -0x0621 => 'hamzalowarabic', -0x0622 => 'afii57410', -0x0622 => 'alefmaddaabovearabic', -0x0623 => 'afii57411', -0x0623 => 'alefhamzaabovearabic', -0x0624 => 'afii57412', -0x0624 => 'wawhamzaabovearabic', -0x0625 => 'afii57413', -0x0625 => 'alefhamzabelowarabic', -0x0626 => 'afii57414', -0x0626 => 'yehhamzaabovearabic', -0x0627 => 'afii57415', -0x0627 => 'alefarabic', -0x0628 => 'afii57416', -0x0628 => 'beharabic', -0x0629 => 'afii57417', -0x0629 => 'tehmarbutaarabic', -0x062A => 'afii57418', -0x062A => 'teharabic', -0x062B => 'afii57419', -0x062B => 'theharabic', -0x062C => 'afii57420', -0x062C => 'jeemarabic', -0x062D => 'afii57421', -0x062D => 'haharabic', -0x062E => 'afii57422', -0x062E => 'khaharabic', -0x062F => 'afii57423', -0x062F => 'dalarabic', -0x0630 => 'afii57424', -0x0630 => 'thalarabic', -0x0631 => 'afii57425', -0x0631 => 'reharabic', -0x0632 => 'afii57426', -0x0632 => 'zainarabic', -0x0633 => 'afii57427', -0x0633 => 'seenarabic', -0x0634 => 'afii57428', -0x0634 => 'sheenarabic', -0x0635 => 'afii57429', -0x0635 => 'sadarabic', -0x0636 => 'afii57430', -0x0636 => 'dadarabic', -0x0637 => 'afii57431', -0x0637 => 'taharabic', -0x0638 => 'afii57432', -0x0638 => 'zaharabic', -0x0639 => 'afii57433', -0x0639 => 'ainarabic', -0x063A => 'afii57434', -0x063A => 'ghainarabic', -0x0640 => 'afii57440', -0x0640 => 'kashidaautoarabic', -0x0640 => 'kashidaautonosidebearingarabic', -0x0640 => 'tatweelarabic', -0x0641 => 'afii57441', -0x0641 => 'feharabic', -0x0642 => 'afii57442', -0x0642 => 'qafarabic', -0x0643 => 'afii57443', -0x0643 => 'kafarabic', -0x0644 => 'afii57444', -0x0644 => 'lamarabic', -0x0645 => 'afii57445', -0x0645 => 'meemarabic', -0x0646 => 'afii57446', -0x0646 => 'noonarabic', -0x0647 => 'afii57470', -0x0647 => 'heharabic', -0x0648 => 'afii57448', -0x0648 => 'wawarabic', -0x0649 => 'afii57449', -0x0649 => 'alefmaksuraarabic', -0x064A => 'afii57450', -0x064A => 'yeharabic', -0x064B => 'afii57451', -0x064B => 'fathatanarabic', -0x064C => 'afii57452', -0x064C => 'dammatanaltonearabic', -0x064C => 'dammatanarabic', -0x064D => 'afii57453', -0x064D => 'kasratanarabic', -0x064E => 'afii57454', -0x064E => 'fathaarabic', -0x064E => 'fathalowarabic', -0x064F => 'afii57455', -0x064F => 'dammaarabic', -0x064F => 'dammalowarabic', -0x0650 => 'afii57456', -0x0650 => 'kasraarabic', -0x0651 => '064B shaddafathatanarabic', -0x0651 => 'afii57457', -0x0651 => 'shaddaarabic', -0x0652 => 'afii57458', -0x0652 => 'sukunarabic', -0x0660 => 'afii57392', -0x0660 => 'zeroarabic', -0x0660 => 'zerohackarabic', -0x0661 => 'afii57393', -0x0661 => 'onearabic', -0x0661 => 'onehackarabic', -0x0662 => 'afii57394', -0x0662 => 'twoarabic', -0x0662 => 'twohackarabic', -0x0663 => 'afii57395', -0x0663 => 'threearabic', -0x0663 => 'threehackarabic', -0x0664 => 'afii57396', -0x0664 => 'fourarabic', -0x0664 => 'fourhackarabic', -0x0665 => 'afii57397', -0x0665 => 'fivearabic', -0x0665 => 'fivehackarabic', -0x0666 => 'afii57398', -0x0666 => 'sixarabic', -0x0666 => 'sixhackarabic', -0x0667 => 'afii57399', -0x0667 => 'sevenarabic', -0x0667 => 'sevenhackarabic', -0x0668 => 'afii57400', -0x0668 => 'eightarabic', -0x0668 => 'eighthackarabic', -0x0669 => 'afii57401', -0x0669 => 'ninearabic', -0x0669 => 'ninehackarabic', -0x066A => 'afii57381', -0x066A => 'percentarabic', -0x066B => 'decimalseparatorarabic', -0x066B => 'decimalseparatorpersian', -0x066C => 'thousandsseparatorarabic', -0x066C => 'thousandsseparatorpersian', -0x066D => 'afii63167', -0x066D => 'asteriskaltonearabic', -0x066D => 'asteriskarabic', -0x0679 => 'afii57511', -0x0679 => 'tteharabic', -0x067E => 'afii57506', -0x067E => 'peharabic', -0x0686 => 'afii57507', -0x0686 => 'tcheharabic', -0x0688 => 'afii57512', -0x0688 => 'ddalarabic', -0x0691 => 'afii57513', -0x0691 => 'rreharabic', -0x0698 => 'afii57508', -0x0698 => 'jeharabic', -0x06A4 => 'afii57505', -0x06A4 => 'veharabic', -0x06AF => 'afii57509', -0x06AF => 'gafarabic', -0x06BA => 'afii57514', -0x06BA => 'noonghunnaarabic', -0x06C1 => 'haaltonearabic', -0x06C1 => 'hehaltonearabic', -0x06D1 => 'yehthreedotsbelowarabic', -0x06D2 => 'afii57519', -0x06D2 => 'yehbarreearabic', -0x06D5 => 'afii57534', -0x06F0 => 'zeropersian', -0x06F1 => 'onepersian', -0x06F2 => 'twopersian', -0x06F3 => 'threepersian', -0x06F4 => 'fourpersian', -0x06F5 => 'fivepersian', -0x06F6 => 'sixpersian', -0x06F7 => 'sevenpersian', -0x06F8 => 'eightpersian', -0x06F9 => 'ninepersian', -0x0901 => 'candrabindudeva', -0x0902 => 'anusvaradeva', -0x0903 => 'visargadeva', -0x0905 => 'adeva', -0x0906 => 'aadeva', -0x0907 => 'ideva', -0x0908 => 'iideva', -0x0909 => 'udeva', -0x090A => 'uudeva', -0x090B => 'rvocalicdeva', -0x090C => 'lvocalicdeva', -0x090D => 'ecandradeva', -0x090E => 'eshortdeva', -0x090F => 'edeva', -0x0910 => 'aideva', -0x0911 => 'ocandradeva', -0x0912 => 'oshortdeva', -0x0913 => 'odeva', -0x0914 => 'audeva', -0x0915 => 'kadeva', -0x0916 => 'khadeva', -0x0917 => 'gadeva', -0x0918 => 'ghadeva', -0x0919 => 'ngadeva', -0x091A => 'cadeva', -0x091B => 'chadeva', -0x091C => 'jadeva', -0x091D => 'jhadeva', -0x091E => 'nyadeva', -0x091F => 'ttadeva', -0x0920 => 'tthadeva', -0x0921 => 'ddadeva', -0x0922 => 'ddhadeva', -0x0923 => 'nnadeva', -0x0924 => 'tadeva', -0x0925 => 'thadeva', -0x0926 => 'dadeva', -0x0927 => 'dhadeva', -0x0928 => 'nadeva', -0x0929 => 'nnnadeva', -0x092A => 'padeva', -0x092B => 'phadeva', -0x092C => 'badeva', -0x092D => 'bhadeva', -0x092E => 'madeva', -0x092F => 'yadeva', -0x0930 => 'radeva', -0x0931 => 'rradeva', -0x0932 => 'ladeva', -0x0933 => 'lladeva', -0x0934 => 'llladeva', -0x0935 => 'vadeva', -0x0936 => 'shadeva', -0x0937 => 'ssadeva', -0x0938 => 'sadeva', -0x0939 => 'hadeva', -0x093C => 'nuktadeva', -0x093D => 'avagrahadeva', -0x093E => 'aavowelsigndeva', -0x093F => 'ivowelsigndeva', -0x0940 => 'iivowelsigndeva', -0x0941 => 'uvowelsigndeva', -0x0942 => 'uuvowelsigndeva', -0x0943 => 'rvocalicvowelsigndeva', -0x0944 => 'rrvocalicvowelsigndeva', -0x0945 => 'ecandravowelsigndeva', -0x0946 => 'eshortvowelsigndeva', -0x0947 => 'evowelsigndeva', -0x0948 => 'aivowelsigndeva', -0x0949 => 'ocandravowelsigndeva', -0x094A => 'oshortvowelsigndeva', -0x094B => 'ovowelsigndeva', -0x094C => 'auvowelsigndeva', -0x094D => 'viramadeva', -0x0950 => 'omdeva', -0x0951 => 'udattadeva', -0x0952 => 'anudattadeva', -0x0953 => 'gravedeva', -0x0954 => 'acutedeva', -0x0958 => 'qadeva', -0x0959 => 'khhadeva', -0x095A => 'ghhadeva', -0x095B => 'zadeva', -0x095C => 'dddhadeva', -0x095D => 'rhadeva', -0x095E => 'fadeva', -0x095F => 'yyadeva', -0x0960 => 'rrvocalicdeva', -0x0961 => 'llvocalicdeva', -0x0962 => 'lvocalicvowelsigndeva', -0x0963 => 'llvocalicvowelsigndeva', -0x0964 => 'danda', -0x0965 => 'dbldanda', -0x0966 => 'zerodeva', -0x0967 => 'onedeva', -0x0968 => 'twodeva', -0x0969 => 'threedeva', -0x096A => 'fourdeva', -0x096B => 'fivedeva', -0x096C => 'sixdeva', -0x096D => 'sevendeva', -0x096E => 'eightdeva', -0x096F => 'ninedeva', -0x0970 => 'abbreviationsigndeva', -0x0981 => 'candrabindubengali', -0x0982 => 'anusvarabengali', -0x0983 => 'visargabengali', -0x0985 => 'abengali', -0x0986 => 'aabengali', -0x0987 => 'ibengali', -0x0988 => 'iibengali', -0x0989 => 'ubengali', -0x098A => 'uubengali', -0x098B => 'rvocalicbengali', -0x098C => 'lvocalicbengali', -0x098F => 'ebengali', -0x0990 => 'aibengali', -0x0993 => 'obengali', -0x0994 => 'aubengali', -0x0995 => 'kabengali', -0x0996 => 'khabengali', -0x0997 => 'gabengali', -0x0998 => 'ghabengali', -0x0999 => 'ngabengali', -0x099A => 'cabengali', -0x099B => 'chabengali', -0x099C => 'jabengali', -0x099D => 'jhabengali', -0x099E => 'nyabengali', -0x099F => 'ttabengali', -0x09A0 => 'tthabengali', -0x09A1 => 'ddabengali', -0x09A2 => 'ddhabengali', -0x09A3 => 'nnabengali', -0x09A4 => 'tabengali', -0x09A5 => 'thabengali', -0x09A6 => 'dabengali', -0x09A7 => 'dhabengali', -0x09A8 => 'nabengali', -0x09AA => 'pabengali', -0x09AB => 'phabengali', -0x09AC => 'babengali', -0x09AD => 'bhabengali', -0x09AE => 'mabengali', -0x09AF => 'yabengali', -0x09B0 => 'rabengali', -0x09B2 => 'labengali', -0x09B6 => 'shabengali', -0x09B7 => 'ssabengali', -0x09B8 => 'sabengali', -0x09B9 => 'habengali', -0x09BC => 'nuktabengali', -0x09BE => 'aavowelsignbengali', -0x09BF => 'ivowelsignbengali', -0x09C0 => 'iivowelsignbengali', -0x09C1 => 'uvowelsignbengali', -0x09C2 => 'uuvowelsignbengali', -0x09C3 => 'rvocalicvowelsignbengali', -0x09C4 => 'rrvocalicvowelsignbengali', -0x09C7 => 'evowelsignbengali', -0x09C8 => 'aivowelsignbengali', -0x09CB => 'ovowelsignbengali', -0x09CC => 'auvowelsignbengali', -0x09CD => 'viramabengali', -0x09D7 => 'aulengthmarkbengali', -0x09DC => 'rrabengali', -0x09DD => 'rhabengali', -0x09DF => 'yyabengali', -0x09E0 => 'rrvocalicbengali', -0x09E1 => 'llvocalicbengali', -0x09E2 => 'lvocalicvowelsignbengali', -0x09E3 => 'llvocalicvowelsignbengali', -0x09E6 => 'zerobengali', -0x09E7 => 'onebengali', -0x09E8 => 'twobengali', -0x09E9 => 'threebengali', -0x09EA => 'fourbengali', -0x09EB => 'fivebengali', -0x09EC => 'sixbengali', -0x09ED => 'sevenbengali', -0x09EE => 'eightbengali', -0x09EF => 'ninebengali', -0x09F0 => 'ramiddlediagonalbengali', -0x09F1 => 'ralowerdiagonalbengali', -0x09F2 => 'rupeemarkbengali', -0x09F3 => 'rupeesignbengali', -0x09F4 => 'onenumeratorbengali', -0x09F5 => 'twonumeratorbengali', -0x09F6 => 'threenumeratorbengali', -0x09F7 => 'fournumeratorbengali', -0x09F8 => 'denominatorminusonenumeratorbengali', -0x09F9 => 'sixteencurrencydenominatorbengali', -0x09FA => 'issharbengali', -0x0A02 => 'bindigurmukhi', -0x0A05 => 'agurmukhi', -0x0A06 => 'aagurmukhi', -0x0A07 => 'igurmukhi', -0x0A08 => 'iigurmukhi', -0x0A09 => 'ugurmukhi', -0x0A0A => 'uugurmukhi', -0x0A0F => 'eegurmukhi', -0x0A10 => 'aigurmukhi', -0x0A13 => 'oogurmukhi', -0x0A14 => 'augurmukhi', -0x0A15 => 'kagurmukhi', -0x0A16 => 'khagurmukhi', -0x0A17 => 'gagurmukhi', -0x0A18 => 'ghagurmukhi', -0x0A19 => 'ngagurmukhi', -0x0A1A => 'cagurmukhi', -0x0A1B => 'chagurmukhi', -0x0A1C => 'jagurmukhi', -0x0A1D => 'jhagurmukhi', -0x0A1E => 'nyagurmukhi', -0x0A1F => 'ttagurmukhi', -0x0A20 => 'tthagurmukhi', -0x0A21 => 'ddagurmukhi', -0x0A22 => 'ddhagurmukhi', -0x0A23 => 'nnagurmukhi', -0x0A24 => 'tagurmukhi', -0x0A25 => 'thagurmukhi', -0x0A26 => 'dagurmukhi', -0x0A27 => 'dhagurmukhi', -0x0A28 => 'nagurmukhi', -0x0A2A => 'pagurmukhi', -0x0A2B => 'phagurmukhi', -0x0A2C => 'bagurmukhi', -0x0A2D => 'bhagurmukhi', -0x0A2E => 'magurmukhi', -0x0A2F => 'yagurmukhi', -0x0A30 => 'ragurmukhi', -0x0A32 => 'lagurmukhi', -0x0A35 => 'vagurmukhi', -0x0A36 => 'shagurmukhi', -0x0A38 => 'sagurmukhi', -0x0A39 => 'hagurmukhi', -0x0A3C => 'nuktagurmukhi', -0x0A3E => 'aamatragurmukhi', -0x0A3F => 'imatragurmukhi', -0x0A40 => 'iimatragurmukhi', -0x0A41 => 'umatragurmukhi', -0x0A42 => 'uumatragurmukhi', -0x0A47 => 'eematragurmukhi', -0x0A48 => 'aimatragurmukhi', -0x0A4B => 'oomatragurmukhi', -0x0A4C => 'aumatragurmukhi', -0x0A4D => 'halantgurmukhi', -0x0A59 => 'khhagurmukhi', -0x0A5A => 'ghhagurmukhi', -0x0A5B => 'zagurmukhi', -0x0A5C => 'rragurmukhi', -0x0A5E => 'fagurmukhi', -0x0A66 => 'zerogurmukhi', -0x0A67 => 'onegurmukhi', -0x0A68 => 'twogurmukhi', -0x0A69 => 'threegurmukhi', -0x0A6A => 'fourgurmukhi', -0x0A6B => 'fivegurmukhi', -0x0A6C => 'sixgurmukhi', -0x0A6D => 'sevengurmukhi', -0x0A6E => 'eightgurmukhi', -0x0A6F => 'ninegurmukhi', -0x0A70 => 'tippigurmukhi', -0x0A71 => 'addakgurmukhi', -0x0A72 => 'irigurmukhi', -0x0A73 => 'uragurmukhi', -0x0A74 => 'ekonkargurmukhi', -0x0A81 => 'candrabindugujarati', -0x0A82 => 'anusvaragujarati', -0x0A83 => 'visargagujarati', -0x0A85 => 'agujarati', -0x0A86 => 'aagujarati', -0x0A87 => 'igujarati', -0x0A88 => 'iigujarati', -0x0A89 => 'ugujarati', -0x0A8A => 'uugujarati', -0x0A8B => 'rvocalicgujarati', -0x0A8D => 'ecandragujarati', -0x0A8F => 'egujarati', -0x0A90 => 'aigujarati', -0x0A91 => 'ocandragujarati', -0x0A93 => 'ogujarati', -0x0A94 => 'augujarati', -0x0A95 => 'kagujarati', -0x0A96 => 'khagujarati', -0x0A97 => 'gagujarati', -0x0A98 => 'ghagujarati', -0x0A99 => 'ngagujarati', -0x0A9A => 'cagujarati', -0x0A9B => 'chagujarati', -0x0A9C => 'jagujarati', -0x0A9D => 'jhagujarati', -0x0A9E => 'nyagujarati', -0x0A9F => 'ttagujarati', -0x0AA0 => 'tthagujarati', -0x0AA1 => 'ddagujarati', -0x0AA2 => 'ddhagujarati', -0x0AA3 => 'nnagujarati', -0x0AA4 => 'tagujarati', -0x0AA5 => 'thagujarati', -0x0AA6 => 'dagujarati', -0x0AA7 => 'dhagujarati', -0x0AA8 => 'nagujarati', -0x0AAA => 'pagujarati', -0x0AAB => 'phagujarati', -0x0AAC => 'bagujarati', -0x0AAD => 'bhagujarati', -0x0AAE => 'magujarati', -0x0AAF => 'yagujarati', -0x0AB0 => 'ragujarati', -0x0AB2 => 'lagujarati', -0x0AB3 => 'llagujarati', -0x0AB5 => 'vagujarati', -0x0AB6 => 'shagujarati', -0x0AB7 => 'ssagujarati', -0x0AB8 => 'sagujarati', -0x0AB9 => 'hagujarati', -0x0ABC => 'nuktagujarati', -0x0ABE => 'aavowelsigngujarati', -0x0ABF => 'ivowelsigngujarati', -0x0AC0 => 'iivowelsigngujarati', -0x0AC1 => 'uvowelsigngujarati', -0x0AC2 => 'uuvowelsigngujarati', -0x0AC3 => 'rvocalicvowelsigngujarati', -0x0AC4 => 'rrvocalicvowelsigngujarati', -0x0AC5 => 'ecandravowelsigngujarati', -0x0AC7 => 'evowelsigngujarati', -0x0AC8 => 'aivowelsigngujarati', -0x0AC9 => 'ocandravowelsigngujarati', -0x0ACB => 'ovowelsigngujarati', -0x0ACC => 'auvowelsigngujarati', -0x0ACD => 'viramagujarati', -0x0AD0 => 'omgujarati', -0x0AE0 => 'rrvocalicgujarati', -0x0AE6 => 'zerogujarati', -0x0AE7 => 'onegujarati', -0x0AE8 => 'twogujarati', -0x0AE9 => 'threegujarati', -0x0AEA => 'fourgujarati', -0x0AEB => 'fivegujarati', -0x0AEC => 'sixgujarati', -0x0AED => 'sevengujarati', -0x0AEE => 'eightgujarati', -0x0AEF => 'ninegujarati', -0x0E01 => 'kokaithai', -0x0E02 => 'khokhaithai', -0x0E03 => 'khokhuatthai', -0x0E04 => 'khokhwaithai', -0x0E05 => 'khokhonthai', -0x0E06 => 'khorakhangthai', -0x0E07 => 'ngonguthai', -0x0E08 => 'chochanthai', -0x0E09 => 'chochingthai', -0x0E0A => 'chochangthai', -0x0E0B => 'sosothai', -0x0E0C => 'chochoethai', -0x0E0D => 'yoyingthai', -0x0E0E => 'dochadathai', -0x0E0F => 'topatakthai', -0x0E10 => 'thothanthai', -0x0E11 => 'thonangmonthothai', -0x0E12 => 'thophuthaothai', -0x0E13 => 'nonenthai', -0x0E14 => 'dodekthai', -0x0E15 => 'totaothai', -0x0E16 => 'thothungthai', -0x0E17 => 'thothahanthai', -0x0E18 => 'thothongthai', -0x0E19 => 'nonuthai', -0x0E1A => 'bobaimaithai', -0x0E1B => 'poplathai', -0x0E1C => 'phophungthai', -0x0E1D => 'fofathai', -0x0E1E => 'phophanthai', -0x0E1F => 'fofanthai', -0x0E20 => 'phosamphaothai', -0x0E21 => 'momathai', -0x0E22 => 'yoyakthai', -0x0E23 => 'roruathai', -0x0E24 => 'ruthai', -0x0E25 => 'lolingthai', -0x0E26 => 'luthai', -0x0E27 => 'wowaenthai', -0x0E28 => 'sosalathai', -0x0E29 => 'sorusithai', -0x0E2A => 'sosuathai', -0x0E2B => 'hohipthai', -0x0E2C => 'lochulathai', -0x0E2D => 'oangthai', -0x0E2E => 'honokhukthai', -0x0E2F => 'paiyannoithai', -0x0E30 => 'saraathai', -0x0E31 => 'maihanakatthai', -0x0E32 => 'saraaathai', -0x0E33 => 'saraamthai', -0x0E34 => 'saraithai', -0x0E35 => 'saraiithai', -0x0E36 => 'sarauethai', -0x0E37 => 'saraueethai', -0x0E38 => 'sarauthai', -0x0E39 => 'sarauuthai', -0x0E3A => 'phinthuthai', -0x0E3F => 'bahtthai', -0x0E40 => 'saraethai', -0x0E41 => 'saraaethai', -0x0E42 => 'saraothai', -0x0E43 => 'saraaimaimuanthai', -0x0E44 => 'saraaimaimalaithai', -0x0E45 => 'lakkhangyaothai', -0x0E46 => 'maiyamokthai', -0x0E47 => 'maitaikhuthai', -0x0E48 => 'maiekthai', -0x0E49 => 'maithothai', -0x0E4A => 'maitrithai', -0x0E4B => 'maichattawathai', -0x0E4C => 'thanthakhatthai', -0x0E4D => 'nikhahitthai', -0x0E4E => 'yamakkanthai', -0x0E4F => 'fongmanthai', -0x0E50 => 'zerothai', -0x0E51 => 'onethai', -0x0E52 => 'twothai', -0x0E53 => 'threethai', -0x0E54 => 'fourthai', -0x0E55 => 'fivethai', -0x0E56 => 'sixthai', -0x0E57 => 'seventhai', -0x0E58 => 'eightthai', -0x0E59 => 'ninethai', -0x0E5A => 'angkhankhuthai', -0x0E5B => 'khomutthai', -0x1E00 => 'Aringbelow', -0x1E01 => 'aringbelow', -0x1E02 => 'Bdotaccent', -0x1E03 => 'bdotaccent', -0x1E04 => 'Bdotbelow', -0x1E05 => 'bdotbelow', -0x1E06 => 'Blinebelow', -0x1E07 => 'blinebelow', -0x1E08 => 'Ccedillaacute', -0x1E09 => 'ccedillaacute', -0x1E0A => 'Ddotaccent', -0x1E0B => 'ddotaccent', -0x1E0C => 'Ddotbelow', -0x1E0D => 'ddotbelow', -0x1E0E => 'Dlinebelow', -0x1E0F => 'dlinebelow', -0x1E10 => 'Dcedilla', -0x1E11 => 'dcedilla', -0x1E12 => 'Dcircumflexbelow', -0x1E13 => 'dcircumflexbelow', -0x1E14 => 'Emacrongrave', -0x1E15 => 'emacrongrave', -0x1E16 => 'Emacronacute', -0x1E17 => 'emacronacute', -0x1E18 => 'Ecircumflexbelow', -0x1E19 => 'ecircumflexbelow', -0x1E1A => 'Etildebelow', -0x1E1B => 'etildebelow', -0x1E1C => 'Ecedillabreve', -0x1E1D => 'ecedillabreve', -0x1E1E => 'Fdotaccent', -0x1E1F => 'fdotaccent', -0x1E20 => 'Gmacron', -0x1E21 => 'gmacron', -0x1E22 => 'Hdotaccent', -0x1E23 => 'hdotaccent', -0x1E24 => 'Hdotbelow', -0x1E25 => 'hdotbelow', -0x1E26 => 'Hdieresis', -0x1E27 => 'hdieresis', -0x1E28 => 'Hcedilla', -0x1E29 => 'hcedilla', -0x1E2A => 'Hbrevebelow', -0x1E2B => 'hbrevebelow', -0x1E2C => 'Itildebelow', -0x1E2D => 'itildebelow', -0x1E2E => 'Idieresisacute', -0x1E2F => 'idieresisacute', -0x1E30 => 'Kacute', -0x1E31 => 'kacute', -0x1E32 => 'Kdotbelow', -0x1E33 => 'kdotbelow', -0x1E34 => 'Klinebelow', -0x1E35 => 'klinebelow', -0x1E36 => 'Ldotbelow', -0x1E37 => 'ldotbelow', -0x1E38 => 'Ldotbelowmacron', -0x1E39 => 'ldotbelowmacron', -0x1E3A => 'Llinebelow', -0x1E3B => 'llinebelow', -0x1E3C => 'Lcircumflexbelow', -0x1E3D => 'lcircumflexbelow', -0x1E3E => 'Macute', -0x1E3F => 'macute', -0x1E40 => 'Mdotaccent', -0x1E41 => 'mdotaccent', -0x1E42 => 'Mdotbelow', -0x1E43 => 'mdotbelow', -0x1E44 => 'Ndotaccent', -0x1E45 => 'ndotaccent', -0x1E46 => 'Ndotbelow', -0x1E47 => 'ndotbelow', -0x1E48 => 'Nlinebelow', -0x1E49 => 'nlinebelow', -0x1E4A => 'Ncircumflexbelow', -0x1E4B => 'ncircumflexbelow', -0x1E4C => 'Otildeacute', -0x1E4D => 'otildeacute', -0x1E4E => 'Otildedieresis', -0x1E4F => 'otildedieresis', -0x1E50 => 'Omacrongrave', -0x1E51 => 'omacrongrave', -0x1E52 => 'Omacronacute', -0x1E53 => 'omacronacute', -0x1E54 => 'Pacute', -0x1E55 => 'pacute', -0x1E56 => 'Pdotaccent', -0x1E57 => 'pdotaccent', -0x1E58 => 'Rdotaccent', -0x1E59 => 'rdotaccent', -0x1E5A => 'Rdotbelow', -0x1E5B => 'rdotbelow', -0x1E5C => 'Rdotbelowmacron', -0x1E5D => 'rdotbelowmacron', -0x1E5E => 'Rlinebelow', -0x1E5F => 'rlinebelow', -0x1E60 => 'Sdotaccent', -0x1E61 => 'sdotaccent', -0x1E62 => 'Sdotbelow', -0x1E63 => 'sdotbelow', -0x1E64 => 'Sacutedotaccent', -0x1E65 => 'sacutedotaccent', -0x1E66 => 'Scarondotaccent', -0x1E67 => 'scarondotaccent', -0x1E68 => 'Sdotbelowdotaccent', -0x1E69 => 'sdotbelowdotaccent', -0x1E6A => 'Tdotaccent', -0x1E6B => 'tdotaccent', -0x1E6C => 'Tdotbelow', -0x1E6D => 'tdotbelow', -0x1E6E => 'Tlinebelow', -0x1E6F => 'tlinebelow', -0x1E70 => 'Tcircumflexbelow', -0x1E71 => 'tcircumflexbelow', -0x1E72 => 'Udieresisbelow', -0x1E73 => 'udieresisbelow', -0x1E74 => 'Utildebelow', -0x1E75 => 'utildebelow', -0x1E76 => 'Ucircumflexbelow', -0x1E77 => 'ucircumflexbelow', -0x1E78 => 'Utildeacute', -0x1E79 => 'utildeacute', -0x1E7A => 'Umacrondieresis', -0x1E7B => 'umacrondieresis', -0x1E7C => 'Vtilde', -0x1E7D => 'vtilde', -0x1E7E => 'Vdotbelow', -0x1E7F => 'vdotbelow', -0x1E80 => 'Wgrave', -0x1E81 => 'wgrave', -0x1E82 => 'Wacute', -0x1E83 => 'wacute', -0x1E84 => 'Wdieresis', -0x1E85 => 'wdieresis', -0x1E86 => 'Wdotaccent', -0x1E87 => 'wdotaccent', -0x1E88 => 'Wdotbelow', -0x1E89 => 'wdotbelow', -0x1E8A => 'Xdotaccent', -0x1E8B => 'xdotaccent', -0x1E8C => 'Xdieresis', -0x1E8D => 'xdieresis', -0x1E8E => 'Ydotaccent', -0x1E8F => 'ydotaccent', -0x1E90 => 'Zcircumflex', -0x1E91 => 'zcircumflex', -0x1E92 => 'Zdotbelow', -0x1E93 => 'zdotbelow', -0x1E94 => 'Zlinebelow', -0x1E95 => 'zlinebelow', -0x1E96 => 'hlinebelow', -0x1E97 => 'tdieresis', -0x1E98 => 'wring', -0x1E99 => 'yring', -0x1E9A => 'arighthalfring', -0x1E9B => 'slongdotaccent', -0x1EA0 => 'Adotbelow', -0x1EA1 => 'adotbelow', -0x1EA2 => 'Ahookabove', -0x1EA3 => 'ahookabove', -0x1EA4 => 'Acircumflexacute', -0x1EA5 => 'acircumflexacute', -0x1EA6 => 'Acircumflexgrave', -0x1EA7 => 'acircumflexgrave', -0x1EA8 => 'Acircumflexhookabove', -0x1EA9 => 'acircumflexhookabove', -0x1EAA => 'Acircumflextilde', -0x1EAB => 'acircumflextilde', -0x1EAC => 'Acircumflexdotbelow', -0x1EAD => 'acircumflexdotbelow', -0x1EAE => 'Abreveacute', -0x1EAF => 'abreveacute', -0x1EB0 => 'Abrevegrave', -0x1EB1 => 'abrevegrave', -0x1EB2 => 'Abrevehookabove', -0x1EB3 => 'abrevehookabove', -0x1EB4 => 'Abrevetilde', -0x1EB5 => 'abrevetilde', -0x1EB6 => 'Abrevedotbelow', -0x1EB7 => 'abrevedotbelow', -0x1EB8 => 'Edotbelow', -0x1EB9 => 'edotbelow', -0x1EBA => 'Ehookabove', -0x1EBB => 'ehookabove', -0x1EBC => 'Etilde', -0x1EBD => 'etilde', -0x1EBE => 'Ecircumflexacute', -0x1EBF => 'ecircumflexacute', -0x1EC0 => 'Ecircumflexgrave', -0x1EC1 => 'ecircumflexgrave', -0x1EC2 => 'Ecircumflexhookabove', -0x1EC3 => 'ecircumflexhookabove', -0x1EC4 => 'Ecircumflextilde', -0x1EC5 => 'ecircumflextilde', -0x1EC6 => 'Ecircumflexdotbelow', -0x1EC7 => 'ecircumflexdotbelow', -0x1EC8 => 'Ihookabove', -0x1EC9 => 'ihookabove', -0x1ECA => 'Idotbelow', -0x1ECB => 'idotbelow', -0x1ECC => 'Odotbelow', -0x1ECD => 'odotbelow', -0x1ECE => 'Ohookabove', -0x1ECF => 'ohookabove', -0x1ED0 => 'Ocircumflexacute', -0x1ED1 => 'ocircumflexacute', -0x1ED2 => 'Ocircumflexgrave', -0x1ED3 => 'ocircumflexgrave', -0x1ED4 => 'Ocircumflexhookabove', -0x1ED5 => 'ocircumflexhookabove', -0x1ED6 => 'Ocircumflextilde', -0x1ED7 => 'ocircumflextilde', -0x1ED8 => 'Ocircumflexdotbelow', -0x1ED9 => 'ocircumflexdotbelow', -0x1EDA => 'Ohornacute', -0x1EDB => 'ohornacute', -0x1EDC => 'Ohorngrave', -0x1EDD => 'ohorngrave', -0x1EDE => 'Ohornhookabove', -0x1EDF => 'ohornhookabove', -0x1EE0 => 'Ohorntilde', -0x1EE1 => 'ohorntilde', -0x1EE2 => 'Ohorndotbelow', -0x1EE3 => 'ohorndotbelow', -0x1EE4 => 'Udotbelow', -0x1EE5 => 'udotbelow', -0x1EE6 => 'Uhookabove', -0x1EE7 => 'uhookabove', -0x1EE8 => 'Uhornacute', -0x1EE9 => 'uhornacute', -0x1EEA => 'Uhorngrave', -0x1EEB => 'uhorngrave', -0x1EEC => 'Uhornhookabove', -0x1EED => 'uhornhookabove', -0x1EEE => 'Uhorntilde', -0x1EEF => 'uhorntilde', -0x1EF0 => 'Uhorndotbelow', -0x1EF1 => 'uhorndotbelow', -0x1EF2 => 'Ygrave', -0x1EF3 => 'ygrave', -0x1EF4 => 'Ydotbelow', -0x1EF5 => 'ydotbelow', -0x1EF6 => 'Yhookabove', -0x1EF7 => 'yhookabove', -0x1EF8 => 'Ytilde', -0x1EF9 => 'ytilde', -0x2002 => 'enspace', -0x200B => 'zerowidthspace', -0x200C => 'afii61664', -0x200C => 'zerowidthnonjoiner', -0x200D => 'afii301', -0x200E => 'afii299', -0x200F => 'afii300', -0x2010 => 'hyphentwo', -0x2012 => 'figuredash', -0x2013 => 'endash', -0x2014 => 'emdash', -0x2015 => 'afii00208', -0x2015 => 'horizontalbar', -0x2016 => 'dblverticalbar', -0x2017 => 'dbllowline', -0x2017 => 'underscoredbl', -0x2018 => 'quoteleft', -0x2019 => 'quoteright', -0x201A => 'quotesinglbase', -0x201B => 'quoteleftreversed', -0x201B => 'quotereversed', -0x201C => 'quotedblleft', -0x201D => 'quotedblright', -0x201E => 'quotedblbase', -0x2020 => 'dagger', -0x2021 => 'daggerdbl', -0x2022 => 'bullet', -0x2024 => 'onedotenleader', -0x2025 => 'twodotenleader', -0x2025 => 'twodotleader', -0x2026 => 'ellipsis', -0x202C => 'afii61573', -0x202D => 'afii61574', -0x202E => 'afii61575', -0x2030 => 'perthousand', -0x2032 => 'minute', -0x2033 => 'second', -0x2035 => 'primereversed', -0x2039 => 'guilsinglleft', -0x203A => 'guilsinglright', -0x203B => 'referencemark', -0x203C => 'exclamdbl', -0x203E => 'overline', -0x2042 => 'asterism', -0x2044 => 'fraction', -0x2070 => 'zerosuperior', -0x2074 => 'foursuperior', -0x2075 => 'fivesuperior', -0x2076 => 'sixsuperior', -0x2077 => 'sevensuperior', -0x2078 => 'eightsuperior', -0x2079 => 'ninesuperior', -0x207A => 'plussuperior', -0x207C => 'equalsuperior', -0x207D => 'parenleftsuperior', -0x207E => 'parenrightsuperior', -0x207F => 'nsuperior', -0x2080 => 'zeroinferior', -0x2081 => 'oneinferior', -0x2082 => 'twoinferior', -0x2083 => 'threeinferior', -0x2084 => 'fourinferior', -0x2085 => 'fiveinferior', -0x2086 => 'sixinferior', -0x2087 => 'seveninferior', -0x2088 => 'eightinferior', -0x2089 => 'nineinferior', -0x208D => 'parenleftinferior', -0x208E => 'parenrightinferior', -0x20A1 => 'colonmonetary', -0x20A1 => 'colonsign', -0x20A2 => 'cruzeiro', -0x20A3 => 'franc', -0x20A4 => 'afii08941', -0x20A4 => 'lira', -0x20A7 => 'peseta', -0x20A9 => 'won', -0x20AA => 'afii57636', -0x20AA => 'newsheqelsign', -0x20AA => 'sheqel', -0x20AA => 'sheqelhebrew', -0x20AB => 'dong', -0x20AC => 'Euro', -0x20AC => 'euro', -0x2103 => 'centigrade', -0x2105 => 'afii61248', -0x2105 => 'careof', -0x2109 => 'fahrenheit', -0x2111 => 'Ifraktur', -0x2113 => 'afii61289', -0x2113 => 'lsquare', -0x2116 => 'afii61352', -0x2116 => 'numero', -0x2118 => 'weierstrass', -0x211C => 'Rfraktur', -0x211E => 'prescription', -0x2121 => 'telephone', -0x2122 => 'trademark', -0x2126 => 'Ohm', -0x2126 => 'Omega', -0x212B => 'angstrom', -0x212E => 'estimated', -0x2135 => 'aleph', -0x2153 => 'onethird', -0x2154 => 'twothirds', -0x215B => 'oneeighth', -0x215C => 'threeeighths', -0x215D => 'fiveeighths', -0x215E => 'seveneighths', -0x2160 => 'Oneroman', -0x2161 => 'Tworoman', -0x2162 => 'Threeroman', -0x2163 => 'Fourroman', -0x2164 => 'Fiveroman', -0x2165 => 'Sixroman', -0x2166 => 'Sevenroman', -0x2167 => 'Eightroman', -0x2168 => 'Nineroman', -0x2169 => 'Tenroman', -0x216A => 'Elevenroman', -0x216B => 'Twelveroman', -0x2170 => 'oneroman', -0x2171 => 'tworoman', -0x2172 => 'threeroman', -0x2173 => 'fourroman', -0x2174 => 'fiveroman', -0x2175 => 'sixroman', -0x2176 => 'sevenroman', -0x2177 => 'eightroman', -0x2178 => 'nineroman', -0x2179 => 'tenroman', -0x217A => 'elevenroman', -0x217B => 'twelveroman', -0x2190 => 'arrowleft', -0x2191 => 'arrowup', -0x2192 => 'arrowright', -0x2193 => 'arrowdown', -0x2194 => 'arrowboth', -0x2195 => 'arrowupdn', -0x2196 => 'arrowupleft', -0x2197 => 'arrowupright', -0x2198 => 'arrowdownright', -0x2199 => 'arrowdownleft', -0x21A8 => 'arrowupdnbse', -0x21A8 => 'arrowupdownbase', -0x21B5 => 'carriagereturn', -0x21BC => 'harpoonleftbarbup', -0x21C0 => 'harpoonrightbarbup', -0x21C4 => 'arrowrightoverleft', -0x21C5 => 'arrowupleftofdown', -0x21C6 => 'arrowleftoverright', -0x21CD => 'arrowleftdblstroke', -0x21CF => 'arrowrightdblstroke', -0x21D0 => 'arrowdblleft', -0x21D0 => 'arrowleftdbl', -0x21D1 => 'arrowdblup', -0x21D2 => 'arrowdblright', -0x21D2 => 'dblarrowright', -0x21D3 => 'arrowdbldown', -0x21D4 => 'arrowdblboth', -0x21D4 => 'dblarrowleft', -0x21DE => 'pageup', -0x21DF => 'pagedown', -0x21E0 => 'arrowdashleft', -0x21E1 => 'arrowdashup', -0x21E2 => 'arrowdashright', -0x21E3 => 'arrowdashdown', -0x21E4 => 'arrowtableft', -0x21E5 => 'arrowtabright', -0x21E6 => 'arrowleftwhite', -0x21E7 => 'arrowupwhite', -0x21E8 => 'arrowrightwhite', -0x21E9 => 'arrowdownwhite', -0x21EA => 'capslock', -0x2200 => 'forall', -0x2200 => 'universal', -0x2202 => 'partialdiff', -0x2203 => 'existential', -0x2203 => 'thereexists', -0x2205 => 'emptyset', -0x2206 => 'Delta', -0x2206 => 'increment', -0x2207 => 'gradient', -0x2207 => 'nabla', -0x2208 => 'element', -0x2209 => 'notelement', -0x2209 => 'notelementof', -0x220B => 'suchthat', -0x220C => 'notcontains', -0x220F => 'product', -0x2211 => 'summation', -0x2212 => 'minus', -0x2213 => 'minusplus', -0x2215 => 'divisionslash', -0x2217 => 'asteriskmath', -0x2219 => 'bulletoperator', -0x221A => 'radical', -0x221D => 'proportional', -0x221E => 'infinity', -0x221F => 'orthogonal', -0x221F => 'rightangle', -0x2220 => 'angle', -0x2223 => 'divides', -0x2225 => 'parallel', -0x2226 => 'notparallel', -0x2227 => 'logicaland', -0x2228 => 'logicalor', -0x2229 => 'intersection', -0x222A => 'union', -0x222B => 'integral', -0x222C => 'dblintegral', -0x222E => 'contourintegral', -0x2234 => 'therefore', -0x2235 => 'because', -0x2236 => 'ratio', -0x2237 => 'proportion', -0x223C => 'similar', -0x223C => 'tildeoperator', -0x223D => 'reversedtilde', -0x2243 => 'asymptoticallyequal', -0x2245 => 'approximatelyequal', -0x2245 => 'congruent', -0x2248 => 'approxequal', -0x224C => 'allequal', -0x2250 => 'approaches', -0x2251 => 'geometricallyequal', -0x2252 => 'approxequalorimage', -0x2253 => 'imageorapproximatelyequal', -0x2260 => 'notequal', -0x2261 => 'equivalence', -0x2262 => 'notidentical', -0x2264 => 'lessequal', -0x2265 => 'greaterequal', -0x2266 => 'lessoverequal', -0x2267 => 'greateroverequal', -0x226A => 'muchless', -0x226B => 'muchgreater', -0x226E => 'notless', -0x226F => 'notgreater', -0x2270 => 'notlessnorequal', -0x2271 => 'notgreaternorequal', -0x2272 => 'lessorequivalent', -0x2273 => 'greaterorequivalent', -0x2276 => 'lessorgreater', -0x2277 => 'greaterorless', -0x2279 => 'notgreaternorless', -0x227A => 'precedes', -0x227B => 'succeeds', -0x2280 => 'notprecedes', -0x2281 => 'notsucceeds', -0x2282 => 'propersubset', -0x2282 => 'subset', -0x2283 => 'propersuperset', -0x2283 => 'superset', -0x2284 => 'notsubset', -0x2285 => 'notsuperset', -0x2286 => 'reflexsubset', -0x2286 => 'subsetorequal', -0x2287 => 'reflexsuperset', -0x2287 => 'supersetorequal', -0x228A => 'subsetnotequal', -0x228B => 'supersetnotequal', -0x2295 => 'circleplus', -0x2295 => 'pluscircle', -0x2296 => 'minuscircle', -0x2297 => 'circlemultiply', -0x2297 => 'timescircle', -0x2299 => 'circleot', -0x22A3 => 'tackleft', -0x22A4 => 'tackdown', -0x22A5 => 'perpendicular', -0x22BF => 'righttriangle', -0x22C5 => 'dotmath', -0x22CE => 'curlyor', -0x22CF => 'curlyand', -0x22DA => 'lessequalorgreater', -0x22DB => 'greaterequalorless', -0x22EE => 'ellipsisvertical', -0x2302 => 'house', -0x2303 => 'control', -0x2305 => 'projective', -0x2310 => 'logicalnotreversed', -0x2310 => 'revlogicalnot', -0x2312 => 'arc', -0x2318 => 'propellor', -0x2320 => 'integraltop', -0x2320 => 'integraltp', -0x2321 => 'integralbottom', -0x2321 => 'integralbt', -0x2325 => 'option', -0x2326 => 'deleteright', -0x2327 => 'clear', -0x2329 => 'angleleft', -0x232A => 'angleright', -0x232B => 'deleteleft', -0x2423 => 'blank', -0x2460 => 'onecircle', -0x2461 => 'twocircle', -0x2462 => 'threecircle', -0x2463 => 'fourcircle', -0x2464 => 'fivecircle', -0x2465 => 'sixcircle', -0x2466 => 'sevencircle', -0x2467 => 'eightcircle', -0x2468 => 'ninecircle', -0x2469 => 'tencircle', -0x246A => 'elevencircle', -0x246B => 'twelvecircle', -0x246C => 'thirteencircle', -0x246D => 'fourteencircle', -0x246E => 'fifteencircle', -0x246F => 'sixteencircle', -0x2470 => 'seventeencircle', -0x2471 => 'eighteencircle', -0x2472 => 'nineteencircle', -0x2473 => 'twentycircle', -0x2474 => 'oneparen', -0x2475 => 'twoparen', -0x2476 => 'threeparen', -0x2477 => 'fourparen', -0x2478 => 'fiveparen', -0x2479 => 'sixparen', -0x247A => 'sevenparen', -0x247B => 'eightparen', -0x247C => 'nineparen', -0x247D => 'tenparen', -0x247E => 'elevenparen', -0x247F => 'twelveparen', -0x2480 => 'thirteenparen', -0x2481 => 'fourteenparen', -0x2482 => 'fifteenparen', -0x2483 => 'sixteenparen', -0x2484 => 'seventeenparen', -0x2485 => 'eighteenparen', -0x2486 => 'nineteenparen', -0x2487 => 'twentyparen', -0x2488 => 'oneperiod', -0x2489 => 'twoperiod', -0x248A => 'threeperiod', -0x248B => 'fourperiod', -0x248C => 'fiveperiod', -0x248D => 'sixperiod', -0x248E => 'sevenperiod', -0x248F => 'eightperiod', -0x2490 => 'nineperiod', -0x2491 => 'tenperiod', -0x2492 => 'elevenperiod', -0x2493 => 'twelveperiod', -0x2494 => 'thirteenperiod', -0x2495 => 'fourteenperiod', -0x2496 => 'fifteenperiod', -0x2497 => 'sixteenperiod', -0x2498 => 'seventeenperiod', -0x2499 => 'eighteenperiod', -0x249A => 'nineteenperiod', -0x249B => 'twentyperiod', -0x249C => 'aparen', -0x249D => 'bparen', -0x249E => 'cparen', -0x249F => 'dparen', -0x24A0 => 'eparen', -0x24A1 => 'fparen', -0x24A2 => 'gparen', -0x24A3 => 'hparen', -0x24A4 => 'iparen', -0x24A5 => 'jparen', -0x24A6 => 'kparen', -0x24A7 => 'lparen', -0x24A8 => 'mparen', -0x24A9 => 'nparen', -0x24AA => 'oparen', -0x24AB => 'pparen', -0x24AC => 'qparen', -0x24AD => 'rparen', -0x24AE => 'sparen', -0x24AF => 'tparen', -0x24B0 => 'uparen', -0x24B1 => 'vparen', -0x24B2 => 'wparen', -0x24B3 => 'xparen', -0x24B4 => 'yparen', -0x24B5 => 'zparen', -0x24B6 => 'Acircle', -0x24B7 => 'Bcircle', -0x24B8 => 'Ccircle', -0x24B9 => 'Dcircle', -0x24BA => 'Ecircle', -0x24BB => 'Fcircle', -0x24BC => 'Gcircle', -0x24BD => 'Hcircle', -0x24BE => 'Icircle', -0x24BF => 'Jcircle', -0x24C0 => 'Kcircle', -0x24C1 => 'Lcircle', -0x24C2 => 'Mcircle', -0x24C3 => 'Ncircle', -0x24C4 => 'Ocircle', -0x24C5 => 'Pcircle', -0x24C6 => 'Qcircle', -0x24C7 => 'Rcircle', -0x24C8 => 'Scircle', -0x24C9 => 'Tcircle', -0x24CA => 'Ucircle', -0x24CB => 'Vcircle', -0x24CC => 'Wcircle', -0x24CD => 'Xcircle', -0x24CE => 'Ycircle', -0x24CF => 'Zcircle', -0x24D0 => 'acircle', -0x24D1 => 'bcircle', -0x24D2 => 'ccircle', -0x24D3 => 'dcircle', -0x24D4 => 'ecircle', -0x24D5 => 'fcircle', -0x24D6 => 'gcircle', -0x24D7 => 'hcircle', -0x24D8 => 'icircle', -0x24D9 => 'jcircle', -0x24DA => 'kcircle', -0x24DB => 'lcircle', -0x24DC => 'mcircle', -0x24DD => 'ncircle', -0x24DE => 'ocircle', -0x24DF => 'pcircle', -0x24E0 => 'qcircle', -0x24E1 => 'rcircle', -0x24E2 => 'scircle', -0x24E3 => 'tcircle', -0x24E4 => 'ucircle', -0x24E5 => 'vcircle', -0x24E6 => 'wcircle', -0x24E7 => 'xcircle', -0x24E8 => 'ycircle', -0x24E9 => 'zcircle', -0X2500 => 'SF100000', -0X2502 => 'SF110000', -0X250C => 'SF010000', -0X2510 => 'SF030000', -0X2514 => 'SF020000', -0X2518 => 'SF040000', -0X251C => 'SF080000', -0X2524 => 'SF090000', -0X252C => 'SF060000', -0X2534 => 'SF070000', -0X253C => 'SF050000', -0X2550 => 'SF430000', -0X2551 => 'SF240000', -0X2552 => 'SF510000', -0X2553 => 'SF520000', -0X2554 => 'SF390000', -0X2555 => 'SF220000', -0X2556 => 'SF210000', -0X2557 => 'SF250000', -0X2558 => 'SF500000', -0X2559 => 'SF490000', -0X255A => 'SF380000', -0X255B => 'SF280000', -0X255C => 'SF270000', -0X255D => 'SF260000', -0X255E => 'SF360000', -0X255F => 'SF370000', -0X2560 => 'SF420000', -0X2561 => 'SF190000', -0X2562 => 'SF200000', -0X2563 => 'SF230000', -0X2564 => 'SF470000', -0X2565 => 'SF480000', -0X2566 => 'SF410000', -0X2567 => 'SF450000', -0X2568 => 'SF460000', -0X2569 => 'SF400000', -0X256A => 'SF540000', -0X256B => 'SF530000', -0X256C => 'SF440000', -0x2580 => 'upblock', -0x2584 => 'dnblock', -0x2588 => 'block', -0x258C => 'lfblock', -0x2590 => 'rtblock', -0x2591 => 'ltshade', -0x2591 => 'shadelight', -0x2592 => 'shade', -0x2592 => 'shademedium', -0x2593 => 'dkshade', -0x2593 => 'shadedark', -0x25A0 => 'blacksquare', -0x25A0 => 'filledbox', -0X25A1 => 'H22073', -0x25A1 => 'whitesquare', -0x25A3 => 'squarewhitewithsmallblack', -0x25A4 => 'squarehorizontalfill', -0x25A5 => 'squareverticalfill', -0x25A6 => 'squareorthogonalcrosshatchfill', -0x25A7 => 'squareupperlefttolowerrightfill', -0x25A8 => 'squareupperrighttolowerleftfill', -0x25A9 => 'squarediagonalcrosshatchfill', -0X25AA => 'H18543', -0x25AA => 'blacksmallsquare', -0X25AB => 'H18551', -0x25AB => 'whitesmallsquare', -0x25AC => 'blackrectangle', -0x25AC => 'filledrect', -0x25B2 => 'blackuppointingtriangle', -0x25B2 => 'triagup', -0x25B3 => 'whiteuppointingtriangle', -0x25B4 => 'blackuppointingsmalltriangle', -0x25B5 => 'whiteuppointingsmalltriangle', -0x25B6 => 'blackrightpointingtriangle', -0x25B7 => 'whiterightpointingtriangle', -0x25B9 => 'whiterightpointingsmalltriangle', -0x25BA => 'blackrightpointingpointer', -0x25BA => 'triagrt', -0x25BC => 'blackdownpointingtriangle', -0x25BC => 'triagdn', -0x25BD => 'whitedownpointingtriangle', -0x25BF => 'whitedownpointingsmalltriangle', -0x25C0 => 'blackleftpointingtriangle', -0x25C1 => 'whiteleftpointingtriangle', -0x25C3 => 'whiteleftpointingsmalltriangle', -0x25C4 => 'blackleftpointingpointer', -0x25C4 => 'triaglf', -0x25C6 => 'blackdiamond', -0x25C7 => 'whitediamond', -0x25C8 => 'whitediamondcontainingblacksmalldiamond', -0x25C9 => 'fisheye', -0x25CA => 'lozenge', -0x25CB => 'circle', -0x25CB => 'whitecircle', -0x25CC => 'dottedcircle', -0x25CE => 'bullseye', -0X25CF => 'H18533', -0x25CF => 'blackcircle', -0x25D0 => 'circlewithlefthalfblack', -0x25D1 => 'circlewithrighthalfblack', -0x25D8 => 'bulletinverse', -0x25D8 => 'invbullet', -0x25D9 => 'invcircle', -0x25D9 => 'whitecircleinverse', -0x25E2 => 'blacklowerrighttriangle', -0x25E3 => 'blacklowerlefttriangle', -0x25E4 => 'blackupperlefttriangle', -0x25E5 => 'blackupperrighttriangle', -0x25E6 => 'openbullet', -0x25E6 => 'whitebullet', -0x25EF => 'largecircle', -0x2605 => 'blackstar', -0x2606 => 'whitestar', -0x260E => 'telephoneblack', -0x260F => 'whitetelephone', -0x261C => 'pointingindexleftwhite', -0x261D => 'pointingindexupwhite', -0x261E => 'pointingindexrightwhite', -0x261F => 'pointingindexdownwhite', -0x262F => 'yinyang', -0x263A => 'smileface', -0x263A => 'whitesmilingface', -0x263B => 'blacksmilingface', -0x263B => 'invsmileface', -0x263C => 'compass', -0x263C => 'sun', -0x2640 => 'female', -0x2640 => 'venus', -0x2641 => 'earth', -0x2642 => 'male', -0x2642 => 'mars', -0x2660 => 'spade', -0x2660 => 'spadesuitblack', -0x2661 => 'heartsuitwhite', -0x2662 => 'diamondsuitwhite', -0x2663 => 'club', -0x2663 => 'clubsuitblack', -0x2664 => 'spadesuitwhite', -0x2665 => 'heart', -0x2665 => 'heartsuitblack', -0x2666 => 'diamond', -0x2667 => 'clubsuitwhite', -0x2668 => 'hotsprings', -0x2669 => 'quarternote', -0x266A => 'musicalnote', -0x266B => 'eighthnotebeamed', -0x266B => 'musicalnotedbl', -0x266C => 'beamedsixteenthnotes', -0x266D => 'musicflatsign', -0x266F => 'musicsharpsign', -0x2713 => 'checkmark', -0x278A => 'onecircleinversesansserif', -0x278B => 'twocircleinversesansserif', -0x278C => 'threecircleinversesansserif', -0x278D => 'fourcircleinversesansserif', -0x278E => 'fivecircleinversesansserif', -0x278F => 'sixcircleinversesansserif', -0x2790 => 'sevencircleinversesansserif', -0x2791 => 'eightcircleinversesansserif', -0x2792 => 'ninecircleinversesansserif', -0x279E => 'arrowrightheavy', -0x3000 => 'ideographicspace', -0x3001 => 'ideographiccomma', -0x3002 => 'ideographicperiod', -0x3003 => 'dittomark', -0x3004 => 'jis', -0x3005 => 'ideographiciterationmark', -0x3006 => 'ideographicclose', -0x3007 => 'ideographiczero', -0x3008 => 'anglebracketleft', -0x3009 => 'anglebracketright', -0x300A => 'dblanglebracketleft', -0x300B => 'dblanglebracketright', -0x300C => 'cornerbracketleft', -0x300D => 'cornerbracketright', -0x300E => 'whitecornerbracketleft', -0x300F => 'whitecornerbracketright', -0x3010 => 'blacklenticularbracketleft', -0x3011 => 'blacklenticularbracketright', -0x3012 => 'postalmark', -0x3013 => 'getamark', -0x3014 => 'tortoiseshellbracketleft', -0x3015 => 'tortoiseshellbracketright', -0x3016 => 'whitelenticularbracketleft', -0x3017 => 'whitelenticularbracketright', -0x3018 => 'whitetortoiseshellbracketleft', -0x3019 => 'whitetortoiseshellbracketright', -0x301C => 'wavedash', -0x301D => 'quotedblprimereversed', -0x301E => 'quotedblprime', -0x3020 => 'postalmarkface', -0x3021 => 'onehangzhou', -0x3022 => 'twohangzhou', -0x3023 => 'threehangzhou', -0x3024 => 'fourhangzhou', -0x3025 => 'fivehangzhou', -0x3026 => 'sixhangzhou', -0x3027 => 'sevenhangzhou', -0x3028 => 'eighthangzhou', -0x3029 => 'ninehangzhou', -0x3036 => 'circlepostalmark', -0x3041 => 'asmallhiragana', -0x3042 => 'ahiragana', -0x3043 => 'ismallhiragana', -0x3044 => 'ihiragana', -0x3045 => 'usmallhiragana', -0x3046 => 'uhiragana', -0x3047 => 'esmallhiragana', -0x3048 => 'ehiragana', -0x3049 => 'osmallhiragana', -0x304A => 'ohiragana', -0x304B => 'kahiragana', -0x304C => 'gahiragana', -0x304D => 'kihiragana', -0x304E => 'gihiragana', -0x304F => 'kuhiragana', -0x3050 => 'guhiragana', -0x3051 => 'kehiragana', -0x3052 => 'gehiragana', -0x3053 => 'kohiragana', -0x3054 => 'gohiragana', -0x3055 => 'sahiragana', -0x3056 => 'zahiragana', -0x3057 => 'sihiragana', -0x3058 => 'zihiragana', -0x3059 => 'suhiragana', -0x305A => 'zuhiragana', -0x305B => 'sehiragana', -0x305C => 'zehiragana', -0x305D => 'sohiragana', -0x305E => 'zohiragana', -0x305F => 'tahiragana', -0x3060 => 'dahiragana', -0x3061 => 'tihiragana', -0x3062 => 'dihiragana', -0x3063 => 'tusmallhiragana', -0x3064 => 'tuhiragana', -0x3065 => 'duhiragana', -0x3066 => 'tehiragana', -0x3067 => 'dehiragana', -0x3068 => 'tohiragana', -0x3069 => 'dohiragana', -0x306A => 'nahiragana', -0x306B => 'nihiragana', -0x306C => 'nuhiragana', -0x306D => 'nehiragana', -0x306E => 'nohiragana', -0x306F => 'hahiragana', -0x3070 => 'bahiragana', -0x3071 => 'pahiragana', -0x3072 => 'hihiragana', -0x3073 => 'bihiragana', -0x3074 => 'pihiragana', -0x3075 => 'huhiragana', -0x3076 => 'buhiragana', -0x3077 => 'puhiragana', -0x3078 => 'hehiragana', -0x3079 => 'behiragana', -0x307A => 'pehiragana', -0x307B => 'hohiragana', -0x307C => 'bohiragana', -0x307D => 'pohiragana', -0x307E => 'mahiragana', -0x307F => 'mihiragana', -0x3080 => 'muhiragana', -0x3081 => 'mehiragana', -0x3082 => 'mohiragana', -0x3083 => 'yasmallhiragana', -0x3084 => 'yahiragana', -0x3085 => 'yusmallhiragana', -0x3086 => 'yuhiragana', -0x3087 => 'yosmallhiragana', -0x3088 => 'yohiragana', -0x3089 => 'rahiragana', -0x308A => 'rihiragana', -0x308B => 'ruhiragana', -0x308C => 'rehiragana', -0x308D => 'rohiragana', -0x308E => 'wasmallhiragana', -0x308F => 'wahiragana', -0x3090 => 'wihiragana', -0x3091 => 'wehiragana', -0x3092 => 'wohiragana', -0x3093 => 'nhiragana', -0x3094 => 'vuhiragana', -0x309B => 'voicedmarkkana', -0x309C => 'semivoicedmarkkana', -0x309D => 'iterationhiragana', -0x309E => 'voicediterationhiragana', -0x30A1 => 'asmallkatakana', -0x30A2 => 'akatakana', -0x30A3 => 'ismallkatakana', -0x30A4 => 'ikatakana', -0x30A5 => 'usmallkatakana', -0x30A6 => 'ukatakana', -0x30A7 => 'esmallkatakana', -0x30A8 => 'ekatakana', -0x30A9 => 'osmallkatakana', -0x30AA => 'okatakana', -0x30AB => 'kakatakana', -0x30AC => 'gakatakana', -0x30AD => 'kikatakana', -0x30AE => 'gikatakana', -0x30AF => 'kukatakana', -0x30B0 => 'gukatakana', -0x30B1 => 'kekatakana', -0x30B2 => 'gekatakana', -0x30B3 => 'kokatakana', -0x30B4 => 'gokatakana', -0x30B5 => 'sakatakana', -0x30B6 => 'zakatakana', -0x30B7 => 'sikatakana', -0x30B8 => 'zikatakana', -0x30B9 => 'sukatakana', -0x30BA => 'zukatakana', -0x30BB => 'sekatakana', -0x30BC => 'zekatakana', -0x30BD => 'sokatakana', -0x30BE => 'zokatakana', -0x30BF => 'takatakana', -0x30C0 => 'dakatakana', -0x30C1 => 'tikatakana', -0x30C2 => 'dikatakana', -0x30C3 => 'tusmallkatakana', -0x30C4 => 'tukatakana', -0x30C5 => 'dukatakana', -0x30C6 => 'tekatakana', -0x30C7 => 'dekatakana', -0x30C8 => 'tokatakana', -0x30C9 => 'dokatakana', -0x30CA => 'nakatakana', -0x30CB => 'nikatakana', -0x30CC => 'nukatakana', -0x30CD => 'nekatakana', -0x30CE => 'nokatakana', -0x30CF => 'hakatakana', -0x30D0 => 'bakatakana', -0x30D1 => 'pakatakana', -0x30D2 => 'hikatakana', -0x30D3 => 'bikatakana', -0x30D4 => 'pikatakana', -0x30D5 => 'hukatakana', -0x30D6 => 'bukatakana', -0x30D7 => 'pukatakana', -0x30D8 => 'hekatakana', -0x30D9 => 'bekatakana', -0x30DA => 'pekatakana', -0x30DB => 'hokatakana', -0x30DC => 'bokatakana', -0x30DD => 'pokatakana', -0x30DE => 'makatakana', -0x30DF => 'mikatakana', -0x30E0 => 'mukatakana', -0x30E1 => 'mekatakana', -0x30E2 => 'mokatakana', -0x30E3 => 'yasmallkatakana', -0x30E4 => 'yakatakana', -0x30E5 => 'yusmallkatakana', -0x30E6 => 'yukatakana', -0x30E7 => 'yosmallkatakana', -0x30E8 => 'yokatakana', -0x30E9 => 'rakatakana', -0x30EA => 'rikatakana', -0x30EB => 'rukatakana', -0x30EC => 'rekatakana', -0x30ED => 'rokatakana', -0x30EE => 'wasmallkatakana', -0x30EF => 'wakatakana', -0x30F0 => 'wikatakana', -0x30F1 => 'wekatakana', -0x30F2 => 'wokatakana', -0x30F3 => 'nkatakana', -0x30F4 => 'vukatakana', -0x30F5 => 'kasmallkatakana', -0x30F6 => 'kesmallkatakana', -0x30F7 => 'vakatakana', -0x30F8 => 'vikatakana', -0x30F9 => 'vekatakana', -0x30FA => 'vokatakana', -0x30FB => 'dotkatakana', -0x30FC => 'prolongedkana', -0x30FD => 'iterationkatakana', -0x30FE => 'voicediterationkatakana', -0x3105 => 'bbopomofo', -0x3106 => 'pbopomofo', -0x3107 => 'mbopomofo', -0x3108 => 'fbopomofo', -0x3109 => 'dbopomofo', -0x310A => 'tbopomofo', -0x310B => 'nbopomofo', -0x310C => 'lbopomofo', -0x310D => 'gbopomofo', -0x310E => 'kbopomofo', -0x310F => 'hbopomofo', -0x3110 => 'jbopomofo', -0x3111 => 'qbopomofo', -0x3112 => 'xbopomofo', -0x3113 => 'zhbopomofo', -0x3114 => 'chbopomofo', -0x3115 => 'shbopomofo', -0x3116 => 'rbopomofo', -0x3117 => 'zbopomofo', -0x3118 => 'cbopomofo', -0x3119 => 'sbopomofo', -0x311A => 'abopomofo', -0x311B => 'obopomofo', -0x311C => 'ebopomofo', -0x311D => 'ehbopomofo', -0x311E => 'aibopomofo', -0x311F => 'eibopomofo', -0x3120 => 'aubopomofo', -0x3121 => 'oubopomofo', -0x3122 => 'anbopomofo', -0x3123 => 'enbopomofo', -0x3124 => 'angbopomofo', -0x3125 => 'engbopomofo', -0x3126 => 'erbopomofo', -0x3127 => 'ibopomofo', -0x3128 => 'ubopomofo', -0x3129 => 'iubopomofo', -0x3131 => 'kiyeokkorean', -0x3132 => 'ssangkiyeokkorean', -0x3133 => 'kiyeoksioskorean', -0x3134 => 'nieunkorean', -0x3135 => 'nieuncieuckorean', -0x3136 => 'nieunhieuhkorean', -0x3137 => 'tikeutkorean', -0x3138 => 'ssangtikeutkorean', -0x3139 => 'rieulkorean', -0x313A => 'rieulkiyeokkorean', -0x313B => 'rieulmieumkorean', -0x313C => 'rieulpieupkorean', -0x313D => 'rieulsioskorean', -0x313E => 'rieulthieuthkorean', -0x313F => 'rieulphieuphkorean', -0x3140 => 'rieulhieuhkorean', -0x3141 => 'mieumkorean', -0x3142 => 'pieupkorean', -0x3143 => 'ssangpieupkorean', -0x3144 => 'pieupsioskorean', -0x3145 => 'sioskorean', -0x3146 => 'ssangsioskorean', -0x3147 => 'ieungkorean', -0x3148 => 'cieuckorean', -0x3149 => 'ssangcieuckorean', -0x314A => 'chieuchkorean', -0x314B => 'khieukhkorean', -0x314C => 'thieuthkorean', -0x314D => 'phieuphkorean', -0x314E => 'hieuhkorean', -0x314F => 'akorean', -0x3150 => 'aekorean', -0x3151 => 'yakorean', -0x3152 => 'yaekorean', -0x3153 => 'eokorean', -0x3154 => 'ekorean', -0x3155 => 'yeokorean', -0x3156 => 'yekorean', -0x3157 => 'okorean', -0x3158 => 'wakorean', -0x3159 => 'waekorean', -0x315A => 'oekorean', -0x315B => 'yokorean', -0x315C => 'ukorean', -0x315D => 'weokorean', -0x315E => 'wekorean', -0x315F => 'wikorean', -0x3160 => 'yukorean', -0x3161 => 'eukorean', -0x3162 => 'yikorean', -0x3163 => 'ikorean', -0x3164 => 'hangulfiller', -0x3165 => 'ssangnieunkorean', -0x3166 => 'nieuntikeutkorean', -0x3167 => 'nieunsioskorean', -0x3168 => 'nieunpansioskorean', -0x3169 => 'rieulkiyeoksioskorean', -0x316A => 'rieultikeutkorean', -0x316B => 'rieulpieupsioskorean', -0x316C => 'rieulpansioskorean', -0x316D => 'rieulyeorinhieuhkorean', -0x316E => 'mieumpieupkorean', -0x316F => 'mieumsioskorean', -0x3170 => 'mieumpansioskorean', -0x3171 => 'kapyeounmieumkorean', -0x3172 => 'pieupkiyeokkorean', -0x3173 => 'pieuptikeutkorean', -0x3174 => 'pieupsioskiyeokkorean', -0x3175 => 'pieupsiostikeutkorean', -0x3176 => 'pieupcieuckorean', -0x3177 => 'pieupthieuthkorean', -0x3178 => 'kapyeounpieupkorean', -0x3179 => 'kapyeounssangpieupkorean', -0x317A => 'sioskiyeokkorean', -0x317B => 'siosnieunkorean', -0x317C => 'siostikeutkorean', -0x317D => 'siospieupkorean', -0x317E => 'sioscieuckorean', -0x317F => 'pansioskorean', -0x3180 => 'ssangieungkorean', -0x3181 => 'yesieungkorean', -0x3182 => 'yesieungsioskorean', -0x3183 => 'yesieungpansioskorean', -0x3184 => 'kapyeounphieuphkorean', -0x3185 => 'ssanghieuhkorean', -0x3186 => 'yeorinhieuhkorean', -0x3187 => 'yoyakorean', -0x3188 => 'yoyaekorean', -0x3189 => 'yoikorean', -0x318A => 'yuyeokorean', -0x318B => 'yuyekorean', -0x318C => 'yuikorean', -0x318D => 'araeakorean', -0x318E => 'araeaekorean', -0x3200 => 'kiyeokparenkorean', -0x3201 => 'nieunparenkorean', -0x3202 => 'tikeutparenkorean', -0x3203 => 'rieulparenkorean', -0x3204 => 'mieumparenkorean', -0x3205 => 'pieupparenkorean', -0x3206 => 'siosparenkorean', -0x3207 => 'ieungparenkorean', -0x3208 => 'cieucparenkorean', -0x3209 => 'chieuchparenkorean', -0x320A => 'khieukhparenkorean', -0x320B => 'thieuthparenkorean', -0x320C => 'phieuphparenkorean', -0x320D => 'hieuhparenkorean', -0x320E => 'kiyeokaparenkorean', -0x320F => 'nieunaparenkorean', -0x3210 => 'tikeutaparenkorean', -0x3211 => 'rieulaparenkorean', -0x3212 => 'mieumaparenkorean', -0x3213 => 'pieupaparenkorean', -0x3214 => 'siosaparenkorean', -0x3215 => 'ieungaparenkorean', -0x3216 => 'cieucaparenkorean', -0x3217 => 'chieuchaparenkorean', -0x3218 => 'khieukhaparenkorean', -0x3219 => 'thieuthaparenkorean', -0x321A => 'phieuphaparenkorean', -0x321B => 'hieuhaparenkorean', -0x321C => 'cieucuparenkorean', -0x3220 => 'oneideographicparen', -0x3221 => 'twoideographicparen', -0x3222 => 'threeideographicparen', -0x3223 => 'fourideographicparen', -0x3224 => 'fiveideographicparen', -0x3225 => 'sixideographicparen', -0x3226 => 'sevenideographicparen', -0x3227 => 'eightideographicparen', -0x3228 => 'nineideographicparen', -0x3229 => 'tenideographicparen', -0x322A => 'ideographicmoonparen', -0x322B => 'ideographicfireparen', -0x322C => 'ideographicwaterparen', -0x322D => 'ideographicwoodparen', -0x322E => 'ideographicmetalparen', -0x322F => 'ideographicearthparen', -0x3230 => 'ideographicsunparen', -0x3231 => 'ideographicstockparen', -0x3232 => 'ideographichaveparen', -0x3233 => 'ideographicsocietyparen', -0x3234 => 'ideographicnameparen', -0x3235 => 'ideographicspecialparen', -0x3236 => 'ideographicfinancialparen', -0x3237 => 'ideographiccongratulationparen', -0x3238 => 'ideographiclaborparen', -0x3239 => 'ideographicrepresentparen', -0x323A => 'ideographiccallparen', -0x323B => 'ideographicstudyparen', -0x323C => 'ideographicsuperviseparen', -0x323D => 'ideographicenterpriseparen', -0x323E => 'ideographicresourceparen', -0x323F => 'ideographicallianceparen', -0x3240 => 'ideographicfestivalparen', -0x3242 => 'ideographicselfparen', -0x3243 => 'ideographicreachparen', -0x3260 => 'kiyeokcirclekorean', -0x3261 => 'nieuncirclekorean', -0x3262 => 'tikeutcirclekorean', -0x3263 => 'rieulcirclekorean', -0x3264 => 'mieumcirclekorean', -0x3265 => 'pieupcirclekorean', -0x3266 => 'sioscirclekorean', -0x3267 => 'ieungcirclekorean', -0x3268 => 'cieuccirclekorean', -0x3269 => 'chieuchcirclekorean', -0x326A => 'khieukhcirclekorean', -0x326B => 'thieuthcirclekorean', -0x326C => 'phieuphcirclekorean', -0x326D => 'hieuhcirclekorean', -0x326E => 'kiyeokacirclekorean', -0x326F => 'nieunacirclekorean', -0x3270 => 'tikeutacirclekorean', -0x3271 => 'rieulacirclekorean', -0x3272 => 'mieumacirclekorean', -0x3273 => 'pieupacirclekorean', -0x3274 => 'siosacirclekorean', -0x3275 => 'ieungacirclekorean', -0x3276 => 'cieucacirclekorean', -0x3277 => 'chieuchacirclekorean', -0x3278 => 'khieukhacirclekorean', -0x3279 => 'thieuthacirclekorean', -0x327A => 'phieuphacirclekorean', -0x327B => 'hieuhacirclekorean', -0x327F => 'koreanstandardsymbol', -0x328A => 'ideographmooncircle', -0x328B => 'ideographfirecircle', -0x328C => 'ideographwatercircle', -0x328D => 'ideographwoodcircle', -0x328E => 'ideographmetalcircle', -0x328F => 'ideographearthcircle', -0x3290 => 'ideographsuncircle', -0x3294 => 'ideographnamecircle', -0x3296 => 'ideographicfinancialcircle', -0x3298 => 'ideographiclaborcircle', -0x3299 => 'ideographicsecretcircle', -0x329D => 'ideographicexcellentcircle', -0x329E => 'ideographicprintcircle', -0x32A3 => 'ideographiccorrectcircle', -0x32A4 => 'ideographichighcircle', -0x32A5 => 'ideographiccentrecircle', -0x32A6 => 'ideographiclowcircle', -0x32A7 => 'ideographicleftcircle', -0x32A8 => 'ideographicrightcircle', -0x32A9 => 'ideographicmedicinecircle', -0x3300 => 'apaatosquare', -0x3303 => 'aarusquare', -0x3305 => 'intisquare', -0x330D => 'karoriisquare', -0x3314 => 'kirosquare', -0x3315 => 'kiroguramusquare', -0x3316 => 'kiromeetorusquare', -0x3318 => 'guramusquare', -0x331E => 'kooposquare', -0x3322 => 'sentisquare', -0x3323 => 'sentosquare', -0x3326 => 'dorusquare', -0x3327 => 'tonsquare', -0x332A => 'haitusquare', -0x332B => 'paasentosquare', -0x3331 => 'birusquare', -0x3333 => 'huiitosquare', -0x3336 => 'hekutaarusquare', -0x3339 => 'herutusquare', -0x333B => 'peezisquare', -0x3342 => 'hoonsquare', -0x3347 => 'mansyonsquare', -0x3349 => 'mirisquare', -0x334A => 'miribaarusquare', -0x334D => 'meetorusquare', -0x334E => 'yaadosquare', -0x3351 => 'rittorusquare', -0x3357 => 'wattosquare', -0x337B => 'heiseierasquare', -0x337C => 'syouwaerasquare', -0x337D => 'taisyouerasquare', -0x337E => 'meizierasquare', -0x337F => 'corporationsquare', -0x3380 => 'paampssquare', -0x3381 => 'nasquare', -0x3382 => 'muasquare', -0x3383 => 'masquare', -0x3384 => 'kasquare', -0x3385 => 'KBsquare', -0x3386 => 'MBsquare', -0x3387 => 'GBsquare', -0x3388 => 'calsquare', -0x3389 => 'kcalsquare', -0x338A => 'pfsquare', -0x338B => 'nfsquare', -0x338C => 'mufsquare', -0x338D => 'mugsquare', -0x338E => 'squaremg', -0x338F => 'squarekg', -0x3390 => 'Hzsquare', -0x3391 => 'khzsquare', -0x3392 => 'mhzsquare', -0x3393 => 'ghzsquare', -0x3394 => 'thzsquare', -0x3395 => 'mulsquare', -0x3396 => 'mlsquare', -0x3397 => 'dlsquare', -0x3398 => 'klsquare', -0x3399 => 'fmsquare', -0x339A => 'nmsquare', -0x339B => 'mumsquare', -0x339C => 'squaremm', -0x339D => 'squarecm', -0x339E => 'squarekm', -0x339F => 'mmsquaredsquare', -0x33A0 => 'cmsquaredsquare', -0x33A1 => 'squaremsquared', -0x33A2 => 'kmsquaredsquare', -0x33A3 => 'mmcubedsquare', -0x33A4 => 'cmcubedsquare', -0x33A5 => 'mcubedsquare', -0x33A6 => 'kmcubedsquare', -0x33A7 => 'moverssquare', -0x33A8 => 'moverssquaredsquare', -0x33A9 => 'pasquare', -0x33AA => 'kpasquare', -0x33AB => 'mpasquare', -0x33AC => 'gpasquare', -0x33AD => 'radsquare', -0x33AE => 'radoverssquare', -0x33AF => 'radoverssquaredsquare', -0x33B0 => 'pssquare', -0x33B1 => 'nssquare', -0x33B2 => 'mussquare', -0x33B3 => 'mssquare', -0x33B4 => 'pvsquare', -0x33B5 => 'nvsquare', -0x33B6 => 'muvsquare', -0x33B7 => 'mvsquare', -0x33B8 => 'kvsquare', -0x33B9 => 'mvmegasquare', -0x33BA => 'pwsquare', -0x33BB => 'nwsquare', -0x33BC => 'muwsquare', -0x33BD => 'mwsquare', -0x33BE => 'kwsquare', -0x33BF => 'mwmegasquare', -0x33C0 => 'kohmsquare', -0x33C1 => 'mohmsquare', -0x33C2 => 'amsquare', -0x33C3 => 'bqsquare', -0x33C4 => 'squarecc', -0x33C5 => 'cdsquare', -0x33C6 => 'coverkgsquare', -0x33C7 => 'cosquare', -0x33C8 => 'dbsquare', -0x33C9 => 'gysquare', -0x33CA => 'hasquare', -0x33CB => 'HPsquare', -0x33CD => 'KKsquare', -0x33CE => 'squarekmcapital', -0x33CF => 'ktsquare', -0x33D0 => 'lmsquare', -0x33D1 => 'squareln', -0x33D2 => 'squarelog', -0x33D3 => 'lxsquare', -0x33D4 => 'mbsquare', -0x33D5 => 'squaremil', -0x33D6 => 'molsquare', -0x33D8 => 'pmsquare', -0x33DB => 'srsquare', -0x33DC => 'svsquare', -0x33DD => 'wbsquare', -0x5344 => 'twentyhangzhou', -0xF6BE => 'dotlessj', -0XF6BF => 'LL', -0xF6C0 => 'll', -0xF6C3 => 'commaaccent', -0xF6C4 => 'afii10063', -0xF6C5 => 'afii10064', -0xF6C6 => 'afii10192', -0xF6C7 => 'afii10831', -0xF6C8 => 'afii10832', -0xF6C9 => 'Acute', -0xF6CA => 'Caron', -0xF6CB => 'Dieresis', -0xF6CC => 'DieresisAcute', -0xF6CD => 'DieresisGrave', -0xF6CE => 'Grave', -0xF6CF => 'Hungarumlaut', -0xF6D0 => 'Macron', -0xF6D1 => 'cyrBreve', -0xF6D2 => 'cyrFlex', -0xF6D3 => 'dblGrave', -0xF6D4 => 'cyrbreve', -0xF6D5 => 'cyrflex', -0xF6D6 => 'dblgrave', -0xF6D7 => 'dieresisacute', -0xF6D8 => 'dieresisgrave', -0xF6D9 => 'copyrightserif', -0xF6DA => 'registerserif', -0xF6DB => 'trademarkserif', -0xF6DC => 'onefitted', -0xF6DD => 'rupiah', -0xF6DE => 'threequartersemdash', -0xF6DF => 'centinferior', -0xF6E0 => 'centsuperior', -0xF6E1 => 'commainferior', -0xF6E2 => 'commasuperior', -0xF6E3 => 'dollarinferior', -0xF6E4 => 'dollarsuperior', -0xF6E5 => 'hypheninferior', -0xF6E6 => 'hyphensuperior', -0xF6E7 => 'periodinferior', -0xF6E8 => 'periodsuperior', -0xF6E9 => 'asuperior', -0xF6EA => 'bsuperior', -0xF6EB => 'dsuperior', -0xF6EC => 'esuperior', -0xF6ED => 'isuperior', -0xF6EE => 'lsuperior', -0xF6EF => 'msuperior', -0xF6F0 => 'osuperior', -0xF6F1 => 'rsuperior', -0xF6F2 => 'ssuperior', -0xF6F3 => 'tsuperior', -0xF6F4 => 'Brevesmall', -0xF6F5 => 'Caronsmall', -0xF6F6 => 'Circumflexsmall', -0xF6F7 => 'Dotaccentsmall', -0xF6F8 => 'Hungarumlautsmall', -0xF6F9 => 'Lslashsmall', -0xF6FA => 'OEsmall', -0xF6FB => 'Ogoneksmall', -0xF6FC => 'Ringsmall', -0xF6FD => 'Scaronsmall', -0xF6FE => 'Tildesmall', -0xF6FF => 'Zcaronsmall', -0xF721 => 'exclamsmall', -0xF724 => 'dollaroldstyle', -0xF726 => 'ampersandsmall', -0xF730 => 'zerooldstyle', -0xF731 => 'oneoldstyle', -0xF732 => 'twooldstyle', -0xF733 => 'threeoldstyle', -0xF734 => 'fouroldstyle', -0xF735 => 'fiveoldstyle', -0xF736 => 'sixoldstyle', -0xF737 => 'sevenoldstyle', -0xF738 => 'eightoldstyle', -0xF739 => 'nineoldstyle', -0xF73F => 'questionsmall', -0xF760 => 'Gravesmall', -0xF761 => 'Asmall', -0xF762 => 'Bsmall', -0xF763 => 'Csmall', -0xF764 => 'Dsmall', -0xF765 => 'Esmall', -0xF766 => 'Fsmall', -0xF767 => 'Gsmall', -0xF768 => 'Hsmall', -0xF769 => 'Ismall', -0xF76A => 'Jsmall', -0xF76B => 'Ksmall', -0xF76C => 'Lsmall', -0xF76D => 'Msmall', -0xF76E => 'Nsmall', -0xF76F => 'Osmall', -0xF770 => 'Psmall', -0xF771 => 'Qsmall', -0xF772 => 'Rsmall', -0xF773 => 'Ssmall', -0xF774 => 'Tsmall', -0xF775 => 'Usmall', -0xF776 => 'Vsmall', -0xF777 => 'Wsmall', -0xF778 => 'Xsmall', -0xF779 => 'Ysmall', -0xF77A => 'Zsmall', -0xF7A1 => 'exclamdownsmall', -0xF7A2 => 'centoldstyle', -0xF7A8 => 'Dieresissmall', -0xF7AF => 'Macronsmall', -0xF7B4 => 'Acutesmall', -0xF7B8 => 'Cedillasmall', -0xF7BF => 'questiondownsmall', -0xF7E0 => 'Agravesmall', -0xF7E1 => 'Aacutesmall', -0xF7E2 => 'Acircumflexsmall', -0xF7E3 => 'Atildesmall', -0xF7E4 => 'Adieresissmall', -0xF7E5 => 'Aringsmall', -0xF7E6 => 'AEsmall', -0xF7E7 => 'Ccedillasmall', -0xF7E8 => 'Egravesmall', -0xF7E9 => 'Eacutesmall', -0xF7EA => 'Ecircumflexsmall', -0xF7EB => 'Edieresissmall', -0xF7EC => 'Igravesmall', -0xF7ED => 'Iacutesmall', -0xF7EE => 'Icircumflexsmall', -0xF7EF => 'Idieresissmall', -0xF7F0 => 'Ethsmall', -0xF7F1 => 'Ntildesmall', -0xF7F2 => 'Ogravesmall', -0xF7F3 => 'Oacutesmall', -0xF7F4 => 'Ocircumflexsmall', -0xF7F5 => 'Otildesmall', -0xF7F6 => 'Odieresissmall', -0xF7F8 => 'Oslashsmall', -0xF7F9 => 'Ugravesmall', -0xF7FA => 'Uacutesmall', -0xF7FB => 'Ucircumflexsmall', -0xF7FC => 'Udieresissmall', -0xF7FD => 'Yacutesmall', -0xF7FE => 'Thornsmall', -0xF7FF => 'Ydieresissmall', -0xF884 => 'maihanakatleftthai', -0xF885 => 'saraileftthai', -0xF886 => 'saraiileftthai', -0xF887 => 'saraueleftthai', -0xF888 => 'saraueeleftthai', -0xF889 => 'maitaikhuleftthai', -0xF88A => 'maiekupperleftthai', -0xF88B => 'maieklowrightthai', -0xF88C => 'maieklowleftthai', -0xF88D => 'maithoupperleftthai', -0xF88E => 'maitholowrightthai', -0xF88F => 'maitholowleftthai', -0xF890 => 'maitriupperleftthai', -0xF891 => 'maitrilowrightthai', -0xF892 => 'maitrilowleftthai', -0xF893 => 'maichattawaupperleftthai', -0xF894 => 'maichattawalowrightthai', -0xF895 => 'maichattawalowleftthai', -0xF896 => 'thanthakhatupperleftthai', -0xF897 => 'thanthakhatlowrightthai', -0xF898 => 'thanthakhatlowleftthai', -0xF899 => 'nikhahitleftthai', -0xF8E5 => 'radicalex', -0xF8E6 => 'arrowvertex', -0xF8E7 => 'arrowhorizex', -0xF8E8 => 'registersans', -0xF8E9 => 'copyrightsans', -0xF8EA => 'trademarksans', -0xF8EB => 'parenlefttp', -0xF8EC => 'parenleftex', -0xF8ED => 'parenleftbt', -0xF8EE => 'bracketlefttp', -0xF8EF => 'bracketleftex', -0xF8F0 => 'bracketleftbt', -0xF8F1 => 'bracelefttp', -0xF8F2 => 'braceleftmid', -0xF8F3 => 'braceleftbt', -0xF8F4 => 'braceex', -0xF8F5 => 'integralex', -0xF8F6 => 'parenrighttp', -0xF8F7 => 'parenrightex', -0xF8F8 => 'parenrightbt', -0xF8F9 => 'bracketrighttp', -0xF8FA => 'bracketrightex', -0xF8FB => 'bracketrightbt', -0xF8FC => 'bracerighttp', -0xF8FD => 'bracerightmid', -0xF8FE => 'bracerightbt', -0xF8FF => 'apple', -0xFB00 => 'ff', -0xFB01 => 'fi', -0xFB02 => 'fl', -0xFB03 => 'ffi', -0xFB04 => 'ffl', -0xFB1F => 'afii57705', -0xFB1F => 'doubleyodpatah', -0xFB1F => 'doubleyodpatahhebrew', -0xFB1F => 'yodyodpatahhebrew', -0xFB20 => 'ayinaltonehebrew', -0xFB2A => 'afii57694', -0xFB2A => 'shinshindot', -0xFB2A => 'shinshindothebrew', -0xFB2B => 'afii57695', -0xFB2B => 'shinsindot', -0xFB2B => 'shinsindothebrew', -0xFB2C => 'shindageshshindot', -0xFB2C => 'shindageshshindothebrew', -0xFB2D => 'shindageshsindot', -0xFB2D => 'shindageshsindothebrew', -0xFB2E => 'alefpatahhebrew', -0xFB2F => 'alefqamatshebrew', -0xFB30 => 'alefdageshhebrew', -0xFB31 => 'betdagesh', -0xFB31 => 'betdageshhebrew', -0xFB32 => 'gimeldagesh', -0xFB32 => 'gimeldageshhebrew', -0xFB33 => 'daletdagesh', -0xFB33 => 'daletdageshhebrew', -0xFB34 => 'hedagesh', -0xFB34 => 'hedageshhebrew', -0xFB35 => 'afii57723', -0xFB35 => 'vavdagesh', -0xFB35 => 'vavdagesh65', -0xFB35 => 'vavdageshhebrew', -0xFB36 => 'zayindagesh', -0xFB36 => 'zayindageshhebrew', -0xFB38 => 'tetdagesh', -0xFB38 => 'tetdageshhebrew', -0xFB39 => 'yoddagesh', -0xFB39 => 'yoddageshhebrew', -0xFB3A => 'finalkafdagesh', -0xFB3A => 'finalkafdageshhebrew', -0xFB3B => 'kafdagesh', -0xFB3B => 'kafdageshhebrew', -0xFB3C => 'lameddagesh', -0xFB3C => 'lameddageshhebrew', -0xFB3E => 'memdagesh', -0xFB3E => 'memdageshhebrew', -0xFB40 => 'nundagesh', -0xFB40 => 'nundageshhebrew', -0xFB41 => 'samekhdagesh', -0xFB41 => 'samekhdageshhebrew', -0xFB43 => 'pefinaldageshhebrew', -0xFB44 => 'pedagesh', -0xFB44 => 'pedageshhebrew', -0xFB46 => 'tsadidagesh', -0xFB46 => 'tsadidageshhebrew', -0xFB47 => 'qofdagesh', -0xFB47 => 'qofdageshhebrew', -0xFB48 => 'reshdageshhebrew', -0xFB49 => 'shindagesh', -0xFB49 => 'shindageshhebrew', -0xFB4A => 'tavdages', -0xFB4A => 'tavdagesh', -0xFB4A => 'tavdageshhebrew', -0xFB4B => 'afii57700', -0xFB4B => 'vavholam', -0xFB4B => 'vavholamhebrew', -0xFB4C => 'betrafehebrew', -0xFB4D => 'kafrafehebrew', -0xFB4E => 'perafehebrew', -0xFB4F => 'aleflamedhebrew', -0xFB57 => 'pehfinalarabic', -0xFB58 => 'pehinitialarabic', -0xFB59 => 'pehmedialarabic', -0xFB67 => 'ttehfinalarabic', -0xFB68 => 'ttehinitialarabic', -0xFB69 => 'ttehmedialarabic', -0xFB6B => 'vehfinalarabic', -0xFB6C => 'vehinitialarabic', -0xFB6D => 'vehmedialarabic', -0xFB7B => 'tchehfinalarabic', -0xFB7C => 'FEE4 tchehmeeminitialarabic', -0xFB7C => 'tchehinitialarabic', -0xFB7D => 'tchehmedialarabic', -0xFB89 => 'ddalfinalarabic', -0xFB8B => 'jehfinalarabic', -0xFB8D => 'rrehfinalarabic', -0xFB93 => 'gaffinalarabic', -0xFB94 => 'gafinitialarabic', -0xFB95 => 'gafmedialarabic', -0xFB9F => 'noonghunnafinalarabic', -0xFBA4 => 'hehhamzaaboveisolatedarabic', -0xFBA5 => 'hehhamzaabovefinalarabic', -0xFBA7 => 'hehfinalaltonearabic', -0xFBA8 => 'hehinitialaltonearabic', -0xFBA9 => 'hehmedialaltonearabic', -0xFBAF => 'yehbarreefinalarabic', -0xFC08 => 'behmeemisolatedarabic', -0xFC0B => 'tehjeemisolatedarabic', -0xFC0C => 'tehhahisolatedarabic', -0xFC0E => 'tehmeemisolatedarabic', -0xFC48 => 'meemmeemisolatedarabic', -0xFC4B => 'noonjeemisolatedarabic', -0xFC4E => 'noonmeemisolatedarabic', -0xFC58 => 'yehmeemisolatedarabic', -0xFC5E => 'shaddadammatanarabic', -0xFC5F => 'shaddakasratanarabic', -0xFC60 => 'shaddafathaarabic', -0xFC61 => 'shaddadammaarabic', -0xFC62 => 'shaddakasraarabic', -0xFC6D => 'behnoonfinalarabic', -0xFC73 => 'tehnoonfinalarabic', -0xFC8D => 'noonnoonfinalarabic', -0xFC94 => 'yehnoonfinalarabic', -0xFC9F => 'behmeeminitialarabic', -0xFCA1 => 'tehjeeminitialarabic', -0xFCA2 => 'tehhahinitialarabic', -0xFCA4 => 'tehmeeminitialarabic', -0xFCC9 => 'lamjeeminitialarabic', -0xFCCA => 'lamhahinitialarabic', -0xFCCB => 'lamkhahinitialarabic', -0xFCCC => 'lammeeminitialarabic', -0xFCD1 => 'meemmeeminitialarabic', -0xFCD2 => 'noonjeeminitialarabic', -0xFCD5 => 'noonmeeminitialarabic', -0xFCDD => 'yehmeeminitialarabic', -0xFD3E => 'parenleftaltonearabic', -0xFD3F => 'parenrightaltonearabic', -0xFD88 => 'lammeemhahinitialarabic', -0xFDF2 => 'lamlamhehisolatedarabic', -0xFDFA => 'sallallahoualayhewasallamarabic', -0xFE30 => 'twodotleadervertical', -0xFE31 => 'emdashvertical', -0xFE32 => 'endashvertical', -0xFE33 => 'underscorevertical', -0xFE34 => 'wavyunderscorevertical', -0xFE35 => 'parenleftvertical', -0xFE36 => 'parenrightvertical', -0xFE37 => 'braceleftvertical', -0xFE38 => 'bracerightvertical', -0xFE39 => 'tortoiseshellbracketleftvertical', -0xFE3A => 'tortoiseshellbracketrightvertical', -0xFE3B => 'blacklenticularbracketleftvertical', -0xFE3C => 'blacklenticularbracketrightvertical', -0xFE3D => 'dblanglebracketleftvertical', -0xFE3E => 'dblanglebracketrightvertical', -0xFE3F => 'anglebracketleftvertical', -0xFE40 => 'anglebracketrightvertical', -0xFE41 => 'cornerbracketleftvertical', -0xFE42 => 'cornerbracketrightvertical', -0xFE43 => 'whitecornerbracketleftvertical', -0xFE44 => 'whitecornerbracketrightvertical', -0xFE49 => 'overlinedashed', -0xFE4A => 'overlinecenterline', -0xFE4B => 'overlinewavy', -0xFE4C => 'overlinedblwavy', -0xFE4D => 'lowlinedashed', -0xFE4E => 'lowlinecenterline', -0xFE4F => 'underscorewavy', -0xFE50 => 'commasmall', -0xFE52 => 'periodsmall', -0xFE54 => 'semicolonsmall', -0xFE55 => 'colonsmall', -0xFE59 => 'parenleftsmall', -0xFE5A => 'parenrightsmall', -0xFE5B => 'braceleftsmall', -0xFE5C => 'bracerightsmall', -0xFE5D => 'tortoiseshellbracketleftsmall', -0xFE5E => 'tortoiseshellbracketrightsmall', -0xFE5F => 'numbersignsmall', -0xFE61 => 'asterisksmall', -0xFE62 => 'plussmall', -0xFE63 => 'hyphensmall', -0xFE64 => 'lesssmall', -0xFE65 => 'greatersmall', -0xFE66 => 'equalsmall', -0xFE69 => 'dollarsmall', -0xFE6A => 'percentsmall', -0xFE6B => 'atsmall', -0xFE82 => 'alefmaddaabovefinalarabic', -0xFE84 => 'alefhamzaabovefinalarabic', -0xFE86 => 'wawhamzaabovefinalarabic', -0xFE88 => 'alefhamzabelowfinalarabic', -0xFE8A => 'yehhamzaabovefinalarabic', -0xFE8B => 'yehhamzaaboveinitialarabic', -0xFE8C => 'yehhamzaabovemedialarabic', -0xFE8E => 'aleffinalarabic', -0xFE90 => 'behfinalarabic', -0xFE91 => 'behinitialarabic', -0xFE92 => 'behmedialarabic', -0xFE94 => 'tehmarbutafinalarabic', -0xFE96 => 'tehfinalarabic', -0xFE97 => 'tehinitialarabic', -0xFE98 => 'tehmedialarabic', -0xFE9A => 'thehfinalarabic', -0xFE9B => 'thehinitialarabic', -0xFE9C => 'thehmedialarabic', -0xFE9E => 'jeemfinalarabic', -0xFE9F => 'jeeminitialarabic', -0xFEA0 => 'jeemmedialarabic', -0xFEA2 => 'hahfinalarabic', -0xFEA3 => 'hahinitialarabic', -0xFEA4 => 'hahmedialarabic', -0xFEA6 => 'khahfinalarabic', -0xFEA7 => 'khahinitialarabic', -0xFEA8 => 'khahmedialarabic', -0xFEAA => 'dalfinalarabic', -0xFEAC => 'thalfinalarabic', -0xFEAE => 'rehfinalarabic', -0xFEB0 => 'zainfinalarabic', -0xFEB2 => 'seenfinalarabic', -0xFEB3 => 'seeninitialarabic', -0xFEB4 => 'seenmedialarabic', -0xFEB6 => 'sheenfinalarabic', -0xFEB7 => 'sheeninitialarabic', -0xFEB8 => 'sheenmedialarabic', -0xFEBA => 'sadfinalarabic', -0xFEBB => 'sadinitialarabic', -0xFEBC => 'sadmedialarabic', -0xFEBE => 'dadfinalarabic', -0xFEBF => 'dadinitialarabic', -0xFEC0 => 'dadmedialarabic', -0xFEC2 => 'tahfinalarabic', -0xFEC3 => 'tahinitialarabic', -0xFEC4 => 'tahmedialarabic', -0xFEC6 => 'zahfinalarabic', -0xFEC7 => 'zahinitialarabic', -0xFEC8 => 'zahmedialarabic', -0xFECA => 'ainfinalarabic', -0xFECB => 'aininitialarabic', -0xFECC => 'ainmedialarabic', -0xFECE => 'ghainfinalarabic', -0xFECF => 'ghaininitialarabic', -0xFED0 => 'ghainmedialarabic', -0xFED2 => 'fehfinalarabic', -0xFED3 => 'fehinitialarabic', -0xFED4 => 'fehmedialarabic', -0xFED6 => 'qaffinalarabic', -0xFED7 => 'qafinitialarabic', -0xFED8 => 'qafmedialarabic', -0xFEDA => 'kaffinalarabic', -0xFEDB => 'kafinitialarabic', -0xFEDC => 'kafmedialarabic', -0xFEDE => 'lamfinalarabic', -0xFEDF => 'FEE4 FEA0 lammeemjeeminitialarabic', -0xFEDF => 'FEE4 FEA8 lammeemkhahinitialarabic', -0xFEDF => 'laminitialarabic', -0xFEE0 => 'lammedialarabic', -0xFEE2 => 'meemfinalarabic', -0xFEE3 => 'meeminitialarabic', -0xFEE4 => 'meemmedialarabic', -0xFEE6 => 'noonfinalarabic', -0xFEE7 => 'FEEC noonhehinitialarabic', -0xFEE7 => 'nooninitialarabic', -0xFEE8 => 'noonmedialarabic', -0xFEEA => 'hehfinalalttwoarabic', -0xFEEA => 'hehfinalarabic', -0xFEEB => 'hehinitialarabic', -0xFEEC => 'hehmedialarabic', -0xFEEE => 'wawfinalarabic', -0xFEF0 => 'alefmaksurafinalarabic', -0xFEF2 => 'yehfinalarabic', -0xFEF3 => 'alefmaksurainitialarabic', -0xFEF3 => 'yehinitialarabic', -0xFEF4 => 'alefmaksuramedialarabic', -0xFEF4 => 'yehmedialarabic', -0xFEF5 => 'lamalefmaddaaboveisolatedarabic', -0xFEF6 => 'lamalefmaddaabovefinalarabic', -0xFEF7 => 'lamalefhamzaaboveisolatedarabic', -0xFEF8 => 'lamalefhamzaabovefinalarabic', -0xFEF9 => 'lamalefhamzabelowisolatedarabic', -0xFEFA => 'lamalefhamzabelowfinalarabic', -0xFEFB => 'lamalefisolatedarabic', -0xFEFC => 'lamaleffinalarabic', -0xFEFF => 'zerowidthjoiner', -0xFF01 => 'exclammonospace', -0xFF02 => 'quotedblmonospace', -0xFF03 => 'numbersignmonospace', -0xFF04 => 'dollarmonospace', -0xFF05 => 'percentmonospace', -0xFF06 => 'ampersandmonospace', -0xFF07 => 'quotesinglemonospace', -0xFF08 => 'parenleftmonospace', -0xFF09 => 'parenrightmonospace', -0xFF0A => 'asteriskmonospace', -0xFF0B => 'plusmonospace', -0xFF0C => 'commamonospace', -0xFF0D => 'hyphenmonospace', -0xFF0E => 'periodmonospace', -0xFF0F => 'slashmonospace', -0xFF10 => 'zeromonospace', -0xFF11 => 'onemonospace', -0xFF12 => 'twomonospace', -0xFF13 => 'threemonospace', -0xFF14 => 'fourmonospace', -0xFF15 => 'fivemonospace', -0xFF16 => 'sixmonospace', -0xFF17 => 'sevenmonospace', -0xFF18 => 'eightmonospace', -0xFF19 => 'ninemonospace', -0xFF1A => 'colonmonospace', -0xFF1B => 'semicolonmonospace', -0xFF1C => 'lessmonospace', -0xFF1D => 'equalmonospace', -0xFF1E => 'greatermonospace', -0xFF1F => 'questionmonospace', -0xFF20 => 'atmonospace', -0xFF21 => 'Amonospace', -0xFF22 => 'Bmonospace', -0xFF23 => 'Cmonospace', -0xFF24 => 'Dmonospace', -0xFF25 => 'Emonospace', -0xFF26 => 'Fmonospace', -0xFF27 => 'Gmonospace', -0xFF28 => 'Hmonospace', -0xFF29 => 'Imonospace', -0xFF2A => 'Jmonospace', -0xFF2B => 'Kmonospace', -0xFF2C => 'Lmonospace', -0xFF2D => 'Mmonospace', -0xFF2E => 'Nmonospace', -0xFF2F => 'Omonospace', -0xFF30 => 'Pmonospace', -0xFF31 => 'Qmonospace', -0xFF32 => 'Rmonospace', -0xFF33 => 'Smonospace', -0xFF34 => 'Tmonospace', -0xFF35 => 'Umonospace', -0xFF36 => 'Vmonospace', -0xFF37 => 'Wmonospace', -0xFF38 => 'Xmonospace', -0xFF39 => 'Ymonospace', -0xFF3A => 'Zmonospace', -0xFF3B => 'bracketleftmonospace', -0xFF3C => 'backslashmonospace', -0xFF3D => 'bracketrightmonospace', -0xFF3E => 'asciicircummonospace', -0xFF3F => 'underscoremonospace', -0xFF40 => 'gravemonospace', -0xFF41 => 'amonospace', -0xFF42 => 'bmonospace', -0xFF43 => 'cmonospace', -0xFF44 => 'dmonospace', -0xFF45 => 'emonospace', -0xFF46 => 'fmonospace', -0xFF47 => 'gmonospace', -0xFF48 => 'hmonospace', -0xFF49 => 'imonospace', -0xFF4A => 'jmonospace', -0xFF4B => 'kmonospace', -0xFF4C => 'lmonospace', -0xFF4D => 'mmonospace', -0xFF4E => 'nmonospace', -0xFF4F => 'omonospace', -0xFF50 => 'pmonospace', -0xFF51 => 'qmonospace', -0xFF52 => 'rmonospace', -0xFF53 => 'smonospace', -0xFF54 => 'tmonospace', -0xFF55 => 'umonospace', -0xFF56 => 'vmonospace', -0xFF57 => 'wmonospace', -0xFF58 => 'xmonospace', -0xFF59 => 'ymonospace', -0xFF5A => 'zmonospace', -0xFF5B => 'braceleftmonospace', -0xFF5C => 'barmonospace', -0xFF5D => 'bracerightmonospace', -0xFF5E => 'asciitildemonospace', -0xFF61 => 'periodhalfwidth', -0xFF62 => 'cornerbracketlefthalfwidth', -0xFF63 => 'cornerbracketrighthalfwidth', -0xFF64 => 'ideographiccommaleft', -0xFF65 => 'middledotkatakanahalfwidth', -0xFF66 => 'wokatakanahalfwidth', -0xFF67 => 'asmallkatakanahalfwidth', -0xFF68 => 'ismallkatakanahalfwidth', -0xFF69 => 'usmallkatakanahalfwidth', -0xFF6A => 'esmallkatakanahalfwidth', -0xFF6B => 'osmallkatakanahalfwidth', -0xFF6C => 'yasmallkatakanahalfwidth', -0xFF6D => 'yusmallkatakanahalfwidth', -0xFF6E => 'yosmallkatakanahalfwidth', -0xFF6F => 'tusmallkatakanahalfwidth', -0xFF70 => 'katahiraprolongmarkhalfwidth', -0xFF71 => 'akatakanahalfwidth', -0xFF72 => 'ikatakanahalfwidth', -0xFF73 => 'ukatakanahalfwidth', -0xFF74 => 'ekatakanahalfwidth', -0xFF75 => 'okatakanahalfwidth', -0xFF76 => 'kakatakanahalfwidth', -0xFF77 => 'kikatakanahalfwidth', -0xFF78 => 'kukatakanahalfwidth', -0xFF79 => 'kekatakanahalfwidth', -0xFF7A => 'kokatakanahalfwidth', -0xFF7B => 'sakatakanahalfwidth', -0xFF7C => 'sikatakanahalfwidth', -0xFF7D => 'sukatakanahalfwidth', -0xFF7E => 'sekatakanahalfwidth', -0xFF7F => 'sokatakanahalfwidth', -0xFF80 => 'takatakanahalfwidth', -0xFF81 => 'tikatakanahalfwidth', -0xFF82 => 'tukatakanahalfwidth', -0xFF83 => 'tekatakanahalfwidth', -0xFF84 => 'tokatakanahalfwidth', -0xFF85 => 'nakatakanahalfwidth', -0xFF86 => 'nikatakanahalfwidth', -0xFF87 => 'nukatakanahalfwidth', -0xFF88 => 'nekatakanahalfwidth', -0xFF89 => 'nokatakanahalfwidth', -0xFF8A => 'hakatakanahalfwidth', -0xFF8B => 'hikatakanahalfwidth', -0xFF8C => 'hukatakanahalfwidth', -0xFF8D => 'hekatakanahalfwidth', -0xFF8E => 'hokatakanahalfwidth', -0xFF8F => 'makatakanahalfwidth', -0xFF90 => 'mikatakanahalfwidth', -0xFF91 => 'mukatakanahalfwidth', -0xFF92 => 'mekatakanahalfwidth', -0xFF93 => 'mokatakanahalfwidth', -0xFF94 => 'yakatakanahalfwidth', -0xFF95 => 'yukatakanahalfwidth', -0xFF96 => 'yokatakanahalfwidth', -0xFF97 => 'rakatakanahalfwidth', -0xFF98 => 'rikatakanahalfwidth', -0xFF99 => 'rukatakanahalfwidth', -0xFF9A => 'rekatakanahalfwidth', -0xFF9B => 'rokatakanahalfwidth', -0xFF9C => 'wakatakanahalfwidth', -0xFF9D => 'nkatakanahalfwidth', -0xFF9E => 'voicedmarkkanahalfwidth', -0xFF9F => 'semivoicedmarkkanahalfwidth', -0xFFE0 => 'centmonospace', -0xFFE1 => 'sterlingmonospace', -0xFFE3 => 'macronmonospace', -0xFFE5 => 'yenmonospace', -0xFFE6 => 'wonmonospace' -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.inc.php b/thirdparty/html2ps_pdf/encoding.inc.php deleted file mode 100644 index 7864f64bc..000000000 --- a/thirdparty/html2ps_pdf/encoding.inc.php +++ /dev/null @@ -1,69 +0,0 @@ -> 6) & 0x1F)) . chr(0x80 | ($code & 0x3F)); - }; - - if ($code < 65536) { - return chr(0xE0 | (($code >> 12) & 0x0F)) . chr(0x80 | (($code >> 6) & 0x3F)) . chr(0x80 | ($code & 0x3F)); - }; - - return - chr(0xF0 | (($code >> 18) & 0x07)) . - chr(0x80 | (($code >> 12) & 0x3F)) . - chr(0x80 | (($code >> 6) & 0x3F)) . - chr(0x80 | ($code & 0x3F)); -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-1.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-1.inc.php deleted file mode 100644 index f422bec3e..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-1.inc.php +++ /dev/null @@ -1,261 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x00A1, // INVERTED EXCLAMATION MARK -"\xA2" => 0x00A2, // CENT SIGN -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x00A4, // CURRENCY SIGN -"\xA5" => 0x00A5, // YEN SIGN -"\xA6" => 0x00A6, // BROKEN BAR -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00A8, // DIAERESIS -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x00AA, // FEMININE ORDINAL INDICATOR -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x00AF, // MACRON -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x00B4, // ACUTE ACCENT -"\xB5" => 0x00B5, // MICRO SIGN -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x00B8, // CEDILLA -"\xB9" => 0x00B9, // SUPERSCRIPT ONE -"\xBA" => 0x00BA, // MASCULINE ORDINAL INDICATOR -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x00BC, // VULGAR FRACTION ONE QUARTER -"\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF -"\xBE" => 0x00BE, // VULGAR FRACTION THREE QUARTERS -"\xBF" => 0x00BF, // INVERTED QUESTION MARK -"\xC0" => 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA -"\xC8" => 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS -"\xD0" => 0x00D0, // LATIN CAPITAL LETTER ETH (Icelandic) -"\xD1" => 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE -"\xD2" => 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x00D7, // MULTIPLICATION SIGN -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE -"\xDE" => 0x00DE, // LATIN CAPITAL LETTER THORN (Icelandic) -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S (German) -"\xE0" => 0x00E0, // LATIN SMALL LETTER A WITH GRAVE -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA -"\xE8" => 0x00E8, // LATIN SMALL LETTER E WITH GRAVE -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x00EC, // LATIN SMALL LETTER I WITH GRAVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS -"\xF0" => 0x00F0, // LATIN SMALL LETTER ETH (Icelandic) -"\xF1" => 0x00F1, // LATIN SMALL LETTER N WITH TILDE -"\xF2" => 0x00F2, // LATIN SMALL LETTER O WITH GRAVE -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x00F7, // DIVISION SIGN -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x00F9, // LATIN SMALL LETTER U WITH GRAVE -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE -"\xFE" => 0x00FE, // LATIN SMALL LETTER THORN (Icelandic) -"\xFF" => 0x00FF // LATIN SMALL LETTER Y WITH DIAERESIS -); \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-10.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-10.inc.php deleted file mode 100644 index 212e791b1..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-10.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x0104, // LATIN CAPITAL LETTER A WITH OGONEK -"\xA2" => 0x0112, // LATIN CAPITAL LETTER E WITH MACRON -"\xA3" => 0x0122, // LATIN CAPITAL LETTER G WITH CEDILLA -"\xA4" => 0x012A, // LATIN CAPITAL LETTER I WITH MACRON -"\xA5" => 0x0128, // LATIN CAPITAL LETTER I WITH TILDE -"\xA6" => 0x0136, // LATIN CAPITAL LETTER K WITH CEDILLA -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x013B, // LATIN CAPITAL LETTER L WITH CEDILLA -"\xA9" => 0x0110, // LATIN CAPITAL LETTER D WITH STROKE -"\xAA" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON -"\xAB" => 0x0166, // LATIN CAPITAL LETTER T WITH STROKE -"\xAC" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x016A, // LATIN CAPITAL LETTER U WITH MACRON -"\xAF" => 0x014A, // LATIN CAPITAL LETTER ENG -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x0105, // LATIN SMALL LETTER A WITH OGONEK -"\xB2" => 0x0113, // LATIN SMALL LETTER E WITH MACRON -"\xB3" => 0x0123, // LATIN SMALL LETTER G WITH CEDILLA -"\xB4" => 0x012B, // LATIN SMALL LETTER I WITH MACRON -"\xB5" => 0x0129, // LATIN SMALL LETTER I WITH TILDE -"\xB6" => 0x0137, // LATIN SMALL LETTER K WITH CEDILLA -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x013C, // LATIN SMALL LETTER L WITH CEDILLA -"\xB9" => 0x0111, // LATIN SMALL LETTER D WITH STROKE -"\xBA" => 0x0161, // LATIN SMALL LETTER S WITH CARON -"\xBB" => 0x0167, // LATIN SMALL LETTER T WITH STROKE -"\xBC" => 0x017E, // LATIN SMALL LETTER Z WITH CARON -"\xBD" => 0x2015, // HORIZONTAL BAR -"\xBE" => 0x016B, // LATIN SMALL LETTER U WITH MACRON -"\xBF" => 0x014B, // LATIN SMALL LETTER ENG -"\xC0" => 0x0100, // LATIN CAPITAL LETTER A WITH MACRON -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x012E, // LATIN CAPITAL LETTER I WITH OGONEK -"\xC8" => 0x010C, // LATIN CAPITAL LETTER C WITH CARON -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x0118, // LATIN CAPITAL LETTER E WITH OGONEK -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x0116, // LATIN CAPITAL LETTER E WITH DOT ABOVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS -"\xD0" => 0x00D0, // LATIN CAPITAL LETTER ETH (Icelandic) -"\xD1" => 0x0145, // LATIN CAPITAL LETTER N WITH CEDILLA -"\xD2" => 0x014C, // LATIN CAPITAL LETTER O WITH MACRON -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x0168, // LATIN CAPITAL LETTER U WITH TILDE -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x0172, // LATIN CAPITAL LETTER U WITH OGONEK -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE -"\xDE" => 0x00DE, // LATIN CAPITAL LETTER THORN (Icelandic) -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S (German) -"\xE0" => 0x0101, // LATIN SMALL LETTER A WITH MACRON -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x012F, // LATIN SMALL LETTER I WITH OGONEK -"\xE8" => 0x010D, // LATIN SMALL LETTER C WITH CARON -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x0119, // LATIN SMALL LETTER E WITH OGONEK -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x0117, // LATIN SMALL LETTER E WITH DOT ABOVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS -"\xF0" => 0x00F0, // LATIN SMALL LETTER ETH (Icelandic) -"\xF1" => 0x0146, // LATIN SMALL LETTER N WITH CEDILLA -"\xF2" => 0x014D, // LATIN SMALL LETTER O WITH MACRON -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x0169, // LATIN SMALL LETTER U WITH TILDE -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x0173, // LATIN SMALL LETTER U WITH OGONEK -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE -"\xFE" => 0x00FE, // LATIN SMALL LETTER THORN (Icelandic) -"\xFF" => 0x0138 // LATIN SMALL LETTER KRA - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-11.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-11.inc.php deleted file mode 100644 index d4dffb7af..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-11.inc.php +++ /dev/null @@ -1,254 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x0E01, // THAI CHARACTER KO KAI -"\xA2" => 0x0E02, // THAI CHARACTER KHO KHAI -"\xA3" => 0x0E03, // THAI CHARACTER KHO KHUAT -"\xA4" => 0x0E04, // THAI CHARACTER KHO KHWAI -"\xA5" => 0x0E05, // THAI CHARACTER KHO KHON -"\xA6" => 0x0E06, // THAI CHARACTER KHO RAKHANG -"\xA7" => 0x0E07, // THAI CHARACTER NGO NGU -"\xA8" => 0x0E08, // THAI CHARACTER CHO CHAN -"\xA9" => 0x0E09, // THAI CHARACTER CHO CHING -"\xAA" => 0x0E0A, // THAI CHARACTER CHO CHANG -"\xAB" => 0x0E0B, // THAI CHARACTER SO SO -"\xAC" => 0x0E0C, // THAI CHARACTER CHO CHOE -"\xAD" => 0x0E0D, // THAI CHARACTER YO YING -"\xAE" => 0x0E0E, // THAI CHARACTER DO CHADA -"\xAF" => 0x0E0F, // THAI CHARACTER TO PATAK -"\xB0" => 0x0E10, // THAI CHARACTER THO THAN -"\xB1" => 0x0E11, // THAI CHARACTER THO NANGMONTHO -"\xB2" => 0x0E12, // THAI CHARACTER THO PHUTHAO -"\xB3" => 0x0E13, // THAI CHARACTER NO NEN -"\xB4" => 0x0E14, // THAI CHARACTER DO DEK -"\xB5" => 0x0E15, // THAI CHARACTER TO TAO -"\xB6" => 0x0E16, // THAI CHARACTER THO THUNG -"\xB7" => 0x0E17, // THAI CHARACTER THO THAHAN -"\xB8" => 0x0E18, // THAI CHARACTER THO THONG -"\xB9" => 0x0E19, // THAI CHARACTER NO NU -"\xBA" => 0x0E1A, // THAI CHARACTER BO BAIMAI -"\xBB" => 0x0E1B, // THAI CHARACTER PO PLA -"\xBC" => 0x0E1C, // THAI CHARACTER PHO PHUNG -"\xBD" => 0x0E1D, // THAI CHARACTER FO FA -"\xBE" => 0x0E1E, // THAI CHARACTER PHO PHAN -"\xBF" => 0x0E1F, // THAI CHARACTER FO FAN -"\xC0" => 0x0E20, // THAI CHARACTER PHO SAMPHAO -"\xC1" => 0x0E21, // THAI CHARACTER MO MA -"\xC2" => 0x0E22, // THAI CHARACTER YO YAK -"\xC3" => 0x0E23, // THAI CHARACTER RO RUA -"\xC4" => 0x0E24, // THAI CHARACTER RU -"\xC5" => 0x0E25, // THAI CHARACTER LO LING -"\xC6" => 0x0E26, // THAI CHARACTER LU -"\xC7" => 0x0E27, // THAI CHARACTER WO WAEN -"\xC8" => 0x0E28, // THAI CHARACTER SO SALA -"\xC9" => 0x0E29, // THAI CHARACTER SO RUSI -"\xCA" => 0x0E2A, // THAI CHARACTER SO SUA -"\xCB" => 0x0E2B, // THAI CHARACTER HO HIP -"\xCC" => 0x0E2C, // THAI CHARACTER LO CHULA -"\xCD" => 0x0E2D, // THAI CHARACTER O ANG -"\xCE" => 0x0E2E, // THAI CHARACTER HO NOKHUK -"\xCF" => 0x0E2F, // THAI CHARACTER PAIYANNOI -"\xD0" => 0x0E30, // THAI CHARACTER SARA A -"\xD1" => 0x0E31, // THAI CHARACTER MAI HAN-AKAT -"\xD2" => 0x0E32, // THAI CHARACTER SARA AA -"\xD3" => 0x0E33, // THAI CHARACTER SARA AM -"\xD4" => 0x0E34, // THAI CHARACTER SARA I -"\xD5" => 0x0E35, // THAI CHARACTER SARA II -"\xD6" => 0x0E36, // THAI CHARACTER SARA UE -"\xD7" => 0x0E37, // THAI CHARACTER SARA UEE -"\xD8" => 0x0E38, // THAI CHARACTER SARA U -"\xD9" => 0x0E39, // THAI CHARACTER SARA UU -"\xDA" => 0x0E3A, // THAI CHARACTER PHINTHU -"\xDF" => 0x0E3F, // THAI CURRENCY SYMBOL BAHT -"\xE0" => 0x0E40, // THAI CHARACTER SARA E -"\xE1" => 0x0E41, // THAI CHARACTER SARA AE -"\xE2" => 0x0E42, // THAI CHARACTER SARA O -"\xE3" => 0x0E43, // THAI CHARACTER SARA AI MAIMUAN -"\xE4" => 0x0E44, // THAI CHARACTER SARA AI MAIMALAI -"\xE5" => 0x0E45, // THAI CHARACTER LAKKHANGYAO -"\xE6" => 0x0E46, // THAI CHARACTER MAIYAMOK -"\xE7" => 0x0E47, // THAI CHARACTER MAITAIKHU -"\xE8" => 0x0E48, // THAI CHARACTER MAI EK -"\xE9" => 0x0E49, // THAI CHARACTER MAI THO -"\xEA" => 0x0E4A, // THAI CHARACTER MAI TRI -"\xEB" => 0x0E4B, // THAI CHARACTER MAI CHATTAWA -"\xEC" => 0x0E4C, // THAI CHARACTER THANTHAKHAT -"\xED" => 0x0E4D, // THAI CHARACTER NIKHAHIT -"\xEE" => 0x0E4E, // THAI CHARACTER YAMAKKAN -"\xEF" => 0x0E4F, // THAI CHARACTER FONGMAN -"\xF0" => 0x0E50, // THAI DIGIT ZERO -"\xF1" => 0x0E51, // THAI DIGIT ONE -"\xF2" => 0x0E52, // THAI DIGIT TWO -"\xF3" => 0x0E53, // THAI DIGIT THREE -"\xF4" => 0x0E54, // THAI DIGIT FOUR -"\xF5" => 0x0E55, // THAI DIGIT FIVE -"\xF6" => 0x0E56, // THAI DIGIT SIX -"\xF7" => 0x0E57, // THAI DIGIT SEVEN -"\xF8" => 0x0E58, // THAI DIGIT EIGHT -"\xF9" => 0x0E59, // THAI DIGIT NINE -"\xFA" => 0x0E5A, // THAI CHARACTER ANGKHANKHU -"\xFB" => 0x0E5B // THAI CHARACTER KHOMUT - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-13.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-13.inc.php deleted file mode 100644 index 99cbf4b59..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-13.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x201D, // RIGHT DOUBLE QUOTATION MARK -"\xA2" => 0x00A2, // CENT SIGN -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x00A4, // CURRENCY SIGN -"\xA5" => 0x201E, // DOUBLE LOW-9 QUOTATION MARK -"\xA6" => 0x00A6, // BROKEN BAR -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x0156, // LATIN CAPITAL LETTER R WITH CEDILLA -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x201C, // LEFT DOUBLE QUOTATION MARK -"\xB5" => 0x00B5, // MICRO SIGN -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xB9" => 0x00B9, // SUPERSCRIPT ONE -"\xBA" => 0x0157, // LATIN SMALL LETTER R WITH CEDILLA -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x00BC, // VULGAR FRACTION ONE QUARTER -"\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF -"\xBE" => 0x00BE, // VULGAR FRACTION THREE QUARTERS -"\xBF" => 0x00E6, // LATIN SMALL LETTER AE -"\xC0" => 0x0104, // LATIN CAPITAL LETTER A WITH OGONEK -"\xC1" => 0x012E, // LATIN CAPITAL LETTER I WITH OGONEK -"\xC2" => 0x0100, // LATIN CAPITAL LETTER A WITH MACRON -"\xC3" => 0x0106, // LATIN CAPITAL LETTER C WITH ACUTE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x0118, // LATIN CAPITAL LETTER E WITH OGONEK -"\xC7" => 0x0112, // LATIN CAPITAL LETTER E WITH MACRON -"\xC8" => 0x010C, // LATIN CAPITAL LETTER C WITH CARON -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x0179, // LATIN CAPITAL LETTER Z WITH ACUTE -"\xCB" => 0x0116, // LATIN CAPITAL LETTER E WITH DOT ABOVE -"\xCC" => 0x0122, // LATIN CAPITAL LETTER G WITH CEDILLA -"\xCD" => 0x0136, // LATIN CAPITAL LETTER K WITH CEDILLA -"\xCE" => 0x012A, // LATIN CAPITAL LETTER I WITH MACRON -"\xCF" => 0x013B, // LATIN CAPITAL LETTER L WITH CEDILLA -"\xD0" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON -"\xD1" => 0x0143, // LATIN CAPITAL LETTER N WITH ACUTE -"\xD2" => 0x0145, // LATIN CAPITAL LETTER N WITH CEDILLA -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x014C, // LATIN CAPITAL LETTER O WITH MACRON -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x00D7, // MULTIPLICATION SIGN -"\xD8" => 0x0172, // LATIN CAPITAL LETTER U WITH OGONEK -"\xD9" => 0x0141, // LATIN CAPITAL LETTER L WITH STROKE -"\xDA" => 0x015A, // LATIN CAPITAL LETTER S WITH ACUTE -"\xDB" => 0x016A, // LATIN CAPITAL LETTER U WITH MACRON -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x017B, // LATIN CAPITAL LETTER Z WITH DOT ABOVE -"\xDE" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S (German) -"\xE0" => 0x0105, // LATIN SMALL LETTER A WITH OGONEK -"\xE1" => 0x012F, // LATIN SMALL LETTER I WITH OGONEK -"\xE2" => 0x0101, // LATIN SMALL LETTER A WITH MACRON -"\xE3" => 0x0107, // LATIN SMALL LETTER C WITH ACUTE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x0119, // LATIN SMALL LETTER E WITH OGONEK -"\xE7" => 0x0113, // LATIN SMALL LETTER E WITH MACRON -"\xE8" => 0x010D, // LATIN SMALL LETTER C WITH CARON -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x017A, // LATIN SMALL LETTER Z WITH ACUTE -"\xEB" => 0x0117, // LATIN SMALL LETTER E WITH DOT ABOVE -"\xEC" => 0x0123, // LATIN SMALL LETTER G WITH CEDILLA -"\xED" => 0x0137, // LATIN SMALL LETTER K WITH CEDILLA -"\xEE" => 0x012B, // LATIN SMALL LETTER I WITH MACRON -"\xEF" => 0x013C, // LATIN SMALL LETTER L WITH CEDILLA -"\xF0" => 0x0161, // LATIN SMALL LETTER S WITH CARON -"\xF1" => 0x0144, // LATIN SMALL LETTER N WITH ACUTE -"\xF2" => 0x0146, // LATIN SMALL LETTER N WITH CEDILLA -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x014D, // LATIN SMALL LETTER O WITH MACRON -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x00F7, // DIVISION SIGN -"\xF8" => 0x0173, // LATIN SMALL LETTER U WITH OGONEK -"\xF9" => 0x0142, // LATIN SMALL LETTER L WITH STROKE -"\xFA" => 0x015B, // LATIN SMALL LETTER S WITH ACUTE -"\xFB" => 0x016B, // LATIN SMALL LETTER U WITH MACRON -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x017C, // LATIN SMALL LETTER Z WITH DOT ABOVE -"\xFE" => 0x017E, // LATIN SMALL LETTER Z WITH CARON -"\xFF" => 0x2019 // RIGHT SINGLE QUOTATION MARK - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-14.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-14.inc.php deleted file mode 100644 index dcce35188..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-14.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x1E02, // LATIN CAPITAL LETTER B WITH DOT ABOVE -"\xA2" => 0x1E03, // LATIN SMALL LETTER B WITH DOT ABOVE -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x010A, // LATIN CAPITAL LETTER C WITH DOT ABOVE -"\xA5" => 0x010B, // LATIN SMALL LETTER C WITH DOT ABOVE -"\xA6" => 0x1E0A, // LATIN CAPITAL LETTER D WITH DOT ABOVE -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x1E80, // LATIN CAPITAL LETTER W WITH GRAVE -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x1E82, // LATIN CAPITAL LETTER W WITH ACUTE -"\xAB" => 0x1E0B, // LATIN SMALL LETTER D WITH DOT ABOVE -"\xAC" => 0x1EF2, // LATIN CAPITAL LETTER Y WITH GRAVE -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x0178, // LATIN CAPITAL LETTER Y WITH DIAERESIS -"\xB0" => 0x1E1E, // LATIN CAPITAL LETTER F WITH DOT ABOVE -"\xB1" => 0x1E1F, // LATIN SMALL LETTER F WITH DOT ABOVE -"\xB2" => 0x0120, // LATIN CAPITAL LETTER G WITH DOT ABOVE -"\xB3" => 0x0121, // LATIN SMALL LETTER G WITH DOT ABOVE -"\xB4" => 0x1E40, // LATIN CAPITAL LETTER M WITH DOT ABOVE -"\xB5" => 0x1E41, // LATIN SMALL LETTER M WITH DOT ABOVE -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x1E56, // LATIN CAPITAL LETTER P WITH DOT ABOVE -"\xB8" => 0x1E81, // LATIN SMALL LETTER W WITH GRAVE -"\xB9" => 0x1E57, // LATIN SMALL LETTER P WITH DOT ABOVE -"\xBA" => 0x1E83, // LATIN SMALL LETTER W WITH ACUTE -"\xBB" => 0x1E60, // LATIN CAPITAL LETTER S WITH DOT ABOVE -"\xBC" => 0x1EF3, // LATIN SMALL LETTER Y WITH GRAVE -"\xBD" => 0x1E84, // LATIN CAPITAL LETTER W WITH DIAERESIS -"\xBE" => 0x1E85, // LATIN SMALL LETTER W WITH DIAERESIS -"\xBF" => 0x1E61, // LATIN SMALL LETTER S WITH DOT ABOVE -"\xC0" => 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA -"\xC8" => 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS -"\xD0" => 0x0174, // LATIN CAPITAL LETTER W WITH CIRCUMFLEX -"\xD1" => 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE -"\xD2" => 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x1E6A, // LATIN CAPITAL LETTER T WITH DOT ABOVE -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE -"\xDE" => 0x0176, // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S -"\xE0" => 0x00E0, // LATIN SMALL LETTER A WITH GRAVE -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA -"\xE8" => 0x00E8, // LATIN SMALL LETTER E WITH GRAVE -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x00EC, // LATIN SMALL LETTER I WITH GRAVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS -"\xF0" => 0x0175, // LATIN SMALL LETTER W WITH CIRCUMFLEX -"\xF1" => 0x00F1, // LATIN SMALL LETTER N WITH TILDE -"\xF2" => 0x00F2, // LATIN SMALL LETTER O WITH GRAVE -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x1E6B, // LATIN SMALL LETTER T WITH DOT ABOVE -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x00F9, // LATIN SMALL LETTER U WITH GRAVE -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE -"\xFE" => 0x0177, // LATIN SMALL LETTER Y WITH CIRCUMFLEX -"\xFF" => 0x00FF // LATIN SMALL LETTER Y WITH DIAERESIS - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-15.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-15.inc.php deleted file mode 100644 index 639c94474..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-15.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x00A1, // INVERTED EXCLAMATION MARK -"\xA2" => 0x00A2, // CENT SIGN -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x20AC, // EURO SIGN -"\xA5" => 0x00A5, // YEN SIGN -"\xA6" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x0161, // LATIN SMALL LETTER S WITH CARON -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x00AA, // FEMININE ORDINAL INDICATOR -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x00AF, // MACRON -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON -"\xB5" => 0x00B5, // MICRO SIGN -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x017E, // LATIN SMALL LETTER Z WITH CARON -"\xB9" => 0x00B9, // SUPERSCRIPT ONE -"\xBA" => 0x00BA, // MASCULINE ORDINAL INDICATOR -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x0152, // LATIN CAPITAL LIGATURE OE -"\xBD" => 0x0153, // LATIN SMALL LIGATURE OE -"\xBE" => 0x0178, // LATIN CAPITAL LETTER Y WITH DIAERESIS -"\xBF" => 0x00BF, // INVERTED QUESTION MARK -"\xC0" => 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA -"\xC8" => 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS -"\xD0" => 0x00D0, // LATIN CAPITAL LETTER ETH -"\xD1" => 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE -"\xD2" => 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x00D7, // MULTIPLICATION SIGN -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE -"\xDE" => 0x00DE, // LATIN CAPITAL LETTER THORN -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S -"\xE0" => 0x00E0, // LATIN SMALL LETTER A WITH GRAVE -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA -"\xE8" => 0x00E8, // LATIN SMALL LETTER E WITH GRAVE -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x00EC, // LATIN SMALL LETTER I WITH GRAVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS -"\xF0" => 0x00F0, // LATIN SMALL LETTER ETH -"\xF1" => 0x00F1, // LATIN SMALL LETTER N WITH TILDE -"\xF2" => 0x00F2, // LATIN SMALL LETTER O WITH GRAVE -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x00F7, // DIVISION SIGN -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x00F9, // LATIN SMALL LETTER U WITH GRAVE -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE -"\xFE" => 0x00FE, // LATIN SMALL LETTER THORN -"\xFF" => 0x00FF // LATIN SMALL LETTER Y WITH DIAERESIS - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-2.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-2.inc.php deleted file mode 100644 index 2d89acd04..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-2.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL - "\x01" => 0x0001, // START OF HEADING - "\x02" => 0x0002, // START OF TEXT - "\x03" => 0x0003, // END OF TEXT - "\x04" => 0x0004, // END OF TRANSMISSION - "\x05" => 0x0005, // ENQUIRY - "\x06" => 0x0006, // ACKNOWLEDGE - "\x07" => 0x0007, // BELL - "\x08" => 0x0008, // BACKSPACE - "\x09" => 0x0009, // HORIZONTAL TABULATION - "\x0A" => 0x000A, // LINE FEED - "\x0B" => 0x000B, // VERTICAL TABULATION - "\x0C" => 0x000C, // FORM FEED - "\x0D" => 0x000D, // CARRIAGE RETURN - "\x0E" => 0x000E, // SHIFT OUT - "\x0F" => 0x000F, // SHIFT IN - "\x10" => 0x0010, // DATA LINK ESCAPE - "\x11" => 0x0011, // DEVICE CONTROL ONE - "\x12" => 0x0012, // DEVICE CONTROL TWO - "\x13" => 0x0013, // DEVICE CONTROL THREE - "\x14" => 0x0014, // DEVICE CONTROL FOUR - "\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE - "\x16" => 0x0016, // SYNCHRONOUS IDLE - "\x17" => 0x0017, // END OF TRANSMISSION BLOCK - "\x18" => 0x0018, // CANCEL - "\x19" => 0x0019, // END OF MEDIUM - "\x1A" => 0x001A, // SUBSTITUTE - "\x1B" => 0x001B, // ESCAPE - "\x1C" => 0x001C, // FILE SEPARATOR - "\x1D" => 0x001D, // GROUP SEPARATOR - "\x1E" => 0x001E, // RECORD SEPARATOR - "\x1F" => 0x001F, // UNIT SEPARATOR - "\x20" => 0x0020, // SPACE - "\x21" => 0x0021, // EXCLAMATION MARK - "\x22" => 0x0022, // QUOTATION MARK - "\x23" => 0x0023, // NUMBER SIGN - "\x24" => 0x0024, // DOLLAR SIGN - "\x25" => 0x0025, // PERCENT SIGN - "\x26" => 0x0026, // AMPERSAND - "\x27" => 0x0027, // APOSTROPHE - "\x28" => 0x0028, // LEFT PARENTHESIS - "\x29" => 0x0029, // RIGHT PARENTHESIS - "\x2A" => 0x002A, // ASTERISK - "\x2B" => 0x002B, // PLUS SIGN - "\x2C" => 0x002C, // COMMA - "\x2D" => 0x002D, // HYPHEN-MINUS - "\x2E" => 0x002E, // FULL STOP - "\x2F" => 0x002F, // SOLIDUS - "\x30" => 0x0030, // DIGIT ZERO - "\x31" => 0x0031, // DIGIT ONE - "\x32" => 0x0032, // DIGIT TWO - "\x33" => 0x0033, // DIGIT THREE - "\x34" => 0x0034, // DIGIT FOUR - "\x35" => 0x0035, // DIGIT FIVE - "\x36" => 0x0036, // DIGIT SIX - "\x37" => 0x0037, // DIGIT SEVEN - "\x38" => 0x0038, // DIGIT EIGHT - "\x39" => 0x0039, // DIGIT NINE - "\x3A" => 0x003A, // COLON - "\x3B" => 0x003B, // SEMICOLON - "\x3C" => 0x003C, // LESS-THAN SIGN - "\x3D" => 0x003D, // EQUALS SIGN - "\x3E" => 0x003E, // GREATER-THAN SIGN - "\x3F" => 0x003F, // QUESTION MARK - "\x40" => 0x0040, // COMMERCIAL AT - "\x41" => 0x0041, // LATIN CAPITAL LETTER A - "\x42" => 0x0042, // LATIN CAPITAL LETTER B - "\x43" => 0x0043, // LATIN CAPITAL LETTER C - "\x44" => 0x0044, // LATIN CAPITAL LETTER D - "\x45" => 0x0045, // LATIN CAPITAL LETTER E - "\x46" => 0x0046, // LATIN CAPITAL LETTER F - "\x47" => 0x0047, // LATIN CAPITAL LETTER G - "\x48" => 0x0048, // LATIN CAPITAL LETTER H - "\x49" => 0x0049, // LATIN CAPITAL LETTER I - "\x4A" => 0x004A, // LATIN CAPITAL LETTER J - "\x4B" => 0x004B, // LATIN CAPITAL LETTER K - "\x4C" => 0x004C, // LATIN CAPITAL LETTER L - "\x4D" => 0x004D, // LATIN CAPITAL LETTER M - "\x4E" => 0x004E, // LATIN CAPITAL LETTER N - "\x4F" => 0x004F, // LATIN CAPITAL LETTER O - "\x50" => 0x0050, // LATIN CAPITAL LETTER P - "\x51" => 0x0051, // LATIN CAPITAL LETTER Q - "\x52" => 0x0052, // LATIN CAPITAL LETTER R - "\x53" => 0x0053, // LATIN CAPITAL LETTER S - "\x54" => 0x0054, // LATIN CAPITAL LETTER T - "\x55" => 0x0055, // LATIN CAPITAL LETTER U - "\x56" => 0x0056, // LATIN CAPITAL LETTER V - "\x57" => 0x0057, // LATIN CAPITAL LETTER W - "\x58" => 0x0058, // LATIN CAPITAL LETTER X - "\x59" => 0x0059, // LATIN CAPITAL LETTER Y - "\x5A" => 0x005A, // LATIN CAPITAL LETTER Z - "\x5B" => 0x005B, // LEFT SQUARE BRACKET - "\x5C" => 0x005C, // REVERSE SOLIDUS - "\x5D" => 0x005D, // RIGHT SQUARE BRACKET - "\x5E" => 0x005E, // CIRCUMFLEX ACCENT - "\x5F" => 0x005F, // LOW LINE - "\x60" => 0x0060, // GRAVE ACCENT - "\x61" => 0x0061, // LATIN SMALL LETTER A - "\x62" => 0x0062, // LATIN SMALL LETTER B - "\x63" => 0x0063, // LATIN SMALL LETTER C - "\x64" => 0x0064, // LATIN SMALL LETTER D - "\x65" => 0x0065, // LATIN SMALL LETTER E - "\x66" => 0x0066, // LATIN SMALL LETTER F - "\x67" => 0x0067, // LATIN SMALL LETTER G - "\x68" => 0x0068, // LATIN SMALL LETTER H - "\x69" => 0x0069, // LATIN SMALL LETTER I - "\x6A" => 0x006A, // LATIN SMALL LETTER J - "\x6B" => 0x006B, // LATIN SMALL LETTER K - "\x6C" => 0x006C, // LATIN SMALL LETTER L - "\x6D" => 0x006D, // LATIN SMALL LETTER M - "\x6E" => 0x006E, // LATIN SMALL LETTER N - "\x6F" => 0x006F, // LATIN SMALL LETTER O - "\x70" => 0x0070, // LATIN SMALL LETTER P - "\x71" => 0x0071, // LATIN SMALL LETTER Q - "\x72" => 0x0072, // LATIN SMALL LETTER R - "\x73" => 0x0073, // LATIN SMALL LETTER S - "\x74" => 0x0074, // LATIN SMALL LETTER T - "\x75" => 0x0075, // LATIN SMALL LETTER U - "\x76" => 0x0076, // LATIN SMALL LETTER V - "\x77" => 0x0077, // LATIN SMALL LETTER W - "\x78" => 0x0078, // LATIN SMALL LETTER X - "\x79" => 0x0079, // LATIN SMALL LETTER Y - "\x7A" => 0x007A, // LATIN SMALL LETTER Z - "\x7B" => 0x007B, // LEFT CURLY BRACKET - "\x7C" => 0x007C, // VERTICAL LINE - "\x7D" => 0x007D, // RIGHT CURLY BRACKET - "\x7E" => 0x007E, // TILDE - "\x7F" => 0x007F, // DELETE - "\x80" => 0x0080, // - "\x81" => 0x0081, // - "\x82" => 0x0082, // - "\x83" => 0x0083, // - "\x84" => 0x0084, // - "\x85" => 0x0085, // - "\x86" => 0x0086, // - "\x87" => 0x0087, // - "\x88" => 0x0088, // - "\x89" => 0x0089, // - "\x8A" => 0x008A, // - "\x8B" => 0x008B, // - "\x8C" => 0x008C, // - "\x8D" => 0x008D, // - "\x8E" => 0x008E, // - "\x8F" => 0x008F, // - "\x90" => 0x0090, // - "\x91" => 0x0091, // - "\x92" => 0x0092, // - "\x93" => 0x0093, // - "\x94" => 0x0094, // - "\x95" => 0x0095, // - "\x96" => 0x0096, // - "\x97" => 0x0097, // - "\x98" => 0x0098, // - "\x99" => 0x0099, // - "\x9A" => 0x009A, // - "\x9B" => 0x009B, // - "\x9C" => 0x009C, // - "\x9D" => 0x009D, // - "\x9E" => 0x009E, // - "\x9F" => 0x009F, // - "\xA0" => 0x00A0, // NO-BREAK SPACE - "\xA1" => 0x0104, // LATIN CAPITAL LETTER A WITH OGONEK - "\xA2" => 0x02D8, // BREVE - "\xA3" => 0x0141, // LATIN CAPITAL LETTER L WITH STROKE - "\xA4" => 0x00A4, // CURRENCY SIGN - "\xA5" => 0x013D, // LATIN CAPITAL LETTER L WITH CARON - "\xA6" => 0x015A, // LATIN CAPITAL LETTER S WITH ACUTE - "\xA7" => 0x00A7, // SECTION SIGN - "\xA8" => 0x00A8, // DIAERESIS - "\xA9" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON - "\xAA" => 0x015E, // LATIN CAPITAL LETTER S WITH CEDILLA - "\xAB" => 0x0164, // LATIN CAPITAL LETTER T WITH CARON - "\xAC" => 0x0179, // LATIN CAPITAL LETTER Z WITH ACUTE - "\xAD" => 0x00AD, // SOFT HYPHEN - "\xAE" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON - "\xAF" => 0x017B, // LATIN CAPITAL LETTER Z WITH DOT ABOVE - "\xB0" => 0x00B0, // DEGREE SIGN - "\xB1" => 0x0105, // LATIN SMALL LETTER A WITH OGONEK - "\xB2" => 0x02DB, // OGONEK - "\xB3" => 0x0142, // LATIN SMALL LETTER L WITH STROKE - "\xB4" => 0x00B4, // ACUTE ACCENT - "\xB5" => 0x013E, // LATIN SMALL LETTER L WITH CARON - "\xB6" => 0x015B, // LATIN SMALL LETTER S WITH ACUTE - "\xB7" => 0x02C7, // CARON - "\xB8" => 0x00B8, // CEDILLA - "\xB9" => 0x0161, // LATIN SMALL LETTER S WITH CARON - "\xBA" => 0x015F, // LATIN SMALL LETTER S WITH CEDILLA - "\xBB" => 0x0165, // LATIN SMALL LETTER T WITH CARON - "\xBC" => 0x017A, // LATIN SMALL LETTER Z WITH ACUTE - "\xBD" => 0x02DD, // DOUBLE ACUTE ACCENT - "\xBE" => 0x017E, // LATIN SMALL LETTER Z WITH CARON - "\xBF" => 0x017C, // LATIN SMALL LETTER Z WITH DOT ABOVE - "\xC0" => 0x0154, // LATIN CAPITAL LETTER R WITH ACUTE - "\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE - "\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX - "\xC3" => 0x0102, // LATIN CAPITAL LETTER A WITH BREVE - "\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS - "\xC5" => 0x0139, // LATIN CAPITAL LETTER L WITH ACUTE - "\xC6" => 0x0106, // LATIN CAPITAL LETTER C WITH ACUTE - "\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA - "\xC8" => 0x010C, // LATIN CAPITAL LETTER C WITH CARON - "\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE - "\xCA" => 0x0118, // LATIN CAPITAL LETTER E WITH OGONEK - "\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS - "\xCC" => 0x011A, // LATIN CAPITAL LETTER E WITH CARON - "\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE - "\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX - "\xCF" => 0x010E, // LATIN CAPITAL LETTER D WITH CARON - "\xD0" => 0x0110, // LATIN CAPITAL LETTER D WITH STROKE - "\xD1" => 0x0143, // LATIN CAPITAL LETTER N WITH ACUTE - "\xD2" => 0x0147, // LATIN CAPITAL LETTER N WITH CARON - "\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE - "\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX - "\xD5" => 0x0150, // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE - "\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS - "\xD7" => 0x00D7, // MULTIPLICATION SIGN - "\xD8" => 0x0158, // LATIN CAPITAL LETTER R WITH CARON - "\xD9" => 0x016E, // LATIN CAPITAL LETTER U WITH RING ABOVE - "\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE - "\xDB" => 0x0170, // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE - "\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS - "\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE - "\xDE" => 0x0162, // LATIN CAPITAL LETTER T WITH CEDILLA - "\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S - "\xE0" => 0x0155, // LATIN SMALL LETTER R WITH ACUTE - "\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE - "\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX - "\xE3" => 0x0103, // LATIN SMALL LETTER A WITH BREVE - "\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS - "\xE5" => 0x013A, // LATIN SMALL LETTER L WITH ACUTE - "\xE6" => 0x0107, // LATIN SMALL LETTER C WITH ACUTE - "\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA - "\xE8" => 0x010D, // LATIN SMALL LETTER C WITH CARON - "\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE - "\xEA" => 0x0119, // LATIN SMALL LETTER E WITH OGONEK - "\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS - "\xEC" => 0x011B, // LATIN SMALL LETTER E WITH CARON - "\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE - "\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX - "\xEF" => 0x010F, // LATIN SMALL LETTER D WITH CARON - "\xF0" => 0x0111, // LATIN SMALL LETTER D WITH STROKE - "\xF1" => 0x0144, // LATIN SMALL LETTER N WITH ACUTE - "\xF2" => 0x0148, // LATIN SMALL LETTER N WITH CARON - "\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE - "\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX - "\xF5" => 0x0151, // LATIN SMALL LETTER O WITH DOUBLE ACUTE - "\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS - "\xF7" => 0x00F7, // DIVISION SIGN - "\xF8" => 0x0159, // LATIN SMALL LETTER R WITH CARON - "\xF9" => 0x016F, // LATIN SMALL LETTER U WITH RING ABOVE - "\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE - "\xFB" => 0x0171, // LATIN SMALL LETTER U WITH DOUBLE ACUTE - "\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS - "\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE - "\xFE" => 0x0163, // LATIN SMALL LETTER T WITH CEDILLA - "\xFF" => 0x02D9 // DOT ABOVE - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-3.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-3.inc.php deleted file mode 100644 index d58d9d244..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-3.inc.php +++ /dev/null @@ -1,255 +0,0 @@ - 0x0000, // NULL - "\x01" => 0x0001, // START OF HEADING - "\x02" => 0x0002, // START OF TEXT - "\x03" => 0x0003, // END OF TEXT - "\x04" => 0x0004, // END OF TRANSMISSION - "\x05" => 0x0005, // ENQUIRY - "\x06" => 0x0006, // ACKNOWLEDGE - "\x07" => 0x0007, // BELL - "\x08" => 0x0008, // BACKSPACE - "\x09" => 0x0009, // HORIZONTAL TABULATION - "\x0A" => 0x000A, // LINE FEED - "\x0B" => 0x000B, // VERTICAL TABULATION - "\x0C" => 0x000C, // FORM FEED - "\x0D" => 0x000D, // CARRIAGE RETURN - "\x0E" => 0x000E, // SHIFT OUT - "\x0F" => 0x000F, // SHIFT IN - "\x10" => 0x0010, // DATA LINK ESCAPE - "\x11" => 0x0011, // DEVICE CONTROL ONE - "\x12" => 0x0012, // DEVICE CONTROL TWO - "\x13" => 0x0013, // DEVICE CONTROL THREE - "\x14" => 0x0014, // DEVICE CONTROL FOUR - "\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE - "\x16" => 0x0016, // SYNCHRONOUS IDLE - "\x17" => 0x0017, // END OF TRANSMISSION BLOCK - "\x18" => 0x0018, // CANCEL - "\x19" => 0x0019, // END OF MEDIUM - "\x1A" => 0x001A, // SUBSTITUTE - "\x1B" => 0x001B, // ESCAPE - "\x1C" => 0x001C, // FILE SEPARATOR - "\x1D" => 0x001D, // GROUP SEPARATOR - "\x1E" => 0x001E, // RECORD SEPARATOR - "\x1F" => 0x001F, // UNIT SEPARATOR - "\x20" => 0x0020, // SPACE - "\x21" => 0x0021, // EXCLAMATION MARK - "\x22" => 0x0022, // QUOTATION MARK - "\x23" => 0x0023, // NUMBER SIGN - "\x24" => 0x0024, // DOLLAR SIGN - "\x25" => 0x0025, // PERCENT SIGN - "\x26" => 0x0026, // AMPERSAND - "\x27" => 0x0027, // APOSTROPHE - "\x28" => 0x0028, // LEFT PARENTHESIS - "\x29" => 0x0029, // RIGHT PARENTHESIS - "\x2A" => 0x002A, // ASTERISK - "\x2B" => 0x002B, // PLUS SIGN - "\x2C" => 0x002C, // COMMA - "\x2D" => 0x002D, // HYPHEN-MINUS - "\x2E" => 0x002E, // FULL STOP - "\x2F" => 0x002F, // SOLIDUS - "\x30" => 0x0030, // DIGIT ZERO - "\x31" => 0x0031, // DIGIT ONE - "\x32" => 0x0032, // DIGIT TWO - "\x33" => 0x0033, // DIGIT THREE - "\x34" => 0x0034, // DIGIT FOUR - "\x35" => 0x0035, // DIGIT FIVE - "\x36" => 0x0036, // DIGIT SIX - "\x37" => 0x0037, // DIGIT SEVEN - "\x38" => 0x0038, // DIGIT EIGHT - "\x39" => 0x0039, // DIGIT NINE - "\x3A" => 0x003A, // COLON - "\x3B" => 0x003B, // SEMICOLON - "\x3C" => 0x003C, // LESS-THAN SIGN - "\x3D" => 0x003D, // EQUALS SIGN - "\x3E" => 0x003E, // GREATER-THAN SIGN - "\x3F" => 0x003F, // QUESTION MARK - "\x40" => 0x0040, // COMMERCIAL AT - "\x41" => 0x0041, // LATIN CAPITAL LETTER A - "\x42" => 0x0042, // LATIN CAPITAL LETTER B - "\x43" => 0x0043, // LATIN CAPITAL LETTER C - "\x44" => 0x0044, // LATIN CAPITAL LETTER D - "\x45" => 0x0045, // LATIN CAPITAL LETTER E - "\x46" => 0x0046, // LATIN CAPITAL LETTER F - "\x47" => 0x0047, // LATIN CAPITAL LETTER G - "\x48" => 0x0048, // LATIN CAPITAL LETTER H - "\x49" => 0x0049, // LATIN CAPITAL LETTER I - "\x4A" => 0x004A, // LATIN CAPITAL LETTER J - "\x4B" => 0x004B, // LATIN CAPITAL LETTER K - "\x4C" => 0x004C, // LATIN CAPITAL LETTER L - "\x4D" => 0x004D, // LATIN CAPITAL LETTER M - "\x4E" => 0x004E, // LATIN CAPITAL LETTER N - "\x4F" => 0x004F, // LATIN CAPITAL LETTER O - "\x50" => 0x0050, // LATIN CAPITAL LETTER P - "\x51" => 0x0051, // LATIN CAPITAL LETTER Q - "\x52" => 0x0052, // LATIN CAPITAL LETTER R - "\x53" => 0x0053, // LATIN CAPITAL LETTER S - "\x54" => 0x0054, // LATIN CAPITAL LETTER T - "\x55" => 0x0055, // LATIN CAPITAL LETTER U - "\x56" => 0x0056, // LATIN CAPITAL LETTER V - "\x57" => 0x0057, // LATIN CAPITAL LETTER W - "\x58" => 0x0058, // LATIN CAPITAL LETTER X - "\x59" => 0x0059, // LATIN CAPITAL LETTER Y - "\x5A" => 0x005A, // LATIN CAPITAL LETTER Z - "\x5B" => 0x005B, // LEFT SQUARE BRACKET - "\x5C" => 0x005C, // REVERSE SOLIDUS - "\x5D" => 0x005D, // RIGHT SQUARE BRACKET - "\x5E" => 0x005E, // CIRCUMFLEX ACCENT - "\x5F" => 0x005F, // LOW LINE - "\x60" => 0x0060, // GRAVE ACCENT - "\x61" => 0x0061, // LATIN SMALL LETTER A - "\x62" => 0x0062, // LATIN SMALL LETTER B - "\x63" => 0x0063, // LATIN SMALL LETTER C - "\x64" => 0x0064, // LATIN SMALL LETTER D - "\x65" => 0x0065, // LATIN SMALL LETTER E - "\x66" => 0x0066, // LATIN SMALL LETTER F - "\x67" => 0x0067, // LATIN SMALL LETTER G - "\x68" => 0x0068, // LATIN SMALL LETTER H - "\x69" => 0x0069, // LATIN SMALL LETTER I - "\x6A" => 0x006A, // LATIN SMALL LETTER J - "\x6B" => 0x006B, // LATIN SMALL LETTER K - "\x6C" => 0x006C, // LATIN SMALL LETTER L - "\x6D" => 0x006D, // LATIN SMALL LETTER M - "\x6E" => 0x006E, // LATIN SMALL LETTER N - "\x6F" => 0x006F, // LATIN SMALL LETTER O - "\x70" => 0x0070, // LATIN SMALL LETTER P - "\x71" => 0x0071, // LATIN SMALL LETTER Q - "\x72" => 0x0072, // LATIN SMALL LETTER R - "\x73" => 0x0073, // LATIN SMALL LETTER S - "\x74" => 0x0074, // LATIN SMALL LETTER T - "\x75" => 0x0075, // LATIN SMALL LETTER U - "\x76" => 0x0076, // LATIN SMALL LETTER V - "\x77" => 0x0077, // LATIN SMALL LETTER W - "\x78" => 0x0078, // LATIN SMALL LETTER X - "\x79" => 0x0079, // LATIN SMALL LETTER Y - "\x7A" => 0x007A, // LATIN SMALL LETTER Z - "\x7B" => 0x007B, // LEFT CURLY BRACKET - "\x7C" => 0x007C, // VERTICAL LINE - "\x7D" => 0x007D, // RIGHT CURLY BRACKET - "\x7E" => 0x007E, // TILDE - "\x7F" => 0x007F, // DELETE - "\x80" => 0x0080, // - "\x81" => 0x0081, // - "\x82" => 0x0082, // - "\x83" => 0x0083, // - "\x84" => 0x0084, // - "\x85" => 0x0085, // - "\x86" => 0x0086, // - "\x87" => 0x0087, // - "\x88" => 0x0088, // - "\x89" => 0x0089, // - "\x8A" => 0x008A, // - "\x8B" => 0x008B, // - "\x8C" => 0x008C, // - "\x8D" => 0x008D, // - "\x8E" => 0x008E, // - "\x8F" => 0x008F, // - "\x90" => 0x0090, // - "\x91" => 0x0091, // - "\x92" => 0x0092, // - "\x93" => 0x0093, // - "\x94" => 0x0094, // - "\x95" => 0x0095, // - "\x96" => 0x0096, // - "\x97" => 0x0097, // - "\x98" => 0x0098, // - "\x99" => 0x0099, // - "\x9A" => 0x009A, // - "\x9B" => 0x009B, // - "\x9C" => 0x009C, // - "\x9D" => 0x009D, // - "\x9E" => 0x009E, // - "\x9F" => 0x009F, // - "\xA0" => 0x00A0, // NO-BREAK SPACE - "\xA1" => 0x0126, // LATIN CAPITAL LETTER H WITH STROKE - "\xA2" => 0x02D8, // BREVE - "\xA3" => 0x00A3, // POUND SIGN - "\xA4" => 0x00A4, // CURRENCY SIGN - "\xA6" => 0x0124, // LATIN CAPITAL LETTER H WITH CIRCUMFLEX - "\xA7" => 0x00A7, // SECTION SIGN - "\xA8" => 0x00A8, // DIAERESIS - "\xA9" => 0x0130, // LATIN CAPITAL LETTER I WITH DOT ABOVE - "\xAA" => 0x015E, // LATIN CAPITAL LETTER S WITH CEDILLA - "\xAB" => 0x011E, // LATIN CAPITAL LETTER G WITH BREVE - "\xAC" => 0x0134, // LATIN CAPITAL LETTER J WITH CIRCUMFLEX - "\xAD" => 0x00AD, // SOFT HYPHEN - "\xAF" => 0x017B, // LATIN CAPITAL LETTER Z WITH DOT ABOVE - "\xB0" => 0x00B0, // DEGREE SIGN - "\xB1" => 0x0127, // LATIN SMALL LETTER H WITH STROKE - "\xB2" => 0x00B2, // SUPERSCRIPT TWO - "\xB3" => 0x00B3, // SUPERSCRIPT THREE - "\xB4" => 0x00B4, // ACUTE ACCENT - "\xB5" => 0x00B5, // MICRO SIGN - "\xB6" => 0x0125, // LATIN SMALL LETTER H WITH CIRCUMFLEX - "\xB7" => 0x00B7, // MIDDLE DOT - "\xB8" => 0x00B8, // CEDILLA - "\xB9" => 0x0131, // LATIN SMALL LETTER DOTLESS I - "\xBA" => 0x015F, // LATIN SMALL LETTER S WITH CEDILLA - "\xBB" => 0x011F, // LATIN SMALL LETTER G WITH BREVE - "\xBC" => 0x0135, // LATIN SMALL LETTER J WITH CIRCUMFLEX - "\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF - "\xBF" => 0x017C, // LATIN SMALL LETTER Z WITH DOT ABOVE - "\xC0" => 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE - "\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE - "\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX - "\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS - "\xC5" => 0x010A, // LATIN CAPITAL LETTER C WITH DOT ABOVE - "\xC6" => 0x0108, // LATIN CAPITAL LETTER C WITH CIRCUMFLEX - "\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA - "\xC8" => 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE - "\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE - "\xCA" => 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX - "\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS - "\xCC" => 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE - "\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE - "\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX - "\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS - "\xD1" => 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE - "\xD2" => 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE - "\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE - "\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX - "\xD5" => 0x0120, // LATIN CAPITAL LETTER G WITH DOT ABOVE - "\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS - "\xD7" => 0x00D7, // MULTIPLICATION SIGN - "\xD8" => 0x011C, // LATIN CAPITAL LETTER G WITH CIRCUMFLEX - "\xD9" => 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE - "\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE - "\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX - "\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS - "\xDD" => 0x016C, // LATIN CAPITAL LETTER U WITH BREVE - "\xDE" => 0x015C, // LATIN CAPITAL LETTER S WITH CIRCUMFLEX - "\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S - "\xE0" => 0x00E0, // LATIN SMALL LETTER A WITH GRAVE - "\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE - "\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX - "\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS - "\xE5" => 0x010B, // LATIN SMALL LETTER C WITH DOT ABOVE - "\xE6" => 0x0109, // LATIN SMALL LETTER C WITH CIRCUMFLEX - "\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA - "\xE8" => 0x00E8, // LATIN SMALL LETTER E WITH GRAVE - "\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE - "\xEA" => 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX - "\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS - "\xEC" => 0x00EC, // LATIN SMALL LETTER I WITH GRAVE - "\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE - "\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX - "\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS - "\xF1" => 0x00F1, // LATIN SMALL LETTER N WITH TILDE - "\xF2" => 0x00F2, // LATIN SMALL LETTER O WITH GRAVE - "\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE - "\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX - "\xF5" => 0x0121, // LATIN SMALL LETTER G WITH DOT ABOVE - "\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS - "\xF7" => 0x00F7, // DIVISION SIGN - "\xF8" => 0x011D, // LATIN SMALL LETTER G WITH CIRCUMFLEX - "\xF9" => 0x00F9, // LATIN SMALL LETTER U WITH GRAVE - "\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE - "\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX - "\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS - "\xFD" => 0x016D, // LATIN SMALL LETTER U WITH BREVE - "\xFE" => 0x015D, // LATIN SMALL LETTER S WITH CIRCUMFLEX - "\xFF" => 0x02D9 // DOT ABOVE - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-4.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-4.inc.php deleted file mode 100644 index 55752687e..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-4.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x0104, // LATIN CAPITAL LETTER A WITH OGONEK -"\xA2" => 0x0138, // LATIN SMALL LETTER KRA -"\xA3" => 0x0156, // LATIN CAPITAL LETTER R WITH CEDILLA -"\xA4" => 0x00A4, // CURRENCY SIGN -"\xA5" => 0x0128, // LATIN CAPITAL LETTER I WITH TILDE -"\xA6" => 0x013B, // LATIN CAPITAL LETTER L WITH CEDILLA -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00A8, // DIAERESIS -"\xA9" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON -"\xAA" => 0x0112, // LATIN CAPITAL LETTER E WITH MACRON -"\xAB" => 0x0122, // LATIN CAPITAL LETTER G WITH CEDILLA -"\xAC" => 0x0166, // LATIN CAPITAL LETTER T WITH STROKE -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON -"\xAF" => 0x00AF, // MACRON -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x0105, // LATIN SMALL LETTER A WITH OGONEK -"\xB2" => 0x02DB, // OGONEK -"\xB3" => 0x0157, // LATIN SMALL LETTER R WITH CEDILLA -"\xB4" => 0x00B4, // ACUTE ACCENT -"\xB5" => 0x0129, // LATIN SMALL LETTER I WITH TILDE -"\xB6" => 0x013C, // LATIN SMALL LETTER L WITH CEDILLA -"\xB7" => 0x02C7, // CARON -"\xB8" => 0x00B8, // CEDILLA -"\xB9" => 0x0161, // LATIN SMALL LETTER S WITH CARON -"\xBA" => 0x0113, // LATIN SMALL LETTER E WITH MACRON -"\xBB" => 0x0123, // LATIN SMALL LETTER G WITH CEDILLA -"\xBC" => 0x0167, // LATIN SMALL LETTER T WITH STROKE -"\xBD" => 0x014A, // LATIN CAPITAL LETTER ENG -"\xBE" => 0x017E, // LATIN SMALL LETTER Z WITH CARON -"\xBF" => 0x014B, // LATIN SMALL LETTER ENG -"\xC0" => 0x0100, // LATIN CAPITAL LETTER A WITH MACRON -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x012E, // LATIN CAPITAL LETTER I WITH OGONEK -"\xC8" => 0x010C, // LATIN CAPITAL LETTER C WITH CARON -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x0118, // LATIN CAPITAL LETTER E WITH OGONEK -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x0116, // LATIN CAPITAL LETTER E WITH DOT ABOVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x012A, // LATIN CAPITAL LETTER I WITH MACRON -"\xD0" => 0x0110, // LATIN CAPITAL LETTER D WITH STROKE -"\xD1" => 0x0145, // LATIN CAPITAL LETTER N WITH CEDILLA -"\xD2" => 0x014C, // LATIN CAPITAL LETTER O WITH MACRON -"\xD3" => 0x0136, // LATIN CAPITAL LETTER K WITH CEDILLA -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x00D7, // MULTIPLICATION SIGN -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x0172, // LATIN CAPITAL LETTER U WITH OGONEK -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x0168, // LATIN CAPITAL LETTER U WITH TILDE -"\xDE" => 0x016A, // LATIN CAPITAL LETTER U WITH MACRON -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S -"\xE0" => 0x0101, // LATIN SMALL LETTER A WITH MACRON -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x012F, // LATIN SMALL LETTER I WITH OGONEK -"\xE8" => 0x010D, // LATIN SMALL LETTER C WITH CARON -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x0119, // LATIN SMALL LETTER E WITH OGONEK -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x0117, // LATIN SMALL LETTER E WITH DOT ABOVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x012B, // LATIN SMALL LETTER I WITH MACRON -"\xF0" => 0x0111, // LATIN SMALL LETTER D WITH STROKE -"\xF1" => 0x0146, // LATIN SMALL LETTER N WITH CEDILLA -"\xF2" => 0x014D, // LATIN SMALL LETTER O WITH MACRON -"\xF3" => 0x0137, // LATIN SMALL LETTER K WITH CEDILLA -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x00F7, // DIVISION SIGN -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x0173, // LATIN SMALL LETTER U WITH OGONEK -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x0169, // LATIN SMALL LETTER U WITH TILDE -"\xFE" => 0x016B, // LATIN SMALL LETTER U WITH MACRON -"\xFF" => 0x02D9 // DOT ABOVE - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-5.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-5.inc.php deleted file mode 100644 index ae0db435f..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-5.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x0401, // CYRILLIC CAPITAL LETTER IO -"\xA2" => 0x0402, // CYRILLIC CAPITAL LETTER DJE -"\xA3" => 0x0403, // CYRILLIC CAPITAL LETTER GJE -"\xA4" => 0x0404, // CYRILLIC CAPITAL LETTER UKRAINIAN IE -"\xA5" => 0x0405, // CYRILLIC CAPITAL LETTER DZE -"\xA6" => 0x0406, // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -"\xA7" => 0x0407, // CYRILLIC CAPITAL LETTER YI -"\xA8" => 0x0408, // CYRILLIC CAPITAL LETTER JE -"\xA9" => 0x0409, // CYRILLIC CAPITAL LETTER LJE -"\xAA" => 0x040A, // CYRILLIC CAPITAL LETTER NJE -"\xAB" => 0x040B, // CYRILLIC CAPITAL LETTER TSHE -"\xAC" => 0x040C, // CYRILLIC CAPITAL LETTER KJE -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x040E, // CYRILLIC CAPITAL LETTER SHORT U -"\xAF" => 0x040F, // CYRILLIC CAPITAL LETTER DZHE -"\xB0" => 0x0410, // CYRILLIC CAPITAL LETTER A -"\xB1" => 0x0411, // CYRILLIC CAPITAL LETTER BE -"\xB2" => 0x0412, // CYRILLIC CAPITAL LETTER VE -"\xB3" => 0x0413, // CYRILLIC CAPITAL LETTER GHE -"\xB4" => 0x0414, // CYRILLIC CAPITAL LETTER DE -"\xB5" => 0x0415, // CYRILLIC CAPITAL LETTER IE -"\xB6" => 0x0416, // CYRILLIC CAPITAL LETTER ZHE -"\xB7" => 0x0417, // CYRILLIC CAPITAL LETTER ZE -"\xB8" => 0x0418, // CYRILLIC CAPITAL LETTER I -"\xB9" => 0x0419, // CYRILLIC CAPITAL LETTER SHORT I -"\xBA" => 0x041A, // CYRILLIC CAPITAL LETTER KA -"\xBB" => 0x041B, // CYRILLIC CAPITAL LETTER EL -"\xBC" => 0x041C, // CYRILLIC CAPITAL LETTER EM -"\xBD" => 0x041D, // CYRILLIC CAPITAL LETTER EN -"\xBE" => 0x041E, // CYRILLIC CAPITAL LETTER O -"\xBF" => 0x041F, // CYRILLIC CAPITAL LETTER PE -"\xC0" => 0x0420, // CYRILLIC CAPITAL LETTER ER -"\xC1" => 0x0421, // CYRILLIC CAPITAL LETTER ES -"\xC2" => 0x0422, // CYRILLIC CAPITAL LETTER TE -"\xC3" => 0x0423, // CYRILLIC CAPITAL LETTER U -"\xC4" => 0x0424, // CYRILLIC CAPITAL LETTER EF -"\xC5" => 0x0425, // CYRILLIC CAPITAL LETTER HA -"\xC6" => 0x0426, // CYRILLIC CAPITAL LETTER TSE -"\xC7" => 0x0427, // CYRILLIC CAPITAL LETTER CHE -"\xC8" => 0x0428, // CYRILLIC CAPITAL LETTER SHA -"\xC9" => 0x0429, // CYRILLIC CAPITAL LETTER SHCHA -"\xCA" => 0x042A, // CYRILLIC CAPITAL LETTER HARD SIGN -"\xCB" => 0x042B, // CYRILLIC CAPITAL LETTER YERU -"\xCC" => 0x042C, // CYRILLIC CAPITAL LETTER SOFT SIGN -"\xCD" => 0x042D, // CYRILLIC CAPITAL LETTER E -"\xCE" => 0x042E, // CYRILLIC CAPITAL LETTER YU -"\xCF" => 0x042F, // CYRILLIC CAPITAL LETTER YA -"\xD0" => 0x0430, // CYRILLIC SMALL LETTER A -"\xD1" => 0x0431, // CYRILLIC SMALL LETTER BE -"\xD2" => 0x0432, // CYRILLIC SMALL LETTER VE -"\xD3" => 0x0433, // CYRILLIC SMALL LETTER GHE -"\xD4" => 0x0434, // CYRILLIC SMALL LETTER DE -"\xD5" => 0x0435, // CYRILLIC SMALL LETTER IE -"\xD6" => 0x0436, // CYRILLIC SMALL LETTER ZHE -"\xD7" => 0x0437, // CYRILLIC SMALL LETTER ZE -"\xD8" => 0x0438, // CYRILLIC SMALL LETTER I -"\xD9" => 0x0439, // CYRILLIC SMALL LETTER SHORT I -"\xDA" => 0x043A, // CYRILLIC SMALL LETTER KA -"\xDB" => 0x043B, // CYRILLIC SMALL LETTER EL -"\xDC" => 0x043C, // CYRILLIC SMALL LETTER EM -"\xDD" => 0x043D, // CYRILLIC SMALL LETTER EN -"\xDE" => 0x043E, // CYRILLIC SMALL LETTER O -"\xDF" => 0x043F, // CYRILLIC SMALL LETTER PE -"\xE0" => 0x0440, // CYRILLIC SMALL LETTER ER -"\xE1" => 0x0441, // CYRILLIC SMALL LETTER ES -"\xE2" => 0x0442, // CYRILLIC SMALL LETTER TE -"\xE3" => 0x0443, // CYRILLIC SMALL LETTER U -"\xE4" => 0x0444, // CYRILLIC SMALL LETTER EF -"\xE5" => 0x0445, // CYRILLIC SMALL LETTER HA -"\xE6" => 0x0446, // CYRILLIC SMALL LETTER TSE -"\xE7" => 0x0447, // CYRILLIC SMALL LETTER CHE -"\xE8" => 0x0448, // CYRILLIC SMALL LETTER SHA -"\xE9" => 0x0449, // CYRILLIC SMALL LETTER SHCHA -"\xEA" => 0x044A, // CYRILLIC SMALL LETTER HARD SIGN -"\xEB" => 0x044B, // CYRILLIC SMALL LETTER YERU -"\xEC" => 0x044C, // CYRILLIC SMALL LETTER SOFT SIGN -"\xED" => 0x044D, // CYRILLIC SMALL LETTER E -"\xEE" => 0x044E, // CYRILLIC SMALL LETTER YU -"\xEF" => 0x044F, // CYRILLIC SMALL LETTER YA -"\xF0" => 0x2116, // NUMERO SIGN -"\xF1" => 0x0451, // CYRILLIC SMALL LETTER IO -"\xF2" => 0x0452, // CYRILLIC SMALL LETTER DJE -"\xF3" => 0x0453, // CYRILLIC SMALL LETTER GJE -"\xF4" => 0x0454, // CYRILLIC SMALL LETTER UKRAINIAN IE -"\xF5" => 0x0455, // CYRILLIC SMALL LETTER DZE -"\xF6" => 0x0456, // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -"\xF7" => 0x0457, // CYRILLIC SMALL LETTER YI -"\xF8" => 0x0458, // CYRILLIC SMALL LETTER JE -"\xF9" => 0x0459, // CYRILLIC SMALL LETTER LJE -"\xFA" => 0x045A, // CYRILLIC SMALL LETTER NJE -"\xFB" => 0x045B, // CYRILLIC SMALL LETTER TSHE -"\xFC" => 0x045C, // CYRILLIC SMALL LETTER KJE -"\xFD" => 0x00A7, // SECTION SIGN -"\xFE" => 0x045E, // CYRILLIC SMALL LETTER SHORT U -"\xFF" => 0x045F // CYRILLIC SMALL LETTER DZHE - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-6.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-6.inc.php deleted file mode 100644 index ded880064..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-6.inc.php +++ /dev/null @@ -1,152 +0,0 @@ - 0x0020, // SPACE - "\x21" => 0x0021, // EXCLAMATION MARK - "\x22" => 0x0022, // QUOTATION MARK - "\x23" => 0x0023, // NUMBER SIGN - "\x24" => 0x0024, // DOLLAR SIGN - "\x25" => 0x0025, // PERCENT SIGN - "\x26" => 0x0026, // AMPERSAND - "\x27" => 0x0027, // APOSTROPHE - "\x28" => 0x0028, // LEFT PARENTHESIS - "\x29" => 0x0029, // RIGHT PARENTHESIS - "\x2A" => 0x002A, // ASTERISK - "\x2B" => 0x002B, // PLUS SIGN - "\x2C" => 0x002C, // COMMA - "\x2D" => 0x002D, // HYPHEN-MINUS - "\x2E" => 0x002E, // FULL STOP - "\x2F" => 0x002F, // SOLIDUS - "\x30" => 0x0030, // DIGIT ZERO - "\x31" => 0x0031, // DIGIT ONE - "\x32" => 0x0032, // DIGIT TWO - "\x33" => 0x0033, // DIGIT THREE - "\x34" => 0x0034, // DIGIT FOUR - "\x35" => 0x0035, // DIGIT FIVE - "\x36" => 0x0036, // DIGIT SIX - "\x37" => 0x0037, // DIGIT SEVEN - "\x38" => 0x0038, // DIGIT EIGHT - "\x39" => 0x0039, // DIGIT NINE - "\x3A" => 0x003A, // COLON - "\x3B" => 0x003B, // SEMICOLON - "\x3C" => 0x003C, // LESS-THAN SIGN - "\x3D" => 0x003D, // EQUALS SIGN - "\x3E" => 0x003E, // GREATER-THAN SIGN - "\x3F" => 0x003F, // QUESTION MARK - "\x40" => 0x0040, // COMMERCIAL AT - "\x41" => 0x0041, // LATIN CAPITAL LETTER A - "\x42" => 0x0042, // LATIN CAPITAL LETTER B - "\x43" => 0x0043, // LATIN CAPITAL LETTER C - "\x44" => 0x0044, // LATIN CAPITAL LETTER D - "\x45" => 0x0045, // LATIN CAPITAL LETTER E - "\x46" => 0x0046, // LATIN CAPITAL LETTER F - "\x47" => 0x0047, // LATIN CAPITAL LETTER G - "\x48" => 0x0048, // LATIN CAPITAL LETTER H - "\x49" => 0x0049, // LATIN CAPITAL LETTER I - "\x4A" => 0x004A, // LATIN CAPITAL LETTER J - "\x4B" => 0x004B, // LATIN CAPITAL LETTER K - "\x4C" => 0x004C, // LATIN CAPITAL LETTER L - "\x4D" => 0x004D, // LATIN CAPITAL LETTER M - "\x4E" => 0x004E, // LATIN CAPITAL LETTER N - "\x4F" => 0x004F, // LATIN CAPITAL LETTER O - "\x50" => 0x0050, // LATIN CAPITAL LETTER P - "\x51" => 0x0051, // LATIN CAPITAL LETTER Q - "\x52" => 0x0052, // LATIN CAPITAL LETTER R - "\x53" => 0x0053, // LATIN CAPITAL LETTER S - "\x54" => 0x0054, // LATIN CAPITAL LETTER T - "\x55" => 0x0055, // LATIN CAPITAL LETTER U - "\x56" => 0x0056, // LATIN CAPITAL LETTER V - "\x57" => 0x0057, // LATIN CAPITAL LETTER W - "\x58" => 0x0058, // LATIN CAPITAL LETTER X - "\x59" => 0x0059, // LATIN CAPITAL LETTER Y - "\x5A" => 0x005A, // LATIN CAPITAL LETTER Z - "\x5B" => 0x005B, // LEFT SQUARE BRACKET - "\x5C" => 0x005C, // REVERSE SOLIDUS - "\x5D" => 0x005D, // RIGHT SQUARE BRACKET - "\x5E" => 0x005E, // CIRCUMFLEX ACCENT - "\x5F" => 0x005F, // LOW LINE - "\x60" => 0x0060, // GRAVE ACCENT - "\x61" => 0x0061, // LATIN SMALL LETTER A - "\x62" => 0x0062, // LATIN SMALL LETTER B - "\x63" => 0x0063, // LATIN SMALL LETTER C - "\x64" => 0x0064, // LATIN SMALL LETTER D - "\x65" => 0x0065, // LATIN SMALL LETTER E - "\x66" => 0x0066, // LATIN SMALL LETTER F - "\x67" => 0x0067, // LATIN SMALL LETTER G - "\x68" => 0x0068, // LATIN SMALL LETTER H - "\x69" => 0x0069, // LATIN SMALL LETTER I - "\x6A" => 0x006A, // LATIN SMALL LETTER J - "\x6B" => 0x006B, // LATIN SMALL LETTER K - "\x6C" => 0x006C, // LATIN SMALL LETTER L - "\x6D" => 0x006D, // LATIN SMALL LETTER M - "\x6E" => 0x006E, // LATIN SMALL LETTER N - "\x6F" => 0x006F, // LATIN SMALL LETTER O - "\x70" => 0x0070, // LATIN SMALL LETTER P - "\x71" => 0x0071, // LATIN SMALL LETTER Q - "\x72" => 0x0072, // LATIN SMALL LETTER R - "\x73" => 0x0073, // LATIN SMALL LETTER S - "\x74" => 0x0074, // LATIN SMALL LETTER T - "\x75" => 0x0075, // LATIN SMALL LETTER U - "\x76" => 0x0076, // LATIN SMALL LETTER V - "\x77" => 0x0077, // LATIN SMALL LETTER W - "\x78" => 0x0078, // LATIN SMALL LETTER X - "\x79" => 0x0079, // LATIN SMALL LETTER Y - "\x7A" => 0x007A, // LATIN SMALL LETTER Z - "\x7B" => 0x007B, // LEFT CURLY BRACKET - "\x7C" => 0x007C, // VERTICAL LINE - "\x7D" => 0x007D, // RIGHT CURLY BRACKET - "\x7E" => 0x007E, // TILDE - "\xA0" => 0x00A0, // NO-BREAK SPACE - "\xA4" => 0x00A4, // CURRENCY SIGN - "\xAC" => 0x060C, // ARABIC COMMA - "\xAD" => 0x00AD, // SOFT HYPHEN - "\xBB" => 0x061B, // ARABIC SEMICOLON - "\xBF" => 0x061F, // ARABIC QUESTION MARK - "\xC1" => 0x0621, // ARABIC LETTER HAMZA - "\xC2" => 0x0622, // ARABIC LETTER ALEF WITH MADDA ABOVE - "\xC3" => 0x0623, // ARABIC LETTER ALEF WITH HAMZA ABOVE - "\xC4" => 0x0624, // ARABIC LETTER WAW WITH HAMZA ABOVE - "\xC5" => 0x0625, // ARABIC LETTER ALEF WITH HAMZA BELOW - "\xC6" => 0x0626, // ARABIC LETTER YEH WITH HAMZA ABOVE - "\xC7" => 0x0627, // ARABIC LETTER ALEF - "\xC8" => 0x0628, // ARABIC LETTER BEH - "\xC9" => 0x0629, // ARABIC LETTER TEH MARBUTA - "\xCA" => 0x062A, // ARABIC LETTER TEH - "\xCB" => 0x062B, // ARABIC LETTER THEH - "\xCC" => 0x062C, // ARABIC LETTER JEEM - "\xCD" => 0x062D, // ARABIC LETTER HAH - "\xCE" => 0x062E, // ARABIC LETTER KHAH - "\xCF" => 0x062F, // ARABIC LETTER DAL - "\xD0" => 0x0630, // ARABIC LETTER THAL - "\xD1" => 0x0631, // ARABIC LETTER REH - "\xD2" => 0x0632, // ARABIC LETTER ZAIN - "\xD3" => 0x0633, // ARABIC LETTER SEEN - "\xD4" => 0x0634, // ARABIC LETTER SHEEN - "\xD5" => 0x0635, // ARABIC LETTER SAD - "\xD6" => 0x0636, // ARABIC LETTER DAD - "\xD7" => 0x0637, // ARABIC LETTER TAH - "\xD8" => 0x0638, // ARABIC LETTER ZAH - "\xD9" => 0x0639, // ARABIC LETTER AIN - "\xDA" => 0x063A, // ARABIC LETTER GHAIN - "\xE0" => 0x0640, // ARABIC TATWEEL - "\xE1" => 0x0641, // ARABIC LETTER FEH - "\xE2" => 0x0642, // ARABIC LETTER QAF - "\xE3" => 0x0643, // ARABIC LETTER KAF - "\xE4" => 0x0644, // ARABIC LETTER LAM - "\xE5" => 0x0645, // ARABIC LETTER MEEM - "\xE6" => 0x0646, // ARABIC LETTER NOON - "\xE7" => 0x0647, // ARABIC LETTER HEH - "\xE8" => 0x0648, // ARABIC LETTER WAW - "\xE9" => 0x0649, // ARABIC LETTER ALEF MAKSURA - "\xEA" => 0x064A, // ARABIC LETTER YEH - "\xEB" => 0x064B, // ARABIC FATHATAN - "\xEC" => 0x064C, // ARABIC DAMMATAN - "\xED" => 0x064D, // ARABIC KASRATAN - "\xEE" => 0x064E, // ARABIC FATHA - "\xEF" => 0x064F, // ARABIC DAMMA - "\xF0" => 0x0650, // ARABIC KASRA - "\xF1" => 0x0651, // ARABIC SHADDA - "\xF2" => 0x0652 // ARABIC SUKUN -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-7.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-7.inc.php deleted file mode 100644 index 5cfff56ac..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-7.inc.php +++ /dev/null @@ -1,259 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x2018, // LEFT SINGLE QUOTATION MARK -"\xA2" => 0x2019, // RIGHT SINGLE QUOTATION MARK -"\xA3" => 0x00A3, // POUND SIGN - // "\xA4" => 0x20AC, // EURO SIGN (missing in PDFLIB codepages) -"\xA5" => 0x20AF, // DRACHMA SIGN -"\xA6" => 0x00A6, // BROKEN BAR -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00A8, // DIAERESIS -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x037A, // GREEK YPOGEGRAMMENI -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAF" => 0x2015, // HORIZONTAL BAR -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x0384, // GREEK TONOS -"\xB5" => 0x0385, // GREEK DIALYTIKA TONOS -"\xB6" => 0x0386, // GREEK CAPITAL LETTER ALPHA WITH TONOS -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x0388, // GREEK CAPITAL LETTER EPSILON WITH TONOS -"\xB9" => 0x0389, // GREEK CAPITAL LETTER ETA WITH TONOS -"\xBA" => 0x038A, // GREEK CAPITAL LETTER IOTA WITH TONOS -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x038C, // GREEK CAPITAL LETTER OMICRON WITH TONOS -"\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF -"\xBE" => 0x038E, // GREEK CAPITAL LETTER UPSILON WITH TONOS -"\xBF" => 0x038F, // GREEK CAPITAL LETTER OMEGA WITH TONOS -"\xC0" => 0x0390, // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -"\xC1" => 0x0391, // GREEK CAPITAL LETTER ALPHA -"\xC2" => 0x0392, // GREEK CAPITAL LETTER BETA -"\xC3" => 0x0393, // GREEK CAPITAL LETTER GAMMA -"\xC4" => 0x0394, // GREEK CAPITAL LETTER DELTA -"\xC5" => 0x0395, // GREEK CAPITAL LETTER EPSILON -"\xC6" => 0x0396, // GREEK CAPITAL LETTER ZETA -"\xC7" => 0x0397, // GREEK CAPITAL LETTER ETA -"\xC8" => 0x0398, // GREEK CAPITAL LETTER THETA -"\xC9" => 0x0399, // GREEK CAPITAL LETTER IOTA -"\xCA" => 0x039A, // GREEK CAPITAL LETTER KAPPA -"\xCB" => 0x039B, // GREEK CAPITAL LETTER LAMDA -"\xCC" => 0x039C, // GREEK CAPITAL LETTER MU -"\xCD" => 0x039D, // GREEK CAPITAL LETTER NU -"\xCE" => 0x039E, // GREEK CAPITAL LETTER XI -"\xCF" => 0x039F, // GREEK CAPITAL LETTER OMICRON -"\xD0" => 0x03A0, // GREEK CAPITAL LETTER PI -"\xD1" => 0x03A1, // GREEK CAPITAL LETTER RHO -"\xD3" => 0x03A3, // GREEK CAPITAL LETTER SIGMA -"\xD4" => 0x03A4, // GREEK CAPITAL LETTER TAU -"\xD5" => 0x03A5, // GREEK CAPITAL LETTER UPSILON -"\xD6" => 0x03A6, // GREEK CAPITAL LETTER PHI -"\xD7" => 0x03A7, // GREEK CAPITAL LETTER CHI -"\xD8" => 0x03A8, // GREEK CAPITAL LETTER PSI -"\xD9" => 0x03A9, // GREEK CAPITAL LETTER OMEGA -"\xDA" => 0x03AA, // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -"\xDB" => 0x03AB, // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -"\xDC" => 0x03AC, // GREEK SMALL LETTER ALPHA WITH TONOS -"\xDD" => 0x03AD, // GREEK SMALL LETTER EPSILON WITH TONOS -"\xDE" => 0x03AE, // GREEK SMALL LETTER ETA WITH TONOS -"\xDF" => 0x03AF, // GREEK SMALL LETTER IOTA WITH TONOS -"\xE0" => 0x03B0, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -"\xE1" => 0x03B1, // GREEK SMALL LETTER ALPHA -"\xE2" => 0x03B2, // GREEK SMALL LETTER BETA -"\xE3" => 0x03B3, // GREEK SMALL LETTER GAMMA -"\xE4" => 0x03B4, // GREEK SMALL LETTER DELTA -"\xE5" => 0x03B5, // GREEK SMALL LETTER EPSILON -"\xE6" => 0x03B6, // GREEK SMALL LETTER ZETA -"\xE7" => 0x03B7, // GREEK SMALL LETTER ETA -"\xE8" => 0x03B8, // GREEK SMALL LETTER THETA -"\xE9" => 0x03B9, // GREEK SMALL LETTER IOTA -"\xEA" => 0x03BA, // GREEK SMALL LETTER KAPPA -"\xEB" => 0x03BB, // GREEK SMALL LETTER LAMDA -"\xEC" => 0x03BC, // GREEK SMALL LETTER MU -"\xED" => 0x03BD, // GREEK SMALL LETTER NU -"\xEE" => 0x03BE, // GREEK SMALL LETTER XI -"\xEF" => 0x03BF, // GREEK SMALL LETTER OMICRON -"\xF0" => 0x03C0, // GREEK SMALL LETTER PI -"\xF1" => 0x03C1, // GREEK SMALL LETTER RHO -"\xF2" => 0x03C2, // GREEK SMALL LETTER FINAL SIGMA -"\xF3" => 0x03C3, // GREEK SMALL LETTER SIGMA -"\xF4" => 0x03C4, // GREEK SMALL LETTER TAU -"\xF5" => 0x03C5, // GREEK SMALL LETTER UPSILON -"\xF6" => 0x03C6, // GREEK SMALL LETTER PHI -"\xF7" => 0x03C7, // GREEK SMALL LETTER CHI -"\xF8" => 0x03C8, // GREEK SMALL LETTER PSI -"\xF9" => 0x03C9, // GREEK SMALL LETTER OMEGA -"\xFA" => 0x03CA, // GREEK SMALL LETTER IOTA WITH DIALYTIKA -"\xFB" => 0x03CB, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA -"\xFC" => 0x03CC, // GREEK SMALL LETTER OMICRON WITH TONOS -"\xFD" => 0x03CD, // GREEK SMALL LETTER UPSILON WITH TONOS -"\xFE" => 0x03CE // GREEK SMALL LETTER OMEGA WITH TONOS -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-8.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-8.inc.php deleted file mode 100644 index bb058c4ad..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-8.inc.php +++ /dev/null @@ -1,160 +0,0 @@ - 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA2" => 0x00A2, // CENT SIGN -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x00A4, // CURRENCY SIGN -"\xA5" => 0x00A5, // YEN SIGN -"\xA6" => 0x00A6, // BROKEN BAR -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00A8, // DIAERESIS -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x00D7, // MULTIPLICATION SIGN -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x203E, // OVERLINE -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x00B4, // ACUTE ACCENT -"\xB5" => 0x00B5, // MICRO SIGN -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x00B8, // CEDILLA -"\xB9" => 0x00B9, // SUPERSCRIPT ONE -"\xBA" => 0x00F7, // DIVISION SIGN -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x00BC, // VULGAR FRACTION ONE QUARTER -"\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF -"\xBE" => 0x00BE, // VULGAR FRACTION THREE QUARTERS -"\xDF" => 0x2017, // DOUBLE LOW LINE -"\xE0" => 0x05D0, // HEBREW LETTER ALEF -"\xE1" => 0x05D1, // HEBREW LETTER BET -"\xE2" => 0x05D2, // HEBREW LETTER GIMEL -"\xE3" => 0x05D3, // HEBREW LETTER DALET -"\xE4" => 0x05D4, // HEBREW LETTER HE -"\xE5" => 0x05D5, // HEBREW LETTER VAV -"\xE6" => 0x05D6, // HEBREW LETTER ZAYIN -"\xE7" => 0x05D7, // HEBREW LETTER HET -"\xE8" => 0x05D8, // HEBREW LETTER TET -"\xE9" => 0x05D9, // HEBREW LETTER YOD -"\xEA" => 0x05DA, // HEBREW LETTER FINAL KAF -"\xEB" => 0x05DB, // HEBREW LETTER KAF -"\xEC" => 0x05DC, // HEBREW LETTER LAMED !236 : 750, 463 -"\xED" => 0x05DD, // HEBREW LETTER FINAL MEM -"\xEE" => 0x05DE, // HEBREW LETTER MEM -"\xEF" => 0x05DF, // HEBREW LETTER FINAL NUN -"\xF0" => 0x05E0, // HEBREW LETTER NUN -"\xF1" => 0x05E1, // HEBREW LETTER SAMEKH -"\xF2" => 0x05E2, // HEBREW LETTER AYIN -"\xF3" => 0x05E3, // HEBREW LETTER FINAL PE -"\xF4" => 0x05E4, // HEBREW LETTER PE -"\xF5" => 0x05E5, // HEBREW LETTER FINAL TSADI -"\xF6" => 0x05E6, // HEBREW LETTER TSADI -"\xF7" => 0x05E7, // HEBREW LETTER QOF -"\xF8" => 0x05E8, // HEBREW LETTER RESH -"\xF9" => 0x05E9, // HEBREW LETTER SHIN -"\xFA" => 0x05EA // HEBREW LETTER TAV -); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.iso-8859-9.inc.php b/thirdparty/html2ps_pdf/encoding.iso-8859-9.inc.php deleted file mode 100644 index dd7656f25..000000000 --- a/thirdparty/html2ps_pdf/encoding.iso-8859-9.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x0080, // -"\x81" => 0x0081, // -"\x82" => 0x0082, // -"\x83" => 0x0083, // -"\x84" => 0x0084, // -"\x85" => 0x0085, // -"\x86" => 0x0086, // -"\x87" => 0x0087, // -"\x88" => 0x0088, // -"\x89" => 0x0089, // -"\x8A" => 0x008A, // -"\x8B" => 0x008B, // -"\x8C" => 0x008C, // -"\x8D" => 0x008D, // -"\x8E" => 0x008E, // -"\x8F" => 0x008F, // -"\x90" => 0x0090, // -"\x91" => 0x0091, // -"\x92" => 0x0092, // -"\x93" => 0x0093, // -"\x94" => 0x0094, // -"\x95" => 0x0095, // -"\x96" => 0x0096, // -"\x97" => 0x0097, // -"\x98" => 0x0098, // -"\x99" => 0x0099, // -"\x9A" => 0x009A, // -"\x9B" => 0x009B, // -"\x9C" => 0x009C, // -"\x9D" => 0x009D, // -"\x9E" => 0x009E, // -"\x9F" => 0x009F, // -"\xA0" => 0x00A0, // NO-BREAK SPACE -"\xA1" => 0x00A1, // INVERTED EXCLAMATION MARK -"\xA2" => 0x00A2, // CENT SIGN -"\xA3" => 0x00A3, // POUND SIGN -"\xA4" => 0x00A4, // CURRENCY SIGN -"\xA5" => 0x00A5, // YEN SIGN -"\xA6" => 0x00A6, // BROKEN BAR -"\xA7" => 0x00A7, // SECTION SIGN -"\xA8" => 0x00A8, // DIAERESIS -"\xA9" => 0x00A9, // COPYRIGHT SIGN -"\xAA" => 0x00AA, // FEMININE ORDINAL INDICATOR -"\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, // NOT SIGN -"\xAD" => 0x00AD, // SOFT HYPHEN -"\xAE" => 0x00AE, // REGISTERED SIGN -"\xAF" => 0x00AF, // MACRON -"\xB0" => 0x00B0, // DEGREE SIGN -"\xB1" => 0x00B1, // PLUS-MINUS SIGN -"\xB2" => 0x00B2, // SUPERSCRIPT TWO -"\xB3" => 0x00B3, // SUPERSCRIPT THREE -"\xB4" => 0x00B4, // ACUTE ACCENT -"\xB5" => 0x00B5, // MICRO SIGN -"\xB6" => 0x00B6, // PILCROW SIGN -"\xB7" => 0x00B7, // MIDDLE DOT -"\xB8" => 0x00B8, // CEDILLA -"\xB9" => 0x00B9, // SUPERSCRIPT ONE -"\xBA" => 0x00BA, // MASCULINE ORDINAL INDICATOR -"\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x00BC, // VULGAR FRACTION ONE QUARTER -"\xBD" => 0x00BD, // VULGAR FRACTION ONE HALF -"\xBE" => 0x00BE, // VULGAR FRACTION THREE QUARTERS -"\xBF" => 0x00BF, // INVERTED QUESTION MARK -"\xC0" => 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE -"\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE -"\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX -"\xC3" => 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE -"\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS -"\xC5" => 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE -"\xC6" => 0x00C6, // LATIN CAPITAL LETTER AE -"\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA -"\xC8" => 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE -"\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE -"\xCA" => 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX -"\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS -"\xCC" => 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE -"\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE -"\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX -"\xCF" => 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS -"\xD0" => 0x011E, // LATIN CAPITAL LETTER G WITH BREVE -"\xD1" => 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE -"\xD2" => 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE -"\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE -"\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX -"\xD5" => 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE -"\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS -"\xD7" => 0x00D7, // MULTIPLICATION SIGN -"\xD8" => 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE -"\xD9" => 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE -"\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE -"\xDB" => 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX -"\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS -"\xDD" => 0x0130, // LATIN CAPITAL LETTER I WITH DOT ABOVE -"\xDE" => 0x015E, // LATIN CAPITAL LETTER S WITH CEDILLA -"\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S -"\xE0" => 0x00E0, // LATIN SMALL LETTER A WITH GRAVE -"\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE -"\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX -"\xE3" => 0x00E3, // LATIN SMALL LETTER A WITH TILDE -"\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS -"\xE5" => 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE -"\xE6" => 0x00E6, // LATIN SMALL LETTER AE -"\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA -"\xE8" => 0x00E8, // LATIN SMALL LETTER E WITH GRAVE -"\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE -"\xEA" => 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX -"\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS -"\xEC" => 0x00EC, // LATIN SMALL LETTER I WITH GRAVE -"\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE -"\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX -"\xEF" => 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS -"\xF0" => 0x011F, // LATIN SMALL LETTER G WITH BREVE -"\xF1" => 0x00F1, // LATIN SMALL LETTER N WITH TILDE -"\xF2" => 0x00F2, // LATIN SMALL LETTER O WITH GRAVE -"\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE -"\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX -"\xF5" => 0x00F5, // LATIN SMALL LETTER O WITH TILDE -"\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS -"\xF7" => 0x00F7, // DIVISION SIGN -"\xF8" => 0x00F8, // LATIN SMALL LETTER O WITH STROKE -"\xF9" => 0x00F9, // LATIN SMALL LETTER U WITH GRAVE -"\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE -"\xFB" => 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX -"\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS -"\xFD" => 0x0131, // LATIN SMALL LETTER DOTLESS I -"\xFE" => 0x015F, // LATIN SMALL LETTER S WITH CEDILLA -"\xFF" => 0x00FF // LATIN SMALL LETTER Y WITH DIAERESIS - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.koi8-r.inc.php b/thirdparty/html2ps_pdf/encoding.koi8-r.inc.php deleted file mode 100644 index 9daafbfa5..000000000 --- a/thirdparty/html2ps_pdf/encoding.koi8-r.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL -"\x01" => 0x0001, // START OF HEADING -"\x02" => 0x0002, // START OF TEXT -"\x03" => 0x0003, // END OF TEXT -"\x04" => 0x0004, // END OF TRANSMISSION -"\x05" => 0x0005, // ENQUIRY -"\x06" => 0x0006, // ACKNOWLEDGE -"\x07" => 0x0007, // BELL -"\x08" => 0x0008, // BACKSPACE -"\x09" => 0x0009, // HORIZONTAL TABULATION -"\x0A" => 0x000A, // LINE FEED -"\x0B" => 0x000B, // VERTICAL TABULATION -"\x0C" => 0x000C, // FORM FEED -"\x0D" => 0x000D, // CARRIAGE RETURN -"\x0E" => 0x000E, // SHIFT OUT -"\x0F" => 0x000F, // SHIFT IN -"\x10" => 0x0010, // DATA LINK ESCAPE -"\x11" => 0x0011, // DEVICE CONTROL ONE -"\x12" => 0x0012, // DEVICE CONTROL TWO -"\x13" => 0x0013, // DEVICE CONTROL THREE -"\x14" => 0x0014, // DEVICE CONTROL FOUR -"\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, // SYNCHRONOUS IDLE -"\x17" => 0x0017, // END OF TRANSMISSION BLOCK -"\x18" => 0x0018, // CANCEL -"\x19" => 0x0019, // END OF MEDIUM -"\x1A" => 0x001A, // SUBSTITUTE -"\x1B" => 0x001B, // ESCAPE -"\x1C" => 0x001C, // FILE SEPARATOR -"\x1D" => 0x001D, // GROUP SEPARATOR -"\x1E" => 0x001E, // RECORD SEPARATOR -"\x1F" => 0x001F, // UNIT SEPARATOR -"\x20" => 0x0020, // SPACE -"\x21" => 0x0021, // EXCLAMATION MARK -"\x22" => 0x0022, // QUOTATION MARK -"\x23" => 0x0023, // NUMBER SIGN -"\x24" => 0x0024, // DOLLAR SIGN -"\x25" => 0x0025, // PERCENT SIGN -"\x26" => 0x0026, // AMPERSAND -"\x27" => 0x0027, // APOSTROPHE -"\x28" => 0x0028, // LEFT PARENTHESIS -"\x29" => 0x0029, // RIGHT PARENTHESIS -"\x2A" => 0x002A, // ASTERISK -"\x2B" => 0x002B, // PLUS SIGN -"\x2C" => 0x002C, // COMMA -"\x2D" => 0x002D, // HYPHEN-MINUS -"\x2E" => 0x002E, // FULL STOP -"\x2F" => 0x002F, // SOLIDUS -"\x30" => 0x0030, // DIGIT ZERO -"\x31" => 0x0031, // DIGIT ONE -"\x32" => 0x0032, // DIGIT TWO -"\x33" => 0x0033, // DIGIT THREE -"\x34" => 0x0034, // DIGIT FOUR -"\x35" => 0x0035, // DIGIT FIVE -"\x36" => 0x0036, // DIGIT SIX -"\x37" => 0x0037, // DIGIT SEVEN -"\x38" => 0x0038, // DIGIT EIGHT -"\x39" => 0x0039, // DIGIT NINE -"\x3A" => 0x003A, // COLON -"\x3B" => 0x003B, // SEMICOLON -"\x3C" => 0x003C, // LESS-THAN SIGN -"\x3D" => 0x003D, // EQUALS SIGN -"\x3E" => 0x003E, // GREATER-THAN SIGN -"\x3F" => 0x003F, // QUESTION MARK -"\x40" => 0x0040, // COMMERCIAL AT -"\x41" => 0x0041, // LATIN CAPITAL LETTER A -"\x42" => 0x0042, // LATIN CAPITAL LETTER B -"\x43" => 0x0043, // LATIN CAPITAL LETTER C -"\x44" => 0x0044, // LATIN CAPITAL LETTER D -"\x45" => 0x0045, // LATIN CAPITAL LETTER E -"\x46" => 0x0046, // LATIN CAPITAL LETTER F -"\x47" => 0x0047, // LATIN CAPITAL LETTER G -"\x48" => 0x0048, // LATIN CAPITAL LETTER H -"\x49" => 0x0049, // LATIN CAPITAL LETTER I -"\x4A" => 0x004A, // LATIN CAPITAL LETTER J -"\x4B" => 0x004B, // LATIN CAPITAL LETTER K -"\x4C" => 0x004C, // LATIN CAPITAL LETTER L -"\x4D" => 0x004D, // LATIN CAPITAL LETTER M -"\x4E" => 0x004E, // LATIN CAPITAL LETTER N -"\x4F" => 0x004F, // LATIN CAPITAL LETTER O -"\x50" => 0x0050, // LATIN CAPITAL LETTER P -"\x51" => 0x0051, // LATIN CAPITAL LETTER Q -"\x52" => 0x0052, // LATIN CAPITAL LETTER R -"\x53" => 0x0053, // LATIN CAPITAL LETTER S -"\x54" => 0x0054, // LATIN CAPITAL LETTER T -"\x55" => 0x0055, // LATIN CAPITAL LETTER U -"\x56" => 0x0056, // LATIN CAPITAL LETTER V -"\x57" => 0x0057, // LATIN CAPITAL LETTER W -"\x58" => 0x0058, // LATIN CAPITAL LETTER X -"\x59" => 0x0059, // LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, // LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, // LEFT SQUARE BRACKET -"\x5C" => 0x005C, // REVERSE SOLIDUS -"\x5D" => 0x005D, // RIGHT SQUARE BRACKET -"\x5E" => 0x005E, // CIRCUMFLEX ACCENT -"\x5F" => 0x005F, // LOW LINE -"\x60" => 0x0060, // GRAVE ACCENT -"\x61" => 0x0061, // LATIN SMALL LETTER A -"\x62" => 0x0062, // LATIN SMALL LETTER B -"\x63" => 0x0063, // LATIN SMALL LETTER C -"\x64" => 0x0064, // LATIN SMALL LETTER D -"\x65" => 0x0065, // LATIN SMALL LETTER E -"\x66" => 0x0066, // LATIN SMALL LETTER F -"\x67" => 0x0067, // LATIN SMALL LETTER G -"\x68" => 0x0068, // LATIN SMALL LETTER H -"\x69" => 0x0069, // LATIN SMALL LETTER I -"\x6A" => 0x006A, // LATIN SMALL LETTER J -"\x6B" => 0x006B, // LATIN SMALL LETTER K -"\x6C" => 0x006C, // LATIN SMALL LETTER L -"\x6D" => 0x006D, // LATIN SMALL LETTER M -"\x6E" => 0x006E, // LATIN SMALL LETTER N -"\x6F" => 0x006F, // LATIN SMALL LETTER O -"\x70" => 0x0070, // LATIN SMALL LETTER P -"\x71" => 0x0071, // LATIN SMALL LETTER Q -"\x72" => 0x0072, // LATIN SMALL LETTER R -"\x73" => 0x0073, // LATIN SMALL LETTER S -"\x74" => 0x0074, // LATIN SMALL LETTER T -"\x75" => 0x0075, // LATIN SMALL LETTER U -"\x76" => 0x0076, // LATIN SMALL LETTER V -"\x77" => 0x0077, // LATIN SMALL LETTER W -"\x78" => 0x0078, // LATIN SMALL LETTER X -"\x79" => 0x0079, // LATIN SMALL LETTER Y -"\x7A" => 0x007A, // LATIN SMALL LETTER Z -"\x7B" => 0x007B, // LEFT CURLY BRACKET -"\x7C" => 0x007C, // VERTICAL LINE -"\x7D" => 0x007D, // RIGHT CURLY BRACKET -"\x7E" => 0x007E, // TILDE -"\x7F" => 0x007F, // DELETE -"\x80" => 0x2500, // BOX DRAWINGS LIGHT HORIZONTAL -"\x81" => 0x2502, // BOX DRAWINGS LIGHT VERTICAL -"\x82" => 0x250C, // BOX DRAWINGS LIGHT DOWN AND RIGHT -"\x83" => 0x2510, // BOX DRAWINGS LIGHT DOWN AND LEFT -"\x84" => 0x2514, // BOX DRAWINGS LIGHT UP AND RIGHT -"\x85" => 0x2518, // BOX DRAWINGS LIGHT UP AND LEFT -"\x86" => 0x251C, // BOX DRAWINGS LIGHT VERTICAL AND RIGHT -"\x87" => 0x2524, // BOX DRAWINGS LIGHT VERTICAL AND LEFT -"\x88" => 0x252C, // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -"\x89" => 0x2534, // BOX DRAWINGS LIGHT UP AND HORIZONTAL -"\x8A" => 0x253C, // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -"\x8B" => 0x2580, // UPPER HALF BLOCK -"\x8C" => 0x2584, // LOWER HALF BLOCK -"\x8D" => 0x2588, // FULL BLOCK -"\x8E" => 0x258C, // LEFT HALF BLOCK -"\x8F" => 0x2590, // RIGHT HALF BLOCK -"\x90" => 0x2591, // LIGHT SHADE -"\x91" => 0x2592, // MEDIUM SHADE -"\x92" => 0x2593, // DARK SHADE -"\x93" => 0x2320, // TOP HALF INTEGRAL -"\x94" => 0x25A0, // BLACK SQUARE -"\x95" => 0x2219, // BULLET OPERATOR -"\x96" => 0x221A, // SQUARE ROOT -"\x97" => 0x2248, // ALMOST EQUAL TO -"\x98" => 0x2264, // LESS-THAN OR EQUAL TO -"\x99" => 0x2265, // GREATER-THAN OR EQUAL TO -"\x9A" => 0x00A0, // NO-BREAK SPACE -"\x9B" => 0x2321, // BOTTOM HALF INTEGRAL -"\x9C" => 0x00B0, // DEGREE SIGN -"\x9D" => 0x00B2, // SUPERSCRIPT TWO -"\x9E" => 0x00B7, // MIDDLE DOT -"\x9F" => 0x00F7, // DIVISION SIGN -"\xA0" => 0x2550, // BOX DRAWINGS DOUBLE HORIZONTAL -"\xA1" => 0x2551, // BOX DRAWINGS DOUBLE VERTICAL -"\xA2" => 0x2552, // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -"\xA3" => 0x0451, // CYRILLIC SMALL LETTER IO -"\xA4" => 0x2553, // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -"\xA5" => 0x2554, // BOX DRAWINGS DOUBLE DOWN AND RIGHT -"\xA6" => 0x2555, // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -"\xA7" => 0x2556, // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -"\xA8" => 0x2557, // BOX DRAWINGS DOUBLE DOWN AND LEFT -"\xA9" => 0x2558, // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -"\xAA" => 0x2559, // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -"\xAB" => 0x255A, // BOX DRAWINGS DOUBLE UP AND RIGHT -"\xAC" => 0x255B, // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -"\xAD" => 0x255C, // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -"\xAE" => 0x255D, // BOX DRAWINGS DOUBLE UP AND LEFT -"\xAF" => 0x255E, // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -"\xB0" => 0x255F, // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -"\xB1" => 0x2560, // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -"\xB2" => 0x2561, // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -"\xB3" => 0x0401, // CYRILLIC CAPITAL LETTER IO -"\xB4" => 0x2562, // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -"\xB5" => 0x2563, // BOX DRAWINGS DOUBLE VERTICAL AND LEFT -"\xB6" => 0x2564, // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -"\xB7" => 0x2565, // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -"\xB8" => 0x2566, // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -"\xB9" => 0x2567, // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -"\xBA" => 0x2568, // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -"\xBB" => 0x2569, // BOX DRAWINGS DOUBLE UP AND HORIZONTAL -"\xBC" => 0x256A, // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -"\xBD" => 0x256B, // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -"\xBE" => 0x256C, // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -"\xBF" => 0x00A9, // COPYRIGHT SIGN -"\xC0" => 0x044E, // CYRILLIC SMALL LETTER YU -"\xC1" => 0x0430, // CYRILLIC SMALL LETTER A -"\xC2" => 0x0431, // CYRILLIC SMALL LETTER BE -"\xC3" => 0x0446, // CYRILLIC SMALL LETTER TSE -"\xC4" => 0x0434, // CYRILLIC SMALL LETTER DE -"\xC5" => 0x0435, // CYRILLIC SMALL LETTER IE -"\xC6" => 0x0444, // CYRILLIC SMALL LETTER EF -"\xC7" => 0x0433, // CYRILLIC SMALL LETTER GHE -"\xC8" => 0x0445, // CYRILLIC SMALL LETTER HA -"\xC9" => 0x0438, // CYRILLIC SMALL LETTER I -"\xCA" => 0x0439, // CYRILLIC SMALL LETTER SHORT I -"\xCB" => 0x043A, // CYRILLIC SMALL LETTER KA -"\xCC" => 0x043B, // CYRILLIC SMALL LETTER EL -"\xCD" => 0x043C, // CYRILLIC SMALL LETTER EM -"\xCE" => 0x043D, // CYRILLIC SMALL LETTER EN -"\xCF" => 0x043E, // CYRILLIC SMALL LETTER O -"\xD0" => 0x043F, // CYRILLIC SMALL LETTER PE -"\xD1" => 0x044F, // CYRILLIC SMALL LETTER YA -"\xD2" => 0x0440, // CYRILLIC SMALL LETTER ER -"\xD3" => 0x0441, // CYRILLIC SMALL LETTER ES -"\xD4" => 0x0442, // CYRILLIC SMALL LETTER TE -"\xD5" => 0x0443, // CYRILLIC SMALL LETTER U -"\xD6" => 0x0436, // CYRILLIC SMALL LETTER ZHE -"\xD7" => 0x0432, // CYRILLIC SMALL LETTER VE -"\xD8" => 0x044C, // CYRILLIC SMALL LETTER SOFT SIGN -"\xD9" => 0x044B, // CYRILLIC SMALL LETTER YERU -"\xDA" => 0x0437, // CYRILLIC SMALL LETTER ZE -"\xDB" => 0x0448, // CYRILLIC SMALL LETTER SHA -"\xDC" => 0x044D, // CYRILLIC SMALL LETTER E -"\xDD" => 0x0449, // CYRILLIC SMALL LETTER SHCHA -"\xDE" => 0x0447, // CYRILLIC SMALL LETTER CHE -"\xDF" => 0x044A, // CYRILLIC SMALL LETTER HARD SIGN -"\xE0" => 0x042E, // CYRILLIC CAPITAL LETTER YU -"\xE1" => 0x0410, // CYRILLIC CAPITAL LETTER A -"\xE2" => 0x0411, // CYRILLIC CAPITAL LETTER BE -"\xE3" => 0x0426, // CYRILLIC CAPITAL LETTER TSE -"\xE4" => 0x0414, // CYRILLIC CAPITAL LETTER DE -"\xE5" => 0x0415, // CYRILLIC CAPITAL LETTER IE -"\xE6" => 0x0424, // CYRILLIC CAPITAL LETTER EF -"\xE7" => 0x0413, // CYRILLIC CAPITAL LETTER GHE -"\xE8" => 0x0425, // CYRILLIC CAPITAL LETTER HA -"\xE9" => 0x0418, // CYRILLIC CAPITAL LETTER I -"\xEA" => 0x0419, // CYRILLIC CAPITAL LETTER SHORT I -"\xEB" => 0x041A, // CYRILLIC CAPITAL LETTER KA -"\xEC" => 0x041B, // CYRILLIC CAPITAL LETTER EL -"\xED" => 0x041C, // CYRILLIC CAPITAL LETTER EM -"\xEE" => 0x041D, // CYRILLIC CAPITAL LETTER EN -"\xEF" => 0x041E, // CYRILLIC CAPITAL LETTER O -"\xF0" => 0x041F, // CYRILLIC CAPITAL LETTER PE -"\xF1" => 0x042F, // CYRILLIC CAPITAL LETTER YA -"\xF2" => 0x0420, // CYRILLIC CAPITAL LETTER ER -"\xF3" => 0x0421, // CYRILLIC CAPITAL LETTER ES -"\xF4" => 0x0422, // CYRILLIC CAPITAL LETTER TE -"\xF5" => 0x0423, // CYRILLIC CAPITAL LETTER U -"\xF6" => 0x0416, // CYRILLIC CAPITAL LETTER ZHE -"\xF7" => 0x0412, // CYRILLIC CAPITAL LETTER VE -"\xF8" => 0x042C, // CYRILLIC CAPITAL LETTER SOFT SIGN -"\xF9" => 0x042B, // CYRILLIC CAPITAL LETTER YERU -"\xFA" => 0x0417, // CYRILLIC CAPITAL LETTER ZE -"\xFB" => 0x0428, // CYRILLIC CAPITAL LETTER SHA -"\xFC" => 0x042D, // CYRILLIC CAPITAL LETTER E -"\xFD" => 0x0429, // CYRILLIC CAPITAL LETTER SHCHA -"\xFE" => 0x0427, // CYRILLIC CAPITAL LETTER CHE -"\xFF" => 0x042A // CYRILLIC CAPITAL LETTER HARD SIGN - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.symbol.inc.php b/thirdparty/html2ps_pdf/encoding.symbol.inc.php deleted file mode 100644 index 7e4f0535b..000000000 --- a/thirdparty/html2ps_pdf/encoding.symbol.inc.php +++ /dev/null @@ -1,200 +0,0 @@ - 0x0020, // SPACE // space -"\x20" => 0X00A0, // NO-BREAK SPACE // space -"\x21" => 0x0021, // EXCLAMATION MARK // exclam -"\x22" => 0x2200, // FOR ALL // universal -"\x23" => 0x0023, // NUMBER SIGN // numbersign -"\x24" => 0x2203, // THERE EXISTS // existential -"\x25" => 0x0025, // PERCENT SIGN // percent -"\x26" => 0x0026, // AMPERSAND // ampersand -"\x27" => 0X220B, // CONTAINS AS MEMBER // suchthat -"\x28" => 0x0028, // LEFT PARENTHESIS // parenleft -"\x29" => 0x0029, // RIGHT PARENTHESIS // parenright -"\x2A" => 0X2217, // ASTERISK OPERATOR // asteriskmath -"\x2B" => 0X002B, // PLUS SIGN // plus -"\x2C" => 0X002C, // COMMA // comma -"\x2D" => 0X2212, // MINUS SIGN // minus -"\x2E" => 0X002E, // FULL STOP // period -"\x2F" => 0X002F, // SOLIDUS // slash -"\x30" => 0x0030, // DIGIT ZERO // zero -"\x31" => 0x0031, // DIGIT ONE // one -"\x32" => 0x0032, // DIGIT TWO // two -"\x33" => 0x0033, // DIGIT THREE // three -"\x34" => 0x0034, // DIGIT FOUR // four -"\x35" => 0x0035, // DIGIT FIVE // five -"\x36" => 0x0036, // DIGIT SIX // six -"\x37" => 0x0037, // DIGIT SEVEN // seven -"\x38" => 0x0038, // DIGIT EIGHT // eight -"\x39" => 0x0039, // DIGIT NINE // nine -"\x3A" => 0X003A, // COLON // colon -"\x3B" => 0X003B, // SEMICOLON // semicolon -"\x3C" => 0X003C, // LESS-THAN SIGN // less -"\x3D" => 0X003D, // EQUALS SIGN // equal -"\x3E" => 0X003E, // GREATER-THAN SIGN // greater -"\x3F" => 0X003F, // QUESTION MARK // question -"\x40" => 0x2245, // APPROXIMATELY EQUAL TO // congruent -"\x41" => 0x0391, // GREEK CAPITAL LETTER ALPHA // Alpha -"\x42" => 0x0392, // GREEK CAPITAL LETTER BETA // Beta -"\x43" => 0X03A7, // GREEK CAPITAL LETTER CHI // Chi -"\x44" => 0x0394, // GREEK CAPITAL LETTER DELTA // Delta -"\x44" => 0x2206, // INCREMENT // Delta -"\x45" => 0x0395, // GREEK CAPITAL LETTER EPSILON // Epsilon -"\x46" => 0X03A6, // GREEK CAPITAL LETTER PHI // Phi -"\x47" => 0x0393, // GREEK CAPITAL LETTER GAMMA // Gamma -"\x48" => 0x0397, // GREEK CAPITAL LETTER ETA // Eta -"\x49" => 0x0399, // GREEK CAPITAL LETTER IOTA // Iota -"\x4A" => 0X03D1, // GREEK THETA SYMBOL // theta1 -"\x4B" => 0X039A, // GREEK CAPITAL LETTER KAPPA // Kappa -"\x4C" => 0X039B, // GREEK CAPITAL LETTER LAMDA // Lambda -"\x4D" => 0X039C, // GREEK CAPITAL LETTER MU // Mu -"\x4E" => 0X039D, // GREEK CAPITAL LETTER NU // Nu -"\x4F" => 0X039F, // GREEK CAPITAL LETTER OMICRON // Omicron -"\x50" => 0X03A0, // GREEK CAPITAL LETTER PI // Pi -"\x51" => 0x0398, // GREEK CAPITAL LETTER THETA // Theta -"\x52" => 0X03A1, // GREEK CAPITAL LETTER RHO // Rho -"\x53" => 0X03A3, // GREEK CAPITAL LETTER SIGMA // Sigma -"\x54" => 0X03A4, // GREEK CAPITAL LETTER TAU // Tau -"\x55" => 0X03A5, // GREEK CAPITAL LETTER UPSILON // Upsilon -"\x56" => 0X03C2, // GREEK SMALL LETTER FINAL SIGMA // sigma1 -"\x57" => 0X03A9, // GREEK CAPITAL LETTER OMEGA // Omega -"\x57" => 0x2126, // OHM SIGN // Omega -"\x58" => 0X039E, // GREEK CAPITAL LETTER XI // Xi -"\x59" => 0X03A8, // GREEK CAPITAL LETTER PSI // Psi -"\x5A" => 0X0396, // GREEK CAPITAL LETTER ZETA // Zeta -"\x5B" => 0X005B, // LEFT SQUARE BRACKET // bracketleft -"\x5C" => 0X2234, // THEREFORE // therefore -"\x5D" => 0X005D, // RIGHT SQUARE BRACKET // bracketright -"\x5E" => 0X22A5, // UP TACK // perpendicular -"\x5F" => 0X005F, // LOW LINE // underscore -"\x60" => 0XF8E5, // RADICAL EXTENDER // radicalex (CUS) -"\x61" => 0X03B1, // GREEK SMALL LETTER ALPHA // alpha -"\x62" => 0X03B2, // GREEK SMALL LETTER BETA // beta -"\x63" => 0X03C7, // GREEK SMALL LETTER CHI // chi -"\x64" => 0X03B4, // GREEK SMALL LETTER DELTA // delta -"\x65" => 0X03B5, // GREEK SMALL LETTER EPSILON // epsilon -"\x66" => 0X03C6, // GREEK SMALL LETTER PHI // phi -"\x67" => 0X03B3, // GREEK SMALL LETTER GAMMA // gamma -"\x68" => 0X03B7, // GREEK SMALL LETTER ETA // eta -"\x69" => 0X03B9, // GREEK SMALL LETTER IOTA // iota -"\x6A" => 0X03D5, // GREEK PHI SYMBOL // phi1 -"\x6B" => 0X03BA, // GREEK SMALL LETTER KAPPA // kappa -"\x6C" => 0X03BB, // GREEK SMALL LETTER LAMDA // lambda -"\x6D" => 0X00B5, // MICRO SIGN // mu -"\x6D" => 0X03BC, // GREEK SMALL LETTER MU // mu -"\x6E" => 0X03BD, // GREEK SMALL LETTER NU // nu -"\x6F" => 0X03BF, // GREEK SMALL LETTER OMICRON // omicron -"\x70" => 0X03C0, // GREEK SMALL LETTER PI // pi -"\x71" => 0X03B8, // GREEK SMALL LETTER THETA // theta -"\x72" => 0X03C1, // GREEK SMALL LETTER RHO // rho -"\x73" => 0X03C3, // GREEK SMALL LETTER SIGMA // sigma -"\x74" => 0X03C4, // GREEK SMALL LETTER TAU // tau -"\x75" => 0X03C5, // GREEK SMALL LETTER UPSILON // upsilon -"\x76" => 0X03D6, // GREEK PI SYMBOL // omega1 -"\x77" => 0X03C9, // GREEK SMALL LETTER OMEGA // omega -"\x78" => 0X03BE, // GREEK SMALL LETTER XI // xi -"\x79" => 0X03C8, // GREEK SMALL LETTER PSI // psi -"\x7A" => 0X03B6, // GREEK SMALL LETTER ZETA // zeta -"\x7B" => 0X007B, // LEFT CURLY BRACKET // braceleft -"\x7C" => 0X007C, // VERTICAL LINE // bar -"\x7D" => 0X007D, // RIGHT CURLY BRACKET // braceright -"\x7E" => 0X223C, // TILDE OPERATOR // similar -"\xA0" => 0X20AC, // EURO SIGN // Euro -"\xA1" => 0X03D2, // GREEK UPSILON WITH HOOK SYMBOL // Upsilon1 -"\xA2" => 0x2032, // PRIME // minute -"\xA3" => 0x2264, // LESS-THAN OR EQUAL TO // lessequal -"\xA4" => 0x2044, // FRACTION SLASH // fraction -"\xA4" => 0x2215, // DIVISION SLASH // fraction -"\xA5" => 0X221E, // INFINITY // infinity -"\xA6" => 0x0192, // LATIN SMALL LETTER F WITH HOOK // florin -"\xA7" => 0x2663, // BLACK CLUB SUIT // club -"\xA8" => 0x2666, // BLACK DIAMOND SUIT // diamond -"\xA9" => 0x2665, // BLACK HEART SUIT // heart -"\xAA" => 0X2660, // BLACK SPADE SUIT // spade -"\xAB" => 0X2194, // LEFT RIGHT ARROW // arrowboth -"\xAC" => 0X2190, // LEFTWARDS ARROW // arrowleft -"\xAD" => 0X2191, // UPWARDS ARROW // arrowup -"\xAE" => 0X2192, // RIGHTWARDS ARROW // arrowright -"\xAF" => 0X2193, // DOWNWARDS ARROW // arrowdown -"\xB0" => 0X00B0, // DEGREE SIGN // degree -"\xB1" => 0X00B1, // PLUS-MINUS SIGN // plusminus -"\xB2" => 0x2033, // DOUBLE PRIME // second -"\xB3" => 0x2265, // GREATER-THAN OR EQUAL TO // greaterequal -"\xB4" => 0X00D7, // MULTIPLICATION SIGN // multiply -"\xB5" => 0X221D, // PROPORTIONAL TO // proportional -"\xB6" => 0x2202, // PARTIAL DIFFERENTIAL // partialdiff -"\xB7" => 0x2022, // BULLET // bullet -"\xB8" => 0X00F7, // DIVISION SIGN // divide -"\xB9" => 0x2260, // NOT EQUAL TO // notequal -"\xBA" => 0X2261, // IDENTICAL TO // equivalence -"\xBB" => 0X2248, // ALMOST EQUAL TO // approxequal -"\xBC" => 0X2026, // HORIZONTAL ELLIPSIS // ellipsis -"\xBD" => 0XF8E6, // VERTICAL ARROW EXTENDER // arrowvertex (CUS) -"\xBE" => 0XF8E7, // HORIZONTAL ARROW EXTENDER // arrowhorizex (CUS) -"\xBF" => 0X21B5, // DOWNWARDS ARROW WITH CORNER LEFTWARDS // carriagereturn -"\xC0" => 0x2135, // ALEF SYMBOL // aleph -"\xC1" => 0x2111, // BLACK-LETTER CAPITAL I // Ifraktur -"\xC2" => 0X211C, // BLACK-LETTER CAPITAL R // Rfraktur -"\xC3" => 0x2118, // SCRIPT CAPITAL P // weierstrass -"\xC4" => 0x2297, // CIRCLED TIMES // circlemultiply -"\xC5" => 0x2295, // CIRCLED PLUS // circleplus -"\xC6" => 0x2205, // EMPTY SET // emptyset -"\xC7" => 0x2229, // INTERSECTION // intersection -"\xC8" => 0X222A, // UNION // union -"\xC9" => 0x2283, // SUPERSET OF // propersuperset -"\xCA" => 0X2287, // SUPERSET OF OR EQUAL TO // reflexsuperset -"\xCB" => 0X2284, // NOT A SUBSET OF // notsubset -"\xCC" => 0X2282, // SUBSET OF // propersubset -"\xCD" => 0X2286, // SUBSET OF OR EQUAL TO // reflexsubset -"\xCE" => 0X2208, // ELEMENT OF // element -"\xCF" => 0X2209, // NOT AN ELEMENT OF // notelement -"\xD0" => 0x2220, // ANGLE // angle -"\xD1" => 0x2207, // NABLA // gradient -"\xD2" => 0XF6DA, // REGISTERED SIGN SERIF // registerserif (CUS) -"\xD3" => 0XF6D9, // COPYRIGHT SIGN SERIF // copyrightserif (CUS) -"\xD4" => 0XF6DB, // TRADE MARK SIGN SERIF // trademarkserif (CUS) -"\xD5" => 0X220F, // N-ARY PRODUCT // product -"\xD6" => 0X221A, // SQUARE ROOT // radical -"\xD7" => 0X22C5, // DOT OPERATOR // dotmath -"\xD8" => 0X00AC, // NOT SIGN // logicalnot -"\xD9" => 0x2227, // LOGICAL AND // logicaland -"\xDA" => 0X2228, // LOGICAL OR // logicalor -"\xDB" => 0X21D4, // LEFT RIGHT DOUBLE ARROW // arrowdblboth -"\xDC" => 0X21D0, // LEFTWARDS DOUBLE ARROW // arrowdblleft -"\xDD" => 0X21D1, // UPWARDS DOUBLE ARROW // arrowdblup -"\xDE" => 0X21D2, // RIGHTWARDS DOUBLE ARROW // arrowdblright -"\xDF" => 0X21D3, // DOWNWARDS DOUBLE ARROW // arrowdbldown -"\xE0" => 0X25CA, // LOZENGE // lozenge -"\xE1" => 0x2329, // LEFT-POINTING ANGLE BRACKET // angleleft -"\xE2" => 0XF8E8, // REGISTERED SIGN SANS SERIF // registersans (CUS) -"\xE3" => 0XF8E9, // COPYRIGHT SIGN SANS SERIF // copyrightsans (CUS) -"\xE4" => 0XF8EA, // TRADE MARK SIGN SANS SERIF // trademarksans (CUS) -"\xE5" => 0x2211, // N-ARY SUMMATION // summation -"\xE6" => 0XF8EB, // LEFT PAREN TOP // parenlefttp (CUS) -"\xE7" => 0XF8EC, // LEFT PAREN EXTENDER // parenleftex (CUS) -"\xE8" => 0XF8ED, // LEFT PAREN BOTTOM // parenleftbt (CUS) -"\xE9" => 0XF8EE, // LEFT SQUARE BRACKET TOP // bracketlefttp (CUS) -"\xEA" => 0XF8EF, // LEFT SQUARE BRACKET EXTENDER // bracketleftex (CUS) -"\xEB" => 0XF8F0, // LEFT SQUARE BRACKET BOTTOM // bracketleftbt (CUS) -"\xEC" => 0XF8F1, // LEFT CURLY BRACKET TOP // bracelefttp (CUS) -"\xED" => 0XF8F2, // LEFT CURLY BRACKET MID // braceleftmid (CUS) -"\xEE" => 0XF8F3, // LEFT CURLY BRACKET BOTTOM // braceleftbt (CUS) -"\xEF" => 0XF8F4, // CURLY BRACKET EXTENDER // braceex (CUS) -"\xF1" => 0X232A, // RIGHT-POINTING ANGLE BRACKET // angleright -"\xF2" => 0X222B, // INTEGRAL // integral -"\xF3" => 0x2320, // TOP HALF INTEGRAL // integraltp -"\xF4" => 0XF8F5, // INTEGRAL EXTENDER // integralex (CUS) -"\xF5" => 0x2321, // BOTTOM HALF INTEGRAL // integralbt -"\xF6" => 0XF8F6, // RIGHT PAREN TOP // parenrighttp (CUS) -"\xF7" => 0XF8F7, // RIGHT PAREN EXTENDER // parenrightex (CUS) -"\xF8" => 0XF8F8, // RIGHT PAREN BOTTOM // parenrightbt (CUS) -"\xF9" => 0XF8F9, // RIGHT SQUARE BRACKET TOP // bracketrighttp (CUS) -"\xFA" => 0XF8FA, // RIGHT SQUARE BRACKET EXTENDER // bracketrightex (CUS) -"\xFB" => 0XF8FB, // RIGHT SQUARE BRACKET BOTTOM // bracketrightbt (CUS) -"\xFC" => 0XF8FC, // RIGHT CURLY BRACKET TOP // bracerighttp (CUS) -"\xFD" => 0XF8FD, // RIGHT CURLY BRACKET MID // bracerightmid (CUS) -"\xFE" => 0XF8FE, // RIGHT CURLY BRACKET BOTTOM // bracerightbt (CUS) -) -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.windows-1250.inc.php b/thirdparty/html2ps_pdf/encoding.windows-1250.inc.php deleted file mode 100644 index 072f6a132..000000000 --- a/thirdparty/html2ps_pdf/encoding.windows-1250.inc.php +++ /dev/null @@ -1,262 +0,0 @@ - 0x0000, // NULL - "\x01" => 0x0001, // START OF HEADING - "\x02" => 0x0002, // START OF TEXT - "\x03" => 0x0003, // END OF TEXT - "\x04" => 0x0004, // END OF TRANSMISSION - "\x05" => 0x0005, // ENQUIRY - "\x06" => 0x0006, // ACKNOWLEDGE - "\x07" => 0x0007, // BELL - "\x08" => 0x0008, // BACKSPACE - "\x09" => 0x0009, // HORIZONTAL TABULATION - "\x0A" => 0x000A, // LINE FEED - "\x0B" => 0x000B, // VERTICAL TABULATION - "\x0C" => 0x000C, // FORM FEED - "\x0D" => 0x000D, // CARRIAGE RETURN - "\x0E" => 0x000E, // SHIFT OUT - "\x0F" => 0x000F, // SHIFT IN - "\x10" => 0x0010, // DATA LINK ESCAPE - "\x11" => 0x0011, // DEVICE CONTROL ONE - "\x12" => 0x0012, // DEVICE CONTROL TWO - "\x13" => 0x0013, // DEVICE CONTROL THREE - "\x14" => 0x0014, // DEVICE CONTROL FOUR - "\x15" => 0x0015, // NEGATIVE ACKNOWLEDGE - "\x16" => 0x0016, // SYNCHRONOUS IDLE - "\x17" => 0x0017, // END OF TRANSMISSION BLOCK - "\x18" => 0x0018, // CANCEL - "\x19" => 0x0019, // END OF MEDIUM - "\x1A" => 0x001A, // SUBSTITUTE - "\x1B" => 0x001B, // ESCAPE - "\x1C" => 0x001C, // FILE SEPARATOR - "\x1D" => 0x001D, // GROUP SEPARATOR - "\x1E" => 0x001E, // RECORD SEPARATOR - "\x1F" => 0x001F, // UNIT SEPARATOR - "\x20" => 0x0020, // SPACE - "\x21" => 0x0021, // EXCLAMATION MARK - "\x22" => 0x0022, // QUOTATION MARK - "\x23" => 0x0023, // NUMBER SIGN - "\x24" => 0x0024, // DOLLAR SIGN - "\x25" => 0x0025, // PERCENT SIGN - "\x26" => 0x0026, // AMPERSAND - "\x27" => 0x0027, // APOSTROPHE - "\x28" => 0x0028, // LEFT PARENTHESIS - "\x29" => 0x0029, // RIGHT PARENTHESIS - "\x2A" => 0x002A, // ASTERISK - "\x2B" => 0x002B, // PLUS SIGN - "\x2C" => 0x002C, // COMMA - "\x2D" => 0x002D, // HYPHEN-MINUS - "\x2E" => 0x002E, // FULL STOP - "\x2F" => 0x002F, // SOLIDUS - "\x30" => 0x0030, // DIGIT ZERO - "\x31" => 0x0031, // DIGIT ONE - "\x32" => 0x0032, // DIGIT TWO - "\x33" => 0x0033, // DIGIT THREE - "\x34" => 0x0034, // DIGIT FOUR - "\x35" => 0x0035, // DIGIT FIVE - "\x36" => 0x0036, // DIGIT SIX - "\x37" => 0x0037, // DIGIT SEVEN - "\x38" => 0x0038, // DIGIT EIGHT - "\x39" => 0x0039, // DIGIT NINE - "\x3A" => 0x003A, // COLON - "\x3B" => 0x003B, // SEMICOLON - "\x3C" => 0x003C, // LESS-THAN SIGN - "\x3D" => 0x003D, // EQUALS SIGN - "\x3E" => 0x003E, // GREATER-THAN SIGN - "\x3F" => 0x003F, // QUESTION MARK - "\x40" => 0x0040, // COMMERCIAL AT - "\x41" => 0x0041, // LATIN CAPITAL LETTER A - "\x42" => 0x0042, // LATIN CAPITAL LETTER B - "\x43" => 0x0043, // LATIN CAPITAL LETTER C - "\x44" => 0x0044, // LATIN CAPITAL LETTER D - "\x45" => 0x0045, // LATIN CAPITAL LETTER E - "\x46" => 0x0046, // LATIN CAPITAL LETTER F - "\x47" => 0x0047, // LATIN CAPITAL LETTER G - "\x48" => 0x0048, // LATIN CAPITAL LETTER H - "\x49" => 0x0049, // LATIN CAPITAL LETTER I - "\x4A" => 0x004A, // LATIN CAPITAL LETTER J - "\x4B" => 0x004B, // LATIN CAPITAL LETTER K - "\x4C" => 0x004C, // LATIN CAPITAL LETTER L - "\x4D" => 0x004D, // LATIN CAPITAL LETTER M - "\x4E" => 0x004E, // LATIN CAPITAL LETTER N - "\x4F" => 0x004F, // LATIN CAPITAL LETTER O - "\x50" => 0x0050, // LATIN CAPITAL LETTER P - "\x51" => 0x0051, // LATIN CAPITAL LETTER Q - "\x52" => 0x0052, // LATIN CAPITAL LETTER R - "\x53" => 0x0053, // LATIN CAPITAL LETTER S - "\x54" => 0x0054, // LATIN CAPITAL LETTER T - "\x55" => 0x0055, // LATIN CAPITAL LETTER U - "\x56" => 0x0056, // LATIN CAPITAL LETTER V - "\x57" => 0x0057, // LATIN CAPITAL LETTER W - "\x58" => 0x0058, // LATIN CAPITAL LETTER X - "\x59" => 0x0059, // LATIN CAPITAL LETTER Y - "\x5A" => 0x005A, // LATIN CAPITAL LETTER Z - "\x5B" => 0x005B, // LEFT SQUARE BRACKET - "\x5C" => 0x005C, // REVERSE SOLIDUS - "\x5D" => 0x005D, // RIGHT SQUARE BRACKET - "\x5E" => 0x005E, // CIRCUMFLEX ACCENT - "\x5F" => 0x005F, // LOW LINE - "\x60" => 0x0060, // GRAVE ACCENT - "\x61" => 0x0061, // LATIN SMALL LETTER A - "\x62" => 0x0062, // LATIN SMALL LETTER B - "\x63" => 0x0063, // LATIN SMALL LETTER C - "\x64" => 0x0064, // LATIN SMALL LETTER D - "\x65" => 0x0065, // LATIN SMALL LETTER E - "\x66" => 0x0066, // LATIN SMALL LETTER F - "\x67" => 0x0067, // LATIN SMALL LETTER G - "\x68" => 0x0068, // LATIN SMALL LETTER H - "\x69" => 0x0069, // LATIN SMALL LETTER I - "\x6A" => 0x006A, // LATIN SMALL LETTER J - "\x6B" => 0x006B, // LATIN SMALL LETTER K - "\x6C" => 0x006C, // LATIN SMALL LETTER L - "\x6D" => 0x006D, // LATIN SMALL LETTER M - "\x6E" => 0x006E, // LATIN SMALL LETTER N - "\x6F" => 0x006F, // LATIN SMALL LETTER O - "\x70" => 0x0070, // LATIN SMALL LETTER P - "\x71" => 0x0071, // LATIN SMALL LETTER Q - "\x72" => 0x0072, // LATIN SMALL LETTER R - "\x73" => 0x0073, // LATIN SMALL LETTER S - "\x74" => 0x0074, // LATIN SMALL LETTER T - "\x75" => 0x0075, // LATIN SMALL LETTER U - "\x76" => 0x0076, // LATIN SMALL LETTER V - "\x77" => 0x0077, // LATIN SMALL LETTER W - "\x78" => 0x0078, // LATIN SMALL LETTER X - "\x79" => 0x0079, // LATIN SMALL LETTER Y - "\x7A" => 0x007A, // LATIN SMALL LETTER Z - "\x7B" => 0x007B, // LEFT CURLY BRACKET - "\x7C" => 0x007C, // VERTICAL LINE - "\x7D" => 0x007D, // RIGHT CURLY BRACKET - "\x7E" => 0x007E, // TILDE - "\x7F" => 0x007F, // DELETE - "\x80" => 0x20AC, // EURO SIGN - //0x81 #UNDEFINED - "\x82" => 0x201A, // SINGLE LOW-9 QUOTATION MARK - //0x83 #UNDEFINED - "\x84" => 0x201E, // DOUBLE LOW-9 QUOTATION MARK - "\x85" => 0x2026, // HORIZONTAL ELLIPSIS - "\x86" => 0x2020, // DAGGER - "\x87" => 0x2021, // DOUBLE DAGGER - //0x88 #UNDEFINED - "\x89" => 0x2030, // PER MILLE SIGN - "\x8A" => 0x0160, // LATIN CAPITAL LETTER S WITH CARON - "\x8B" => 0x2039, // SINGLE LEFT-POINTING ANGLE QUOTATION MARK - "\x8C" => 0x015A, // LATIN CAPITAL LETTER S WITH ACUTE - "\x8D" => 0x0164, // LATIN CAPITAL LETTER T WITH CARON - "\x8E" => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON - "\x8F" => 0x0179, // LATIN CAPITAL LETTER Z WITH ACUTE - //0x90 #UNDEFINED - "\x91" => 0x2018, // LEFT SINGLE QUOTATION MARK - "\x92" => 0x2019, // RIGHT SINGLE QUOTATION MARK - "\x93" => 0x201C, // LEFT DOUBLE QUOTATION MARK - "\x94" => 0x201D, // RIGHT DOUBLE QUOTATION MARK - "\x95" => 0x2022, // BULLET - "\x96" => 0x2013, // EN DASH - "\x97" => 0x2014, // EM DASH - //0x98 #UNDEFINED - "\x99" => 0x2122, // TRADE MARK SIGN - "\x9A" => 0x0161, // LATIN SMALL LETTER S WITH CARON - "\x9B" => 0x203A, // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - "\x9C" => 0x015B, // LATIN SMALL LETTER S WITH ACUTE - "\x9D" => 0x0165, // LATIN SMALL LETTER T WITH CARON - "\x9E" => 0x017E, // LATIN SMALL LETTER Z WITH CARON - "\x9F" => 0x017A, // LATIN SMALL LETTER Z WITH ACUTE - "\xA0" => 0x00A0, // NO-BREAK SPACE - "\xA1" => 0x02C7, // CARON - "\xA2" => 0x02D8, // BREVE - "\xA3" => 0x0141, // LATIN CAPITAL LETTER L WITH STROKE - "\xA4" => 0x00A4, // CURRENCY SIGN - "\xA5" => 0x0104, // LATIN CAPITAL LETTER A WITH OGONEK - "\xA6" => 0x00A6, // BROKEN BAR - "\xA7" => 0x00A7, // SECTION SIGN - "\xA8" => 0x00A8, // DIAERESIS - "\xA9" => 0x00A9, // COPYRIGHT SIGN - "\xAA" => 0x015E, // LATIN CAPITAL LETTER S WITH CEDILLA - "\xAB" => 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - "\xAC" => 0x00AC, // NOT SIGN - "\xAD" => 0x00AD, // SOFT HYPHEN - "\xAE" => 0x00AE, // REGISTERED SIGN - "\xAF" => 0x017B, // LATIN CAPITAL LETTER Z WITH DOT ABOVE - "\xB0" => 0x00B0, // DEGREE SIGN - "\xB1" => 0x00B1, // PLUS-MINUS SIGN - "\xB2" => 0x02DB, // OGONEK - "\xB3" => 0x0142, // LATIN SMALL LETTER L WITH STROKE - "\xB4" => 0x00B4, // ACUTE ACCENT - "\xB5" => 0x00B5, // MICRO SIGN - "\xB6" => 0x00B6, // PILCROW SIGN - "\xB7" => 0x00B7, // MIDDLE DOT - "\xB8" => 0x00B8, // CEDILLA - "\xB9" => 0x0105, // LATIN SMALL LETTER A WITH OGONEK - "\xBA" => 0x015F, // LATIN SMALL LETTER S WITH CEDILLA - "\xBB" => 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - "\xBC" => 0x013D, // LATIN CAPITAL LETTER L WITH CARON - "\xBD" => 0x02DD, // DOUBLE ACUTE ACCENT - "\xBE" => 0x013E, // LATIN SMALL LETTER L WITH CARON - "\xBF" => 0x017C, // LATIN SMALL LETTER Z WITH DOT ABOVE - "\xC0" => 0x0154, // LATIN CAPITAL LETTER R WITH ACUTE - "\xC1" => 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE - "\xC2" => 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX - "\xC3" => 0x0102, // LATIN CAPITAL LETTER A WITH BREVE - "\xC4" => 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS - "\xC5" => 0x0139, // LATIN CAPITAL LETTER L WITH ACUTE - "\xC6" => 0x0106, // LATIN CAPITAL LETTER C WITH ACUTE - "\xC7" => 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA - "\xC8" => 0x010C, // LATIN CAPITAL LETTER C WITH CARON - "\xC9" => 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE - "\xCA" => 0x0118, // LATIN CAPITAL LETTER E WITH OGONEK - "\xCB" => 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS - "\xCC" => 0x011A, // LATIN CAPITAL LETTER E WITH CARON - "\xCD" => 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE - "\xCE" => 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX - "\xCF" => 0x010E, // LATIN CAPITAL LETTER D WITH CARON - "\xD0" => 0x0110, // LATIN CAPITAL LETTER D WITH STROKE - "\xD1" => 0x0143, // LATIN CAPITAL LETTER N WITH ACUTE - "\xD2" => 0x0147, // LATIN CAPITAL LETTER N WITH CARON - "\xD3" => 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE - "\xD4" => 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX - "\xD5" => 0x0150, // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE - "\xD6" => 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS - "\xD7" => 0x00D7, // MULTIPLICATION SIGN - "\xD8" => 0x0158, // LATIN CAPITAL LETTER R WITH CARON - "\xD9" => 0x016E, // LATIN CAPITAL LETTER U WITH RING ABOVE - "\xDA" => 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE - "\xDB" => 0x0170, // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE - "\xDC" => 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS - "\xDD" => 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE - "\xDE" => 0x0162, // LATIN CAPITAL LETTER T WITH CEDILLA - "\xDF" => 0x00DF, // LATIN SMALL LETTER SHARP S - "\xE0" => 0x0155, // LATIN SMALL LETTER R WITH ACUTE - "\xE1" => 0x00E1, // LATIN SMALL LETTER A WITH ACUTE - "\xE2" => 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX - "\xE3" => 0x0103, // LATIN SMALL LETTER A WITH BREVE - "\xE4" => 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS - "\xE5" => 0x013A, // LATIN SMALL LETTER L WITH ACUTE - "\xE6" => 0x0107, // LATIN SMALL LETTER C WITH ACUTE - "\xE7" => 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA - "\xE8" => 0x010D, // LATIN SMALL LETTER C WITH CARON - "\xE9" => 0x00E9, // LATIN SMALL LETTER E WITH ACUTE - "\xEA" => 0x0119, // LATIN SMALL LETTER E WITH OGONEK - "\xEB" => 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS - "\xEC" => 0x011B, // LATIN SMALL LETTER E WITH CARON - "\xED" => 0x00ED, // LATIN SMALL LETTER I WITH ACUTE - "\xEE" => 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX - "\xEF" => 0x010F, // LATIN SMALL LETTER D WITH CARON - "\xF0" => 0x0111, // LATIN SMALL LETTER D WITH STROKE - "\xF1" => 0x0144, // LATIN SMALL LETTER N WITH ACUTE - "\xF2" => 0x0148, // LATIN SMALL LETTER N WITH CARON - "\xF3" => 0x00F3, // LATIN SMALL LETTER O WITH ACUTE - "\xF4" => 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX - "\xF5" => 0x0151, // LATIN SMALL LETTER O WITH DOUBLE ACUTE - "\xF6" => 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS - "\xF7" => 0x00F7, // DIVISION SIGN - "\xF8" => 0x0159, // LATIN SMALL LETTER R WITH CARON - "\xF9" => 0x016F, // LATIN SMALL LETTER U WITH RING ABOVE - "\xFA" => 0x00FA, // LATIN SMALL LETTER U WITH ACUTE - "\xFB" => 0x0171, // LATIN SMALL LETTER U WITH DOUBLE ACUTE - "\xFC" => 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS - "\xFD" => 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE - "\xFE" => 0x0163, // LATIN SMALL LETTER T WITH CEDILLA - "\xFF" => 0x02D9 // DOT ABOVE - ); - ?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.windows-1251.inc.php b/thirdparty/html2ps_pdf/encoding.windows-1251.inc.php deleted file mode 100644 index 9455b94eb..000000000 --- a/thirdparty/html2ps_pdf/encoding.windows-1251.inc.php +++ /dev/null @@ -1,261 +0,0 @@ - 0x0000, //NULL -"\x01" => 0x0001, //START OF HEADING -"\x02" => 0x0002, //START OF TEXT -"\x03" => 0x0003, //END OF TEXT -"\x04" => 0x0004, //END OF TRANSMISSION -"\x05" => 0x0005, //ENQUIRY -"\x06" => 0x0006, //ACKNOWLEDGE -"\x07" => 0x0007, //BELL -"\x08" => 0x0008, //BACKSPACE -"\x09" => 0x0009, //HORIZONTAL TABULATION -"\x0A" => 0x000A, //LINE FEED -"\x0B" => 0x000B, //VERTICAL TABULATION -"\x0C" => 0x000C, //FORM FEED -"\x0D" => 0x000D, //CARRIAGE RETURN -"\x0E" => 0x000E, //SHIFT OUT -"\x0F" => 0x000F, //SHIFT IN -"\x10" => 0x0010, //DATA LINK ESCAPE -"\x11" => 0x0011, //DEVICE CONTROL ONE -"\x12" => 0x0012, //DEVICE CONTROL TWO -"\x13" => 0x0013, //DEVICE CONTROL THREE -"\x14" => 0x0014, //DEVICE CONTROL FOUR -"\x15" => 0x0015, //NEGATIVE ACKNOWLEDGE -"\x16" => 0x0016, //SYNCHRONOUS IDLE -"\x17" => 0x0017, //END OF TRANSMISSION BLOCK -"\x18" => 0x0018, //CANCEL -"\x19" => 0x0019, //END OF MEDIUM -"\x1A" => 0x001A, //SUBSTITUTE -"\x1B" => 0x001B, //ESCAPE -"\x1C" => 0x001C, //FILE SEPARATOR -"\x1D" => 0x001D, //GROUP SEPARATOR -"\x1E" => 0x001E, //RECORD SEPARATOR -"\x1F" => 0x001F, //UNIT SEPARATOR -"\x20" => 0x0020, //SPACE -"\x21" => 0x0021, //EXCLAMATION MARK -"\x22" => 0x0022, //QUOTATION MARK -"\x23" => 0x0023, //NUMBER SIGN -"\x24" => 0x0024, //DOLLAR SIGN -"\x25" => 0x0025, //PERCENT SIGN -"\x26" => 0x0026, //AMPERSAND -"\x27" => 0x0027, //APOSTROPHE -"\x28" => 0x0028, //LEFT PARENTHESIS -"\x29" => 0x0029, //RIGHT PARENTHESIS -"\x2A" => 0x002A, //ASTERISK -"\x2B" => 0x002B, //PLUS SIGN -"\x2C" => 0x002C, //COMMA -"\x2D" => 0x002D, //HYPHEN-MINUS -"\x2E" => 0x002E, //FULL STOP -"\x2F" => 0x002F, //SOLIDUS -"\x30" => 0x0030, //DIGIT ZERO -"\x31" => 0x0031, //DIGIT ONE -"\x32" => 0x0032, //DIGIT TWO -"\x33" => 0x0033, //DIGIT THREE -"\x34" => 0x0034, //DIGIT FOUR -"\x35" => 0x0035, //DIGIT FIVE -"\x36" => 0x0036, //DIGIT SIX -"\x37" => 0x0037, //DIGIT SEVEN -"\x38" => 0x0038, //DIGIT EIGHT -"\x39" => 0x0039, //DIGIT NINE -"\x3A" => 0x003A, //COLON -"\x3B" => 0x003B, //SEMICOLON -"\x3C" => 0x003C, //LESS-THAN SIGN -"\x3D" => 0x003D, //EQUALS SIGN -"\x3E" => 0x003E, //GREATER-THAN SIGN -"\x3F" => 0x003F, //QUESTION MARK -"\x40" => 0x0040, //COMMERCIAL AT -"\x41" => 0x0041, //LATIN CAPITAL LETTER A -"\x42" => 0x0042, //LATIN CAPITAL LETTER B -"\x43" => 0x0043, //LATIN CAPITAL LETTER C -"\x44" => 0x0044, //LATIN CAPITAL LETTER D -"\x45" => 0x0045, //LATIN CAPITAL LETTER E -"\x46" => 0x0046, //LATIN CAPITAL LETTER F -"\x47" => 0x0047, //LATIN CAPITAL LETTER G -"\x48" => 0x0048, //LATIN CAPITAL LETTER H -"\x49" => 0x0049, //LATIN CAPITAL LETTER I -"\x4A" => 0x004A, //LATIN CAPITAL LETTER J -"\x4B" => 0x004B, //LATIN CAPITAL LETTER K -"\x4C" => 0x004C, //LATIN CAPITAL LETTER L -"\x4D" => 0x004D, //LATIN CAPITAL LETTER M -"\x4E" => 0x004E, //LATIN CAPITAL LETTER N -"\x4F" => 0x004F, //LATIN CAPITAL LETTER O -"\x50" => 0x0050, //LATIN CAPITAL LETTER P -"\x51" => 0x0051, //LATIN CAPITAL LETTER Q -"\x52" => 0x0052, //LATIN CAPITAL LETTER R -"\x53" => 0x0053, //LATIN CAPITAL LETTER S -"\x54" => 0x0054, //LATIN CAPITAL LETTER T -"\x55" => 0x0055, //LATIN CAPITAL LETTER U -"\x56" => 0x0056, //LATIN CAPITAL LETTER V -"\x57" => 0x0057, //LATIN CAPITAL LETTER W -"\x58" => 0x0058, //LATIN CAPITAL LETTER X -"\x59" => 0x0059, //LATIN CAPITAL LETTER Y -"\x5A" => 0x005A, //LATIN CAPITAL LETTER Z -"\x5B" => 0x005B, //LEFT SQUARE BRACKET -"\x5C" => 0x005C, //REVERSE SOLIDUS -"\x5D" => 0x005D, //RIGHT SQUARE BRACKET -"\x5E" => 0x005E, //CIRCUMFLEX ACCENT -"\x5F" => 0x005F, //LOW LINE -"\x60" => 0x0060, //GRAVE ACCENT -"\x61" => 0x0061, //LATIN SMALL LETTER A -"\x62" => 0x0062, //LATIN SMALL LETTER B -"\x63" => 0x0063, //LATIN SMALL LETTER C -"\x64" => 0x0064, //LATIN SMALL LETTER D -"\x65" => 0x0065, //LATIN SMALL LETTER E -"\x66" => 0x0066, //LATIN SMALL LETTER F -"\x67" => 0x0067, //LATIN SMALL LETTER G -"\x68" => 0x0068, //LATIN SMALL LETTER H -"\x69" => 0x0069, //LATIN SMALL LETTER I -"\x6A" => 0x006A, //LATIN SMALL LETTER J -"\x6B" => 0x006B, //LATIN SMALL LETTER K -"\x6C" => 0x006C, //LATIN SMALL LETTER L -"\x6D" => 0x006D, //LATIN SMALL LETTER M -"\x6E" => 0x006E, //LATIN SMALL LETTER N -"\x6F" => 0x006F, //LATIN SMALL LETTER O -"\x70" => 0x0070, //LATIN SMALL LETTER P -"\x71" => 0x0071, //LATIN SMALL LETTER Q -"\x72" => 0x0072, //LATIN SMALL LETTER R -"\x73" => 0x0073, //LATIN SMALL LETTER S -"\x74" => 0x0074, //LATIN SMALL LETTER T -"\x75" => 0x0075, //LATIN SMALL LETTER U -"\x76" => 0x0076, //LATIN SMALL LETTER V -"\x77" => 0x0077, //LATIN SMALL LETTER W -"\x78" => 0x0078, //LATIN SMALL LETTER X -"\x79" => 0x0079, //LATIN SMALL LETTER Y -"\x7A" => 0x007A, //LATIN SMALL LETTER Z -"\x7B" => 0x007B, //LEFT CURLY BRACKET -"\x7C" => 0x007C, //VERTICAL LINE -"\x7D" => 0x007D, //RIGHT CURLY BRACKET -"\x7E" => 0x007E, //TILDE -"\x7F" => 0x007F, //DELETE -"\x80" => 0x0402, //CYRILLIC CAPITAL LETTER DJE -"\x81" => 0x0403, //CYRILLIC CAPITAL LETTER GJE -"\x82" => 0x201A, //SINGLE LOW-9 QUOTATION MARK -"\x83" => 0x0453, //CYRILLIC SMALL LETTER GJE -"\x84" => 0x201E, //DOUBLE LOW-9 QUOTATION MARK -"\x85" => 0x2026, //HORIZONTAL ELLIPSIS -"\x86" => 0x2020, //DAGGER -"\x87" => 0x2021, //DOUBLE DAGGER -"\x88" => 0x20AC, //EURO SIGN -"\x89" => 0x2030, //PER MILLE SIGN -"\x8A" => 0x0409, //CYRILLIC CAPITAL LETTER LJE -"\x8B" => 0x2039, //SINGLE LEFT-POINTING ANGLE QUOTATION MARK -"\x8C" => 0x040A, //CYRILLIC CAPITAL LETTER NJE -"\x8D" => 0x040C, //CYRILLIC CAPITAL LETTER KJE -"\x8E" => 0x040B, //CYRILLIC CAPITAL LETTER TSHE -"\x8F" => 0x040F, //CYRILLIC CAPITAL LETTER DZHE -"\x90" => 0x0452, //CYRILLIC SMALL LETTER DJE -"\x91" => 0x2018, //LEFT SINGLE QUOTATION MARK -"\x92" => 0x2019, //RIGHT SINGLE QUOTATION MARK -"\x93" => 0x201C, //LEFT DOUBLE QUOTATION MARK -"\x94" => 0x201D, //RIGHT DOUBLE QUOTATION MARK -"\x95" => 0x2022, //BULLET -"\x96" => 0x2013, //EN DASH -"\x97" => 0x2014, //EM DASH -"\x99" => 0x2122, //TRADE MARK SIGN -"\x9A" => 0x0459, //CYRILLIC SMALL LETTER LJE -"\x9B" => 0x203A, //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -"\x9C" => 0x045A, //CYRILLIC SMALL LETTER NJE -"\x9D" => 0x045C, //CYRILLIC SMALL LETTER KJE -"\x9E" => 0x045B, //CYRILLIC SMALL LETTER TSHE -"\x9F" => 0x045F, //CYRILLIC SMALL LETTER DZHE -"\xA0" => 0x00A0, //NO-BREAK SPACE -"\xA1" => 0x040E, //CYRILLIC CAPITAL LETTER SHORT U -"\xA2" => 0x045E, //CYRILLIC SMALL LETTER SHORT U -"\xA3" => 0x0408, //CYRILLIC CAPITAL LETTER JE -"\xA4" => 0x00A4, //CURRENCY SIGN -"\xA5" => 0x0490, //CYRILLIC CAPITAL LETTER GHE WITH UPTURN -"\xA6" => 0x00A6, //BROKEN BAR -"\xA7" => 0x00A7, //SECTION SIGN -"\xA8" => 0x0401, //CYRILLIC CAPITAL LETTER IO -"\xA9" => 0x00A9, //COPYRIGHT SIGN -"\xAA" => 0x0404, //CYRILLIC CAPITAL LETTER UKRAINIAN IE -"\xAB" => 0x00AB, //LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xAC" => 0x00AC, //NOT SIGN -"\xAD" => 0x00AD, //SOFT HYPHEN -"\xAE" => 0x00AE, //REGISTERED SIGN -"\xAF" => 0x0407, //CYRILLIC CAPITAL LETTER YI -"\xB0" => 0x00B0, //DEGREE SIGN -"\xB1" => 0x00B1, //PLUS-MINUS SIGN -"\xB2" => 0x0406, //CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -"\xB3" => 0x0456, //CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -"\xB4" => 0x0491, //CYRILLIC SMALL LETTER GHE WITH UPTURN -"\xB5" => 0x00B5, //MICRO SIGN -"\xB6" => 0x00B6, //PILCROW SIGN -"\xB7" => 0x00B7, //MIDDLE DOT -"\xB8" => 0x0451, //CYRILLIC SMALL LETTER IO -"\xB9" => 0x2116, //NUMERO SIGN -"\xBA" => 0x0454, //CYRILLIC SMALL LETTER UKRAINIAN IE -"\xBB" => 0x00BB, //RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -"\xBC" => 0x0458, //CYRILLIC SMALL LETTER JE -"\xBD" => 0x0405, //CYRILLIC CAPITAL LETTER DZE -"\xBE" => 0x0455, //CYRILLIC SMALL LETTER DZE -"\xBF" => 0x0457, //CYRILLIC SMALL LETTER YI -"\xC0" => 0x0410, //CYRILLIC CAPITAL LETTER A -"\xC1" => 0x0411, //CYRILLIC CAPITAL LETTER BE -"\xC2" => 0x0412, //CYRILLIC CAPITAL LETTER VE -"\xC3" => 0x0413, //CYRILLIC CAPITAL LETTER GHE -"\xC4" => 0x0414, //CYRILLIC CAPITAL LETTER DE -"\xC5" => 0x0415, //CYRILLIC CAPITAL LETTER IE -"\xC6" => 0x0416, //CYRILLIC CAPITAL LETTER ZHE -"\xC7" => 0x0417, //CYRILLIC CAPITAL LETTER ZE -"\xC8" => 0x0418, //CYRILLIC CAPITAL LETTER I -"\xC9" => 0x0419, //CYRILLIC CAPITAL LETTER SHORT I -"\xCA" => 0x041A, //CYRILLIC CAPITAL LETTER KA -"\xCB" => 0x041B, //CYRILLIC CAPITAL LETTER EL -"\xCC" => 0x041C, //CYRILLIC CAPITAL LETTER EM -"\xCD" => 0x041D, //CYRILLIC CAPITAL LETTER EN -"\xCE" => 0x041E, //CYRILLIC CAPITAL LETTER O -"\xCF" => 0x041F, //CYRILLIC CAPITAL LETTER PE -"\xD0" => 0x0420, //CYRILLIC CAPITAL LETTER ER -"\xD1" => 0x0421, //CYRILLIC CAPITAL LETTER ES -"\xD2" => 0x0422, //CYRILLIC CAPITAL LETTER TE -"\xD3" => 0x0423, //CYRILLIC CAPITAL LETTER U -"\xD4" => 0x0424, //CYRILLIC CAPITAL LETTER EF -"\xD5" => 0x0425, //CYRILLIC CAPITAL LETTER HA -"\xD6" => 0x0426, //CYRILLIC CAPITAL LETTER TSE -"\xD7" => 0x0427, //CYRILLIC CAPITAL LETTER CHE -"\xD8" => 0x0428, //CYRILLIC CAPITAL LETTER SHA -"\xD9" => 0x0429, //CYRILLIC CAPITAL LETTER SHCHA -"\xDA" => 0x042A, //CYRILLIC CAPITAL LETTER HARD SIGN -"\xDB" => 0x042B, //CYRILLIC CAPITAL LETTER YERU -"\xDC" => 0x042C, //CYRILLIC CAPITAL LETTER SOFT SIGN -"\xDD" => 0x042D, //CYRILLIC CAPITAL LETTER E -"\xDE" => 0x042E, //CYRILLIC CAPITAL LETTER YU -"\xDF" => 0x042F, //CYRILLIC CAPITAL LETTER YA -"\xE0" => 0x0430, //CYRILLIC SMALL LETTER A -"\xE1" => 0x0431, //CYRILLIC SMALL LETTER BE -"\xE2" => 0x0432, //CYRILLIC SMALL LETTER VE -"\xE3" => 0x0433, //CYRILLIC SMALL LETTER GHE -"\xE4" => 0x0434, //CYRILLIC SMALL LETTER DE -"\xE5" => 0x0435, //CYRILLIC SMALL LETTER IE -"\xE6" => 0x0436, //CYRILLIC SMALL LETTER ZHE -"\xE7" => 0x0437, //CYRILLIC SMALL LETTER ZE -"\xE8" => 0x0438, //CYRILLIC SMALL LETTER I -"\xE9" => 0x0439, //CYRILLIC SMALL LETTER SHORT I -"\xEA" => 0x043A, //CYRILLIC SMALL LETTER KA -"\xEB" => 0x043B, //CYRILLIC SMALL LETTER EL -"\xEC" => 0x043C, //CYRILLIC SMALL LETTER EM -"\xED" => 0x043D, //CYRILLIC SMALL LETTER EN -"\xEE" => 0x043E, //CYRILLIC SMALL LETTER O -"\xEF" => 0x043F, //CYRILLIC SMALL LETTER PE -"\xF0" => 0x0440, //CYRILLIC SMALL LETTER ER -"\xF1" => 0x0441, //CYRILLIC SMALL LETTER ES -"\xF2" => 0x0442, //CYRILLIC SMALL LETTER TE -"\xF3" => 0x0443, //CYRILLIC SMALL LETTER U -"\xF4" => 0x0444, //CYRILLIC SMALL LETTER EF -"\xF5" => 0x0445, //CYRILLIC SMALL LETTER HA -"\xF6" => 0x0446, //CYRILLIC SMALL LETTER TSE -"\xF7" => 0x0447, //CYRILLIC SMALL LETTER CHE -"\xF8" => 0x0448, //CYRILLIC SMALL LETTER SHA -"\xF9" => 0x0449, //CYRILLIC SMALL LETTER SHCHA -"\xFA" => 0x044A, //CYRILLIC SMALL LETTER HARD SIGN -"\xFB" => 0x044B, //CYRILLIC SMALL LETTER YERU -"\xFC" => 0x044C, //CYRILLIC SMALL LETTER SOFT SIGN -"\xFD" => 0x044D, //CYRILLIC SMALL LETTER E -"\xFE" => 0x044E, //CYRILLIC SMALL LETTER YU -"\xFF" => 0x044F //CYRILLIC SMALL LETTER YA -); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/encoding.windows-1252.inc.php b/thirdparty/html2ps_pdf/encoding.windows-1252.inc.php deleted file mode 100644 index b26755437..000000000 --- a/thirdparty/html2ps_pdf/encoding.windows-1252.inc.php +++ /dev/null @@ -1,257 +0,0 @@ - 0x0000, //NULL - "\x01" => 0x0001, //START OF HEADING - "\x02" => 0x0002, //START OF TEXT - "\x03" => 0x0003, //END OF TEXT - "\x04" => 0x0004, //END OF TRANSMISSION - "\x05" => 0x0005, //ENQUIRY - "\x06" => 0x0006, //ACKNOWLEDGE - "\x07" => 0x0007, //BELL - "\x08" => 0x0008, //BACKSPACE - "\x09" => 0x0009, //HORIZONTAL TABULATION - "\x0A" => 0x000A, //LINE FEED - "\x0B" => 0x000B, //VERTICAL TABULATION - "\x0C" => 0x000C, //FORM FEED - "\x0D" => 0x000D, //CARRIAGE RETURN - "\x0E" => 0x000E, //SHIFT OUT - "\x0F" => 0x000F, //SHIFT IN - "\x10" => 0x0010, //DATA LINK ESCAPE - "\x11" => 0x0011, //DEVICE CONTROL ONE - "\x12" => 0x0012, //DEVICE CONTROL TWO - "\x13" => 0x0013, //DEVICE CONTROL THREE - "\x14" => 0x0014, //DEVICE CONTROL FOUR - "\x15" => 0x0015, //NEGATIVE ACKNOWLEDGE - "\x16" => 0x0016, //SYNCHRONOUS IDLE - "\x17" => 0x0017, //END OF TRANSMISSION BLOCK - "\x18" => 0x0018, //CANCEL - "\x19" => 0x0019, //END OF MEDIUM - "\x1A" => 0x001A, //SUBSTITUTE - "\x1B" => 0x001B, //ESCAPE - "\x1C" => 0x001C, //FILE SEPARATOR - "\x1D" => 0x001D, //GROUP SEPARATOR - "\x1E" => 0x001E, //RECORD SEPARATOR - "\x1F" => 0x001F, //UNIT SEPARATOR - "\x20" => 0x0020, //SPACE - "\x21" => 0x0021, //EXCLAMATION MARK - "\x22" => 0x0022, //QUOTATION MARK - "\x23" => 0x0023, //NUMBER SIGN - "\x24" => 0x0024, //DOLLAR SIGN - "\x25" => 0x0025, //PERCENT SIGN - "\x26" => 0x0026, //AMPERSAND - "\x27" => 0x0027, //APOSTROPHE - "\x28" => 0x0028, //LEFT PARENTHESIS - "\x29" => 0x0029, //RIGHT PARENTHESIS - "\x2A" => 0x002A, //ASTERISK - "\x2B" => 0x002B, //PLUS SIGN - "\x2C" => 0x002C, //COMMA - "\x2D" => 0x002D, //HYPHEN-MINUS - "\x2E" => 0x002E, //FULL STOP - "\x2F" => 0x002F, //SOLIDUS - "\x30" => 0x0030, //DIGIT ZERO - "\x31" => 0x0031, //DIGIT ONE - "\x32" => 0x0032, //DIGIT TWO - "\x33" => 0x0033, //DIGIT THREE - "\x34" => 0x0034, //DIGIT FOUR - "\x35" => 0x0035, //DIGIT FIVE - "\x36" => 0x0036, //DIGIT SIX - "\x37" => 0x0037, //DIGIT SEVEN - "\x38" => 0x0038, //DIGIT EIGHT - "\x39" => 0x0039, //DIGIT NINE - "\x3A" => 0x003A, //COLON - "\x3B" => 0x003B, //SEMICOLON - "\x3C" => 0x003C, //LESS-THAN SIGN - "\x3D" => 0x003D, //EQUALS SIGN - "\x3E" => 0x003E, //GREATER-THAN SIGN - "\x3F" => 0x003F, //QUESTION MARK - "\x40" => 0x0040, //COMMERCIAL AT - "\x41" => 0x0041, //LATIN CAPITAL LETTER A - "\x42" => 0x0042, //LATIN CAPITAL LETTER B - "\x43" => 0x0043, //LATIN CAPITAL LETTER C - "\x44" => 0x0044, //LATIN CAPITAL LETTER D - "\x45" => 0x0045, //LATIN CAPITAL LETTER E - "\x46" => 0x0046, //LATIN CAPITAL LETTER F - "\x47" => 0x0047, //LATIN CAPITAL LETTER G - "\x48" => 0x0048, //LATIN CAPITAL LETTER H - "\x49" => 0x0049, //LATIN CAPITAL LETTER I - "\x4A" => 0x004A, //LATIN CAPITAL LETTER J - "\x4B" => 0x004B, //LATIN CAPITAL LETTER K - "\x4C" => 0x004C, //LATIN CAPITAL LETTER L - "\x4D" => 0x004D, //LATIN CAPITAL LETTER M - "\x4E" => 0x004E, //LATIN CAPITAL LETTER N - "\x4F" => 0x004F, //LATIN CAPITAL LETTER O - "\x50" => 0x0050, //LATIN CAPITAL LETTER P - "\x51" => 0x0051, //LATIN CAPITAL LETTER Q - "\x52" => 0x0052, //LATIN CAPITAL LETTER R - "\x53" => 0x0053, //LATIN CAPITAL LETTER S - "\x54" => 0x0054, //LATIN CAPITAL LETTER T - "\x55" => 0x0055, //LATIN CAPITAL LETTER U - "\x56" => 0x0056, //LATIN CAPITAL LETTER V - "\x57" => 0x0057, //LATIN CAPITAL LETTER W - "\x58" => 0x0058, //LATIN CAPITAL LETTER X - "\x59" => 0x0059, //LATIN CAPITAL LETTER Y - "\x5A" => 0x005A, //LATIN CAPITAL LETTER Z - "\x5B" => 0x005B, //LEFT SQUARE BRACKET - "\x5C" => 0x005C, //REVERSE SOLIDUS - "\x5D" => 0x005D, //RIGHT SQUARE BRACKET - "\x5E" => 0x005E, //CIRCUMFLEX ACCENT - "\x5F" => 0x005F, //LOW LINE - "\x60" => 0x0060, //GRAVE ACCENT - "\x61" => 0x0061, //LATIN SMALL LETTER A - "\x62" => 0x0062, //LATIN SMALL LETTER B - "\x63" => 0x0063, //LATIN SMALL LETTER C - "\x64" => 0x0064, //LATIN SMALL LETTER D - "\x65" => 0x0065, //LATIN SMALL LETTER E - "\x66" => 0x0066, //LATIN SMALL LETTER F - "\x67" => 0x0067, //LATIN SMALL LETTER G - "\x68" => 0x0068, //LATIN SMALL LETTER H - "\x69" => 0x0069, //LATIN SMALL LETTER I - "\x6A" => 0x006A, //LATIN SMALL LETTER J - "\x6B" => 0x006B, //LATIN SMALL LETTER K - "\x6C" => 0x006C, //LATIN SMALL LETTER L - "\x6D" => 0x006D, //LATIN SMALL LETTER M - "\x6E" => 0x006E, //LATIN SMALL LETTER N - "\x6F" => 0x006F, //LATIN SMALL LETTER O - "\x70" => 0x0070, //LATIN SMALL LETTER P - "\x71" => 0x0071, //LATIN SMALL LETTER Q - "\x72" => 0x0072, //LATIN SMALL LETTER R - "\x73" => 0x0073, //LATIN SMALL LETTER S - "\x74" => 0x0074, //LATIN SMALL LETTER T - "\x75" => 0x0075, //LATIN SMALL LETTER U - "\x76" => 0x0076, //LATIN SMALL LETTER V - "\x77" => 0x0077, //LATIN SMALL LETTER W - "\x78" => 0x0078, //LATIN SMALL LETTER X - "\x79" => 0x0079, //LATIN SMALL LETTER Y - "\x7A" => 0x007A, //LATIN SMALL LETTER Z - "\x7B" => 0x007B, //LEFT CURLY BRACKET - "\x7C" => 0x007C, //VERTICAL LINE - "\x7D" => 0x007D, //RIGHT CURLY BRACKET - "\x7E" => 0x007E, //TILDE - "\x7F" => 0x007F, //DELETE - "\x80" => 0x20AC, //EURO SIGN - "\x82" => 0x201A, //SINGLE LOW-9 QUOTATION MARK - "\x83" => 0x0192, //LATIN SMALL LETTER F WITH HOOK - "\x84" => 0x201E, //DOUBLE LOW-9 QUOTATION MARK - "\x85" => 0x2026, //HORIZONTAL ELLIPSIS - "\x86" => 0x2020, //DAGGER - "\x87" => 0x2021, //DOUBLE DAGGER - "\x88" => 0x02C6, //MODIFIER LETTER CIRCUMFLEX ACCENT - "\x89" => 0x2030, //PER MILLE SIGN - "\x8A" => 0x0160, //LATIN CAPITAL LETTER S WITH CARON - "\x8B" => 0x2039, //SINGLE LEFT-POINTING ANGLE QUOTATION MARK - "\x8C" => 0x0152, //LATIN CAPITAL LIGATURE OE - "\x8E" => 0x017D, //LATIN CAPITAL LETTER Z WITH CARON - "\x91" => 0x2018, //LEFT SINGLE QUOTATION MARK - "\x92" => 0x2019, //RIGHT SINGLE QUOTATION MARK - "\x93" => 0x201C, //LEFT DOUBLE QUOTATION MARK - "\x94" => 0x201D, //RIGHT DOUBLE QUOTATION MARK - "\x95" => 0x2022, //BULLET - "\x96" => 0x2013, //EN DASH - "\x97" => 0x2014, //EM DASH - "\x98" => 0x02DC, //SMALL TILDE - "\x99" => 0x2122, //TRADE MARK SIGN - "\x9A" => 0x0161, //LATIN SMALL LETTER S WITH CARON - "\x9B" => 0x203A, //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - "\x9C" => 0x0153, //LATIN SMALL LIGATURE OE - "\x9E" => 0x017E, //LATIN SMALL LETTER Z WITH CARON - "\x9F" => 0x0178, //LATIN CAPITAL LETTER Y WITH DIAERESIS - "\xA0" => 0x00A0, //NO-BREAK SPACE - "\xA1" => 0x00A1, //INVERTED EXCLAMATION MARK - "\xA2" => 0x00A2, //CENT SIGN - "\xA3" => 0x00A3, //POUND SIGN - "\xA4" => 0x00A4, //CURRENCY SIGN - "\xA5" => 0x00A5, //YEN SIGN - "\xA6" => 0x00A6, //BROKEN BAR - "\xA7" => 0x00A7, //SECTION SIGN - "\xA8" => 0x00A8, //DIAERESIS - "\xA9" => 0x00A9, //COPYRIGHT SIGN - "\xAA" => 0x00AA, //FEMININE ORDINAL INDICATOR - "\xAB" => 0x00AB, //LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - "\xAC" => 0x00AC, //NOT SIGN - "\xAD" => 0x00AD, //SOFT HYPHEN - "\xAE" => 0x00AE, //REGISTERED SIGN - "\xAF" => 0x00AF, //MACRON - "\xB0" => 0x00B0, //DEGREE SIGN - "\xB1" => 0x00B1, //PLUS-MINUS SIGN - "\xB2" => 0x00B2, //SUPERSCRIPT TWO - "\xB3" => 0x00B3, //SUPERSCRIPT THREE - "\xB4" => 0x00B4, //ACUTE ACCENT - "\xB5" => 0x00B5, //MICRO SIGN - "\xB6" => 0x00B6, //PILCROW SIGN - "\xB7" => 0x00B7, //MIDDLE DOT - "\xB8" => 0x00B8, //CEDILLA - "\xB9" => 0x00B9, //SUPERSCRIPT ONE - "\xBA" => 0x00BA, //MASCULINE ORDINAL INDICATOR - "\xBB" => 0x00BB, //RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - "\xBC" => 0x00BC, //VULGAR FRACTION ONE QUARTER - "\xBD" => 0x00BD, //VULGAR FRACTION ONE HALF - "\xBE" => 0x00BE, //VULGAR FRACTION THREE QUARTERS - "\xBF" => 0x00BF, //INVERTED QUESTION MARK - "\xC0" => 0x00C0, //LATIN CAPITAL LETTER A WITH GRAVE - "\xC1" => 0x00C1, //LATIN CAPITAL LETTER A WITH ACUTE - "\xC2" => 0x00C2, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX - "\xC3" => 0x00C3, //LATIN CAPITAL LETTER A WITH TILDE - "\xC4" => 0x00C4, //LATIN CAPITAL LETTER A WITH DIAERESIS - "\xC5" => 0x00C5, //LATIN CAPITAL LETTER A WITH RING ABOVE - "\xC6" => 0x00C6, //LATIN CAPITAL LETTER AE - "\xC7" => 0x00C7, //LATIN CAPITAL LETTER C WITH CEDILLA - "\xC8" => 0x00C8, //LATIN CAPITAL LETTER E WITH GRAVE - "\xC9" => 0x00C9, //LATIN CAPITAL LETTER E WITH ACUTE - "\xCA" => 0x00CA, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX - "\xCB" => 0x00CB, //LATIN CAPITAL LETTER E WITH DIAERESIS - "\xCC" => 0x00CC, //LATIN CAPITAL LETTER I WITH GRAVE - "\xCD" => 0x00CD, //LATIN CAPITAL LETTER I WITH ACUTE - "\xCE" => 0x00CE, //LATIN CAPITAL LETTER I WITH CIRCUMFLEX - "\xCF" => 0x00CF, //LATIN CAPITAL LETTER I WITH DIAERESIS - "\xD0" => 0x00D0, //LATIN CAPITAL LETTER ETH - "\xD1" => 0x00D1, //LATIN CAPITAL LETTER N WITH TILDE - "\xD2" => 0x00D2, //LATIN CAPITAL LETTER O WITH GRAVE - "\xD3" => 0x00D3, //LATIN CAPITAL LETTER O WITH ACUTE - "\xD4" => 0x00D4, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX - "\xD5" => 0x00D5, //LATIN CAPITAL LETTER O WITH TILDE - "\xD6" => 0x00D6, //LATIN CAPITAL LETTER O WITH DIAERESIS - "\xD7" => 0x00D7, //MULTIPLICATION SIGN - "\xD8" => 0x00D8, //LATIN CAPITAL LETTER O WITH STROKE - "\xD9" => 0x00D9, //LATIN CAPITAL LETTER U WITH GRAVE - "\xDA" => 0x00DA, //LATIN CAPITAL LETTER U WITH ACUTE - "\xDB" => 0x00DB, //LATIN CAPITAL LETTER U WITH CIRCUMFLEX - "\xDC" => 0x00DC, //LATIN CAPITAL LETTER U WITH DIAERESIS - "\xDD" => 0x00DD, //LATIN CAPITAL LETTER Y WITH ACUTE - "\xDE" => 0x00DE, //LATIN CAPITAL LETTER THORN - "\xDF" => 0x00DF, //LATIN SMALL LETTER SHARP S - "\xE0" => 0x00E0, //LATIN SMALL LETTER A WITH GRAVE - "\xE1" => 0x00E1, //LATIN SMALL LETTER A WITH ACUTE - "\xE2" => 0x00E2, //LATIN SMALL LETTER A WITH CIRCUMFLEX - "\xE3" => 0x00E3, //LATIN SMALL LETTER A WITH TILDE - "\xE4" => 0x00E4, //LATIN SMALL LETTER A WITH DIAERESIS - "\xE5" => 0x00E5, //LATIN SMALL LETTER A WITH RING ABOVE - "\xE6" => 0x00E6, //LATIN SMALL LETTER AE - "\xE7" => 0x00E7, //LATIN SMALL LETTER C WITH CEDILLA - "\xE8" => 0x00E8, //LATIN SMALL LETTER E WITH GRAVE - "\xE9" => 0x00E9, //LATIN SMALL LETTER E WITH ACUTE - "\xEA" => 0x00EA, //LATIN SMALL LETTER E WITH CIRCUMFLEX - "\xEB" => 0x00EB, //LATIN SMALL LETTER E WITH DIAERESIS - "\xEC" => 0x00EC, //LATIN SMALL LETTER I WITH GRAVE - "\xED" => 0x00ED, //LATIN SMALL LETTER I WITH ACUTE - "\xEE" => 0x00EE, //LATIN SMALL LETTER I WITH CIRCUMFLEX - "\xEF" => 0x00EF, //LATIN SMALL LETTER I WITH DIAERESIS - "\xF0" => 0x00F0, //LATIN SMALL LETTER ETH - "\xF1" => 0x00F1, //LATIN SMALL LETTER N WITH TILDE - "\xF2" => 0x00F2, //LATIN SMALL LETTER O WITH GRAVE - "\xF3" => 0x00F3, //LATIN SMALL LETTER O WITH ACUTE - "\xF4" => 0x00F4, //LATIN SMALL LETTER O WITH CIRCUMFLEX - "\xF5" => 0x00F5, //LATIN SMALL LETTER O WITH TILDE - "\xF6" => 0x00F6, //LATIN SMALL LETTER O WITH DIAERESIS - "\xF7" => 0x00F7, //DIVISION SIGN - "\xF8" => 0x00F8, //LATIN SMALL LETTER O WITH STROKE - "\xF9" => 0x00F9, //LATIN SMALL LETTER U WITH GRAVE - "\xFA" => 0x00FA, //LATIN SMALL LETTER U WITH ACUTE - "\xFB" => 0x00FB, //LATIN SMALL LETTER U WITH CIRCUMFLEX - "\xFC" => 0x00FC, //LATIN SMALL LETTER U WITH DIAERESIS - "\xFD" => 0x00FD, //LATIN SMALL LETTER Y WITH ACUTE - "\xFE" => 0x00FE, //LATIN SMALL LETTER THORN - "\xFF" => 0x00FF //LATIN SMALL LETTER Y WITH DIAERESIS - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/error.php b/thirdparty/html2ps_pdf/error.php deleted file mode 100644 index f6def0fa8..000000000 --- a/thirdparty/html2ps_pdf/error.php +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/favicon.ico b/thirdparty/html2ps_pdf/favicon.ico deleted file mode 100644 index 0519ecba6..000000000 --- a/thirdparty/html2ps_pdf/favicon.ico +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetched_data._html.class.php b/thirdparty/html2ps_pdf/fetched_data._html.class.php deleted file mode 100644 index 78d17ec4d..000000000 --- a/thirdparty/html2ps_pdf/fetched_data._html.class.php +++ /dev/null @@ -1,15 +0,0 @@ -]+content=(['\"])?text/html;\s*charset=([\w\d-]+)#is",$this->get_content(),$matches)) { - return strtolower($matches[2]); - } else { - return null; - }; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetched_data._interface.class.php b/thirdparty/html2ps_pdf/fetched_data._interface.class.php deleted file mode 100644 index 05022cb7b..000000000 --- a/thirdparty/html2ps_pdf/fetched_data._interface.class.php +++ /dev/null @@ -1,15 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetched_data.file.class.php b/thirdparty/html2ps_pdf/fetched_data.file.class.php deleted file mode 100644 index 74574a3c6..000000000 --- a/thirdparty/html2ps_pdf/fetched_data.file.class.php +++ /dev/null @@ -1,35 +0,0 @@ -content = $content; - $this->path = $path; - } - - function detect_encoding() { - // First, try to get encoding from META http-equiv tag - // - $encoding = $this->_detect_encoding_using_meta($this->content); - - // At last, fall back to default encoding - // - if (is_null($encoding)) { $encoding = "iso-8859-1"; } - - return $encoding; - } - - function get_additional_data($key) { - return null; - } - - function get_content() { - return $this->content; - } - - function set_content($data) { - $this->content = $data; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetched_data.url.class.php b/thirdparty/html2ps_pdf/fetched_data.url.class.php deleted file mode 100644 index 9b2963ab0..000000000 --- a/thirdparty/html2ps_pdf/fetched_data.url.class.php +++ /dev/null @@ -1,59 +0,0 @@ -_detect_encoding_using_meta($this->content); - - // If no META encoding specified, try to use encoding from HTTP response - // - if (is_null($encoding)) { - foreach ($this->headers as $header) { - if (preg_match("/Content-Type: .*charset=\s*([^\s;]+)/i", $header, $matches)) { - $encoding = strtolower($matches[1]); - }; - }; - } - - // At last, fall back to default encoding - // - if (is_null($encoding)) { $encoding = "iso-8859-1"; } - - return $encoding; - } - - function FetchedDataURL($content, $headers, $url) { - $this->content = $content; - $this->headers = $headers; - $this->url = $url; - } - - function get_additional_data($key) { - switch ($key) { - case 'Content-Type': - foreach ($this->headers as $header) { - if (preg_match("/Content-Type: (.*)/", $header, $matches)) { - return $matches[1]; - }; - }; - return null; - }; - } - - function get_uri() { - return $this->url; - } - - function get_content() { - return $this->content; - } - - function set_content($data) { - $this->content = $data; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetcher._interface.class.php b/thirdparty/html2ps_pdf/fetcher._interface.class.php deleted file mode 100644 index d17050d45..000000000 --- a/thirdparty/html2ps_pdf/fetcher._interface.class.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetcher.local.class.php b/thirdparty/html2ps_pdf/fetcher.local.class.php deleted file mode 100644 index 3d0b63453..000000000 --- a/thirdparty/html2ps_pdf/fetcher.local.class.php +++ /dev/null @@ -1,22 +0,0 @@ -_content = file_get_contents($file); - } - - function get_data($dummy1) { - return new FetchedDataURL($this->_content, array(), ""); - } - - function get_base_url() { - return ""; - } - - function error_message() { - return ""; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetcher.memory.class.php b/thirdparty/html2ps_pdf/fetcher.memory.class.php deleted file mode 100644 index 6daede3ab..000000000 --- a/thirdparty/html2ps_pdf/fetcher.memory.class.php +++ /dev/null @@ -1,34 +0,0 @@ -content = $content; - $this->base_path = $base_path; - $this->base_url = $base_path; - } - - function get_base_url() { - return $this->base_path; - } - - function &get_data($url) { - if ($url != $this->base_path) { - $null = null; - return $null; - }; - - $data =& new FetchedDataFile($this->content, $this->base_path); - return $data; - } - - function set_base_url($base_url) { - $this->base_url = $base_url; - } -} - - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetcher.url.class.php b/thirdparty/html2ps_pdf/fetcher.url.class.php deleted file mode 100644 index 7b3ee19cd..000000000 --- a/thirdparty/html2ps_pdf/fetcher.url.class.php +++ /dev/null @@ -1,460 +0,0 @@ -url; - } - - function get_data($data_id) { - $this->redirects = 0; - - if ($this->fetch($data_id)) { - if ($this->code != HTTP_OK) { - - $_server_response = $this->headers; - $_http_error = $this->code; - $_url = htmlspecialchars($data_id); - - ob_start(); - include('templates/error._http.tpl'); - $this->error_message .= ob_get_contents(); - ob_end_clean(); - - error_log("Cannot open $data_id, HTTP result code is: ".$this->code); - - return null; - }; - - return new FetchedDataURL($this->content, - explode("\r\n",$this->headers), - $this->url); - } elseif ($this->redirects > MAX_REDIRECTS) { - $_server_response = $this->headers; - $_url = htmlspecialchars($data_id); - - ob_start(); - include('templates/error._redirects.tpl'); - $this->error_message .= ob_get_contents(); - ob_end_clean(); - - error_log(sprintf("Cannot open %s, too many redirects", - $data_id)); - - return null; - } else { - $_server_response = $this->headers; - $_url = htmlspecialchars($data_id); - - ob_start(); - include('templates/error._connection.tpl'); - $this->error_message .= ob_get_contents(); - ob_end_clean(); - - error_log(sprintf("Cannot open %s", - $data_id)); - - return null; - } - } - - function error_message() { - return $this->error_message; - } - - // FetcherURL - constructor - - function FetcherURL() { - $this->_connections = array(); - - $this->error_message = ""; - - $this->redirects = 0; - $this->port = 80; - - // Default encoding - // $this->encoding = "iso-8859-1"; - - $this->user_agent = DEFAULT_USER_AGENT; - } - - // --------------------------------------------- - // FetcherURL - PRIVATE methods - // --------------------------------------------- - - /** - * Connects to the target host using either HTTP or HTTPS protocol; - * returns handle to connection socked or 'null' in case connection failed. - * - * @access private - * @final - * @return resource - */ - function _connect() { - // Connect to the target host - if ($this->protocol == "https") { - return $this->_connect_ssl(); - }; - - $fp = @fsockopen($this->host,$this->port,$errno,$errstr,HTML2PS_CONNECTION_TIMEOUT); - - if (!$fp) { - $message = sprintf("Cannot connect to %s:%d - (%d) %s", - $this->host, - $this->port, - $errno, - $errstr); - error_log($message); - $this->error_message = $message; - return null; - }; - - return $fp; - } - - function _connect_ssl() { - /** - * Check if there's SSL support library loaded - * - * Note that in certain situations (e.g. Windows + PHP 4.4.0 + Apache 2 on my development box) - * openssl extension IS present, but fsockopen still complains "No SSL support in this build". - * (probably PHP bug?) - */ - if (!extension_loaded('openssl')) { - $message = sprintf("Cannot connect to %s:%d. SSL Extension missing", - $this->host, - $this->port); - error_log($message); - $this->error_message .= $message; - return null; - }; - - $fp = @fsockopen("ssl://$this->host", $this->port, $errno, $errstr, 5); - - if (!$fp) { - $message = sprintf("Cannot connect to %s:%d - (%d) %s
Missing SSL support?", - $this->host, - $this->port, - $errno, - $errstr); - error_log($message); - $this->error_message = $message; - return null; - }; - - return $fp; - } - - function _extract_code($res) { - // Check return code - // Note the return code will always be contained in the response, so - // the we may not check the result of 'preg_match' - it matches always. - // - // A month later: nope, not always. - // - if (preg_match('/\s(\d+)\s/',$res,$matches)) { - $result = $matches[1]; - } else { - $result = "200"; - }; - - return $result; - } - - function _fix_location($location) { - if (substr($location, 0, 7) == "http://") { return $location; }; - if (substr($location, 0, 8) == "https://") { return $location; }; - - if ($location{0} == "/") { - return $this->protocol."://".$this->host.$location; - }; - - return $this->protocol."://".$this->host.$this->path.$location; - } - - function fetch($url) { - /** - * Handle empty $url value; unfortunaltely, parse_url will treat empty value as valid - * URL, so fetcher will attempt to fetch something from the localhost instead of - * passing control to subsequent user-defined fetchers (which probably will know - * how to handle this). - */ - if ($url === "") { - return null; - } - - $this->url = $url; - - $parts = @parse_url($this->url); - - /** - * If an malformed URL have been specified, add a message to the log file and - * continue processing (as such URLs may be found in otherwise good HTML file - - * for example, invalid image or CSS reference) - */ - if ($parts == false) { - error_log(sprintf("The URL '%s' could not be parsed", $this->url)); - - $this->content = ""; - $this->code = HTTP_OK; - return true; - }; - - /** - * Setup default values - */ - $this->protocol = 'http'; - $this->host = 'localhost'; - $this->user = ""; - $this->pass = ""; - $this->port = 80; - $this->path = "/"; - $this->query = ""; - - if (isset($parts['scheme'])) { $this->protocol = $parts['scheme']; }; - if (isset($parts['host'])) { $this->host = $parts['host']; }; - if (isset($parts['user'])) { $this->user = $parts['user']; }; - if (isset($parts['pass'])) { $this->pass = $parts['pass']; }; - if (isset($parts['port'])) { $this->port = $parts['port']; }; - if (isset($parts['path'])) { $this->path = $parts['path']; } else { $this->path = "/"; }; - if (isset($parts['query'])) { $this->path .= '?'.$parts['query']; }; - - switch ($this->protocol) { - case 'http': - return $this->fetch_http(); - case 'https': - return $this->fetch_https(); - case 'file': - $this->host = ""; - return $this->fetch_file(); - default: - $message = sprintf("Unsupported protocol: %s", $this->protocol); - error_log($message); - $this->error_message .= $message; - return null; - } - } - - function fetch_http() { - $res = $this->_head(); - - if (is_null($res)) { return null; }; - $this->code = $this->_extract_code($res); - - return $this->_process_code($res); - } - - function fetch_https() { - /** - * SSL works via port 443 - */ - if ($this->protocol == "https" && !isset($parts['port'])) { - $this->port = 443; - } - - $res = $this->_head(); - - if (is_null($res)) { return null; }; - $this->code = $this->_extract_code($res); - - return $this->_process_code($res); - } - - function fetch_file() { - if (PHP_OS == "WINNT") { - $path = substr($this->url, 7); - if ($path{0} == "/") { $path = substr($path, 1); }; - } else { - $path = substr($this->url, 7); - }; - - $normalized_path = realpath(urldecode($path)); - - if (substr($normalized_path, 0, strlen(FILE_PROTOCOL_RESTRICT)) !== FILE_PROTOCOL_RESTRICT) { - error_log(sprintf("Access denied to file '%s'", $normalized_path)); - - $this->content = ""; - $this->code = HTTP_OK; - return true; - } - - $this->content = @file_get_contents($normalized_path); - $this->code = HTTP_OK; - - return true; - } - - function _get() { - $socket = $this->_connect(); - if (is_null($socket)) { return null; }; - - // Build the HEAD request header (we're saying we're just a browser as some pages don't like non-standard user-agents) - $header = "GET ".$this->path." HTTP/1.1\r\n"; - $header .= "Host: ".$this->host."\r\n"; - $header .= "Accept: */*\r\n"; - $header .= "User-Agent: ".$this->user_agent."\r\n"; - $header .= "Connection: keep-alive\r\n"; - $header .= "Referer: ".$this->protocol."://".$this->host.$this->path."\r\n"; - $header .= $this->_header_basic_authorization(); - $header .= "\r\n"; - - fputs ($socket, $header); - // Get the responce - $res = ""; - - // The PHP-recommended construction - // while (!feof($fp)) { $res .= fread($fp, 4096); }; - // hangs indefinitely on www.searchscout.com, for example. - // seems that they do not close conection on their side or somewhat similar; - - // let's assume that there will be no HTML pages greater than 1 Mb - - $res = fread($socket, 1024*1024); - - // Close connection handle, we do not need it anymore - fclose($socket); - - return $res; - } - - function _head() { - $socket = $this->_connect(); - - if (is_null($socket)) { return null; }; - - // Build the HEAD request header (we're saying we're just a browser as some pages don't like non-standard user-agents) - $header = "HEAD ".$this->path." HTTP/1.1\r\n"; - $header .= "Host: ".$this->host."\r\n"; - $header .= "Accept: */*\r\n"; - $header .= "User-Agent: ".$this->user_agent."\r\n"; - $header .= "Connection: keep-alive\r\n"; - $header .= "Accept: text/html\r\n"; - $header .= "Referer: ".$this->protocol."://".$this->host.$this->path."\r\n"; - - $header .= $this->_header_basic_authorization(); - - $header .= "\r\n"; - - // Send the header - fputs ($socket, $header); - // Get the responce - $res = ""; - - // The PHP-recommended construction - // while (!feof($fp)) { $res .= fread($fp, 4096); }; - // hangs indefinitely on www.searchscout.com, for example. - // seems that they do not close conection on their side or somewhat similar; - - // let's assume that there will be no HTML pages greater than 1 Mb - - $res = fread($socket, 4096); - - // Close connection handle, we do not need it anymore - fclose($socket); - - return $res; - } - - function _process_code($res, $used_get = false) { - switch ($this->code) { - case '200': // OK - if (preg_match('/(.*?)\r\n\r\n(.*)/s',$res,$matches)) { - $this->headers = $matches[1]; - }; - - /** - * @todo add error processing here - * - * Note: file_get_contents is smart enough to use basic authorization headers provided - * user name / password are given in the URL. - */ - $this->content = @file_get_contents($this->url); - - return true; - break; - case '301': // Moved Permanently - $this->redirects++; - if ($this->redirects > MAX_REDIRECTS) { return false; }; - preg_match('/Location: ([\S]+)/i',$res,$matches); - return $this->fetch($this->_fix_location($matches[1])); - case '302': // Found - $this->redirects++; - if ($this->redirects > MAX_REDIRECTS) { return false; }; - preg_match('/Location: ([\S]+)/i',$res,$matches); - error_log('Redirected to:'.$matches[1]); - - return $this->fetch($this->_fix_location($matches[1])); - case '400': // Bad request - case '401': // Unauthorized - case '402': // Payment required - case '403': // Forbidden - case '404': // Not found - but should return some html content - error page - case '406': // Not acceptable - if (!preg_match('/(.*?)\r\n\r\n(.*)/s',$res,$matches)) { - error_log("Unrecognized HTTP response"); - return false; - }; - $this->headers = $matches[1]; - $this->content = @file_get_contents($this->url); - return true; - case '405': // Method not allowed; some sites (like MSN.COM) do not like "HEAD" HTTP requests - // Try to get URL information using GET request (if we didn't tried it before) - if (!$used_get) { - $res = $this->_get(); - if (is_null($res)) { return null; }; - $this->code = $this->_extract_code($res); - return $this->_process_code($res, true); - } else { - if (!preg_match('/(.*?)\r\n\r\n(.*)/s',$res,$matches)) { - error_log("Unrecognized HTTP response"); - return false; - }; - $this->headers = $matches[1]; - $this->content = @file_get_contents($this->url); - return true; - }; - default: - error_log("Unrecognized HTTP result code:".$this->code); - return false; - }; - } - - function _header_basic_authorization() { - if (!is_null($this->user) && $this->user != "") { - return sprintf("Authorization: Basic %s\r\n", base64_encode($this->user.":".$this->pass)); - }; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fetcher.url.curl.class.php b/thirdparty/html2ps_pdf/fetcher.url.curl.class.php deleted file mode 100644 index e583b66c1..000000000 --- a/thirdparty/html2ps_pdf/fetcher.url.curl.class.php +++ /dev/null @@ -1,106 +0,0 @@ -url = ""; - $this->set_proxy(null); - } - - function _fix_url($url) { - // If only host name was specified, add trailing slash - // (e.g. replace http://www.google.com with http://www.google.com/ - if (preg_match('#^.*://[^/]+$#', $url)) { - $url .= '/'; - }; - - return $url; - } - - function get_base_url() { - return $this->url; - } - - function get_data($url) { - $this->url = $url; - - // URL to be fetched - $curl = curl_init(); - - $fixed_url = $this->_fix_url($url); - - curl_setopt($curl, CURLOPT_URL, $fixed_url); - curl_setopt($curl, CURLOPT_USERAGENT, DEFAULT_USER_AGENT); - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); - curl_setopt($curl, CURLOPT_HEADER, 1); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - - //WARNING: this would prevent curl from detecting a 'man in the middle' attack - //Added by JHL to avoid problems with SSL but.... - curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0); - curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0); - - $proxy = $this->get_proxy(); - if (!is_null($proxy)) { - curl_setopt($curl, CURLOPT_PROXY, $proxy); - }; - - /** - * Fetch headers and page content to the $response variable - * and close CURL session - */ - $response = curl_exec($curl); - - if ($response === FALSE) { - error_log(sprintf('Cannot open %s, CURL error is: %s', - $url, - curl_error($curl))); - curl_close($curl); - return null; - } - - curl_close($curl); - - /** - * According to HTTP standard, headers block separated from - * body block with empty line - '\r\n\r\n' sequence. As body - * might contain this sequence too, we should use 'non-greedy' - * modifier on the first group in the regular expression. - * Of course, we should process the response as a whole using - * 's' modifier. - */ - preg_match('/^(.*?)\r\n\r\n(.*)$/s', $response, $matches); - - /** - * Usually there's more than one line in a header block, - * separated with '\r\n' sequence. - * - * The very first line contains HTTP response code (e.g. HTTP/1.1 200 OK), - * so we may safely ignore it. - */ - $headers = array_slice(explode("\r\n", $matches[1]),1); - $content = $matches[2]; - - return new FetchedDataURL($content, $headers, $this->url); - } - - function get_proxy() { - return $this->_proxy; - } - - function set_proxy($proxy) { - $this->_proxy = $proxy; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data._interface.class.php b/thirdparty/html2ps_pdf/filter.data._interface.class.php deleted file mode 100644 index c119f4408..000000000 --- a/thirdparty/html2ps_pdf/filter.data._interface.class.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.doctype.class.php b/thirdparty/html2ps_pdf/filter.data.doctype.class.php deleted file mode 100644 index 5f502d4d4..000000000 --- a/thirdparty/html2ps_pdf/filter.data.doctype.class.php +++ /dev/null @@ -1,55 +0,0 @@ -get_content(); - - $xml_declaration = "<\?.*?\?>"; - $doctype = ""; - - /** - * DOCTYPE declaration should be at the very beginning of the document - * (with the only exception of XML declaration). - * - * XML declaration is optional; XML declaration may be surrounded with whitespace - */ - - if (preg_match("#^(?:\s*$xml_declaration\s*)?($doctype)#", $html, $matches)) { - $doctype_match = $matches[1]; - - /** - * remove extra spaces from doctype text; also, DOCTYPE may contain - * \n and \r character in its whitespace parts. Here, we replace them - * with one single space, converting it to the "normalized" form. - */ - $doctype_match = preg_replace("/\s+/"," ",$doctype_match); - - - /** - * Match doctype agaist standard doctypes - */ - switch ($doctype_match) { - case '': - case '': - case '': - $GLOBALS['g_config']['mode'] = 'html'; - return $data; - case '': - case '': - case '': - $GLOBALS['g_config']['mode'] = 'xhtml'; - return $data; - }; - - }; - - /** - * No DOCTYPE found; fall back to quirks mode - */ - - $GLOBALS['g_config']['mode'] = 'quirks'; - return $data; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.encoding.class.php b/thirdparty/html2ps_pdf/filter.data.encoding.class.php deleted file mode 100644 index 8685b1261..000000000 --- a/thirdparty/html2ps_pdf/filter.data.encoding.class.php +++ /dev/null @@ -1,35 +0,0 @@ -encoding = $encoding; - } - - function getEncoding() { - return $this->encoding; - } - - function process(&$data) { - // Remove control symbols if any - $data->set_content(preg_replace('/[\x00-\x07]/', "", $data->get_content())); - - if (empty($this->encoding)) { - $encoding = $data->detect_encoding(); - - if (is_null($encoding)) { - $encoding = DEFAULT_ENCODING; - }; - $converter = Converter::create(); - $data->set_content($converter->to_utf8($data->get_content(), $encoding)); - } else { - $converter = Converter::create(); - $data->set_content($converter->to_utf8($data->get_content(), $this->encoding)); - }; - - return $data; - } - - function _convert(&$data, $encoding) { - error_no_method('_convert', get_class($this)); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.html2xhtml.class.php b/thirdparty/html2ps_pdf/filter.data.html2xhtml.class.php deleted file mode 100644 index 8f8df7d27..000000000 --- a/thirdparty/html2ps_pdf/filter.data.html2xhtml.class.php +++ /dev/null @@ -1,14 +0,0 @@ -set_content(html2xhtml($data->get_content())); - return $data; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.ucs2.class.php b/thirdparty/html2ps_pdf/filter.data.ucs2.class.php deleted file mode 100644 index 7678185c2..000000000 --- a/thirdparty/html2ps_pdf/filter.data.ucs2.class.php +++ /dev/null @@ -1,11 +0,0 @@ -set_content($converter->to_ucs2($data->get_content(), $encoding)); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.utf8.class.php b/thirdparty/html2ps_pdf/filter.data.utf8.class.php deleted file mode 100644 index d92b44ca7..000000000 --- a/thirdparty/html2ps_pdf/filter.data.utf8.class.php +++ /dev/null @@ -1,12 +0,0 @@ -set_content($converter->to_utf8($data->get_content(), $encoding)); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.data.xhtml2xhtml.class.php b/thirdparty/html2ps_pdf/filter.data.xhtml2xhtml.class.php deleted file mode 100644 index df73730ac..000000000 --- a/thirdparty/html2ps_pdf/filter.data.xhtml2xhtml.class.php +++ /dev/null @@ -1,8 +0,0 @@ -set_content(xhtml2xhtml($data->get_content())); - return $data; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.output._interface.class.php b/thirdparty/html2ps_pdf/filter.output._interface.class.php deleted file mode 100644 index 96a6b9771..000000000 --- a/thirdparty/html2ps_pdf/filter.output._interface.class.php +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.output.gzip.class.php b/thirdparty/html2ps_pdf/filter.output.gzip.class.php deleted file mode 100644 index bf8660fac..000000000 --- a/thirdparty/html2ps_pdf/filter.output.gzip.class.php +++ /dev/null @@ -1,20 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.output.ps2pdf.class.php b/thirdparty/html2ps_pdf/filter.output.ps2pdf.class.php deleted file mode 100644 index f60a33eb5..000000000 --- a/thirdparty/html2ps_pdf/filter.output.ps2pdf.class.php +++ /dev/null @@ -1,51 +0,0 @@ - 0) { - $message .= "Error executing '{$cmd}'
\n"; - error_log("Error executing '{$cmd}'."); - $message .= "Command produced the following output:
\n"; - error_log("Command produced the following output:"); - - foreach ($output as $line) { - $message .= "{$line}
\n"; - error_log($line); - }; - } else { - $_cmd = $cmd; - include(HTML2PS_DIR.'/templates/error_exec.tpl'); - error_log("Error executing '{$cmd}'. Command produced no output."); - die("HTML2PS Error"); - }; - die($message); - }; -} - -class OutputFilterPS2PDF extends OutputFilter { - var $pdf_version; - - function content_type() { - return ContentType::pdf(); - } - - function _mk_cmd($filename) { - return GS_PATH." -dNOPAUSE -dBATCH -dEmbedAllFonts=true -dCompatibilityLevel=".$this->pdf_version." -sDEVICE=pdfwrite -sOutputFile=".$filename.".pdf ".$filename; - } - - function OutputFilterPS2PDF($pdf_version) { - $this->pdf_version = $pdf_version; - } - - function process($tmp_filename) { - $pdf_file = $tmp_filename.'.pdf'; - safe_exec($this->_mk_cmd($tmp_filename), $output); - unlink($tmp_filename); - return $pdf_file; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.post._interface.class.php b/thirdparty/html2ps_pdf/filter.post._interface.class.php deleted file mode 100644 index 40ef0e696..000000000 --- a/thirdparty/html2ps_pdf/filter.post._interface.class.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.post.positioned.class.php b/thirdparty/html2ps_pdf/filter.post.positioned.class.php deleted file mode 100644 index 3e131fe89..000000000 --- a/thirdparty/html2ps_pdf/filter.post.positioned.class.php +++ /dev/null @@ -1,29 +0,0 @@ -_context =& $context; - } - - function process(&$tree, $data, &$pipeline) { - if (is_a($tree, 'GenericContainerBox')) { - for ($i=0; $icontent); $i++) { - $position = $tree->content[$i]->getCSSProperty(CSS_POSITION); - $float = $tree->content[$i]->getCSSProperty(CSS_FLOAT); - - if ($position == POSITION_ABSOLUTE) { - $this->_context->add_absolute_positioned($tree->content[$i]); - } elseif ($position == POSITION_FIXED) { - $this->_context->add_fixed_positioned($tree->content[$i]); - }; - - $this->process($tree->content[$i], $data, $pipeline); - }; - }; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.post.postponed.class.php b/thirdparty/html2ps_pdf/filter.post.postponed.class.php deleted file mode 100644 index 82202f2ef..000000000 --- a/thirdparty/html2ps_pdf/filter.post.postponed.class.php +++ /dev/null @@ -1,29 +0,0 @@ -_driver =& $driver; - } - - function process(&$tree, $data, &$pipeline) { - if (is_a($tree, 'GenericContainerBox')) { - for ($i=0; $icontent); $i++) { - $position = $tree->content[$i]->getCSSProperty(CSS_POSITION); - $float = $tree->content[$i]->getCSSProperty(CSS_FLOAT); - - if ($position == POSITION_RELATIVE) { - $this->_driver->postpone($tree->content[$i]); - } elseif ($float != FLOAT_NONE) { - $this->_driver->postpone($tree->content[$i]); - }; - - $this->process($tree->content[$i], $data, $pipeline); - }; - }; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.pre._interface.class.php b/thirdparty/html2ps_pdf/filter.pre._interface.class.php deleted file mode 100644 index fd66bd22e..000000000 --- a/thirdparty/html2ps_pdf/filter.pre._interface.class.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.pre.fields.class.php b/thirdparty/html2ps_pdf/filter.pre.fields.class.php deleted file mode 100644 index a5f26af2a..000000000 --- a/thirdparty/html2ps_pdf/filter.pre.fields.class.php +++ /dev/null @@ -1,63 +0,0 @@ -filename = $filename; - $this->filesize = $filesize; - - if (is_null($timestamp)) { - $this->_timestamp = date("Y-m-d H:s"); - } else { - $this->_timestamp = $timestamp; - }; - } - - function process(&$tree, $data, &$pipeline) { - if (is_a($tree, 'TextBox')) { - // Ignore completely empty text boxes - if (count($tree->words) == 0) { return; }; - - switch ($tree->words[0]) { - case '##PAGE##': - $parent =& $tree->parent; - $field = BoxTextFieldPageNo::from_box($tree); - - $parent->insertBefore($field, $tree); - - $parent->remove($tree); - break; - case '##PAGES##': - $parent =& $tree->parent; - $field = BoxTextFieldPages::from_box($tree); - $parent->insertBefore($field, $tree); - $parent->remove($tree); - break; - case '##FILENAME##': - if (is_null($this->filename)) { - $tree->words[0] = $data->get_uri(); - } else { - $tree->words[0] = $this->filename; - }; - break; - case '##FILESIZE##': - if (is_null($this->filesize)) { - $tree->words[0] = strlen($data->get_content()); - } else { - $tree->words[0] = $this->filesize; - }; - break; - case '##TIMESTAMP##': - $tree->words[0] = $this->_timestamp; - break; - }; - } elseif (is_a($tree, 'GenericContainerBox')) { - for ($i=0; $icontent); $i++) { - $this->process($tree->content[$i], $data, $pipeline); - }; - }; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.pre.footnotes.class.php b/thirdparty/html2ps_pdf/filter.pre.footnotes.class.php deleted file mode 100644 index 5e4499404..000000000 --- a/thirdparty/html2ps_pdf/filter.pre.footnotes.class.php +++ /dev/null @@ -1,38 +0,0 @@ -content); $i++) { - /** - * No need to check this conition for text boxes, as they do not correspond to - * HTML elements - */ - if (!is_a($tree->content[$i], "TextBox")) { - if ($tree->content[$i]->getCSSProperty(CSS_POSITION) == POSITION_FOOTNOTE) { - $tree->content[$i]->setCSSProperty(CSS_POSITION, POSITION_STATIC); - - $note_call =& BoxNoteCall::create($tree->content[$i], $pipeline); - $tree->content[$i] =& $note_call; - - $pipeline->_addFootnote($note_call); - } else { - $this->process($tree->content[$i], $data, $pipeline); - }; - }; - }; - }; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.pre.headfoot.class.php b/thirdparty/html2ps_pdf/filter.pre.headfoot.class.php deleted file mode 100644 index 5aa8a6e1d..000000000 --- a/thirdparty/html2ps_pdf/filter.pre.headfoot.class.php +++ /dev/null @@ -1,33 +0,0 @@ -header_html = null; - $this->footer_html = null; - - if (trim($header_html) != "") { - $this->header_html = "".trim($header_html).""; - }; - - if (trim($footer_html) != "") { - $this->footer_html = "".trim($footer_html).""; - }; - } - - function process(&$tree, $data, &$pipeline) { - $parser = new ParserXHTML(); - - if ($this->header_html) { - $box =& $parser->process($this->header_html, $pipeline); - $tree->add_child($box); - }; - - if ($this->footer_html) { - $box =& $parser->process($this->footer_html, $pipeline); - $tree->add_child($box); - }; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/filter.pre.height-constraint.class.php b/thirdparty/html2ps_pdf/filter.pre.height-constraint.class.php deleted file mode 100644 index e739b82ad..000000000 --- a/thirdparty/html2ps_pdf/filter.pre.height-constraint.class.php +++ /dev/null @@ -1,49 +0,0 @@ -parent)) { - $parent_hc = $tree->parent->get_height_constraint(); - $hc = $tree->get_height_constraint(); - - if (is_null($parent_hc->constant) && - $hc->constant[1]) { - $hc->constant = null; - $tree->put_height_constraint($hc); - }; - }; - }; - - /** - * Set box height to constrained value - */ - $hc = $tree->get_height_constraint(); - $height = $tree->get_height(); - - $tree->height = $hc->apply($height, $tree); - - /** - * Proceed to this box children - */ - if (is_a($tree, 'GenericContainerBox')) { - for ($i=0, $size = count($tree->content); $i<$size; $i++) { - $this->process($tree->content[$i], $data, $pipeline); - }; - }; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/flow_context.class.inc.php b/thirdparty/html2ps_pdf/flow_context.class.inc.php deleted file mode 100644 index ca84bdb30..000000000 --- a/thirdparty/html2ps_pdf/flow_context.class.inc.php +++ /dev/null @@ -1,361 +0,0 @@ -absolute_positioned[] =& $box; - } - - function add_fixed_positioned(&$box) { - $this->fixed_positioned[] =& $box; - } - - function add_float(&$float) { - $this->_floats[0][] =& $float; - } - - function container_uid() { - return $this->container_uid[0]; - } - - function ¤t_floats() { - return $this->_floats[0]; - } - - // Get the bottom edge coordinate of the bottommost float in - // current formatting context - // - // @return null in case of no floats exists in current context - // numeric coordinate value otherwise - // - function float_bottom() { - $floats =& $this->current_floats(); - - if (count($floats) == 0) { return null; } - - $bottom = $floats[0]->get_bottom_margin(); - $size = count($floats); - for ($i=1; $i<$size; $i++) { - $bottom = min($bottom, $floats[$i]->get_bottom_margin()); - }; - - return $bottom; - } - - // Calculates the leftmost x-coordinate not covered by floats in current context - // at the given level (y-coordinate) - // - // @param $x starting X coordinate (no point to the left of this allowed) - // @param $y Y coordinate we're searching at - // @return the leftmost X coordinate value - // - function float_left_x($x, $y) { - $floats =& $this->current_floats(); - - $size = count($floats); - for ($i=0; $i<$size; $i++) { - $float =& $floats[$i]; - - // Process only left-floating boxes - if ($float->getCSSProperty(CSS_FLOAT) == FLOAT_LEFT) { - // Check if this float contains given Y-coordinate - // - // Note that top margin coordinate is inclusive but - // bottom margin coordinate is exclusive! The cause is following: - // - if we have several floats in one line, their top margin edge Y coordinates will be equal, - // so we must use agreater or equal sign to avod placing all floats at one X coordinate - // - on the other side, if we place one float under the other, the top margin Y coordinate - // of bottom float will be equal to bottom margin Y coordinate of the top float and - // we should NOT offset tho bottom float in this case - // - - if ($float->get_top_margin() + EPSILON >= $y && - $float->get_bottom_margin() < $y) { - $x = max($x, $float->get_right_margin()); - }; - }; - }; - - return $x; - } - - // Calculates position of left floating box (taking into account the possibility - // of "wrapping" float to next line in case we have not enough space at current level (Y coordinate) - // - // @param $parent reference to a parent box - // @param $width width of float being placed. Full width! so, extra horizontal space (padding, margins and borders) is added here too - // @param $x [out] X coordinate of float upper-left corner - // @param $y [in,out] Y coordinate of float upper-left corner - // - function float_left_xy(&$parent, $width, &$x, &$y) { - // Numbler of floats to clear; we need this because of the following example: - //
- //
T
- //
T
- //
T
- // in this case the third float will be rendered directly under the second, so only the - // second float should be cleared - - $clear = 0; - - $floats =& $this->current_floats(); - - // Prepare information about the float bottom coordinates - $float_bottoms = array(); - $size = count($floats); - for ($i=0; $i<$size; $i++) { - $float_bottoms[] = $floats[$i]->get_bottom_margin(); - }; - - // Note that the sort function SHOULD NOT maintain key-value assotiations! - rsort($float_bottoms); - - do { - $x = $this->float_left_x($parent->get_left(), $y); - - // Check if current float will fit into the parent box - // OR if there's no parent boxes with constrained width (it will expanded in this case anyway) - - // small value to hide the rounding errors - $parent_wc = $parent->getCSSProperty(CSS_WIDTH); - if ($parent->get_right() + EPSILON >= $x + $width || - $parent->mayBeExpanded()) { - - // Will fit; - // Check if current float will intersect the existing left-floating box - // - $x1 = $this->float_right_x($parent->get_right(), $y); - if ($x1 + EPSILON > $x + $width) { - return; - }; - return; - }; - - // print("CLEAR
"); - - // No, float does not fit at current level, let's try to 'clear' some previous floats - $clear++; - - // Check if we've cleared all existing floats; the loop will be terminated in this case, of course, - // but we can get a notice/warning message if we'll try to access the non-existing array element - if ($clear <= count($floats)) { $y = min( $y, $float_bottoms[$clear-1] ); }; - - } while ($clear <= count($floats)); // We need to check if all floats have been cleared to avoid infinite loop - - // All floats are cleared; fall back to the leftmost X coordinate - $x = $parent->get_left(); - } - - // Get the right edge coordinate of the rightmost float in - // current formatting context - // - // @return null in case of no floats exists in current context - // numeric coordinate value otherwise - // - function float_right() { - $floats =& $this->current_floats(); - - if (count($floats) == 0) { return null; } - - $right = $floats[0]->get_right_margin(); - $size = count($floats); - for ($i=1; $i<$size; $i++) { - $right = max($right, $floats[$i]->get_right_margin()); - }; - - return $right; - } - - // Calculates the rightmost x-coordinate not covered by floats in current context - // at the given level (y-coordinate) - // - // @param $x starting X coordinate (no point to the right of this allowed) - // @param $y Y coordinate we're searching at - // @return the rightmost X coordinate value - // - function float_right_x($x, $y) { - $floats =& $this->current_floats(); - - $size = count($floats); - for ($i=0; $i<$size; $i++) { - $float =& $floats[$i]; - - // Process only right-floating boxes - if ($float->getCSSProperty(CSS_FLOAT) == FLOAT_RIGHT) { - // Check if this float contains given Y-coordinate - // - // Note that top margin coordinate is inclusive but - // bottom margin coordinate is exclusive! The cause is following: - // - if we have several floats in one line, their top margin edge Y coordinates will be equal, - // so we must use agreater or equal sign to avod placing all floats at one X coordinate - // - on the other side, if we place one float under the other, the top margin Y coordinate - // of bottom float will be equal to bottom margin Y coordinate of the top float and - // we should NOT offset tho bottom float in this case - // - - if ($float->get_top_margin() + EPSILON >= $y && - $float->get_bottom_margin() < $y) { - $x = min($x, $float->get_left_margin()); - }; - }; - }; - - return $x; - } - - // Calculates position of right floating box (taking into account the possibility - // of "wrapping" float to next line in case we have not enough space at current level (Y coordinate) - // - // @param $parent reference to a parent box - // @param $width width of float being placed. Full width! so, extra horizontal space (padding, margins and borders) is added here too - // @param $x [out] X coordinate of float upper-right corner - // @param $y [in,out] Y coordinate of float upper-right corner - // - function float_right_xy(&$parent, $width, &$x, &$y) { - // Numbler of floats to clear; we need this because of the following example: - //
- //
T
- //
T
- //
T
- // in this case the third float will be rendered directly under the second, so only the - // second float should be cleared - - $clear = 0; - - $floats =& $this->current_floats(); - - // Prepare information about the float bottom coordinates - $float_bottoms = array(); - $size = count($floats); - for ($i=0; $i<$size; $i++) { - $float_bottoms[] = $floats[$i]->get_bottom_margin(); - }; - - // Note that the sort function SHOULD NOT maintain key-value assotiations! - rsort($float_bottoms); - - do { - $x = $this->float_right_x($parent->get_right(), $y); - - // Check if current float will fit into the parent box - // OR if the parent box have width: auto (it will expanded in this case anyway) - // - if ($parent->get_right() + EPSILON > $x || - $parent->width == WIDTH_AUTO) { - - // Will fit; - // Check if current float will intersect the existing left-floating box - // - $x1 = $this->float_left_x($parent->get_left(), $y); - if ($x1 - EPSILON < $x - $width) { - return; - }; - }; - - - // No, float does not fit at current level, let's try to 'clear' some previous floats - $clear++; - - // Check if we've cleared all existing floats; the loop will be terminated in this case, of course, - // but we can get a notice/warning message if we'll try to access the non-existing array element - if ($clear <= count($floats)) { $y = min( $y, $float_bottoms[$clear-1] ); }; - - } while($clear <= count($floats)); // We need to check if all floats have been cleared to avoid infinite loop - - // All floats are cleared; fall back to the rightmost X coordinate - $x = $parent->get_right(); - } - - function FlowContext() { - $this->absolute_positioned = array(); - $this->fixed_positioned = array(); - - $this->viewport = array(); - $this->_floats = array(array()); - $this->collapsed_margins = array(0); - $this->container_uid = array(1); - } - - function get_collapsed_margin() { - return $this->collapsed_margins[0]; - } - - function &get_viewport() { - return $this->viewport[0]; - } - - function pop() { - $this->pop_collapsed_margin(); - $this->pop_floats(); - } - - function pop_collapsed_margin() { - array_shift($this->collapsed_margins); - } - - function pop_container_uid() { - array_shift($this->container_uid); - } - - function pop_floats() { - array_shift($this->_floats); - } - - function push() { - $this->push_collapsed_margin(0); - $this->push_floats(); - } - - function push_collapsed_margin($margin) { - array_unshift($this->collapsed_margins, $margin); - } - - function push_container_uid($uid) { - array_unshift($this->container_uid, $uid); - } - - function push_floats() { - array_unshift($this->_floats, array()); - } - - function push_viewport(&$box) { - array_unshift($this->viewport, $box); - } - - function &point_in_floats($x, $y) { - // Scan the floating children list of the current container box - $floats =& $this->current_floats(); - $size = count($floats); - for ($i=0; $i<$size; $i++) { - if ($floats[$i]->contains_point_margin($x, $y)) { - return $floats[$i]; - } - } - - $dummy = null; - return $dummy; - } - - function pop_viewport() { - array_shift($this->viewport); - } - - function sort_absolute_positioned_by_z_index() { - usort($this->absolute_positioned, "cmp_boxes_by_z_index"); - } -} - -function cmp_boxes_by_z_index($a, $b) { - $a_z = $a->getCSSProperty(CSS_Z_INDEX); - $b_z = $b->getCSSProperty(CSS_Z_INDEX); - - if ($a_z == $b_z) return 0; - return ($a_z < $b_z) ? -1 : 1; -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/flow_viewport.class.inc.php b/thirdparty/html2ps_pdf/flow_viewport.class.inc.php deleted file mode 100644 index 06f892a18..000000000 --- a/thirdparty/html2ps_pdf/flow_viewport.class.inc.php +++ /dev/null @@ -1,33 +0,0 @@ -left = 0; - $this->top = 0; - $this->width = 0; - $this->height = 0; - } - - function &create(&$box) { - $viewport = new FlowViewport; - $viewport->left = $box->get_left_padding(); - $viewport->top = $box->get_top_padding(); - - $padding = $box->getCSSProperty(CSS_PADDING); - - $viewport->width = $box->get_width() + $padding->left->value + $padding->right->value; - $viewport->height = $box->get_height() + $padding->top->value + $padding->bottom->value; - - return $viewport; - } - - function get_left() { return $this->left; } - function get_top() { return $this->top; } - function get_height() { return $this->height; } - function get_width() { return $this->width; } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/font.class.php b/thirdparty/html2ps_pdf/font.class.php deleted file mode 100644 index b0957bc92..000000000 --- a/thirdparty/html2ps_pdf/font.class.php +++ /dev/null @@ -1,219 +0,0 @@ -ascender; - } - - function descender() { - return $this->descender; - } - - function error_message() { - return $this->error_message; - } - - function Font() {} - - function linethrough_position() { - return $this->bbox[3]*0.25; - } - - function name() { - return $this->name; - } - - function overline_position() { - return $this->bbox[3]*0.8; - } - - function points($fontsize, $dimension) { - return $dimension * $fontsize / 1000; - } - - function stringwidth($string) { - $width = 0; - - $length = strlen($string); - for ($i=0; $i<$length; $i++) { - $width += $this->char_widths[$string{$i}]; - }; - - return $width; - } - - function underline_position() { - return $this->underline_position; - } - - function underline_thickness() { - return $this->underline_thickness; - } -} - -class FontTrueType extends Font { - function create($fontfile, $encoding) { - $font = new FontTrueType(); - $font->_read(TTF_FONTS_REPOSITORY.$fontfile, $encoding); - return $font; - } - - /** - * TODO: cache results; replace makefont with this utility - */ - function _read($file, $encoding) { - error_log(sprintf("Parsing font file file %s for encoding %s", $file, $encoding)); - - $font = new OpenTypeFile(); - $font->open($file); - $hhea = $font->getTable('hhea'); - $head = $font->getTable('head'); - $hmtx = $font->getTable('hmtx'); - $post = $font->getTable('post'); - $cmap = $font->getTable('cmap'); - $subtable = $cmap->findSubtable(OT_CMAP_PLATFORM_WINDOWS, - OT_CMAP_PLATFORM_WINDOWS_UNICODE); - - /** - * Read character widths for selected encoding - */ - $widths = array(); - $manager = ManagerEncoding::get(); - $map = $manager->getEncodingVector($encoding); - foreach ($map as $code => $ucs2) { - $glyphIndex = $subtable->lookup($ucs2); - if (!is_null($glyphIndex)) { - $widths[$code] = floor($hmtx->_hMetrics[$glyphIndex]['advanceWidth']*1000/$head->_unitsPerEm); - } else { - $widths[$code] = DEFAULT_CHAR_WIDTH; - }; - }; - - // Fill unknown characters with the default char width - for ($i=0; $i<256; $i++) { - if (!isset($widths[chr($i)])) { - $widths[chr($i)] = DEFAULT_CHAR_WIDTH; - }; - }; - - $this->ascender = floor($hhea->_ascender*1000/$head->_unitsPerEm); - $this->descender = floor($hhea->_descender*1000/$head->_unitsPerEm); - $this->bbox = array($head->_xMin*1000/$head->_unitsPerEm, - $head->_yMin*1000/$head->_unitsPerEm, - $head->_xMax*1000/$head->_unitsPerEm, - $head->_yMax*1000/$head->_unitsPerEm); - $this->underline_position = floor($post->_underlinePosition*1000/$head->_unitsPerEm); - $this->underline_thickness = floor($post->_underlineThickness*1000/$head->_unitsPerEm); - $this->char_widths = $widths; - - $font->close(); - } -} - -// Note that ALL font dimensions are measured in 1/1000 of font size units; -// -class FontType1 extends Font { - function &create($typeface, $encoding, $font_resolver, &$error_message) { - $font = new FontType1(); - - $font->underline_position = 0; - $font->underline_thickness = 0; - $font->ascender; - $font->descender; - $font->char_widths = array(); - $font->bbox = array(); - - global $g_last_assigned_font_id; - $g_last_assigned_font_id++; - - $font->name = "font".$g_last_assigned_font_id; - - // Get and load the metrics file - $afm = $font_resolver->get_afm_mapping($typeface); - - if (!$font->_parse_afm($afm, $typeface, $encoding)) { - $error_message = $font->error_message(); - $dummy = null; - return $dummy; - }; - - return $font; - } - - // Parse the AFM metric file; keep only sized of glyphs present in the chosen encoding - function _parse_afm($afm, $typeface, $encoding) { - global $g_manager_encodings; - $encoding_data = $g_manager_encodings->get_glyph_to_code_mapping($encoding); - - $filename = TYPE1_FONTS_REPOSITORY.$afm.".afm"; - - $file = @fopen($filename, 'r'); - if (!$file) { - $_filename = $filename; - $_typeface = $typeface; - - ob_start(); - include(HTML2PS_DIR.'/templates/error._missing_afm.tpl'); - $this->error_message = ob_get_contents(); - ob_end_clean(); - - error_log(sprintf("Missing font metrics file: %s",$filename)); - return false; - }; - - while ($line = fgets($file)) { - if (preg_match("/C\s-?\d+\s;\sWX\s(\d+)\s;\sN\s(\S+)\s;/",$line,$matches)) { - $glyph_width = $matches[1]; - $glyph_name = $matches[2]; - - // This line is a character width definition - if (isset($encoding_data[$glyph_name])) { - foreach ($encoding_data[$glyph_name] as $c) { - $this->char_widths[$c] = $glyph_width; - }; - }; - - } elseif (preg_match("/UnderlinePosition ([\d-]+)/",$line,$matches)) { - // This line is an underline position line - $this->underline_position = $matches[1]; - - } elseif (preg_match("/UnderlineThickness ([\d-]+)/",$line,$matches)) { - // This line is an underline thickness line - $this->underline_thickness = $matches[1]; - - } elseif (preg_match("/Ascender ([\d-]+)/",$line,$matches)) { - // This line is an ascender line - $this->ascender = $matches[1]; - - } elseif (preg_match("/Descender ([\d-]+)/",$line,$matches)) { - // This line is an descender line - $this->descender = $matches[1]; - - } elseif (preg_match("/FontBBox ([\d-]+) ([\d-]+) ([\d-]+) ([\d-]+)/",$line,$matches)) { - // This line is an font BBox line - $this->bbox = array($matches[1], $matches[2], $matches[3], $matches[4]); - }; - }; - - fclose($file); - - // Fill unknown characters with the default char width - for ($i=0; $i<256; $i++) { - if (!isset($this->char_widths[chr($i)])) { - $this->char_widths[chr($i)] = DEFAULT_CHAR_WIDTH; - }; - }; - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/font.constants.inc.php b/thirdparty/html2ps_pdf/font.constants.inc.php deleted file mode 100644 index 74ad842d7..000000000 --- a/thirdparty/html2ps_pdf/font.constants.inc.php +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/font.resolver.class.php b/thirdparty/html2ps_pdf/font.resolver.class.php deleted file mode 100644 index 829688075..000000000 --- a/thirdparty/html2ps_pdf/font.resolver.class.php +++ /dev/null @@ -1,152 +0,0 @@ -ttf_mappings as $typeface => $file) { - pdf_set_parameter($pdf, "FontOutline", $typeface."=".TTF_FONTS_REPOSITORY.$file); - }; - } - - function add_ttf_mapping($typeface, $file, $embed) { - $this->ttf_mappings[$typeface] = $file; - $this->embed[$typeface] = $embed; - } - - function add_afm_mapping($typeface, $file) { - $this->afm_mappings[$typeface] = $file; - } - - function font_resolved($family, $weight, $style, $encoding) { - return - isset($this->ps_fonts[$family]) and - isset($this->ps_fonts[$family][$weight]) and - isset($this->ps_fonts[$family][$weight][$style]) and - isset($this->ps_fonts[$family][$weight][$style][$encoding]); - } - - function get_afm_mapping($typeface) { - return (isset($this->afm_mappings[$typeface]) ? - $this->afm_mappings[$typeface] : - ""); - } - - function resolve_font($family, $weight, $style, $encoding) { - if (!$this->font_resolved($family, $weight, $style, $encoding)) { - $this->ps_fonts[$family][$weight][$style][$encoding] = 'font'.$this->ps_fonts_counter; - $this->ps_fonts_counter++; - }; - return $this->ps_fonts[$family][$weight][$style][$encoding]; - } - - function FontResolver() { - $this->families = array(); - $this->aliases = array(); - $this->overrides = array(); - $this->ttf_mappings = array(); - - $this->ps_fonts = array(); - $this->ps_fonts_counter = 1; - } - - function add_family_normal_encoding_override($family, $encoding, $normal, $italic, $oblique) { - $this->overrides[$encoding][$family][WEIGHT_NORMAL][FS_NORMAL] = $normal; - $this->overrides[$encoding][$family][WEIGHT_NORMAL][FS_ITALIC] = $italic; - $this->overrides[$encoding][$family][WEIGHT_NORMAL][FS_OBLIQUE] = $oblique; - } - - function add_family_bold_encoding_override($family, $encoding, $normal, $italic, $oblique) { - $this->overrides[$encoding][$family][WEIGHT_BOLD][FS_NORMAL] = $normal; - $this->overrides[$encoding][$family][WEIGHT_BOLD][FS_ITALIC] = $italic; - $this->overrides[$encoding][$family][WEIGHT_BOLD][FS_OBLIQUE] = $oblique; - } - - function add_normal_encoding_override($encoding, $normal, $italic, $oblique) { - $this->add_family_normal_encoding_override(" ",$encoding, $normal, $italic, $oblique); - } - - function add_bold_encoding_override($encoding, $normal, $italic, $oblique) { - $this->add_family_bold_encoding_override(" ",$encoding, $normal, $italic, $oblique); - } - - function get_global_encoding_override($weight, $style, $encoding) { - return $this->get_family_encoding_override(" ", $weight, $style, $encoding); - } - - function get_family_encoding_override($family, $weight, $style, $encoding) { - if (!isset($this->overrides[$encoding])) { return ""; } - if (!isset($this->overrides[$encoding][$family])) { return ""; } - if (!isset($this->overrides[$encoding][$family][$weight])) { return ""; } - if (!isset($this->overrides[$encoding][$family][$weight][$style])) { return ""; } - return $this->overrides[$encoding][$family][$weight][$style]; - } - - function have_global_encoding_override($weight, $style, $encoding) { - return $this->get_global_encoding_override($weight, $style, $encoding) !== ""; - } - - function have_family_encoding_override($family, $weight, $style, $encoding) { - return $this->get_family_encoding_override($family, $weight, $style, $encoding) !== ""; - } - - function add_alias($alias, $family) { $this->aliases[$alias] = $family; } - - function add_normal_family($family, $normal, $italic, $oblique) { - $this->families[$family][WEIGHT_NORMAL][FS_NORMAL] = $normal; - $this->families[$family][WEIGHT_NORMAL][FS_ITALIC] = $italic; - $this->families[$family][WEIGHT_NORMAL][FS_OBLIQUE] = $oblique; - } - - function add_bold_family($family, $normal, $italic, $oblique) { - $this->families[$family][WEIGHT_BOLD][FS_NORMAL] = $normal; - $this->families[$family][WEIGHT_BOLD][FS_ITALIC] = $italic; - $this->families[$family][WEIGHT_BOLD][FS_OBLIQUE] = $oblique; - } - - function getTypefaceName($family, $weight, $style, $encoding) { - if ($this->have_alias($family)) { - return $this->getTypefaceName($this->aliases[$family], $weight, $style, $encoding); - } - - // Check for family-specific encoding override - if ($this->have_family_encoding_override($family, $weight, $style, $encoding)) { - return $this->get_family_encoding_override($family, $weight, $style, $encoding); - } - - // Check for global encoding override - if ($this->have_global_encoding_override($weight, $style, $encoding)) { - return $this->get_global_encoding_override($weight, $style, $encoding); - } - - if (!isset($this->families[$family])) { return "Times-Roman"; }; - if (!isset($this->families[$family][$weight])) { return "Times-Roman"; }; - if (!isset($this->families[$family][$weight][$style])) { return "Times-Roman"; }; - - return $this->families[$family][$weight][$style]; - } - - function have_alias($family) { - return isset($this->aliases[$family]); - } - - function have_font_family($family) { - return isset($this->families[$family]) or $this->have_alias($family); - } -} - -global $g_font_resolver, $g_font_resolver_pdf; -$g_font_resolver = new FontResolver(); -$g_font_resolver_pdf = new FontResolver(); - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/font_factory.class.php b/thirdparty/html2ps_pdf/font_factory.class.php deleted file mode 100644 index a3c5c9098..000000000 --- a/thirdparty/html2ps_pdf/font_factory.class.php +++ /dev/null @@ -1,62 +0,0 @@ -error_message; - } - - function FontFactory() { - $this->fonts = array(); - } - - /** - * Note that typeface is not a font file name; example of typeface - * name could be 'Times-Roman' or 'ArialUnicodeMS'. Note that - * typeface names are for internal use only, as they do not - * correspond to any system font names/parameters; all typeface - * names and their relateions to system fonts are defined in html2ps - * config - * - * @param $typeface String name of the font typeface - * @param $encoding String - * - */ - function &getTrueType($typeface, $encoding) { - if (!isset($this->fonts[$typeface][$encoding])) { - global $g_font_resolver_pdf; - $fontfile = $g_font_resolver_pdf->ttf_mappings[$typeface]; - - $font = FontTrueType::create($fontfile, $encoding); - if (is_null($font)) { - $dummy = null; - return $dummy; - }; - - $this->fonts[$typeface][$encoding] = $font; - }; - - return $this->fonts[$typeface][$encoding]; - } - - function &get_type1($name, $encoding) { - if (!isset($this->fonts[$name][$encoding])) { - global $g_font_resolver; - - $font =& FontType1::create($name, $encoding, $g_font_resolver, $this->error_message); - if (is_null($font)) { - $dummy = null; - return $dummy; - }; - - $this->fonts[$name][$encoding] = $font; - }; - - return $this->fonts[$name][$encoding]; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/fonts/arial.afm b/thirdparty/html2ps_pdf/fonts/arial.afm deleted file mode 100644 index 3ec3de493..000000000 --- a/thirdparty/html2ps_pdf/fonts/arial.afm +++ /dev/null @@ -1,2640 +0,0 @@ -StartFontMetrics 4.1 -FontName ArialMT -FullName Arial -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Arial -Weight Regular -Version Version 3.00 -Characters 1674 -ItalicAngle 0.0 -Ascender 905 -Descender -212 -UnderlineThickness 73 -UnderlinePosition -106 -IsFixedPitch false -FontBBox -664 -325 2000 1006 -StartCharMetrics 1709 -C 0 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 278 ; N space ; B 86 0 195 716 ; -C 33 ; WX 278 ; N exclam ; B 86 0 195 716 ; -C 34 ; WX 355 ; N quotedbl ; B 46 462 308 716 ; -C 35 ; WX 556 ; N numbersign ; B 10 -12 543 728 ; -C 36 ; WX 556 ; N dollar ; B 36 -103 509 782 ; -C 37 ; WX 889 ; N percent ; B 58 -26 828 728 ; -C 38 ; WX 667 ; N ampersand ; B 43 -17 644 728 ; -C 39 ; WX 191 ; N quotesingle ; B 44 462 144 716 ; -C 40 ; WX 333 ; N parenleft ; B 61 -210 297 728 ; -C 41 ; WX 333 ; N parenright ; B 61 -210 297 728 ; -C 42 ; WX 389 ; N asterisk ; B 31 423 354 728 ; -C 43 ; WX 584 ; N plus ; B 56 116 528 589 ; -C 44 ; WX 278 ; N comma ; B 83 -142 189 100 ; -C 45 ; WX 333 ; N hyphen ; B 32 215 302 303 ; -C 46 ; WX 278 ; N period ; B 91 0 191 100 ; -C 47 ; WX 278 ; N slash ; B 0 -12 278 728 ; -C 48 ; WX 556 ; N zero ; B 42 -12 508 719 ; -C 49 ; WX 556 ; N one ; B 109 0 373 719 ; -C 50 ; WX 556 ; N two ; B 29 0 503 719 ; -C 51 ; WX 556 ; N three ; B 42 -13 511 719 ; -C 52 ; WX 556 ; N four ; B 13 0 508 716 ; -C 53 ; WX 556 ; N five ; B 42 -12 516 706 ; -C 54 ; WX 556 ; N six ; B 38 -12 510 719 ; -C 55 ; WX 556 ; N seven ; B 47 0 511 707 ; -C 56 ; WX 556 ; N eight ; B 41 -12 512 719 ; -C 57 ; WX 556 ; N nine ; B 42 -12 512 719 ; -C 58 ; WX 278 ; N colon ; B 90 0 190 519 ; -C 59 ; WX 278 ; N semicolon ; B 83 -142 189 519 ; -C 60 ; WX 584 ; N less ; B 55 110 529 595 ; -C 61 ; WX 584 ; N equal ; B 56 204 528 503 ; -C 62 ; WX 584 ; N greater ; B 55 110 529 595 ; -C 63 ; WX 556 ; N question ; B 44 0 506 728 ; -C 64 ; WX 1015 ; N at ; B 54 -210 979 729 ; -C 65 ; WX 667 ; N A ; B -1 0 668 716 ; -C 66 ; WX 667 ; N B ; B 73 0 614 716 ; -C 67 ; WX 722 ; N C ; B 50 -12 683 728 ; -C 68 ; WX 722 ; N D ; B 77 0 669 716 ; -C 69 ; WX 667 ; N E ; B 79 0 613 716 ; -C 70 ; WX 611 ; N F ; B 82 0 565 716 ; -C 71 ; WX 778 ; N G ; B 53 -12 715 728 ; -C 72 ; WX 722 ; N H ; B 80 0 642 716 ; -C 73 ; WX 278 ; N I ; B 93 0 188 716 ; -C 74 ; WX 500 ; N J ; B 27 -12 422 716 ; -C 75 ; WX 667 ; N K ; B 73 0 665 716 ; -C 76 ; WX 556 ; N L ; B 73 0 521 716 ; -C 77 ; WX 833 ; N M ; B 74 0 757 716 ; -C 78 ; WX 722 ; N N ; B 76 0 640 716 ; -C 79 ; WX 778 ; N O ; B 48 -12 733 729 ; -C 80 ; WX 667 ; N P ; B 77 0 624 716 ; -C 81 ; WX 778 ; N Q ; B 43 -56 741 729 ; -C 82 ; WX 722 ; N R ; B 79 0 709 716 ; -C 83 ; WX 667 ; N S ; B 45 -12 615 728 ; -C 84 ; WX 611 ; N T ; B 23 0 591 716 ; -C 85 ; WX 722 ; N U ; B 79 -12 642 716 ; -C 86 ; WX 667 ; N V ; B 4 0 659 716 ; -C 87 ; WX 944 ; N W ; B 12 0 933 716 ; -C 88 ; WX 667 ; N X ; B 4 0 661 716 ; -C 89 ; WX 667 ; N Y ; B 3 0 659 716 ; -C 90 ; WX 611 ; N Z ; B 20 0 586 716 ; -C 91 ; WX 278 ; N bracketleft ; B 68 -199 262 716 ; -C 92 ; WX 278 ; N backslash ; B 0 -12 278 728 ; -C 93 ; WX 278 ; N bracketright ; B 19 -199 213 716 ; -C 94 ; WX 469 ; N asciicircum ; B 26 337 443 728 ; -C 95 ; WX 556 ; N underscore ; B -15 -199 567 -135 ; -C 96 ; WX 333 ; N grave ; B 43 583 227 720 ; -C 97 ; WX 556 ; N a ; B 36 -12 514 530 ; -C 98 ; WX 556 ; N b ; B 65 -12 515 716 ; -C 99 ; WX 500 ; N c ; B 39 -12 491 530 ; -C 100 ; WX 556 ; N d ; B 34 -12 484 716 ; -C 101 ; WX 556 ; N e ; B 37 -12 515 530 ; -C 102 ; WX 278 ; N f ; B 9 0 313 728 ; -C 103 ; WX 556 ; N g ; B 32 -210 489 530 ; -C 104 ; WX 556 ; N h ; B 66 0 488 716 ; -C 105 ; WX 222 ; N i ; B 66 0 154 716 ; -C 106 ; WX 222 ; N j ; B -46 -210 153 716 ; -C 107 ; WX 500 ; N k ; B 66 0 496 716 ; -C 108 ; WX 222 ; N l ; B 64 0 152 716 ; -C 109 ; WX 833 ; N m ; B 66 0 769 530 ; -C 110 ; WX 556 ; N n ; B 66 0 487 530 ; -C 111 ; WX 556 ; N o ; B 33 -12 519 530 ; -C 112 ; WX 556 ; N p ; B 66 -199 516 530 ; -C 113 ; WX 556 ; N q ; B 35 -199 484 530 ; -C 114 ; WX 333 ; N r ; B 65 0 347 530 ; -C 115 ; WX 500 ; N s ; B 31 -12 461 530 ; -C 116 ; WX 278 ; N t ; B 18 -7 271 700 ; -C 117 ; WX 556 ; N u ; B 64 -12 484 519 ; -C 118 ; WX 500 ; N v ; B 13 0 488 519 ; -C 119 ; WX 722 ; N w ; B 3 0 714 519 ; -C 120 ; WX 500 ; N x ; B 7 0 493 519 ; -C 121 ; WX 500 ; N y ; B 16 -210 491 519 ; -C 122 ; WX 500 ; N z ; B 20 0 479 519 ; -C 123 ; WX 334 ; N braceleft ; B 28 -210 311 728 ; -C 124 ; WX 260 ; N bar ; B 92 -210 168 728 ; -C 125 ; WX 334 ; N braceright ; B 23 -210 306 728 ; -C 126 ; WX 584 ; N asciitilde ; B 42 272 542 432 ; -C 127 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 556 ; N Euro ; B -14 -12 541 728 ; -C 129 ; WX 542 ; N afii10052 ; B 79 0 542 896 ; -C 130 ; WX 222 ; N quotesinglbase ; B 53 -132 155 102 ; -C 131 ; WX 556 ; N florin ; B 22 -210 530 729 ; -C 132 ; WX 333 ; N quotedblbase ; B 35 -132 288 102 ; -C 133 ; WX 1000 ; N ellipsis ; B 117 0 884 100 ; -C 134 ; WX 556 ; N dagger ; B 36 -169 515 699 ; -C 135 ; WX 556 ; N daggerdbl ; B 36 -169 517 706 ; -C 136 ; WX 333 ; N circumflex ; B 12 583 321 720 ; -C 137 ; WX 1000 ; N perthousand ; B 18 -26 982 728 ; -C 138 ; WX 667 ; N Scaron ; B 45 -12 615 894 ; -C 139 ; WX 333 ; N guilsinglleft ; B 45 35 271 480 ; -C 140 ; WX 1000 ; N OE ; B 63 -12 968 728 ; -C 141 ; WX 583 ; N afii10061 ; B 79 0 579 896 ; -C 142 ; WX 611 ; N Zcaron ; B 20 0 586 894 ; -C 143 ; WX 719 ; N afii10145 ; B 78 -199 641 716 ; -C 144 ; WX 333 ; N quotedblbase ; B 35 -132 288 102 ; -C 145 ; WX 222 ; N quoteleft ; B 63 494 165 728 ; -C 146 ; WX 222 ; N quoteright ; B 53 489 155 723 ; -C 147 ; WX 333 ; N quotedblleft ; B 41 494 294 728 ; -C 148 ; WX 333 ; N quotedblright ; B 35 489 288 723 ; -C 149 ; WX 350 ; N bullet ; B 53 227 301 474 ; -C 150 ; WX 556 ; N endash ; B -2 224 554 294 ; -C 151 ; WX 1000 ; N emdash ; B 0 224 1000 294 ; -C 152 ; WX 333 ; N tilde ; B 3 595 330 708 ; -C 153 ; WX 1000 ; N trademark ; B 110 318 871 716 ; -C 154 ; WX 500 ; N scaron ; B 31 -12 461 720 ; -C 155 ; WX 333 ; N guilsinglright ; B 45 35 266 480 ; -C 156 ; WX 944 ; N oe ; B 40 -12 908 530 ; -C 157 ; WX 438 ; N afii10109 ; B 65 0 445 720 ; -C 158 ; WX 500 ; N zcaron ; B 20 0 479 720 ; -C 159 ; WX 667 ; N Ydieresis ; B 3 0 659 860 ; -C 160 ; WX 278 ; N space ; B 86 0 195 716 ; -C 161 ; WX 333 ; N exclamdown ; B 113 -197 222 519 ; -C 162 ; WX 556 ; N cent ; B 52 -200 505 716 ; -C 163 ; WX 556 ; N sterling ; B 13 -14 528 728 ; -C 164 ; WX 556 ; N currency ; B 36 115 516 594 ; -C 165 ; WX 556 ; N yen ; B -1 0 553 716 ; -C 166 ; WX 260 ; N brokenbar ; B 92 -210 168 728 ; -C 167 ; WX 556 ; N section ; B 40 -210 510 728 ; -C 168 ; WX 333 ; N dieresis ; B 30 620 304 720 ; -C 169 ; WX 737 ; N copyright ; B 1 -9 738 728 ; -C 170 ; WX 370 ; N ordfeminine ; B 23 364 351 728 ; -C 171 ; WX 556 ; N guillemotleft ; B 65 35 484 480 ; -C 172 ; WX 584 ; N logicalnot ; B 56 207 528 503 ; -C 173 ; WX 333 ; N hyphen ; B 32 215 302 303 ; -C 174 ; WX 737 ; N registered ; B 1 -9 738 728 ; -C 175 ; WX 552 ; N overscore ; B -15 765 567 828 ; -C 176 ; WX 400 ; N degree ; B 63 457 333 728 ; -C 177 ; WX 549 ; N plusminus ; B 38 0 511 600 ; -C 178 ; WX 333 ; N twosuperior ; B 12 358 316 725 ; -C 179 ; WX 333 ; N threesuperior ; B 16 349 315 725 ; -C 180 ; WX 333 ; N acute ; B 108 583 289 720 ; -C 181 ; WX 576 ; N mu1 ; B 78 -199 497 519 ; -C 182 ; WX 537 ; N paragraph ; B 0 -199 541 716 ; -C 183 ; WX 278 ; N periodcentered ; B 90 302 190 402 ; -C 184 ; WX 333 ; N cedilla ; B 52 -206 264 11 ; -C 185 ; WX 333 ; N onesuperior ; B 52 358 232 725 ; -C 186 ; WX 365 ; N ordmasculine ; B 22 361 342 728 ; -C 187 ; WX 556 ; N guillemotright ; B 68 35 487 480 ; -C 188 ; WX 834 ; N onequarter ; B 52 -28 819 728 ; -C 189 ; WX 834 ; N onehalf ; B 52 -28 816 728 ; -C 190 ; WX 834 ; N threequarters ; B 16 -28 819 728 ; -C 191 ; WX 611 ; N questiondown ; B 77 -209 539 519 ; -C 192 ; WX 667 ; N Agrave ; B -1 0 668 896 ; -C 193 ; WX 667 ; N Aacute ; B -1 0 668 896 ; -C 194 ; WX 667 ; N Acircumflex ; B -1 0 668 896 ; -C 195 ; WX 667 ; N Atilde ; B -1 0 668 873 ; -C 196 ; WX 667 ; N Adieresis ; B -1 0 668 860 ; -C 197 ; WX 667 ; N Aring ; B -1 0 668 869 ; -C 198 ; WX 1000 ; N AE ; B 0 0 945 716 ; -C 199 ; WX 722 ; N Ccedilla ; B 50 -206 683 728 ; -C 200 ; WX 667 ; N Egrave ; B 79 0 613 896 ; -C 201 ; WX 667 ; N Eacute ; B 79 0 613 896 ; -C 202 ; WX 667 ; N Ecircumflex ; B 79 0 613 896 ; -C 203 ; WX 667 ; N Edieresis ; B 79 0 613 860 ; -C 204 ; WX 278 ; N Igrave ; B 26 0 210 896 ; -C 205 ; WX 278 ; N Iacute ; B 69 0 249 896 ; -C 206 ; WX 278 ; N Icircumflex ; B -16 0 293 896 ; -C 207 ; WX 278 ; N Idieresis ; B 2 0 276 860 ; -C 208 ; WX 722 ; N Eth ; B -1 0 669 716 ; -C 209 ; WX 722 ; N Ntilde ; B 76 0 640 873 ; -C 210 ; WX 778 ; N Ograve ; B 48 -12 733 896 ; -C 211 ; WX 778 ; N Oacute ; B 48 -12 733 896 ; -C 212 ; WX 778 ; N Ocircumflex ; B 48 -12 733 896 ; -C 213 ; WX 778 ; N Otilde ; B 48 -12 733 873 ; -C 214 ; WX 778 ; N Odieresis ; B 48 -12 733 860 ; -C 215 ; WX 584 ; N multiply ; B 79 141 504 566 ; -C 216 ; WX 778 ; N Oslash ; B 41 -29 741 742 ; -C 217 ; WX 722 ; N Ugrave ; B 79 -12 642 896 ; -C 218 ; WX 722 ; N Uacute ; B 79 -12 642 896 ; -C 219 ; WX 722 ; N Ucircumflex ; B 79 -12 642 896 ; -C 220 ; WX 722 ; N Udieresis ; B 79 -12 642 860 ; -C 221 ; WX 667 ; N Yacute ; B 3 0 659 896 ; -C 222 ; WX 667 ; N Thorn ; B 77 0 624 716 ; -C 223 ; WX 611 ; N germandbls ; B 75 -12 580 728 ; -C 224 ; WX 556 ; N agrave ; B 36 -12 514 720 ; -C 225 ; WX 556 ; N aacute ; B 36 -12 514 720 ; -C 226 ; WX 556 ; N acircumflex ; B 36 -12 514 720 ; -C 227 ; WX 556 ; N atilde ; B 36 -12 514 708 ; -C 228 ; WX 556 ; N adieresis ; B 36 -12 514 720 ; -C 229 ; WX 556 ; N aring ; B 36 -12 514 741 ; -C 230 ; WX 889 ; N ae ; B 33 -12 849 530 ; -C 231 ; WX 500 ; N ccedilla ; B 39 -196 491 530 ; -C 232 ; WX 556 ; N egrave ; B 37 -12 515 720 ; -C 233 ; WX 556 ; N eacute ; B 37 -12 515 720 ; -C 234 ; WX 556 ; N ecircumflex ; B 37 -12 515 720 ; -C 235 ; WX 556 ; N edieresis ; B 37 -12 515 720 ; -C 236 ; WX 278 ; N igrave ; B 17 0 201 720 ; -C 237 ; WX 278 ; N iacute ; B 92 0 272 720 ; -C 238 ; WX 278 ; N icircumflex ; B -8 0 301 720 ; -C 239 ; WX 278 ; N idieresis ; B 4 0 278 720 ; -C 240 ; WX 556 ; N eth ; B 36 -12 516 716 ; -C 241 ; WX 556 ; N ntilde ; B 66 0 487 708 ; -C 242 ; WX 556 ; N ograve ; B 33 -12 519 720 ; -C 243 ; WX 556 ; N oacute ; B 33 -12 519 720 ; -C 244 ; WX 556 ; N ocircumflex ; B 33 -12 519 720 ; -C 245 ; WX 556 ; N otilde ; B 33 -12 519 708 ; -C 246 ; WX 556 ; N odieresis ; B 33 -12 519 720 ; -C 247 ; WX 549 ; N divide ; B 38 156 511 550 ; -C 248 ; WX 611 ; N oslash ; B 63 -39 549 550 ; -C 249 ; WX 556 ; N ugrave ; B 64 -12 484 720 ; -C 250 ; WX 556 ; N uacute ; B 64 -12 484 720 ; -C 251 ; WX 556 ; N ucircumflex ; B 64 -12 484 720 ; -C 252 ; WX 556 ; N udieresis ; B 64 -12 484 720 ; -C 253 ; WX 500 ; N yacute ; B 16 -210 491 720 ; -C 254 ; WX 556 ; N thorn ; B 66 -199 516 716 ; -C 255 ; WX 500 ; N ydieresis ; B 16 -210 491 720 ; -C -1 ; WX 0 ; N .null ; B 86 0 195 716 ; -C -1 ; WX 278 ; N nonmarkingreturn ; B 86 0 195 716 ; -C -1 ; WX 549 ; N notequal ; B 38 -14 511 720 ; -C -1 ; WX 713 ; N infinity ; B 75 189 640 510 ; -C -1 ; WX 549 ; N lessequal ; B 38 52 512 654 ; -C -1 ; WX 549 ; N greaterequal ; B 38 52 512 654 ; -C -1 ; WX 494 ; N partialdiff ; B 27 -12 475 728 ; -C -1 ; WX 713 ; N summation ; B 60 -210 677 728 ; -C -1 ; WX 823 ; N product ; B 79 -210 744 728 ; -C -1 ; WX 549 ; N pi1 ; B 0 0 549 519 ; -C -1 ; WX 274 ; N integral ; B 0 -107 273 910 ; -C -1 ; WX 768 ; N Ohm ; B 62 0 720 734 ; -C -1 ; WX 549 ; N radical ; B 41 -38 549 913 ; -C -1 ; WX 549 ; N approxequal ; B 25 184 524 521 ; -C -1 ; WX 612 ; N increment ; B 13 0 599 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -222 -28 392 728 ; -C -1 ; WX 500 ; N fi ; B 11 0 432 728 ; -C -1 ; WX 500 ; N fl ; B 11 0 431 728 ; -C -1 ; WX 278 ; N dotlessi ; B 97 0 185 519 ; -C -1 ; WX 333 ; N macron ; B 14 599 319 671 ; -C -1 ; WX 333 ; N breve ; B 22 588 311 715 ; -C -1 ; WX 333 ; N dotaccent ; B 112 583 221 692 ; -C -1 ; WX 333 ; N ring ; B 79 562 255 741 ; -C -1 ; WX 333 ; N hungarumlaut ; B 28 583 373 720 ; -C -1 ; WX 333 ; N ogonek ; B 89 -208 303 12 ; -C -1 ; WX 333 ; N caron ; B 20 583 329 720 ; -C -1 ; WX 556 ; N Lslash ; B 0 0 521 716 ; -C -1 ; WX 222 ; N lslash ; B 1 0 218 716 ; -C -1 ; WX 584 ; N minus ; B 56 312 528 394 ; -C -1 ; WX 556 ; N franc ; B 0 0 506 716 ; -C -1 ; WX 778 ; N Gbreve ; B 53 -12 715 886 ; -C -1 ; WX 556 ; N gbreve ; B 32 -210 489 715 ; -C -1 ; WX 278 ; N Idot ; B 86 0 195 869 ; -C -1 ; WX 667 ; N Scedilla ; B 45 -201 615 728 ; -C -1 ; WX 500 ; N scedilla ; B 31 -196 461 530 ; -C -1 ; WX 722 ; N Cacute ; B 50 -12 683 896 ; -C -1 ; WX 500 ; N cacute ; B 39 -12 491 720 ; -C -1 ; WX 722 ; N Ccaron ; B 50 -12 683 894 ; -C -1 ; WX 500 ; N ccaron ; B 39 -12 491 720 ; -C -1 ; WX 556 ; N dmacron ; B 34 -12 555 716 ; -C -1 ; WX 333 ; N middot ; B 243 311 343 411 ; -C -1 ; WX 667 ; N Abreve ; B -1 0 668 886 ; -C -1 ; WX 556 ; N abreve ; B 36 -12 514 715 ; -C -1 ; WX 667 ; N Aogonek ; B -1 -203 756 716 ; -C -1 ; WX 556 ; N aogonek ; B 36 -196 619 530 ; -C -1 ; WX 722 ; N Dcaron ; B 77 0 669 894 ; -C -1 ; WX 615 ; N dcaron ; B 35 -12 616 716 ; -C -1 ; WX 722 ; N Dslash ; B -1 0 669 716 ; -C -1 ; WX 667 ; N Eogonek ; B 79 -208 613 716 ; -C -1 ; WX 556 ; N eogonek ; B 37 -208 515 530 ; -C -1 ; WX 667 ; N Ecaron ; B 79 0 613 894 ; -C -1 ; WX 556 ; N ecaron ; B 37 -12 515 720 ; -C -1 ; WX 556 ; N Lacute ; B 73 0 521 896 ; -C -1 ; WX 222 ; N lacute ; B 32 0 212 889 ; -C -1 ; WX 556 ; N Lcaron ; B 73 0 521 716 ; -C -1 ; WX 292 ; N lcaron ; B 66 0 291 716 ; -C -1 ; WX 556 ; N Ldot ; B 73 0 521 716 ; -C -1 ; WX 334 ; N ldot ; B 64 0 330 716 ; -C -1 ; WX 722 ; N Nacute ; B 76 0 640 896 ; -C -1 ; WX 556 ; N nacute ; B 66 0 487 720 ; -C -1 ; WX 722 ; N Ncaron ; B 76 0 640 896 ; -C -1 ; WX 556 ; N ncaron ; B 66 0 487 720 ; -C -1 ; WX 778 ; N Odblacute ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N odblacute ; B 33 -12 519 720 ; -C -1 ; WX 722 ; N Racute ; B 79 0 709 896 ; -C -1 ; WX 333 ; N racute ; B 65 0 347 720 ; -C -1 ; WX 722 ; N Rcaron ; B 79 0 709 894 ; -C -1 ; WX 333 ; N rcaron ; B 29 0 347 720 ; -C -1 ; WX 667 ; N Sacute ; B 45 -12 615 896 ; -C -1 ; WX 500 ; N sacute ; B 31 -12 461 720 ; -C -1 ; WX 611 ; N Tcedilla ; B 23 -283 591 716 ; -C -1 ; WX 278 ; N tcedilla ; B 18 -260 271 700 ; -C -1 ; WX 611 ; N Tcaron ; B 23 0 591 894 ; -C -1 ; WX 375 ; N tcaron ; B 17 -7 374 716 ; -C -1 ; WX 722 ; N Uring ; B 79 -12 642 896 ; -C -1 ; WX 556 ; N uring ; B 64 -12 484 741 ; -C -1 ; WX 722 ; N Udblacute ; B 79 -12 642 896 ; -C -1 ; WX 556 ; N udblacute ; B 64 -12 484 720 ; -C -1 ; WX 611 ; N Zacute ; B 20 0 586 896 ; -C -1 ; WX 500 ; N zacute ; B 20 0 479 720 ; -C -1 ; WX 611 ; N Zdot ; B 20 0 586 869 ; -C -1 ; WX 500 ; N zdot ; B 20 0 479 692 ; -C -1 ; WX 551 ; N Gamma ; B 80 0 527 716 ; -C -1 ; WX 778 ; N Theta ; B 47 -12 731 729 ; -C -1 ; WX 798 ; N Phi ; B 42 -26 756 737 ; -C -1 ; WX 578 ; N alpha ; B 35 -12 541 530 ; -C -1 ; WX 557 ; N delta ; B 35 -12 521 716 ; -C -1 ; WX 446 ; N epsilon ; B 48 -12 423 530 ; -C -1 ; WX 617 ; N sigma ; B 33 -12 595 530 ; -C -1 ; WX 395 ; N tau ; B 22 0 372 519 ; -C -1 ; WX 648 ; N phi ; B 35 -199 614 531 ; -C -1 ; WX 552 ; N underscoredbl ; B -15 -325 567 -135 ; -C -1 ; WX 500 ; N exclamdbl ; B 86 0 414 716 ; -C -1 ; WX 365 ; N nsuperior ; B 40 253 326 585 ; -C -1 ; WX 1094 ; N peseta ; B 25 -13 1072 716 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 719 ; N intersection ; B 77 0 642 729 ; -C -1 ; WX 583 ; N equivalence ; B 56 95 528 611 ; -C -1 ; WX 604 ; N house ; B 77 0 527 563 ; -C -1 ; WX 584 ; N revlogicalnot ; B 55 207 528 503 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 625 ; N SF110000 ; B 223 -303 309 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 837 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 735 ; N IJ ; B 93 -12 684 716 ; -C -1 ; WX 444 ; N ij ; B 66 -210 387 716 ; -C -1 ; WX 604 ; N napostrophe ; B 53 0 604 723 ; -C -1 ; WX 188 ; N minute ; B 63 462 194 716 ; -C -1 ; WX 354 ; N second ; B 63 462 333 716 ; -C -1 ; WX 885 ; N afii61248 ; B 47 -26 838 728 ; -C -1 ; WX 323 ; N afii61289 ; B 7 -12 315 728 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 64 217 290 443 ; -C -1 ; WX 354 ; N H18551 ; B 64 217 290 443 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 55 208 300 453 ; -C -1 ; WX 667 ; N Amacron ; B -1 0 668 843 ; -C -1 ; WX 556 ; N amacron ; B 36 -12 514 671 ; -C -1 ; WX 722 ; N Ccircumflex ; B 50 -12 683 894 ; -C -1 ; WX 500 ; N ccircumflex ; B 39 -12 491 720 ; -C -1 ; WX 722 ; N Cdot ; B 50 -12 683 888 ; -C -1 ; WX 500 ; N cdot ; B 39 -12 491 692 ; -C -1 ; WX 667 ; N Emacron ; B 79 0 613 848 ; -C -1 ; WX 556 ; N emacron ; B 37 -12 515 671 ; -C -1 ; WX 667 ; N Ebreve ; B 79 0 613 892 ; -C -1 ; WX 556 ; N ebreve ; B 37 -12 515 715 ; -C -1 ; WX 667 ; N Edot ; B 79 0 613 869 ; -C -1 ; WX 556 ; N edot ; B 37 -12 515 692 ; -C -1 ; WX 778 ; N Gcircumflex ; B 53 -12 715 891 ; -C -1 ; WX 556 ; N gcircumflex ; B 32 -210 489 720 ; -C -1 ; WX 778 ; N Gdot ; B 53 -12 715 864 ; -C -1 ; WX 556 ; N gdot ; B 32 -210 489 692 ; -C -1 ; WX 778 ; N Gcedilla ; B 53 -206 715 728 ; -C -1 ; WX 556 ; N gcedilla ; B 32 -210 489 770 ; -C -1 ; WX 722 ; N Hcircumflex ; B 80 0 642 896 ; -C -1 ; WX 556 ; N hcircumflex ; B 66 0 488 896 ; -C -1 ; WX 722 ; N Hbar ; B 15 0 707 716 ; -C -1 ; WX 556 ; N hbar ; B 3 0 488 716 ; -C -1 ; WX 278 ; N Itilde ; B -31 0 296 885 ; -C -1 ; WX 278 ; N itilde ; B -22 0 305 708 ; -C -1 ; WX 278 ; N Imacron ; B -14 0 291 835 ; -C -1 ; WX 278 ; N imacron ; B -11 0 293 671 ; -C -1 ; WX 278 ; N Ibreve ; B 0 0 288 879 ; -C -1 ; WX 278 ; N ibreve ; B -3 0 286 715 ; -C -1 ; WX 278 ; N Iogonek ; B 80 -208 293 716 ; -C -1 ; WX 222 ; N iogonek ; B 50 -208 264 716 ; -C -1 ; WX 500 ; N Jcircumflex ; B 27 -12 541 896 ; -C -1 ; WX 222 ; N jcircumflex ; B -46 -210 266 720 ; -C -1 ; WX 667 ; N Kcedilla ; B 73 -206 665 716 ; -C -1 ; WX 500 ; N kcedilla ; B 66 -206 496 716 ; -C -1 ; WX 500 ; N kgreenlandic ; B 65 0 495 519 ; -C -1 ; WX 556 ; N Lcedilla ; B 73 -206 521 716 ; -C -1 ; WX 222 ; N lcedilla ; B -1 -206 210 716 ; -C -1 ; WX 722 ; N Ncedilla ; B 76 -206 640 716 ; -C -1 ; WX 556 ; N ncedilla ; B 66 -206 487 530 ; -C -1 ; WX 723 ; N Eng ; B 81 -12 670 728 ; -C -1 ; WX 556 ; N eng ; B 68 -210 489 530 ; -C -1 ; WX 778 ; N Omacron ; B 48 -12 733 853 ; -C -1 ; WX 556 ; N omacron ; B 33 -12 519 671 ; -C -1 ; WX 778 ; N Obreve ; B 48 -12 733 892 ; -C -1 ; WX 556 ; N obreve ; B 33 -12 519 715 ; -C -1 ; WX 722 ; N Rcedilla ; B 79 -206 709 716 ; -C -1 ; WX 333 ; N rcedilla ; B 65 -206 347 530 ; -C -1 ; WX 667 ; N Scircumflex ; B 45 -12 615 894 ; -C -1 ; WX 500 ; N scircumflex ; B 31 -12 461 720 ; -C -1 ; WX 611 ; N Tbar ; B 23 0 591 716 ; -C -1 ; WX 278 ; N tbar ; B 6 -7 259 700 ; -C -1 ; WX 722 ; N Utilde ; B 79 -12 642 882 ; -C -1 ; WX 556 ; N utilde ; B 64 -12 484 708 ; -C -1 ; WX 722 ; N Umacron ; B 79 -12 642 845 ; -C -1 ; WX 556 ; N umacron ; B 64 -12 484 671 ; -C -1 ; WX 722 ; N Ubreve ; B 79 -12 642 889 ; -C -1 ; WX 556 ; N ubreve ; B 64 -12 484 715 ; -C -1 ; WX 722 ; N Uogonek ; B 79 -208 642 716 ; -C -1 ; WX 556 ; N uogonek ; B 64 -208 603 519 ; -C -1 ; WX 944 ; N Wcircumflex ; B 12 0 933 896 ; -C -1 ; WX 722 ; N wcircumflex ; B 3 0 714 720 ; -C -1 ; WX 667 ; N Ycircumflex ; B 3 0 659 896 ; -C -1 ; WX 500 ; N ycircumflex ; B 16 -210 491 720 ; -C -1 ; WX 222 ; N longs ; B 67 0 292 728 ; -C -1 ; WX 667 ; N Aringacute ; B -1 0 668 1006 ; -C -1 ; WX 556 ; N aringacute ; B 36 -12 514 939 ; -C -1 ; WX 1000 ; N AEacute ; B 0 0 945 896 ; -C -1 ; WX 889 ; N aeacute ; B 33 -12 849 720 ; -C -1 ; WX 778 ; N Oslashacute ; B 41 -29 741 896 ; -C -1 ; WX 611 ; N oslashacute ; B 63 -39 549 720 ; -C -1 ; WX 278 ; N anoteleia ; B 90 418 190 519 ; -C -1 ; WX 944 ; N Wgrave ; B 12 0 933 896 ; -C -1 ; WX 722 ; N wgrave ; B 3 0 714 720 ; -C -1 ; WX 944 ; N Wacute ; B 12 0 933 896 ; -C -1 ; WX 722 ; N wacute ; B 3 0 714 720 ; -C -1 ; WX 944 ; N Wdieresis ; B 12 0 933 860 ; -C -1 ; WX 722 ; N wdieresis ; B 3 0 714 720 ; -C -1 ; WX 667 ; N Ygrave ; B 3 0 659 896 ; -C -1 ; WX 500 ; N ygrave ; B 16 -210 491 720 ; -C -1 ; WX 222 ; N quotereversed ; B 67 489 169 723 ; -C -1 ; WX 333 ; N radicalex ; B -15 599 349 671 ; -C -1 ; WX 556 ; N afii08941 ; B 13 -14 528 728 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 834 ; N oneeighth ; B 52 -28 813 728 ; -C -1 ; WX 834 ; N threeeighths ; B 17 -28 813 728 ; -C -1 ; WX 834 ; N fiveeighths ; B 17 -28 813 728 ; -C -1 ; WX 834 ; N seveneighths ; B 36 -28 813 728 ; -C -1 ; WX 333 ; N commaaccent ; B 110 -269 219 -71 ; -C -1 ; WX 333 ; N undercommaaccent ; B 52 -206 264 -22 ; -C -1 ; WX 333 ; N tonos ; B 108 583 289 720 ; -C -1 ; WX 333 ; N dieresistonos ; B -11 601 344 736 ; -C -1 ; WX 667 ; N Alphatonos ; B 0 0 669 716 ; -C -1 ; WX 784 ; N Epsilontonos ; B -43 0 730 716 ; -C -1 ; WX 838 ; N Etatonos ; B -43 0 737 716 ; -C -1 ; WX 384 ; N Iotatonos ; B -43 0 271 716 ; -C -1 ; WX 774 ; N Omicrontonos ; B -43 -12 728 729 ; -C -1 ; WX 855 ; N Upsilontonos ; B -43 0 842 716 ; -C -1 ; WX 752 ; N Omegatonos ; B -43 0 706 728 ; -C -1 ; WX 222 ; N iotadieresistonos ; B -66 0 289 736 ; -C -1 ; WX 667 ; N Alpha ; B -1 0 668 716 ; -C -1 ; WX 667 ; N Beta ; B 73 0 614 716 ; -C -1 ; WX 668 ; N Delta ; B -1 0 669 716 ; -C -1 ; WX 667 ; N Epsilon ; B 79 0 613 716 ; -C -1 ; WX 611 ; N Zeta ; B 20 0 586 716 ; -C -1 ; WX 722 ; N Eta ; B 80 0 642 716 ; -C -1 ; WX 278 ; N Iota ; B 93 0 188 716 ; -C -1 ; WX 667 ; N Kappa ; B 73 0 665 716 ; -C -1 ; WX 668 ; N Lambda ; B 5 0 660 716 ; -C -1 ; WX 833 ; N Mu ; B 74 0 757 716 ; -C -1 ; WX 722 ; N Nu ; B 76 0 640 716 ; -C -1 ; WX 650 ; N Xi ; B 53 0 597 716 ; -C -1 ; WX 778 ; N Omicron ; B 48 -12 733 729 ; -C -1 ; WX 722 ; N Pi ; B 80 0 642 716 ; -C -1 ; WX 667 ; N Rho ; B 77 0 624 716 ; -C -1 ; WX 618 ; N Sigma ; B 72 0 579 716 ; -C -1 ; WX 611 ; N Tau ; B 23 0 591 716 ; -C -1 ; WX 667 ; N Upsilon ; B 3 0 659 716 ; -C -1 ; WX 667 ; N Chi ; B 4 0 661 716 ; -C -1 ; WX 835 ; N Psi ; B 62 0 773 716 ; -C -1 ; WX 748 ; N Omega ; B 47 0 701 728 ; -C -1 ; WX 278 ; N Iotadieresis ; B 2 0 276 860 ; -C -1 ; WX 667 ; N Upsilondieresis ; B 3 0 659 860 ; -C -1 ; WX 578 ; N alphatonos ; B 35 -12 541 720 ; -C -1 ; WX 446 ; N epsilontonos ; B 48 -12 423 720 ; -C -1 ; WX 556 ; N etatonos ; B 68 -199 489 720 ; -C -1 ; WX 222 ; N iotatonos ; B 48 0 229 720 ; -C -1 ; WX 547 ; N upsilondieresistonos ; B 66 -12 481 736 ; -C -1 ; WX 575 ; N beta ; B 68 -199 530 728 ; -C -1 ; WX 500 ; N gamma ; B 12 -199 488 519 ; -C -1 ; WX 441 ; N zeta ; B 35 -210 433 716 ; -C -1 ; WX 556 ; N eta ; B 68 -199 489 530 ; -C -1 ; WX 556 ; N theta ; B 45 -12 512 728 ; -C -1 ; WX 222 ; N iota ; B 67 0 155 519 ; -C -1 ; WX 500 ; N kappa ; B 65 0 500 519 ; -C -1 ; WX 500 ; N lambda ; B 12 0 487 716 ; -C -1 ; WX 576 ; N mu ; B 78 -199 497 519 ; -C -1 ; WX 500 ; N nu ; B 13 0 488 519 ; -C -1 ; WX 448 ; N xi ; B 45 -210 430 728 ; -C -1 ; WX 556 ; N omicron ; B 33 -12 519 530 ; -C -1 ; WX 569 ; N rho ; B 64 -199 534 530 ; -C -1 ; WX 482 ; N sigma1 ; B 42 -210 472 530 ; -C -1 ; WX 547 ; N upsilon ; B 66 -12 481 519 ; -C -1 ; WX 525 ; N chi ; B 8 -199 516 519 ; -C -1 ; WX 713 ; N psi ; B 60 -199 653 519 ; -C -1 ; WX 781 ; N omega ; B 42 -12 738 519 ; -C -1 ; WX 222 ; N iotadieresis ; B -23 0 251 720 ; -C -1 ; WX 547 ; N upsilondieresis ; B 66 -12 481 720 ; -C -1 ; WX 556 ; N omicrontonos ; B 33 -12 519 720 ; -C -1 ; WX 547 ; N upsilontonos ; B 66 -12 481 720 ; -C -1 ; WX 781 ; N omegatonos ; B 42 -12 738 720 ; -C -1 ; WX 667 ; N afii10023 ; B 79 0 613 860 ; -C -1 ; WX 865 ; N afii10051 ; B 24 -12 825 716 ; -C -1 ; WX 719 ; N afii10053 ; B 49 -12 683 728 ; -C -1 ; WX 667 ; N afii10054 ; B 45 -12 615 728 ; -C -1 ; WX 278 ; N afii10055 ; B 93 0 188 716 ; -C -1 ; WX 278 ; N afii10056 ; B 2 0 276 860 ; -C -1 ; WX 500 ; N afii10057 ; B 27 -12 422 716 ; -C -1 ; WX 1057 ; N afii10058 ; B 6 -12 1020 716 ; -C -1 ; WX 1010 ; N afii10059 ; B 80 0 973 716 ; -C -1 ; WX 854 ; N afii10060 ; B 24 0 809 716 ; -C -1 ; WX 635 ; N afii10062 ; B 5 -10 632 886 ; -C -1 ; WX 667 ; N afii10017 ; B -1 0 668 716 ; -C -1 ; WX 656 ; N afii10018 ; B 82 0 621 716 ; -C -1 ; WX 667 ; N afii10019 ; B 73 0 614 716 ; -C -1 ; WX 542 ; N afii10020 ; B 79 0 542 716 ; -C -1 ; WX 677 ; N afii10021 ; B 0 -167 642 716 ; -C -1 ; WX 667 ; N afii10022 ; B 79 0 613 716 ; -C -1 ; WX 923 ; N afii10024 ; B 3 0 919 716 ; -C -1 ; WX 604 ; N afii10025 ; B 38 -12 563 728 ; -C -1 ; WX 719 ; N afii10026 ; B 79 0 641 716 ; -C -1 ; WX 719 ; N afii10027 ; B 79 0 641 886 ; -C -1 ; WX 583 ; N afii10028 ; B 79 0 579 716 ; -C -1 ; WX 656 ; N afii10029 ; B 9 -12 578 716 ; -C -1 ; WX 833 ; N afii10030 ; B 74 0 757 716 ; -C -1 ; WX 722 ; N afii10031 ; B 80 0 642 716 ; -C -1 ; WX 778 ; N afii10032 ; B 48 -12 733 729 ; -C -1 ; WX 719 ; N afii10033 ; B 78 0 641 716 ; -C -1 ; WX 667 ; N afii10034 ; B 77 0 624 716 ; -C -1 ; WX 722 ; N afii10035 ; B 50 -12 683 728 ; -C -1 ; WX 611 ; N afii10036 ; B 23 0 591 716 ; -C -1 ; WX 635 ; N afii10037 ; B 5 -10 632 716 ; -C -1 ; WX 760 ; N afii10038 ; B 40 0 720 722 ; -C -1 ; WX 667 ; N afii10039 ; B 4 0 661 716 ; -C -1 ; WX 740 ; N afii10040 ; B 78 -199 706 716 ; -C -1 ; WX 667 ; N afii10041 ; B 42 0 588 716 ; -C -1 ; WX 917 ; N afii10042 ; B 79 0 838 716 ; -C -1 ; WX 938 ; N afii10043 ; B 79 -199 903 716 ; -C -1 ; WX 792 ; N afii10044 ; B 0 0 757 716 ; -C -1 ; WX 885 ; N afii10045 ; B 82 0 802 716 ; -C -1 ; WX 656 ; N afii10046 ; B 81 0 620 716 ; -C -1 ; WX 719 ; N afii10047 ; B 36 -12 670 728 ; -C -1 ; WX 1010 ; N afii10048 ; B 80 -12 959 728 ; -C -1 ; WX 722 ; N afii10049 ; B 13 0 644 716 ; -C -1 ; WX 556 ; N afii10065 ; B 36 -12 514 530 ; -C -1 ; WX 573 ; N afii10066 ; B 44 -12 533 733 ; -C -1 ; WX 531 ; N afii10067 ; B 66 0 492 519 ; -C -1 ; WX 365 ; N afii10068 ; B 66 0 365 519 ; -C -1 ; WX 583 ; N afii10069 ; B 0 -147 553 519 ; -C -1 ; WX 556 ; N afii10070 ; B 37 -12 515 530 ; -C -1 ; WX 669 ; N afii10072 ; B -2 0 672 519 ; -C -1 ; WX 458 ; N afii10073 ; B 24 -12 423 530 ; -C -1 ; WX 559 ; N afii10074 ; B 66 0 492 519 ; -C -1 ; WX 559 ; N afii10075 ; B 66 0 492 715 ; -C -1 ; WX 438 ; N afii10076 ; B 65 0 445 519 ; -C -1 ; WX 583 ; N afii10077 ; B 12 -3 517 519 ; -C -1 ; WX 688 ; N afii10078 ; B 68 0 619 519 ; -C -1 ; WX 552 ; N afii10079 ; B 66 0 486 519 ; -C -1 ; WX 556 ; N afii10080 ; B 33 -12 519 530 ; -C -1 ; WX 542 ; N afii10081 ; B 66 0 476 519 ; -C -1 ; WX 556 ; N afii10082 ; B 66 -199 516 530 ; -C -1 ; WX 500 ; N afii10083 ; B 39 -12 491 530 ; -C -1 ; WX 458 ; N afii10084 ; B 19 0 440 519 ; -C -1 ; WX 500 ; N afii10085 ; B 16 -210 491 519 ; -C -1 ; WX 823 ; N afii10086 ; B 37 -199 786 716 ; -C -1 ; WX 500 ; N afii10087 ; B 7 0 493 519 ; -C -1 ; WX 573 ; N afii10088 ; B 67 -147 543 519 ; -C -1 ; WX 521 ; N afii10089 ; B 34 0 455 519 ; -C -1 ; WX 802 ; N afii10090 ; B 69 0 733 519 ; -C -1 ; WX 823 ; N afii10091 ; B 69 -147 791 519 ; -C -1 ; WX 625 ; N afii10092 ; B 20 0 589 519 ; -C -1 ; WX 719 ; N afii10093 ; B 68 0 647 519 ; -C -1 ; WX 521 ; N afii10094 ; B 64 0 490 519 ; -C -1 ; WX 510 ; N afii10095 ; B 21 -18 474 530 ; -C -1 ; WX 750 ; N afii10096 ; B 67 -12 709 530 ; -C -1 ; WX 542 ; N afii10097 ; B 15 0 474 519 ; -C -1 ; WX 556 ; N afii10071 ; B 37 -12 515 720 ; -C -1 ; WX 556 ; N afii10099 ; B 0 -210 488 716 ; -C -1 ; WX 365 ; N afii10100 ; B 66 0 365 720 ; -C -1 ; WX 510 ; N afii10101 ; B 37 -18 489 530 ; -C -1 ; WX 500 ; N afii10102 ; B 31 -12 461 530 ; -C -1 ; WX 222 ; N afii10103 ; B 66 0 154 716 ; -C -1 ; WX 278 ; N afii10104 ; B 4 0 278 720 ; -C -1 ; WX 222 ; N afii10105 ; B -46 -210 153 716 ; -C -1 ; WX 906 ; N afii10106 ; B 9 -3 871 519 ; -C -1 ; WX 813 ; N afii10107 ; B 64 0 778 519 ; -C -1 ; WX 556 ; N afii10108 ; B 0 0 488 716 ; -C -1 ; WX 500 ; N afii10110 ; B 16 -210 491 715 ; -C -1 ; WX 552 ; N afii10193 ; B 66 -147 486 519 ; -C -1 ; WX 489 ; N afii10050 ; B 79 0 459 914 ; -C -1 ; WX 411 ; N afii10098 ; B 66 0 381 717 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 224 969 294 ; -C -1 ; WX 1073 ; N afii61352 ; B 78 0 1031 716 ; -C -1 ; WX 690 ; N pi ; B 22 0 668 519 ; -C -1 ; WX 333 ; N sheva ; B 125 -210 208 -24 ; -C -1 ; WX 333 ; N hatafsegol ; B 15 -210 318 -24 ; -C -1 ; WX 333 ; N hatafpatah ; B 24 -210 309 -24 ; -C -1 ; WX 333 ; N hatafqamats ; B 24 -210 309 -24 ; -C -1 ; WX 333 ; N hiriq ; B 125 -180 208 -98 ; -C -1 ; WX 333 ; N tsere ; B 62 -180 271 -98 ; -C -1 ; WX 333 ; N segol ; B 62 -210 271 -24 ; -C -1 ; WX 333 ; N patah ; B 68 -154 265 -103 ; -C -1 ; WX 333 ; N qamats ; B 68 -210 265 -77 ; -C -1 ; WX 333 ; N holam ; B 125 577 208 659 ; -C -1 ; WX 333 ; N qubuts ; B 8 -210 325 -25 ; -C -1 ; WX 333 ; N dagesh ; B 125 241 208 323 ; -C -1 ; WX 333 ; N meteg ; B 141 -210 192 -25 ; -C -1 ; WX 383 ; N maqaf ; B 61 440 322 518 ; -C -1 ; WX 333 ; N rafe ; B 68 611 265 662 ; -C -1 ; WX 275 ; N paseq ; B 103 -10 172 625 ; -C -1 ; WX 333 ; N shindot ; B 380 577 462 660 ; -C -1 ; WX 333 ; N sindot ; B -123 577 -41 660 ; -C -1 ; WX 278 ; N sofpasuq ; B 90 0 190 519 ; -C -1 ; WX 563 ; N alef ; B 51 0 536 518 ; -C -1 ; WX 542 ; N bet ; B 24 0 520 524 ; -C -1 ; WX 399 ; N gimel ; B 12 0 363 524 ; -C -1 ; WX 508 ; N dalet ; B 22 0 486 518 ; -C -1 ; WX 602 ; N he ; B 73 0 531 524 ; -C -1 ; WX 247 ; N vav ; B 76 0 171 518 ; -C -1 ; WX 382 ; N zayin ; B 46 0 360 518 ; -C -1 ; WX 599 ; N het ; B 76 0 528 524 ; -C -1 ; WX 590 ; N tet ; B 68 -14 531 529 ; -C -1 ; WX 247 ; N yod ; B 76 250 171 518 ; -C -1 ; WX 509 ; N finalkaf ; B 20 -199 438 524 ; -C -1 ; WX 461 ; N kaf ; B 39 -8 417 527 ; -C -1 ; WX 463 ; N lamed ; B 29 0 409 716 ; -C -1 ; WX 599 ; N finalmem ; B 76 0 528 524 ; -C -1 ; WX 601 ; N mem ; B 39 0 530 524 ; -C -1 ; WX 247 ; N finalnun ; B 76 -199 171 518 ; -C -1 ; WX 353 ; N nun ; B 29 0 279 524 ; -C -1 ; WX 574 ; N samekh ; B 44 -15 530 532 ; -C -1 ; WX 529 ; N ayin ; B 12 -48 463 518 ; -C -1 ; WX 566 ; N finalpe ; B 54 -199 496 524 ; -C -1 ; WX 546 ; N pe ; B 56 -8 502 527 ; -C -1 ; WX 461 ; N finaltsadi ; B 12 -199 422 518 ; -C -1 ; WX 479 ; N tsadi ; B 5 0 425 518 ; -C -1 ; WX 550 ; N qof ; B 73 -199 496 518 ; -C -1 ; WX 509 ; N resh ; B 20 0 438 524 ; -C -1 ; WX 694 ; N shin ; B 49 -14 646 518 ; -C -1 ; WX 643 ; N tav ; B 20 -4 572 524 ; -C -1 ; WX 493 ; N doublevav ; B 76 0 417 518 ; -C -1 ; WX 493 ; N vavyod ; B 76 0 417 518 ; -C -1 ; WX 493 ; N doubleyod ; B 76 250 417 518 ; -C -1 ; WX 236 ; N geresh ; B 44 330 192 518 ; -C -1 ; WX 417 ; N gershayim ; B 44 330 373 518 ; -C -1 ; WX 815 ; N newsheqelsign ; B 76 0 740 518 ; -C -1 ; WX 247 ; N vavshindot ; B -41 0 171 660 ; -C -1 ; WX 509 ; N finalkafsheva ; B 20 -199 438 524 ; -C -1 ; WX 509 ; N finalkafqamats ; B 20 -199 438 524 ; -C -1 ; WX 463 ; N lamedholam ; B -83 0 409 716 ; -C -1 ; WX 463 ; N lamedholamdagesh ; B -83 0 409 716 ; -C -1 ; WX 535 ; N altayin ; B 22 0 469 518 ; -C -1 ; WX 694 ; N shinshindot ; B 49 -14 646 659 ; -C -1 ; WX 694 ; N shinsindot ; B 49 -14 646 659 ; -C -1 ; WX 694 ; N shindageshshindot ; B 49 -14 646 659 ; -C -1 ; WX 694 ; N shindageshsindot ; B 49 -14 646 659 ; -C -1 ; WX 563 ; N alefpatah ; B 51 -154 536 518 ; -C -1 ; WX 563 ; N alefqamats ; B 51 -210 536 518 ; -C -1 ; WX 563 ; N alefmapiq ; B 51 0 536 518 ; -C -1 ; WX 542 ; N betdagesh ; B 24 0 520 524 ; -C -1 ; WX 399 ; N gimeldagesh ; B 12 0 363 524 ; -C -1 ; WX 508 ; N daletdagesh ; B 22 0 486 518 ; -C -1 ; WX 602 ; N hedagesh ; B 73 0 531 524 ; -C -1 ; WX 287 ; N vavdagesh ; B 0 0 211 518 ; -C -1 ; WX 411 ; N zayindagesh ; B 0 0 404 518 ; -C -1 ; WX 590 ; N tetdagesh ; B 68 -14 531 529 ; -C -1 ; WX 287 ; N yoddagesh ; B 0 250 211 518 ; -C -1 ; WX 509 ; N finalkafdagesh ; B 20 -199 438 524 ; -C -1 ; WX 461 ; N kafdagesh ; B 39 -8 417 527 ; -C -1 ; WX 463 ; N lameddagesh ; B 29 0 409 716 ; -C -1 ; WX 601 ; N memdagesh ; B 39 0 530 524 ; -C -1 ; WX 353 ; N nundagesh ; B 29 0 279 524 ; -C -1 ; WX 574 ; N samekhdagesh ; B 44 -15 530 532 ; -C -1 ; WX 566 ; N finalpedagesh ; B 54 -199 496 524 ; -C -1 ; WX 546 ; N pedagesh ; B 56 -8 502 527 ; -C -1 ; WX 479 ; N tsadidagesh ; B 5 0 425 518 ; -C -1 ; WX 550 ; N qofdagesh ; B 73 -199 496 518 ; -C -1 ; WX 509 ; N reshdagesh ; B 20 0 438 524 ; -C -1 ; WX 694 ; N shindagesh ; B 49 -14 646 518 ; -C -1 ; WX 643 ; N tavdages ; B 20 -4 572 524 ; -C -1 ; WX 247 ; N vavholam ; B 76 0 171 659 ; -C -1 ; WX 542 ; N betrafe ; B 24 0 520 662 ; -C -1 ; WX 461 ; N kafrafe ; B 39 -8 417 662 ; -C -1 ; WX 546 ; N perafe ; B 56 -8 502 662 ; -C -1 ; WX 576 ; N aleflamed ; B 29 0 549 716 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 319 ; N afii57388 ; B 83 137 241 443 ; -C -1 ; WX 319 ; N afii57403 ; B 78 136 235 609 ; -C -1 ; WX 356 ; N afii57407 ; B 33 137 326 711 ; -C -1 ; WX 413 ; N afii57409 ; B 59 72 363 400 ; -C -1 ; WX 207 ; N afii57440 ; B -34 143 207 228 ; -C -1 ; WX 201 ; N afii57451 ; B 34 605 201 780 ; -C -1 ; WX 237 ; N afii57452 ; B 34 605 237 794 ; -C -1 ; WX 201 ; N afii57453 ; B 34 -130 201 44 ; -C -1 ; WX 201 ; N afii57454 ; B 34 673 201 774 ; -C -1 ; WX 209 ; N afii57455 ; B 35 605 209 817 ; -C -1 ; WX 201 ; N afii57456 ; B 34 -21 201 80 ; -C -1 ; WX 211 ; N afii57457 ; B 34 605 211 762 ; -C -1 ; WX 165 ; N afii57458 ; B 34 605 165 756 ; -C -1 ; WX 526 ; N afii57392 ; B 186 219 344 452 ; -C -1 ; WX 526 ; N afii57393 ; B 147 143 327 716 ; -C -1 ; WX 526 ; N afii57394 ; B 89 143 391 723 ; -C -1 ; WX 526 ; N afii57395 ; B 63 143 471 723 ; -C -1 ; WX 526 ; N afii57396 ; B 146 143 397 713 ; -C -1 ; WX 526 ; N afii57397 ; B 93 247 438 622 ; -C -1 ; WX 526 ; N afii57398 ; B 85 156 410 710 ; -C -1 ; WX 526 ; N afii57399 ; B 63 143 459 710 ; -C -1 ; WX 526 ; N afii57400 ; B 75 149 472 716 ; -C -1 ; WX 526 ; N afii57401 ; B 107 143 413 725 ; -C -1 ; WX 526 ; N afii57381 ; B 65 84 463 777 ; -C -1 ; WX 319 ; N afii57461 ; B 94 23 230 267 ; -C -1 ; WX 526 ; N afii63167 ; B 87 403 424 744 ; -C -1 ; WX 750 ; N afii57459 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543 ; B 125 0 625 625 ; -C -1 ; WX 282 ; N afii57534 ; B 26 130 262 430 ; -C -1 ; WX 750 ; N afii57494 ; B 125 0 625 625 ; -C -1 ; WX 526 ; N afii62843 ; B 77 147 455 720 ; -C -1 ; WX 526 ; N afii62844 ; B 74 159 441 708 ; -C -1 ; WX 526 ; N afii62845 ; B 99 147 435 717 ; -C -1 ; WX 750 ; N afii64240 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64241 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63954 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57382 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64242 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62881 ; B 34 605 211 917 ; -C -1 ; WX 750 ; N afii57504 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57369 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57370 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57371 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57372 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57373 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57374 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57375 ; B 125 0 625 625 ; -C -1 ; WX 638 ; N afii57391 ; B -34 143 638 228 ; -C -1 ; WX 750 ; N afii57471 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57460 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii52258 ; B 125 0 625 625 ; -C -1 ; WX 713 ; N afii57506 ; B 28 -175 713 469 ; -C -1 ; WX 713 ; N afii62958 ; B 28 -175 713 469 ; -C -1 ; WX 244 ; N afii62956 ; B -34 -175 244 456 ; -C -1 ; WX 244 ; N afii52957 ; B -34 -175 244 456 ; -C -1 ; WX 750 ; N afii57505 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62889 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62887 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62888 ; B 125 0 625 625 ; -C -1 ; WX 563 ; N afii57507 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62961 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62959 ; B -34 -175 530 427 ; -C -1 ; WX 530 ; N afii62960 ; B -34 -175 530 427 ; -C -1 ; WX 489 ; N afii57508 ; B 36 -91 489 723 ; -C -1 ; WX 489 ; N afii62962 ; B 36 -91 489 723 ; -C -1 ; WX 812 ; N afii57567 ; B 10 143 812 734 ; -C -1 ; WX 933 ; N afii62964 ; B 10 143 933 734 ; -C -1 ; WX 394 ; N afii52305 ; B -34 143 394 734 ; -C -1 ; WX 515 ; N afii52306 ; B -34 143 515 734 ; -C -1 ; WX 812 ; N afii57509 ; B 10 143 812 867 ; -C -1 ; WX 933 ; N afii62967 ; B 10 143 933 867 ; -C -1 ; WX 394 ; N afii62965 ; B -34 143 394 876 ; -C -1 ; WX 515 ; N afii62966 ; B -34 143 515 876 ; -C -1 ; WX 638 ; N afii57555 ; B 24 -43 606 462 ; -C -1 ; WX 588 ; N afii52364 ; B 18 -110 588 252 ; -C -1 ; WX 750 ; N afii63753 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63754 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63759 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63763 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63795 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62891 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63808 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62938 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63810 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62942 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62947 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63813 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63823 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63824 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63833 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63844 ; B 125 0 625 625 ; -C -1 ; WX 226 ; N afii62882 ; B 23 605 226 933 ; -C -1 ; WX 211 ; N afii62883 ; B 34 605 211 905 ; -C -1 ; WX 211 ; N afii62884 ; B 34 605 211 840 ; -C -1 ; WX 211 ; N afii62885 ; B 31 606 211 897 ; -C -1 ; WX 211 ; N afii62886 ; B 34 605 211 853 ; -C -1 ; WX 750 ; N afii63846 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63849 ; B 125 0 625 625 ; -C -1 ; WX 0 ; N uni202A ; B -18 -134 210 603 ; -C -1 ; WX 0 ; N uni202B ; B -210 -134 18 603 ; -C -1 ; WX 0 ; N uni202D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N _b_852 ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206A ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206B ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N _b_855 ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uniF00A ; B -18 -208 18 894 ; -C -1 ; WX 0 ; N uniF00B ; B -114 -208 114 894 ; -C -1 ; WX 0 ; N uniF00C ; B -18 -208 109 894 ; -C -1 ; WX 0 ; N uniF00D ; B -109 -208 18 894 ; -C -1 ; WX 0 ; N uniF00E ; B -18 -208 114 894 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 750 ; N afii63904 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63905 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63906 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63908 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63910 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63912 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62927 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63941 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62939 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63948 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63950 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63952 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63956 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63958 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63959 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63960 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63961 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64058 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64059 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N afii64060 ; B 62 -209 273 785 ; -C -1 ; WX 319 ; N afii64061 ; B 45 -209 257 785 ; -C -1 ; WX 750 ; N afii62945 ; B 125 0 625 625 ; -C -1 ; WX 616 ; N afii64184 ; B 10 143 603 766 ; -C -1 ; WX 413 ; N afii52399 ; B 59 72 363 400 ; -C -1 ; WX 207 ; N afii52400 ; B 7 130 206 827 ; -C -1 ; WX 229 ; N afii62753 ; B -18 143 229 827 ; -C -1 ; WX 207 ; N afii57411 ; B 42 130 179 880 ; -C -1 ; WX 229 ; N afii62754 ; B 8 143 229 880 ; -C -1 ; WX 432 ; N afii57412 ; B 24 -77 432 555 ; -C -1 ; WX 432 ; N afii62755 ; B 24 -77 432 555 ; -C -1 ; WX 207 ; N afii57413 ; B 22 -94 165 740 ; -C -1 ; WX 229 ; N afii62756 ; B 9 -94 229 740 ; -C -1 ; WX 638 ; N afii57414 ; B 24 -43 606 555 ; -C -1 ; WX 588 ; N afii62759 ; B 18 -110 588 491 ; -C -1 ; WX 244 ; N afii62757 ; B -34 143 244 668 ; -C -1 ; WX 244 ; N afii62758 ; B -34 143 244 668 ; -C -1 ; WX 207 ; N afii57415 ; B 72 130 165 740 ; -C -1 ; WX 229 ; N afii62760 ; B 9 143 229 740 ; -C -1 ; WX 713 ; N afii57416 ; B 28 -46 713 469 ; -C -1 ; WX 713 ; N afii62763 ; B 28 -46 713 469 ; -C -1 ; WX 244 ; N afii62761 ; B -34 -46 244 456 ; -C -1 ; WX 244 ; N afii62762 ; B -34 -46 244 456 ; -C -1 ; WX 282 ; N afii57417 ; B 0 130 271 641 ; -C -1 ; WX 375 ; N afii62764 ; B -4 143 375 768 ; -C -1 ; WX 713 ; N afii57418 ; B 28 143 713 628 ; -C -1 ; WX 713 ; N afii62767 ; B 28 143 713 628 ; -C -1 ; WX 244 ; N afii62765 ; B -34 143 244 667 ; -C -1 ; WX 244 ; N afii62766 ; B -34 143 244 667 ; -C -1 ; WX 713 ; N afii57419 ; B 28 143 713 715 ; -C -1 ; WX 713 ; N afii62770 ; B 28 143 713 715 ; -C -1 ; WX 244 ; N afii62768 ; B -34 143 244 754 ; -C -1 ; WX 244 ; N afii62769 ; B -34 143 244 754 ; -C -1 ; WX 563 ; N afii57420 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62773 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62771 ; B -34 -33 530 427 ; -C -1 ; WX 530 ; N afii62772 ; B -34 -33 530 427 ; -C -1 ; WX 563 ; N afii57421 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62776 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62774 ; B -34 143 530 427 ; -C -1 ; WX 530 ; N afii62775 ; B -34 143 530 427 ; -C -1 ; WX 563 ; N afii57422 ; B 26 -212 516 639 ; -C -1 ; WX 526 ; N afii62779 ; B 26 -212 526 639 ; -C -1 ; WX 530 ; N afii62777 ; B -34 143 530 639 ; -C -1 ; WX 530 ; N afii62778 ; B -34 143 530 639 ; -C -1 ; WX 337 ; N afii57423 ; B 46 143 337 552 ; -C -1 ; WX 337 ; N afii62780 ; B 46 143 337 552 ; -C -1 ; WX 337 ; N afii57424 ; B 46 143 337 759 ; -C -1 ; WX 337 ; N afii62781 ; B 46 143 337 759 ; -C -1 ; WX 489 ; N afii57425 ; B 36 -91 489 430 ; -C -1 ; WX 489 ; N afii62782 ; B 36 -91 489 430 ; -C -1 ; WX 489 ; N afii57426 ; B 36 -91 489 639 ; -C -1 ; WX 489 ; N afii62783 ; B 36 -91 489 639 ; -C -1 ; WX 821 ; N afii57427 ; B 30 -72 821 417 ; -C -1 ; WX 821 ; N afii62786 ; B 30 -72 821 417 ; -C -1 ; WX 531 ; N afii62784 ; B -34 143 531 401 ; -C -1 ; WX 531 ; N afii62785 ; B -34 143 531 401 ; -C -1 ; WX 821 ; N afii57428 ; B 30 -72 821 715 ; -C -1 ; WX 821 ; N afii62789 ; B 30 -72 821 715 ; -C -1 ; WX 531 ; N afii62787 ; B -34 143 531 715 ; -C -1 ; WX 531 ; N afii62788 ; B -34 143 531 715 ; -C -1 ; WX 1098 ; N afii57429 ; B 30 -72 1098 417 ; -C -1 ; WX 1098 ; N afii62792 ; B 30 -72 1098 417 ; -C -1 ; WX 846 ; N afii62790 ; B -34 143 846 405 ; -C -1 ; WX 846 ; N afii62791 ; B -34 143 846 405 ; -C -1 ; WX 1098 ; N afii57430 ; B 30 -72 1098 590 ; -C -1 ; WX 1098 ; N afii62795 ; B 30 -72 1098 590 ; -C -1 ; WX 846 ; N afii62793 ; B -34 143 846 590 ; -C -1 ; WX 846 ; N afii62794 ; B -34 143 846 590 ; -C -1 ; WX 582 ; N afii57431 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62798 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62796 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62797 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii57432 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62801 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62799 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62800 ; B -34 143 582 793 ; -C -1 ; WX 544 ; N afii57433 ; B 21 -212 516 534 ; -C -1 ; WX 450 ; N afii62804 ; B 26 -212 486 431 ; -C -1 ; WX 526 ; N afii62802 ; B -34 143 470 472 ; -C -1 ; WX 394 ; N afii62803 ; B -34 143 394 418 ; -C -1 ; WX 544 ; N afii57434 ; B 21 -212 516 737 ; -C -1 ; WX 450 ; N afii62807 ; B 26 -212 486 639 ; -C -1 ; WX 526 ; N afii62805 ; B -34 143 470 639 ; -C -1 ; WX 394 ; N afii62806 ; B -34 143 394 639 ; -C -1 ; WX 789 ; N afii57441 ; B 19 143 789 681 ; -C -1 ; WX 789 ; N afii62810 ; B 19 143 789 681 ; -C -1 ; WX 268 ; N afii62808 ; B -34 143 268 726 ; -C -1 ; WX 263 ; N afii62809 ; B -34 143 263 707 ; -C -1 ; WX 582 ; N afii57442 ; B 34 -75 582 683 ; -C -1 ; WX 582 ; N afii62813 ; B 34 -75 582 683 ; -C -1 ; WX 268 ; N afii62811 ; B -34 143 268 740 ; -C -1 ; WX 263 ; N afii62812 ; B -34 143 263 727 ; -C -1 ; WX 601 ; N afii57443 ; B 22 143 601 775 ; -C -1 ; WX 601 ; N afii62816 ; B 22 143 601 775 ; -C -1 ; WX 394 ; N afii57410 ; B -34 143 394 734 ; -C -1 ; WX 394 ; N afii62815 ; B -34 143 394 734 ; -C -1 ; WX 506 ; N afii57444 ; B 35 7 506 775 ; -C -1 ; WX 506 ; N afii62819 ; B 35 7 506 775 ; -C -1 ; WX 207 ; N afii62817 ; B -34 143 207 775 ; -C -1 ; WX 207 ; N afii62818 ; B -34 143 207 775 ; -C -1 ; WX 338 ; N afii57445 ; B 17 -212 338 357 ; -C -1 ; WX 338 ; N afii62822 ; B 17 -212 338 357 ; -C -1 ; WX 394 ; N afii62820 ; B -34 143 394 411 ; -C -1 ; WX 394 ; N afii62821 ; B -34 143 394 411 ; -C -1 ; WX 526 ; N afii57446 ; B 34 -72 526 558 ; -C -1 ; WX 526 ; N afii62825 ; B 34 -72 526 558 ; -C -1 ; WX 244 ; N afii62823 ; B -34 143 244 636 ; -C -1 ; WX 244 ; N afii62824 ; B -34 143 244 636 ; -C -1 ; WX 282 ; N afii57447 ; B 26 130 262 430 ; -C -1 ; WX 375 ; N afii62828 ; B -4 143 375 583 ; -C -1 ; WX 450 ; N afii57470 ; B -34 125 385 555 ; -C -1 ; WX 394 ; N afii62827 ; B -34 -62 394 429 ; -C -1 ; WX 432 ; N afii57448 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N afii62829 ; B 24 -77 432 385 ; -C -1 ; WX 638 ; N afii57449 ; B 24 -43 606 462 ; -C -1 ; WX 588 ; N afii62830 ; B 18 -110 588 252 ; -C -1 ; WX 638 ; N afii57450 ; B 24 -208 606 462 ; -C -1 ; WX 588 ; N afii62833 ; B 18 -212 588 252 ; -C -1 ; WX 244 ; N afii62831 ; B -34 -69 244 456 ; -C -1 ; WX 244 ; N afii62832 ; B -34 -69 244 456 ; -C -1 ; WX 544 ; N afii62834 ; B 31 79 507 827 ; -C -1 ; WX 601 ; N afii62835 ; B 36 118 601 827 ; -C -1 ; WX 544 ; N afii62836 ; B 19 79 507 880 ; -C -1 ; WX 601 ; N afii62837 ; B 28 118 601 880 ; -C -1 ; WX 544 ; N afii62838 ; B 41 -111 507 724 ; -C -1 ; WX 601 ; N afii62839 ; B 36 -111 601 733 ; -C -1 ; WX 544 ; N afii62840 ; B 41 79 507 724 ; -C -1 ; WX 601 ; N afii62841 ; B 36 118 601 733 ; -C -1 ; WX 750 ; N glyph1021 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57454-2 ; B 34 673 201 774 ; -C -1 ; WX 201 ; N afii57451-2 ; B 34 605 201 780 ; -C -1 ; WX 750 ; N glyph1025 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1026 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-2 ; B 125 0 625 625 ; -C -1 ; WX 165 ; N afii57458-2 ; B 34 605 165 756 ; -C -1 ; WX 211 ; N afii57457-2 ; B 34 605 211 762 ; -C -1 ; WX 750 ; N afii57494-2 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-2 ; B 125 0 625 625 ; -C -1 ; WX 209 ; N afii57455-2 ; B 35 605 209 817 ; -C -1 ; WX 237 ; N afii57452-2 ; B 34 605 237 794 ; -C -1 ; WX 750 ; N glyph1034 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1035 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1036 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62884-2 ; B 34 605 211 840 ; -C -1 ; WX 211 ; N afii62881-2 ; B 34 605 211 917 ; -C -1 ; WX 211 ; N afii62886-2 ; B 34 605 211 853 ; -C -1 ; WX 211 ; N afii62883-2 ; B 34 605 211 905 ; -C -1 ; WX 211 ; N afii62885-2 ; B 31 606 211 897 ; -C -1 ; WX 226 ; N afii62882-2 ; B 23 605 226 933 ; -C -1 ; WX 750 ; N afii57504-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57456-2 ; B 34 -21 201 80 ; -C -1 ; WX 201 ; N afii57453-2 ; B 34 -130 201 44 ; -C -1 ; WX 750 ; N glyph1046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1047 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1051 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1052 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1060 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1061 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1062 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1072 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1073 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1077 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1078 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1086 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1087 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1088 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1098 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1099 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N glyph1100 ; B 99 137 223 714 ; -C -1 ; WX 319 ; N glyph1101 ; B 97 137 226 267 ; -C -1 ; WX 319 ; N glyph1102 ; B 97 137 225 542 ; -C -1 ; WX 750 ; N glyph1103 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1104 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1105 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1106 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1107 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1108 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1109 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1110 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1111 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1112 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1113 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1114 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1115 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1116 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1117 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1118 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1119 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1120 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1121 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1122 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1123 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1124 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1125 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1126 ; B 125 0 625 625 ; -C -1 ; WX 125 ; N afii57440-2 ; B -34 143 125 228 ; -C -1 ; WX 1000 ; N afii57440-3 ; B -34 143 1000 228 ; -C -1 ; WX 2000 ; N afii57440-4 ; B -34 143 2000 228 ; -C -1 ; WX 857 ; N Ohorn ; B 48 -12 834 729 ; -C -1 ; WX 656 ; N ohorn ; B 33 -12 625 531 ; -C -1 ; WX 854 ; N Uhorn ; B 79 -12 813 716 ; -C -1 ; WX 669 ; N uhorn ; B 64 -12 639 519 ; -C -1 ; WX 0 ; N glyph1134 ; B -268 819 -91 896 ; -C -1 ; WX 0 ; N glyph1135 ; B -477 819 -301 896 ; -C -1 ; WX 0 ; N glyph1136 ; B -419 755 -235 892 ; -C -1 ; WX 0 ; N uniF006 ; B -209 819 -33 896 ; -C -1 ; WX 0 ; N uniF007 ; B -395 819 -219 896 ; -C -1 ; WX 0 ; N uniF009 ; B -319 755 -135 892 ; -C -1 ; WX 0 ; N combininghookabove ; B -230 738 -17 896 ; -C -1 ; WX 0 ; N uniF010 ; B -244 803 -46 896 ; -C -1 ; WX 0 ; N uniF013 ; B -367 738 -153 896 ; -C -1 ; WX 0 ; N uniF011 ; B -450 803 -252 896 ; -C -1 ; WX 0 ; N uniF01C ; B -298 786 29 898 ; -C -1 ; WX 0 ; N uniF015 ; B -505 811 -178 896 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -444 755 -117 868 ; -C -1 ; WX 0 ; N glyph1147 ; B -146 729 139 800 ; -C -1 ; WX 0 ; N glyph1148 ; B -146 729 153 789 ; -C -1 ; WX 0 ; N uniF02C ; B -124 -159 -24 -59 ; -C -1 ; WX 513 ; N dongsign ; B 78 120 442 716 ; -C -1 ; WX 834 ; N onethird ; B 52 -28 823 728 ; -C -1 ; WX 834 ; N twothirds ; B 12 -28 818 728 ; -C -1 ; WX 0 ; N uniF008 ; B -161 583 22 720 ; -C -1 ; WX 0 ; N glyph1154 ; B -319 583 -135 720 ; -C -1 ; WX 0 ; N glyph1155 ; B -246 583 -63 720 ; -C -1 ; WX 0 ; N uniF00F ; B -419 583 -235 720 ; -C -1 ; WX 0 ; N uniF012 ; B -209 583 4 756 ; -C -1 ; WX 0 ; N uniF014 ; B -367 583 -153 756 ; -C -1 ; WX 0 ; N uniF016 ; B -527 786 -200 898 ; -C -1 ; WX 0 ; N uniF017 ; B -631 786 -304 898 ; -C -1 ; WX 0 ; N uniF018 ; B -665 786 -337 898 ; -C -1 ; WX 0 ; N uniF019 ; B -444 595 -117 708 ; -C -1 ; WX 0 ; N uniF01A ; B -542 595 -215 708 ; -C -1 ; WX 0 ; N uniF01B ; B -573 595 -246 708 ; -C -1 ; WX 0 ; N uniF01E ; B -382 -159 -282 -59 ; -C -1 ; WX 0 ; N uniF01F ; B -439 -159 -339 -59 ; -C -1 ; WX 0 ; N uniF020 ; B -517 -159 -417 -59 ; -C -1 ; WX 0 ; N uniF021 ; B -406 -159 -306 -59 ; -C -1 ; WX 0 ; N uniF022 ; B -551 -159 -451 -59 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -261 755 -77 892 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -186 755 -2 892 ; -C -1 ; WX 0 ; N uniF01D ; B -280 595 47 708 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -382 -159 -282 -59 ; -C -1 ; WX 0 ; N uniF023 ; B -329 -159 -229 -59 ; -C -1 ; WX 0 ; N uniF029 ; B -192 -159 -92 -59 ; -C -1 ; WX 0 ; N uniF02A ; B -158 -159 -58 -59 ; -C -1 ; WX 0 ; N uniF02B ; B -385 -159 -285 -59 ; -C -1 ; WX 0 ; N uniF024 ; B -322 -159 -222 -59 ; -C -1 ; WX 0 ; N uniF025 ; B -332 -159 -232 -59 ; -C -1 ; WX 0 ; N uniF026 ; B -430 -159 -330 -59 ; -C -1 ; WX 0 ; N uniF027 ; B -365 -159 -265 -59 ; -C -1 ; WX 0 ; N uniF028 ; B -479 -159 -378 -59 ; -C -1 ; WX 0 ; N uniF02D ; B -491 811 -164 896 ; -C -1 ; WX 0 ; N uniF02E ; B -491 786 -164 898 ; -C -1 ; WX 0 ; N uniF02F ; B -552 811 -225 896 ; -C -1 ; WX 0 ; N uniF030 ; B -552 786 -225 898 ; -C -1 ; WX 222 ; N uniF031 ; B 66 0 154 519 ; -C -1 ; WX 667 ; N Adotbelow ; B -1 -159 668 716 ; -C -1 ; WX 556 ; N adotbelow ; B 36 -159 514 530 ; -C -1 ; WX 667 ; N Ahookabove ; B -1 0 668 896 ; -C -1 ; WX 556 ; N ahookabove ; B 36 -12 514 756 ; -C -1 ; WX 667 ; N Acircumflexacute ; B -1 0 668 896 ; -C -1 ; WX 556 ; N acircumflexacute ; B 36 -12 514 892 ; -C -1 ; WX 667 ; N Acircumflexgrave ; B -1 0 668 896 ; -C -1 ; WX 556 ; N acircumflexgrave ; B 36 -12 514 892 ; -C -1 ; WX 667 ; N Acircumflexhookabove ; B -1 0 668 896 ; -C -1 ; WX 556 ; N acircumflexhookabove ; B 36 -12 514 896 ; -C -1 ; WX 667 ; N Acircumflextilde ; B -1 0 668 896 ; -C -1 ; WX 556 ; N acircumflextilde ; B 36 -12 514 868 ; -C -1 ; WX 667 ; N Acircumflexdotbelow ; B -1 -159 668 801 ; -C -1 ; WX 556 ; N acircumflexdotbelow ; B 36 -159 514 720 ; -C -1 ; WX 667 ; N Abreveacute ; B -1 0 668 896 ; -C -1 ; WX 556 ; N abreveacute ; B 36 -12 514 892 ; -C -1 ; WX 667 ; N Abrevegrave ; B -1 0 668 896 ; -C -1 ; WX 556 ; N abrevegrave ; B 36 -12 514 892 ; -C -1 ; WX 667 ; N Abrevehookabove ; B -1 0 668 896 ; -C -1 ; WX 556 ; N abrevehookabove ; B 36 -12 514 896 ; -C -1 ; WX 667 ; N Abrevetilde ; B -1 0 668 896 ; -C -1 ; WX 556 ; N abrevetilde ; B 36 -12 514 868 ; -C -1 ; WX 667 ; N Abrevedotbelow ; B -1 -159 668 800 ; -C -1 ; WX 556 ; N abrevedotbelow ; B 36 -159 514 715 ; -C -1 ; WX 667 ; N Edotbelow ; B 79 -159 613 716 ; -C -1 ; WX 556 ; N edotbelow ; B 37 -159 515 530 ; -C -1 ; WX 667 ; N Ehookabove ; B 79 0 613 896 ; -C -1 ; WX 556 ; N ehookabove ; B 37 -12 515 756 ; -C -1 ; WX 667 ; N Etilde ; B 79 0 613 885 ; -C -1 ; WX 556 ; N etilde ; B 37 -12 515 708 ; -C -1 ; WX 667 ; N Ecircumflexacute ; B 79 0 613 896 ; -C -1 ; WX 556 ; N ecircumflexacute ; B 37 -12 515 892 ; -C -1 ; WX 667 ; N Ecircumflexgrave ; B 79 0 613 896 ; -C -1 ; WX 556 ; N ecircumflexgrave ; B 37 -12 515 892 ; -C -1 ; WX 667 ; N Ecircumflexhookabove ; B 79 0 613 896 ; -C -1 ; WX 556 ; N ecircumflexhookabove ; B 37 -12 515 896 ; -C -1 ; WX 667 ; N Ecircumflextilde ; B 79 0 613 896 ; -C -1 ; WX 556 ; N ecircumflextilde ; B 37 -12 515 868 ; -C -1 ; WX 667 ; N Ecircumflexdotbelow ; B 79 -159 613 801 ; -C -1 ; WX 556 ; N ecircumflexdotbelow ; B 37 -159 515 720 ; -C -1 ; WX 278 ; N Ihookabove ; B 48 0 262 896 ; -C -1 ; WX 222 ; N ihookabove ; B 15 0 229 756 ; -C -1 ; WX 278 ; N Idotbelow ; B 91 -159 191 716 ; -C -1 ; WX 222 ; N idotbelow ; B 61 -159 161 716 ; -C -1 ; WX 778 ; N Odotbelow ; B 48 -159 733 729 ; -C -1 ; WX 556 ; N odotbelow ; B 33 -159 519 530 ; -C -1 ; WX 778 ; N Ohookabove ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N ohookabove ; B 33 -12 519 756 ; -C -1 ; WX 778 ; N Ocircumflexacute ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N ocircumflexacute ; B 33 -12 519 892 ; -C -1 ; WX 778 ; N Ocircumflexgrave ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N ocircumflexgrave ; B 33 -12 519 892 ; -C -1 ; WX 778 ; N Ocircumflexhookabove ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N ocircumflexhookabove ; B 33 -12 519 896 ; -C -1 ; WX 778 ; N Ocircumflextilde ; B 48 -12 733 896 ; -C -1 ; WX 556 ; N ocircumflextilde ; B 33 -12 519 868 ; -C -1 ; WX 778 ; N Ocircumflexdotbelow ; B 48 -159 733 801 ; -C -1 ; WX 556 ; N ocircumflexdotbelow ; B 33 -159 519 720 ; -C -1 ; WX 857 ; N Ohornacute ; B 48 -12 834 896 ; -C -1 ; WX 656 ; N ohornacute ; B 33 -12 625 720 ; -C -1 ; WX 857 ; N Ohorngrave ; B 48 -12 834 896 ; -C -1 ; WX 656 ; N ohorngrave ; B 33 -12 625 720 ; -C -1 ; WX 857 ; N Ohornhookabove ; B 48 -12 834 909 ; -C -1 ; WX 656 ; N ohornhookabove ; B 33 -12 625 756 ; -C -1 ; WX 857 ; N Ohorntilde ; B 48 -12 834 873 ; -C -1 ; WX 656 ; N ohorntilde ; B 33 -12 625 708 ; -C -1 ; WX 857 ; N Ohorndotbelow ; B 48 -159 834 729 ; -C -1 ; WX 656 ; N ohorndotbelow ; B 33 -159 625 531 ; -C -1 ; WX 722 ; N Udotbelow ; B 79 -159 642 716 ; -C -1 ; WX 556 ; N udotbelow ; B 64 -159 484 519 ; -C -1 ; WX 722 ; N Uhookabove ; B 79 -12 642 896 ; -C -1 ; WX 556 ; N uhookabove ; B 64 -12 484 756 ; -C -1 ; WX 854 ; N Uhornacute ; B 79 -12 813 896 ; -C -1 ; WX 669 ; N uhornacute ; B 64 -12 639 720 ; -C -1 ; WX 854 ; N Uhorngrave ; B 79 -12 813 896 ; -C -1 ; WX 669 ; N uhorngrave ; B 64 -12 639 720 ; -C -1 ; WX 854 ; N Uhornhookabove ; B 79 -12 813 896 ; -C -1 ; WX 669 ; N uhornhookabove ; B 64 -12 639 756 ; -C -1 ; WX 854 ; N Uhorntilde ; B 79 -12 813 873 ; -C -1 ; WX 669 ; N uhorntilde ; B 64 -12 639 708 ; -C -1 ; WX 854 ; N Uhorndotbelow ; B 79 -159 813 716 ; -C -1 ; WX 669 ; N uhorndotbelow ; B 64 -159 639 519 ; -C -1 ; WX 667 ; N Ydotbelow ; B 3 -159 659 716 ; -C -1 ; WX 500 ; N ydotbelow ; B 16 -210 491 519 ; -C -1 ; WX 667 ; N Yhookabove ; B 3 0 659 896 ; -C -1 ; WX 500 ; N yhookabove ; B 16 -210 491 756 ; -C -1 ; WX 667 ; N Ytilde ; B 3 0 659 873 ; -C -1 ; WX 500 ; N ytilde ; B 16 -210 491 708 ; -C -1 ; WX 667 ; N uni01CD ; B -1 0 668 891 ; -C -1 ; WX 556 ; N uni01CE ; B 36 -12 514 720 ; -C -1 ; WX 278 ; N uni01CF ; B -15 0 294 891 ; -C -1 ; WX 222 ; N uni01D0 ; B -39 0 270 720 ; -C -1 ; WX 778 ; N uni01D1 ; B 48 -12 733 891 ; -C -1 ; WX 556 ; N uni01D2 ; B 33 -12 519 720 ; -C -1 ; WX 722 ; N uni01D3 ; B 79 -12 642 891 ; -C -1 ; WX 556 ; N uni01D4 ; B 64 -12 484 720 ; -C -1 ; WX 722 ; N uni01D5 ; B 79 -12 642 900 ; -C -1 ; WX 556 ; N uni01D6 ; B 64 -12 484 852 ; -C -1 ; WX 722 ; N uni01D7 ; B 79 -12 642 900 ; -C -1 ; WX 556 ; N uni01D8 ; B 64 -12 484 900 ; -C -1 ; WX 722 ; N uni01D9 ; B 79 -12 642 900 ; -C -1 ; WX 556 ; N uni01DA ; B 64 -12 484 900 ; -C -1 ; WX 722 ; N uni01DB ; B 79 -12 642 900 ; -C -1 ; WX 556 ; N uni01DC ; B 64 -12 484 900 ; -C -1 ; WX 0 ; N glyph1292 ; B -126 730 126 900 ; -C -1 ; WX 0 ; N glyph1293 ; B -126 730 126 900 ; -C -1 ; WX 0 ; N glyph1294 ; B -126 730 126 900 ; -C -1 ; WX 0 ; N glyph1295 ; B -126 730 126 900 ; -C -1 ; WX 542 ; N uni0492 ; B -1 0 542 716 ; -C -1 ; WX 365 ; N uni0493 ; B 6 0 365 519 ; -C -1 ; WX 923 ; N uni0496 ; B 3 -199 919 716 ; -C -1 ; WX 669 ; N uni0497 ; B -2 -147 664 519 ; -C -1 ; WX 583 ; N uni049A ; B 79 -199 579 716 ; -C -1 ; WX 438 ; N uni049B ; B 65 -147 433 519 ; -C -1 ; WX 583 ; N uni049C ; B 79 0 579 716 ; -C -1 ; WX 438 ; N uni049D ; B 65 0 445 519 ; -C -1 ; WX 722 ; N uni04A2 ; B 80 -199 707 716 ; -C -1 ; WX 552 ; N uni04A3 ; B 66 -147 542 519 ; -C -1 ; WX 556 ; N uni04AE ; B -1 0 553 716 ; -C -1 ; WX 500 ; N uni04AF ; B 10 -199 491 519 ; -C -1 ; WX 556 ; N uni04B0 ; B -1 0 553 716 ; -C -1 ; WX 500 ; N uni04B1 ; B 10 -199 491 519 ; -C -1 ; WX 667 ; N uni04B2 ; B 4 -199 661 716 ; -C -1 ; WX 500 ; N uni04B3 ; B 7 -147 493 519 ; -C -1 ; WX 667 ; N uni04B8 ; B 42 0 588 716 ; -C -1 ; WX 521 ; N uni04B9 ; B 34 0 455 519 ; -C -1 ; WX 667 ; N uni04BA ; B 79 0 624 716 ; -C -1 ; WX 556 ; N uni04BB ; B 66 0 488 716 ; -C -1 ; WX 752 ; N uni018F ; B 48 -12 711 728 ; -C -1 ; WX 556 ; N uni0259 ; B 42 -12 520 530 ; -C -1 ; WX 778 ; N uni04E8 ; B 47 -12 731 729 ; -C -1 ; WX 556 ; N uni04E9 ; B 33 -12 519 530 ; -C -1 ; WX 713 ; N glyph1320 ; B 28 143 713 469 ; -C -1 ; WX 244 ; N glyph1321 ; B -34 143 244 456 ; -C -1 ; WX 268 ; N glyph1322 ; B -34 143 268 544 ; -C -1 ; WX 263 ; N glyph1323 ; B -34 143 263 494 ; -C -1 ; WX 582 ; N glyph1324 ; B 34 -75 582 445 ; -C -1 ; WX 244 ; N glyph1325 ; B 77 -46 194 66 ; -C -1 ; WX 244 ; N glyph1326 ; B 8 -88 236 68 ; -C -1 ; WX 244 ; N glyph1327 ; B 13 -175 242 68 ; -C -1 ; WX 244 ; N glyph1328 ; B 8 -175 236 68 ; -C -1 ; WX 244 ; N glyph1329 ; B 52 -166 191 68 ; -C -1 ; WX 244 ; N glyph1330 ; B -3 -210 248 68 ; -C -1 ; WX 269 ; N glyph1331 ; B -24 519 269 828 ; -C -1 ; WX 207 ; N glyph1332 ; B 7 732 210 891 ; -C -1 ; WX 207 ; N glyph1333 ; B -5 746 179 890 ; -C -1 ; WX 333 ; N glyph1334 ; B 80 605 240 717 ; -C -1 ; WX 333 ; N glyph1335 ; B 80 605 240 717 ; -C -1 ; WX 207 ; N uni0653 ; B 7 692 206 747 ; -C -1 ; WX 207 ; N uni0654 ; B 42 733 179 880 ; -C -1 ; WX 207 ; N uni0655 ; B 42 -79 179 68 ; -C -1 ; WX 0 ; N uni0670 ; B -24 519 24 809 ; -C -1 ; WX 207 ; N uni0671 ; B 7 130 210 891 ; -C -1 ; WX 229 ; N uniFB51 ; B -32 143 229 891 ; -C -1 ; WX 207 ; N uni0672 ; B -5 130 179 890 ; -C -1 ; WX 229 ; N glyph1343 ; B -25 143 229 890 ; -C -1 ; WX 207 ; N uni0673 ; B 14 -84 198 740 ; -C -1 ; WX 229 ; N glyph1345 ; B -5 -84 229 740 ; -C -1 ; WX 207 ; N uni0675 ; B 72 130 296 740 ; -C -1 ; WX 229 ; N glyph47 ; B 9 143 276 740 ; -C -1 ; WX 432 ; N uni0676 ; B 24 -77 511 597 ; -C -1 ; WX 432 ; N glyph1349 ; B 24 -77 511 597 ; -C -1 ; WX 432 ; N uni0677 ; B 24 -77 511 616 ; -C -1 ; WX 432 ; N glyph1351 ; B 24 -77 511 616 ; -C -1 ; WX 638 ; N uni0678 ; B 24 -43 667 685 ; -C -1 ; WX 588 ; N glyph ; B 18 -110 588 440 ; -C -1 ; WX 713 ; N uni0679 ; B 28 143 713 828 ; -C -1 ; WX 713 ; N uniFB67 ; B 28 143 713 828 ; -C -1 ; WX 244 ; N uniFB68 ; B -34 143 269 828 ; -C -1 ; WX 244 ; N uniFB69 ; B -34 143 269 828 ; -C -1 ; WX 713 ; N uni067A ; B 28 143 713 752 ; -C -1 ; WX 713 ; N uniFB5F ; B 28 143 713 752 ; -C -1 ; WX 244 ; N uniFB60 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N uniFB61 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni067B ; B 28 -166 713 469 ; -C -1 ; WX 713 ; N uniFB53 ; B 28 -166 713 469 ; -C -1 ; WX 244 ; N uniFB54 ; B -34 -166 244 456 ; -C -1 ; WX 244 ; N uniFB55 ; B -34 -166 244 456 ; -C -1 ; WX 713 ; N uni067C ; B 28 31 713 628 ; -C -1 ; WX 713 ; N glyph1367 ; B 28 31 713 628 ; -C -1 ; WX 244 ; N glyph1368 ; B -34 31 244 667 ; -C -1 ; WX 244 ; N glyph1369 ; B -34 31 244 667 ; -C -1 ; WX 713 ; N uni067D ; B 28 143 713 752 ; -C -1 ; WX 713 ; N glyph1371 ; B 28 143 713 752 ; -C -1 ; WX 244 ; N glyph1372 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N glyph1373 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni067F ; B 28 143 713 752 ; -C -1 ; WX 713 ; N uniFB63 ; B 28 143 713 752 ; -C -1 ; WX 244 ; N uniFB64 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N uniFB65 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni0680 ; B 28 -210 713 469 ; -C -1 ; WX 713 ; N uniFB5B ; B 28 -210 713 469 ; -C -1 ; WX 244 ; N uniFB5C ; B -34 -210 248 456 ; -C -1 ; WX 244 ; N uniFB5D ; B -34 -210 248 456 ; -C -1 ; WX 563 ; N uni0681 ; B 26 -212 516 685 ; -C -1 ; WX 526 ; N glyph1383 ; B 26 -212 526 685 ; -C -1 ; WX 530 ; N glyph1384 ; B -34 143 530 685 ; -C -1 ; WX 530 ; N glyph1385 ; B -34 143 530 685 ; -C -1 ; WX 563 ; N uni0682 ; B 26 -212 516 752 ; -C -1 ; WX 526 ; N glyph1387 ; B 26 -212 526 752 ; -C -1 ; WX 530 ; N glyph1388 ; B -34 143 530 752 ; -C -1 ; WX 530 ; N glyph1389 ; B -34 143 530 752 ; -C -1 ; WX 563 ; N uni0683 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB77 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB78 ; B -34 -88 530 427 ; -C -1 ; WX 530 ; N uniFB79 ; B -34 -88 530 427 ; -C -1 ; WX 563 ; N uni0684 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB73 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB74 ; B -34 -166 530 427 ; -C -1 ; WX 530 ; N uniFB75 ; B -34 -166 530 427 ; -C -1 ; WX 563 ; N uni0685 ; B 26 -212 516 752 ; -C -1 ; WX 526 ; N glyph1399 ; B 26 -212 526 752 ; -C -1 ; WX 530 ; N glyph1400 ; B -34 143 530 752 ; -C -1 ; WX 530 ; N glyph1401 ; B -34 143 530 752 ; -C -1 ; WX 563 ; N uni0687 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB7f ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB80 ; B -34 -210 530 427 ; -C -1 ; WX 530 ; N uniFB81 ; B -34 -210 530 427 ; -C -1 ; WX 337 ; N uni0688 ; B 24 143 337 891 ; -C -1 ; WX 337 ; N uniFB89 ; B 24 143 337 891 ; -C -1 ; WX 337 ; N uni0689 ; B 46 31 337 552 ; -C -1 ; WX 337 ; N glyph1409 ; B 46 31 337 552 ; -C -1 ; WX 337 ; N uni068A ; B 46 -46 337 552 ; -C -1 ; WX 337 ; N glyph1411 ; B 46 -46 337 552 ; -C -1 ; WX 337 ; N uni068B ; B 24 -46 337 891 ; -C -1 ; WX 337 ; N glyph1413 ; B 24 -46 337 891 ; -C -1 ; WX 337 ; N uni068C ; B 46 143 337 752 ; -C -1 ; WX 337 ; N uniFB85 ; B 46 143 337 752 ; -C -1 ; WX 337 ; N uni068D ; B 46 -88 337 552 ; -C -1 ; WX 337 ; N uniFB83 ; B 46 -88 337 552 ; -C -1 ; WX 337 ; N uni068E ; B 46 143 337 850 ; -C -1 ; WX 337 ; N uniFB87 ; B 46 143 337 850 ; -C -1 ; WX 337 ; N uni068F ; B 27 143 337 850 ; -C -1 ; WX 337 ; N glyph1421 ; B 27 143 337 850 ; -C -1 ; WX 337 ; N uni0690 ; B 36 143 337 850 ; -C -1 ; WX 337 ; N glyph1423 ; B 36 143 337 850 ; -C -1 ; WX 489 ; N uni0691 ; B 36 -91 489 828 ; -C -1 ; WX 489 ; N uniFB8D ; B 36 -91 489 828 ; -C -1 ; WX 489 ; N uni0692 ; B 36 -91 489 634 ; -C -1 ; WX 489 ; N glyph1426 ; B 36 -91 489 634 ; -C -1 ; WX 489 ; N uni0693 ; B 36 -127 489 430 ; -C -1 ; WX 489 ; N glyph1429 ; B 36 -127 489 430 ; -C -1 ; WX 489 ; N uni0694 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N glyph1431 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N uni0695 ; B 36 -196 489 430 ; -C -1 ; WX 489 ; N glyph1433 ; B 36 -196 489 430 ; -C -1 ; WX 489 ; N uni0696 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N glyph1435 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N uni0697 ; B 36 -91 489 636 ; -C -1 ; WX 489 ; N glyph1437 ; B 36 -91 489 636 ; -C -1 ; WX 489 ; N uni0699 ; B 36 -91 489 758 ; -C -1 ; WX 489 ; N glyph1439 ; B 36 -91 489 758 ; -C -1 ; WX 821 ; N uni069A ; B 30 -72 821 593 ; -C -1 ; WX 821 ; N glyph1441 ; B 30 -72 821 593 ; -C -1 ; WX 531 ; N glyph1442 ; B -34 -46 531 593 ; -C -1 ; WX 531 ; N glyph1443 ; B -34 -46 531 593 ; -C -1 ; WX 821 ; N uni069B ; B 30 -175 822 417 ; -C -1 ; WX 821 ; N glyph1445 ; B 30 -175 822 417 ; -C -1 ; WX 531 ; N glyph1446 ; B -34 -175 531 401 ; -C -1 ; WX 531 ; N glyph1447 ; B -34 -175 531 401 ; -C -1 ; WX 821 ; N uni069C ; B 30 -175 822 723 ; -C -1 ; WX 821 ; N glyph1449 ; B 30 -175 822 723 ; -C -1 ; WX 531 ; N glyph1450 ; B -34 -175 531 723 ; -C -1 ; WX 531 ; N glyph1451 ; B -34 -175 531 723 ; -C -1 ; WX 1098 ; N uni069D ; B 30 -88 1098 417 ; -C -1 ; WX 1098 ; N glyph1453 ; B 30 -88 1098 417 ; -C -1 ; WX 846 ; N glyph1454 ; B -34 -88 846 405 ; -C -1 ; WX 846 ; N glyph1455 ; B -34 -88 846 405 ; -C -1 ; WX 1098 ; N uni069E ; B 30 -72 1098 723 ; -C -1 ; WX 1098 ; N glyph1457 ; B 30 -72 1098 723 ; -C -1 ; WX 846 ; N glyph1458 ; B -34 143 846 723 ; -C -1 ; WX 846 ; N glyph1459 ; B -34 143 846 723 ; -C -1 ; WX 582 ; N uni069F ; B -34 143 582 793 ; -C -1 ; WX 582 ; N glyph1461 ; B -34 143 582 793 ; -C -1 ; WX 544 ; N uni06A0 ; B 21 -212 516 850 ; -C -1 ; WX 450 ; N glyph1463 ; B 26 -212 486 723 ; -C -1 ; WX 526 ; N glyph1464 ; B -34 143 470 771 ; -C -1 ; WX 394 ; N glyph1465 ; B -34 143 394 723 ; -C -1 ; WX 789 ; N uni06A1 ; B 19 143 789 478 ; -C -1 ; WX 789 ; N uni06A2 ; B 19 -46 789 478 ; -C -1 ; WX 789 ; N glyph1468 ; B 19 -46 789 478 ; -C -1 ; WX 268 ; N glyph1469 ; B -34 -46 268 544 ; -C -1 ; WX 263 ; N glyph1470 ; B -34 -46 263 494 ; -C -1 ; WX 789 ; N uni06A3 ; B 19 -46 789 642 ; -C -1 ; WX 789 ; N glyph1472 ; B 19 -46 789 642 ; -C -1 ; WX 268 ; N glyph1473 ; B -34 -46 268 691 ; -C -1 ; WX 263 ; N glyph1474 ; B -34 -46 263 691 ; -C -1 ; WX 789 ; N uni06A4 ; B 19 143 789 771 ; -C -1 ; WX 789 ; N uniFB6B ; B 19 143 789 771 ; -C -1 ; WX 268 ; N uniFB6C ; B -34 143 268 820 ; -C -1 ; WX 263 ; N uniFB6D ; B -34 143 263 820 ; -C -1 ; WX 789 ; N uni06A5 ; B 19 -175 822 478 ; -C -1 ; WX 789 ; N glyph1480 ; B 19 -175 822 478 ; -C -1 ; WX 268 ; N glyph1481 ; B -34 -175 268 544 ; -C -1 ; WX 263 ; N glyph1482 ; B -34 -175 263 494 ; -C -1 ; WX 789 ; N uni06A6 ; B 19 143 789 801 ; -C -1 ; WX 789 ; N uniFB6F ; B 19 143 789 801 ; -C -1 ; WX 268 ; N uniFB70 ; B -34 143 268 840 ; -C -1 ; WX 263 ; N uniFB71 ; B -34 143 263 840 ; -C -1 ; WX 582 ; N uni06A7 ; B 34 -75 582 627 ; -C -1 ; WX 582 ; N glyph1488 ; B 34 -75 582 627 ; -C -1 ; WX 582 ; N uni06A8 ; B 34 -75 582 723 ; -C -1 ; WX 582 ; N glyph1490 ; B 34 -75 582 723 ; -C -1 ; WX 812 ; N uni06AA ; B 10 143 812 673 ; -C -1 ; WX 933 ; N glyph1492 ; B 10 143 933 673 ; -C -1 ; WX 394 ; N glyph1493 ; B -34 143 394 613 ; -C -1 ; WX 515 ; N glyph1494 ; B -34 143 515 613 ; -C -1 ; WX 812 ; N uni06AB ; B 10 143 812 734 ; -C -1 ; WX 933 ; N glyph1496 ; B 10 143 933 734 ; -C -1 ; WX 394 ; N glyph1497 ; B -34 143 394 734 ; -C -1 ; WX 515 ; N glyph1498 ; B -34 143 515 734 ; -C -1 ; WX 601 ; N uni06AC ; B 22 143 601 775 ; -C -1 ; WX 601 ; N glyph1500 ; B 22 143 601 775 ; -C -1 ; WX 394 ; N glyph1501 ; B -34 143 394 843 ; -C -1 ; WX 394 ; N glyph1502 ; B -34 143 394 843 ; -C -1 ; WX 601 ; N uni06AD ; B 22 143 601 879 ; -C -1 ; WX 601 ; N uniFBD4 ; B 22 143 601 879 ; -C -1 ; WX 394 ; N uniFBD5 ; B -34 143 394 852 ; -C -1 ; WX 394 ; N uniFBD6 ; B -34 143 394 852 ; -C -1 ; WX 601 ; N uni06AE ; B 22 -175 601 775 ; -C -1 ; WX 601 ; N glyph1508 ; B 22 -175 601 775 ; -C -1 ; WX 394 ; N glyph1509 ; B -34 -175 394 734 ; -C -1 ; WX 394 ; N glyph1510 ; B -34 -175 394 734 ; -C -1 ; WX 812 ; N uni06B0 ; B 10 143 812 867 ; -C -1 ; WX 933 ; N glyph1512 ; B 10 143 933 867 ; -C -1 ; WX 394 ; N glyph1513 ; B -34 143 394 876 ; -C -1 ; WX 515 ; N glyph1514 ; B -34 143 515 876 ; -C -1 ; WX 812 ; N uni06B1 ; B 10 143 812 891 ; -C -1 ; WX 933 ; N uniFB9B ; B 10 143 933 891 ; -C -1 ; WX 394 ; N uniFB9C ; B -34 143 394 891 ; -C -1 ; WX 515 ; N uniFB9D ; B -34 143 515 891 ; -C -1 ; WX 812 ; N uni06B2 ; B 10 -88 812 867 ; -C -1 ; WX 933 ; N glyph1520 ; B 10 -88 933 867 ; -C -1 ; WX 394 ; N glyph1521 ; B -34 -88 394 876 ; -C -1 ; WX 515 ; N glyph1522 ; B -34 -88 515 876 ; -C -1 ; WX 812 ; N uni06B3 ; B 10 -166 812 867 ; -C -1 ; WX 933 ; N uniFB97 ; B 10 -166 933 867 ; -C -1 ; WX 394 ; N uniFB98 ; B -34 -166 394 876 ; -C -1 ; WX 515 ; N uniFB99 ; B -34 -166 515 876 ; -C -1 ; WX 812 ; N uni06B4 ; B 10 143 812 891 ; -C -1 ; WX 933 ; N glyph1528 ; B 10 143 933 891 ; -C -1 ; WX 394 ; N glyph1529 ; B -34 143 394 891 ; -C -1 ; WX 515 ; N glyph1530 ; B -34 143 515 891 ; -C -1 ; WX 506 ; N uni06B5 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1532 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1533 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1534 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B6 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1536 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1537 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1538 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B7 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1540 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1541 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1542 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B8 ; B 35 -205 506 775 ; -C -1 ; WX 506 ; N glyph1544 ; B 35 -205 506 775 ; -C -1 ; WX 207 ; N glyph1545 ; B -34 -175 217 775 ; -C -1 ; WX 207 ; N glyph1546 ; B -34 -175 217 775 ; -C -1 ; WX 526 ; N uni06B9 ; B 34 -210 526 558 ; -C -1 ; WX 526 ; N glyph1548 ; B 34 -210 526 558 ; -C -1 ; WX 244 ; N glyph1549 ; B -34 -46 244 636 ; -C -1 ; WX 244 ; N glyph1550 ; B -34 -46 244 636 ; -C -1 ; WX 526 ; N uni06BA ; B 34 -72 526 417 ; -C -1 ; WX 526 ; N uniFB9F ; B 34 -72 526 417 ; -C -1 ; WX 526 ; N uni06BB ; B 34 -72 526 789 ; -C -1 ; WX 526 ; N uniFBA1 ; B 34 -72 526 789 ; -C -1 ; WX 526 ; N uni06BC ; B 34 -184 526 558 ; -C -1 ; WX 526 ; N glyph1556 ; B 34 -184 526 558 ; -C -1 ; WX 244 ; N glyph1557 ; B -34 31 244 636 ; -C -1 ; WX 244 ; N glyph1558 ; B -34 31 244 636 ; -C -1 ; WX 526 ; N uni06BD ; B 34 -72 526 723 ; -C -1 ; WX 526 ; N glyph1560 ; B 34 -72 526 723 ; -C -1 ; WX 563 ; N uni06BF ; B 26 -212 516 639 ; -C -1 ; WX 526 ; N glyph1562 ; B 26 -212 526 639 ; -C -1 ; WX 530 ; N glyph1563 ; B -34 -175 530 639 ; -C -1 ; WX 530 ; N glyph1564 ; B -34 -175 530 639 ; -C -1 ; WX 282 ; N uni06C0 ; B 26 130 262 636 ; -C -1 ; WX 375 ; N uniFBA5 ; B -4 143 375 733 ; -C -1 ; WX 388 ; N uni06C1 ; B 13 71 388 328 ; -C -1 ; WX 388 ; N uni06C2 ; B 13 71 388 538 ; -C -1 ; WX 388 ; N uni06C3 ; B 13 71 388 557 ; -C -1 ; WX 432 ; N uni06C4 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N glyph1571 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uni06C5 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uniFBE1 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uni06C6 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uniFBDA ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uni06C7 ; B 24 -77 432 665 ; -C -1 ; WX 432 ; N uniFBD8 ; B 24 -77 432 665 ; -C -1 ; WX 432 ; N uni06C8 ; B 24 -77 432 741 ; -C -1 ; WX 432 ; N uniFBDC ; B 24 -77 432 741 ; -C -1 ; WX 432 ; N uni06C9 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uniFBE3 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uni06CA ; B 24 -77 432 623 ; -C -1 ; WX 432 ; N glyph1583 ; B 24 -77 432 623 ; -C -1 ; WX 432 ; N uni06CB ; B 24 -77 437 710 ; -C -1 ; WX 432 ; N uniFBDF ; B 24 -77 437 710 ; -C -1 ; WX 638 ; N uni06CD ; B -34 -43 606 462 ; -C -1 ; WX 588 ; N glyph1587 ; B -34 -110 588 252 ; -C -1 ; WX 638 ; N uni06CE ; B 24 -43 606 522 ; -C -1 ; WX 588 ; N glyph1589 ; B 18 -110 588 424 ; -C -1 ; WX 244 ; N glyph1590 ; B -34 -69 244 620 ; -C -1 ; WX 244 ; N glyph1591 ; B -34 -69 244 620 ; -C -1 ; WX 432 ; N uni06CF ; B 24 -77 432 586 ; -C -1 ; WX 432 ; N glyph1593 ; B 24 -77 432 586 ; -C -1 ; WX 638 ; N uni06D0 ; B 24 -182 606 462 ; -C -1 ; WX 588 ; N uniFBE5 ; B 18 -212 588 252 ; -C -1 ; WX 244 ; N uniFBE6 ; B -34 -166 244 456 ; -C -1 ; WX 244 ; N uniFBE7 ; B -34 -166 244 456 ; -C -1 ; WX 638 ; N uni06D1 ; B 24 -168 606 462 ; -C -1 ; WX 588 ; N glyph1599 ; B 18 -212 588 252 ; -C -1 ; WX 812 ; N uni06D2 ; B 34 -25 812 373 ; -C -1 ; WX 812 ; N uniFBAF ; B 34 -208 812 228 ; -C -1 ; WX 812 ; N uni06D3 ; B 34 -25 812 489 ; -C -1 ; WX 812 ; N uniFBB1 ; B 34 -208 812 450 ; -C -1 ; WX 207 ; N uni06D4 ; B 20 143 188 228 ; -C -1 ; WX 0 ; N uni06D6 ; B -230 519 231 886 ; -C -1 ; WX 0 ; N uni06D7 ; B -171 519 194 886 ; -C -1 ; WX 0 ; N uni06D8 ; B -102 519 102 646 ; -C -1 ; WX 0 ; N uni06D9 ; B -111 519 111 826 ; -C -1 ; WX 0 ; N uni06DA ; B -116 519 116 825 ; -C -1 ; WX 0 ; N uni06DB ; B -54 519 54 634 ; -C -1 ; WX 0 ; N uni06DC ; B -188 519 188 752 ; -C -1 ; WX 1123 ; N uni06DD ; B 24 -188 1099 886 ; -C -1 ; WX 1084 ; N uni06DE ; B 24 -152 1060 884 ; -C -1 ; WX 0 ; N uni06DF ; B -37 519 37 592 ; -C -1 ; WX 0 ; N uni06E0 ; B -36 519 36 591 ; -C -1 ; WX 0 ; N uni06E1 ; B -134 519 134 654 ; -C -1 ; WX 0 ; N uni06E2 ; B -76 519 77 790 ; -C -1 ; WX 0 ; N uni06E3 ; B -188 -179 188 54 ; -C -1 ; WX 0 ; N uni06E4 ; B -47 519 47 545 ; -C -1 ; WX 194 ; N uni06E5 ; B 0 519 194 738 ; -C -1 ; WX 370 ; N uni06E6 ; B -1 519 370 708 ; -C -1 ; WX 0 ; N uni06E7 ; B -187 519 185 708 ; -C -1 ; WX 0 ; N uni06E8 ; B -117 519 117 819 ; -C -1 ; WX 600 ; N uni06E9 ; B 24 0 576 818 ; -C -1 ; WX 0 ; N uni06EA ; B -82 -165 82 -1 ; -C -1 ; WX 0 ; N uni06EB ; B -82 519 82 683 ; -C -1 ; WX 0 ; N uni06ED ; B -76 -179 77 92 ; -C -1 ; WX 821 ; N uni06FA ; B 30 -72 821 723 ; -C -1 ; WX 821 ; N glyph1629 ; B 30 -72 821 723 ; -C -1 ; WX 531 ; N glyph1630 ; B -34 -46 531 723 ; -C -1 ; WX 531 ; N glyph1631 ; B -34 -46 531 723 ; -C -1 ; WX 1098 ; N uni06FB ; B 30 -72 1098 590 ; -C -1 ; WX 1098 ; N glyph1633 ; B 30 -72 1098 590 ; -C -1 ; WX 846 ; N glyph1634 ; B -34 -46 846 590 ; -C -1 ; WX 846 ; N glyph1635 ; B -34 -46 846 590 ; -C -1 ; WX 544 ; N uni06FC ; B 21 -212 516 737 ; -C -1 ; WX 450 ; N glyph1637 ; B 26 -212 486 639 ; -C -1 ; WX 526 ; N glyph1638 ; B -34 -46 470 639 ; -C -1 ; WX 394 ; N glyph1639 ; B -34 -46 394 639 ; -C -1 ; WX 413 ; N uni06FD ; B 59 -145 363 400 ; -C -1 ; WX 338 ; N uni06FE ; B 17 -212 338 357 ; -C -1 ; WX 282 ; N uniFBA6 ; B 26 130 262 430 ; -C -1 ; WX 244 ; N uniFBA8 ; B -34 -132 244 456 ; -C -1 ; WX 320 ; N uniFBA9 ; B -34 -205 320 365 ; -C -1 ; WX 244 ; N glyph1645 ; B 23 -68 222 49 ; -C -1 ; WX 244 ; N glyph1646 ; B 29 -151 226 -20 ; -C -1 ; WX 244 ; N glyph1647 ; B 9 -136 236 59 ; -C -1 ; WX 244 ; N glyph1648 ; B 86 -64 162 34 ; -C -1 ; WX 244 ; N glyph1649 ; B 53 -70 197 27 ; -C -1 ; WX 812 ; N glyph1650 ; B 10 143 812 852 ; -C -1 ; WX 933 ; N glyph1651 ; B 10 143 933 852 ; -C -1 ; WX 247 ; N uniFB1D ; B 76 109 171 518 ; -C -1 ; WX 0 ; N uniFB1E ; B -144 611 145 737 ; -C -1 ; WX 342 ; N glyph1654 ; B 0 140 342 191 ; -C -1 ; WX 493 ; N uniFB1F ; B 76 140 417 518 ; -C -1 ; WX 544 ; N glyph1656 ; B -5 79 507 890 ; -C -1 ; WX 601 ; N glyph1657 ; B -5 118 601 890 ; -C -1 ; WX 544 ; N glyph1658 ; B 41 -107 507 724 ; -C -1 ; WX 601 ; N glyph1659 ; B 36 -107 601 733 ; -C -1 ; WX 544 ; N glyph1660 ; B 41 79 507 782 ; -C -1 ; WX 601 ; N glyph1661 ; B 36 118 601 782 ; -C -1 ; WX 544 ; N glyph1662 ; B 41 79 514 891 ; -C -1 ; WX 601 ; N glyph1663 ; B 36 118 601 891 ; -C -1 ; WX 544 ; N glyph1664 ; B 41 79 507 891 ; -C -1 ; WX 601 ; N glyph1665 ; B 36 118 601 891 ; -C -1 ; WX 544 ; N glyph1666 ; B 41 79 507 891 ; -C -1 ; WX 601 ; N glyph1667 ; B 36 118 601 891 ; -C -1 ; WX 544 ; N glyph1668 ; B 41 -159 507 724 ; -C -1 ; WX 601 ; N glyph1669 ; B 36 -159 601 733 ; -C -1 ; WX 526 ; N glyph1670 ; B 55 143 485 713 ; -C -1 ; WX 526 ; N glyph1671 ; B 84 107 461 713 ; -C -1 ; WX 544 ; N glyph1672 ; B 7 79 507 891 ; -C -1 ; WX 601 ; N glyph1673 ; B 7 118 601 891 ; -EndCharMetrics -StartKernData -StartKernPairs 908 -KPX space A -55 -KPX space T -18 -KPX space Y -18 -KPX space Alphatonos -55 -KPX space Alpha -55 -KPX space Delta -55 -KPX space Lambda -55 -KPX space Tau -18 -KPX space Upsilon -18 -KPX space Upsilondieresis -18 -KPX one one -74 -KPX A space -55 -KPX A T -74 -KPX A V -74 -KPX A W -37 -KPX A Y -74 -KPX A v -18 -KPX A w -18 -KPX A y -18 -KPX A quoteright -74 -KPX F comma -111 -KPX F period -111 -KPX F A -55 -KPX L space -37 -KPX L T -74 -KPX L V -74 -KPX L W -74 -KPX L Y -74 -KPX L y -37 -KPX L quoteright -55 -KPX P space -18 -KPX P comma -129 -KPX P period -129 -KPX P A -74 -KPX R T -18 -KPX R V -18 -KPX R W -18 -KPX R Y -18 -KPX T space -18 -KPX T comma -111 -KPX T hyphen -55 -KPX T period -111 -KPX T colon -111 -KPX T semicolon -111 -KPX T A -74 -KPX T O -18 -KPX T a -111 -KPX T c -111 -KPX T e -111 -KPX T i -37 -KPX T o -111 -KPX T r -37 -KPX T s -111 -KPX T u -37 -KPX T w -55 -KPX T y -55 -KPX V comma -92 -KPX V hyphen -55 -KPX V period -92 -KPX V colon -37 -KPX V semicolon -37 -KPX V A -74 -KPX V a -74 -KPX V e -55 -KPX V i -18 -KPX V o -55 -KPX V r -37 -KPX V u -37 -KPX V y -37 -KPX W comma -55 -KPX W hyphen -18 -KPX W period -55 -KPX W colon -18 -KPX W semicolon -18 -KPX W A -37 -KPX W a -37 -KPX W e -18 -KPX W o -18 -KPX W r -18 -KPX W u -18 -KPX W y -9 -KPX Y space -18 -KPX Y comma -129 -KPX Y hyphen -92 -KPX Y period -129 -KPX Y colon -55 -KPX Y semicolon -65 -KPX Y A -74 -KPX Y a -74 -KPX Y e -92 -KPX Y i -37 -KPX Y o -92 -KPX Y p -74 -KPX Y q -92 -KPX Y u -55 -KPX Y v -55 -KPX f f -18 -KPX f quoteright 18 -KPX r comma -55 -KPX r period -55 -KPX r quoteright 37 -KPX v comma -74 -KPX v period -74 -KPX w comma -55 -KPX w period -55 -KPX y comma -74 -KPX y period -74 -KPX quoteleft quoteleft -18 -KPX quoteright space -37 -KPX quoteright s -18 -KPX quoteright quoteright -18 -KPX quotedblbase afii10051 -78 -KPX quotedblbase afii10060 -78 -KPX quotedblbase afii10036 -78 -KPX quotedblbase afii10041 -33 -KPX quotedblbase afii10044 -33 -KPX Gamma comma -110 -KPX Gamma period -110 -KPX Gamma iotadieresistonos 80 -KPX Gamma Alpha -92 -KPX Gamma Delta -92 -KPX Gamma Lambda -92 -KPX Gamma iota -43 -KPX Gamma iotadieresis 43 -KPX Theta Alpha -18 -KPX Theta Delta -18 -KPX Theta Lambda -18 -KPX Theta Upsilon -32 -KPX Theta Upsilondieresis -32 -KPX Phi Alpha -29 -KPX Phi Upsilon -32 -KPX Phi Upsilondieresis -32 -KPX delta tau -14 -KPX delta lambda -19 -KPX delta chi -27 -KPX delta pi -14 -KPX tau alpha -14 -KPX tau delta -14 -KPX tau sigma -14 -KPX tau phi -14 -KPX tau alphatonos -14 -KPX tau zeta -14 -KPX tau omicron -14 -KPX tau sigma1 -14 -KPX tau omega -14 -KPX tau omegatonos -14 -KPX phi tau -14 -KPX phi lambda -19 -KPX phi chi -27 -KPX phi pi -14 -KPX Alphatonos Theta -21 -KPX Alphatonos Phi -29 -KPX Alphatonos Omicron -21 -KPX Alphatonos Tau -74 -KPX Alphatonos Upsilon -74 -KPX Alphatonos Upsilondieresis -74 -KPX Alphatonos gamma -18 -KPX Alphatonos nu -18 -KPX Alphatonos chi -18 -KPX Omicrontonos Upsilon -32 -KPX Upsilontonos Theta -56 -KPX Upsilontonos Phi -56 -KPX Upsilontonos alpha -91 -KPX Upsilontonos sigma -91 -KPX Upsilontonos phi -91 -KPX Upsilontonos iotadieresistonos 83 -KPX Upsilontonos Alpha -74 -KPX Upsilontonos Delta -74 -KPX Upsilontonos Lambda -74 -KPX Upsilontonos Omicron -56 -KPX Upsilontonos Omega -48 -KPX Upsilontonos etatonos -74 -KPX Upsilontonos iotatonos -37 -KPX Upsilontonos eta -74 -KPX Upsilontonos iota -37 -KPX Upsilontonos kappa -74 -KPX Upsilontonos mu -74 -KPX Upsilontonos omicron -91 -KPX Upsilontonos iotadieresis 48 -KPX Upsilontonos omicrontonos -91 -KPX Omegatonos Upsilon -23 -KPX Omegatonos Upsilondieresis -23 -KPX Alpha space -55 -KPX Alpha quoteright -74 -KPX Alpha Theta -21 -KPX Alpha Phi -29 -KPX Alpha Omicron -21 -KPX Alpha Tau -74 -KPX Alpha Upsilon -74 -KPX Alpha Upsilondieresis -74 -KPX Alpha gamma -18 -KPX Alpha nu -18 -KPX Alpha chi -18 -KPX Delta space -55 -KPX Delta Theta -21 -KPX Delta Omicron -21 -KPX Delta Tau -58 -KPX Delta Upsilon -74 -KPX Delta Upsilondieresis -74 -KPX Kappa Theta -31 -KPX Kappa Phi -55 -KPX Kappa alpha -12 -KPX Kappa delta -12 -KPX Kappa sigma -12 -KPX Kappa phi -12 -KPX Kappa Omicron -31 -KPX Kappa alphatonos -12 -KPX Kappa zeta -12 -KPX Kappa theta -12 -KPX Kappa xi -12 -KPX Kappa omicron -12 -KPX Kappa omega -12 -KPX Kappa omicrontonos -12 -KPX Kappa omegatonos -12 -KPX Lambda space -55 -KPX Lambda Theta -21 -KPX Lambda Omicron -21 -KPX Lambda Tau -74 -KPX Lambda Upsilon -74 -KPX Lambda Upsilondieresis -74 -KPX Omicron Alpha -18 -KPX Omicron Delta -21 -KPX Omicron Lambda -18 -KPX Omicron Upsilon -32 -KPX Omicron Upsilondieresis -32 -KPX Rho space -18 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -74 -KPX Rho Delta -74 -KPX Rho Lambda -74 -KPX Sigma tau -48 -KPX Sigma pi -48 -KPX Tau space -18 -KPX Tau comma -110 -KPX Tau period -110 -KPX Tau colon -110 -KPX Tau semicolon -110 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -110 -KPX Tau epsilon -110 -KPX Tau sigma -110 -KPX Tau phi -110 -KPX Tau iotadieresistonos 92 -KPX Tau Alpha -74 -KPX Tau Delta -74 -KPX Tau Lambda -74 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -110 -KPX Tau epsilontonos -110 -KPX Tau upsilondieresistonos -87 -KPX Tau gamma -87 -KPX Tau eta -73 -KPX Tau iota -37 -KPX Tau mu -73 -KPX Tau nu -55 -KPX Tau omicron -110 -KPX Tau upsilon -86 -KPX Tau chi -55 -KPX Tau psi -73 -KPX Tau iotadieresis 92 -KPX Tau upsilondieresis -87 -KPX Tau omicrontonos -110 -KPX Tau upsilontonos -87 -KPX Upsilon space -18 -KPX Upsilon comma -128 -KPX Upsilon hyphen -91 -KPX Upsilon period -128 -KPX Upsilon colon -55 -KPX Upsilon semicolon -55 -KPX Upsilon Theta -56 -KPX Upsilon Phi -56 -KPX Upsilon alpha -91 -KPX Upsilon sigma -91 -KPX Upsilon phi -91 -KPX Upsilon iotadieresistonos 92 -KPX Upsilon Alpha -74 -KPX Upsilon Delta -74 -KPX Upsilon Lambda -74 -KPX Upsilon Omicron -56 -KPX Upsilon Omega -48 -KPX Upsilon etatonos -74 -KPX Upsilon iotatonos -37 -KPX Upsilon gamma -48 -KPX Upsilon eta -74 -KPX Upsilon iota -37 -KPX Upsilon kappa -74 -KPX Upsilon mu -74 -KPX Upsilon omicron -91 -KPX Upsilon iotadieresis 59 -KPX Upsilon omicrontonos -91 -KPX Psi alpha -38 -KPX Psi delta -38 -KPX Psi sigma -38 -KPX Psi phi -38 -KPX Psi alphatonos -38 -KPX Psi theta -19 -KPX Psi omicron -38 -KPX Psi omega -38 -KPX Psi omicrontonos -38 -KPX Psi omegatonos -38 -KPX Omega Upsilon -23 -KPX Omega Upsilondieresis -23 -KPX Upsilondieresis space -18 -KPX Upsilondieresis Theta -56 -KPX Upsilondieresis Phi -56 -KPX Upsilondieresis alpha -91 -KPX Upsilondieresis sigma -91 -KPX Upsilondieresis phi -91 -KPX Upsilondieresis iotadieresistonos 83 -KPX Upsilondieresis Alpha -74 -KPX Upsilondieresis Delta -74 -KPX Upsilondieresis Lambda -74 -KPX Upsilondieresis Omicron -56 -KPX Upsilondieresis Omega -48 -KPX Upsilondieresis etatonos -74 -KPX Upsilondieresis iotatonos -37 -KPX Upsilondieresis eta -74 -KPX Upsilondieresis iota -37 -KPX Upsilondieresis kappa -74 -KPX Upsilondieresis mu -74 -KPX Upsilondieresis omicron -91 -KPX Upsilondieresis iotadieresis 48 -KPX Upsilondieresis omicrontonos -91 -KPX zeta alpha -67 -KPX zeta delta -37 -KPX zeta sigma -67 -KPX zeta tau -42 -KPX zeta phi -67 -KPX zeta alphatonos -67 -KPX zeta etatonos -18 -KPX zeta gamma -42 -KPX zeta eta -18 -KPX zeta theta -48 -KPX zeta iota -18 -KPX zeta kappa -18 -KPX zeta nu -42 -KPX zeta omicron -67 -KPX zeta omega -67 -KPX zeta omicrontonos -67 -KPX zeta omegatonos -67 -KPX zeta pi -42 -KPX theta lambda -19 -KPX kappa alpha -12 -KPX kappa delta -12 -KPX kappa sigma -12 -KPX kappa phi -12 -KPX kappa alphatonos -12 -KPX kappa zeta -12 -KPX kappa theta -12 -KPX kappa xi -12 -KPX kappa omicron -12 -KPX kappa sigma1 -12 -KPX kappa omega -12 -KPX kappa omicrontonos -12 -KPX kappa omegatonos -12 -KPX lambda alpha -15 -KPX lambda delta -15 -KPX lambda sigma -15 -KPX lambda phi -18 -KPX lambda alphatonos -15 -KPX lambda xi -15 -KPX lambda omicron -15 -KPX lambda sigma1 -23 -KPX lambda upsilon -24 -KPX lambda omega -15 -KPX lambda omicrontonos -15 -KPX lambda upsilontonos -24 -KPX lambda omegatonos -15 -KPX xi alpha -27 -KPX xi delta -27 -KPX xi sigma -27 -KPX xi phi -27 -KPX xi alphatonos -27 -KPX xi zeta -27 -KPX xi xi -27 -KPX xi omicron -27 -KPX xi sigma1 -27 -KPX xi omicrontonos -27 -KPX omicron tau -14 -KPX omicron lambda -19 -KPX omicron chi -27 -KPX omicron pi -14 -KPX rho tau -14 -KPX rho lambda -19 -KPX rho pi -14 -KPX chi alpha -27 -KPX chi delta -27 -KPX chi sigma -27 -KPX chi phi -27 -KPX chi alphatonos -27 -KPX chi zeta -27 -KPX chi omicron -27 -KPX chi sigma1 -27 -KPX chi omega -27 -KPX chi omicrontonos -27 -KPX chi omegatonos -27 -KPX omega tau -14 -KPX omega lambda -19 -KPX omega chi -27 -KPX omega pi -14 -KPX omicrontonos tau -14 -KPX omicrontonos lambda -19 -KPX omicrontonos chi -27 -KPX omicrontonos pi -14 -KPX omegatonos tau -14 -KPX omegatonos lambda -19 -KPX omegatonos chi -27 -KPX omegatonos pi -14 -KPX afii10052 comma -122 -KPX afii10052 period -122 -KPX afii10052 guillemotleft -67 -KPX afii10052 guillemotright -67 -KPX afii10052 emdash -22 -KPX afii10058 quoteright -78 -KPX afii10059 quoteright -67 -KPX afii10017 quoteright -56 -KPX afii10017 afii10021 33 -KPX afii10017 afii10025 -11 -KPX afii10017 afii10029 22 -KPX afii10017 afii10032 -22 -KPX afii10017 afii10033 -11 -KPX afii10017 afii10035 -22 -KPX afii10017 afii10036 -78 -KPX afii10017 afii10037 -44 -KPX afii10017 afii10038 -33 -KPX afii10017 afii10041 -78 -KPX afii10017 afii10047 -22 -KPX afii10017 afii10065 11 -KPX afii10017 afii10084 -22 -KPX afii10017 afii10085 -11 -KPX afii10017 afii10086 11 -KPX afii10017 afii10095 22 -KPX afii10018 afii10017 -22 -KPX afii10018 afii10025 -11 -KPX afii10018 afii10032 -11 -KPX afii10018 afii10035 -11 -KPX afii10018 afii10036 -45 -KPX afii10018 afii10037 -23 -KPX afii10018 afii10038 -11 -KPX afii10018 afii10039 -22 -KPX afii10018 afii10041 -45 -KPX afii10018 afii10044 -33 -KPX afii10018 afii10047 -11 -KPX afii10018 afii10049 -11 -KPX afii10018 afii10077 -11 -KPX afii10018 afii10085 -22 -KPX afii10019 afii10017 -33 -KPX afii10019 afii10021 -22 -KPX afii10019 afii10024 -22 -KPX afii10019 afii10025 -33 -KPX afii10019 afii10029 -11 -KPX afii10019 afii10032 -33 -KPX afii10019 afii10035 -33 -KPX afii10019 afii10036 -67 -KPX afii10019 afii10037 -33 -KPX afii10019 afii10038 -33 -KPX afii10019 afii10039 -44 -KPX afii10019 afii10041 -45 -KPX afii10019 afii10044 -56 -KPX afii10019 afii10049 -33 -KPX afii10019 afii10069 -11 -KPX afii10019 afii10078 -11 -KPX afii10019 afii10084 -33 -KPX afii10019 afii10085 -11 -KPX afii10019 afii10087 -11 -KPX afii10019 afii10089 -33 -KPX afii10019 afii10097 -11 -KPX afii10020 comma -122 -KPX afii10020 period -122 -KPX afii10020 guillemotleft -67 -KPX afii10020 guillemotright -67 -KPX afii10020 emdash -22 -KPX afii10020 afii10017 -67 -KPX afii10020 afii10021 -67 -KPX afii10020 afii10025 -22 -KPX afii10020 afii10029 -56 -KPX afii10020 afii10030 -23 -KPX afii10020 afii10032 -56 -KPX afii10020 afii10035 -45 -KPX afii10020 afii10049 -33 -KPX afii10020 afii10065 -56 -KPX afii10020 afii10067 -56 -KPX afii10020 afii10069 -67 -KPX afii10020 afii10070 -67 -KPX afii10020 afii10074 -56 -KPX afii10020 afii10077 -56 -KPX afii10020 afii10078 -56 -KPX afii10020 afii10079 -56 -KPX afii10020 afii10080 -67 -KPX afii10020 afii10082 -56 -KPX afii10020 afii10085 -67 -KPX afii10020 afii10093 -56 -KPX afii10020 afii10094 -56 -KPX afii10020 afii10096 -56 -KPX afii10020 afii10097 -67 -KPX afii10021 afii10037 11 -KPX afii10021 afii10038 -22 -KPX afii10021 afii10041 -34 -KPX afii10021 afii10073 33 -KPX afii10021 afii10080 11 -KPX afii10021 afii10085 22 -KPX afii10022 afii10025 -22 -KPX afii10022 afii10083 -11 -KPX afii10024 afii10025 -11 -KPX afii10024 afii10032 -22 -KPX afii10024 afii10035 -11 -KPX afii10024 afii10036 11 -KPX afii10024 afii10037 22 -KPX afii10024 afii10044 22 -KPX afii10024 afii10065 11 -KPX afii10024 afii10070 -12 -KPX afii10024 afii10080 -11 -KPX afii10024 afii10085 -11 -KPX afii10025 afii10029 -11 -KPX afii10025 afii10032 -11 -KPX afii10025 afii10035 -11 -KPX afii10025 afii10036 -22 -KPX afii10025 afii10037 -11 -KPX afii10025 afii10038 -11 -KPX afii10025 afii10041 -22 -KPX afii10025 afii10049 -11 -KPX afii10028 afii10025 -11 -KPX afii10028 afii10032 -11 -KPX afii10028 afii10035 -11 -KPX afii10028 afii10037 11 -KPX afii10028 afii10038 -34 -KPX afii10029 afii10038 -11 -KPX afii10029 afii10066 11 -KPX afii10029 afii10085 11 -KPX afii10030 afii10038 -11 -KPX afii10030 afii10041 -11 -KPX afii10030 afii10065 11 -KPX afii10030 afii10070 11 -KPX afii10030 afii10080 11 -KPX afii10030 afii10083 11 -KPX afii10030 afii10085 11 -KPX afii10030 afii10089 -11 -KPX afii10030 afii10095 11 -KPX afii10032 afii10017 -22 -KPX afii10032 afii10021 -22 -KPX afii10032 afii10024 -22 -KPX afii10032 afii10029 -11 -KPX afii10032 afii10037 -22 -KPX afii10032 afii10039 -45 -KPX afii10032 afii10041 -22 -KPX afii10032 afii10049 -22 -KPX afii10032 afii10069 -22 -KPX afii10032 afii10077 -11 -KPX afii10032 afii10087 -11 -KPX afii10034 comma -189 -KPX afii10034 period -189 -KPX afii10034 colon -22 -KPX afii10034 semicolon -22 -KPX afii10034 guillemotright -56 -KPX afii10034 afii10017 -67 -KPX afii10034 afii10021 -67 -KPX afii10034 afii10024 -11 -KPX afii10034 afii10025 -22 -KPX afii10034 afii10029 -56 -KPX afii10034 afii10030 -11 -KPX afii10034 afii10032 -22 -KPX afii10034 afii10035 -11 -KPX afii10034 afii10036 -45 -KPX afii10034 afii10037 -22 -KPX afii10034 afii10038 -11 -KPX afii10034 afii10039 -45 -KPX afii10034 afii10049 -22 -KPX afii10034 afii10065 -33 -KPX afii10034 afii10069 -78 -KPX afii10034 afii10070 -44 -KPX afii10034 afii10080 -44 -KPX afii10034 afii10095 -22 -KPX afii10034 afii10097 -33 -KPX afii10035 afii10017 -22 -KPX afii10035 afii10021 -22 -KPX afii10035 afii10025 -11 -KPX afii10035 afii10029 -33 -KPX afii10035 afii10030 -11 -KPX afii10035 afii10032 -22 -KPX afii10035 afii10036 -33 -KPX afii10035 afii10037 -33 -KPX afii10035 afii10039 -56 -KPX afii10035 afii10041 -33 -KPX afii10035 afii10044 -34 -KPX afii10035 afii10047 -11 -KPX afii10035 afii10065 11 -KPX afii10035 afii10072 22 -KPX afii10035 afii10089 -11 -KPX afii10036 comma -111 -KPX afii10036 period -111 -KPX afii10036 guillemotleft -44 -KPX afii10036 guillemotright -44 -KPX afii10036 emdash -22 -KPX afii10036 afii10017 -33 -KPX afii10036 afii10021 -33 -KPX afii10036 afii10024 11 -KPX afii10036 afii10025 -11 -KPX afii10036 afii10029 -22 -KPX afii10036 afii10032 -45 -KPX afii10036 afii10038 -33 -KPX afii10036 afii10049 -22 -KPX afii10036 afii10065 -45 -KPX afii10036 afii10067 -44 -KPX afii10036 afii10070 -56 -KPX afii10036 afii10074 -44 -KPX afii10036 afii10076 -44 -KPX afii10036 afii10077 -45 -KPX afii10036 afii10078 -44 -KPX afii10036 afii10080 -78 -KPX afii10036 afii10081 -44 -KPX afii10036 afii10082 -56 -KPX afii10036 afii10083 -56 -KPX afii10036 afii10085 -56 -KPX afii10036 afii10087 -44 -KPX afii10036 afii10091 -44 -KPX afii10036 afii10093 -44 -KPX afii10036 afii10094 -44 -KPX afii10036 afii10096 -44 -KPX afii10036 afii10097 -56 -KPX afii10037 comma -133 -KPX afii10037 period -133 -KPX afii10037 colon -22 -KPX afii10037 semicolon -22 -KPX afii10037 guillemotleft -44 -KPX afii10037 guillemotright -45 -KPX afii10037 emdash -11 -KPX afii10037 afii10017 -67 -KPX afii10037 afii10021 -45 -KPX afii10037 afii10025 -22 -KPX afii10037 afii10029 -33 -KPX afii10037 afii10032 -33 -KPX afii10037 afii10038 -33 -KPX afii10037 afii10047 -22 -KPX afii10037 afii10049 -22 -KPX afii10037 afii10066 -22 -KPX afii10037 afii10067 -56 -KPX afii10037 afii10068 -45 -KPX afii10037 afii10069 -78 -KPX afii10037 afii10070 -67 -KPX afii10037 afii10072 -33 -KPX afii10037 afii10073 -56 -KPX afii10037 afii10074 -45 -KPX afii10037 afii10075 -33 -KPX afii10037 afii10076 -45 -KPX afii10037 afii10077 -67 -KPX afii10037 afii10078 -45 -KPX afii10037 afii10079 -45 -KPX afii10037 afii10080 -67 -KPX afii10037 afii10081 -45 -KPX afii10037 afii10082 -45 -KPX afii10037 afii10083 -67 -KPX afii10037 afii10087 -45 -KPX afii10037 afii10088 -45 -KPX afii10037 afii10090 -45 -KPX afii10037 afii10091 -45 -KPX afii10037 afii10096 -45 -KPX afii10037 afii10097 -67 -KPX afii10038 afii10017 -22 -KPX afii10038 afii10021 -33 -KPX afii10038 afii10029 -33 -KPX afii10038 afii10036 -56 -KPX afii10038 afii10037 -45 -KPX afii10038 afii10041 -22 -KPX afii10038 afii10049 -34 -KPX afii10038 afii10077 -33 -KPX afii10039 afii10025 -22 -KPX afii10039 afii10032 -33 -KPX afii10039 afii10035 -33 -KPX afii10039 afii10038 -33 -KPX afii10039 afii10047 -34 -KPX afii10039 afii10080 -11 -KPX afii10039 afii10085 -22 -KPX afii10040 afii10032 -22 -KPX afii10040 afii10065 22 -KPX afii10043 afii10065 11 -KPX afii10043 afii10085 22 -KPX afii10044 quoteright -67 -KPX afii10044 afii10049 -33 -KPX afii10046 quoteright -78 -KPX afii10046 afii10017 -22 -KPX afii10046 afii10021 -22 -KPX afii10046 afii10024 -33 -KPX afii10046 afii10025 -11 -KPX afii10046 afii10029 -34 -KPX afii10046 afii10030 -22 -KPX afii10046 afii10032 -22 -KPX afii10046 afii10035 -22 -KPX afii10046 afii10036 -100 -KPX afii10046 afii10039 -45 -KPX afii10046 afii10041 -78 -KPX afii10046 afii10047 -11 -KPX afii10046 afii10049 -45 -KPX afii10047 afii10021 -33 -KPX afii10047 afii10024 -12 -KPX afii10047 afii10025 -11 -KPX afii10047 afii10029 -33 -KPX afii10047 afii10039 -34 -KPX afii10047 afii10049 -22 -KPX afii10047 afii10069 -33 -KPX afii10047 afii10072 11 -KPX afii10047 afii10077 -33 -KPX afii10047 afii10078 -11 -KPX afii10047 afii10097 -11 -KPX afii10048 afii10017 -33 -KPX afii10048 afii10021 -44 -KPX afii10048 afii10024 -22 -KPX afii10048 afii10029 -45 -KPX afii10048 afii10032 -11 -KPX afii10048 afii10035 -11 -KPX afii10048 afii10036 -56 -KPX afii10048 afii10039 -45 -KPX afii10048 afii10041 -33 -KPX afii10048 afii10069 -45 -KPX afii10048 afii10077 -45 -KPX afii10048 afii10078 -11 -KPX afii10065 afii10073 -11 -KPX afii10065 afii10084 -22 -KPX afii10065 afii10085 -11 -KPX afii10065 afii10089 -22 -KPX afii10066 afii10065 -23 -KPX afii10066 afii10069 -45 -KPX afii10066 afii10070 -11 -KPX afii10066 afii10072 -11 -KPX afii10066 afii10073 -22 -KPX afii10066 afii10077 -45 -KPX afii10066 afii10078 -22 -KPX afii10066 afii10083 -11 -KPX afii10066 afii10085 -22 -KPX afii10066 afii10086 -11 -KPX afii10066 afii10087 -33 -KPX afii10066 afii10089 -33 -KPX afii10066 afii10092 -33 -KPX afii10066 afii10095 -11 -KPX afii10066 afii10097 -22 -KPX afii10067 afii10065 -11 -KPX afii10067 afii10066 -11 -KPX afii10067 afii10069 -11 -KPX afii10067 afii10070 -11 -KPX afii10067 afii10072 -11 -KPX afii10067 afii10073 -11 -KPX afii10067 afii10077 -23 -KPX afii10067 afii10078 -11 -KPX afii10067 afii10080 -11 -KPX afii10067 afii10083 -11 -KPX afii10067 afii10084 -22 -KPX afii10067 afii10085 -22 -KPX afii10067 afii10086 -11 -KPX afii10067 afii10089 -45 -KPX afii10067 afii10092 -33 -KPX afii10067 afii10097 -11 -KPX afii10068 comma -122 -KPX afii10068 period -122 -KPX afii10068 afii10065 -22 -KPX afii10068 afii10069 -45 -KPX afii10068 afii10070 -22 -KPX afii10068 afii10073 -11 -KPX afii10068 afii10077 -22 -KPX afii10068 afii10080 -22 -KPX afii10068 afii10083 -22 -KPX afii10068 afii10097 -11 -KPX afii10069 afii10092 -22 -KPX afii10069 afii10095 11 -KPX afii10070 afii10066 -11 -KPX afii10070 afii10069 -22 -KPX afii10070 afii10072 -11 -KPX afii10070 afii10073 -22 -KPX afii10070 afii10077 -33 -KPX afii10070 afii10084 -33 -KPX afii10070 afii10085 -11 -KPX afii10070 afii10087 -22 -KPX afii10070 afii10089 -33 -KPX afii10072 afii10066 11 -KPX afii10072 afii10085 11 -KPX afii10072 afii10089 -11 -KPX afii10072 afii10092 22 -KPX afii10073 afii10066 -11 -KPX afii10073 afii10069 -22 -KPX afii10073 afii10070 -11 -KPX afii10073 afii10073 -11 -KPX afii10073 afii10077 -11 -KPX afii10073 afii10080 -11 -KPX afii10073 afii10083 -11 -KPX afii10073 afii10085 -11 -KPX afii10073 afii10086 -11 -KPX afii10073 afii10089 -33 -KPX afii10073 afii10092 -22 -KPX afii10076 afii10065 22 -KPX afii10076 afii10066 22 -KPX afii10076 afii10070 11 -KPX afii10076 afii10073 11 -KPX afii10076 afii10077 11 -KPX afii10076 afii10080 11 -KPX afii10076 afii10083 11 -KPX afii10076 afii10084 11 -KPX afii10076 afii10085 11 -KPX afii10076 afii10095 11 -KPX afii10077 afii10080 11 -KPX afii10077 afii10089 -22 -KPX afii10078 afii10066 -11 -KPX afii10078 afii10073 -11 -KPX afii10078 afii10085 11 -KPX afii10080 afii10069 -22 -KPX afii10080 afii10072 -11 -KPX afii10080 afii10073 -11 -KPX afii10080 afii10077 -22 -KPX afii10080 afii10084 -22 -KPX afii10080 afii10085 -11 -KPX afii10080 afii10087 -11 -KPX afii10080 afii10089 -22 -KPX afii10082 afii10069 -23 -KPX afii10082 afii10073 -11 -KPX afii10082 afii10077 -34 -KPX afii10082 afii10084 -22 -KPX afii10082 afii10085 -11 -KPX afii10082 afii10087 -11 -KPX afii10082 afii10089 -22 -KPX afii10082 afii10097 -11 -KPX afii10083 afii10072 11 -KPX afii10083 afii10080 11 -KPX afii10083 afii10089 -11 -KPX afii10083 afii10095 11 -KPX afii10084 comma -111 -KPX afii10084 period -111 -KPX afii10084 afii10065 -11 -KPX afii10084 afii10069 -33 -KPX afii10084 afii10070 -11 -KPX afii10084 afii10072 33 -KPX afii10084 afii10077 -22 -KPX afii10084 afii10080 -11 -KPX afii10084 afii10083 -11 -KPX afii10084 afii10085 11 -KPX afii10085 comma -100 -KPX afii10085 period -100 -KPX afii10085 guillemotright 11 -KPX afii10085 afii10065 -11 -KPX afii10085 afii10066 11 -KPX afii10085 afii10069 -33 -KPX afii10085 afii10070 -11 -KPX afii10085 afii10072 11 -KPX afii10085 afii10077 -22 -KPX afii10085 afii10078 -11 -KPX afii10085 afii10080 -12 -KPX afii10085 afii10082 -11 -KPX afii10085 afii10083 -11 -KPX afii10085 afii10086 -11 -KPX afii10085 afii10095 -11 -KPX afii10085 afii10097 -11 -KPX afii10086 afii10066 -11 -KPX afii10086 afii10069 -22 -KPX afii10086 afii10077 -22 -KPX afii10086 afii10084 -22 -KPX afii10086 afii10085 -11 -KPX afii10086 afii10089 -22 -KPX afii10086 afii10097 -11 -KPX afii10087 afii10065 -11 -KPX afii10087 afii10066 -11 -KPX afii10087 afii10070 -11 -KPX afii10087 afii10073 -11 -KPX afii10087 afii10080 -11 -KPX afii10087 afii10083 -11 -KPX afii10087 afii10084 -11 -KPX afii10087 afii10086 -11 -KPX afii10087 afii10089 -22 -KPX afii10088 afii10070 -11 -KPX afii10088 afii10073 -11 -KPX afii10088 afii10080 -11 -KPX afii10088 afii10083 -11 -KPX afii10091 afii10070 -11 -KPX afii10091 afii10080 -11 -KPX afii10091 afii10085 11 -KPX afii10094 afii10084 -78 -KPX afii10094 afii10089 -67 -KPX afii10095 afii10069 -22 -KPX afii10095 afii10070 11 -KPX afii10095 afii10073 -11 -KPX afii10095 afii10077 -22 -KPX afii10095 afii10080 11 -KPX afii10095 afii10084 -22 -KPX afii10095 afii10087 -11 -KPX afii10095 afii10097 -11 -KPX afii10096 afii10069 -22 -KPX afii10096 afii10072 -11 -KPX afii10096 afii10077 -22 -KPX afii10096 afii10078 -11 -KPX afii10096 afii10084 -22 -KPX afii10096 afii10087 -11 -KPX afii10096 afii10089 -22 -KPX afii10110 comma -100 -KPX afii10110 period -100 -KPX afii10050 comma -122 -KPX afii10050 period -122 -KPX afii10050 colon -22 -KPX afii10050 semicolon -22 -KPX afii10050 guillemotleft -78 -KPX afii10050 guillemotright -78 -KPX afii10050 emdash -22 -KPX pi alpha -14 -KPX pi sigma -14 -KPX pi phi -14 -KPX pi alphatonos -14 -KPX pi zeta -14 -KPX pi omicron -14 -KPX pi sigma1 -14 -KPX pi omega -14 -KPX pi omegatonos -14 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/arial.ttf b/thirdparty/html2ps_pdf/fonts/arial.ttf deleted file mode 100644 index ff0815cd8..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/arial.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/arialbd.afm b/thirdparty/html2ps_pdf/fonts/arialbd.afm deleted file mode 100644 index 0f5c9f234..000000000 --- a/thirdparty/html2ps_pdf/fonts/arialbd.afm +++ /dev/null @@ -1,2640 +0,0 @@ -StartFontMetrics 4.1 -FontName Arial-BoldMT -FullName Arial Bold -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Arial -Weight Bold -Version Version 3.00 -Characters 1674 -ItalicAngle 0.0 -Ascender 905 -Descender -212 -UnderlineThickness 105 -UnderlinePosition -106 -IsFixedPitch false -FontBBox -627 -376 2000 1010 -StartCharMetrics 1709 -C 0 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 278 ; N space ; B 90 0 238 716 ; -C 33 ; WX 333 ; N exclam ; B 90 0 238 716 ; -C 34 ; WX 474 ; N quotedbl ; B 55 461 424 716 ; -C 35 ; WX 556 ; N numbersign ; B 9 -12 544 728 ; -C 36 ; WX 556 ; N dollar ; B 34 -100 512 773 ; -C 37 ; WX 889 ; N percent ; B 43 -29 842 728 ; -C 38 ; WX 722 ; N ampersand ; B 44 -19 706 728 ; -C 39 ; WX 238 ; N quotesingle ; B 45 461 194 716 ; -C 40 ; WX 333 ; N parenleft ; B 52 -210 301 728 ; -C 41 ; WX 333 ; N parenright ; B 33 -210 281 728 ; -C 42 ; WX 389 ; N asterisk ; B 14 387 368 728 ; -C 43 ; WX 584 ; N plus ; B 42 103 542 604 ; -C 44 ; WX 278 ; N comma ; B 57 -160 206 137 ; -C 45 ; WX 333 ; N hyphen ; B 32 191 301 328 ; -C 46 ; WX 278 ; N period ; B 72 0 209 137 ; -C 47 ; WX 278 ; N slash ; B -1 -12 279 728 ; -C 48 ; WX 556 ; N zero ; B 42 -12 507 719 ; -C 49 ; WX 556 ; N one ; B 79 0 394 719 ; -C 50 ; WX 556 ; N two ; B 25 0 506 719 ; -C 51 ; WX 556 ; N three ; B 38 -12 513 719 ; -C 52 ; WX 556 ; N four ; B 19 0 533 719 ; -C 53 ; WX 556 ; N five ; B 44 -12 526 706 ; -C 54 ; WX 556 ; N six ; B 42 -12 521 719 ; -C 55 ; WX 556 ; N seven ; B 42 0 512 706 ; -C 56 ; WX 556 ; N eight ; B 41 -13 511 719 ; -C 57 ; WX 556 ; N nine ; B 32 -13 510 719 ; -C 58 ; WX 333 ; N colon ; B 98 0 235 519 ; -C 59 ; WX 333 ; N semicolon ; B 83 -160 231 519 ; -C 60 ; WX 584 ; N less ; B 46 82 537 625 ; -C 61 ; WX 584 ; N equal ; B 42 182 542 524 ; -C 62 ; WX 584 ; N greater ; B 46 81 538 625 ; -C 63 ; WX 611 ; N question ; B 52 0 565 723 ; -C 64 ; WX 975 ; N at ; B 30 -210 972 729 ; -C 65 ; WX 722 ; N A ; B 0 0 718 716 ; -C 66 ; WX 722 ; N B ; B 73 0 673 716 ; -C 67 ; WX 722 ; N C ; B 47 -12 671 728 ; -C 68 ; WX 722 ; N D ; B 72 0 672 716 ; -C 69 ; WX 667 ; N E ; B 73 0 617 716 ; -C 70 ; WX 611 ; N F ; B 74 0 564 716 ; -C 71 ; WX 778 ; N G ; B 48 -12 717 728 ; -C 72 ; WX 722 ; N H ; B 73 0 646 716 ; -C 73 ; WX 278 ; N I ; B 68 0 213 716 ; -C 74 ; WX 556 ; N J ; B 17 -12 475 716 ; -C 75 ; WX 722 ; N K ; B 75 0 720 716 ; -C 76 ; WX 611 ; N L ; B 77 0 581 710 ; -C 77 ; WX 833 ; N M ; B 71 0 762 716 ; -C 78 ; WX 722 ; N N ; B 74 0 642 716 ; -C 79 ; WX 778 ; N O ; B 43 -12 738 728 ; -C 80 ; WX 667 ; N P ; B 73 0 621 716 ; -C 81 ; WX 778 ; N Q ; B 43 -72 765 728 ; -C 82 ; WX 722 ; N R ; B 73 0 717 716 ; -C 83 ; WX 667 ; N S ; B 36 -13 618 728 ; -C 84 ; WX 611 ; N T ; B 21 0 590 716 ; -C 85 ; WX 722 ; N U ; B 72 -12 643 716 ; -C 86 ; WX 667 ; N V ; B 0 0 666 716 ; -C 87 ; WX 944 ; N W ; B 3 0 943 716 ; -C 88 ; WX 667 ; N X ; B 0 0 666 716 ; -C 89 ; WX 667 ; N Y ; B -1 0 668 716 ; -C 90 ; WX 611 ; N Z ; B 11 0 592 716 ; -C 91 ; WX 333 ; N bracketleft ; B 71 -202 314 716 ; -C 92 ; WX 278 ; N backslash ; B -1 -12 279 728 ; -C 93 ; WX 333 ; N bracketright ; B 19 -202 262 716 ; -C 94 ; WX 584 ; N asciicircum ; B 56 338 527 728 ; -C 95 ; WX 556 ; N underscore ; B -9 -198 561 -109 ; -C 96 ; WX 333 ; N grave ; B 21 582 242 728 ; -C 97 ; WX 556 ; N a ; B 36 -12 522 530 ; -C 98 ; WX 611 ; N b ; B 66 -12 572 716 ; -C 99 ; WX 556 ; N c ; B 42 -12 531 530 ; -C 100 ; WX 611 ; N d ; B 41 -12 547 716 ; -C 101 ; WX 556 ; N e ; B 32 -12 519 530 ; -C 102 ; WX 333 ; N f ; B 12 0 362 728 ; -C 103 ; WX 611 ; N g ; B 41 -210 547 530 ; -C 104 ; WX 611 ; N h ; B 71 0 543 716 ; -C 105 ; WX 278 ; N i ; B 72 0 209 716 ; -C 106 ; WX 278 ; N j ; B -46 -210 206 716 ; -C 107 ; WX 556 ; N k ; B 67 0 546 716 ; -C 108 ; WX 278 ; N l ; B 72 0 209 716 ; -C 109 ; WX 889 ; N m ; B 62 0 824 530 ; -C 110 ; WX 611 ; N n ; B 71 0 543 530 ; -C 111 ; WX 611 ; N o ; B 40 -12 575 530 ; -C 112 ; WX 611 ; N p ; B 68 -197 574 530 ; -C 113 ; WX 611 ; N q ; B 44 -197 548 530 ; -C 114 ; WX 389 ; N r ; B 66 0 402 530 ; -C 115 ; WX 556 ; N s ; B 23 -12 508 530 ; -C 116 ; WX 333 ; N t ; B 15 -12 321 702 ; -C 117 ; WX 611 ; N u ; B 69 -12 541 519 ; -C 118 ; WX 556 ; N v ; B 5 0 544 519 ; -C 119 ; WX 778 ; N w ; B 4 0 777 519 ; -C 120 ; WX 556 ; N x ; B 6 0 547 519 ; -C 121 ; WX 556 ; N y ; B 7 -210 540 519 ; -C 122 ; WX 500 ; N z ; B 17 0 479 519 ; -C 123 ; WX 389 ; N braceleft ; B 29 -210 363 728 ; -C 124 ; WX 280 ; N bar ; B 86 -210 195 728 ; -C 125 ; WX 389 ; N braceright ; B 22 -210 356 728 ; -C 126 ; WX 584 ; N asciitilde ; B 33 253 551 451 ; -C 127 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 556 ; N Euro ; B -16 -12 525 728 ; -C 129 ; WX 567 ; N afii10052 ; B 75 0 579 903 ; -C 130 ; WX 278 ; N quotesinglbase ; B 57 -160 206 137 ; -C 131 ; WX 556 ; N florin ; B -10 -210 558 728 ; -C 132 ; WX 500 ; N quotedblbase ; B 51 -160 430 137 ; -C 133 ; WX 1000 ; N ellipsis ; B 98 0 902 137 ; -C 134 ; WX 556 ; N dagger ; B 33 -171 517 707 ; -C 135 ; WX 556 ; N daggerdbl ; B 33 -171 517 707 ; -C 136 ; WX 333 ; N circumflex ; B 1 584 332 728 ; -C 137 ; WX 1000 ; N perthousand ; B 0 -29 1000 728 ; -C 138 ; WX 667 ; N Scaron ; B 36 -13 618 904 ; -C 139 ; WX 333 ; N guilsinglleft ; B 37 34 299 480 ; -C 140 ; WX 1000 ; N OE ; B 35 -12 969 728 ; -C 141 ; WX 610 ; N afii10061 ; B 75 0 602 903 ; -C 142 ; WX 611 ; N Zcaron ; B 11 0 592 904 ; -C 143 ; WX 719 ; N afii10145 ; B 75 -197 644 716 ; -C 144 ; WX 500 ; N quotedblbase ; B 51 -160 430 137 ; -C 145 ; WX 278 ; N quoteleft ; B 74 426 223 723 ; -C 146 ; WX 278 ; N quoteright ; B 57 417 206 714 ; -C 147 ; WX 500 ; N quotedblleft ; B 64 426 442 723 ; -C 148 ; WX 500 ; N quotedblright ; B 51 418 430 716 ; -C 149 ; WX 350 ; N bullet ; B 32 209 321 498 ; -C 150 ; WX 556 ; N endash ; B -2 208 554 311 ; -C 151 ; WX 1000 ; N emdash ; B 0 208 1000 311 ; -C 152 ; WX 333 ; N tilde ; B -6 588 332 713 ; -C 153 ; WX 1000 ; N trademark ; B 105 316 877 716 ; -C 154 ; WX 556 ; N scaron ; B 23 -12 508 728 ; -C 155 ; WX 333 ; N guilsinglright ; B 37 34 299 480 ; -C 156 ; WX 944 ; N oe ; B 43 -12 903 530 ; -C 157 ; WX 500 ; N afii10109 ; B 66 0 501 728 ; -C 158 ; WX 500 ; N zcaron ; B 17 0 479 728 ; -C 159 ; WX 667 ; N Ydieresis ; B -1 0 668 875 ; -C 160 ; WX 278 ; N space ; B 90 0 238 716 ; -C 161 ; WX 333 ; N exclamdown ; B 95 -199 244 519 ; -C 162 ; WX 556 ; N cent ; B 41 -197 530 711 ; -C 163 ; WX 556 ; N sterling ; B 6 -12 541 728 ; -C 164 ; WX 556 ; N currency ; B 22 101 531 610 ; -C 165 ; WX 556 ; N yen ; B 0 0 551 716 ; -C 166 ; WX 280 ; N brokenbar ; B 86 -210 195 728 ; -C 167 ; WX 556 ; N section ; B 29 -210 521 728 ; -C 168 ; WX 333 ; N dieresis ; B 2 610 331 728 ; -C 169 ; WX 737 ; N copyright ; B -4 -18 744 730 ; -C 170 ; WX 370 ; N ordfeminine ; B 18 363 346 728 ; -C 171 ; WX 556 ; N guillemotleft ; B 47 34 500 480 ; -C 172 ; WX 584 ; N logicalnot ; B 42 184 542 524 ; -C 173 ; WX 333 ; N hyphen ; B 32 191 301 328 ; -C 174 ; WX 737 ; N registered ; B -4 -18 744 730 ; -C 175 ; WX 552 ; N overscore ; B -9 758 561 847 ; -C 176 ; WX 400 ; N degree ; B 42 417 354 728 ; -C 177 ; WX 549 ; N plusminus ; B 24 0 525 674 ; -C 178 ; WX 333 ; N twosuperior ; B 12 355 309 725 ; -C 179 ; WX 333 ; N threesuperior ; B 20 349 313 725 ; -C 180 ; WX 333 ; N acute ; B 91 582 313 728 ; -C 181 ; WX 576 ; N mu1 ; B 54 -199 526 519 ; -C 182 ; WX 556 ; N paragraph ; B -1 -197 551 716 ; -C 183 ; WX 278 ; N periodcentered ; B 72 280 209 417 ; -C 184 ; WX 333 ; N cedilla ; B 19 -205 285 -6 ; -C 185 ; WX 333 ; N onesuperior ; B 44 355 242 725 ; -C 186 ; WX 365 ; N ordmasculine ; B 13 361 352 728 ; -C 187 ; WX 556 ; N guillemotright ; B 52 34 505 480 ; -C 188 ; WX 834 ; N onequarter ; B 45 -26 824 725 ; -C 189 ; WX 834 ; N onehalf ; B 45 -26 809 725 ; -C 190 ; WX 834 ; N threequarters ; B 20 -26 824 725 ; -C 191 ; WX 611 ; N questiondown ; B 49 -205 563 519 ; -C 192 ; WX 722 ; N Agrave ; B 0 0 718 903 ; -C 193 ; WX 722 ; N Aacute ; B 0 0 718 903 ; -C 194 ; WX 722 ; N Acircumflex ; B 0 0 718 901 ; -C 195 ; WX 722 ; N Atilde ; B 0 0 718 880 ; -C 196 ; WX 722 ; N Adieresis ; B 0 0 718 875 ; -C 197 ; WX 722 ; N Aring ; B 0 0 718 858 ; -C 198 ; WX 1000 ; N AE ; B -42 0 952 716 ; -C 199 ; WX 722 ; N Ccedilla ; B 47 -205 671 728 ; -C 200 ; WX 667 ; N Egrave ; B 73 0 617 903 ; -C 201 ; WX 667 ; N Eacute ; B 73 0 617 903 ; -C 202 ; WX 667 ; N Ecircumflex ; B 73 0 617 901 ; -C 203 ; WX 667 ; N Edieresis ; B 73 0 617 875 ; -C 204 ; WX 278 ; N Igrave ; B -5 0 216 903 ; -C 205 ; WX 278 ; N Iacute ; B 52 0 273 903 ; -C 206 ; WX 278 ; N Icircumflex ; B -21 0 310 901 ; -C 207 ; WX 278 ; N Idieresis ; B -22 0 306 875 ; -C 208 ; WX 722 ; N Eth ; B -1 0 673 716 ; -C 209 ; WX 722 ; N Ntilde ; B 74 0 642 880 ; -C 210 ; WX 778 ; N Ograve ; B 43 -12 738 903 ; -C 211 ; WX 778 ; N Oacute ; B 43 -12 738 903 ; -C 212 ; WX 778 ; N Ocircumflex ; B 43 -12 738 901 ; -C 213 ; WX 778 ; N Otilde ; B 43 -12 738 880 ; -C 214 ; WX 778 ; N Odieresis ; B 43 -12 738 875 ; -C 215 ; WX 584 ; N multiply ; B 53 115 530 591 ; -C 216 ; WX 778 ; N Oslash ; B 31 -40 750 750 ; -C 217 ; WX 722 ; N Ugrave ; B 72 -12 643 903 ; -C 218 ; WX 722 ; N Uacute ; B 72 -12 643 903 ; -C 219 ; WX 722 ; N Ucircumflex ; B 72 -12 643 901 ; -C 220 ; WX 722 ; N Udieresis ; B 72 -12 643 875 ; -C 221 ; WX 667 ; N Yacute ; B -1 0 668 903 ; -C 222 ; WX 667 ; N Thorn ; B 73 0 621 716 ; -C 223 ; WX 611 ; N germandbls ; B 68 -12 576 728 ; -C 224 ; WX 556 ; N agrave ; B 36 -12 522 728 ; -C 225 ; WX 556 ; N aacute ; B 36 -12 522 728 ; -C 226 ; WX 556 ; N acircumflex ; B 36 -12 522 728 ; -C 227 ; WX 556 ; N atilde ; B 36 -12 522 713 ; -C 228 ; WX 556 ; N adieresis ; B 36 -12 522 728 ; -C 229 ; WX 556 ; N aring ; B 36 -12 522 751 ; -C 230 ; WX 889 ; N ae ; B 43 -12 842 530 ; -C 231 ; WX 556 ; N ccedilla ; B 42 -205 531 530 ; -C 232 ; WX 556 ; N egrave ; B 32 -12 519 728 ; -C 233 ; WX 556 ; N eacute ; B 32 -12 519 728 ; -C 234 ; WX 556 ; N ecircumflex ; B 32 -12 519 728 ; -C 235 ; WX 556 ; N edieresis ; B 32 -12 519 728 ; -C 236 ; WX 278 ; N igrave ; B -11 0 210 728 ; -C 237 ; WX 278 ; N iacute ; B 62 0 283 728 ; -C 238 ; WX 278 ; N icircumflex ; B -25 0 306 728 ; -C 239 ; WX 278 ; N idieresis ; B -23 0 305 728 ; -C 240 ; WX 611 ; N eth ; B 41 -12 574 716 ; -C 241 ; WX 611 ; N ntilde ; B 71 0 543 713 ; -C 242 ; WX 611 ; N ograve ; B 40 -12 575 728 ; -C 243 ; WX 611 ; N oacute ; B 40 -12 575 728 ; -C 244 ; WX 611 ; N ocircumflex ; B 40 -12 575 728 ; -C 245 ; WX 611 ; N otilde ; B 40 -12 575 713 ; -C 246 ; WX 611 ; N odieresis ; B 40 -12 575 728 ; -C 247 ; WX 549 ; N divide ; B 24 90 524 616 ; -C 248 ; WX 611 ; N oslash ; B 42 -36 578 546 ; -C 249 ; WX 611 ; N ugrave ; B 69 -12 541 728 ; -C 250 ; WX 611 ; N uacute ; B 69 -12 541 728 ; -C 251 ; WX 611 ; N ucircumflex ; B 69 -12 541 728 ; -C 252 ; WX 611 ; N udieresis ; B 69 -12 541 728 ; -C 253 ; WX 556 ; N yacute ; B 7 -210 540 728 ; -C 254 ; WX 611 ; N thorn ; B 68 -197 574 716 ; -C 255 ; WX 556 ; N ydieresis ; B 7 -210 540 728 ; -C -1 ; WX 0 ; N .null ; B 90 0 238 716 ; -C -1 ; WX 278 ; N nonmarkingreturn ; B 90 0 238 716 ; -C -1 ; WX 549 ; N notequal ; B 24 -12 524 719 ; -C -1 ; WX 713 ; N infinity ; B 74 182 640 523 ; -C -1 ; WX 549 ; N lessequal ; B 29 0 520 708 ; -C -1 ; WX 549 ; N greaterequal ; B 29 0 520 708 ; -C -1 ; WX 494 ; N partialdiff ; B 20 -12 475 728 ; -C -1 ; WX 713 ; N summation ; B 60 -210 677 728 ; -C -1 ; WX 823 ; N product ; B 79 -210 744 728 ; -C -1 ; WX 549 ; N pi1 ; B 0 0 549 519 ; -C -1 ; WX 274 ; N integral ; B 0 -107 273 910 ; -C -1 ; WX 768 ; N Ohm ; B 27 0 747 734 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 15 135 534 569 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -167 -26 334 725 ; -C -1 ; WX 611 ; N fi ; B 15 0 538 728 ; -C -1 ; WX 611 ; N fl ; B 15 0 538 728 ; -C -1 ; WX 278 ; N dotlessi ; B 72 0 209 519 ; -C -1 ; WX 333 ; N macron ; B 9 604 324 694 ; -C -1 ; WX 333 ; N breve ; B 13 586 317 728 ; -C -1 ; WX 333 ; N dotaccent ; B 100 598 235 728 ; -C -1 ; WX 333 ; N ring ; B 71 560 262 751 ; -C -1 ; WX 333 ; N hungarumlaut ; B 47 584 439 730 ; -C -1 ; WX 333 ; N ogonek ; B 78 -210 295 13 ; -C -1 ; WX 333 ; N caron ; B 1 584 332 728 ; -C -1 ; WX 611 ; N Lslash ; B 5 0 584 716 ; -C -1 ; WX 278 ; N lslash ; B 5 0 276 716 ; -C -1 ; WX 584 ; N minus ; B 42 289 542 417 ; -C -1 ; WX 556 ; N franc ; B 0 0 506 716 ; -C -1 ; WX 778 ; N Gbreve ; B 48 -12 717 896 ; -C -1 ; WX 611 ; N gbreve ; B 41 -210 547 728 ; -C -1 ; WX 278 ; N Idot ; B 68 0 213 887 ; -C -1 ; WX 667 ; N Scedilla ; B 36 -205 618 728 ; -C -1 ; WX 556 ; N scedilla ; B 23 -205 508 530 ; -C -1 ; WX 722 ; N Cacute ; B 47 -12 671 903 ; -C -1 ; WX 556 ; N cacute ; B 42 -12 531 728 ; -C -1 ; WX 722 ; N Ccaron ; B 47 -12 671 904 ; -C -1 ; WX 556 ; N ccaron ; B 42 -12 531 728 ; -C -1 ; WX 611 ; N dmacron ; B 41 -12 602 716 ; -C -1 ; WX 333 ; N middot ; B 239 280 376 417 ; -C -1 ; WX 722 ; N Abreve ; B 0 0 718 896 ; -C -1 ; WX 556 ; N abreve ; B 36 -12 522 728 ; -C -1 ; WX 722 ; N Aogonek ; B 0 -210 764 716 ; -C -1 ; WX 556 ; N aogonek ; B 36 -210 591 530 ; -C -1 ; WX 722 ; N Dcaron ; B 72 0 672 904 ; -C -1 ; WX 719 ; N dcaron ; B 40 -12 719 716 ; -C -1 ; WX 722 ; N Dslash ; B -1 0 673 716 ; -C -1 ; WX 667 ; N Eogonek ; B 73 -210 617 716 ; -C -1 ; WX 556 ; N eogonek ; B 32 -210 519 530 ; -C -1 ; WX 667 ; N Ecaron ; B 73 0 617 904 ; -C -1 ; WX 556 ; N ecaron ; B 32 -12 519 728 ; -C -1 ; WX 611 ; N Lacute ; B 77 0 581 903 ; -C -1 ; WX 278 ; N lacute ; B 59 0 280 898 ; -C -1 ; WX 611 ; N Lcaron ; B 77 0 581 710 ; -C -1 ; WX 385 ; N lcaron ; B 73 0 383 716 ; -C -1 ; WX 611 ; N Ldot ; B 77 0 581 710 ; -C -1 ; WX 479 ; N ldot ; B 72 0 409 716 ; -C -1 ; WX 722 ; N Nacute ; B 74 0 642 903 ; -C -1 ; WX 611 ; N nacute ; B 71 0 543 728 ; -C -1 ; WX 722 ; N Ncaron ; B 74 0 642 904 ; -C -1 ; WX 611 ; N ncaron ; B 71 0 543 728 ; -C -1 ; WX 778 ; N Odblacute ; B 43 -12 738 902 ; -C -1 ; WX 611 ; N odblacute ; B 40 -12 575 730 ; -C -1 ; WX 722 ; N Racute ; B 73 0 717 903 ; -C -1 ; WX 389 ; N racute ; B 66 0 402 728 ; -C -1 ; WX 722 ; N Rcaron ; B 73 0 717 904 ; -C -1 ; WX 389 ; N rcaron ; B 39 0 402 728 ; -C -1 ; WX 667 ; N Sacute ; B 36 -13 618 903 ; -C -1 ; WX 556 ; N sacute ; B 23 -12 508 728 ; -C -1 ; WX 611 ; N Tcedilla ; B 21 -319 590 716 ; -C -1 ; WX 333 ; N tcedilla ; B 15 -293 321 702 ; -C -1 ; WX 611 ; N Tcaron ; B 21 0 590 904 ; -C -1 ; WX 479 ; N tcaron ; B 15 -12 480 716 ; -C -1 ; WX 722 ; N Uring ; B 72 -12 643 919 ; -C -1 ; WX 611 ; N uring ; B 69 -12 541 751 ; -C -1 ; WX 722 ; N Udblacute ; B 72 -12 643 902 ; -C -1 ; WX 611 ; N udblacute ; B 69 -12 548 730 ; -C -1 ; WX 611 ; N Zacute ; B 11 0 592 903 ; -C -1 ; WX 500 ; N zacute ; B 17 0 479 728 ; -C -1 ; WX 611 ; N Zdot ; B 11 0 592 890 ; -C -1 ; WX 500 ; N zdot ; B 17 0 479 728 ; -C -1 ; WX 601 ; N Gamma ; B 75 0 579 716 ; -C -1 ; WX 778 ; N Theta ; B 42 -12 736 728 ; -C -1 ; WX 821 ; N Phi ; B 42 -29 779 734 ; -C -1 ; WX 615 ; N alpha ; B 38 -12 582 530 ; -C -1 ; WX 606 ; N delta ; B 38 -12 569 716 ; -C -1 ; WX 475 ; N epsilon ; B 38 -12 463 530 ; -C -1 ; WX 684 ; N sigma ; B 38 -12 661 530 ; -C -1 ; WX 446 ; N tau ; B 23 0 422 519 ; -C -1 ; WX 715 ; N phi ; B 38 -197 678 531 ; -C -1 ; WX 552 ; N underscoredbl ; B -9 -376 561 -109 ; -C -1 ; WX 604 ; N exclamdbl ; B 90 0 509 716 ; -C -1 ; WX 396 ; N nsuperior ; B 39 253 357 585 ; -C -1 ; WX 1094 ; N peseta ; B 20 -13 1075 716 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 722 ; N intersection ; B 70 0 648 719 ; -C -1 ; WX 583 ; N equivalence ; B 42 73 542 633 ; -C -1 ; WX 604 ; N house ; B 77 0 527 563 ; -C -1 ; WX 584 ; N revlogicalnot ; B 42 184 542 524 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 625 ; N SF110000 ; B 223 -303 309 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 837 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 785 ; N IJ ; B 68 -12 708 716 ; -C -1 ; WX 556 ; N ij ; B 72 -210 478 716 ; -C -1 ; WX 708 ; N napostrophe ; B -28 0 635 716 ; -C -1 ; WX 240 ; N minute ; B 69 461 247 716 ; -C -1 ; WX 479 ; N second ; B 69 461 467 716 ; -C -1 ; WX 885 ; N afii61248 ; B 17 -27 868 728 ; -C -1 ; WX 489 ; N afii61289 ; B 12 -12 453 728 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 45 198 310 463 ; -C -1 ; WX 354 ; N H18551 ; B 45 198 310 463 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 38 190 316 470 ; -C -1 ; WX 722 ; N Amacron ; B 0 0 718 871 ; -C -1 ; WX 556 ; N amacron ; B 36 -12 522 694 ; -C -1 ; WX 722 ; N Ccircumflex ; B 47 -12 671 924 ; -C -1 ; WX 556 ; N ccircumflex ; B 42 -12 531 728 ; -C -1 ; WX 722 ; N Cdot ; B 47 -12 671 910 ; -C -1 ; WX 556 ; N cdot ; B 42 -12 531 728 ; -C -1 ; WX 667 ; N Emacron ; B 73 0 617 871 ; -C -1 ; WX 556 ; N emacron ; B 32 -12 519 694 ; -C -1 ; WX 667 ; N Ebreve ; B 73 0 617 918 ; -C -1 ; WX 556 ; N ebreve ; B 32 -12 519 728 ; -C -1 ; WX 667 ; N Edot ; B 73 0 617 910 ; -C -1 ; WX 556 ; N edot ; B 32 -12 519 728 ; -C -1 ; WX 778 ; N Gcircumflex ; B 48 -12 717 924 ; -C -1 ; WX 611 ; N gcircumflex ; B 41 -210 547 728 ; -C -1 ; WX 778 ; N Gdot ; B 48 -12 717 910 ; -C -1 ; WX 611 ; N gdot ; B 41 -210 547 728 ; -C -1 ; WX 778 ; N Gcedilla ; B 48 -205 717 728 ; -C -1 ; WX 611 ; N gcedilla ; B 41 -210 547 801 ; -C -1 ; WX 722 ; N Hcircumflex ; B 73 0 646 924 ; -C -1 ; WX 611 ; N hcircumflex ; B 71 0 543 901 ; -C -1 ; WX 722 ; N Hbar ; B 2 0 716 716 ; -C -1 ; WX 611 ; N hbar ; B 12 0 544 716 ; -C -1 ; WX 278 ; N Itilde ; B -34 0 304 904 ; -C -1 ; WX 278 ; N itilde ; B -34 0 304 713 ; -C -1 ; WX 278 ; N Imacron ; B -19 0 296 871 ; -C -1 ; WX 278 ; N imacron ; B -19 0 296 694 ; -C -1 ; WX 278 ; N Ibreve ; B -15 0 290 918 ; -C -1 ; WX 278 ; N ibreve ; B -15 0 290 728 ; -C -1 ; WX 278 ; N Iogonek ; B 54 -210 271 716 ; -C -1 ; WX 278 ; N iogonek ; B 57 -210 274 716 ; -C -1 ; WX 556 ; N Jcircumflex ; B 17 -12 568 924 ; -C -1 ; WX 278 ; N jcircumflex ; B -46 -210 304 728 ; -C -1 ; WX 722 ; N Kcedilla ; B 75 -206 720 716 ; -C -1 ; WX 556 ; N kcedilla ; B 67 -206 546 716 ; -C -1 ; WX 556 ; N kgreenlandic ; B 69 0 548 519 ; -C -1 ; WX 611 ; N Lcedilla ; B 77 -206 581 710 ; -C -1 ; WX 278 ; N lcedilla ; B -9 -206 257 716 ; -C -1 ; WX 722 ; N Ncedilla ; B 74 -206 642 716 ; -C -1 ; WX 611 ; N ncedilla ; B 71 -206 543 530 ; -C -1 ; WX 723 ; N Eng ; B 76 -13 676 728 ; -C -1 ; WX 611 ; N eng ; B 69 -213 542 530 ; -C -1 ; WX 778 ; N Omacron ; B 43 -12 738 871 ; -C -1 ; WX 611 ; N omacron ; B 40 -12 575 694 ; -C -1 ; WX 778 ; N Obreve ; B 43 -12 738 918 ; -C -1 ; WX 611 ; N obreve ; B 40 -12 575 728 ; -C -1 ; WX 722 ; N Rcedilla ; B 73 -206 717 716 ; -C -1 ; WX 389 ; N rcedilla ; B 21 -206 402 530 ; -C -1 ; WX 667 ; N Scircumflex ; B 36 -13 618 924 ; -C -1 ; WX 556 ; N scircumflex ; B 23 -12 508 728 ; -C -1 ; WX 611 ; N Tbar ; B 21 0 590 716 ; -C -1 ; WX 333 ; N tbar ; B 10 -12 321 702 ; -C -1 ; WX 722 ; N Utilde ; B 72 -12 643 904 ; -C -1 ; WX 611 ; N utilde ; B 69 -12 541 713 ; -C -1 ; WX 722 ; N Umacron ; B 72 -12 643 871 ; -C -1 ; WX 611 ; N umacron ; B 69 -12 541 694 ; -C -1 ; WX 722 ; N Ubreve ; B 72 -12 643 918 ; -C -1 ; WX 611 ; N ubreve ; B 69 -12 541 728 ; -C -1 ; WX 722 ; N Uogonek ; B 72 -210 643 716 ; -C -1 ; WX 611 ; N uogonek ; B 69 -211 616 519 ; -C -1 ; WX 944 ; N Wcircumflex ; B 3 0 943 924 ; -C -1 ; WX 778 ; N wcircumflex ; B 4 0 777 728 ; -C -1 ; WX 667 ; N Ycircumflex ; B -1 0 668 924 ; -C -1 ; WX 556 ; N ycircumflex ; B 7 -210 540 728 ; -C -1 ; WX 278 ; N longs ; B 69 0 343 728 ; -C -1 ; WX 722 ; N Aringacute ; B 0 0 718 1004 ; -C -1 ; WX 556 ; N aringacute ; B 36 -12 522 926 ; -C -1 ; WX 1000 ; N AEacute ; B -42 0 952 926 ; -C -1 ; WX 889 ; N aeacute ; B 43 -12 842 728 ; -C -1 ; WX 778 ; N Oslashacute ; B 31 -40 750 926 ; -C -1 ; WX 611 ; N oslashacute ; B 42 -36 578 728 ; -C -1 ; WX 333 ; N anoteleia ; B 98 381 235 519 ; -C -1 ; WX 944 ; N Wgrave ; B 3 0 943 926 ; -C -1 ; WX 778 ; N wgrave ; B 4 0 777 728 ; -C -1 ; WX 944 ; N Wacute ; B 3 0 943 926 ; -C -1 ; WX 778 ; N wacute ; B 4 0 777 728 ; -C -1 ; WX 944 ; N Wdieresis ; B 3 0 943 898 ; -C -1 ; WX 778 ; N wdieresis ; B 4 0 777 728 ; -C -1 ; WX 667 ; N Ygrave ; B -1 0 668 926 ; -C -1 ; WX 556 ; N ygrave ; B 7 -210 540 728 ; -C -1 ; WX 278 ; N quotereversed ; B 73 418 221 716 ; -C -1 ; WX 333 ; N radicalex ; B -20 604 354 694 ; -C -1 ; WX 556 ; N afii08941 ; B 6 -12 541 728 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 834 ; N oneeighth ; B 45 -26 812 725 ; -C -1 ; WX 834 ; N threeeighths ; B 20 -26 812 725 ; -C -1 ; WX 834 ; N fiveeighths ; B 23 -26 812 725 ; -C -1 ; WX 834 ; N seveneighths ; B 23 -26 812 725 ; -C -1 ; WX 333 ; N commaaccent ; B 92 -276 239 -55 ; -C -1 ; WX 333 ; N undercommaaccent ; B 19 -206 285 -10 ; -C -1 ; WX 333 ; N tonos ; B 91 582 313 728 ; -C -1 ; WX 465 ; N dieresistonos ; B -6 582 471 728 ; -C -1 ; WX 722 ; N Alphatonos ; B -12 0 721 716 ; -C -1 ; WX 853 ; N Epsilontonos ; B -34 0 803 716 ; -C -1 ; WX 906 ; N Etatonos ; B -34 0 831 716 ; -C -1 ; WX 474 ; N Iotatonos ; B -34 0 403 716 ; -C -1 ; WX 825 ; N Omicrontonos ; B -44 -12 783 728 ; -C -1 ; WX 927 ; N Upsilontonos ; B -27 0 928 716 ; -C -1 ; WX 838 ; N Omegatonos ; B -49 0 791 728 ; -C -1 ; WX 278 ; N iotadieresistonos ; B -105 0 372 728 ; -C -1 ; WX 722 ; N Alpha ; B 0 0 718 716 ; -C -1 ; WX 722 ; N Beta ; B 73 0 673 716 ; -C -1 ; WX 719 ; N Delta ; B 0 0 718 716 ; -C -1 ; WX 667 ; N Epsilon ; B 73 0 617 716 ; -C -1 ; WX 611 ; N Zeta ; B 11 0 592 716 ; -C -1 ; WX 722 ; N Eta ; B 73 0 646 716 ; -C -1 ; WX 278 ; N Iota ; B 68 0 213 716 ; -C -1 ; WX 722 ; N Kappa ; B 75 0 720 716 ; -C -1 ; WX 667 ; N Lambda ; B 0 0 667 716 ; -C -1 ; WX 833 ; N Mu ; B 71 0 762 716 ; -C -1 ; WX 722 ; N Nu ; B 74 0 642 716 ; -C -1 ; WX 644 ; N Xi ; B 50 0 594 716 ; -C -1 ; WX 778 ; N Omicron ; B 43 -12 738 728 ; -C -1 ; WX 722 ; N Pi ; B 75 0 647 716 ; -C -1 ; WX 667 ; N Rho ; B 73 0 621 716 ; -C -1 ; WX 600 ; N Sigma ; B 44 0 564 716 ; -C -1 ; WX 611 ; N Tau ; B 21 0 590 716 ; -C -1 ; WX 667 ; N Upsilon ; B -1 0 668 716 ; -C -1 ; WX 667 ; N Chi ; B 0 0 666 716 ; -C -1 ; WX 809 ; N Psi ; B 42 0 767 716 ; -C -1 ; WX 802 ; N Omega ; B 48 0 754 728 ; -C -1 ; WX 278 ; N Iotadieresis ; B -25 0 303 882 ; -C -1 ; WX 667 ; N Upsilondieresis ; B -1 0 668 882 ; -C -1 ; WX 615 ; N alphatonos ; B 38 -12 582 728 ; -C -1 ; WX 451 ; N epsilontonos ; B 38 -12 463 728 ; -C -1 ; WX 611 ; N etatonos ; B 69 -197 542 728 ; -C -1 ; WX 278 ; N iotatonos ; B 63 0 285 728 ; -C -1 ; WX 582 ; N upsilondieresistonos ; B 53 -12 529 728 ; -C -1 ; WX 610 ; N beta ; B 70 -197 573 728 ; -C -1 ; WX 556 ; N gamma ; B 7 -197 546 519 ; -C -1 ; WX 460 ; N zeta ; B 38 -210 452 716 ; -C -1 ; WX 611 ; N eta ; B 69 -197 542 530 ; -C -1 ; WX 541 ; N theta ; B 38 -12 503 728 ; -C -1 ; WX 278 ; N iota ; B 70 0 208 519 ; -C -1 ; WX 558 ; N kappa ; B 69 0 550 519 ; -C -1 ; WX 556 ; N lambda ; B 7 0 546 716 ; -C -1 ; WX 612 ; N mu ; B 70 -197 542 519 ; -C -1 ; WX 556 ; N nu ; B 5 0 544 519 ; -C -1 ; WX 445 ; N xi ; B 38 -210 445 728 ; -C -1 ; WX 611 ; N omicron ; B 40 -12 575 530 ; -C -1 ; WX 619 ; N rho ; B 58 -197 581 530 ; -C -1 ; WX 520 ; N sigma1 ; B 38 -210 503 530 ; -C -1 ; WX 582 ; N upsilon ; B 58 -12 524 519 ; -C -1 ; WX 576 ; N chi ; B 8 -197 569 519 ; -C -1 ; WX 753 ; N psi ; B 58 -197 695 519 ; -C -1 ; WX 845 ; N omega ; B 38 -12 807 519 ; -C -1 ; WX 278 ; N iotadieresis ; B -25 0 303 728 ; -C -1 ; WX 582 ; N upsilondieresis ; B 58 -12 524 728 ; -C -1 ; WX 611 ; N omicrontonos ; B 40 -12 575 728 ; -C -1 ; WX 582 ; N upsilontonos ; B 58 -12 524 728 ; -C -1 ; WX 845 ; N omegatonos ; B 38 -12 807 728 ; -C -1 ; WX 669 ; N afii10023 ; B 73 0 617 875 ; -C -1 ; WX 885 ; N afii10051 ; B 23 -6 846 716 ; -C -1 ; WX 711 ; N afii10053 ; B 43 -12 669 728 ; -C -1 ; WX 667 ; N afii10054 ; B 36 -13 618 728 ; -C -1 ; WX 278 ; N afii10055 ; B 68 0 213 716 ; -C -1 ; WX 276 ; N afii10056 ; B -26 0 302 875 ; -C -1 ; WX 556 ; N afii10057 ; B 17 -12 475 716 ; -C -1 ; WX 1094 ; N afii10058 ; B 13 -4 1047 716 ; -C -1 ; WX 1063 ; N afii10059 ; B 77 0 1013 716 ; -C -1 ; WX 875 ; N afii10060 ; B 27 0 803 716 ; -C -1 ; WX 622 ; N afii10062 ; B 0 -9 622 897 ; -C -1 ; WX 722 ; N afii10017 ; B 0 0 718 716 ; -C -1 ; WX 719 ; N afii10018 ; B 76 0 674 716 ; -C -1 ; WX 722 ; N afii10019 ; B 73 0 673 716 ; -C -1 ; WX 567 ; N afii10020 ; B 80 0 565 716 ; -C -1 ; WX 712 ; N afii10021 ; B -3 -156 688 716 ; -C -1 ; WX 667 ; N afii10022 ; B 73 0 617 716 ; -C -1 ; WX 904 ; N afii10024 ; B 11 0 893 721 ; -C -1 ; WX 626 ; N afii10025 ; B 21 -12 572 728 ; -C -1 ; WX 719 ; N afii10026 ; B 75 0 644 716 ; -C -1 ; WX 719 ; N afii10027 ; B 75 0 644 894 ; -C -1 ; WX 610 ; N afii10028 ; B 75 0 602 721 ; -C -1 ; WX 702 ; N afii10029 ; B 16 -4 625 716 ; -C -1 ; WX 833 ; N afii10030 ; B 71 0 762 716 ; -C -1 ; WX 722 ; N afii10031 ; B 73 0 646 716 ; -C -1 ; WX 778 ; N afii10032 ; B 43 -12 738 728 ; -C -1 ; WX 719 ; N afii10033 ; B 75 0 644 716 ; -C -1 ; WX 667 ; N afii10034 ; B 73 0 621 716 ; -C -1 ; WX 722 ; N afii10035 ; B 47 -12 671 728 ; -C -1 ; WX 611 ; N afii10036 ; B 21 0 590 716 ; -C -1 ; WX 622 ; N afii10037 ; B 0 -9 622 716 ; -C -1 ; WX 854 ; N afii10038 ; B 43 0 810 715 ; -C -1 ; WX 667 ; N afii10039 ; B 0 0 666 716 ; -C -1 ; WX 730 ; N afii10040 ; B 75 -156 704 716 ; -C -1 ; WX 703 ; N afii10041 ; B 61 0 626 716 ; -C -1 ; WX 1005 ; N afii10042 ; B 75 0 930 716 ; -C -1 ; WX 1019 ; N afii10043 ; B 75 -156 993 716 ; -C -1 ; WX 870 ; N afii10044 ; B 13 0 823 716 ; -C -1 ; WX 979 ; N afii10045 ; B 77 0 902 716 ; -C -1 ; WX 719 ; N afii10046 ; B 76 0 673 716 ; -C -1 ; WX 711 ; N afii10047 ; B 42 -12 668 728 ; -C -1 ; WX 1031 ; N afii10048 ; B 73 -12 984 728 ; -C -1 ; WX 719 ; N afii10049 ; B 2 0 646 716 ; -C -1 ; WX 556 ; N afii10065 ; B 36 -12 522 530 ; -C -1 ; WX 618 ; N afii10066 ; B 45 -12 575 732 ; -C -1 ; WX 615 ; N afii10067 ; B 73 0 576 519 ; -C -1 ; WX 417 ; N afii10068 ; B 66 0 417 519 ; -C -1 ; WX 635 ; N afii10069 ; B -3 -137 612 519 ; -C -1 ; WX 556 ; N afii10070 ; B 32 -12 519 530 ; -C -1 ; WX 709 ; N afii10072 ; B 0 0 710 522 ; -C -1 ; WX 497 ; N afii10073 ; B 12 -12 458 530 ; -C -1 ; WX 615 ; N afii10074 ; B 68 0 546 519 ; -C -1 ; WX 615 ; N afii10075 ; B 68 0 546 729 ; -C -1 ; WX 500 ; N afii10076 ; B 66 0 501 522 ; -C -1 ; WX 635 ; N afii10077 ; B 12 -9 568 519 ; -C -1 ; WX 740 ; N afii10078 ; B 76 0 674 519 ; -C -1 ; WX 604 ; N afii10079 ; B 66 0 538 519 ; -C -1 ; WX 611 ; N afii10080 ; B 40 -12 575 530 ; -C -1 ; WX 604 ; N afii10081 ; B 66 0 527 519 ; -C -1 ; WX 611 ; N afii10082 ; B 68 -197 574 530 ; -C -1 ; WX 556 ; N afii10083 ; B 42 -12 531 530 ; -C -1 ; WX 490 ; N afii10084 ; B 10 0 479 519 ; -C -1 ; WX 556 ; N afii10085 ; B 7 -210 540 519 ; -C -1 ; WX 875 ; N afii10086 ; B 41 -197 834 716 ; -C -1 ; WX 556 ; N afii10087 ; B 6 0 547 519 ; -C -1 ; WX 615 ; N afii10088 ; B 67 -137 591 519 ; -C -1 ; WX 581 ; N afii10089 ; B 56 0 516 519 ; -C -1 ; WX 833 ; N afii10090 ; B 68 0 765 519 ; -C -1 ; WX 844 ; N afii10091 ; B 69 -137 822 519 ; -C -1 ; WX 729 ; N afii10092 ; B 20 0 689 519 ; -C -1 ; WX 854 ; N afii10093 ; B 73 0 789 519 ; -C -1 ; WX 615 ; N afii10094 ; B 75 0 575 519 ; -C -1 ; WX 552 ; N afii10095 ; B 27 -12 512 530 ; -C -1 ; WX 854 ; N afii10096 ; B 71 -12 815 530 ; -C -1 ; WX 583 ; N afii10097 ; B -2 0 516 519 ; -C -1 ; WX 556 ; N afii10071 ; B 32 -12 519 728 ; -C -1 ; WX 611 ; N afii10099 ; B 0 -210 543 716 ; -C -1 ; WX 417 ; N afii10100 ; B 66 0 417 728 ; -C -1 ; WX 552 ; N afii10101 ; B 40 -12 524 530 ; -C -1 ; WX 556 ; N afii10102 ; B 23 -12 508 530 ; -C -1 ; WX 278 ; N afii10103 ; B 72 0 209 716 ; -C -1 ; WX 281 ; N afii10104 ; B -23 0 305 728 ; -C -1 ; WX 278 ; N afii10105 ; B -46 -210 206 716 ; -C -1 ; WX 969 ; N afii10106 ; B 12 -9 931 519 ; -C -1 ; WX 906 ; N afii10107 ; B 68 0 866 519 ; -C -1 ; WX 611 ; N afii10108 ; B 0 0 543 716 ; -C -1 ; WX 556 ; N afii10110 ; B 7 -210 540 729 ; -C -1 ; WX 604 ; N afii10193 ; B 66 -137 537 519 ; -C -1 ; WX 487 ; N afii10050 ; B 73 0 460 872 ; -C -1 ; WX 447 ; N afii10098 ; B 66 0 416 655 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 208 968 311 ; -C -1 ; WX 1115 ; N afii61352 ; B 80 0 1073 716 ; -C -1 ; WX 766 ; N pi ; B 23 0 742 519 ; -C -1 ; WX 333 ; N sheva ; B 125 -210 208 -24 ; -C -1 ; WX 333 ; N hatafsegol ; B 15 -210 318 -24 ; -C -1 ; WX 333 ; N hatafpatah ; B 24 -210 309 -24 ; -C -1 ; WX 333 ; N hatafqamats ; B 24 -210 309 -24 ; -C -1 ; WX 333 ; N hiriq ; B 125 -180 208 -98 ; -C -1 ; WX 333 ; N tsere ; B 62 -180 272 -98 ; -C -1 ; WX 333 ; N segol ; B 62 -210 271 -24 ; -C -1 ; WX 333 ; N patah ; B 68 -154 265 -103 ; -C -1 ; WX 333 ; N qamats ; B 68 -210 265 -77 ; -C -1 ; WX 333 ; N holam ; B 125 577 208 659 ; -C -1 ; WX 333 ; N qubuts ; B 8 -210 325 -25 ; -C -1 ; WX 333 ; N dagesh ; B 125 241 208 323 ; -C -1 ; WX 333 ; N meteg ; B 141 -210 192 -25 ; -C -1 ; WX 447 ; N maqaf ; B 61 408 386 518 ; -C -1 ; WX 333 ; N rafe ; B 68 611 265 662 ; -C -1 ; WX 299 ; N paseq ; B 98 -101 202 620 ; -C -1 ; WX 333 ; N shindot ; B 376 577 458 660 ; -C -1 ; WX 333 ; N sindot ; B -125 577 -42 660 ; -C -1 ; WX 333 ; N sofpasuq ; B 98 0 235 519 ; -C -1 ; WX 583 ; N alef ; B 43 0 570 518 ; -C -1 ; WX 576 ; N bet ; B 32 0 554 524 ; -C -1 ; WX 457 ; N gimel ; B 5 0 425 524 ; -C -1 ; WX 550 ; N dalet ; B 24 0 525 518 ; -C -1 ; WX 614 ; N he ; B 63 0 553 524 ; -C -1 ; WX 273 ; N vav ; B 66 0 207 518 ; -C -1 ; WX 413 ; N zayin ; B 44 0 396 518 ; -C -1 ; WX 616 ; N het ; B 66 0 550 524 ; -C -1 ; WX 626 ; N tet ; B 61 -12 570 530 ; -C -1 ; WX 273 ; N yod ; B 66 229 207 518 ; -C -1 ; WX 521 ; N finalkaf ; B 20 -199 460 524 ; -C -1 ; WX 491 ; N kaf ; B 37 -8 452 526 ; -C -1 ; WX 496 ; N lamed ; B 32 0 445 716 ; -C -1 ; WX 611 ; N finalmem ; B 66 0 550 524 ; -C -1 ; WX 630 ; N mem ; B 27 0 569 524 ; -C -1 ; WX 273 ; N finalnun ; B 66 -199 207 518 ; -C -1 ; WX 386 ; N nun ; B 37 0 325 524 ; -C -1 ; WX 613 ; N samekh ; B 39 -12 574 530 ; -C -1 ; WX 543 ; N ayin ; B 5 -77 492 518 ; -C -1 ; WX 594 ; N finalpe ; B 49 -199 533 524 ; -C -1 ; WX 587 ; N pe ; B 49 -8 548 527 ; -C -1 ; WX 500 ; N finaltsadi ; B 5 -199 458 518 ; -C -1 ; WX 512 ; N tsadi ; B 5 0 463 518 ; -C -1 ; WX 573 ; N qof ; B 63 -199 521 518 ; -C -1 ; WX 521 ; N resh ; B 20 0 460 524 ; -C -1 ; WX 715 ; N shin ; B 44 -14 676 518 ; -C -1 ; WX 673 ; N tav ; B 22 -4 607 524 ; -C -1 ; WX 546 ; N doublevav ; B 66 0 480 518 ; -C -1 ; WX 546 ; N vavyod ; B 66 0 480 518 ; -C -1 ; WX 546 ; N doubleyod ; B 66 229 480 518 ; -C -1 ; WX 276 ; N geresh ; B 39 312 242 518 ; -C -1 ; WX 504 ; N gershayim ; B 39 312 470 518 ; -C -1 ; WX 818 ; N newsheqelsign ; B 66 0 752 518 ; -C -1 ; WX 273 ; N vavshindot ; B -41 0 207 660 ; -C -1 ; WX 521 ; N finalkafsheva ; B 20 -199 460 524 ; -C -1 ; WX 521 ; N finalkafqamats ; B 20 -199 460 524 ; -C -1 ; WX 496 ; N lamedholam ; B -114 0 445 716 ; -C -1 ; WX 496 ; N lamedholamdagesh ; B -114 0 445 716 ; -C -1 ; WX 559 ; N altayin ; B 24 0 508 518 ; -C -1 ; WX 715 ; N shinshindot ; B 44 -14 676 660 ; -C -1 ; WX 715 ; N shinsindot ; B 44 -14 676 660 ; -C -1 ; WX 715 ; N shindageshshindot ; B 44 -14 676 660 ; -C -1 ; WX 715 ; N shindageshsindot ; B 44 -14 676 660 ; -C -1 ; WX 583 ; N alefpatah ; B 43 -154 570 518 ; -C -1 ; WX 583 ; N alefqamats ; B 43 -210 570 518 ; -C -1 ; WX 583 ; N alefmapiq ; B 43 0 570 518 ; -C -1 ; WX 576 ; N betdagesh ; B 32 0 554 524 ; -C -1 ; WX 454 ; N gimeldagesh ; B 5 0 425 524 ; -C -1 ; WX 550 ; N daletdagesh ; B 24 0 525 518 ; -C -1 ; WX 614 ; N hedagesh ; B 63 0 553 524 ; -C -1 ; WX 323 ; N vavdagesh ; B 0 0 257 518 ; -C -1 ; WX 438 ; N zayindagesh ; B 0 0 412 518 ; -C -1 ; WX 626 ; N tetdagesh ; B 61 -12 570 530 ; -C -1 ; WX 323 ; N yoddagesh ; B 0 229 257 518 ; -C -1 ; WX 521 ; N finalkafdagesh ; B 20 -199 460 524 ; -C -1 ; WX 491 ; N kafdagesh ; B 37 -8 452 526 ; -C -1 ; WX 496 ; N lameddagesh ; B 32 0 445 716 ; -C -1 ; WX 630 ; N memdagesh ; B 27 0 569 524 ; -C -1 ; WX 386 ; N nundagesh ; B 37 0 325 524 ; -C -1 ; WX 613 ; N samekhdagesh ; B 39 -12 574 530 ; -C -1 ; WX 594 ; N finalpedagesh ; B 49 -199 533 524 ; -C -1 ; WX 587 ; N pedagesh ; B 49 -8 548 527 ; -C -1 ; WX 512 ; N tsadidagesh ; B 5 0 463 518 ; -C -1 ; WX 573 ; N qofdagesh ; B 63 -199 521 518 ; -C -1 ; WX 521 ; N reshdagesh ; B 20 0 460 524 ; -C -1 ; WX 715 ; N shindagesh ; B 44 -14 676 518 ; -C -1 ; WX 673 ; N tavdages ; B 22 -4 607 524 ; -C -1 ; WX 273 ; N vavholam ; B 66 0 207 659 ; -C -1 ; WX 576 ; N betrafe ; B 32 0 554 662 ; -C -1 ; WX 491 ; N kafrafe ; B 37 -8 452 662 ; -C -1 ; WX 587 ; N perafe ; B 49 -8 548 662 ; -C -1 ; WX 607 ; N aleflamed ; B 32 0 595 716 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 319 ; N afii57388 ; B 83 137 241 443 ; -C -1 ; WX 319 ; N afii57403 ; B 78 136 235 609 ; -C -1 ; WX 356 ; N afii57407 ; B 33 137 326 711 ; -C -1 ; WX 469 ; N afii57409 ; B 62 46 422 510 ; -C -1 ; WX 198 ; N afii57440 ; B -34 143 198 276 ; -C -1 ; WX 201 ; N afii57451 ; B 34 683 201 857 ; -C -1 ; WX 237 ; N afii57452 ; B 34 683 237 872 ; -C -1 ; WX 201 ; N afii57453 ; B 34 -133 201 41 ; -C -1 ; WX 201 ; N afii57454 ; B 34 683 201 784 ; -C -1 ; WX 209 ; N afii57455 ; B 35 683 209 895 ; -C -1 ; WX 201 ; N afii57456 ; B 34 -60 201 41 ; -C -1 ; WX 211 ; N afii57457 ; B 34 683 211 840 ; -C -1 ; WX 165 ; N afii57458 ; B 34 683 165 834 ; -C -1 ; WX 562 ; N afii57392 ; B 191 206 360 457 ; -C -1 ; WX 562 ; N afii57393 ; B 164 146 359 719 ; -C -1 ; WX 562 ; N afii57394 ; B 127 143 419 718 ; -C -1 ; WX 562 ; N afii57395 ; B 77 143 476 713 ; -C -1 ; WX 562 ; N afii57396 ; B 147 145 404 710 ; -C -1 ; WX 562 ; N afii57397 ; B 114 231 448 634 ; -C -1 ; WX 562 ; N afii57398 ; B 104 149 426 718 ; -C -1 ; WX 562 ; N afii57399 ; B 76 143 457 717 ; -C -1 ; WX 562 ; N afii57400 ; B 92 149 473 724 ; -C -1 ; WX 562 ; N afii57401 ; B 116 146 427 719 ; -C -1 ; WX 526 ; N afii57381 ; B 65 84 463 777 ; -C -1 ; WX 319 ; N afii57461 ; B 94 23 230 267 ; -C -1 ; WX 526 ; N afii63167 ; B 87 403 424 744 ; -C -1 ; WX 750 ; N afii57459 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543 ; B 125 0 625 625 ; -C -1 ; WX 343 ; N afii57534 ; B 43 126 304 519 ; -C -1 ; WX 750 ; N afii57494 ; B 125 0 625 625 ; -C -1 ; WX 562 ; N afii62843 ; B 81 143 471 737 ; -C -1 ; WX 562 ; N afii62844 ; B 92 143 461 719 ; -C -1 ; WX 562 ; N afii62845 ; B 108 143 451 729 ; -C -1 ; WX 750 ; N afii64240 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64241 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63954 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57382 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64242 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62881 ; B 34 683 211 995 ; -C -1 ; WX 750 ; N afii57504 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57369 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57370 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57371 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57372 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57373 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57374 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57375 ; B 125 0 625 625 ; -C -1 ; WX 612 ; N afii57391 ; B -34 143 612 276 ; -C -1 ; WX 750 ; N afii57471 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57460 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii52258 ; B 125 0 625 625 ; -C -1 ; WX 649 ; N afii57506 ; B 28 -193 649 489 ; -C -1 ; WX 649 ; N afii62958 ; B 28 -193 649 489 ; -C -1 ; WX 271 ; N afii62956 ; B -34 -193 271 492 ; -C -1 ; WX 271 ; N afii52957 ; B -34 -193 271 492 ; -C -1 ; WX 750 ; N afii57505 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62889 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62887 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62888 ; B 125 0 625 625 ; -C -1 ; WX 577 ; N afii57507 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62961 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62959 ; B -34 -193 523 501 ; -C -1 ; WX 523 ; N afii62960 ; B -34 -193 523 501 ; -C -1 ; WX 433 ; N afii57508 ; B 5 -72 447 813 ; -C -1 ; WX 433 ; N afii62962 ; B 5 -72 447 813 ; -C -1 ; WX 757 ; N afii57567 ; B 20 143 757 708 ; -C -1 ; WX 879 ; N afii62964 ; B 20 143 879 722 ; -C -1 ; WX 360 ; N afii52305 ; B -34 143 360 708 ; -C -1 ; WX 542 ; N afii52306 ; B -34 143 542 722 ; -C -1 ; WX 757 ; N afii57509 ; B 20 143 757 863 ; -C -1 ; WX 879 ; N afii62967 ; B 20 143 879 876 ; -C -1 ; WX 360 ; N afii62965 ; B -34 143 360 863 ; -C -1 ; WX 542 ; N afii62966 ; B -34 143 542 876 ; -C -1 ; WX 645 ; N afii57555 ; B 74 -60 575 461 ; -C -1 ; WX 554 ; N afii52364 ; B 5 -174 554 282 ; -C -1 ; WX 750 ; N afii63753 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63754 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63759 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63763 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63795 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62891 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63808 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62938 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63810 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62942 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62947 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63813 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63823 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63824 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63833 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63844 ; B 125 0 625 625 ; -C -1 ; WX 226 ; N afii62882 ; B 23 683 226 1010 ; -C -1 ; WX 211 ; N afii62883 ; B 34 678 211 978 ; -C -1 ; WX 211 ; N afii62884 ; B 34 683 211 918 ; -C -1 ; WX 211 ; N afii62885 ; B 31 683 211 974 ; -C -1 ; WX 211 ; N afii62886 ; B 34 683 211 931 ; -C -1 ; WX 750 ; N afii63846 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63849 ; B 125 0 625 625 ; -C -1 ; WX 0 ; N uni202A ; B -18 -134 210 603 ; -C -1 ; WX 0 ; N uni202B ; B -210 -134 18 603 ; -C -1 ; WX 0 ; N uni202D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N _b_852 ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206A ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206B ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N _b_855 ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uniF00A ; B -18 -208 18 894 ; -C -1 ; WX 0 ; N uniF00B ; B -114 -208 114 894 ; -C -1 ; WX 0 ; N uniF00C ; B -18 -208 109 894 ; -C -1 ; WX 0 ; N uniF00D ; B -109 -208 18 894 ; -C -1 ; WX 0 ; N uniF00E ; B -18 -208 114 894 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 750 ; N afii63904 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63905 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63906 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63908 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63910 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63912 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62927 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63941 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62939 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63948 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63950 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63952 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63956 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63958 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63959 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63960 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63961 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64058 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64059 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N afii64060 ; B 62 -209 273 785 ; -C -1 ; WX 319 ; N afii64061 ; B 50 -209 262 785 ; -C -1 ; WX 750 ; N afii62945 ; B 125 0 625 625 ; -C -1 ; WX 703 ; N afii64184 ; B 22 91 661 920 ; -C -1 ; WX 469 ; N afii52399 ; B 62 46 422 510 ; -C -1 ; WX 238 ; N afii52400 ; B 0 109 238 831 ; -C -1 ; WX 253 ; N afii62753 ; B -30 143 253 831 ; -C -1 ; WX 217 ; N afii57411 ; B 46 109 182 876 ; -C -1 ; WX 234 ; N afii62754 ; B -3 143 234 876 ; -C -1 ; WX 451 ; N afii57412 ; B 3 -71 451 661 ; -C -1 ; WX 451 ; N afii62755 ; B 3 -71 451 661 ; -C -1 ; WX 217 ; N afii57413 ; B 46 -88 181 736 ; -C -1 ; WX 234 ; N afii62756 ; B 13 -88 234 736 ; -C -1 ; WX 645 ; N afii57414 ; B 74 -60 575 546 ; -C -1 ; WX 577 ; N afii62759 ; B 8 -98 577 524 ; -C -1 ; WX 271 ; N afii62757 ; B -34 143 271 661 ; -C -1 ; WX 271 ; N afii62758 ; B -34 143 271 661 ; -C -1 ; WX 217 ; N afii57415 ; B 66 109 181 736 ; -C -1 ; WX 234 ; N afii62760 ; B 13 143 234 736 ; -C -1 ; WX 649 ; N afii57416 ; B 28 -69 649 489 ; -C -1 ; WX 649 ; N afii62763 ; B 28 -69 649 489 ; -C -1 ; WX 271 ; N afii62761 ; B -34 -69 271 492 ; -C -1 ; WX 271 ; N afii62762 ; B -34 -69 271 492 ; -C -1 ; WX 343 ; N afii57417 ; B 26 126 304 763 ; -C -1 ; WX 415 ; N afii62764 ; B 1 143 415 873 ; -C -1 ; WX 649 ; N afii57418 ; B 28 143 649 656 ; -C -1 ; WX 649 ; N afii62767 ; B 28 143 649 656 ; -C -1 ; WX 271 ; N afii62765 ; B -34 143 271 715 ; -C -1 ; WX 271 ; N afii62766 ; B -34 143 271 715 ; -C -1 ; WX 649 ; N afii57419 ; B 29 144 649 766 ; -C -1 ; WX 649 ; N afii62770 ; B 29 144 649 766 ; -C -1 ; WX 271 ; N afii62768 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N afii62769 ; B -34 143 271 828 ; -C -1 ; WX 577 ; N afii57420 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62773 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62771 ; B -34 -74 523 501 ; -C -1 ; WX 523 ; N afii62772 ; B -34 -74 523 501 ; -C -1 ; WX 577 ; N afii57421 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62776 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62774 ; B -34 143 523 501 ; -C -1 ; WX 523 ; N afii62775 ; B -34 143 523 501 ; -C -1 ; WX 577 ; N afii57422 ; B 25 -203 563 746 ; -C -1 ; WX 559 ; N afii62779 ; B 23 -201 563 746 ; -C -1 ; WX 523 ; N afii62777 ; B -34 143 523 724 ; -C -1 ; WX 523 ; N afii62778 ; B -34 143 523 724 ; -C -1 ; WX 343 ; N afii57423 ; B 51 143 343 604 ; -C -1 ; WX 343 ; N afii62780 ; B 51 143 343 604 ; -C -1 ; WX 343 ; N afii57424 ; B 51 143 343 845 ; -C -1 ; WX 343 ; N afii62781 ; B 51 143 343 845 ; -C -1 ; WX 433 ; N afii57425 ; B 5 -72 433 461 ; -C -1 ; WX 433 ; N afii62782 ; B 5 -72 433 461 ; -C -1 ; WX 433 ; N afii57426 ; B 5 -72 433 693 ; -C -1 ; WX 433 ; N afii62783 ; B 5 -72 433 693 ; -C -1 ; WX 899 ; N afii57427 ; B 31 -63 899 458 ; -C -1 ; WX 899 ; N afii62786 ; B 31 -63 899 458 ; -C -1 ; WX 608 ; N afii62784 ; B -34 143 608 446 ; -C -1 ; WX 608 ; N afii62785 ; B -34 143 608 446 ; -C -1 ; WX 899 ; N afii57428 ; B 31 -63 899 774 ; -C -1 ; WX 899 ; N afii62789 ; B 31 -63 899 774 ; -C -1 ; WX 608 ; N afii62787 ; B -34 143 608 774 ; -C -1 ; WX 608 ; N afii62788 ; B -34 143 608 774 ; -C -1 ; WX 1063 ; N afii57429 ; B 31 -63 1063 504 ; -C -1 ; WX 1063 ; N afii62792 ; B 31 -63 1063 504 ; -C -1 ; WX 771 ; N afii62790 ; B -34 143 771 504 ; -C -1 ; WX 771 ; N afii62791 ; B -34 143 771 504 ; -C -1 ; WX 1063 ; N afii57430 ; B 31 -63 1063 728 ; -C -1 ; WX 1063 ; N afii62795 ; B 31 -63 1063 728 ; -C -1 ; WX 771 ; N afii62793 ; B -34 143 771 728 ; -C -1 ; WX 771 ; N afii62794 ; B -34 143 771 728 ; -C -1 ; WX 523 ; N afii57431 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62798 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62796 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62797 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii57432 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62801 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62799 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62800 ; B -34 143 523 813 ; -C -1 ; WX 541 ; N afii57433 ; B 25 -204 535 595 ; -C -1 ; WX 469 ; N afii62804 ; B 34 -198 516 531 ; -C -1 ; WX 541 ; N afii62802 ; B -34 143 483 571 ; -C -1 ; WX 360 ; N afii62803 ; B -34 143 360 505 ; -C -1 ; WX 541 ; N afii57434 ; B 25 -204 535 822 ; -C -1 ; WX 469 ; N afii62807 ; B 34 -198 516 760 ; -C -1 ; WX 541 ; N afii62805 ; B -34 143 483 800 ; -C -1 ; WX 360 ; N afii62806 ; B -34 143 360 756 ; -C -1 ; WX 758 ; N afii57441 ; B 23 127 758 779 ; -C -1 ; WX 758 ; N afii62810 ; B 23 127 758 779 ; -C -1 ; WX 305 ; N afii62808 ; B -34 143 305 850 ; -C -1 ; WX 324 ; N afii62809 ; B -34 143 324 779 ; -C -1 ; WX 612 ; N afii57442 ; B 19 -130 612 658 ; -C -1 ; WX 612 ; N afii62813 ; B 19 -130 612 658 ; -C -1 ; WX 305 ; N afii62811 ; B -34 143 305 844 ; -C -1 ; WX 324 ; N afii62812 ; B -34 143 324 780 ; -C -1 ; WX 541 ; N afii57443 ; B 20 143 541 774 ; -C -1 ; WX 541 ; N afii62816 ; B 20 143 541 774 ; -C -1 ; WX 360 ; N afii57410 ; B -34 143 360 708 ; -C -1 ; WX 360 ; N afii62815 ; B -34 143 360 708 ; -C -1 ; WX 451 ; N afii57444 ; B 17 -36 451 773 ; -C -1 ; WX 451 ; N afii62819 ; B 17 -36 451 773 ; -C -1 ; WX 234 ; N afii62817 ; B -34 143 234 774 ; -C -1 ; WX 234 ; N afii62818 ; B -34 143 234 774 ; -C -1 ; WX 360 ; N afii57445 ; B 16 -212 360 431 ; -C -1 ; WX 360 ; N afii62822 ; B 16 -212 360 431 ; -C -1 ; WX 415 ; N afii62820 ; B -34 143 415 472 ; -C -1 ; WX 415 ; N afii62821 ; B -34 143 415 472 ; -C -1 ; WX 541 ; N afii57446 ; B 30 -63 541 612 ; -C -1 ; WX 541 ; N afii62825 ; B 30 -63 541 612 ; -C -1 ; WX 271 ; N afii62823 ; B -34 143 274 735 ; -C -1 ; WX 271 ; N afii62824 ; B -34 143 274 735 ; -C -1 ; WX 343 ; N afii57447 ; B 43 126 304 519 ; -C -1 ; WX 415 ; N afii62828 ; B 1 143 415 694 ; -C -1 ; WX 469 ; N afii57470 ; B -34 117 398 627 ; -C -1 ; WX 451 ; N afii62827 ; B -34 -101 451 560 ; -C -1 ; WX 451 ; N afii57448 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N afii62829 ; B 3 -71 451 484 ; -C -1 ; WX 645 ; N afii57449 ; B 74 -60 575 461 ; -C -1 ; WX 554 ; N afii62830 ; B 5 -174 554 282 ; -C -1 ; WX 645 ; N afii57450 ; B 74 -194 575 461 ; -C -1 ; WX 577 ; N afii62833 ; B 8 -212 577 319 ; -C -1 ; WX 271 ; N afii62831 ; B -34 -81 271 492 ; -C -1 ; WX 271 ; N afii62832 ; B -34 -81 271 492 ; -C -1 ; WX 541 ; N afii62834 ; B 0 72 525 831 ; -C -1 ; WX 596 ; N afii62835 ; B 0 94 596 831 ; -C -1 ; WX 486 ; N afii62836 ; B 17 72 471 876 ; -C -1 ; WX 541 ; N afii62837 ; B 13 94 541 876 ; -C -1 ; WX 486 ; N afii62838 ; B 17 -120 471 739 ; -C -1 ; WX 541 ; N afii62839 ; B 13 -120 541 766 ; -C -1 ; WX 486 ; N afii62840 ; B 17 72 471 739 ; -C -1 ; WX 541 ; N afii62841 ; B 13 94 541 766 ; -C -1 ; WX 750 ; N glyph1021 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57454-2 ; B 34 683 201 784 ; -C -1 ; WX 201 ; N afii57451-2 ; B 34 683 201 857 ; -C -1 ; WX 750 ; N glyph1025 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1026 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-2 ; B 125 0 625 625 ; -C -1 ; WX 165 ; N afii57458-2 ; B 34 683 165 834 ; -C -1 ; WX 211 ; N afii57457-2 ; B 34 683 211 840 ; -C -1 ; WX 750 ; N afii57494-2 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-2 ; B 125 0 625 625 ; -C -1 ; WX 209 ; N afii57455-2 ; B 35 683 209 895 ; -C -1 ; WX 237 ; N afii57452-2 ; B 34 683 237 872 ; -C -1 ; WX 750 ; N glyph1034 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1035 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1036 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62884-2 ; B 34 683 211 918 ; -C -1 ; WX 211 ; N afii62881-2 ; B 34 683 211 995 ; -C -1 ; WX 211 ; N afii62886-2 ; B 34 683 211 931 ; -C -1 ; WX 211 ; N afii62883-2 ; B 34 678 211 978 ; -C -1 ; WX 211 ; N afii62885-2 ; B 31 683 211 974 ; -C -1 ; WX 226 ; N afii62882-2 ; B 23 683 226 1010 ; -C -1 ; WX 750 ; N afii57504-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57456-2 ; B 34 -60 201 41 ; -C -1 ; WX 201 ; N afii57453-2 ; B 34 -133 201 41 ; -C -1 ; WX 750 ; N glyph1046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1047 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1051 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1052 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1060 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1061 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1062 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1072 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1073 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1077 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1078 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1086 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1087 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1088 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1098 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1099 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N glyph1100 ; B 99 137 223 714 ; -C -1 ; WX 319 ; N glyph1101 ; B 97 137 226 267 ; -C -1 ; WX 319 ; N glyph1102 ; B 97 137 225 542 ; -C -1 ; WX 750 ; N glyph1103 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1104 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1105 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1106 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1107 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1108 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1109 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1110 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1111 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1112 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1113 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1114 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1115 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1116 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1117 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1118 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1119 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1120 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1121 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1122 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1123 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1124 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1125 ; B 125 0 625 625 ; -C -1 ; WX 343 ; N glyph1126 ; B 51 143 343 556 ; -C -1 ; WX 125 ; N afii57440-2 ; B -34 143 125 276 ; -C -1 ; WX 1000 ; N afii57440-3 ; B -34 143 1000 276 ; -C -1 ; WX 2000 ; N afii57440-4 ; B -34 143 2000 276 ; -C -1 ; WX 853 ; N Ohorn ; B 43 -12 853 728 ; -C -1 ; WX 711 ; N ohorn ; B 40 -12 711 530 ; -C -1 ; WX 830 ; N Uhorn ; B 72 -12 830 716 ; -C -1 ; WX 724 ; N uhorn ; B 69 -12 724 519 ; -C -1 ; WX 0 ; N glyph1134 ; B -309 820 -97 900 ; -C -1 ; WX 0 ; N glyph1135 ; B -531 820 -319 900 ; -C -1 ; WX 0 ; N glyph1136 ; B -454 754 -232 892 ; -C -1 ; WX 0 ; N uniF006 ; B -226 820 -13 900 ; -C -1 ; WX 0 ; N uniF007 ; B -416 820 -203 900 ; -C -1 ; WX 0 ; N uniF009 ; B -333 754 -117 892 ; -C -1 ; WX 0 ; N combininghookabove ; B -231 742 -18 906 ; -C -1 ; WX 0 ; N uniF010 ; B -257 820 -60 906 ; -C -1 ; WX 0 ; N uniF013 ; B -363 742 -150 906 ; -C -1 ; WX 0 ; N uniF011 ; B -449 820 -251 906 ; -C -1 ; WX 0 ; N uniF01C ; B -302 786 25 898 ; -C -1 ; WX 0 ; N uniF015 ; B -516 820 -188 903 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -445 755 -118 868 ; -C -1 ; WX 0 ; N glyph1147 ; B -146 740 138 804 ; -C -1 ; WX 0 ; N glyph1148 ; B -150 740 150 804 ; -C -1 ; WX 0 ; N uniF02C ; B -172 -196 -35 -59 ; -C -1 ; WX 513 ; N dongsign ; B 59 92 460 716 ; -C -1 ; WX 834 ; N onethird ; B 45 -26 818 725 ; -C -1 ; WX 834 ; N twothirds ; B 12 -26 818 725 ; -C -1 ; WX 0 ; N uniF008 ; B -216 582 0 720 ; -C -1 ; WX 0 ; N glyph1154 ; B -333 582 -117 720 ; -C -1 ; WX 0 ; N glyph1155 ; B -294 582 -73 720 ; -C -1 ; WX 0 ; N uniF00F ; B -454 582 -232 720 ; -C -1 ; WX 0 ; N uniF012 ; B -232 582 -19 746 ; -C -1 ; WX 0 ; N uniF014 ; B -363 582 -150 746 ; -C -1 ; WX 0 ; N uniF016 ; B -516 786 -188 898 ; -C -1 ; WX 0 ; N uniF017 ; B -628 786 -301 898 ; -C -1 ; WX 0 ; N uniF018 ; B -599 786 -271 898 ; -C -1 ; WX 0 ; N uniF019 ; B -445 588 -107 713 ; -C -1 ; WX 0 ; N uniF01A ; B -559 588 -221 713 ; -C -1 ; WX 0 ; N uniF01B ; B -549 588 -211 713 ; -C -1 ; WX 0 ; N uniF01E ; B -399 -196 -262 -59 ; -C -1 ; WX 0 ; N uniF01F ; B -459 -196 -322 -59 ; -C -1 ; WX 0 ; N uniF020 ; B -530 -196 -393 -59 ; -C -1 ; WX 0 ; N uniF021 ; B -428 -196 -291 -59 ; -C -1 ; WX 0 ; N uniF022 ; B -505 -196 -368 -59 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -289 754 -68 892 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -207 754 10 892 ; -C -1 ; WX 0 ; N uniF01D ; B -313 588 24 713 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -437 -196 -299 -59 ; -C -1 ; WX 0 ; N uniF023 ; B -350 -196 -212 -59 ; -C -1 ; WX 0 ; N uniF029 ; B -211 -196 -74 -59 ; -C -1 ; WX 0 ; N uniF02A ; B -216 -196 -79 -59 ; -C -1 ; WX 0 ; N uniF02B ; B -398 -196 -261 -59 ; -C -1 ; WX 0 ; N uniF024 ; B -345 -196 -208 -59 ; -C -1 ; WX 0 ; N uniF025 ; B -374 -196 -237 -59 ; -C -1 ; WX 0 ; N uniF026 ; B -472 -196 -334 -59 ; -C -1 ; WX 0 ; N uniF027 ; B -386 -196 -249 -59 ; -C -1 ; WX 0 ; N uniF028 ; B -481 -196 -344 -59 ; -C -1 ; WX 0 ; N uniF02D ; B -497 820 -169 903 ; -C -1 ; WX 0 ; N uniF02E ; B -477 786 -150 898 ; -C -1 ; WX 0 ; N uniF02F ; B -548 820 -221 903 ; -C -1 ; WX 0 ; N uniF030 ; B -567 786 -240 898 ; -C -1 ; WX 278 ; N uniF031 ; B 72 0 209 519 ; -C -1 ; WX 722 ; N Adotbelow ; B 0 -196 718 716 ; -C -1 ; WX 556 ; N adotbelow ; B 36 -196 522 530 ; -C -1 ; WX 722 ; N Ahookabove ; B 0 0 718 906 ; -C -1 ; WX 556 ; N ahookabove ; B 36 -12 522 746 ; -C -1 ; WX 722 ; N Acircumflexacute ; B 0 0 718 900 ; -C -1 ; WX 556 ; N acircumflexacute ; B 36 -12 522 892 ; -C -1 ; WX 722 ; N Acircumflexgrave ; B 0 0 718 900 ; -C -1 ; WX 556 ; N acircumflexgrave ; B 36 -12 522 892 ; -C -1 ; WX 722 ; N Acircumflexhookabove ; B 0 0 718 906 ; -C -1 ; WX 556 ; N acircumflexhookabove ; B 36 -12 522 906 ; -C -1 ; WX 722 ; N Acircumflextilde ; B 0 0 718 903 ; -C -1 ; WX 556 ; N acircumflextilde ; B 36 -12 522 868 ; -C -1 ; WX 722 ; N Acircumflexdotbelow ; B 0 -196 718 804 ; -C -1 ; WX 556 ; N acircumflexdotbelow ; B 36 -196 522 728 ; -C -1 ; WX 722 ; N Abreveacute ; B 0 0 718 900 ; -C -1 ; WX 556 ; N abreveacute ; B 36 -12 522 892 ; -C -1 ; WX 722 ; N Abrevegrave ; B 0 0 718 900 ; -C -1 ; WX 556 ; N abrevegrave ; B 36 -12 522 892 ; -C -1 ; WX 722 ; N Abrevehookabove ; B 0 0 718 906 ; -C -1 ; WX 556 ; N abrevehookabove ; B 36 -12 522 906 ; -C -1 ; WX 722 ; N Abrevetilde ; B 0 0 718 903 ; -C -1 ; WX 556 ; N abrevetilde ; B 36 -12 522 868 ; -C -1 ; WX 722 ; N Abrevedotbelow ; B 0 -196 718 804 ; -C -1 ; WX 556 ; N abrevedotbelow ; B 36 -196 522 728 ; -C -1 ; WX 667 ; N Edotbelow ; B 73 -196 617 716 ; -C -1 ; WX 556 ; N edotbelow ; B 32 -196 519 530 ; -C -1 ; WX 667 ; N Ehookabove ; B 73 0 617 906 ; -C -1 ; WX 556 ; N ehookabove ; B 32 -12 519 746 ; -C -1 ; WX 667 ; N Etilde ; B 73 0 617 880 ; -C -1 ; WX 556 ; N etilde ; B 32 -12 519 713 ; -C -1 ; WX 667 ; N Ecircumflexacute ; B 73 0 617 900 ; -C -1 ; WX 556 ; N ecircumflexacute ; B 32 -12 519 892 ; -C -1 ; WX 667 ; N Ecircumflexgrave ; B 73 0 617 900 ; -C -1 ; WX 556 ; N ecircumflexgrave ; B 32 -12 519 892 ; -C -1 ; WX 667 ; N Ecircumflexhookabove ; B 73 0 617 906 ; -C -1 ; WX 556 ; N ecircumflexhookabove ; B 32 -12 519 906 ; -C -1 ; WX 667 ; N Ecircumflextilde ; B 73 0 617 903 ; -C -1 ; WX 556 ; N ecircumflextilde ; B 32 -12 519 868 ; -C -1 ; WX 667 ; N Ecircumflexdotbelow ; B 73 -196 617 804 ; -C -1 ; WX 556 ; N ecircumflexdotbelow ; B 32 -196 519 728 ; -C -1 ; WX 278 ; N Ihookabove ; B 52 0 265 906 ; -C -1 ; WX 278 ; N ihookabove ; B 45 0 259 746 ; -C -1 ; WX 278 ; N Idotbelow ; B 68 -196 213 716 ; -C -1 ; WX 278 ; N idotbelow ; B 72 -196 209 716 ; -C -1 ; WX 778 ; N Odotbelow ; B 43 -196 738 728 ; -C -1 ; WX 611 ; N odotbelow ; B 40 -196 575 530 ; -C -1 ; WX 778 ; N Ohookabove ; B 43 -12 738 906 ; -C -1 ; WX 611 ; N ohookabove ; B 40 -12 575 746 ; -C -1 ; WX 778 ; N Ocircumflexacute ; B 43 -12 738 900 ; -C -1 ; WX 611 ; N ocircumflexacute ; B 40 -12 575 892 ; -C -1 ; WX 778 ; N Ocircumflexgrave ; B 43 -12 738 900 ; -C -1 ; WX 611 ; N ocircumflexgrave ; B 40 -12 575 892 ; -C -1 ; WX 778 ; N Ocircumflexhookabove ; B 43 -12 738 906 ; -C -1 ; WX 611 ; N ocircumflexhookabove ; B 40 -12 575 906 ; -C -1 ; WX 778 ; N Ocircumflextilde ; B 43 -12 738 903 ; -C -1 ; WX 611 ; N ocircumflextilde ; B 40 -12 575 868 ; -C -1 ; WX 778 ; N Ocircumflexdotbelow ; B 43 -196 738 804 ; -C -1 ; WX 611 ; N ocircumflexdotbelow ; B 40 -196 575 728 ; -C -1 ; WX 853 ; N Ohornacute ; B 43 -12 853 903 ; -C -1 ; WX 711 ; N ohornacute ; B 40 -12 711 728 ; -C -1 ; WX 853 ; N Ohorngrave ; B 43 -12 853 903 ; -C -1 ; WX 711 ; N ohorngrave ; B 40 -12 711 728 ; -C -1 ; WX 853 ; N Ohornhookabove ; B 43 -12 853 906 ; -C -1 ; WX 711 ; N ohornhookabove ; B 40 -12 711 746 ; -C -1 ; WX 853 ; N Ohorntilde ; B 43 -12 853 880 ; -C -1 ; WX 711 ; N ohorntilde ; B 40 -12 711 713 ; -C -1 ; WX 853 ; N Ohorndotbelow ; B 43 -196 853 728 ; -C -1 ; WX 711 ; N ohorndotbelow ; B 40 -196 711 530 ; -C -1 ; WX 722 ; N Udotbelow ; B 72 -196 643 716 ; -C -1 ; WX 611 ; N udotbelow ; B 69 -196 541 519 ; -C -1 ; WX 722 ; N Uhookabove ; B 72 -12 643 906 ; -C -1 ; WX 611 ; N uhookabove ; B 69 -12 541 746 ; -C -1 ; WX 830 ; N Uhornacute ; B 72 -12 830 903 ; -C -1 ; WX 724 ; N uhornacute ; B 69 -12 724 728 ; -C -1 ; WX 830 ; N Uhorngrave ; B 72 -12 830 903 ; -C -1 ; WX 724 ; N uhorngrave ; B 69 -12 724 728 ; -C -1 ; WX 830 ; N Uhornhookabove ; B 72 -12 830 906 ; -C -1 ; WX 724 ; N uhornhookabove ; B 69 -12 724 746 ; -C -1 ; WX 830 ; N Uhorntilde ; B 72 -12 830 880 ; -C -1 ; WX 724 ; N uhorntilde ; B 69 -12 724 713 ; -C -1 ; WX 830 ; N Uhorndotbelow ; B 72 -196 830 716 ; -C -1 ; WX 724 ; N uhorndotbelow ; B 69 -196 724 519 ; -C -1 ; WX 667 ; N Ydotbelow ; B -1 -196 668 716 ; -C -1 ; WX 556 ; N ydotbelow ; B 7 -210 540 519 ; -C -1 ; WX 667 ; N Yhookabove ; B -1 0 668 906 ; -C -1 ; WX 556 ; N yhookabove ; B 7 -210 540 746 ; -C -1 ; WX 667 ; N Ytilde ; B -1 0 668 880 ; -C -1 ; WX 556 ; N ytilde ; B 7 -210 540 713 ; -C -1 ; WX 722 ; N uni01CD ; B 0 0 718 904 ; -C -1 ; WX 556 ; N uni01CE ; B 36 -12 522 728 ; -C -1 ; WX 278 ; N uni01CF ; B -26 0 304 904 ; -C -1 ; WX 278 ; N uni01D0 ; B -26 0 304 728 ; -C -1 ; WX 778 ; N uni01D1 ; B 43 -12 738 904 ; -C -1 ; WX 611 ; N uni01D2 ; B 40 -12 575 728 ; -C -1 ; WX 722 ; N uni01D3 ; B 72 -12 643 904 ; -C -1 ; WX 611 ; N uni01D4 ; B 69 -12 541 728 ; -C -1 ; WX 722 ; N uni01D5 ; B 72 -12 643 900 ; -C -1 ; WX 611 ; N uni01D6 ; B 69 -12 541 900 ; -C -1 ; WX 722 ; N uni01D7 ; B 72 -12 643 900 ; -C -1 ; WX 611 ; N uni01D8 ; B 69 -12 541 900 ; -C -1 ; WX 722 ; N uni01D9 ; B 72 -12 643 900 ; -C -1 ; WX 611 ; N uni01DA ; B 69 -12 541 900 ; -C -1 ; WX 722 ; N uni01DB ; B 72 -12 643 900 ; -C -1 ; WX 611 ; N uni01DC ; B 69 -12 541 900 ; -C -1 ; WX 0 ; N glyph1292 ; B -128 730 128 900 ; -C -1 ; WX 0 ; N glyph1293 ; B -128 730 133 900 ; -C -1 ; WX 0 ; N glyph1294 ; B -131 730 131 900 ; -C -1 ; WX 0 ; N glyph1295 ; B -133 730 128 900 ; -C -1 ; WX 567 ; N uni0492 ; B -1 0 565 716 ; -C -1 ; WX 417 ; N uni0493 ; B 3 0 417 519 ; -C -1 ; WX 904 ; N uni0496 ; B 11 -156 892 721 ; -C -1 ; WX 709 ; N uni0497 ; B 0 -137 709 522 ; -C -1 ; WX 610 ; N uni049A ; B 75 -156 600 721 ; -C -1 ; WX 500 ; N uni049B ; B 66 -137 500 522 ; -C -1 ; WX 610 ; N uni049C ; B 75 0 602 721 ; -C -1 ; WX 500 ; N uni049D ; B 66 0 501 522 ; -C -1 ; WX 722 ; N uni04A2 ; B 73 -156 704 716 ; -C -1 ; WX 604 ; N uni04A3 ; B 66 -137 591 519 ; -C -1 ; WX 556 ; N uni04AE ; B 0 0 551 716 ; -C -1 ; WX 556 ; N uni04AF ; B 9 -197 547 519 ; -C -1 ; WX 556 ; N uni04B0 ; B 0 0 551 716 ; -C -1 ; WX 556 ; N uni04B1 ; B 9 -197 547 519 ; -C -1 ; WX 667 ; N uni04B2 ; B 0 -156 664 716 ; -C -1 ; WX 556 ; N uni04B3 ; B 6 -137 547 519 ; -C -1 ; WX 703 ; N uni04B8 ; B 61 0 626 716 ; -C -1 ; WX 581 ; N uni04B9 ; B 56 0 516 519 ; -C -1 ; WX 703 ; N uni04BA ; B 76 0 642 716 ; -C -1 ; WX 611 ; N uni04BB ; B 71 0 543 716 ; -C -1 ; WX 726 ; N uni018F ; B 43 -12 686 728 ; -C -1 ; WX 556 ; N uni0259 ; B 37 -12 524 530 ; -C -1 ; WX 778 ; N uni04E8 ; B 42 -12 736 728 ; -C -1 ; WX 611 ; N uni04E9 ; B 40 -12 575 530 ; -C -1 ; WX 649 ; N glyph1320 ; B 28 143 649 489 ; -C -1 ; WX 271 ; N glyph1321 ; B -34 143 271 492 ; -C -1 ; WX 305 ; N glyph1322 ; B -34 143 305 637 ; -C -1 ; WX 324 ; N glyph1323 ; B -34 143 324 578 ; -C -1 ; WX 612 ; N glyph1324 ; B 19 -130 612 464 ; -C -1 ; WX 271 ; N glyph1325 ; B 49 -63 222 107 ; -C -1 ; WX 271 ; N glyph1326 ; B 11 -81 264 107 ; -C -1 ; WX 271 ; N glyph1327 ; B 11 -193 264 107 ; -C -1 ; WX 271 ; N glyph1328 ; B 8 -193 261 107 ; -C -1 ; WX 271 ; N glyph1329 ; B 33 -171 238 107 ; -C -1 ; WX 271 ; N glyph1330 ; B -22 -210 295 107 ; -C -1 ; WX 0 ; N glyph1331 ; B -133 519 133 837 ; -C -1 ; WX 207 ; N glyph1332 ; B 7 731 210 891 ; -C -1 ; WX 207 ; N glyph1333 ; B -5 746 179 890 ; -C -1 ; WX 333 ; N glyph1334 ; B 70 605 250 717 ; -C -1 ; WX 333 ; N glyph1335 ; B 70 605 250 717 ; -C -1 ; WX 238 ; N uni0653 ; B 0 765 238 831 ; -C -1 ; WX 217 ; N uni0654 ; B 46 750 181 890 ; -C -1 ; WX 217 ; N uni0655 ; B 46 -119 181 21 ; -C -1 ; WX 0 ; N uni0670 ; B -26 519 29 817 ; -C -1 ; WX 217 ; N uni0671 ; B 7 109 210 891 ; -C -1 ; WX 234 ; N uniFB51 ; B -32 143 234 891 ; -C -1 ; WX 217 ; N uni0672 ; B -5 109 181 890 ; -C -1 ; WX 234 ; N glyph1343 ; B -25 143 234 890 ; -C -1 ; WX 217 ; N uni0673 ; B 14 -84 198 736 ; -C -1 ; WX 234 ; N glyph1345 ; B 4 -84 234 736 ; -C -1 ; WX 217 ; N uni0675 ; B 66 109 298 743 ; -C -1 ; WX 234 ; N glyph47 ; B 13 143 269 743 ; -C -1 ; WX 451 ; N uni0676 ; B 3 -71 498 694 ; -C -1 ; WX 451 ; N glyph1349 ; B 3 -71 498 694 ; -C -1 ; WX 451 ; N uni0677 ; B 3 -71 498 729 ; -C -1 ; WX 451 ; N glyph1351 ; B 3 -71 498 729 ; -C -1 ; WX 645 ; N uni0678 ; B 74 -60 645 694 ; -C -1 ; WX 554 ; N glyph ; B 5 -174 554 499 ; -C -1 ; WX 649 ; N uni0679 ; B 28 143 649 837 ; -C -1 ; WX 649 ; N uniFB67 ; B 28 143 649 837 ; -C -1 ; WX 271 ; N uniFB68 ; B -34 143 271 837 ; -C -1 ; WX 271 ; N uniFB69 ; B -34 143 271 837 ; -C -1 ; WX 649 ; N uni067A ; B 28 143 649 766 ; -C -1 ; WX 649 ; N uniFB5F ; B 28 143 649 766 ; -C -1 ; WX 271 ; N uniFB60 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N uniFB61 ; B -34 143 271 828 ; -C -1 ; WX 649 ; N uni067B ; B 28 -171 649 489 ; -C -1 ; WX 649 ; N uniFB53 ; B 28 -171 649 489 ; -C -1 ; WX 271 ; N uniFB54 ; B -34 -171 271 492 ; -C -1 ; WX 271 ; N uniFB55 ; B -34 -171 271 492 ; -C -1 ; WX 649 ; N uni067C ; B 28 31 649 656 ; -C -1 ; WX 649 ; N glyph1367 ; B 28 31 649 656 ; -C -1 ; WX 271 ; N glyph1368 ; B -34 31 271 715 ; -C -1 ; WX 271 ; N glyph1369 ; B -34 31 271 715 ; -C -1 ; WX 649 ; N uni067D ; B 28 143 649 766 ; -C -1 ; WX 649 ; N glyph1371 ; B 28 143 649 766 ; -C -1 ; WX 271 ; N glyph1372 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N glyph1373 ; B -34 143 271 828 ; -C -1 ; WX 649 ; N uni067F ; B 28 143 649 783 ; -C -1 ; WX 649 ; N uniFB63 ; B 28 143 649 783 ; -C -1 ; WX 271 ; N uniFB64 ; B -34 143 295 844 ; -C -1 ; WX 271 ; N uniFB65 ; B -34 143 295 844 ; -C -1 ; WX 649 ; N uni0680 ; B 28 -210 649 489 ; -C -1 ; WX 649 ; N uniFB5B ; B 28 -210 649 489 ; -C -1 ; WX 271 ; N uniFB5C ; B -34 -210 295 492 ; -C -1 ; WX 271 ; N uniFB5D ; B -34 -210 295 492 ; -C -1 ; WX 577 ; N uni0681 ; B 25 -203 563 733 ; -C -1 ; WX 559 ; N glyph1383 ; B 23 -201 563 733 ; -C -1 ; WX 523 ; N glyph1384 ; B -34 143 523 704 ; -C -1 ; WX 523 ; N glyph1385 ; B -34 143 523 704 ; -C -1 ; WX 577 ; N uni0682 ; B 25 -203 563 854 ; -C -1 ; WX 559 ; N glyph1387 ; B 23 -201 563 854 ; -C -1 ; WX 523 ; N glyph1388 ; B -34 143 523 832 ; -C -1 ; WX 523 ; N glyph1389 ; B -34 143 523 832 ; -C -1 ; WX 577 ; N uni0683 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB77 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB78 ; B -34 -81 523 501 ; -C -1 ; WX 523 ; N uniFB79 ; B -34 -81 523 501 ; -C -1 ; WX 577 ; N uni0684 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB73 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB74 ; B -34 -171 523 501 ; -C -1 ; WX 523 ; N uniFB75 ; B -34 -171 523 501 ; -C -1 ; WX 577 ; N uni0685 ; B 25 -203 563 876 ; -C -1 ; WX 559 ; N glyph1399 ; B 23 -201 563 876 ; -C -1 ; WX 523 ; N glyph1400 ; B -34 143 523 854 ; -C -1 ; WX 523 ; N glyph1401 ; B -34 143 523 854 ; -C -1 ; WX 577 ; N uni0687 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB7f ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB80 ; B -34 -210 523 501 ; -C -1 ; WX 523 ; N uniFB81 ; B -34 -210 523 501 ; -C -1 ; WX 343 ; N uni0688 ; B 39 143 343 891 ; -C -1 ; WX 343 ; N uniFB89 ; B 39 143 343 891 ; -C -1 ; WX 343 ; N uni0689 ; B 51 31 343 604 ; -C -1 ; WX 343 ; N glyph1409 ; B 51 31 343 604 ; -C -1 ; WX 343 ; N uni068A ; B 51 -63 343 604 ; -C -1 ; WX 343 ; N glyph1411 ; B 51 -63 343 604 ; -C -1 ; WX 343 ; N uni068B ; B 39 -63 343 891 ; -C -1 ; WX 343 ; N glyph1413 ; B 39 -63 343 891 ; -C -1 ; WX 343 ; N uni068C ; B 50 143 343 849 ; -C -1 ; WX 343 ; N uniFB85 ; B 50 143 343 849 ; -C -1 ; WX 343 ; N uni068D ; B 51 -81 343 604 ; -C -1 ; WX 343 ; N uniFB83 ; B 51 -81 343 604 ; -C -1 ; WX 343 ; N uni068E ; B 51 143 343 888 ; -C -1 ; WX 343 ; N uniFB87 ; B 51 143 343 888 ; -C -1 ; WX 343 ; N uni068F ; B 23 143 343 888 ; -C -1 ; WX 343 ; N glyph1421 ; B 23 143 343 888 ; -C -1 ; WX 343 ; N uni0690 ; B 17 143 343 888 ; -C -1 ; WX 343 ; N glyph1423 ; B 17 143 343 888 ; -C -1 ; WX 433 ; N uni0691 ; B 5 -72 433 837 ; -C -1 ; WX 433 ; N uniFB8D ; B 5 -72 433 837 ; -C -1 ; WX 433 ; N uni0692 ; B 5 -72 433 631 ; -C -1 ; WX 433 ; N glyph1426 ; B 5 -72 433 631 ; -C -1 ; WX 433 ; N uni0693 ; B 5 -99 458 461 ; -C -1 ; WX 433 ; N glyph1429 ; B 5 -99 458 461 ; -C -1 ; WX 433 ; N uni0694 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N glyph1431 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N uni0695 ; B 5 -196 494 461 ; -C -1 ; WX 433 ; N glyph1433 ; B 5 -196 494 461 ; -C -1 ; WX 433 ; N uni0696 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N glyph1435 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N uni0697 ; B 5 -72 447 700 ; -C -1 ; WX 433 ; N glyph1437 ; B 5 -72 447 700 ; -C -1 ; WX 433 ; N uni0699 ; B 5 -72 447 830 ; -C -1 ; WX 433 ; N glyph1439 ; B 5 -72 447 830 ; -C -1 ; WX 899 ; N uni069A ; B 31 -63 899 634 ; -C -1 ; WX 899 ; N glyph1441 ; B 31 -63 899 634 ; -C -1 ; WX 608 ; N glyph1442 ; B -34 -63 608 634 ; -C -1 ; WX 608 ; N glyph1443 ; B -34 -63 608 634 ; -C -1 ; WX 899 ; N uni069B ; B 31 -193 899 458 ; -C -1 ; WX 899 ; N glyph1445 ; B 31 -193 899 458 ; -C -1 ; WX 608 ; N glyph1446 ; B -34 -193 608 446 ; -C -1 ; WX 608 ; N glyph1447 ; B -34 -193 608 446 ; -C -1 ; WX 899 ; N uni069C ; B 31 -193 899 774 ; -C -1 ; WX 899 ; N glyph1449 ; B 31 -193 899 774 ; -C -1 ; WX 608 ; N glyph1450 ; B -34 -193 608 774 ; -C -1 ; WX 608 ; N glyph1451 ; B -34 -193 608 774 ; -C -1 ; WX 1063 ; N uni069D ; B 31 -81 1063 504 ; -C -1 ; WX 1063 ; N glyph1453 ; B 31 -81 1063 504 ; -C -1 ; WX 771 ; N glyph1454 ; B -34 -81 771 504 ; -C -1 ; WX 771 ; N glyph1455 ; B -34 -81 771 504 ; -C -1 ; WX 1063 ; N uni069E ; B 31 -63 1063 820 ; -C -1 ; WX 1063 ; N glyph1457 ; B 31 -63 1063 820 ; -C -1 ; WX 771 ; N glyph1458 ; B -34 143 771 820 ; -C -1 ; WX 771 ; N glyph1459 ; B -34 143 771 820 ; -C -1 ; WX 523 ; N uni069F ; B -34 143 523 858 ; -C -1 ; WX 523 ; N glyph1461 ; B -34 143 523 858 ; -C -1 ; WX 541 ; N uni06A0 ; B 25 -204 535 891 ; -C -1 ; WX 469 ; N glyph1463 ; B 34 -198 516 878 ; -C -1 ; WX 541 ; N glyph1464 ; B -34 143 483 891 ; -C -1 ; WX 360 ; N glyph1465 ; B -34 143 360 852 ; -C -1 ; WX 758 ; N uni06A1 ; B 23 127 758 549 ; -C -1 ; WX 758 ; N uni06A2 ; B 23 -63 758 549 ; -C -1 ; WX 758 ; N glyph1468 ; B 23 -63 758 549 ; -C -1 ; WX 305 ; N glyph1469 ; B -34 -63 305 637 ; -C -1 ; WX 324 ; N glyph1470 ; B -34 -63 324 578 ; -C -1 ; WX 758 ; N uni06A3 ; B 23 -63 758 779 ; -C -1 ; WX 758 ; N glyph1472 ; B 23 -63 758 779 ; -C -1 ; WX 305 ; N glyph1473 ; B -34 -63 305 850 ; -C -1 ; WX 324 ; N glyph1474 ; B -34 -63 324 784 ; -C -1 ; WX 758 ; N uni06A4 ; B 23 127 758 872 ; -C -1 ; WX 758 ; N uniFB6B ; B 23 127 758 872 ; -C -1 ; WX 305 ; N uniFB6C ; B -34 143 305 811 ; -C -1 ; WX 324 ; N uniFB6D ; B -34 143 324 891 ; -C -1 ; WX 758 ; N uni06A5 ; B 23 -193 758 549 ; -C -1 ; WX 758 ; N glyph1480 ; B 23 -193 758 549 ; -C -1 ; WX 305 ; N glyph1481 ; B -34 -193 305 637 ; -C -1 ; WX 324 ; N glyph1482 ; B -34 -193 324 578 ; -C -1 ; WX 758 ; N uni06A6 ; B 23 127 758 883 ; -C -1 ; WX 758 ; N uniFB6F ; B 23 127 758 883 ; -C -1 ; WX 305 ; N uniFB70 ; B -34 143 305 864 ; -C -1 ; WX 324 ; N uniFB71 ; B -34 143 324 891 ; -C -1 ; WX 612 ; N uni06A7 ; B 19 -130 612 683 ; -C -1 ; WX 612 ; N glyph1488 ; B 19 -130 612 683 ; -C -1 ; WX 612 ; N uni06A8 ; B 19 -130 612 771 ; -C -1 ; WX 612 ; N glyph1490 ; B 19 -130 612 771 ; -C -1 ; WX 757 ; N uni06AA ; B 20 143 757 674 ; -C -1 ; WX 879 ; N glyph1492 ; B 20 143 879 674 ; -C -1 ; WX 360 ; N glyph1493 ; B -34 143 360 674 ; -C -1 ; WX 542 ; N glyph1494 ; B -34 143 542 674 ; -C -1 ; WX 757 ; N uni06AB ; B 20 143 760 708 ; -C -1 ; WX 879 ; N glyph1496 ; B 20 143 879 722 ; -C -1 ; WX 360 ; N glyph1497 ; B -34 143 360 708 ; -C -1 ; WX 542 ; N glyph1498 ; B -34 143 542 722 ; -C -1 ; WX 541 ; N uni06AC ; B 20 143 541 891 ; -C -1 ; WX 541 ; N glyph1500 ; B 20 143 541 891 ; -C -1 ; WX 360 ; N glyph1501 ; B -34 143 360 878 ; -C -1 ; WX 360 ; N glyph1502 ; B -34 143 360 878 ; -C -1 ; WX 541 ; N uni06AD ; B 20 143 541 859 ; -C -1 ; WX 541 ; N uniFBD4 ; B 20 143 541 859 ; -C -1 ; WX 360 ; N uniFBD5 ; B -34 143 360 811 ; -C -1 ; WX 360 ; N uniFBD6 ; B -34 143 360 811 ; -C -1 ; WX 541 ; N uni06AE ; B 20 -193 541 774 ; -C -1 ; WX 541 ; N glyph1508 ; B 20 -193 541 774 ; -C -1 ; WX 360 ; N glyph1509 ; B -34 -193 360 708 ; -C -1 ; WX 360 ; N glyph1510 ; B -34 -193 360 708 ; -C -1 ; WX 757 ; N uni06B0 ; B 20 143 760 863 ; -C -1 ; WX 879 ; N glyph1512 ; B 20 143 879 876 ; -C -1 ; WX 360 ; N glyph1513 ; B -34 143 360 863 ; -C -1 ; WX 542 ; N glyph1514 ; B -34 143 542 876 ; -C -1 ; WX 757 ; N uni06B1 ; B 20 143 757 891 ; -C -1 ; WX 879 ; N uniFB9B ; B 20 143 879 891 ; -C -1 ; WX 360 ; N uniFB9C ; B -34 143 360 891 ; -C -1 ; WX 542 ; N uniFB9D ; B -34 143 542 891 ; -C -1 ; WX 757 ; N uni06B2 ; B 20 -81 757 863 ; -C -1 ; WX 879 ; N glyph1520 ; B 20 -81 879 876 ; -C -1 ; WX 360 ; N glyph1521 ; B -34 -81 360 863 ; -C -1 ; WX 542 ; N glyph1522 ; B -34 -81 542 876 ; -C -1 ; WX 757 ; N uni06B3 ; B 20 -171 757 863 ; -C -1 ; WX 879 ; N uniFB97 ; B 20 -171 879 876 ; -C -1 ; WX 360 ; N uniFB98 ; B -34 -171 360 863 ; -C -1 ; WX 542 ; N uniFB99 ; B -34 -171 542 876 ; -C -1 ; WX 757 ; N uni06B4 ; B 20 143 757 891 ; -C -1 ; WX 879 ; N glyph1528 ; B 20 143 879 891 ; -C -1 ; WX 360 ; N glyph1529 ; B -34 143 360 891 ; -C -1 ; WX 542 ; N glyph1530 ; B -34 143 542 891 ; -C -1 ; WX 451 ; N uni06B5 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1532 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1533 ; B -34 143 234 891 ; -C -1 ; WX 234 ; N glyph1534 ; B -34 143 234 891 ; -C -1 ; WX 451 ; N uni06B6 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1536 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1537 ; B -39 143 234 891 ; -C -1 ; WX 234 ; N glyph1538 ; B -39 143 234 891 ; -C -1 ; WX 451 ; N uni06B7 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1540 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1541 ; B -34 143 234 891 ; -C -1 ; WX 234 ; N glyph1542 ; B -34 143 234 891 ; -C -1 ; WX 451 ; N uni06B8 ; B 17 -168 451 773 ; -C -1 ; WX 451 ; N glyph1544 ; B 17 -168 451 773 ; -C -1 ; WX 234 ; N glyph1545 ; B -34 -193 242 774 ; -C -1 ; WX 234 ; N glyph1546 ; B -34 -193 242 774 ; -C -1 ; WX 541 ; N uni06B9 ; B 30 -212 541 612 ; -C -1 ; WX 541 ; N glyph1548 ; B 30 -212 541 612 ; -C -1 ; WX 271 ; N glyph1549 ; B -34 -63 274 735 ; -C -1 ; WX 271 ; N glyph1550 ; B -34 -63 274 735 ; -C -1 ; WX 541 ; N uni06BA ; B 30 -63 541 458 ; -C -1 ; WX 541 ; N uniFB9F ; B 30 -63 541 458 ; -C -1 ; WX 541 ; N uni06BB ; B 30 -63 541 798 ; -C -1 ; WX 541 ; N uniFBA1 ; B 30 -63 541 798 ; -C -1 ; WX 541 ; N uni06BC ; B 30 -175 541 612 ; -C -1 ; WX 541 ; N glyph1556 ; B 30 -175 541 612 ; -C -1 ; WX 271 ; N glyph1557 ; B -34 31 274 735 ; -C -1 ; WX 271 ; N glyph1558 ; B -34 31 274 735 ; -C -1 ; WX 541 ; N uni06BD ; B 30 -63 541 742 ; -C -1 ; WX 541 ; N glyph1560 ; B 30 -63 541 742 ; -C -1 ; WX 577 ; N uni06BF ; B 25 -203 563 746 ; -C -1 ; WX 559 ; N glyph1562 ; B 23 -201 563 746 ; -C -1 ; WX 523 ; N glyph1563 ; B -34 -193 523 724 ; -C -1 ; WX 523 ; N glyph1564 ; B -34 -193 523 724 ; -C -1 ; WX 343 ; N uni06C0 ; B 43 126 304 694 ; -C -1 ; WX 415 ; N uniFBA5 ; B 1 143 415 743 ; -C -1 ; WX 388 ; N uni06C1 ; B 13 68 388 376 ; -C -1 ; WX 388 ; N uni06C2 ; B 13 68 388 597 ; -C -1 ; WX 388 ; N uni06C3 ; B 13 68 388 634 ; -C -1 ; WX 451 ; N uni06C4 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N glyph1571 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uni06C5 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uniFBE1 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uni06C6 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uniFBDA ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uni06C7 ; B 3 -71 451 778 ; -C -1 ; WX 451 ; N uniFBD8 ; B 3 -71 451 778 ; -C -1 ; WX 451 ; N uni06C8 ; B 3 -71 451 817 ; -C -1 ; WX 451 ; N uniFBDC ; B 3 -71 451 817 ; -C -1 ; WX 451 ; N uni06C9 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uniFBE3 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uni06CA ; B 3 -71 451 699 ; -C -1 ; WX 451 ; N glyph1583 ; B 3 -71 451 699 ; -C -1 ; WX 451 ; N uni06CB ; B 3 -71 451 816 ; -C -1 ; WX 451 ; N uniFBDF ; B 3 -71 451 816 ; -C -1 ; WX 645 ; N uni06CD ; B 32 -60 575 461 ; -C -1 ; WX 554 ; N glyph1587 ; B -19 -174 554 276 ; -C -1 ; WX 645 ; N uni06CE ; B 74 -60 575 522 ; -C -1 ; WX 554 ; N glyph1589 ; B 5 -174 554 424 ; -C -1 ; WX 271 ; N glyph1590 ; B -34 -81 271 667 ; -C -1 ; WX 271 ; N glyph1591 ; B -34 -81 271 667 ; -C -1 ; WX 451 ; N uni06CF ; B 3 -71 451 724 ; -C -1 ; WX 451 ; N glyph1593 ; B 3 -71 451 724 ; -C -1 ; WX 645 ; N uni06D0 ; B 74 -187 575 461 ; -C -1 ; WX 554 ; N uniFBE5 ; B 5 -212 554 282 ; -C -1 ; WX 271 ; N uniFBE6 ; B -34 -171 271 492 ; -C -1 ; WX 271 ; N uniFBE7 ; B -34 -171 271 492 ; -C -1 ; WX 645 ; N uni06D1 ; B 74 -178 575 461 ; -C -1 ; WX 554 ; N glyph1599 ; B 5 -212 554 282 ; -C -1 ; WX 812 ; N uni06D2 ; B 33 -25 812 469 ; -C -1 ; WX 812 ; N uniFBAF ; B 34 -208 812 276 ; -C -1 ; WX 812 ; N uni06D3 ; B 33 -25 812 597 ; -C -1 ; WX 812 ; N uniFBB1 ; B 34 -208 812 499 ; -C -1 ; WX 207 ; N uni06D4 ; B 20 143 188 276 ; -C -1 ; WX 0 ; N uni06D6 ; B -230 519 231 886 ; -C -1 ; WX 0 ; N uni06D7 ; B -182 519 183 886 ; -C -1 ; WX 0 ; N uni06D8 ; B -107 519 107 675 ; -C -1 ; WX 0 ; N uni06D9 ; B -108 519 108 836 ; -C -1 ; WX 0 ; N uni06DA ; B -128 519 128 866 ; -C -1 ; WX 0 ; N uni06DB ; B -65 519 68 660 ; -C -1 ; WX 0 ; N uni06DC ; B -207 519 207 767 ; -C -1 ; WX 1123 ; N uni06DD ; B 24 -188 1099 886 ; -C -1 ; WX 1084 ; N uni06DE ; B 24 -152 1060 884 ; -C -1 ; WX 0 ; N uni06DF ; B -37 519 37 592 ; -C -1 ; WX 0 ; N uni06E0 ; B -36 519 36 591 ; -C -1 ; WX 0 ; N uni06E1 ; B -133 519 133 689 ; -C -1 ; WX 0 ; N uni06E2 ; B -82 519 82 824 ; -C -1 ; WX 0 ; N uni06E3 ; B -207 -209 207 39 ; -C -1 ; WX 0 ; N uni06E4 ; B -57 519 57 550 ; -C -1 ; WX 213 ; N uni06E5 ; B 0 519 213 783 ; -C -1 ; WX 371 ; N uni06E6 ; B 0 519 371 754 ; -C -1 ; WX 0 ; N uni06E7 ; B -185 519 186 754 ; -C -1 ; WX 0 ; N uni06E8 ; B -122 519 122 840 ; -C -1 ; WX 600 ; N uni06E9 ; B 24 0 576 818 ; -C -1 ; WX 0 ; N uni06EA ; B -82 -165 82 -1 ; -C -1 ; WX 0 ; N uni06EB ; B -82 519 82 683 ; -C -1 ; WX 0 ; N uni06ED ; B -82 -209 82 97 ; -C -1 ; WX 899 ; N uni06FA ; B 31 -63 899 774 ; -C -1 ; WX 899 ; N glyph1629 ; B 31 -63 899 774 ; -C -1 ; WX 608 ; N glyph1630 ; B -34 -63 608 774 ; -C -1 ; WX 608 ; N glyph1631 ; B -34 -63 608 774 ; -C -1 ; WX 1063 ; N uni06FB ; B 31 -63 1063 728 ; -C -1 ; WX 1063 ; N glyph1633 ; B 31 -63 1063 728 ; -C -1 ; WX 771 ; N glyph1634 ; B -34 -63 771 728 ; -C -1 ; WX 771 ; N glyph1635 ; B -34 -63 771 728 ; -C -1 ; WX 541 ; N uni06FC ; B 25 -204 535 822 ; -C -1 ; WX 469 ; N glyph1637 ; B 34 -198 516 760 ; -C -1 ; WX 541 ; N glyph1638 ; B -34 -63 483 800 ; -C -1 ; WX 360 ; N glyph1639 ; B -34 -63 360 756 ; -C -1 ; WX 469 ; N uni06FD ; B 62 -145 422 510 ; -C -1 ; WX 360 ; N uni06FE ; B 16 -212 360 431 ; -C -1 ; WX 343 ; N uniFBA6 ; B 43 126 304 519 ; -C -1 ; WX 271 ; N uniFBA8 ; B -34 -134 271 492 ; -C -1 ; WX 320 ; N uniFBA9 ; B -34 -205 320 395 ; -C -1 ; WX 244 ; N glyph1645 ; B 23 -68 222 49 ; -C -1 ; WX 244 ; N glyph1646 ; B 29 -151 226 -20 ; -C -1 ; WX 244 ; N glyph1647 ; B 9 -136 236 59 ; -C -1 ; WX 244 ; N glyph1648 ; B 86 -64 162 34 ; -C -1 ; WX 244 ; N glyph1649 ; B 53 -70 197 27 ; -C -1 ; WX 757 ; N glyph1650 ; B 20 143 757 811 ; -C -1 ; WX 879 ; N glyph1651 ; B 20 143 879 811 ; -C -1 ; WX 273 ; N uniFB1D ; B 66 109 207 518 ; -C -1 ; WX 0 ; N uniFB1E ; B -152 611 152 753 ; -C -1 ; WX 414 ; N glyph1654 ; B 0 140 414 191 ; -C -1 ; WX 546 ; N uniFB1F ; B 66 140 480 518 ; -C -1 ; WX 486 ; N glyph1656 ; B -5 72 471 890 ; -C -1 ; WX 541 ; N glyph1657 ; B -5 94 541 890 ; -C -1 ; WX 486 ; N glyph1658 ; B 17 -122 471 739 ; -C -1 ; WX 541 ; N glyph1659 ; B 13 -122 541 766 ; -C -1 ; WX 486 ; N glyph1660 ; B 17 72 471 792 ; -C -1 ; WX 541 ; N glyph1661 ; B 13 94 541 792 ; -C -1 ; WX 486 ; N glyph1662 ; B 17 72 484 891 ; -C -1 ; WX 541 ; N glyph1663 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1664 ; B 17 72 491 891 ; -C -1 ; WX 541 ; N glyph1665 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1666 ; B 17 72 471 891 ; -C -1 ; WX 541 ; N glyph1667 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1668 ; B 17 -173 471 739 ; -C -1 ; WX 541 ; N glyph1669 ; B 13 -136 541 766 ; -C -1 ; WX 562 ; N glyph1670 ; B 56 143 505 713 ; -C -1 ; WX 562 ; N glyph1671 ; B 92 89 469 713 ; -C -1 ; WX 486 ; N glyph1672 ; B 7 72 471 891 ; -C -1 ; WX 541 ; N glyph1673 ; B 7 94 541 891 ; -EndCharMetrics -StartKernData -StartKernPairs 908 -KPX space A -37 -KPX space Y -18 -KPX space Alphatonos -37 -KPX space Alpha -37 -KPX space Delta -37 -KPX space Lambda -37 -KPX space Upsilon -18 -KPX space Upsilondieresis -18 -KPX one one -55 -KPX A space -37 -KPX A T -74 -KPX A V -74 -KPX A W -55 -KPX A Y -92 -KPX A v -37 -KPX A w -18 -KPX A y -37 -KPX A quoteright -55 -KPX F comma -111 -KPX F period -111 -KPX F A -55 -KPX L space -18 -KPX L T -74 -KPX L V -74 -KPX L W -55 -KPX L Y -92 -KPX L y -37 -KPX L quoteright -55 -KPX P space -18 -KPX P comma -129 -KPX P period -129 -KPX P A -74 -KPX R V -18 -KPX R W -18 -KPX R Y -37 -KPX T comma -111 -KPX T hyphen -55 -KPX T period -111 -KPX T colon -111 -KPX T semicolon -111 -KPX T A -74 -KPX T O -18 -KPX T a -74 -KPX T c -74 -KPX T e -74 -KPX T i -18 -KPX T o -74 -KPX T r -55 -KPX T s -74 -KPX T u -74 -KPX T w -74 -KPX T y -74 -KPX V comma -92 -KPX V hyphen -55 -KPX V period -92 -KPX V colon -55 -KPX V semicolon -55 -KPX V A -74 -KPX V a -55 -KPX V e -55 -KPX V i -18 -KPX V o -74 -KPX V r -55 -KPX V u -37 -KPX V y -37 -KPX W comma -55 -KPX W hyphen -20 -KPX W period -55 -KPX W colon -18 -KPX W semicolon -18 -KPX W A -55 -KPX W a -37 -KPX W e -18 -KPX W i -9 -KPX W o -18 -KPX W r -18 -KPX W u -18 -KPX W y -18 -KPX Y space -18 -KPX Y comma -111 -KPX Y hyphen -55 -KPX Y period -111 -KPX Y colon -74 -KPX Y semicolon -74 -KPX Y A -92 -KPX Y a -55 -KPX Y e -55 -KPX Y i -37 -KPX Y o -74 -KPX Y p -55 -KPX Y q -74 -KPX Y u -55 -KPX Y v -55 -KPX f quoteright 18 -KPX r comma -55 -KPX r period -55 -KPX r quoteright 37 -KPX v comma -74 -KPX v period -74 -KPX w comma -37 -KPX w period -37 -KPX y comma -74 -KPX y period -74 -KPX quoteleft quoteleft -37 -KPX quoteright space -55 -KPX quoteright s -37 -KPX quoteright quoteright -37 -KPX quotedblbase afii10051 -100 -KPX quotedblbase afii10060 -100 -KPX quotedblbase afii10036 -88 -KPX quotedblbase afii10041 -101 -KPX quotedblbase afii10044 -88 -KPX Gamma comma -110 -KPX Gamma period -110 -KPX Gamma Alpha -109 -KPX Gamma Delta -109 -KPX Gamma Lambda -109 -KPX Gamma iotatonos -32 -KPX Gamma iota -32 -KPX Gamma iotadieresis 46 -KPX Theta Alpha -27 -KPX Theta Delta -27 -KPX Theta Lambda -27 -KPX Theta Upsilon -28 -KPX Theta Upsilondieresis -28 -KPX Phi Alpha -27 -KPX Phi Tau -27 -KPX Phi Upsilon -28 -KPX Phi Upsilondieresis -28 -KPX delta tau -28 -KPX delta chi -36 -KPX delta pi -28 -KPX tau alpha -28 -KPX tau delta -28 -KPX tau sigma -28 -KPX tau phi -28 -KPX tau alphatonos -28 -KPX tau zeta -28 -KPX tau omicron -28 -KPX tau sigma1 -28 -KPX tau omega -28 -KPX tau omegatonos -28 -KPX phi tau -28 -KPX phi lambda -12 -KPX phi chi -36 -KPX phi pi -28 -KPX Alphatonos Theta -27 -KPX Alphatonos Phi -27 -KPX Alphatonos Omicron -27 -KPX Alphatonos Tau -83 -KPX Alphatonos Upsilon -91 -KPX Alphatonos Upsilondieresis -91 -KPX Alphatonos gamma -37 -KPX Alphatonos nu -37 -KPX Alphatonos chi -37 -KPX Omicrontonos Upsilon -28 -KPX Omicrontonos Upsilondieresis -28 -KPX Upsilontonos Theta -38 -KPX Upsilontonos Phi -38 -KPX Upsilontonos alpha -74 -KPX Upsilontonos delta -37 -KPX Upsilontonos sigma -74 -KPX Upsilontonos phi -74 -KPX Upsilontonos iotadieresistonos 125 -KPX Upsilontonos Alpha -91 -KPX Upsilontonos Delta -91 -KPX Upsilontonos Lambda -91 -KPX Upsilontonos Omicron -38 -KPX Upsilontonos Omega -38 -KPX Upsilontonos alphatonos -74 -KPX Upsilontonos etatonos -37 -KPX Upsilontonos iotatonos -37 -KPX Upsilontonos eta -37 -KPX Upsilontonos iota -37 -KPX Upsilontonos kappa -37 -KPX Upsilontonos mu -37 -KPX Upsilontonos omicron -74 -KPX Upsilontonos iotadieresis 45 -KPX Upsilontonos omicrontonos -74 -KPX Omegatonos Upsilon -28 -KPX Omegatonos Upsilondieresis -28 -KPX Alpha quoteright -55 -KPX Alpha Theta -27 -KPX Alpha Phi -27 -KPX Alpha Omicron -27 -KPX Alpha Tau -83 -KPX Alpha Upsilon -91 -KPX Alpha Upsilondieresis -91 -KPX Alpha gamma -37 -KPX Alpha nu -37 -KPX Alpha chi -37 -KPX Delta Theta -27 -KPX Delta Omicron -27 -KPX Delta Tau -83 -KPX Delta Upsilon -91 -KPX Delta Upsilondieresis -91 -KPX Kappa Theta -46 -KPX Kappa Phi -46 -KPX Kappa alpha -23 -KPX Kappa delta -23 -KPX Kappa sigma -23 -KPX Kappa phi -23 -KPX Kappa Omicron -46 -KPX Kappa alphatonos -23 -KPX Kappa zeta -23 -KPX Kappa theta -23 -KPX Kappa xi -23 -KPX Kappa omicron -23 -KPX Kappa omega -23 -KPX Kappa omicrontonos -23 -KPX Kappa omegatonos -23 -KPX Lambda Theta -27 -KPX Lambda Omicron -27 -KPX Lambda Tau -83 -KPX Lambda Upsilon -91 -KPX Lambda Upsilondieresis -91 -KPX Omicron Alpha -27 -KPX Omicron Delta -27 -KPX Omicron Lambda -27 -KPX Omicron Upsilon -28 -KPX Omicron Upsilondieresis -28 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -74 -KPX Rho Delta -74 -KPX Rho Lambda -74 -KPX Sigma tau -17 -KPX Sigma pi -17 -KPX Tau comma -110 -KPX Tau hyphen -55 -KPX Tau period -110 -KPX Tau colon -110 -KPX Tau semicolon -110 -KPX Tau Theta -18 -KPX Tau Phi -27 -KPX Tau alpha -74 -KPX Tau delta -41 -KPX Tau epsilon -74 -KPX Tau sigma -74 -KPX Tau phi -74 -KPX Tau iotadieresistonos 118 -KPX Tau Alpha -74 -KPX Tau Delta -80 -KPX Tau Lambda -74 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -74 -KPX Tau epsilontonos -74 -KPX Tau gamma -74 -KPX Tau eta -74 -KPX Tau iota -18 -KPX Tau mu -74 -KPX Tau nu -74 -KPX Tau omicron -74 -KPX Tau upsilon -74 -KPX Tau chi -60 -KPX Tau psi -74 -KPX Tau iotadieresis 45 -KPX Tau upsilondieresis -74 -KPX Tau omicrontonos -74 -KPX Tau upsilontonos -74 -KPX Upsilon comma -110 -KPX Upsilon hyphen -55 -KPX Upsilon period -110 -KPX Upsilon colon -74 -KPX Upsilon semicolon -74 -KPX Upsilon Theta -38 -KPX Upsilon Phi -38 -KPX Upsilon alpha -74 -KPX Upsilon delta -37 -KPX Upsilon sigma -74 -KPX Upsilon phi -74 -KPX Upsilon iotadieresistonos 125 -KPX Upsilon Alpha -91 -KPX Upsilon Delta -91 -KPX Upsilon Lambda -91 -KPX Upsilon Omicron -38 -KPX Upsilon Omega -38 -KPX Upsilon alphatonos -74 -KPX Upsilon etatonos -37 -KPX Upsilon iotatonos -37 -KPX Upsilon gamma -41 -KPX Upsilon eta -37 -KPX Upsilon iota -37 -KPX Upsilon kappa -37 -KPX Upsilon mu -37 -KPX Upsilon omicron -74 -KPX Upsilon iotadieresis 45 -KPX Upsilon omicrontonos -74 -KPX Chi omega -13 -KPX Chi omegatonos -13 -KPX Psi alpha -18 -KPX Psi delta -18 -KPX Psi sigma -18 -KPX Psi phi -18 -KPX Psi alphatonos -18 -KPX Psi omicron -18 -KPX Psi omega -18 -KPX Psi omicrontonos -18 -KPX Psi omegatonos -18 -KPX Omega Upsilon -28 -KPX Omega Upsilondieresis -28 -KPX Upsilondieresis Theta -38 -KPX Upsilondieresis Phi -38 -KPX Upsilondieresis alpha -74 -KPX Upsilondieresis delta -37 -KPX Upsilondieresis sigma -74 -KPX Upsilondieresis phi -74 -KPX Upsilondieresis iotadieresistonos 125 -KPX Upsilondieresis Alpha -91 -KPX Upsilondieresis Delta -91 -KPX Upsilondieresis Lambda -91 -KPX Upsilondieresis Omicron -38 -KPX Upsilondieresis Omega -38 -KPX Upsilondieresis alphatonos -74 -KPX Upsilondieresis etatonos -37 -KPX Upsilondieresis iotatonos -37 -KPX Upsilondieresis eta -37 -KPX Upsilondieresis iota -37 -KPX Upsilondieresis kappa -37 -KPX Upsilondieresis mu -37 -KPX Upsilondieresis omicron -74 -KPX Upsilondieresis iotadieresis 45 -KPX Upsilondieresis omicrontonos -74 -KPX zeta alpha -56 -KPX zeta delta -37 -KPX zeta sigma -56 -KPX zeta tau -37 -KPX zeta phi -56 -KPX zeta alphatonos -56 -KPX zeta etatonos -24 -KPX zeta gamma -32 -KPX zeta eta -24 -KPX zeta theta -37 -KPX zeta iota -24 -KPX zeta kappa -24 -KPX zeta nu -32 -KPX zeta omicron -56 -KPX zeta omega -56 -KPX zeta omicrontonos -56 -KPX zeta omegatonos -56 -KPX zeta pi -37 -KPX kappa alpha -33 -KPX kappa delta -33 -KPX kappa sigma -33 -KPX kappa phi -33 -KPX kappa alphatonos -33 -KPX kappa zeta -33 -KPX kappa theta -14 -KPX kappa xi -33 -KPX kappa omicron -33 -KPX kappa sigma1 -33 -KPX kappa omega -33 -KPX kappa omicrontonos -33 -KPX kappa omegatonos -33 -KPX lambda alpha -12 -KPX lambda delta -12 -KPX lambda sigma -12 -KPX lambda phi -12 -KPX lambda alphatonos -12 -KPX lambda upsilondieresistonos -15 -KPX lambda zeta -12 -KPX lambda xi -12 -KPX lambda omicron -12 -KPX lambda sigma1 -12 -KPX lambda upsilon -15 -KPX lambda omega -12 -KPX lambda upsilondieresis -15 -KPX lambda omicrontonos -12 -KPX lambda upsilontonos -15 -KPX lambda omegatonos -12 -KPX xi alpha -12 -KPX xi delta -12 -KPX xi sigma -12 -KPX xi phi -12 -KPX xi alphatonos -12 -KPX xi zeta -12 -KPX xi xi -12 -KPX xi omicron -12 -KPX xi sigma1 -12 -KPX xi omicrontonos -12 -KPX omicron tau -28 -KPX omicron chi -36 -KPX omicron pi -28 -KPX rho tau -28 -KPX rho pi -28 -KPX chi alpha -36 -KPX chi delta -36 -KPX chi sigma -36 -KPX chi phi -36 -KPX chi alphatonos -36 -KPX chi zeta -36 -KPX chi omicron -36 -KPX chi sigma1 -36 -KPX chi omega -21 -KPX chi omicrontonos -36 -KPX chi omegatonos -21 -KPX omega tau -28 -KPX omega chi -21 -KPX omega pi -28 -KPX omicrontonos tau -28 -KPX omicrontonos chi -36 -KPX omicrontonos pi -28 -KPX omegatonos tau -28 -KPX omegatonos chi -21 -KPX omegatonos pi -28 -KPX afii10052 comma -113 -KPX afii10052 period -125 -KPX afii10052 colon -13 -KPX afii10052 semicolon -13 -KPX afii10052 guillemotleft -38 -KPX afii10052 guillemotright -38 -KPX afii10058 quoteright -100 -KPX afii10059 quoteright -100 -KPX afii10017 quoteright -51 -KPX afii10017 afii10021 37 -KPX afii10017 afii10029 12 -KPX afii10017 afii10032 -13 -KPX afii10017 afii10033 -13 -KPX afii10017 afii10035 -25 -KPX afii10017 afii10036 -50 -KPX afii10017 afii10037 -38 -KPX afii10017 afii10038 -25 -KPX afii10017 afii10041 -76 -KPX afii10017 afii10047 -25 -KPX afii10017 afii10065 12 -KPX afii10017 afii10066 -13 -KPX afii10017 afii10083 -13 -KPX afii10017 afii10084 -13 -KPX afii10017 afii10095 12 -KPX afii10018 afii10017 -38 -KPX afii10018 afii10024 -25 -KPX afii10018 afii10025 -13 -KPX afii10018 afii10029 -25 -KPX afii10018 afii10035 -13 -KPX afii10018 afii10036 -25 -KPX afii10018 afii10037 -25 -KPX afii10018 afii10038 -13 -KPX afii10018 afii10039 -25 -KPX afii10018 afii10041 -38 -KPX afii10018 afii10044 -38 -KPX afii10018 afii10047 -25 -KPX afii10018 afii10049 -25 -KPX afii10018 afii10085 -13 -KPX afii10019 afii10017 -50 -KPX afii10019 afii10021 -13 -KPX afii10019 afii10024 -38 -KPX afii10019 afii10025 -13 -KPX afii10019 afii10029 -25 -KPX afii10019 afii10032 -25 -KPX afii10019 afii10035 -38 -KPX afii10019 afii10036 -38 -KPX afii10019 afii10037 -38 -KPX afii10019 afii10038 -25 -KPX afii10019 afii10039 -38 -KPX afii10019 afii10041 -38 -KPX afii10019 afii10044 -50 -KPX afii10019 afii10049 -25 -KPX afii10019 afii10084 -13 -KPX afii10019 afii10087 -13 -KPX afii10019 afii10089 -38 -KPX afii10020 comma -113 -KPX afii10020 period -125 -KPX afii10020 colon -13 -KPX afii10020 semicolon -13 -KPX afii10020 guillemotleft -38 -KPX afii10020 guillemotright -38 -KPX afii10020 afii10017 -63 -KPX afii10020 afii10021 -25 -KPX afii10020 afii10029 -25 -KPX afii10020 afii10032 -13 -KPX afii10020 afii10035 -13 -KPX afii10020 afii10065 -13 -KPX afii10020 afii10067 -25 -KPX afii10020 afii10069 -38 -KPX afii10020 afii10070 -51 -KPX afii10020 afii10074 -25 -KPX afii10020 afii10077 -50 -KPX afii10020 afii10078 -38 -KPX afii10020 afii10079 -25 -KPX afii10020 afii10080 -50 -KPX afii10020 afii10082 -38 -KPX afii10020 afii10085 -38 -KPX afii10020 afii10093 -38 -KPX afii10020 afii10094 -38 -KPX afii10020 afii10096 -38 -KPX afii10020 afii10097 -38 -KPX afii10021 afii10025 12 -KPX afii10021 afii10037 12 -KPX afii10021 afii10038 -13 -KPX afii10021 afii10041 -13 -KPX afii10021 afii10070 12 -KPX afii10021 afii10073 25 -KPX afii10021 afii10080 12 -KPX afii10021 afii10085 12 -KPX afii10024 afii10025 12 -KPX afii10024 afii10032 -13 -KPX afii10024 afii10035 -25 -KPX afii10024 afii10036 25 -KPX afii10024 afii10037 25 -KPX afii10024 afii10041 12 -KPX afii10024 afii10044 37 -KPX afii10024 afii10065 12 -KPX afii10024 afii10080 -13 -KPX afii10025 afii10024 -25 -KPX afii10025 afii10029 -25 -KPX afii10025 afii10032 -13 -KPX afii10025 afii10035 -25 -KPX afii10025 afii10036 -38 -KPX afii10025 afii10037 -38 -KPX afii10025 afii10038 -25 -KPX afii10025 afii10041 -38 -KPX afii10025 afii10049 -25 -KPX afii10028 afii10025 37 -KPX afii10028 afii10035 -13 -KPX afii10028 afii10036 25 -KPX afii10028 afii10037 25 -KPX afii10028 afii10038 -13 -KPX afii10028 afii10041 25 -KPX afii10028 afii10047 12 -KPX afii10028 afii10065 12 -KPX afii10028 afii10073 12 -KPX afii10028 afii10083 -13 -KPX afii10029 afii10065 25 -KPX afii10030 afii10065 12 -KPX afii10030 afii10083 -13 -KPX afii10030 afii10089 -13 -KPX afii10032 afii10017 -25 -KPX afii10032 afii10021 -13 -KPX afii10032 afii10024 -13 -KPX afii10032 afii10029 -25 -KPX afii10032 afii10037 -25 -KPX afii10032 afii10039 -38 -KPX afii10032 afii10049 -13 -KPX afii10032 afii10069 -25 -KPX afii10032 afii10077 -13 -KPX afii10034 comma -138 -KPX afii10034 period -150 -KPX afii10034 colon -13 -KPX afii10034 semicolon -13 -KPX afii10034 afii10017 -88 -KPX afii10034 afii10021 -63 -KPX afii10034 afii10024 -13 -KPX afii10034 afii10025 -13 -KPX afii10034 afii10029 -63 -KPX afii10034 afii10030 -13 -KPX afii10034 afii10032 -13 -KPX afii10034 afii10035 -25 -KPX afii10034 afii10036 -13 -KPX afii10034 afii10037 -13 -KPX afii10034 afii10038 -13 -KPX afii10034 afii10039 -38 -KPX afii10034 afii10049 -25 -KPX afii10034 afii10065 -13 -KPX afii10034 afii10069 -63 -KPX afii10034 afii10070 -25 -KPX afii10034 afii10080 -25 -KPX afii10034 afii10097 -13 -KPX afii10035 afii10017 -25 -KPX afii10035 afii10021 -13 -KPX afii10035 afii10025 -13 -KPX afii10035 afii10029 -25 -KPX afii10035 afii10030 -13 -KPX afii10035 afii10032 -25 -KPX afii10035 afii10036 -25 -KPX afii10035 afii10037 -13 -KPX afii10035 afii10039 -38 -KPX afii10035 afii10041 -25 -KPX afii10035 afii10044 -13 -KPX afii10035 afii10047 -13 -KPX afii10035 afii10065 12 -KPX afii10035 afii10066 -13 -KPX afii10035 afii10072 12 -KPX afii10035 afii10083 -13 -KPX afii10035 afii10086 -13 -KPX afii10035 afii10089 -13 -KPX afii10036 comma -100 -KPX afii10036 period -113 -KPX afii10036 colon -13 -KPX afii10036 semicolon -13 -KPX afii10036 guillemotleft -25 -KPX afii10036 afii10017 -63 -KPX afii10036 afii10021 -25 -KPX afii10036 afii10024 25 -KPX afii10036 afii10029 -25 -KPX afii10036 afii10032 -25 -KPX afii10036 afii10038 -38 -KPX afii10036 afii10049 -13 -KPX afii10036 afii10065 -25 -KPX afii10036 afii10067 -38 -KPX afii10036 afii10070 -50 -KPX afii10036 afii10074 -38 -KPX afii10036 afii10076 -38 -KPX afii10036 afii10077 -63 -KPX afii10036 afii10078 -51 -KPX afii10036 afii10080 -63 -KPX afii10036 afii10081 -13 -KPX afii10036 afii10082 -38 -KPX afii10036 afii10083 -63 -KPX afii10036 afii10085 -38 -KPX afii10036 afii10087 -38 -KPX afii10036 afii10091 -13 -KPX afii10036 afii10093 -13 -KPX afii10036 afii10094 -13 -KPX afii10036 afii10096 -13 -KPX afii10036 afii10097 -25 -KPX afii10037 comma -113 -KPX afii10037 period -125 -KPX afii10037 colon -25 -KPX afii10037 semicolon -25 -KPX afii10037 guillemotleft -38 -KPX afii10037 guillemotright -38 -KPX afii10037 afii10017 -75 -KPX afii10037 afii10021 -51 -KPX afii10037 afii10029 -38 -KPX afii10037 afii10032 -25 -KPX afii10037 afii10038 -38 -KPX afii10037 afii10047 -13 -KPX afii10037 afii10049 -25 -KPX afii10037 afii10066 -25 -KPX afii10037 afii10067 -38 -KPX afii10037 afii10068 -38 -KPX afii10037 afii10069 -63 -KPX afii10037 afii10070 -63 -KPX afii10037 afii10072 -13 -KPX afii10037 afii10073 -50 -KPX afii10037 afii10074 -38 -KPX afii10037 afii10075 -38 -KPX afii10037 afii10076 -38 -KPX afii10037 afii10077 -63 -KPX afii10037 afii10078 -50 -KPX afii10037 afii10079 -38 -KPX afii10037 afii10080 -63 -KPX afii10037 afii10081 -38 -KPX afii10037 afii10082 -38 -KPX afii10037 afii10083 -63 -KPX afii10037 afii10087 -25 -KPX afii10037 afii10088 -38 -KPX afii10037 afii10090 -38 -KPX afii10037 afii10091 -38 -KPX afii10037 afii10096 -38 -KPX afii10037 afii10097 -50 -KPX afii10038 afii10017 -25 -KPX afii10038 afii10021 -51 -KPX afii10038 afii10029 -38 -KPX afii10038 afii10036 -38 -KPX afii10038 afii10037 -38 -KPX afii10038 afii10038 -13 -KPX afii10038 afii10041 -13 -KPX afii10038 afii10049 -26 -KPX afii10038 afii10077 -25 -KPX afii10039 afii10025 -13 -KPX afii10039 afii10032 -26 -KPX afii10039 afii10035 -38 -KPX afii10039 afii10038 -38 -KPX afii10039 afii10047 -25 -KPX afii10039 afii10080 -13 -KPX afii10039 afii10085 -13 -KPX afii10040 afii10065 37 -KPX afii10040 afii10070 12 -KPX afii10040 afii10080 12 -KPX afii10043 afii10065 12 -KPX afii10044 quoteright -100 -KPX afii10044 afii10049 -38 -KPX afii10046 quoteright -75 -KPX afii10046 afii10017 -25 -KPX afii10046 afii10021 -13 -KPX afii10046 afii10024 -38 -KPX afii10046 afii10025 -25 -KPX afii10046 afii10029 -38 -KPX afii10046 afii10030 -25 -KPX afii10046 afii10032 -13 -KPX afii10046 afii10035 -25 -KPX afii10046 afii10036 -101 -KPX afii10046 afii10039 -51 -KPX afii10046 afii10041 -75 -KPX afii10046 afii10047 -38 -KPX afii10046 afii10049 -38 -KPX afii10047 afii10021 -25 -KPX afii10047 afii10024 -25 -KPX afii10047 afii10025 -13 -KPX afii10047 afii10029 -38 -KPX afii10047 afii10038 -13 -KPX afii10047 afii10039 -25 -KPX afii10047 afii10049 -25 -KPX afii10047 afii10069 -13 -KPX afii10047 afii10072 12 -KPX afii10047 afii10077 -25 -KPX afii10048 afii10017 -25 -KPX afii10048 afii10021 -25 -KPX afii10048 afii10024 -25 -KPX afii10048 afii10029 -38 -KPX afii10048 afii10035 -13 -KPX afii10048 afii10036 -25 -KPX afii10048 afii10039 -38 -KPX afii10048 afii10041 -13 -KPX afii10048 afii10069 -25 -KPX afii10048 afii10072 12 -KPX afii10048 afii10077 -25 -KPX afii10065 afii10073 12 -KPX afii10065 afii10089 -25 -KPX afii10066 afii10069 -25 -KPX afii10066 afii10072 -13 -KPX afii10066 afii10073 -13 -KPX afii10066 afii10077 -25 -KPX afii10066 afii10078 -13 -KPX afii10066 afii10083 -13 -KPX afii10066 afii10085 -13 -KPX afii10066 afii10087 -25 -KPX afii10066 afii10089 -25 -KPX afii10066 afii10092 -13 -KPX afii10066 afii10095 -13 -KPX afii10066 afii10097 -13 -KPX afii10067 afii10065 -13 -KPX afii10067 afii10066 -13 -KPX afii10067 afii10070 -13 -KPX afii10067 afii10072 -13 -KPX afii10067 afii10077 -13 -KPX afii10067 afii10078 -13 -KPX afii10067 afii10080 -13 -KPX afii10067 afii10083 -25 -KPX afii10067 afii10084 -13 -KPX afii10067 afii10085 -25 -KPX afii10067 afii10086 -13 -KPX afii10067 afii10089 -38 -KPX afii10067 afii10092 -25 -KPX afii10067 afii10097 -13 -KPX afii10068 comma -88 -KPX afii10068 period -100 -KPX afii10068 afii10069 -38 -KPX afii10068 afii10077 -25 -KPX afii10068 afii10080 -13 -KPX afii10068 afii10083 -13 -KPX afii10069 afii10073 12 -KPX afii10069 afii10083 -13 -KPX afii10069 afii10085 12 -KPX afii10069 afii10092 -13 -KPX afii10070 afii10066 -13 -KPX afii10070 afii10072 -13 -KPX afii10070 afii10078 -13 -KPX afii10070 afii10083 -13 -KPX afii10070 afii10084 -13 -KPX afii10070 afii10085 -13 -KPX afii10070 afii10087 -13 -KPX afii10070 afii10089 -25 -KPX afii10072 afii10065 12 -KPX afii10072 afii10070 -13 -KPX afii10072 afii10073 12 -KPX afii10072 afii10080 -25 -KPX afii10072 afii10083 -13 -KPX afii10072 afii10089 -25 -KPX afii10073 afii10065 -13 -KPX afii10073 afii10066 -25 -KPX afii10073 afii10070 -13 -KPX afii10073 afii10072 -13 -KPX afii10073 afii10073 -13 -KPX afii10073 afii10077 -13 -KPX afii10073 afii10078 -25 -KPX afii10073 afii10080 -25 -KPX afii10073 afii10083 -25 -KPX afii10073 afii10085 -25 -KPX afii10073 afii10086 -13 -KPX afii10073 afii10089 -38 -KPX afii10073 afii10092 -25 -KPX afii10076 afii10077 12 -KPX afii10076 afii10080 -13 -KPX afii10076 afii10083 -13 -KPX afii10076 afii10086 -13 -KPX afii10076 afii10089 -13 -KPX afii10076 afii10095 -13 -KPX afii10077 afii10066 -13 -KPX afii10077 afii10070 -13 -KPX afii10077 afii10080 -13 -KPX afii10077 afii10083 -13 -KPX afii10077 afii10085 -13 -KPX afii10077 afii10089 -25 -KPX afii10078 afii10065 -13 -KPX afii10078 afii10066 -13 -KPX afii10078 afii10073 -13 -KPX afii10078 afii10080 -13 -KPX afii10078 afii10083 -13 -KPX afii10078 afii10085 -13 -KPX afii10078 afii10086 -13 -KPX afii10078 afii10095 -13 -KPX afii10080 afii10069 -13 -KPX afii10080 afii10072 -13 -KPX afii10080 afii10073 -13 -KPX afii10080 afii10077 -25 -KPX afii10080 afii10078 -13 -KPX afii10080 afii10083 -13 -KPX afii10080 afii10084 -25 -KPX afii10080 afii10085 -13 -KPX afii10080 afii10087 -25 -KPX afii10080 afii10089 -25 -KPX afii10080 afii10095 -13 -KPX afii10080 afii10097 -13 -KPX afii10082 afii10069 -25 -KPX afii10082 afii10072 -13 -KPX afii10082 afii10073 -13 -KPX afii10082 afii10077 -25 -KPX afii10082 afii10078 -13 -KPX afii10082 afii10084 -13 -KPX afii10082 afii10085 -13 -KPX afii10082 afii10087 -13 -KPX afii10082 afii10089 -25 -KPX afii10082 afii10095 -13 -KPX afii10082 afii10097 -13 -KPX afii10083 afii10065 12 -KPX afii10083 afii10066 -13 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -26 -KPX afii10083 afii10092 -13 -KPX afii10084 comma -75 -KPX afii10084 period -88 -KPX afii10084 afii10069 -13 -KPX afii10084 afii10072 12 -KPX afii10084 afii10077 -13 -KPX afii10084 afii10080 -13 -KPX afii10084 afii10083 -13 -KPX afii10084 afii10085 25 -KPX afii10085 comma -75 -KPX afii10085 period -88 -KPX afii10085 colon -13 -KPX afii10085 semicolon -13 -KPX afii10085 guillemotright 25 -KPX afii10085 afii10065 -13 -KPX afii10085 afii10069 -25 -KPX afii10085 afii10070 -13 -KPX afii10085 afii10072 12 -KPX afii10085 afii10073 -13 -KPX afii10085 afii10077 -13 -KPX afii10085 afii10078 -13 -KPX afii10085 afii10080 -25 -KPX afii10085 afii10082 -13 -KPX afii10085 afii10083 -25 -KPX afii10085 afii10084 12 -KPX afii10085 afii10086 -13 -KPX afii10085 afii10087 12 -KPX afii10085 afii10095 -13 -KPX afii10085 afii10097 -13 -KPX afii10086 afii10066 -13 -KPX afii10086 afii10069 -13 -KPX afii10086 afii10070 -13 -KPX afii10086 afii10077 -25 -KPX afii10086 afii10078 -13 -KPX afii10086 afii10080 -13 -KPX afii10086 afii10084 -13 -KPX afii10086 afii10085 -13 -KPX afii10086 afii10089 -25 -KPX afii10086 afii10097 -13 -KPX afii10087 afii10066 -13 -KPX afii10087 afii10070 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -25 -KPX afii10087 afii10083 -25 -KPX afii10087 afii10085 12 -KPX afii10087 afii10086 -13 -KPX afii10087 afii10089 -25 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10065 12 -KPX afii10088 afii10073 12 -KPX afii10088 afii10083 -13 -KPX afii10091 afii10065 12 -KPX afii10091 afii10080 -13 -KPX afii10094 afii10084 -88 -KPX afii10094 afii10089 -88 -KPX afii10095 afii10066 -13 -KPX afii10095 afii10069 -13 -KPX afii10095 afii10072 -13 -KPX afii10095 afii10073 -13 -KPX afii10095 afii10077 -25 -KPX afii10095 afii10078 -13 -KPX afii10095 afii10083 -13 -KPX afii10095 afii10084 -13 -KPX afii10095 afii10087 -13 -KPX afii10095 afii10097 -13 -KPX afii10096 afii10066 -13 -KPX afii10096 afii10069 -13 -KPX afii10096 afii10072 -13 -KPX afii10096 afii10077 -25 -KPX afii10096 afii10078 -13 -KPX afii10096 afii10083 -13 -KPX afii10096 afii10084 -25 -KPX afii10096 afii10087 -25 -KPX afii10096 afii10089 -38 -KPX afii10096 afii10095 -13 -KPX afii10110 comma -75 -KPX afii10110 period -88 -KPX afii10110 colon -13 -KPX afii10110 semicolon -13 -KPX afii10110 guillemotleft -25 -KPX afii10050 comma -63 -KPX afii10050 period -75 -KPX afii10050 colon -13 -KPX afii10050 semicolon -13 -KPX afii10050 guillemotleft -25 -KPX afii10050 guillemotright -25 -KPX pi alpha -28 -KPX pi delta -28 -KPX pi sigma -28 -KPX pi phi -28 -KPX pi alphatonos -28 -KPX pi zeta -28 -KPX pi lambda -37 -KPX pi omicron -28 -KPX pi sigma1 -28 -KPX pi omega -28 -KPX pi omegatonos -28 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/arialbd.ttf b/thirdparty/html2ps_pdf/fonts/arialbd.ttf deleted file mode 100644 index d0d857e2d..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/arialbd.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/arialbi.afm b/thirdparty/html2ps_pdf/fonts/arialbi.afm deleted file mode 100644 index fc3e67f54..000000000 --- a/thirdparty/html2ps_pdf/fonts/arialbi.afm +++ /dev/null @@ -1,1834 +0,0 @@ -StartFontMetrics 4.1 -FontName Arial-BoldItalicMT -FullName Arial Bold Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Arial -Weight Bold Italic -Version Version 2.90 -Characters 956 -ItalicAngle -12.0 -Ascender 905 -Descender -212 -UnderlineThickness 105 -UnderlinePosition -106 -IsFixedPitch false -FontBBox -560 -376 1157 1000 -StartCharMetrics 991 -C 0 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 278 ; N space ; B 62 0 353 716 ; -C 33 ; WX 333 ; N exclam ; B 62 0 353 716 ; -C 34 ; WX 474 ; N quotedbl ; B 151 461 507 716 ; -C 35 ; WX 556 ; N numbersign ; B 9 -12 544 728 ; -C 36 ; WX 556 ; N dollar ; B 44 -99 576 770 ; -C 37 ; WX 889 ; N percent ; B 91 -31 864 728 ; -C 38 ; WX 722 ; N ampersand ; B 83 -17 706 728 ; -C 39 ; WX 238 ; N quotesingle ; B 151 461 329 716 ; -C 40 ; WX 333 ; N parenleft ; B 66 -210 436 728 ; -C 41 ; WX 333 ; N parenright ; B -78 -210 292 728 ; -C 42 ; WX 389 ; N asterisk ; B 14 387 368 728 ; -C 43 ; WX 584 ; N plus ; B 42 103 542 604 ; -C 44 ; WX 278 ; N comma ; B 10 -155 212 135 ; -C 45 ; WX 333 ; N hyphen ; B 39 190 339 326 ; -C 46 ; WX 278 ; N period ; B 44 0 211 135 ; -C 47 ; WX 278 ; N slash ; B -43 -12 409 728 ; -C 48 ; WX 556 ; N zero ; B 64 -12 571 719 ; -C 49 ; WX 556 ; N one ; B 119 0 511 720 ; -C 50 ; WX 556 ; N two ; B 61 0 571 719 ; -C 51 ; WX 556 ; N three ; B 51 -12 560 719 ; -C 52 ; WX 556 ; N four ; B 27 0 560 716 ; -C 53 ; WX 556 ; N five ; B 63 -12 578 706 ; -C 54 ; WX 556 ; N six ; B 81 -13 576 719 ; -C 55 ; WX 556 ; N seven ; B 104 0 603 706 ; -C 56 ; WX 556 ; N eight ; B 66 -13 567 719 ; -C 57 ; WX 556 ; N nine ; B 63 -12 558 719 ; -C 58 ; WX 333 ; N colon ; B 70 0 317 519 ; -C 59 ; WX 333 ; N semicolon ; B 41 -155 320 519 ; -C 60 ; WX 584 ; N less ; B 46 82 537 625 ; -C 61 ; WX 584 ; N equal ; B 42 182 542 524 ; -C 62 ; WX 584 ; N greater ; B 46 81 538 625 ; -C 63 ; WX 611 ; N question ; B 123 0 618 728 ; -C 64 ; WX 975 ; N at ; B 30 -210 972 729 ; -C 65 ; WX 722 ; N A ; B -11 0 673 716 ; -C 66 ; WX 722 ; N B ; B 40 0 710 716 ; -C 67 ; WX 722 ; N C ; B 95 -13 746 728 ; -C 68 ; WX 722 ; N D ; B 43 0 725 716 ; -C 69 ; WX 667 ; N E ; B 41 0 721 716 ; -C 70 ; WX 611 ; N F ; B 39 0 690 716 ; -C 71 ; WX 778 ; N G ; B 88 -12 786 728 ; -C 72 ; WX 722 ; N H ; B 43 0 765 716 ; -C 73 ; WX 278 ; N I ; B 35 0 332 716 ; -C 74 ; WX 556 ; N J ; B 29 -12 600 716 ; -C 75 ; WX 722 ; N K ; B 40 0 801 716 ; -C 76 ; WX 611 ; N L ; B 45 0 582 716 ; -C 77 ; WX 833 ; N M ; B 41 0 878 716 ; -C 78 ; WX 722 ; N N ; B 45 0 763 716 ; -C 79 ; WX 778 ; N O ; B 87 -13 784 728 ; -C 80 ; WX 667 ; N P ; B 41 0 702 716 ; -C 81 ; WX 778 ; N Q ; B 87 -95 784 728 ; -C 82 ; WX 722 ; N R ; B 44 0 741 716 ; -C 83 ; WX 667 ; N S ; B 62 -12 676 728 ; -C 84 ; WX 611 ; N T ; B 120 0 709 716 ; -C 85 ; WX 722 ; N U ; B 91 -12 765 716 ; -C 86 ; WX 667 ; N V ; B 113 0 793 716 ; -C 87 ; WX 944 ; N W ; B 117 0 1068 716 ; -C 88 ; WX 667 ; N X ; B -30 0 784 716 ; -C 89 ; WX 667 ; N Y ; B 115 0 785 716 ; -C 90 ; WX 611 ; N Z ; B 25 0 668 716 ; -C 91 ; WX 333 ; N bracketleft ; B 10 -197 439 716 ; -C 92 ; WX 278 ; N backslash ; B 78 -12 287 728 ; -C 93 ; WX 333 ; N bracketright ; B -56 -197 375 716 ; -C 94 ; WX 584 ; N asciicircum ; B 56 338 527 728 ; -C 95 ; WX 556 ; N underscore ; B -9 -198 561 -109 ; -C 96 ; WX 333 ; N grave ; B 134 586 331 732 ; -C 97 ; WX 556 ; N a ; B 45 -12 533 531 ; -C 98 ; WX 611 ; N b ; B 36 -12 602 716 ; -C 99 ; WX 556 ; N c ; B 60 -12 564 531 ; -C 100 ; WX 611 ; N d ; B 59 -12 668 716 ; -C 101 ; WX 556 ; N e ; B 58 -12 555 531 ; -C 102 ; WX 333 ; N f ; B 54 0 471 728 ; -C 103 ; WX 611 ; N g ; B 31 -210 623 531 ; -C 104 ; WX 611 ; N h ; B 42 0 591 716 ; -C 105 ; WX 278 ; N i ; B 40 0 330 716 ; -C 106 ; WX 278 ; N j ; B -109 -210 331 716 ; -C 107 ; WX 556 ; N k ; B 38 0 614 716 ; -C 108 ; WX 278 ; N l ; B 39 0 329 716 ; -C 109 ; WX 889 ; N m ; B 36 0 869 531 ; -C 110 ; WX 611 ; N n ; B 42 0 591 531 ; -C 111 ; WX 611 ; N o ; B 61 -12 599 531 ; -C 112 ; WX 611 ; N p ; B -5 -198 605 531 ; -C 113 ; WX 611 ; N q ; B 60 -198 625 531 ; -C 114 ; WX 389 ; N r ; B 32 0 474 531 ; -C 115 ; WX 556 ; N s ; B 22 -12 552 531 ; -C 116 ; WX 333 ; N t ; B 75 -12 391 698 ; -C 117 ; WX 611 ; N u ; B 70 -12 619 519 ; -C 118 ; WX 556 ; N v ; B 75 0 618 519 ; -C 119 ; WX 778 ; N w ; B 72 0 840 519 ; -C 120 ; WX 556 ; N x ; B -22 0 612 519 ; -C 121 ; WX 556 ; N y ; B 6 -210 621 519 ; -C 122 ; WX 500 ; N z ; B 17 0 519 519 ; -C 123 ; WX 389 ; N braceleft ; B 40 -210 488 728 ; -C 124 ; WX 280 ; N bar ; B 86 -210 195 728 ; -C 125 ; WX 389 ; N braceright ; B -87 -210 361 728 ; -C 126 ; WX 584 ; N asciitilde ; B 33 253 551 451 ; -C 127 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 556 ; N Euro ; B 27 -13 639 728 ; -C 129 ; WX 614 ; N afii10052 ; B 44 0 723 905 ; -C 130 ; WX 278 ; N quotesinglbase ; B 10 -155 212 135 ; -C 131 ; WX 556 ; N florin ; B -10 -210 558 728 ; -C 132 ; WX 500 ; N quotedblbase ; B 3 -155 441 135 ; -C 133 ; WX 1000 ; N ellipsis ; B 93 0 907 135 ; -C 134 ; WX 556 ; N dagger ; B 84 -171 594 706 ; -C 135 ; WX 556 ; N daggerdbl ; B -1 -171 600 706 ; -C 136 ; WX 333 ; N circumflex ; B 56 584 392 731 ; -C 137 ; WX 1000 ; N perthousand ; B 68 -28 1021 728 ; -C 138 ; WX 667 ; N Scaron ; B 62 -12 676 905 ; -C 139 ; WX 333 ; N guilsinglleft ; B 60 35 378 477 ; -C 140 ; WX 1000 ; N OE ; B 69 -12 1079 728 ; -C 141 ; WX 622 ; N afii10061 ; B 43 0 701 905 ; -C 142 ; WX 611 ; N Zcaron ; B 25 0 668 905 ; -C 143 ; WX 719 ; N afii10145 ; B 43 -198 764 716 ; -C 144 ; WX 500 ; N quotedblbase ; B 3 -155 441 135 ; -C 145 ; WX 278 ; N quoteleft ; B 109 433 311 724 ; -C 146 ; WX 278 ; N quoteright ; B 124 425 326 716 ; -C 147 ; WX 500 ; N quotedblleft ; B 125 433 563 724 ; -C 148 ; WX 500 ; N quotedblright ; B 128 425 566 716 ; -C 149 ; WX 350 ; N bullet ; B 32 209 321 498 ; -C 150 ; WX 556 ; N endash ; B -2 208 554 311 ; -C 151 ; WX 1000 ; N emdash ; B 0 208 1000 311 ; -C 152 ; WX 333 ; N tilde ; B 93 592 429 710 ; -C 153 ; WX 1000 ; N trademark ; B 105 316 877 716 ; -C 154 ; WX 556 ; N scaron ; B 22 -12 552 731 ; -C 155 ; WX 333 ; N guilsinglright ; B 10 35 319 477 ; -C 156 ; WX 944 ; N oe ; B 58 -12 944 531 ; -C 157 ; WX 507 ; N afii10109 ; B 37 0 567 730 ; -C 158 ; WX 500 ; N zcaron ; B 17 0 528 731 ; -C 159 ; WX 667 ; N Ydieresis ; B 115 0 785 876 ; -C 160 ; WX 278 ; N space ; B 62 0 353 716 ; -C 161 ; WX 333 ; N exclamdown ; B 12 -197 305 519 ; -C 162 ; WX 556 ; N cent ; B 59 -193 563 714 ; -C 163 ; WX 556 ; N sterling ; B 21 -18 610 728 ; -C 164 ; WX 556 ; N currency ; B 22 101 531 610 ; -C 165 ; WX 556 ; N yen ; B 24 0 667 716 ; -C 166 ; WX 280 ; N brokenbar ; B 86 -210 195 728 ; -C 167 ; WX 556 ; N section ; B 21 -212 560 728 ; -C 168 ; WX 333 ; N dieresis ; B 84 597 435 717 ; -C 169 ; WX 737 ; N copyright ; B -4 -18 744 730 ; -C 170 ; WX 370 ; N ordfeminine ; B 82 363 412 728 ; -C 171 ; WX 556 ; N guillemotleft ; B 53 35 562 477 ; -C 172 ; WX 584 ; N logicalnot ; B 42 184 542 524 ; -C 173 ; WX 333 ; N hyphen ; B 39 190 339 326 ; -C 174 ; WX 737 ; N registered ; B -4 -18 744 730 ; -C 175 ; WX 552 ; N overscore ; B -9 758 561 847 ; -C 176 ; WX 400 ; N degree ; B 42 417 354 728 ; -C 177 ; WX 549 ; N plusminus ; B 24 0 525 674 ; -C 178 ; WX 333 ; N twosuperior ; B 82 355 396 725 ; -C 179 ; WX 333 ; N threesuperior ; B 76 349 390 725 ; -C 180 ; WX 333 ; N acute ; B 184 584 435 730 ; -C 181 ; WX 576 ; N mu1 ; B -37 -201 584 519 ; -C 182 ; WX 556 ; N paragraph ; B -1 -197 551 716 ; -C 183 ; WX 278 ; N periodcentered ; B 72 280 209 417 ; -C 184 ; WX 333 ; N cedilla ; B 7 -208 267 -13 ; -C 185 ; WX 333 ; N onesuperior ; B 115 355 362 726 ; -C 186 ; WX 365 ; N ordmasculine ; B 72 362 415 728 ; -C 187 ; WX 556 ; N guillemotright ; B 22 35 531 477 ; -C 188 ; WX 834 ; N onequarter ; B 100 -30 840 725 ; -C 189 ; WX 834 ; N onehalf ; B 85 -30 835 725 ; -C 190 ; WX 834 ; N threequarters ; B 76 -30 852 725 ; -C 191 ; WX 611 ; N questiondown ; B 27 -209 522 519 ; -C 192 ; WX 722 ; N Agrave ; B -11 0 673 905 ; -C 193 ; WX 722 ; N Aacute ; B -11 0 686 904 ; -C 194 ; WX 722 ; N Acircumflex ; B -11 0 673 905 ; -C 195 ; WX 722 ; N Atilde ; B -11 0 673 874 ; -C 196 ; WX 722 ; N Adieresis ; B -11 0 681 876 ; -C 197 ; WX 722 ; N Aring ; B -11 -9 673 854 ; -C 198 ; WX 1000 ; N AE ; B -32 0 1059 716 ; -C 199 ; WX 722 ; N Ccedilla ; B 95 -205 746 728 ; -C 200 ; WX 667 ; N Egrave ; B 41 0 721 905 ; -C 201 ; WX 667 ; N Eacute ; B 41 0 721 904 ; -C 202 ; WX 667 ; N Ecircumflex ; B 41 0 721 905 ; -C 203 ; WX 667 ; N Edieresis ; B 41 0 721 876 ; -C 204 ; WX 278 ; N Igrave ; B 35 0 383 905 ; -C 205 ; WX 278 ; N Iacute ; B 35 0 451 904 ; -C 206 ; WX 278 ; N Icircumflex ; B 35 0 426 905 ; -C 207 ; WX 278 ; N Idieresis ; B 35 0 453 876 ; -C 208 ; WX 722 ; N Eth ; B 37 0 725 716 ; -C 209 ; WX 722 ; N Ntilde ; B 45 0 763 874 ; -C 210 ; WX 778 ; N Ograve ; B 87 -13 784 905 ; -C 211 ; WX 778 ; N Oacute ; B 87 -13 784 904 ; -C 212 ; WX 778 ; N Ocircumflex ; B 87 -13 784 905 ; -C 213 ; WX 778 ; N Otilde ; B 87 -13 784 874 ; -C 214 ; WX 778 ; N Odieresis ; B 87 -13 784 876 ; -C 215 ; WX 584 ; N multiply ; B 53 115 530 591 ; -C 216 ; WX 778 ; N Oslash ; B 78 -60 787 767 ; -C 217 ; WX 722 ; N Ugrave ; B 91 -12 765 905 ; -C 218 ; WX 722 ; N Uacute ; B 91 -12 765 904 ; -C 219 ; WX 722 ; N Ucircumflex ; B 91 -12 765 905 ; -C 220 ; WX 722 ; N Udieresis ; B 91 -12 765 876 ; -C 221 ; WX 667 ; N Yacute ; B 115 0 785 904 ; -C 222 ; WX 667 ; N Thorn ; B 41 0 673 716 ; -C 223 ; WX 611 ; N germandbls ; B 35 -12 582 728 ; -C 224 ; WX 556 ; N agrave ; B 45 -12 533 732 ; -C 225 ; WX 556 ; N aacute ; B 45 -12 567 730 ; -C 226 ; WX 556 ; N acircumflex ; B 45 -12 533 731 ; -C 227 ; WX 556 ; N atilde ; B 45 -12 550 710 ; -C 228 ; WX 556 ; N adieresis ; B 45 -12 554 717 ; -C 229 ; WX 556 ; N aring ; B 45 -12 533 754 ; -C 230 ; WX 889 ; N ae ; B 31 -12 866 531 ; -C 231 ; WX 556 ; N ccedilla ; B 60 -204 564 531 ; -C 232 ; WX 556 ; N egrave ; B 58 -12 555 732 ; -C 233 ; WX 556 ; N eacute ; B 58 -12 562 730 ; -C 234 ; WX 556 ; N ecircumflex ; B 58 -12 555 731 ; -C 235 ; WX 556 ; N edieresis ; B 58 -12 555 717 ; -C 236 ; WX 278 ; N igrave ; B 40 0 347 732 ; -C 237 ; WX 278 ; N iacute ; B 40 0 413 730 ; -C 238 ; WX 278 ; N icircumflex ; B 40 0 390 731 ; -C 239 ; WX 278 ; N idieresis ; B 40 0 417 717 ; -C 240 ; WX 611 ; N eth ; B 61 -13 608 716 ; -C 241 ; WX 611 ; N ntilde ; B 42 0 591 710 ; -C 242 ; WX 611 ; N ograve ; B 61 -12 599 732 ; -C 243 ; WX 611 ; N oacute ; B 61 -12 599 730 ; -C 244 ; WX 611 ; N ocircumflex ; B 61 -12 599 731 ; -C 245 ; WX 611 ; N otilde ; B 61 -12 599 710 ; -C 246 ; WX 611 ; N odieresis ; B 61 -12 599 717 ; -C 247 ; WX 549 ; N divide ; B 24 90 524 616 ; -C 248 ; WX 611 ; N oslash ; B 53 -52 604 571 ; -C 249 ; WX 611 ; N ugrave ; B 70 -12 619 732 ; -C 250 ; WX 611 ; N uacute ; B 70 -12 619 730 ; -C 251 ; WX 611 ; N ucircumflex ; B 70 -12 619 731 ; -C 252 ; WX 611 ; N udieresis ; B 70 -12 619 717 ; -C 253 ; WX 556 ; N yacute ; B 6 -210 621 730 ; -C 254 ; WX 611 ; N thorn ; B -9 -198 603 716 ; -C 255 ; WX 556 ; N ydieresis ; B 6 -210 621 717 ; -C -1 ; WX 0 ; N .null ; B 62 0 353 716 ; -C -1 ; WX 278 ; N nonmarkingreturn ; B 62 0 353 716 ; -C -1 ; WX 549 ; N notequal ; B 24 -12 524 719 ; -C -1 ; WX 713 ; N infinity ; B 74 182 640 523 ; -C -1 ; WX 549 ; N lessequal ; B 29 0 520 708 ; -C -1 ; WX 549 ; N greaterequal ; B 29 0 520 708 ; -C -1 ; WX 494 ; N partialdiff ; B 20 -12 475 728 ; -C -1 ; WX 713 ; N summation ; B 60 -210 677 728 ; -C -1 ; WX 823 ; N product ; B 79 -210 744 728 ; -C -1 ; WX 549 ; N pi1 ; B 0 0 588 519 ; -C -1 ; WX 274 ; N integral ; B 0 -107 273 910 ; -C -1 ; WX 768 ; N Ohm ; B 27 0 747 734 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 15 135 534 569 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -249 -30 492 725 ; -C -1 ; WX 611 ; N fi ; B 58 0 662 728 ; -C -1 ; WX 611 ; N fl ; B 57 0 661 728 ; -C -1 ; WX 278 ; N dotlessi ; B 40 0 289 519 ; -C -1 ; WX 333 ; N macron ; B 85 603 417 697 ; -C -1 ; WX 333 ; N breve ; B 84 585 391 727 ; -C -1 ; WX 333 ; N dotaccent ; B 163 599 330 728 ; -C -1 ; WX 333 ; N ring ; B 150 565 339 754 ; -C -1 ; WX 333 ; N hungarumlaut ; B 33 583 466 728 ; -C -1 ; WX 333 ; N ogonek ; B 62 -208 271 9 ; -C -1 ; WX 333 ; N caron ; B 109 584 445 731 ; -C -1 ; WX 611 ; N Lslash ; B 15 0 585 716 ; -C -1 ; WX 278 ; N lslash ; B 30 0 331 716 ; -C -1 ; WX 584 ; N minus ; B 42 289 542 417 ; -C -1 ; WX 556 ; N franc ; B -8 0 631 716 ; -C -1 ; WX 778 ; N Gbreve ; B 88 -12 786 888 ; -C -1 ; WX 611 ; N gbreve ; B 31 -210 623 727 ; -C -1 ; WX 278 ; N Idot ; B 35 0 364 884 ; -C -1 ; WX 667 ; N Scedilla ; B 62 -208 676 728 ; -C -1 ; WX 556 ; N scedilla ; B 22 -204 552 531 ; -C -1 ; WX 722 ; N Cacute ; B 95 -13 746 904 ; -C -1 ; WX 556 ; N cacute ; B 60 -12 564 730 ; -C -1 ; WX 722 ; N Ccaron ; B 95 -13 746 902 ; -C -1 ; WX 556 ; N ccaron ; B 60 -12 579 731 ; -C -1 ; WX 611 ; N dmacron ; B 59 -12 728 716 ; -C -1 ; WX 333 ; N middot ; B 258 290 424 426 ; -C -1 ; WX 722 ; N Abreve ; B -11 0 673 888 ; -C -1 ; WX 556 ; N abreve ; B 45 -12 542 727 ; -C -1 ; WX 722 ; N Aogonek ; B -11 -208 714 716 ; -C -1 ; WX 556 ; N aogonek ; B 45 -208 537 531 ; -C -1 ; WX 722 ; N Dcaron ; B 43 0 725 905 ; -C -1 ; WX 740 ; N dcaron ; B 59 -12 855 716 ; -C -1 ; WX 722 ; N Dslash ; B 37 0 725 716 ; -C -1 ; WX 667 ; N Eogonek ; B 41 -208 721 716 ; -C -1 ; WX 556 ; N eogonek ; B 58 -208 555 531 ; -C -1 ; WX 667 ; N Ecaron ; B 41 0 721 905 ; -C -1 ; WX 556 ; N ecaron ; B 58 -12 555 731 ; -C -1 ; WX 611 ; N Lacute ; B 45 0 582 904 ; -C -1 ; WX 278 ; N lacute ; B 39 0 423 899 ; -C -1 ; WX 611 ; N Lcaron ; B 45 0 612 716 ; -C -1 ; WX 396 ; N lcaron ; B 38 0 513 716 ; -C -1 ; WX 611 ; N Ldot ; B 45 0 582 716 ; -C -1 ; WX 479 ; N ldot ; B 39 0 461 716 ; -C -1 ; WX 722 ; N Nacute ; B 45 0 763 904 ; -C -1 ; WX 611 ; N nacute ; B 42 0 591 730 ; -C -1 ; WX 722 ; N Ncaron ; B 45 0 763 905 ; -C -1 ; WX 611 ; N ncaron ; B 42 0 595 731 ; -C -1 ; WX 778 ; N Odblacute ; B 87 -13 784 901 ; -C -1 ; WX 611 ; N odblacute ; B 61 -12 623 728 ; -C -1 ; WX 722 ; N Racute ; B 44 0 741 904 ; -C -1 ; WX 389 ; N racute ; B 32 0 492 730 ; -C -1 ; WX 722 ; N Rcaron ; B 44 0 741 905 ; -C -1 ; WX 389 ; N rcaron ; B 32 0 520 731 ; -C -1 ; WX 667 ; N Sacute ; B 62 -12 676 904 ; -C -1 ; WX 556 ; N sacute ; B 22 -12 552 730 ; -C -1 ; WX 611 ; N Tcedilla ; B 120 -298 709 716 ; -C -1 ; WX 333 ; N tcedilla ; B 66 -274 391 698 ; -C -1 ; WX 611 ; N Tcaron ; B 120 0 709 905 ; -C -1 ; WX 479 ; N tcaron ; B 77 -12 595 716 ; -C -1 ; WX 722 ; N Uring ; B 91 -12 765 905 ; -C -1 ; WX 611 ; N uring ; B 70 -12 619 754 ; -C -1 ; WX 722 ; N Udblacute ; B 91 -12 765 901 ; -C -1 ; WX 611 ; N udblacute ; B 70 -12 652 728 ; -C -1 ; WX 611 ; N Zacute ; B 25 0 668 904 ; -C -1 ; WX 500 ; N zacute ; B 17 0 519 730 ; -C -1 ; WX 611 ; N Zdot ; B 25 0 668 884 ; -C -1 ; WX 500 ; N zdot ; B 17 0 519 728 ; -C -1 ; WX 610 ; N Gamma ; B 43 0 705 716 ; -C -1 ; WX 778 ; N Theta ; B 87 -12 784 728 ; -C -1 ; WX 822 ; N Phi ; B 88 -29 833 733 ; -C -1 ; WX 620 ; N alpha ; B 61 -12 662 531 ; -C -1 ; WX 610 ; N delta ; B 62 -12 656 716 ; -C -1 ; WX 479 ; N epsilon ; B 43 -12 513 531 ; -C -1 ; WX 664 ; N sigma ; B 61 -12 717 531 ; -C -1 ; WX 409 ; N tau ; B 79 0 466 519 ; -C -1 ; WX 704 ; N phi ; B 61 -198 693 531 ; -C -1 ; WX 552 ; N underscoredbl ; B -9 -376 561 -109 ; -C -1 ; WX 604 ; N exclamdbl ; B 62 0 624 716 ; -C -1 ; WX 396 ; N nsuperior ; B 59 250 430 583 ; -C -1 ; WX 1104 ; N peseta ; B 10 -13 1088 716 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 722 ; N intersection ; B 70 0 648 719 ; -C -1 ; WX 583 ; N equivalence ; B 42 73 542 633 ; -C -1 ; WX 604 ; N house ; B 77 0 527 563 ; -C -1 ; WX 584 ; N revlogicalnot ; B 42 184 542 524 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 625 ; N SF110000 ; B 223 -303 309 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 837 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 782 ; N IJ ; B 35 -12 830 716 ; -C -1 ; WX 556 ; N ij ; B 46 -210 604 716 ; -C -1 ; WX 708 ; N napostrophe ; B 41 0 685 716 ; -C -1 ; WX 240 ; N minute ; B 151 461 329 716 ; -C -1 ; WX 479 ; N second ; B 151 461 507 716 ; -C -1 ; WX 885 ; N afii61248 ; B 69 -31 895 728 ; -C -1 ; WX 516 ; N afii61289 ; B 47 -12 542 728 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 45 198 310 463 ; -C -1 ; WX 354 ; N H18551 ; B 45 198 310 463 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 55 208 300 453 ; -C -1 ; WX 722 ; N Amacron ; B -11 0 673 874 ; -C -1 ; WX 556 ; N amacron ; B 45 -12 539 697 ; -C -1 ; WX 722 ; N Ccircumflex ; B 95 -13 746 927 ; -C -1 ; WX 556 ; N ccircumflex ; B 60 -12 564 731 ; -C -1 ; WX 722 ; N Cdot ; B 95 -13 746 909 ; -C -1 ; WX 556 ; N cdot ; B 60 -12 564 728 ; -C -1 ; WX 667 ; N Emacron ; B 41 0 721 874 ; -C -1 ; WX 556 ; N emacron ; B 58 -12 555 697 ; -C -1 ; WX 667 ; N Ebreve ; B 41 0 721 917 ; -C -1 ; WX 556 ; N ebreve ; B 58 -12 555 727 ; -C -1 ; WX 667 ; N Edot ; B 41 0 721 909 ; -C -1 ; WX 556 ; N edot ; B 58 -12 555 728 ; -C -1 ; WX 778 ; N Gcircumflex ; B 88 -12 786 927 ; -C -1 ; WX 611 ; N gcircumflex ; B 31 -210 623 731 ; -C -1 ; WX 778 ; N Gdot ; B 88 -12 786 909 ; -C -1 ; WX 611 ; N gdot ; B 31 -210 623 728 ; -C -1 ; WX 778 ; N Gcedilla ; B 88 -208 786 728 ; -C -1 ; WX 611 ; N gcedilla ; B 31 -210 623 801 ; -C -1 ; WX 722 ; N Hcircumflex ; B 43 0 765 927 ; -C -1 ; WX 611 ; N hcircumflex ; B 42 0 601 905 ; -C -1 ; WX 722 ; N Hbar ; B 43 0 818 716 ; -C -1 ; WX 611 ; N hbar ; B 42 0 591 716 ; -C -1 ; WX 278 ; N Itilde ; B 35 0 447 898 ; -C -1 ; WX 278 ; N itilde ; B 40 0 409 710 ; -C -1 ; WX 278 ; N Imacron ; B 35 0 443 874 ; -C -1 ; WX 278 ; N imacron ; B 40 0 405 697 ; -C -1 ; WX 278 ; N Ibreve ; B 35 0 451 917 ; -C -1 ; WX 278 ; N ibreve ; B 40 0 409 727 ; -C -1 ; WX 278 ; N Iogonek ; B 7 -208 332 716 ; -C -1 ; WX 278 ; N iogonek ; B 13 -208 330 716 ; -C -1 ; WX 556 ; N Jcircumflex ; B 29 -12 687 927 ; -C -1 ; WX 278 ; N jcircumflex ; B -109 -210 386 731 ; -C -1 ; WX 722 ; N Kcedilla ; B 40 -208 801 716 ; -C -1 ; WX 556 ; N kcedilla ; B 38 -208 614 716 ; -C -1 ; WX 556 ; N kgreenlandic ; B 40 0 617 519 ; -C -1 ; WX 611 ; N Lcedilla ; B 45 -208 582 716 ; -C -1 ; WX 278 ; N lcedilla ; B -57 -208 329 716 ; -C -1 ; WX 722 ; N Ncedilla ; B 45 -208 763 716 ; -C -1 ; WX 611 ; N ncedilla ; B 42 -208 591 531 ; -C -1 ; WX 723 ; N Eng ; B 48 -13 735 728 ; -C -1 ; WX 611 ; N eng ; B 40 -210 589 531 ; -C -1 ; WX 778 ; N Omacron ; B 87 -13 784 874 ; -C -1 ; WX 611 ; N omacron ; B 61 -12 599 697 ; -C -1 ; WX 778 ; N Obreve ; B 87 -13 784 917 ; -C -1 ; WX 611 ; N obreve ; B 61 -12 599 727 ; -C -1 ; WX 722 ; N Rcedilla ; B 44 -208 741 716 ; -C -1 ; WX 389 ; N rcedilla ; B -20 -208 474 531 ; -C -1 ; WX 667 ; N Scircumflex ; B 62 -12 676 927 ; -C -1 ; WX 556 ; N scircumflex ; B 22 -12 552 731 ; -C -1 ; WX 611 ; N Tbar ; B 100 0 709 716 ; -C -1 ; WX 333 ; N tbar ; B 21 -12 391 698 ; -C -1 ; WX 722 ; N Utilde ; B 91 -12 765 898 ; -C -1 ; WX 611 ; N utilde ; B 70 -12 619 710 ; -C -1 ; WX 722 ; N Umacron ; B 91 -12 765 874 ; -C -1 ; WX 611 ; N umacron ; B 70 -12 619 697 ; -C -1 ; WX 722 ; N Ubreve ; B 91 -12 765 917 ; -C -1 ; WX 611 ; N ubreve ; B 70 -12 619 727 ; -C -1 ; WX 722 ; N Uogonek ; B 91 -208 765 716 ; -C -1 ; WX 611 ; N uogonek ; B 70 -208 619 519 ; -C -1 ; WX 944 ; N Wcircumflex ; B 117 0 1068 927 ; -C -1 ; WX 778 ; N wcircumflex ; B 72 0 840 731 ; -C -1 ; WX 667 ; N Ycircumflex ; B 115 0 785 927 ; -C -1 ; WX 556 ; N ycircumflex ; B 6 -210 621 731 ; -C -1 ; WX 278 ; N longs ; B 39 0 456 728 ; -C -1 ; WX 722 ; N Aringacute ; B -11 -9 673 1000 ; -C -1 ; WX 556 ; N aringacute ; B 45 -12 588 927 ; -C -1 ; WX 1000 ; N AEacute ; B -32 0 1059 927 ; -C -1 ; WX 889 ; N aeacute ; B 31 -12 866 730 ; -C -1 ; WX 778 ; N Oslashacute ; B 78 -60 787 927 ; -C -1 ; WX 611 ; N oslashacute ; B 53 -52 604 730 ; -C -1 ; WX 333 ; N anoteleia ; B 150 383 317 519 ; -C -1 ; WX 944 ; N Wgrave ; B 117 0 1068 926 ; -C -1 ; WX 778 ; N wgrave ; B 72 0 840 732 ; -C -1 ; WX 944 ; N Wacute ; B 117 0 1068 927 ; -C -1 ; WX 778 ; N wacute ; B 72 0 840 730 ; -C -1 ; WX 944 ; N Wdieresis ; B 117 0 1068 900 ; -C -1 ; WX 778 ; N wdieresis ; B 72 0 840 717 ; -C -1 ; WX 667 ; N Ygrave ; B 115 0 785 926 ; -C -1 ; WX 556 ; N ygrave ; B 6 -210 621 732 ; -C -1 ; WX 278 ; N quotereversed ; B 150 425 325 716 ; -C -1 ; WX 333 ; N radicalex ; B 74 603 465 697 ; -C -1 ; WX 556 ; N afii08941 ; B 21 -18 610 728 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 834 ; N oneeighth ; B 85 -30 833 725 ; -C -1 ; WX 834 ; N threeeighths ; B 77 -30 833 725 ; -C -1 ; WX 834 ; N fiveeighths ; B 83 -30 833 725 ; -C -1 ; WX 834 ; N seveneighths ; B 56 -30 833 725 ; -C -1 ; WX 333 ; N commaaccent ; B 14 -274 205 -53 ; -C -1 ; WX 333 ; N undercommaaccent ; B -30 -208 230 -12 ; -C -1 ; WX 333 ; N tonos ; B 184 584 435 730 ; -C -1 ; WX 333 ; N dieresistonos ; B -10 584 519 730 ; -C -1 ; WX 722 ; N Alphatonos ; B -9 0 675 716 ; -C -1 ; WX 854 ; N Epsilontonos ; B 56 0 909 716 ; -C -1 ; WX 906 ; N Etatonos ; B 56 0 950 716 ; -C -1 ; WX 473 ; N Iotatonos ; B 56 0 525 716 ; -C -1 ; WX 844 ; N Omicrontonos ; B 50 -12 849 728 ; -C -1 ; WX 930 ; N Upsilontonos ; B 64 0 1048 716 ; -C -1 ; WX 847 ; N Omegatonos ; B 50 0 846 728 ; -C -1 ; WX 278 ; N iotadieresistonos ; B -16 0 513 730 ; -C -1 ; WX 722 ; N Alpha ; B -11 0 673 716 ; -C -1 ; WX 722 ; N Beta ; B 40 0 710 716 ; -C -1 ; WX 671 ; N Delta ; B -39 0 646 716 ; -C -1 ; WX 667 ; N Epsilon ; B 41 0 721 716 ; -C -1 ; WX 611 ; N Zeta ; B 25 0 668 716 ; -C -1 ; WX 722 ; N Eta ; B 43 0 765 716 ; -C -1 ; WX 278 ; N Iota ; B 35 0 332 716 ; -C -1 ; WX 722 ; N Kappa ; B 40 0 801 716 ; -C -1 ; WX 667 ; N Lambda ; B -39 0 642 716 ; -C -1 ; WX 833 ; N Mu ; B 41 0 878 716 ; -C -1 ; WX 722 ; N Nu ; B 45 0 763 716 ; -C -1 ; WX 657 ; N Xi ; B 11 0 712 716 ; -C -1 ; WX 778 ; N Omicron ; B 87 -13 784 728 ; -C -1 ; WX 718 ; N Pi ; B 44 0 766 716 ; -C -1 ; WX 667 ; N Rho ; B 41 0 702 716 ; -C -1 ; WX 590 ; N Sigma ; B 19 0 679 716 ; -C -1 ; WX 611 ; N Tau ; B 120 0 709 716 ; -C -1 ; WX 667 ; N Upsilon ; B 115 0 785 716 ; -C -1 ; WX 667 ; N Chi ; B -30 0 784 716 ; -C -1 ; WX 829 ; N Psi ; B 113 0 884 716 ; -C -1 ; WX 781 ; N Omega ; B 9 0 779 728 ; -C -1 ; WX 278 ; N Iotadieresis ; B 35 0 442 876 ; -C -1 ; WX 667 ; N Upsilondieresis ; B 115 0 785 876 ; -C -1 ; WX 620 ; N alphatonos ; B 61 -12 662 730 ; -C -1 ; WX 479 ; N epsilontonos ; B 43 -12 513 730 ; -C -1 ; WX 611 ; N etatonos ; B 41 -198 590 730 ; -C -1 ; WX 278 ; N iotatonos ; B 40 0 405 730 ; -C -1 ; WX 591 ; N upsilondieresistonos ; B 74 -12 653 730 ; -C -1 ; WX 621 ; N beta ; B -6 -198 614 728 ; -C -1 ; WX 556 ; N gamma ; B 77 -198 621 519 ; -C -1 ; WX 492 ; N zeta ; B 52 -210 604 716 ; -C -1 ; WX 611 ; N eta ; B 41 -198 590 531 ; -C -1 ; WX 558 ; N theta ; B 73 -12 580 728 ; -C -1 ; WX 278 ; N iota ; B 40 0 289 519 ; -C -1 ; WX 566 ; N kappa ; B 41 0 622 519 ; -C -1 ; WX 556 ; N lambda ; B -13 0 531 716 ; -C -1 ; WX 603 ; N mu ; B -4 -198 617 519 ; -C -1 ; WX 556 ; N nu ; B 75 0 618 519 ; -C -1 ; WX 450 ; N xi ; B 55 -210 519 728 ; -C -1 ; WX 611 ; N omicron ; B 61 -12 599 531 ; -C -1 ; WX 605 ; N rho ; B -14 -198 596 531 ; -C -1 ; WX 532 ; N sigma1 ; B 62 -210 589 531 ; -C -1 ; WX 591 ; N upsilon ; B 74 -12 612 519 ; -C -1 ; WX 578 ; N chi ; B -80 -198 644 519 ; -C -1 ; WX 773 ; N psi ; B 75 -198 793 519 ; -C -1 ; WX 834 ; N omega ; B 64 -12 826 519 ; -C -1 ; WX 278 ; N iotadieresis ; B 40 0 410 717 ; -C -1 ; WX 591 ; N upsilondieresis ; B 74 -12 612 717 ; -C -1 ; WX 611 ; N omicrontonos ; B 61 -12 599 730 ; -C -1 ; WX 591 ; N upsilontonos ; B 74 -12 612 730 ; -C -1 ; WX 834 ; N omegatonos ; B 64 -12 826 730 ; -C -1 ; WX 667 ; N afii10023 ; B 41 0 721 876 ; -C -1 ; WX 886 ; N afii10051 ; B 129 -6 874 716 ; -C -1 ; WX 719 ; N afii10053 ; B 87 -12 739 728 ; -C -1 ; WX 667 ; N afii10054 ; B 62 -12 676 728 ; -C -1 ; WX 278 ; N afii10055 ; B 35 0 332 716 ; -C -1 ; WX 278 ; N afii10056 ; B 35 0 442 876 ; -C -1 ; WX 556 ; N afii10057 ; B 29 -12 600 716 ; -C -1 ; WX 1094 ; N afii10058 ; B -21 -12 1074 716 ; -C -1 ; WX 1042 ; N afii10059 ; B 43 0 1021 716 ; -C -1 ; WX 854 ; N afii10060 ; B 120 0 833 716 ; -C -1 ; WX 677 ; N afii10062 ; B 76 -11 794 899 ; -C -1 ; WX 722 ; N afii10017 ; B -11 0 673 716 ; -C -1 ; WX 708 ; N afii10018 ; B 45 0 709 716 ; -C -1 ; WX 722 ; N afii10019 ; B 40 0 710 716 ; -C -1 ; WX 614 ; N afii10020 ; B 44 0 723 716 ; -C -1 ; WX 722 ; N afii10021 ; B -75 -198 756 716 ; -C -1 ; WX 667 ; N afii10022 ; B 41 0 721 716 ; -C -1 ; WX 927 ; N afii10024 ; B -15 0 1016 720 ; -C -1 ; WX 643 ; N afii10025 ; B 37 -12 649 728 ; -C -1 ; WX 719 ; N afii10026 ; B 43 0 765 716 ; -C -1 ; WX 719 ; N afii10027 ; B 43 0 765 899 ; -C -1 ; WX 615 ; N afii10028 ; B 43 0 701 716 ; -C -1 ; WX 687 ; N afii10029 ; B -19 -11 731 716 ; -C -1 ; WX 833 ; N afii10030 ; B 41 0 878 716 ; -C -1 ; WX 722 ; N afii10031 ; B 43 0 765 716 ; -C -1 ; WX 778 ; N afii10032 ; B 87 -13 784 728 ; -C -1 ; WX 719 ; N afii10033 ; B 43 0 764 716 ; -C -1 ; WX 667 ; N afii10034 ; B 41 0 702 716 ; -C -1 ; WX 722 ; N afii10035 ; B 95 -13 746 728 ; -C -1 ; WX 611 ; N afii10036 ; B 120 0 709 716 ; -C -1 ; WX 677 ; N afii10037 ; B 76 -11 794 716 ; -C -1 ; WX 781 ; N afii10038 ; B 84 -6 790 716 ; -C -1 ; WX 667 ; N afii10039 ; B -30 0 784 716 ; -C -1 ; WX 729 ; N afii10040 ; B 40 -198 762 716 ; -C -1 ; WX 708 ; N afii10041 ; B 129 0 752 716 ; -C -1 ; WX 979 ; N afii10042 ; B 43 0 1021 716 ; -C -1 ; WX 989 ; N afii10043 ; B 43 -198 1021 716 ; -C -1 ; WX 854 ; N afii10044 ; B 105 0 833 716 ; -C -1 ; WX 1000 ; N afii10045 ; B 40 0 1036 716 ; -C -1 ; WX 708 ; N afii10046 ; B 40 0 682 716 ; -C -1 ; WX 719 ; N afii10047 ; B 73 -12 725 728 ; -C -1 ; WX 1042 ; N afii10048 ; B 43 -12 1045 728 ; -C -1 ; WX 729 ; N afii10049 ; B -21 0 774 716 ; -C -1 ; WX 556 ; N afii10065 ; B 45 -12 533 531 ; -C -1 ; WX 619 ; N afii10066 ; B 64 -12 655 748 ; -C -1 ; WX 604 ; N afii10067 ; B 63 -12 567 530 ; -C -1 ; WX 534 ; N afii10068 ; B 32 -12 515 530 ; -C -1 ; WX 618 ; N afii10069 ; B 60 -12 625 748 ; -C -1 ; WX 556 ; N afii10070 ; B 58 -12 555 531 ; -C -1 ; WX 736 ; N afii10072 ; B -25 0 788 519 ; -C -1 ; WX 510 ; N afii10073 ; B 14 -12 489 530 ; -C -1 ; WX 611 ; N afii10074 ; B 70 -12 619 519 ; -C -1 ; WX 611 ; N afii10075 ; B 70 -12 619 727 ; -C -1 ; WX 507 ; N afii10076 ; B 37 0 567 519 ; -C -1 ; WX 622 ; N afii10077 ; B -24 -12 633 519 ; -C -1 ; WX 740 ; N afii10078 ; B 39 0 748 519 ; -C -1 ; WX 604 ; N afii10079 ; B 35 0 616 519 ; -C -1 ; WX 611 ; N afii10080 ; B 61 -12 599 531 ; -C -1 ; WX 611 ; N afii10081 ; B 39 0 619 519 ; -C -1 ; WX 611 ; N afii10082 ; B -5 -198 605 531 ; -C -1 ; WX 556 ; N afii10083 ; B 60 -12 564 531 ; -C -1 ; WX 889 ; N afii10084 ; B 36 0 869 531 ; -C -1 ; WX 556 ; N afii10085 ; B 6 -210 621 519 ; -C -1 ; WX 885 ; N afii10086 ; B 63 -203 876 728 ; -C -1 ; WX 556 ; N afii10087 ; B -22 0 612 519 ; -C -1 ; WX 646 ; N afii10088 ; B 66 -161 624 519 ; -C -1 ; WX 583 ; N afii10089 ; B 99 0 594 519 ; -C -1 ; WX 889 ; N afii10090 ; B 70 -12 901 519 ; -C -1 ; WX 935 ; N afii10091 ; B 70 -159 912 519 ; -C -1 ; WX 707 ; N afii10092 ; B 68 0 678 519 ; -C -1 ; WX 854 ; N afii10093 ; B 40 0 868 519 ; -C -1 ; WX 594 ; N afii10094 ; B 35 0 570 519 ; -C -1 ; WX 552 ; N afii10095 ; B 37 -12 540 530 ; -C -1 ; WX 865 ; N afii10096 ; B 40 -12 850 530 ; -C -1 ; WX 589 ; N afii10097 ; B -20 0 599 519 ; -C -1 ; WX 556 ; N afii10071 ; B 58 -12 555 717 ; -C -1 ; WX 611 ; N afii10099 ; B 42 -210 591 716 ; -C -1 ; WX 469 ; N afii10100 ; B 35 0 552 730 ; -C -1 ; WX 563 ; N afii10101 ; B 64 -12 568 530 ; -C -1 ; WX 556 ; N afii10102 ; B 22 -12 552 531 ; -C -1 ; WX 278 ; N afii10103 ; B 40 0 330 716 ; -C -1 ; WX 278 ; N afii10104 ; B 40 0 410 717 ; -C -1 ; WX 278 ; N afii10105 ; B -109 -210 331 716 ; -C -1 ; WX 969 ; N afii10106 ; B -24 -12 942 519 ; -C -1 ; WX 906 ; N afii10107 ; B 40 0 880 519 ; -C -1 ; WX 611 ; N afii10108 ; B 42 0 591 716 ; -C -1 ; WX 556 ; N afii10110 ; B 6 -210 621 727 ; -C -1 ; WX 611 ; N afii10193 ; B 70 -199 619 519 ; -C -1 ; WX 575 ; N afii10050 ; B 43 0 736 914 ; -C -1 ; WX 467 ; N afii10098 ; B 27 0 581 697 ; -C -1 ; WX 1000 ; N afii00208 ; B 37 208 999 311 ; -C -1 ; WX 1146 ; N afii61352 ; B 43 0 1157 716 ; -C -1 ; WX 712 ; N pi ; B 79 0 770 519 ; -C -1 ; WX 333 ; N sheva ; B 68 -306 179 -98 ; -C -1 ; WX 333 ; N hatafsegol ; B -16 -306 290 -98 ; -C -1 ; WX 333 ; N hatafpatah ; B -9 -306 280 -98 ; -C -1 ; WX 333 ; N hatafqamats ; B -9 -306 280 -98 ; -C -1 ; WX 333 ; N hiriq ; B 95 -180 179 -98 ; -C -1 ; WX 333 ; N tsere ; B 31 -180 244 -98 ; -C -1 ; WX 333 ; N segol ; B 31 -306 243 -98 ; -C -1 ; WX 333 ; N patah ; B 36 -154 243 -103 ; -C -1 ; WX 333 ; N qamats ; B 36 -236 243 -103 ; -C -1 ; WX 333 ; N holam ; B 256 577 340 659 ; -C -1 ; WX 333 ; N qubuts ; B -23 -306 270 -98 ; -C -1 ; WX 333 ; N dagesh ; B 185 241 269 323 ; -C -1 ; WX 333 ; N meteg ; B 78 -299 170 -103 ; -C -1 ; WX 447 ; N maqaf ; B 148 408 497 518 ; -C -1 ; WX 333 ; N rafe ; B 198 611 405 662 ; -C -1 ; WX 299 ; N paseq ; B 76 -101 333 620 ; -C -1 ; WX 333 ; N shindot ; B 506 577 590 660 ; -C -1 ; WX 333 ; N sindot ; B 6 577 93 660 ; -C -1 ; WX 333 ; N sofpasuq ; B 98 0 346 519 ; -C -1 ; WX 583 ; N alef ; B 44 0 645 518 ; -C -1 ; WX 576 ; N bet ; B 38 0 579 524 ; -C -1 ; WX 457 ; N gimel ; B 5 0 449 524 ; -C -1 ; WX 550 ; N dalet ; B 109 0 636 518 ; -C -1 ; WX 614 ; N he ; B 69 0 620 524 ; -C -1 ; WX 273 ; N vav ; B 66 0 317 518 ; -C -1 ; WX 413 ; N zayin ; B 129 0 506 518 ; -C -1 ; WX 616 ; N het ; B 66 0 619 524 ; -C -1 ; WX 626 ; N tet ; B 109 -12 650 530 ; -C -1 ; WX 273 ; N yod ; B 115 229 317 518 ; -C -1 ; WX 521 ; N finalkaf ; B 114 -199 529 524 ; -C -1 ; WX 491 ; N kaf ; B 38 -8 515 526 ; -C -1 ; WX 496 ; N lamed ; B 117 0 555 716 ; -C -1 ; WX 611 ; N finalmem ; B 66 0 619 524 ; -C -1 ; WX 630 ; N mem ; B 51 0 631 524 ; -C -1 ; WX 273 ; N finalnun ; B 23 -199 317 518 ; -C -1 ; WX 386 ; N nun ; B 44 0 402 524 ; -C -1 ; WX 613 ; N samekh ; B 85 -12 637 530 ; -C -1 ; WX 543 ; N ayin ; B 5 -77 603 518 ; -C -1 ; WX 594 ; N finalpe ; B 104 -199 601 524 ; -C -1 ; WX 587 ; N pe ; B 54 -8 612 527 ; -C -1 ; WX 500 ; N finaltsadi ; B 115 -199 568 518 ; -C -1 ; WX 512 ; N tsadi ; B 35 0 573 518 ; -C -1 ; WX 573 ; N qof ; B 21 -199 632 518 ; -C -1 ; WX 521 ; N resh ; B 115 0 529 524 ; -C -1 ; WX 715 ; N shin ; B 110 -14 786 518 ; -C -1 ; WX 673 ; N tav ; B 25 -4 677 524 ; -C -1 ; WX 546 ; N doublevav ; B 23 -199 590 518 ; -C -1 ; WX 546 ; N vavyod ; B 115 -199 590 518 ; -C -1 ; WX 546 ; N doubleyod ; B 115 229 590 518 ; -C -1 ; WX 276 ; N geresh ; B 105 312 353 518 ; -C -1 ; WX 504 ; N gershayim ; B 105 312 581 518 ; -C -1 ; WX 818 ; N newsheqelsign ; B 66 0 862 518 ; -C -1 ; WX 273 ; N vavshindot ; B 66 0 317 660 ; -C -1 ; WX 521 ; N finalkafsheva ; B 114 -199 529 524 ; -C -1 ; WX 521 ; N finalkafqamats ; B 95 -199 529 524 ; -C -1 ; WX 496 ; N lamedholam ; B 16 0 555 716 ; -C -1 ; WX 496 ; N lamedholamdagesh ; B 16 0 555 716 ; -C -1 ; WX 559 ; N altayin ; B 24 0 618 518 ; -C -1 ; WX 715 ; N shinshindot ; B 110 -14 786 660 ; -C -1 ; WX 715 ; N shinsindot ; B 110 -14 786 660 ; -C -1 ; WX 715 ; N shindageshshindot ; B 110 -14 786 660 ; -C -1 ; WX 715 ; N shindageshsindot ; B 110 -14 786 660 ; -C -1 ; WX 583 ; N alefpatah ; B 44 -154 645 519 ; -C -1 ; WX 583 ; N alefqamats ; B 44 -236 645 519 ; -C -1 ; WX 583 ; N alefmapiq ; B 44 0 645 519 ; -C -1 ; WX 576 ; N betdagesh ; B 38 0 579 524 ; -C -1 ; WX 454 ; N gimeldagesh ; B 5 0 449 524 ; -C -1 ; WX 550 ; N daletdagesh ; B 109 0 636 518 ; -C -1 ; WX 614 ; N hedagesh ; B 69 0 620 524 ; -C -1 ; WX 323 ; N vavdagesh ; B 59 0 367 518 ; -C -1 ; WX 438 ; N zayindagesh ; B 55 0 522 519 ; -C -1 ; WX 626 ; N tetdagesh ; B 109 -12 650 530 ; -C -1 ; WX 323 ; N yoddagesh ; B 70 229 367 518 ; -C -1 ; WX 521 ; N finalkafdagesh ; B 114 -199 529 524 ; -C -1 ; WX 491 ; N kafdagesh ; B 38 -8 516 526 ; -C -1 ; WX 496 ; N lameddagesh ; B 117 0 555 716 ; -C -1 ; WX 630 ; N memdagesh ; B 51 0 631 524 ; -C -1 ; WX 386 ; N nundagesh ; B 44 0 402 524 ; -C -1 ; WX 613 ; N samekhdagesh ; B 85 -12 638 530 ; -C -1 ; WX 594 ; N finalpedagesh ; B 110 -199 600 524 ; -C -1 ; WX 587 ; N pedagesh ; B 54 -8 612 527 ; -C -1 ; WX 512 ; N tsadidagesh ; B 35 0 573 518 ; -C -1 ; WX 573 ; N qofdagesh ; B 21 -199 632 518 ; -C -1 ; WX 521 ; N reshdagesh ; B 115 0 530 524 ; -C -1 ; WX 715 ; N shindagesh ; B 110 -14 786 518 ; -C -1 ; WX 673 ; N tavdages ; B 25 -4 677 524 ; -C -1 ; WX 273 ; N vavholam ; B 66 0 317 660 ; -C -1 ; WX 576 ; N betrafe ; B 38 0 579 662 ; -C -1 ; WX 491 ; N kafrafe ; B 38 -8 515 662 ; -C -1 ; WX 587 ; N perafe ; B 54 -8 612 662 ; -C -1 ; WX 607 ; N aleflamed ; B 69 0 669 716 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 0 ; N uni202A ; B -18 -134 210 603 ; -C -1 ; WX 0 ; N uni202B ; B -210 -134 18 603 ; -C -1 ; WX 0 ; N uni202D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206F ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206A ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206B ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uniF00A ; B -18 -208 18 894 ; -C -1 ; WX 0 ; N uniF00B ; B -114 -208 114 894 ; -C -1 ; WX 0 ; N uniF00C ; B -18 -208 109 894 ; -C -1 ; WX 0 ; N uniF00D ; B -109 -208 18 894 ; -C -1 ; WX 0 ; N uniF00E ; B -18 -208 114 894 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 837 ; N _b_766 ; B 87 -13 959 728 ; -C -1 ; WX 671 ; N _b_767 ; B 61 -12 780 531 ; -C -1 ; WX 809 ; N _b_768 ; B 91 -12 949 716 ; -C -1 ; WX 714 ; N _b_769 ; B 70 -12 802 519 ; -C -1 ; WX 0 ; N _d_770 ; B -131 829 80 905 ; -C -1 ; WX 0 ; N _d_771 ; B -393 829 -181 905 ; -C -1 ; WX 0 ; N _d_772 ; B -306 754 -110 892 ; -C -1 ; WX 0 ; N f006 ; B -76 829 185 905 ; -C -1 ; WX 0 ; N f007 ; B -298 829 -37 905 ; -C -1 ; WX 0 ; N f009 ; B -205 753 37 892 ; -C -1 ; WX 0 ; N _b_776 ; B -96 747 106 906 ; -C -1 ; WX 0 ; N f010 ; B -101 809 94 906 ; -C -1 ; WX 0 ; N f013 ; B -233 747 -31 906 ; -C -1 ; WX 0 ; N f011 ; B -320 809 -125 906 ; -C -1 ; WX 0 ; N f01c ; B -179 763 169 875 ; -C -1 ; WX 0 ; N f015 ; B -395 821 -51 906 ; -C -1 ; WX 0 ; N _b_782 ; B -323 763 25 875 ; -C -1 ; WX 0 ; N _d_783 ; B -24 728 280 797 ; -C -1 ; WX 0 ; N _d_784 ; B -29 740 270 805 ; -C -1 ; WX 0 ; N f02c ; B -218 -194 -51 -59 ; -C -1 ; WX 513 ; N _b_786 ; B 32 92 552 716 ; -C -1 ; WX 834 ; N _b_787 ; B 85 -30 830 725 ; -C -1 ; WX 834 ; N _b_788 ; B 82 -30 830 725 ; -C -1 ; WX 0 ; N f008 ; B -126 584 116 723 ; -C -1 ; WX 0 ; N _d_790 ; B -270 584 -27 723 ; -C -1 ; WX 0 ; N _d_791 ; B -167 584 29 722 ; -C -1 ; WX 0 ; N f00f ; B -322 584 -126 722 ; -C -1 ; WX 0 ; N f012 ; B -117 584 86 757 ; -C -1 ; WX 0 ; N f014 ; B -274 584 -72 757 ; -C -1 ; WX 0 ; N f016 ; B -411 763 -63 875 ; -C -1 ; WX 0 ; N f017 ; B -508 763 -160 875 ; -C -1 ; WX 0 ; N f018 ; B -508 763 -160 875 ; -C -1 ; WX 0 ; N f019 ; B -354 592 -18 710 ; -C -1 ; WX 0 ; N f01a ; B -468 592 -132 710 ; -C -1 ; WX 0 ; N f01b ; B -483 592 -147 710 ; -C -1 ; WX 0 ; N f01e ; B -450 -194 -283 -59 ; -C -1 ; WX 0 ; N f01f ; B -499 -194 -332 -59 ; -C -1 ; WX 0 ; N f020 ; B -557 -194 -390 -59 ; -C -1 ; WX 0 ; N f021 ; B -473 -194 -306 -59 ; -C -1 ; WX 0 ; N f022 ; B -557 -194 -390 -59 ; -C -1 ; WX 0 ; N _b_806 ; B -138 754 58 892 ; -C -1 ; WX 0 ; N _b_807 ; B -89 753 153 892 ; -C -1 ; WX 0 ; N f01d ; B -215 592 121 710 ; -C -1 ; WX 0 ; N _b_809 ; B -499 -194 -332 -59 ; -C -1 ; WX 0 ; N f023 ; B -413 -194 -246 -59 ; -C -1 ; WX 0 ; N f029 ; B -282 -194 -115 -59 ; -C -1 ; WX 0 ; N f02a ; B -276 -194 -109 -59 ; -C -1 ; WX 0 ; N f02b ; B -276 -194 -109 -59 ; -C -1 ; WX 0 ; N f024 ; B -364 -194 -197 -59 ; -C -1 ; WX 0 ; N f025 ; B -413 -194 -246 -59 ; -C -1 ; WX 0 ; N f026 ; B -467 -194 -300 -59 ; -C -1 ; WX 0 ; N f027 ; B -462 -194 -295 -59 ; -C -1 ; WX 0 ; N f028 ; B -560 -194 -393 -59 ; -C -1 ; WX 0 ; N f02d ; B -341 821 3 906 ; -C -1 ; WX 0 ; N f02e ; B -345 763 3 875 ; -C -1 ; WX 0 ; N f02f ; B -444 821 -100 906 ; -C -1 ; WX 0 ; N f030 ; B -448 763 -100 875 ; -C -1 ; WX 278 ; N f031 ; B 40 0 289 519 ; -C -1 ; WX 722 ; N _b_824 ; B -11 -194 673 716 ; -C -1 ; WX 556 ; N _b_825 ; B 45 -194 533 531 ; -C -1 ; WX 722 ; N _b_826 ; B -11 0 673 906 ; -C -1 ; WX 556 ; N _b_827 ; B 45 -12 533 757 ; -C -1 ; WX 722 ; N _b_828 ; B -11 0 673 905 ; -C -1 ; WX 556 ; N _b_829 ; B 45 -12 571 892 ; -C -1 ; WX 722 ; N _b_830 ; B -11 0 673 905 ; -C -1 ; WX 556 ; N _b_831 ; B 45 -12 533 892 ; -C -1 ; WX 722 ; N _b_832 ; B -11 0 673 906 ; -C -1 ; WX 556 ; N _b_833 ; B 45 -12 533 906 ; -C -1 ; WX 722 ; N _b_834 ; B -11 0 673 906 ; -C -1 ; WX 556 ; N _b_835 ; B 45 -12 582 875 ; -C -1 ; WX 722 ; N _b_836 ; B -11 -194 673 805 ; -C -1 ; WX 556 ; N _b_837 ; B 45 -194 533 731 ; -C -1 ; WX 722 ; N _b_838 ; B -11 0 673 905 ; -C -1 ; WX 556 ; N _b_839 ; B 45 -12 571 892 ; -C -1 ; WX 722 ; N _b_840 ; B -11 0 673 905 ; -C -1 ; WX 556 ; N _b_841 ; B 45 -12 542 892 ; -C -1 ; WX 722 ; N _b_842 ; B -11 0 673 906 ; -C -1 ; WX 556 ; N _b_843 ; B 45 -12 542 906 ; -C -1 ; WX 722 ; N _b_844 ; B -11 0 682 906 ; -C -1 ; WX 556 ; N _b_845 ; B 45 -12 582 875 ; -C -1 ; WX 722 ; N _b_846 ; B -11 -194 673 797 ; -C -1 ; WX 556 ; N _b_847 ; B 45 -194 542 727 ; -C -1 ; WX 667 ; N _b_848 ; B 41 -194 721 716 ; -C -1 ; WX 556 ; N _b_849 ; B 58 -194 555 531 ; -C -1 ; WX 667 ; N _b_850 ; B 41 0 721 906 ; -C -1 ; WX 556 ; N _b_851 ; B 58 -12 555 757 ; -C -1 ; WX 667 ; N _b_852 ; B 41 0 721 874 ; -C -1 ; WX 556 ; N _b_853 ; B 58 -12 555 710 ; -C -1 ; WX 667 ; N _b_854 ; B 41 0 721 905 ; -C -1 ; WX 556 ; N _b_855 ; B 58 -12 572 892 ; -C -1 ; WX 667 ; N _b_856 ; B 41 0 721 905 ; -C -1 ; WX 556 ; N _b_857 ; B 58 -12 555 892 ; -C -1 ; WX 667 ; N _b_858 ; B 41 0 721 906 ; -C -1 ; WX 556 ; N _b_859 ; B 58 -12 555 906 ; -C -1 ; WX 667 ; N _b_860 ; B 41 0 721 906 ; -C -1 ; WX 556 ; N _b_861 ; B 58 -12 582 875 ; -C -1 ; WX 667 ; N _b_862 ; B 41 -194 721 805 ; -C -1 ; WX 556 ; N _b_863 ; B 58 -194 555 731 ; -C -1 ; WX 278 ; N _b_864 ; B 35 0 399 906 ; -C -1 ; WX 278 ; N _b_865 ; B 40 0 369 757 ; -C -1 ; WX 278 ; N _b_866 ; B -3 -194 332 716 ; -C -1 ; WX 278 ; N _b_867 ; B -3 -194 330 716 ; -C -1 ; WX 778 ; N _b_868 ; B 87 -194 784 728 ; -C -1 ; WX 611 ; N _b_869 ; B 61 -194 599 531 ; -C -1 ; WX 778 ; N _b_870 ; B 87 -13 784 906 ; -C -1 ; WX 611 ; N _b_871 ; B 61 -12 599 757 ; -C -1 ; WX 778 ; N _b_872 ; B 87 -13 784 905 ; -C -1 ; WX 611 ; N _b_873 ; B 61 -12 599 892 ; -C -1 ; WX 778 ; N _b_874 ; B 87 -13 784 905 ; -C -1 ; WX 611 ; N _b_875 ; B 61 -12 599 892 ; -C -1 ; WX 778 ; N _b_876 ; B 87 -13 784 906 ; -C -1 ; WX 611 ; N _b_877 ; B 61 -12 599 906 ; -C -1 ; WX 778 ; N _b_878 ; B 87 -13 784 906 ; -C -1 ; WX 611 ; N _b_879 ; B 61 -12 602 875 ; -C -1 ; WX 778 ; N _b_880 ; B 87 -194 784 805 ; -C -1 ; WX 611 ; N _b_881 ; B 61 -194 599 731 ; -C -1 ; WX 837 ; N _b_882 ; B 87 -13 959 904 ; -C -1 ; WX 671 ; N _b_883 ; B 61 -12 780 730 ; -C -1 ; WX 837 ; N _b_884 ; B 87 -13 959 905 ; -C -1 ; WX 671 ; N _b_885 ; B 61 -12 780 732 ; -C -1 ; WX 837 ; N _b_886 ; B 87 -13 959 906 ; -C -1 ; WX 671 ; N _b_887 ; B 61 -12 780 757 ; -C -1 ; WX 837 ; N _b_888 ; B 87 -13 959 874 ; -C -1 ; WX 671 ; N _b_889 ; B 61 -12 780 710 ; -C -1 ; WX 837 ; N _b_890 ; B 87 -194 959 728 ; -C -1 ; WX 671 ; N _b_891 ; B 61 -194 780 531 ; -C -1 ; WX 722 ; N _b_892 ; B 91 -194 765 716 ; -C -1 ; WX 611 ; N _b_893 ; B 70 -194 619 519 ; -C -1 ; WX 722 ; N _b_894 ; B 91 -12 765 906 ; -C -1 ; WX 611 ; N _b_895 ; B 70 -12 619 757 ; -C -1 ; WX 809 ; N _b_896 ; B 91 -12 949 904 ; -C -1 ; WX 714 ; N _b_897 ; B 70 -12 802 730 ; -C -1 ; WX 809 ; N _b_898 ; B 91 -12 949 905 ; -C -1 ; WX 714 ; N _b_899 ; B 70 -12 802 732 ; -C -1 ; WX 809 ; N _b_900 ; B 91 -12 949 906 ; -C -1 ; WX 714 ; N _b_901 ; B 70 -12 802 757 ; -C -1 ; WX 809 ; N _b_902 ; B 91 -12 949 874 ; -C -1 ; WX 714 ; N _b_903 ; B 70 -12 802 710 ; -C -1 ; WX 809 ; N _b_904 ; B 91 -194 949 716 ; -C -1 ; WX 714 ; N _b_905 ; B 70 -194 802 519 ; -C -1 ; WX 667 ; N _b_906 ; B 115 -194 785 716 ; -C -1 ; WX 556 ; N _b_907 ; B 6 -210 621 519 ; -C -1 ; WX 667 ; N _b_908 ; B 115 0 785 906 ; -C -1 ; WX 556 ; N _b_909 ; B 6 -210 621 757 ; -C -1 ; WX 667 ; N _b_910 ; B 115 0 785 874 ; -C -1 ; WX 556 ; N _b_911 ; B 6 -210 621 710 ; -C -1 ; WX 722 ; N uni01CD ; B -11 0 694 908 ; -C -1 ; WX 556 ; N uni01CE ; B 45 -12 562 731 ; -C -1 ; WX 278 ; N uni01CF ; B 35 0 480 908 ; -C -1 ; WX 278 ; N uni01D0 ; B 40 0 445 731 ; -C -1 ; WX 778 ; N uni01D1 ; B 87 -13 784 908 ; -C -1 ; WX 611 ; N uni01D2 ; B 61 -12 599 731 ; -C -1 ; WX 722 ; N uni01D3 ; B 91 -12 765 908 ; -C -1 ; WX 611 ; N uni01D4 ; B 70 -12 619 731 ; -C -1 ; WX 722 ; N uni01D5 ; B 91 -12 765 900 ; -C -1 ; WX 611 ; N uni01D6 ; B 70 -12 619 892 ; -C -1 ; WX 722 ; N uni01D7 ; B 91 -12 765 900 ; -C -1 ; WX 611 ; N uni01D8 ; B 70 -12 619 926 ; -C -1 ; WX 722 ; N uni01D9 ; B 91 -12 765 900 ; -C -1 ; WX 611 ; N uni01DA ; B 70 -12 645 927 ; -C -1 ; WX 722 ; N uni01DB ; B 91 -12 765 900 ; -C -1 ; WX 611 ; N uni01DC ; B 70 -12 619 927 ; -C -1 ; WX 0 ; N _d_928 ; B 31 730 318 900 ; -C -1 ; WX 0 ; N _d_929 ; B 31 730 326 900 ; -C -1 ; WX 0 ; N _d_930 ; B 31 730 323 900 ; -C -1 ; WX 0 ; N _d_931 ; B 31 730 302 900 ; -C -1 ; WX 614 ; N uni0492 ; B 28 0 723 716 ; -C -1 ; WX 469 ; N uni0493 ; B 18 0 552 519 ; -C -1 ; WX 927 ; N uni0496 ; B -15 -198 1016 720 ; -C -1 ; WX 736 ; N uni0497 ; B -25 -161 788 519 ; -C -1 ; WX 615 ; N uni049a ; B 43 -198 701 716 ; -C -1 ; WX 507 ; N uni049b ; B 37 -161 567 519 ; -C -1 ; WX 615 ; N uni049c ; B 43 0 701 716 ; -C -1 ; WX 507 ; N uni049d ; B 37 0 567 519 ; -C -1 ; WX 722 ; N uni04a2 ; B 43 -198 765 716 ; -C -1 ; WX 604 ; N uni04a3 ; B 35 -161 616 519 ; -C -1 ; WX 556 ; N uni04ae ; B 109 0 667 716 ; -C -1 ; WX 556 ; N uni04af ; B 85 -197 624 519 ; -C -1 ; WX 556 ; N uni04b0 ; B 57 0 667 716 ; -C -1 ; WX 556 ; N uni04b1 ; B 5 -197 623 519 ; -C -1 ; WX 667 ; N uni04b2 ; B -30 -198 784 716 ; -C -1 ; WX 556 ; N uni04b3 ; B -22 -161 612 519 ; -C -1 ; WX 708 ; N uni04b8 ; B 129 0 752 716 ; -C -1 ; WX 583 ; N uni04b9 ; B 99 0 594 519 ; -C -1 ; WX 708 ; N uni04ba ; B 53 0 676 716 ; -C -1 ; WX 583 ; N uni04bb ; B 45 0 540 519 ; -C -1 ; WX 748 ; N uni018f ; B 87 -12 754 728 ; -C -1 ; WX 556 ; N uni0259 ; B 49 -12 546 531 ; -C -1 ; WX 778 ; N uni04e8 ; B 87 -12 784 728 ; -C -1 ; WX 611 ; N uni04e9 ; B 61 -12 599 531 ; -EndCharMetrics -StartKernData -StartKernPairs 820 -KPX space A -37 -KPX space Y -18 -KPX space Alphatonos -37 -KPX space Alpha -37 -KPX space Delta -37 -KPX space Lambda -37 -KPX space Upsilon -18 -KPX space Upsilondieresis -18 -KPX one one -74 -KPX A space -37 -KPX A T -74 -KPX A V -74 -KPX A W -55 -KPX A Y -74 -KPX A quoteright -55 -KPX F comma -111 -KPX F period -111 -KPX F A -55 -KPX L space -18 -KPX L T -74 -KPX L V -55 -KPX L W -55 -KPX L Y -74 -KPX L quoteright -74 -KPX P space -37 -KPX P comma -129 -KPX P period -129 -KPX P A -74 -KPX R T -18 -KPX R W -18 -KPX R Y -18 -KPX T comma -74 -KPX T hyphen -55 -KPX T period -74 -KPX T colon -74 -KPX T semicolon -74 -KPX T A -74 -KPX T O -18 -KPX T a -37 -KPX T c -37 -KPX T e -37 -KPX T i -18 -KPX T o -37 -KPX T r -18 -KPX T s -37 -KPX T u -18 -KPX T w -37 -KPX T y -37 -KPX V comma -92 -KPX V hyphen -37 -KPX V period -92 -KPX V colon -37 -KPX V semicolon -37 -KPX V A -74 -KPX V a -37 -KPX V e -37 -KPX V i -37 -KPX V o -37 -KPX V r -18 -KPX V u -18 -KPX V y -18 -KPX W comma -74 -KPX W hyphen -37 -KPX W period -74 -KPX W colon -37 -KPX W semicolon -37 -KPX W A -55 -KPX W a -18 -KPX W e -18 -KPX W i -9 -KPX W o -18 -KPX W r -18 -KPX W u -18 -KPX W y -18 -KPX Y space -18 -KPX Y comma -92 -KPX Y hyphen -74 -KPX Y period -92 -KPX Y colon -55 -KPX Y semicolon -55 -KPX Y A -74 -KPX Y a -37 -KPX Y e -37 -KPX Y i -37 -KPX Y o -37 -KPX Y p -37 -KPX Y q -37 -KPX Y u -37 -KPX Y v -37 -KPX f f -18 -KPX f quoteright 18 -KPX r comma -55 -KPX r period -55 -KPX r quoteright 37 -KPX v comma -55 -KPX v period -55 -KPX w comma -37 -KPX w period -37 -KPX y comma -37 -KPX y period -37 -KPX quoteleft quoteleft -37 -KPX quoteright space -37 -KPX quoteright s -18 -KPX quoteright t 18 -KPX quoteright quoteright -37 -KPX quotedblbase afii10051 -113 -KPX quotedblbase afii10060 -125 -KPX quotedblbase afii10036 -113 -KPX quotedblbase afii10041 -63 -KPX quotedblbase afii10044 -100 -KPX Gamma comma -110 -KPX Gamma period -110 -KPX Gamma iotadieresistonos 130 -KPX Gamma Alpha -87 -KPX Gamma Delta -87 -KPX Gamma Lambda -87 -KPX Gamma iota -18 -KPX Gamma iotadieresis 64 -KPX Theta Alpha -28 -KPX Theta Upsilon -40 -KPX Theta Upsilondieresis -40 -KPX Phi Alpha -28 -KPX Phi Upsilon -54 -KPX Phi Upsilondieresis -54 -KPX delta gamma -18 -KPX delta chi -28 -KPX delta pi -17 -KPX tau phi 14 -KPX tau omega 14 -KPX tau omegatonos 14 -KPX phi gamma -18 -KPX phi lambda -28 -KPX phi chi -28 -KPX phi pi -17 -KPX Alphatonos space -37 -KPX Alphatonos Theta -57 -KPX Alphatonos Phi -57 -KPX Alphatonos Omicron -57 -KPX Alphatonos Tau -92 -KPX Alphatonos Upsilon -123 -KPX Alphatonos Upsilondieresis -123 -KPX Alphatonos gamma -29 -KPX Alphatonos nu -29 -KPX Alphatonos chi -29 -KPX Omicrontonos Upsilon -40 -KPX Omicrontonos Upsilondieresis -40 -KPX Upsilontonos alpha -37 -KPX Upsilontonos delta -37 -KPX Upsilontonos sigma -37 -KPX Upsilontonos phi -37 -KPX Upsilontonos iotadieresistonos 130 -KPX Upsilontonos Alpha -89 -KPX Upsilontonos Delta -66 -KPX Upsilontonos Lambda -55 -KPX Upsilontonos alphatonos -37 -KPX Upsilontonos etatonos -37 -KPX Upsilontonos iotatonos -37 -KPX Upsilontonos eta -37 -KPX Upsilontonos iota -37 -KPX Upsilontonos kappa -37 -KPX Upsilontonos mu -37 -KPX Upsilontonos omicron -37 -KPX Upsilontonos iotadieresis 64 -KPX Upsilontonos omicrontonos -37 -KPX Alpha space -37 -KPX Alpha quoteright -55 -KPX Alpha Theta -57 -KPX Alpha Phi -57 -KPX Alpha Omicron -57 -KPX Alpha Tau -92 -KPX Alpha Upsilon -123 -KPX Alpha Upsilondieresis -123 -KPX Alpha gamma -29 -KPX Alpha nu -29 -KPX Alpha chi -29 -KPX Delta space -37 -KPX Delta Theta -21 -KPX Delta Omicron -21 -KPX Delta Tau -92 -KPX Delta Upsilon -123 -KPX Delta Upsilondieresis -123 -KPX Kappa Theta -72 -KPX Kappa Phi -72 -KPX Kappa alpha -19 -KPX Kappa delta -19 -KPX Kappa sigma -19 -KPX Kappa phi -19 -KPX Kappa Omicron -72 -KPX Kappa alphatonos -19 -KPX Kappa zeta -19 -KPX Kappa theta -19 -KPX Kappa xi -19 -KPX Kappa omicron -19 -KPX Kappa omega -19 -KPX Kappa omicrontonos -19 -KPX Kappa omegatonos -19 -KPX Lambda space -37 -KPX Lambda Theta -21 -KPX Lambda Omicron -21 -KPX Lambda Tau -92 -KPX Lambda Upsilon -123 -KPX Lambda Upsilondieresis -123 -KPX Omicron Alpha -28 -KPX Omicron Upsilon -40 -KPX Omicron Upsilondieresis -40 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -74 -KPX Rho Delta -74 -KPX Rho Lambda -74 -KPX Sigma tau -24 -KPX Tau comma -74 -KPX Tau hyphen -55 -KPX Tau period -74 -KPX Tau colon -74 -KPX Tau semicolon -74 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -37 -KPX Tau delta -37 -KPX Tau epsilon -37 -KPX Tau sigma -37 -KPX Tau phi -37 -KPX Tau iotadieresistonos 137 -KPX Tau Alpha -74 -KPX Tau Delta -45 -KPX Tau Lambda -45 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -37 -KPX Tau epsilontonos -37 -KPX Tau gamma -27 -KPX Tau eta -18 -KPX Tau iota -18 -KPX Tau mu -18 -KPX Tau nu -37 -KPX Tau omicron -37 -KPX Tau upsilon -18 -KPX Tau chi -37 -KPX Tau psi -27 -KPX Tau iotadieresis 64 -KPX Tau upsilondieresis -18 -KPX Tau omicrontonos -37 -KPX Tau upsilontonos -18 -KPX Upsilon comma -91 -KPX Upsilon hyphen -74 -KPX Upsilon period -91 -KPX Upsilon colon -55 -KPX Upsilon semicolon -55 -KPX Upsilon alpha -37 -KPX Upsilon delta -37 -KPX Upsilon sigma -37 -KPX Upsilon phi -37 -KPX Upsilon iotadieresistonos 130 -KPX Upsilon Alpha -89 -KPX Upsilon Delta -66 -KPX Upsilon Lambda -55 -KPX Upsilon alphatonos -37 -KPX Upsilon etatonos -37 -KPX Upsilon iotatonos -37 -KPX Upsilon gamma -21 -KPX Upsilon eta -37 -KPX Upsilon iota -37 -KPX Upsilon kappa -37 -KPX Upsilon mu -37 -KPX Upsilon omicron -37 -KPX Upsilon iotadieresis 64 -KPX Upsilon omicrontonos -37 -KPX Chi omega -34 -KPX Chi omegatonos -34 -KPX Psi alpha -20 -KPX Psi delta -28 -KPX Psi sigma -20 -KPX Psi phi -20 -KPX Psi alphatonos -20 -KPX Psi theta -17 -KPX Psi omicron -20 -KPX Psi omega -20 -KPX Psi omicrontonos -20 -KPX Psi omegatonos -20 -KPX Omega Upsilon -40 -KPX Omega Upsilondieresis -40 -KPX Upsilondieresis alpha -37 -KPX Upsilondieresis delta -37 -KPX Upsilondieresis sigma -37 -KPX Upsilondieresis phi -37 -KPX Upsilondieresis iotadieresistonos 130 -KPX Upsilondieresis Alpha -89 -KPX Upsilondieresis Delta -66 -KPX Upsilondieresis Lambda -55 -KPX Upsilondieresis alphatonos -37 -KPX Upsilondieresis etatonos -37 -KPX Upsilondieresis iotatonos -37 -KPX Upsilondieresis eta -37 -KPX Upsilondieresis iota -37 -KPX Upsilondieresis kappa -37 -KPX Upsilondieresis mu -37 -KPX Upsilondieresis omicron -37 -KPX Upsilondieresis iotadieresis 64 -KPX Upsilondieresis omicrontonos -37 -KPX zeta alpha -108 -KPX zeta delta -36 -KPX zeta sigma -108 -KPX zeta tau -28 -KPX zeta phi -108 -KPX zeta alphatonos -108 -KPX zeta etatonos -38 -KPX zeta gamma -28 -KPX zeta eta -38 -KPX zeta theta -21 -KPX zeta iota -38 -KPX zeta kappa -38 -KPX zeta nu -28 -KPX zeta omicron -108 -KPX zeta omega -108 -KPX zeta omicrontonos -108 -KPX zeta omegatonos -108 -KPX zeta pi -28 -KPX kappa alpha -38 -KPX kappa delta -38 -KPX kappa sigma -38 -KPX kappa phi -38 -KPX kappa alphatonos -38 -KPX kappa zeta -38 -KPX kappa theta -38 -KPX kappa xi -38 -KPX kappa omicron -38 -KPX kappa sigma1 -38 -KPX kappa omega -38 -KPX kappa omicrontonos -38 -KPX kappa omegatonos -38 -KPX lambda alpha -14 -KPX lambda delta -14 -KPX lambda sigma -14 -KPX lambda phi -14 -KPX lambda alphatonos -14 -KPX lambda upsilondieresistonos -19 -KPX lambda zeta -14 -KPX lambda xi -14 -KPX lambda omicron -14 -KPX lambda sigma1 -14 -KPX lambda upsilon -19 -KPX lambda omega -14 -KPX lambda upsilondieresis -19 -KPX lambda omicrontonos -14 -KPX lambda upsilontonos -19 -KPX lambda omegatonos -14 -KPX xi alpha -21 -KPX xi delta -21 -KPX xi sigma -21 -KPX xi phi -21 -KPX xi alphatonos -21 -KPX xi zeta -21 -KPX xi xi -21 -KPX xi omicron -21 -KPX xi sigma1 -21 -KPX xi omicrontonos -21 -KPX omicron tau -17 -KPX omicron gamma -18 -KPX omicron chi -28 -KPX omicron pi -17 -KPX rho chi -28 -KPX rho pi -17 -KPX chi alpha -14 -KPX chi delta -14 -KPX chi sigma -14 -KPX chi phi -14 -KPX chi alphatonos -14 -KPX chi zeta -14 -KPX chi omicron -14 -KPX chi sigma1 -14 -KPX chi omega -14 -KPX chi omicrontonos -14 -KPX chi omegatonos -14 -KPX omega gamma -18 -KPX omega chi -28 -KPX omega pi -17 -KPX omicrontonos gamma -18 -KPX omicrontonos chi -28 -KPX omicrontonos pi -17 -KPX omegatonos gamma -18 -KPX omegatonos chi -28 -KPX omegatonos pi -17 -KPX afii10052 comma -100 -KPX afii10052 period -100 -KPX afii10058 quoteright -100 -KPX afii10059 quoteright -100 -KPX afii10017 quoteright -75 -KPX afii10017 afii10021 37 -KPX afii10017 afii10025 -38 -KPX afii10017 afii10029 12 -KPX afii10017 afii10032 -50 -KPX afii10017 afii10033 -25 -KPX afii10017 afii10035 -50 -KPX afii10017 afii10036 -101 -KPX afii10017 afii10037 -63 -KPX afii10017 afii10038 -63 -KPX afii10017 afii10041 -50 -KPX afii10017 afii10047 -50 -KPX afii10017 afii10065 12 -KPX afii10017 afii10066 -25 -KPX afii10017 afii10070 -25 -KPX afii10017 afii10080 -25 -KPX afii10017 afii10083 -25 -KPX afii10017 afii10085 -25 -KPX afii10017 afii10086 -25 -KPX afii10018 afii10017 -38 -KPX afii10018 afii10021 12 -KPX afii10018 afii10024 -13 -KPX afii10018 afii10025 -13 -KPX afii10018 afii10029 12 -KPX afii10018 afii10032 -13 -KPX afii10018 afii10035 -13 -KPX afii10018 afii10036 -38 -KPX afii10018 afii10037 -25 -KPX afii10018 afii10038 -26 -KPX afii10018 afii10039 -13 -KPX afii10018 afii10041 -13 -KPX afii10018 afii10044 -50 -KPX afii10018 afii10047 -25 -KPX afii10018 afii10049 -25 -KPX afii10018 afii10077 12 -KPX afii10018 afii10085 -13 -KPX afii10018 afii10097 12 -KPX afii10019 afii10017 -38 -KPX afii10019 afii10024 -25 -KPX afii10019 afii10025 -25 -KPX afii10019 afii10032 -25 -KPX afii10019 afii10035 -25 -KPX afii10019 afii10036 -63 -KPX afii10019 afii10037 -63 -KPX afii10019 afii10038 -38 -KPX afii10019 afii10039 -38 -KPX afii10019 afii10044 -63 -KPX afii10019 afii10049 -25 -KPX afii10019 afii10085 -13 -KPX afii10019 afii10087 -13 -KPX afii10019 afii10089 -38 -KPX afii10020 comma -63 -KPX afii10020 period -63 -KPX afii10020 afii10017 -51 -KPX afii10020 afii10021 -25 -KPX afii10020 afii10025 -13 -KPX afii10020 afii10029 -13 -KPX afii10020 afii10032 -13 -KPX afii10020 afii10049 -13 -KPX afii10020 afii10065 -13 -KPX afii10020 afii10067 -51 -KPX afii10020 afii10069 -13 -KPX afii10020 afii10070 -50 -KPX afii10020 afii10074 -38 -KPX afii10020 afii10077 -38 -KPX afii10020 afii10078 -25 -KPX afii10020 afii10079 -25 -KPX afii10020 afii10080 -50 -KPX afii10020 afii10082 -25 -KPX afii10020 afii10085 -25 -KPX afii10020 afii10093 -25 -KPX afii10020 afii10094 -25 -KPX afii10020 afii10096 -25 -KPX afii10020 afii10097 -25 -KPX afii10021 afii10038 -13 -KPX afii10021 afii10041 25 -KPX afii10021 afii10073 12 -KPX afii10021 afii10085 25 -KPX afii10022 afii10025 -13 -KPX afii10022 afii10029 12 -KPX afii10022 afii10083 12 -KPX afii10024 afii10025 -13 -KPX afii10024 afii10032 -13 -KPX afii10024 afii10035 -13 -KPX afii10024 afii10041 37 -KPX afii10024 afii10044 12 -KPX afii10024 afii10065 12 -KPX afii10024 afii10070 -13 -KPX afii10024 afii10080 -13 -KPX afii10024 afii10085 -13 -KPX afii10025 afii10024 -25 -KPX afii10025 afii10032 -25 -KPX afii10025 afii10035 -25 -KPX afii10025 afii10036 -38 -KPX afii10025 afii10037 -38 -KPX afii10025 afii10038 -25 -KPX afii10025 afii10041 25 -KPX afii10025 afii10049 -25 -KPX afii10025 afii10069 -13 -KPX afii10025 afii10077 12 -KPX afii10028 afii10032 -13 -KPX afii10028 afii10035 -13 -KPX afii10028 afii10036 12 -KPX afii10028 afii10038 -38 -KPX afii10028 afii10041 50 -KPX afii10028 afii10070 -38 -KPX afii10028 afii10073 -25 -KPX afii10028 afii10080 -38 -KPX afii10028 afii10083 -38 -KPX afii10028 afii10085 -13 -KPX afii10028 afii10095 -25 -KPX afii10029 afii10038 -13 -KPX afii10029 afii10065 12 -KPX afii10029 afii10085 12 -KPX afii10030 afii10041 37 -KPX afii10030 afii10065 12 -KPX afii10030 afii10085 12 -KPX afii10030 afii10089 -13 -KPX afii10032 afii10017 -38 -KPX afii10032 afii10021 -13 -KPX afii10032 afii10024 -38 -KPX afii10032 afii10029 -13 -KPX afii10032 afii10037 -63 -KPX afii10032 afii10039 -25 -KPX afii10032 afii10041 25 -KPX afii10032 afii10049 -25 -KPX afii10032 afii10078 12 -KPX afii10032 afii10097 12 -KPX afii10034 comma -125 -KPX afii10034 period -125 -KPX afii10034 colon -13 -KPX afii10034 semicolon -13 -KPX afii10034 guillemotright -25 -KPX afii10034 afii10017 -63 -KPX afii10034 afii10021 -38 -KPX afii10034 afii10024 -38 -KPX afii10034 afii10025 -38 -KPX afii10034 afii10029 -25 -KPX afii10034 afii10036 -38 -KPX afii10034 afii10037 -38 -KPX afii10034 afii10039 -38 -KPX afii10034 afii10049 -25 -KPX afii10034 afii10069 -13 -KPX afii10034 afii10070 -13 -KPX afii10034 afii10080 -13 -KPX afii10035 afii10017 -25 -KPX afii10035 afii10025 -25 -KPX afii10035 afii10036 -38 -KPX afii10035 afii10037 -38 -KPX afii10035 afii10039 -13 -KPX afii10035 afii10041 12 -KPX afii10035 afii10044 -50 -KPX afii10035 afii10047 -25 -KPX afii10035 afii10065 25 -KPX afii10035 afii10072 12 -KPX afii10035 afii10073 12 -KPX afii10035 afii10089 -13 -KPX afii10036 comma -38 -KPX afii10036 period -38 -KPX afii10036 afii10017 -38 -KPX afii10036 afii10024 25 -KPX afii10036 afii10030 12 -KPX afii10036 afii10032 -13 -KPX afii10036 afii10038 -13 -KPX afii10036 afii10047 12 -KPX afii10036 afii10067 -38 -KPX afii10036 afii10070 -38 -KPX afii10036 afii10074 -38 -KPX afii10036 afii10076 -25 -KPX afii10036 afii10077 -25 -KPX afii10036 afii10078 -25 -KPX afii10036 afii10080 -38 -KPX afii10036 afii10081 -13 -KPX afii10036 afii10082 -25 -KPX afii10036 afii10083 -38 -KPX afii10036 afii10085 -25 -KPX afii10036 afii10087 -25 -KPX afii10036 afii10091 -25 -KPX afii10036 afii10093 -13 -KPX afii10036 afii10094 -13 -KPX afii10036 afii10096 -13 -KPX afii10036 afii10097 -13 -KPX afii10037 comma -75 -KPX afii10037 period -75 -KPX afii10037 colon -25 -KPX afii10037 semicolon -25 -KPX afii10037 afii10017 -75 -KPX afii10037 afii10021 -38 -KPX afii10037 afii10025 -13 -KPX afii10037 afii10029 -13 -KPX afii10037 afii10032 -13 -KPX afii10037 afii10038 -38 -KPX afii10037 afii10047 -13 -KPX afii10037 afii10049 -13 -KPX afii10037 afii10066 -25 -KPX afii10037 afii10067 -50 -KPX afii10037 afii10068 -38 -KPX afii10037 afii10069 -25 -KPX afii10037 afii10070 -50 -KPX afii10037 afii10072 -13 -KPX afii10037 afii10073 -38 -KPX afii10037 afii10074 -38 -KPX afii10037 afii10075 -25 -KPX afii10037 afii10076 -25 -KPX afii10037 afii10077 -38 -KPX afii10037 afii10078 -25 -KPX afii10037 afii10079 -25 -KPX afii10037 afii10080 -63 -KPX afii10037 afii10081 -25 -KPX afii10037 afii10082 -25 -KPX afii10037 afii10083 -50 -KPX afii10037 afii10087 -25 -KPX afii10037 afii10088 -25 -KPX afii10037 afii10090 -25 -KPX afii10037 afii10091 -25 -KPX afii10037 afii10096 -25 -KPX afii10037 afii10097 -25 -KPX afii10038 afii10017 -38 -KPX afii10038 afii10021 -25 -KPX afii10038 afii10029 -25 -KPX afii10038 afii10030 12 -KPX afii10038 afii10036 -63 -KPX afii10038 afii10037 -63 -KPX afii10038 afii10041 25 -KPX afii10038 afii10049 -38 -KPX afii10038 afii10077 -13 -KPX afii10039 afii10025 12 -KPX afii10039 afii10032 -13 -KPX afii10039 afii10035 -13 -KPX afii10039 afii10038 -25 -KPX afii10039 afii10047 -13 -KPX afii10039 afii10080 -38 -KPX afii10039 afii10085 -13 -KPX afii10040 afii10065 25 -KPX afii10043 afii10065 25 -KPX afii10043 afii10085 25 -KPX afii10044 quoteright -100 -KPX afii10044 afii10049 -25 -KPX afii10046 quoteright -88 -KPX afii10046 afii10017 -25 -KPX afii10046 afii10024 -25 -KPX afii10046 afii10025 -25 -KPX afii10046 afii10030 -13 -KPX afii10046 afii10032 -38 -KPX afii10046 afii10035 -38 -KPX afii10046 afii10036 -100 -KPX afii10046 afii10039 -25 -KPX afii10046 afii10041 -38 -KPX afii10046 afii10047 -38 -KPX afii10046 afii10049 -38 -KPX afii10047 afii10021 -13 -KPX afii10047 afii10024 -25 -KPX afii10047 afii10025 -25 -KPX afii10047 afii10029 -25 -KPX afii10047 afii10039 -25 -KPX afii10047 afii10049 -38 -KPX afii10048 afii10017 -38 -KPX afii10048 afii10024 -25 -KPX afii10048 afii10036 -51 -KPX afii10048 afii10039 -13 -KPX afii10048 afii10041 12 -KPX afii10065 afii10077 12 -KPX afii10065 afii10085 -13 -KPX afii10065 afii10089 -38 -KPX afii10065 afii10095 -13 -KPX afii10066 afii10072 -13 -KPX afii10066 afii10073 -13 -KPX afii10066 afii10077 -13 -KPX afii10066 afii10078 -13 -KPX afii10066 afii10085 -25 -KPX afii10066 afii10087 -25 -KPX afii10066 afii10089 -38 -KPX afii10066 afii10092 -51 -KPX afii10066 afii10095 -13 -KPX afii10067 afii10065 -13 -KPX afii10067 afii10066 -25 -KPX afii10067 afii10069 -25 -KPX afii10067 afii10070 -25 -KPX afii10067 afii10072 -13 -KPX afii10067 afii10073 -13 -KPX afii10067 afii10078 -25 -KPX afii10067 afii10080 -25 -KPX afii10067 afii10083 -25 -KPX afii10067 afii10084 -13 -KPX afii10067 afii10085 -38 -KPX afii10067 afii10086 -25 -KPX afii10067 afii10089 -50 -KPX afii10067 afii10092 -63 -KPX afii10067 afii10097 -13 -KPX afii10068 comma -13 -KPX afii10068 period -13 -KPX afii10068 afii10065 -13 -KPX afii10068 afii10069 -38 -KPX afii10068 afii10070 -25 -KPX afii10068 afii10073 -25 -KPX afii10068 afii10078 -25 -KPX afii10068 afii10080 -25 -KPX afii10068 afii10083 -25 -KPX afii10068 afii10097 -13 -KPX afii10069 afii10073 -13 -KPX afii10070 afii10065 12 -KPX afii10070 afii10066 12 -KPX afii10070 afii10069 12 -KPX afii10070 afii10072 -13 -KPX afii10070 afii10077 12 -KPX afii10070 afii10080 12 -KPX afii10070 afii10083 12 -KPX afii10070 afii10085 -13 -KPX afii10070 afii10086 12 -KPX afii10070 afii10087 -13 -KPX afii10070 afii10089 -25 -KPX afii10072 afii10065 12 -KPX afii10072 afii10066 12 -KPX afii10072 afii10085 12 -KPX afii10072 afii10089 -13 -KPX afii10072 afii10092 12 -KPX afii10073 afii10066 -13 -KPX afii10073 afii10069 -13 -KPX afii10073 afii10070 -13 -KPX afii10073 afii10073 -13 -KPX afii10073 afii10078 -13 -KPX afii10073 afii10080 -13 -KPX afii10073 afii10083 -13 -KPX afii10073 afii10085 -38 -KPX afii10073 afii10086 -13 -KPX afii10073 afii10089 -50 -KPX afii10073 afii10092 -50 -KPX afii10076 afii10065 12 -KPX afii10076 afii10066 12 -KPX afii10076 afii10077 25 -KPX afii10076 afii10085 12 -KPX afii10076 afii10089 -13 -KPX afii10076 afii10095 12 -KPX afii10077 afii10066 -13 -KPX afii10077 afii10070 -13 -KPX afii10077 afii10080 -13 -KPX afii10077 afii10083 -13 -KPX afii10077 afii10085 -13 -KPX afii10077 afii10086 -13 -KPX afii10077 afii10089 -25 -KPX afii10078 afii10073 -13 -KPX afii10080 afii10065 12 -KPX afii10080 afii10072 -13 -KPX afii10080 afii10085 -25 -KPX afii10080 afii10087 -25 -KPX afii10080 afii10089 -50 -KPX afii10080 afii10095 -13 -KPX afii10082 afii10072 -13 -KPX afii10082 afii10073 -13 -KPX afii10082 afii10077 -13 -KPX afii10082 afii10078 -13 -KPX afii10082 afii10085 -26 -KPX afii10082 afii10087 -25 -KPX afii10082 afii10089 -50 -KPX afii10082 afii10095 -13 -KPX afii10083 afii10072 -13 -KPX afii10083 afii10073 -13 -KPX afii10083 afii10085 -13 -KPX afii10083 afii10086 -13 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -38 -KPX afii10083 afii10092 -25 -KPX afii10084 comma -13 -KPX afii10084 period -13 -KPX afii10084 afii10069 -13 -KPX afii10084 afii10070 -13 -KPX afii10084 afii10072 -13 -KPX afii10084 afii10073 -25 -KPX afii10084 afii10077 -13 -KPX afii10084 afii10078 -13 -KPX afii10084 afii10080 -13 -KPX afii10084 afii10083 -13 -KPX afii10084 afii10085 -25 -KPX afii10084 afii10095 -25 -KPX afii10085 comma -38 -KPX afii10085 period -38 -KPX afii10085 afii10066 12 -KPX afii10085 afii10072 12 -KPX afii10085 afii10073 12 -KPX afii10085 afii10087 12 -KPX afii10085 afii10097 12 -KPX afii10086 afii10085 -25 -KPX afii10086 afii10089 -38 -KPX afii10087 afii10065 -13 -KPX afii10087 afii10066 -13 -KPX afii10087 afii10070 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -25 -KPX afii10087 afii10083 -25 -KPX afii10087 afii10086 -25 -KPX afii10087 afii10089 -25 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10065 -13 -KPX afii10088 afii10070 -38 -KPX afii10088 afii10073 -13 -KPX afii10088 afii10080 -38 -KPX afii10088 afii10083 -38 -KPX afii10088 afii10085 -13 -KPX afii10091 afii10070 -25 -KPX afii10091 afii10080 -25 -KPX afii10094 afii10084 -25 -KPX afii10094 afii10089 -100 -KPX afii10095 afii10066 -13 -KPX afii10095 afii10070 -13 -KPX afii10095 afii10072 -13 -KPX afii10095 afii10073 -13 -KPX afii10095 afii10078 -25 -KPX afii10095 afii10080 -13 -KPX afii10095 afii10083 -13 -KPX afii10095 afii10086 -13 -KPX afii10095 afii10087 -25 -KPX afii10096 afii10066 -13 -KPX afii10096 afii10069 -13 -KPX afii10096 afii10070 -13 -KPX afii10096 afii10072 -25 -KPX afii10096 afii10077 -13 -KPX afii10096 afii10078 -13 -KPX afii10096 afii10080 -13 -KPX afii10096 afii10083 -13 -KPX afii10096 afii10084 -13 -KPX afii10096 afii10086 -13 -KPX afii10096 afii10087 -25 -KPX afii10096 afii10089 -63 -KPX afii10096 afii10095 -25 -KPX afii10110 comma -38 -KPX afii10110 period -38 -KPX afii10110 colon -13 -KPX afii10110 semicolon -13 -KPX afii10050 comma -25 -KPX afii10050 period -25 -KPX pi phi 14 -KPX pi omega 14 -KPX pi omegatonos 14 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/arialbi.ttf b/thirdparty/html2ps_pdf/fonts/arialbi.ttf deleted file mode 100644 index 00968d29b..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/arialbi.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/ariali.afm b/thirdparty/html2ps_pdf/fonts/ariali.afm deleted file mode 100644 index eef538f8e..000000000 --- a/thirdparty/html2ps_pdf/fonts/ariali.afm +++ /dev/null @@ -1,1871 +0,0 @@ -StartFontMetrics 4.1 -FontName Arial-ItalicMT -FullName Arial Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Arial -Weight Italic -Version Version 2.90 -Characters 956 -ItalicAngle -12.0 -Ascender 905 -Descender -212 -UnderlineThickness 73 -UnderlinePosition -106 -IsFixedPitch false -FontBBox -517 -325 1082 998 -StartCharMetrics 991 -C 0 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 278 ; N space ; B 56 0 304 716 ; -C 33 ; WX 278 ; N exclam ; B 56 0 304 716 ; -C 34 ; WX 355 ; N quotedbl ; B 135 462 429 716 ; -C 35 ; WX 556 ; N numbersign ; B 10 -12 543 728 ; -C 36 ; WX 556 ; N dollar ; B 51 -96 573 764 ; -C 37 ; WX 889 ; N percent ; B 97 -26 853 728 ; -C 38 ; WX 667 ; N ampersand ; B 79 -17 651 728 ; -C 39 ; WX 191 ; N quotesingle ; B 127 462 259 716 ; -C 40 ; WX 333 ; N parenleft ; B 84 -210 413 728 ; -C 41 ; WX 333 ; N parenright ; B -53 -210 275 728 ; -C 42 ; WX 389 ; N asterisk ; B 31 423 354 728 ; -C 43 ; WX 584 ; N plus ; B 56 116 528 589 ; -C 44 ; WX 278 ; N comma ; B 24 -145 176 100 ; -C 45 ; WX 333 ; N hyphen ; B 46 215 334 303 ; -C 46 ; WX 278 ; N period ; B 58 0 179 100 ; -C 47 ; WX 278 ; N slash ; B -51 -12 411 728 ; -C 48 ; WX 556 ; N zero ; B 71 -12 565 719 ; -C 49 ; WX 556 ; N one ; B 148 0 479 719 ; -C 50 ; WX 556 ; N two ; B 59 0 562 719 ; -C 51 ; WX 556 ; N three ; B 55 -12 557 719 ; -C 52 ; WX 556 ; N four ; B 45 0 542 716 ; -C 53 ; WX 556 ; N five ; B 69 -12 572 706 ; -C 54 ; WX 556 ; N six ; B 83 -12 568 719 ; -C 55 ; WX 556 ; N seven ; B 121 0 595 706 ; -C 56 ; WX 556 ; N eight ; B 75 -13 564 719 ; -C 57 ; WX 556 ; N nine ; B 67 -12 551 719 ; -C 58 ; WX 278 ; N colon ; B 57 0 265 519 ; -C 59 ; WX 278 ; N semicolon ; B 24 -145 262 519 ; -C 60 ; WX 584 ; N less ; B 55 110 529 595 ; -C 61 ; WX 584 ; N equal ; B 56 204 528 503 ; -C 62 ; WX 584 ; N greater ; B 55 110 529 595 ; -C 63 ; WX 556 ; N question ; B 127 0 561 728 ; -C 64 ; WX 1015 ; N at ; B 54 -210 979 729 ; -C 65 ; WX 667 ; N A ; B -20 0 617 716 ; -C 66 ; WX 667 ; N B ; B 43 0 655 716 ; -C 67 ; WX 722 ; N C ; B 91 -12 730 728 ; -C 68 ; WX 722 ; N D ; B 44 0 712 716 ; -C 69 ; WX 667 ; N E ; B 45 0 711 716 ; -C 70 ; WX 611 ; N F ; B 45 0 660 716 ; -C 71 ; WX 778 ; N G ; B 97 -12 766 728 ; -C 72 ; WX 722 ; N H ; B 42 0 754 716 ; -C 73 ; WX 278 ; N I ; B 57 0 302 716 ; -C 74 ; WX 500 ; N J ; B 33 -12 536 716 ; -C 75 ; WX 667 ; N K ; B 44 0 741 716 ; -C 76 ; WX 556 ; N L ; B 40 0 524 716 ; -C 77 ; WX 833 ; N M ; B 44 0 872 716 ; -C 78 ; WX 722 ; N N ; B 49 0 757 716 ; -C 79 ; WX 778 ; N O ; B 91 -12 772 728 ; -C 80 ; WX 667 ; N P ; B 43 0 698 716 ; -C 81 ; WX 778 ; N Q ; B 92 -82 773 728 ; -C 82 ; WX 722 ; N R ; B 47 0 730 716 ; -C 83 ; WX 667 ; N S ; B 70 -12 671 728 ; -C 84 ; WX 611 ; N T ; B 125 0 705 716 ; -C 85 ; WX 722 ; N U ; B 97 -13 754 716 ; -C 86 ; WX 667 ; N V ; B 124 0 757 716 ; -C 87 ; WX 944 ; N W ; B 125 0 1062 716 ; -C 88 ; WX 667 ; N X ; B -32 0 769 716 ; -C 89 ; WX 667 ; N Y ; B 117 0 773 716 ; -C 90 ; WX 611 ; N Z ; B 24 0 637 716 ; -C 91 ; WX 278 ; N bracketleft ; B 6 -196 391 716 ; -C 92 ; WX 278 ; N backslash ; B 85 -12 273 728 ; -C 93 ; WX 278 ; N bracketright ; B -59 -196 329 716 ; -C 94 ; WX 469 ; N asciicircum ; B 26 337 443 728 ; -C 95 ; WX 556 ; N underscore ; B -15 -199 567 -135 ; -C 96 ; WX 333 ; N grave ; B 146 582 310 716 ; -C 97 ; WX 556 ; N a ; B 44 -12 526 530 ; -C 98 ; WX 556 ; N b ; B 33 -12 535 716 ; -C 99 ; WX 500 ; N c ; B 56 -12 511 530 ; -C 100 ; WX 556 ; N d ; B 53 -12 598 716 ; -C 101 ; WX 556 ; N e ; B 52 -12 532 530 ; -C 102 ; WX 278 ; N f ; B 45 0 408 728 ; -C 103 ; WX 556 ; N g ; B 26 -208 564 530 ; -C 104 ; WX 556 ; N h ; B 33 0 529 716 ; -C 105 ; WX 222 ; N i ; B 30 0 268 716 ; -C 106 ; WX 222 ; N j ; B -121 -208 267 716 ; -C 107 ; WX 500 ; N k ; B 34 0 554 716 ; -C 108 ; WX 222 ; N l ; B 26 0 264 716 ; -C 109 ; WX 833 ; N m ; B 33 0 813 530 ; -C 110 ; WX 556 ; N n ; B 33 0 528 530 ; -C 111 ; WX 556 ; N o ; B 49 -12 540 530 ; -C 112 ; WX 556 ; N p ; B -10 -199 535 530 ; -C 113 ; WX 556 ; N q ; B 51 -199 552 530 ; -C 114 ; WX 333 ; N r ; B 33 0 419 530 ; -C 115 ; WX 500 ; N s ; B 38 -12 501 530 ; -C 116 ; WX 278 ; N t ; B 56 -9 321 707 ; -C 117 ; WX 556 ; N u ; B 63 -12 558 519 ; -C 118 ; WX 500 ; N v ; B 79 0 559 519 ; -C 119 ; WX 722 ; N w ; B 78 0 777 519 ; -C 120 ; WX 500 ; N x ; B -1 0 538 519 ; -C 121 ; WX 500 ; N y ; B 0 -210 561 519 ; -C 122 ; WX 500 ; N z ; B 20 0 512 519 ; -C 123 ; WX 334 ; N braceleft ; B 52 -210 445 728 ; -C 124 ; WX 260 ; N bar ; B 92 -210 168 728 ; -C 125 ; WX 334 ; N braceright ; B -84 -210 309 728 ; -C 126 ; WX 584 ; N asciitilde ; B 42 272 542 432 ; -C 127 ; WX 750 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 556 ; N Euro ; B 40 -12 645 728 ; -C 129 ; WX 544 ; N afii10052 ; B 42 0 656 894 ; -C 130 ; WX 222 ; N quotesinglbase ; B -7 -145 145 100 ; -C 131 ; WX 556 ; N florin ; B 22 -210 530 729 ; -C 132 ; WX 333 ; N quotedblbase ; B -20 -145 292 100 ; -C 133 ; WX 1000 ; N ellipsis ; B 144 0 933 100 ; -C 134 ; WX 556 ; N dagger ; B 91 -170 583 706 ; -C 135 ; WX 556 ; N daggerdbl ; B 5 -170 588 706 ; -C 136 ; WX 333 ; N circumflex ; B 100 582 388 716 ; -C 137 ; WX 1000 ; N perthousand ; B 66 -27 1003 728 ; -C 138 ; WX 667 ; N Scaron ; B 70 -12 671 894 ; -C 139 ; WX 333 ; N guilsinglleft ; B 47 35 314 479 ; -C 140 ; WX 1000 ; N OE ; B 80 -13 1044 728 ; -C 141 ; WX 589 ; N afii10061 ; B 42 0 674 894 ; -C 142 ; WX 611 ; N Zcaron ; B 24 0 637 894 ; -C 143 ; WX 724 ; N afii10145 ; B 42 -199 760 716 ; -C 144 ; WX 333 ; N quotedblbase ; B -20 -145 292 100 ; -C 145 ; WX 222 ; N quoteleft ; B 129 483 281 728 ; -C 146 ; WX 222 ; N quoteright ; B 125 468 277 713 ; -C 147 ; WX 333 ; N quotedblleft ; B 105 483 413 728 ; -C 148 ; WX 333 ; N quotedblright ; B 104 468 417 713 ; -C 149 ; WX 350 ; N bullet ; B 53 227 301 474 ; -C 150 ; WX 556 ; N endash ; B -2 224 554 294 ; -C 151 ; WX 1000 ; N emdash ; B 0 224 1000 294 ; -C 152 ; WX 333 ; N tilde ; B 94 596 424 706 ; -C 153 ; WX 1000 ; N trademark ; B 110 318 871 716 ; -C 154 ; WX 500 ; N scaron ; B 38 -12 504 716 ; -C 155 ; WX 333 ; N guilsinglright ; B 16 35 288 479 ; -C 156 ; WX 944 ; N oe ; B 63 -12 919 530 ; -C 157 ; WX 472 ; N afii10109 ; B 31 0 520 716 ; -C 158 ; WX 500 ; N zcaron ; B 20 0 512 716 ; -C 159 ; WX 667 ; N Ydieresis ; B 117 0 773 858 ; -C 160 ; WX 278 ; N space ; B 56 0 304 716 ; -C 161 ; WX 333 ; N exclamdown ; B 30 -197 278 519 ; -C 162 ; WX 556 ; N cent ; B 75 -199 530 726 ; -C 163 ; WX 556 ; N sterling ; B 31 -12 607 728 ; -C 164 ; WX 556 ; N currency ; B 36 115 516 594 ; -C 165 ; WX 556 ; N yen ; B 37 0 667 716 ; -C 166 ; WX 260 ; N brokenbar ; B 92 -210 168 728 ; -C 167 ; WX 556 ; N section ; B 30 -210 555 728 ; -C 168 ; WX 333 ; N dieresis ; B 116 599 409 699 ; -C 169 ; WX 737 ; N copyright ; B 1 -9 738 728 ; -C 170 ; WX 370 ; N ordfeminine ; B 82 359 409 728 ; -C 171 ; WX 556 ; N guillemotleft ; B 79 35 537 479 ; -C 172 ; WX 584 ; N logicalnot ; B 56 207 528 503 ; -C 173 ; WX 333 ; N hyphen ; B 46 215 334 303 ; -C 174 ; WX 737 ; N registered ; B 1 -9 738 728 ; -C 175 ; WX 552 ; N overscore ; B -15 765 567 828 ; -C 176 ; WX 400 ; N degree ; B 63 457 333 728 ; -C 177 ; WX 549 ; N plusminus ; B 38 0 511 600 ; -C 178 ; WX 333 ; N twosuperior ; B 74 358 401 725 ; -C 179 ; WX 333 ; N threesuperior ; B 83 349 400 725 ; -C 180 ; WX 333 ; N acute ; B 169 582 372 716 ; -C 181 ; WX 576 ; N mu1 ; B 6 -200 572 519 ; -C 182 ; WX 537 ; N paragraph ; B 69 -199 609 716 ; -C 183 ; WX 278 ; N periodcentered ; B 90 302 190 402 ; -C 184 ; WX 333 ; N cedilla ; B 38 -208 288 6 ; -C 185 ; WX 333 ; N onesuperior ; B 136 358 354 725 ; -C 186 ; WX 365 ; N ordmasculine ; B 70 360 412 728 ; -C 187 ; WX 556 ; N guillemotright ; B 41 35 505 479 ; -C 188 ; WX 834 ; N onequarter ; B 83 -30 851 728 ; -C 189 ; WX 834 ; N onehalf ; B 60 -30 827 728 ; -C 190 ; WX 834 ; N threequarters ; B 83 -30 865 728 ; -C 191 ; WX 611 ; N questiondown ; B 57 -209 490 519 ; -C 192 ; WX 667 ; N Agrave ; B -20 0 617 895 ; -C 193 ; WX 667 ; N Aacute ; B -20 0 617 894 ; -C 194 ; WX 667 ; N Acircumflex ; B -20 0 617 894 ; -C 195 ; WX 667 ; N Atilde ; B -20 0 617 868 ; -C 196 ; WX 667 ; N Adieresis ; B -20 0 617 860 ; -C 197 ; WX 667 ; N Aring ; B -20 0 617 863 ; -C 198 ; WX 1000 ; N AE ; B -41 0 1043 716 ; -C 199 ; WX 722 ; N Ccedilla ; B 91 -210 730 728 ; -C 200 ; WX 667 ; N Egrave ; B 45 0 711 895 ; -C 201 ; WX 667 ; N Eacute ; B 45 0 711 894 ; -C 202 ; WX 667 ; N Ecircumflex ; B 45 0 711 894 ; -C 203 ; WX 667 ; N Edieresis ; B 45 0 711 858 ; -C 204 ; WX 278 ; N Igrave ; B 57 0 340 895 ; -C 205 ; WX 278 ; N Iacute ; B 57 0 389 894 ; -C 206 ; WX 278 ; N Icircumflex ; B 57 0 407 894 ; -C 207 ; WX 278 ; N Idieresis ; B 57 0 414 860 ; -C 208 ; WX 722 ; N Eth ; B 36 0 712 716 ; -C 209 ; WX 722 ; N Ntilde ; B 49 0 757 868 ; -C 210 ; WX 778 ; N Ograve ; B 91 -12 772 895 ; -C 211 ; WX 778 ; N Oacute ; B 91 -12 772 894 ; -C 212 ; WX 778 ; N Ocircumflex ; B 91 -12 772 894 ; -C 213 ; WX 778 ; N Otilde ; B 91 -12 772 868 ; -C 214 ; WX 778 ; N Odieresis ; B 91 -12 772 860 ; -C 215 ; WX 584 ; N multiply ; B 79 141 504 566 ; -C 216 ; WX 778 ; N Oslash ; B 85 -50 776 765 ; -C 217 ; WX 722 ; N Ugrave ; B 97 -13 754 895 ; -C 218 ; WX 722 ; N Uacute ; B 97 -13 754 894 ; -C 219 ; WX 722 ; N Ucircumflex ; B 97 -13 754 894 ; -C 220 ; WX 722 ; N Udieresis ; B 97 -13 754 860 ; -C 221 ; WX 667 ; N Yacute ; B 117 0 773 894 ; -C 222 ; WX 667 ; N Thorn ; B 43 0 667 716 ; -C 223 ; WX 611 ; N germandbls ; B 36 -12 567 728 ; -C 224 ; WX 556 ; N agrave ; B 44 -12 526 716 ; -C 225 ; WX 556 ; N aacute ; B 44 -12 526 716 ; -C 226 ; WX 556 ; N acircumflex ; B 44 -12 526 716 ; -C 227 ; WX 556 ; N atilde ; B 44 -12 541 707 ; -C 228 ; WX 556 ; N adieresis ; B 44 -12 526 699 ; -C 229 ; WX 556 ; N aring ; B 44 -12 526 733 ; -C 230 ; WX 889 ; N ae ; B 42 -12 865 531 ; -C 231 ; WX 500 ; N ccedilla ; B 56 -199 511 530 ; -C 232 ; WX 556 ; N egrave ; B 52 -12 532 716 ; -C 233 ; WX 556 ; N eacute ; B 52 -12 532 716 ; -C 234 ; WX 556 ; N ecircumflex ; B 52 -12 532 716 ; -C 235 ; WX 556 ; N edieresis ; B 52 -12 532 699 ; -C 236 ; WX 278 ; N igrave ; B 61 0 310 716 ; -C 237 ; WX 278 ; N iacute ; B 61 0 349 716 ; -C 238 ; WX 278 ; N icircumflex ; B 61 0 362 716 ; -C 239 ; WX 278 ; N idieresis ; B 61 0 378 699 ; -C 240 ; WX 556 ; N eth ; B 49 -12 546 716 ; -C 241 ; WX 556 ; N ntilde ; B 33 0 532 706 ; -C 242 ; WX 556 ; N ograve ; B 49 -12 540 716 ; -C 243 ; WX 556 ; N oacute ; B 49 -12 540 716 ; -C 244 ; WX 556 ; N ocircumflex ; B 49 -12 540 716 ; -C 245 ; WX 556 ; N otilde ; B 49 -12 540 706 ; -C 246 ; WX 556 ; N odieresis ; B 49 -12 540 699 ; -C 247 ; WX 549 ; N divide ; B 38 156 511 550 ; -C 248 ; WX 611 ; N oslash ; B 72 -50 581 566 ; -C 249 ; WX 556 ; N ugrave ; B 63 -12 558 716 ; -C 250 ; WX 556 ; N uacute ; B 63 -12 558 716 ; -C 251 ; WX 556 ; N ucircumflex ; B 63 -12 558 716 ; -C 252 ; WX 556 ; N udieresis ; B 63 -12 558 699 ; -C 253 ; WX 500 ; N yacute ; B 0 -210 561 716 ; -C 254 ; WX 556 ; N thorn ; B -10 -199 535 716 ; -C 255 ; WX 500 ; N ydieresis ; B 0 -210 561 699 ; -C -1 ; WX 0 ; N .null ; B 56 0 304 716 ; -C -1 ; WX 278 ; N nonmarkingreturn ; B 56 0 304 716 ; -C -1 ; WX 549 ; N notequal ; B 38 -14 511 720 ; -C -1 ; WX 713 ; N infinity ; B 75 189 640 510 ; -C -1 ; WX 549 ; N lessequal ; B 38 52 512 654 ; -C -1 ; WX 549 ; N greaterequal ; B 38 52 512 654 ; -C -1 ; WX 494 ; N partialdiff ; B 25 -12 473 728 ; -C -1 ; WX 713 ; N summation ; B 60 -210 677 728 ; -C -1 ; WX 823 ; N product ; B 79 -210 744 728 ; -C -1 ; WX 549 ; N pi1 ; B 0 0 601 519 ; -C -1 ; WX 274 ; N integral ; B 0 -107 273 910 ; -C -1 ; WX 768 ; N Ohm ; B 62 0 720 734 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 25 184 524 521 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -262 -30 505 728 ; -C -1 ; WX 500 ; N fi ; B 54 0 545 728 ; -C -1 ; WX 500 ; N fl ; B 54 0 545 728 ; -C -1 ; WX 278 ; N dotlessi ; B 61 0 258 519 ; -C -1 ; WX 333 ; N macron ; B 98 600 416 668 ; -C -1 ; WX 333 ; N breve ; B 107 567 399 694 ; -C -1 ; WX 333 ; N dotaccent ; B 194 590 326 699 ; -C -1 ; WX 333 ; N ring ; B 160 556 338 733 ; -C -1 ; WX 333 ; N hungarumlaut ; B 86 582 454 716 ; -C -1 ; WX 333 ; N ogonek ; B 61 -208 265 13 ; -C -1 ; WX 333 ; N caron ; B 129 582 416 716 ; -C -1 ; WX 556 ; N Lslash ; B 12 0 524 716 ; -C -1 ; WX 222 ; N lslash ; B 19 0 285 716 ; -C -1 ; WX 584 ; N minus ; B 56 312 528 394 ; -C -1 ; WX 556 ; N franc ; B -12 0 602 716 ; -C -1 ; WX 778 ; N Gbreve ; B 97 -12 766 886 ; -C -1 ; WX 556 ; N gbreve ; B 26 -208 564 694 ; -C -1 ; WX 278 ; N Idot ; B 57 0 334 864 ; -C -1 ; WX 667 ; N Scedilla ; B 70 -210 671 728 ; -C -1 ; WX 500 ; N scedilla ; B 38 -199 501 530 ; -C -1 ; WX 722 ; N Cacute ; B 91 -12 730 894 ; -C -1 ; WX 500 ; N cacute ; B 56 -12 511 716 ; -C -1 ; WX 722 ; N Ccaron ; B 91 -12 730 894 ; -C -1 ; WX 500 ; N ccaron ; B 56 -12 515 716 ; -C -1 ; WX 556 ; N dmacron ; B 53 -12 653 716 ; -C -1 ; WX 333 ; N middot ; B 259 308 380 408 ; -C -1 ; WX 667 ; N Abreve ; B -20 0 617 886 ; -C -1 ; WX 556 ; N abreve ; B 44 -12 526 694 ; -C -1 ; WX 667 ; N Aogonek ; B -20 -208 698 716 ; -C -1 ; WX 556 ; N aogonek ; B 44 -208 570 530 ; -C -1 ; WX 722 ; N Dcaron ; B 44 0 712 894 ; -C -1 ; WX 625 ; N dcaron ; B 55 -12 743 716 ; -C -1 ; WX 722 ; N Dslash ; B 36 0 712 716 ; -C -1 ; WX 667 ; N Eogonek ; B 45 -208 711 716 ; -C -1 ; WX 556 ; N eogonek ; B 52 -208 532 530 ; -C -1 ; WX 667 ; N Ecaron ; B 45 0 711 894 ; -C -1 ; WX 556 ; N ecaron ; B 52 -12 532 716 ; -C -1 ; WX 556 ; N Lacute ; B 40 0 524 894 ; -C -1 ; WX 222 ; N lacute ; B 26 0 351 887 ; -C -1 ; WX 556 ; N Lcaron ; B 40 0 559 716 ; -C -1 ; WX 281 ; N lcaron ; B 27 0 399 716 ; -C -1 ; WX 556 ; N Ldot ; B 40 0 524 716 ; -C -1 ; WX 400 ; N ldot ; B 26 0 369 716 ; -C -1 ; WX 722 ; N Nacute ; B 49 0 757 894 ; -C -1 ; WX 556 ; N nacute ; B 33 0 528 716 ; -C -1 ; WX 722 ; N Ncaron ; B 49 0 757 894 ; -C -1 ; WX 556 ; N ncaron ; B 33 0 530 716 ; -C -1 ; WX 778 ; N Odblacute ; B 91 -12 772 894 ; -C -1 ; WX 556 ; N odblacute ; B 49 -12 582 716 ; -C -1 ; WX 722 ; N Racute ; B 47 0 730 894 ; -C -1 ; WX 333 ; N racute ; B 33 0 419 716 ; -C -1 ; WX 722 ; N Rcaron ; B 47 0 730 894 ; -C -1 ; WX 333 ; N rcaron ; B 33 0 452 716 ; -C -1 ; WX 667 ; N Sacute ; B 70 -12 671 894 ; -C -1 ; WX 500 ; N sacute ; B 38 -12 501 716 ; -C -1 ; WX 611 ; N Tcedilla ; B 125 -275 705 716 ; -C -1 ; WX 278 ; N tcedilla ; B 47 -253 321 707 ; -C -1 ; WX 611 ; N Tcaron ; B 125 0 705 894 ; -C -1 ; WX 354 ; N tcaron ; B 53 -9 473 716 ; -C -1 ; WX 722 ; N Uring ; B 97 -13 754 894 ; -C -1 ; WX 556 ; N uring ; B 63 -12 558 733 ; -C -1 ; WX 722 ; N Udblacute ; B 97 -13 754 894 ; -C -1 ; WX 556 ; N udblacute ; B 63 -12 568 716 ; -C -1 ; WX 611 ; N Zacute ; B 24 0 637 894 ; -C -1 ; WX 500 ; N zacute ; B 20 0 512 716 ; -C -1 ; WX 611 ; N Zdot ; B 24 0 637 864 ; -C -1 ; WX 500 ; N zdot ; B 20 0 512 699 ; -C -1 ; WX 570 ; N Gamma ; B 42 0 659 716 ; -C -1 ; WX 778 ; N Theta ; B 91 -12 772 728 ; -C -1 ; WX 837 ; N Phi ; B 88 -28 826 736 ; -C -1 ; WX 570 ; N alpha ; B 50 -12 599 530 ; -C -1 ; WX 556 ; N delta ; B 48 -12 590 716 ; -C -1 ; WX 439 ; N epsilon ; B 34 -12 458 530 ; -C -1 ; WX 603 ; N sigma ; B 49 -12 645 530 ; -C -1 ; WX 374 ; N tau ; B 86 0 415 519 ; -C -1 ; WX 652 ; N phi ; B 54 -199 640 530 ; -C -1 ; WX 552 ; N underscoredbl ; B -15 -325 567 -135 ; -C -1 ; WX 500 ; N exclamdbl ; B 56 0 522 716 ; -C -1 ; WX 365 ; N nsuperior ; B 58 253 393 585 ; -C -1 ; WX 1094 ; N peseta ; B 12 -13 1075 716 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 719 ; N intersection ; B 77 0 642 729 ; -C -1 ; WX 584 ; N equivalence ; B 56 95 528 611 ; -C -1 ; WX 604 ; N house ; B 77 0 527 563 ; -C -1 ; WX 584 ; N revlogicalnot ; B 55 207 528 503 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 625 ; N SF110000 ; B 223 -303 309 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 837 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 733 ; N IJ ; B 57 -12 769 716 ; -C -1 ; WX 444 ; N ij ; B 29 -208 494 716 ; -C -1 ; WX 615 ; N napostrophe ; B 49 0 590 713 ; -C -1 ; WX 188 ; N minute ; B 127 462 259 716 ; -C -1 ; WX 354 ; N second ; B 135 462 429 716 ; -C -1 ; WX 885 ; N afii61248 ; B 90 -26 870 728 ; -C -1 ; WX 323 ; N afii61289 ; B 12 -12 422 728 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 64 217 290 444 ; -C -1 ; WX 354 ; N H18551 ; B 64 217 290 444 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 55 208 300 453 ; -C -1 ; WX 667 ; N Amacron ; B -20 0 618 845 ; -C -1 ; WX 556 ; N amacron ; B 44 -12 527 668 ; -C -1 ; WX 722 ; N Ccircumflex ; B 91 -12 730 894 ; -C -1 ; WX 500 ; N ccircumflex ; B 56 -12 511 716 ; -C -1 ; WX 722 ; N Cdot ; B 91 -12 730 869 ; -C -1 ; WX 500 ; N cdot ; B 56 -12 511 699 ; -C -1 ; WX 667 ; N Emacron ; B 45 0 711 845 ; -C -1 ; WX 556 ; N emacron ; B 52 -12 532 668 ; -C -1 ; WX 667 ; N Ebreve ; B 45 0 711 886 ; -C -1 ; WX 556 ; N ebreve ; B 52 -12 532 694 ; -C -1 ; WX 667 ; N Edot ; B 45 0 711 869 ; -C -1 ; WX 556 ; N edot ; B 52 -12 532 699 ; -C -1 ; WX 778 ; N Gcircumflex ; B 97 -12 766 894 ; -C -1 ; WX 556 ; N gcircumflex ; B 26 -208 564 716 ; -C -1 ; WX 778 ; N Gdot ; B 97 -12 766 869 ; -C -1 ; WX 556 ; N gdot ; B 26 -208 564 699 ; -C -1 ; WX 778 ; N Gcedilla ; B 97 -208 766 728 ; -C -1 ; WX 556 ; N gcedilla ; B 26 -208 564 770 ; -C -1 ; WX 722 ; N Hcircumflex ; B 42 0 754 894 ; -C -1 ; WX 556 ; N hcircumflex ; B 33 0 529 894 ; -C -1 ; WX 722 ; N Hbar ; B 42 0 797 716 ; -C -1 ; WX 556 ; N hbar ; B 33 0 529 716 ; -C -1 ; WX 278 ; N Itilde ; B 57 0 438 869 ; -C -1 ; WX 278 ; N itilde ; B 30 0 378 706 ; -C -1 ; WX 278 ; N Imacron ; B 57 0 430 845 ; -C -1 ; WX 278 ; N imacron ; B 30 0 369 668 ; -C -1 ; WX 278 ; N Ibreve ; B 57 0 431 886 ; -C -1 ; WX 278 ; N ibreve ; B 30 0 362 694 ; -C -1 ; WX 278 ; N Iogonek ; B 28 -208 302 716 ; -C -1 ; WX 222 ; N iogonek ; B 0 -208 268 716 ; -C -1 ; WX 500 ; N Jcircumflex ; B 33 -12 625 894 ; -C -1 ; WX 222 ; N jcircumflex ; B -121 -208 331 716 ; -C -1 ; WX 667 ; N Kcedilla ; B 44 -208 741 716 ; -C -1 ; WX 500 ; N kcedilla ; B 34 -208 554 716 ; -C -1 ; WX 500 ; N kgreenlandic ; B 34 0 554 519 ; -C -1 ; WX 556 ; N Lcedilla ; B 40 -208 524 716 ; -C -1 ; WX 222 ; N lcedilla ; B -71 -208 264 716 ; -C -1 ; WX 722 ; N Ncedilla ; B 49 -208 757 716 ; -C -1 ; WX 556 ; N ncedilla ; B 33 -208 528 530 ; -C -1 ; WX 723 ; N Eng ; B 48 -13 715 728 ; -C -1 ; WX 556 ; N eng ; B 36 -208 530 530 ; -C -1 ; WX 778 ; N Omacron ; B 91 -12 772 845 ; -C -1 ; WX 556 ; N omacron ; B 49 -12 540 668 ; -C -1 ; WX 778 ; N Obreve ; B 91 -12 772 886 ; -C -1 ; WX 556 ; N obreve ; B 49 -12 540 694 ; -C -1 ; WX 722 ; N Rcedilla ; B 47 -208 730 716 ; -C -1 ; WX 333 ; N rcedilla ; B -28 -208 419 530 ; -C -1 ; WX 667 ; N Scircumflex ; B 70 -12 671 894 ; -C -1 ; WX 500 ; N scircumflex ; B 38 -12 501 716 ; -C -1 ; WX 611 ; N Tbar ; B 115 0 705 716 ; -C -1 ; WX 278 ; N tbar ; B 12 -9 321 707 ; -C -1 ; WX 722 ; N Utilde ; B 97 -13 754 869 ; -C -1 ; WX 556 ; N utilde ; B 63 -12 558 706 ; -C -1 ; WX 722 ; N Umacron ; B 97 -13 754 845 ; -C -1 ; WX 556 ; N umacron ; B 63 -12 558 668 ; -C -1 ; WX 722 ; N Ubreve ; B 97 -13 754 886 ; -C -1 ; WX 556 ; N ubreve ; B 63 -12 558 694 ; -C -1 ; WX 722 ; N Uogonek ; B 97 -208 754 716 ; -C -1 ; WX 556 ; N uogonek ; B 63 -208 557 519 ; -C -1 ; WX 944 ; N Wcircumflex ; B 125 0 1062 894 ; -C -1 ; WX 722 ; N wcircumflex ; B 78 0 777 716 ; -C -1 ; WX 667 ; N Ycircumflex ; B 117 0 773 894 ; -C -1 ; WX 500 ; N ycircumflex ; B 0 -210 561 716 ; -C -1 ; WX 222 ; N longs ; B 26 0 389 728 ; -C -1 ; WX 667 ; N Aringacute ; B -20 0 622 998 ; -C -1 ; WX 556 ; N aringacute ; B 44 -12 526 914 ; -C -1 ; WX 1000 ; N AEacute ; B -41 0 1043 894 ; -C -1 ; WX 889 ; N aeacute ; B 42 -12 865 716 ; -C -1 ; WX 778 ; N Oslashacute ; B 85 -50 776 894 ; -C -1 ; WX 611 ; N oslashacute ; B 72 -50 581 716 ; -C -1 ; WX 278 ; N anoteleia ; B 145 418 265 519 ; -C -1 ; WX 944 ; N Wgrave ; B 125 0 1062 894 ; -C -1 ; WX 722 ; N wgrave ; B 78 0 777 716 ; -C -1 ; WX 944 ; N Wacute ; B 125 0 1062 894 ; -C -1 ; WX 722 ; N wacute ; B 78 0 777 716 ; -C -1 ; WX 944 ; N Wdieresis ; B 125 0 1062 860 ; -C -1 ; WX 722 ; N wdieresis ; B 78 0 777 699 ; -C -1 ; WX 667 ; N Ygrave ; B 117 0 773 894 ; -C -1 ; WX 500 ; N ygrave ; B 0 -210 561 716 ; -C -1 ; WX 222 ; N quotereversed ; B 150 468 278 713 ; -C -1 ; WX 333 ; N radicalex ; B 75 600 451 668 ; -C -1 ; WX 556 ; N afii08941 ; B 31 -12 607 728 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 834 ; N oneeighth ; B 60 -30 827 728 ; -C -1 ; WX 834 ; N threeeighths ; B 72 -30 839 728 ; -C -1 ; WX 834 ; N fiveeighths ; B 72 -30 839 728 ; -C -1 ; WX 834 ; N seveneighths ; B 48 -30 819 728 ; -C -1 ; WX 333 ; N commaaccent ; B 19 -257 169 -59 ; -C -1 ; WX 333 ; N undercommaaccent ; B -16 -208 234 -24 ; -C -1 ; WX 333 ; N tonos ; B 185 582 388 716 ; -C -1 ; WX 333 ; N dieresistonos ; B 47 582 449 717 ; -C -1 ; WX 667 ; N Alphatonos ; B -21 0 615 716 ; -C -1 ; WX 789 ; N Epsilontonos ; B 48 0 831 716 ; -C -1 ; WX 846 ; N Etatonos ; B 51 0 879 716 ; -C -1 ; WX 389 ; N Iotatonos ; B 48 0 410 716 ; -C -1 ; WX 794 ; N Omicrontonos ; B 42 -12 784 728 ; -C -1 ; WX 865 ; N Upsilontonos ; B 47 0 970 716 ; -C -1 ; WX 775 ; N Omegatonos ; B 13 0 765 728 ; -C -1 ; WX 222 ; N iotadieresistonos ; B -9 0 393 717 ; -C -1 ; WX 667 ; N Alpha ; B -20 0 617 716 ; -C -1 ; WX 667 ; N Beta ; B 43 0 655 716 ; -C -1 ; WX 671 ; N Delta ; B -10 0 627 716 ; -C -1 ; WX 667 ; N Epsilon ; B 45 0 711 716 ; -C -1 ; WX 611 ; N Zeta ; B 24 0 637 716 ; -C -1 ; WX 722 ; N Eta ; B 42 0 754 716 ; -C -1 ; WX 278 ; N Iota ; B 57 0 302 716 ; -C -1 ; WX 667 ; N Kappa ; B 44 0 741 716 ; -C -1 ; WX 667 ; N Lambda ; B -10 0 623 716 ; -C -1 ; WX 833 ; N Mu ; B 44 0 872 716 ; -C -1 ; WX 722 ; N Nu ; B 49 0 757 716 ; -C -1 ; WX 648 ; N Xi ; B 4 0 691 716 ; -C -1 ; WX 778 ; N Omicron ; B 91 -12 772 728 ; -C -1 ; WX 725 ; N Pi ; B 42 0 754 716 ; -C -1 ; WX 667 ; N Rho ; B 43 0 698 716 ; -C -1 ; WX 600 ; N Sigma ; B 22 0 666 716 ; -C -1 ; WX 611 ; N Tau ; B 125 0 705 716 ; -C -1 ; WX 667 ; N Upsilon ; B 117 0 773 716 ; -C -1 ; WX 667 ; N Chi ; B -32 0 769 716 ; -C -1 ; WX 831 ; N Psi ; B 124 0 886 716 ; -C -1 ; WX 761 ; N Omega ; B 3 0 755 728 ; -C -1 ; WX 278 ; N Iotadieresis ; B 57 0 429 860 ; -C -1 ; WX 667 ; N Upsilondieresis ; B 117 0 773 860 ; -C -1 ; WX 570 ; N alphatonos ; B 50 -12 599 716 ; -C -1 ; WX 439 ; N epsilontonos ; B 34 -12 458 716 ; -C -1 ; WX 555 ; N etatonos ; B 34 -199 528 716 ; -C -1 ; WX 222 ; N iotatonos ; B 30 0 315 716 ; -C -1 ; WX 550 ; N upsilondieresistonos ; B 73 -12 559 717 ; -C -1 ; WX 571 ; N beta ; B -11 -199 556 729 ; -C -1 ; WX 500 ; N gamma ; B 77 -199 557 519 ; -C -1 ; WX 463 ; N zeta ; B 49 -208 562 716 ; -C -1 ; WX 555 ; N eta ; B 34 -199 528 530 ; -C -1 ; WX 542 ; N theta ; B 63 -12 558 730 ; -C -1 ; WX 222 ; N iota ; B 30 0 227 519 ; -C -1 ; WX 500 ; N kappa ; B 29 0 550 519 ; -C -1 ; WX 492 ; N lambda ; B -25 0 447 716 ; -C -1 ; WX 548 ; N mu ; B -12 -199 554 519 ; -C -1 ; WX 500 ; N nu ; B 79 0 559 519 ; -C -1 ; WX 447 ; N xi ; B 56 -208 505 728 ; -C -1 ; WX 556 ; N omicron ; B 49 -12 540 530 ; -C -1 ; WX 573 ; N rho ; B -14 -199 558 530 ; -C -1 ; WX 486 ; N sigma1 ; B 54 -208 536 530 ; -C -1 ; WX 550 ; N upsilon ; B 73 -12 556 519 ; -C -1 ; WX 546 ; N chi ; B -72 -199 591 519 ; -C -1 ; WX 728 ; N psi ; B 76 -199 733 519 ; -C -1 ; WX 779 ; N omega ; B 49 -12 763 519 ; -C -1 ; WX 222 ; N iotadieresis ; B 30 0 352 699 ; -C -1 ; WX 550 ; N upsilondieresis ; B 73 -12 556 699 ; -C -1 ; WX 556 ; N omicrontonos ; B 49 -12 540 716 ; -C -1 ; WX 550 ; N upsilontonos ; B 73 -12 556 716 ; -C -1 ; WX 779 ; N omegatonos ; B 49 -12 763 716 ; -C -1 ; WX 667 ; N afii10023 ; B 45 0 711 860 ; -C -1 ; WX 843 ; N afii10051 ; B 113 -12 822 716 ; -C -1 ; WX 708 ; N afii10053 ; B 91 -12 731 728 ; -C -1 ; WX 667 ; N afii10054 ; B 70 -12 671 728 ; -C -1 ; WX 278 ; N afii10055 ; B 57 0 302 716 ; -C -1 ; WX 278 ; N afii10056 ; B 57 0 423 860 ; -C -1 ; WX 500 ; N afii10057 ; B 33 -12 536 716 ; -C -1 ; WX 1066 ; N afii10058 ; B -11 -12 1042 716 ; -C -1 ; WX 982 ; N afii10059 ; B 42 0 958 716 ; -C -1 ; WX 844 ; N afii10060 ; B 112 0 809 716 ; -C -1 ; WX 639 ; N afii10062 ; B 113 -10 751 883 ; -C -1 ; WX 667 ; N afii10017 ; B -20 0 617 716 ; -C -1 ; WX 651 ; N afii10018 ; B 42 0 657 716 ; -C -1 ; WX 667 ; N afii10019 ; B 43 0 655 716 ; -C -1 ; WX 544 ; N afii10020 ; B 42 0 656 716 ; -C -1 ; WX 704 ; N afii10021 ; B -63 -143 733 716 ; -C -1 ; WX 667 ; N afii10022 ; B 45 0 711 716 ; -C -1 ; WX 917 ; N afii10024 ; B -36 0 1002 721 ; -C -1 ; WX 614 ; N afii10025 ; B 48 -12 614 728 ; -C -1 ; WX 715 ; N afii10026 ; B 42 0 751 716 ; -C -1 ; WX 715 ; N afii10027 ; B 42 0 751 883 ; -C -1 ; WX 589 ; N afii10028 ; B 42 0 674 721 ; -C -1 ; WX 686 ; N afii10029 ; B -10 -8 723 716 ; -C -1 ; WX 833 ; N afii10030 ; B 44 0 872 716 ; -C -1 ; WX 722 ; N afii10031 ; B 42 0 754 716 ; -C -1 ; WX 778 ; N afii10032 ; B 91 -12 772 728 ; -C -1 ; WX 725 ; N afii10033 ; B 42 0 754 716 ; -C -1 ; WX 667 ; N afii10034 ; B 43 0 698 716 ; -C -1 ; WX 722 ; N afii10035 ; B 91 -12 730 728 ; -C -1 ; WX 611 ; N afii10036 ; B 125 0 705 716 ; -C -1 ; WX 639 ; N afii10037 ; B 113 -10 751 716 ; -C -1 ; WX 795 ; N afii10038 ; B 80 0 793 716 ; -C -1 ; WX 667 ; N afii10039 ; B -32 0 769 716 ; -C -1 ; WX 727 ; N afii10040 ; B 42 -143 759 716 ; -C -1 ; WX 673 ; N afii10041 ; B 107 0 709 716 ; -C -1 ; WX 920 ; N afii10042 ; B 42 0 956 716 ; -C -1 ; WX 923 ; N afii10043 ; B 42 -143 956 716 ; -C -1 ; WX 805 ; N afii10044 ; B 113 0 781 716 ; -C -1 ; WX 886 ; N afii10045 ; B 42 0 921 716 ; -C -1 ; WX 651 ; N afii10046 ; B 42 0 626 716 ; -C -1 ; WX 694 ; N afii10047 ; B 44 -12 687 728 ; -C -1 ; WX 1022 ; N afii10048 ; B 42 -12 1012 728 ; -C -1 ; WX 682 ; N afii10049 ; B -26 0 720 716 ; -C -1 ; WX 556 ; N afii10065 ; B 44 -12 526 530 ; -C -1 ; WX 563 ; N afii10066 ; B 58 -12 596 728 ; -C -1 ; WX 522 ; N afii10067 ; B 49 -12 509 530 ; -C -1 ; WX 493 ; N afii10068 ; B 38 -12 480 530 ; -C -1 ; WX 553 ; N afii10069 ; B 49 -12 547 728 ; -C -1 ; WX 556 ; N afii10070 ; B 52 -12 532 530 ; -C -1 ; WX 688 ; N afii10072 ; B -29 0 741 519 ; -C -1 ; WX 465 ; N afii10073 ; B 15 -12 455 530 ; -C -1 ; WX 556 ; N afii10074 ; B 63 -12 558 519 ; -C -1 ; WX 556 ; N afii10075 ; B 63 -12 558 721 ; -C -1 ; WX 472 ; N afii10076 ; B 31 0 520 519 ; -C -1 ; WX 564 ; N afii10077 ; B -20 -7 570 519 ; -C -1 ; WX 686 ; N afii10078 ; B 31 0 692 519 ; -C -1 ; WX 550 ; N afii10079 ; B 31 0 555 519 ; -C -1 ; WX 556 ; N afii10080 ; B 49 -12 540 530 ; -C -1 ; WX 550 ; N afii10081 ; B 31 0 555 519 ; -C -1 ; WX 556 ; N afii10082 ; B -10 -199 535 530 ; -C -1 ; WX 500 ; N afii10083 ; B 56 -12 511 530 ; -C -1 ; WX 833 ; N afii10084 ; B 33 0 813 530 ; -C -1 ; WX 500 ; N afii10085 ; B 0 -210 561 519 ; -C -1 ; WX 835 ; N afii10086 ; B 46 -199 823 716 ; -C -1 ; WX 500 ; N afii10087 ; B -1 0 538 519 ; -C -1 ; WX 572 ; N afii10088 ; B 61 -151 556 519 ; -C -1 ; WX 518 ; N afii10089 ; B 74 0 523 519 ; -C -1 ; WX 830 ; N afii10090 ; B 59 -12 835 519 ; -C -1 ; WX 851 ; N afii10091 ; B 59 -151 836 519 ; -C -1 ; WX 621 ; N afii10092 ; B 59 0 588 519 ; -C -1 ; WX 736 ; N afii10093 ; B 31 0 743 519 ; -C -1 ; WX 526 ; N afii10094 ; B 31 0 492 519 ; -C -1 ; WX 492 ; N afii10095 ; B 26 -12 479 530 ; -C -1 ; WX 752 ; N afii10096 ; B 31 -12 738 533 ; -C -1 ; WX 534 ; N afii10097 ; B -12 0 542 519 ; -C -1 ; WX 556 ; N afii10071 ; B 52 -12 532 699 ; -C -1 ; WX 556 ; N afii10099 ; B 34 -208 529 716 ; -C -1 ; WX 378 ; N afii10100 ; B 31 0 445 716 ; -C -1 ; WX 496 ; N afii10101 ; B 47 -12 500 530 ; -C -1 ; WX 500 ; N afii10102 ; B 38 -12 501 530 ; -C -1 ; WX 222 ; N afii10103 ; B 30 0 268 716 ; -C -1 ; WX 222 ; N afii10104 ; B 30 0 347 699 ; -C -1 ; WX 222 ; N afii10105 ; B -121 -208 267 716 ; -C -1 ; WX 910 ; N afii10106 ; B -20 -12 876 519 ; -C -1 ; WX 828 ; N afii10107 ; B 31 0 794 519 ; -C -1 ; WX 556 ; N afii10108 ; B 34 0 529 716 ; -C -1 ; WX 500 ; N afii10110 ; B 0 -210 561 720 ; -C -1 ; WX 556 ; N afii10193 ; B 61 -199 556 519 ; -C -1 ; WX 492 ; N afii10050 ; B 42 0 636 858 ; -C -1 ; WX 339 ; N afii10098 ; B 31 0 437 642 ; -C -1 ; WX 1000 ; N afii00208 ; B 40 224 992 294 ; -C -1 ; WX 1083 ; N afii61352 ; B 44 0 1082 716 ; -C -1 ; WX 670 ; N pi ; B 84 0 713 519 ; -C -1 ; WX 333 ; N sheva ; B 68 -306 179 -98 ; -C -1 ; WX 333 ; N hatafsegol ; B -16 -306 290 -98 ; -C -1 ; WX 333 ; N hatafpatah ; B -9 -306 280 -98 ; -C -1 ; WX 333 ; N hatafqamats ; B -9 -306 280 -98 ; -C -1 ; WX 333 ; N hiriq ; B 95 -180 179 -98 ; -C -1 ; WX 333 ; N tsere ; B 31 -180 243 -98 ; -C -1 ; WX 333 ; N segol ; B 31 -306 243 -98 ; -C -1 ; WX 333 ; N patah ; B 36 -154 243 -103 ; -C -1 ; WX 333 ; N qamats ; B 36 -236 243 -103 ; -C -1 ; WX 333 ; N holam ; B 256 577 340 659 ; -C -1 ; WX 333 ; N qubuts ; B -23 -306 270 -98 ; -C -1 ; WX 333 ; N dagesh ; B 185 241 269 323 ; -C -1 ; WX 333 ; N meteg ; B 78 -299 170 -103 ; -C -1 ; WX 383 ; N maqaf ; B 155 440 432 518 ; -C -1 ; WX 333 ; N rafe ; B 198 611 405 662 ; -C -1 ; WX 275 ; N paseq ; B 101 -10 305 625 ; -C -1 ; WX 333 ; N shindot ; B 511 577 595 660 ; -C -1 ; WX 333 ; N sindot ; B 7 577 94 660 ; -C -1 ; WX 278 ; N sofpasuq ; B 90 0 301 519 ; -C -1 ; WX 563 ; N alef ; B 51 0 614 518 ; -C -1 ; WX 542 ; N bet ; B 24 0 537 524 ; -C -1 ; WX 399 ; N gimel ; B 12 0 401 524 ; -C -1 ; WX 508 ; N dalet ; B 116 0 597 518 ; -C -1 ; WX 602 ; N he ; B 79 0 600 524 ; -C -1 ; WX 247 ; N vav ; B 76 0 281 518 ; -C -1 ; WX 382 ; N zayin ; B 125 0 471 518 ; -C -1 ; WX 599 ; N het ; B 76 0 600 524 ; -C -1 ; WX 590 ; N tet ; B 105 -14 609 529 ; -C -1 ; WX 247 ; N yod ; B 129 250 281 518 ; -C -1 ; WX 509 ; N finalkaf ; B 120 -199 507 524 ; -C -1 ; WX 461 ; N kaf ; B 41 -8 479 527 ; -C -1 ; WX 463 ; N lamed ; B 123 0 520 716 ; -C -1 ; WX 599 ; N finalmem ; B 76 0 600 524 ; -C -1 ; WX 601 ; N mem ; B 54 0 598 524 ; -C -1 ; WX 247 ; N finalnun ; B 33 -199 281 518 ; -C -1 ; WX 353 ; N nun ; B 29 0 365 524 ; -C -1 ; WX 574 ; N samekh ; B 90 -15 594 532 ; -C -1 ; WX 529 ; N ayin ; B 15 -48 574 518 ; -C -1 ; WX 566 ; N finalpe ; B 113 -199 567 524 ; -C -1 ; WX 546 ; N pe ; B 62 -8 567 527 ; -C -1 ; WX 461 ; N finaltsadi ; B 123 -199 533 518 ; -C -1 ; WX 479 ; N tsadi ; B 31 0 535 518 ; -C -1 ; WX 550 ; N qof ; B 39 -199 606 518 ; -C -1 ; WX 509 ; N resh ; B 120 0 507 524 ; -C -1 ; WX 694 ; N shin ; B 116 -14 756 518 ; -C -1 ; WX 643 ; N tav ; B 22 -4 642 524 ; -C -1 ; WX 493 ; N doublevav ; B 76 0 528 518 ; -C -1 ; WX 493 ; N vavyod ; B 129 0 528 518 ; -C -1 ; WX 493 ; N doubleyod ; B 129 250 528 518 ; -C -1 ; WX 236 ; N geresh ; B 114 330 302 518 ; -C -1 ; WX 417 ; N gershayim ; B 114 330 483 518 ; -C -1 ; WX 815 ; N newsheqelsign ; B 76 0 850 518 ; -C -1 ; WX 247 ; N vavshindot ; B 76 0 281 660 ; -C -1 ; WX 509 ; N finalkafsheva ; B 120 -199 508 524 ; -C -1 ; WX 509 ; N finalkafqamats ; B 92 -199 508 524 ; -C -1 ; WX 463 ; N lamedholam ; B 48 0 520 716 ; -C -1 ; WX 463 ; N lamedholamdagesh ; B 48 0 520 716 ; -C -1 ; WX 535 ; N altayin ; B 22 0 580 518 ; -C -1 ; WX 694 ; N shinshindot ; B 116 -14 776 660 ; -C -1 ; WX 694 ; N shinsindot ; B 116 -14 756 660 ; -C -1 ; WX 694 ; N shindageshshindot ; B 116 -14 776 660 ; -C -1 ; WX 694 ; N shindageshsindot ; B 116 -14 756 660 ; -C -1 ; WX 563 ; N alefpatah ; B 51 -154 614 519 ; -C -1 ; WX 563 ; N alefqamats ; B 51 -236 614 519 ; -C -1 ; WX 563 ; N alefmapiq ; B 51 0 614 518 ; -C -1 ; WX 542 ; N betdagesh ; B 24 0 537 524 ; -C -1 ; WX 399 ; N gimeldagesh ; B 12 0 401 524 ; -C -1 ; WX 508 ; N daletdagesh ; B 116 0 597 519 ; -C -1 ; WX 602 ; N hedagesh ; B 79 0 600 524 ; -C -1 ; WX 287 ; N vavdagesh ; B 59 0 321 518 ; -C -1 ; WX 411 ; N zayindagesh ; B 65 0 514 518 ; -C -1 ; WX 590 ; N tetdagesh ; B 112 -14 610 529 ; -C -1 ; WX 287 ; N yoddagesh ; B 75 250 321 518 ; -C -1 ; WX 509 ; N finalkafdagesh ; B 120 -199 508 524 ; -C -1 ; WX 461 ; N kafdagesh ; B 41 -8 480 527 ; -C -1 ; WX 463 ; N lameddagesh ; B 123 0 520 716 ; -C -1 ; WX 601 ; N memdagesh ; B 54 0 599 524 ; -C -1 ; WX 353 ; N nundagesh ; B 29 0 365 524 ; -C -1 ; WX 574 ; N samekhdagesh ; B 90 -15 594 532 ; -C -1 ; WX 566 ; N finalpedagesh ; B 112 -199 566 524 ; -C -1 ; WX 546 ; N pedagesh ; B 62 -8 567 527 ; -C -1 ; WX 479 ; N tsadidagesh ; B 31 0 535 519 ; -C -1 ; WX 550 ; N qofdagesh ; B 39 -199 606 519 ; -C -1 ; WX 509 ; N reshdagesh ; B 120 0 507 524 ; -C -1 ; WX 694 ; N shindagesh ; B 116 -14 756 518 ; -C -1 ; WX 643 ; N tavdages ; B 22 -4 642 524 ; -C -1 ; WX 247 ; N vavholam ; B 76 0 296 659 ; -C -1 ; WX 542 ; N betrafe ; B 24 0 537 662 ; -C -1 ; WX 461 ; N kafrafe ; B 41 -8 479 662 ; -C -1 ; WX 546 ; N perafe ; B 62 -8 567 662 ; -C -1 ; WX 576 ; N aleflamed ; B 64 0 627 716 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 0 ; N uni202A ; B -18 -134 210 603 ; -C -1 ; WX 0 ; N uni202B ; B -210 -134 18 603 ; -C -1 ; WX 0 ; N uni202D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni202C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206E ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206F ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206A ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206B ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206C ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uni206D ; B -114 -134 114 690 ; -C -1 ; WX 0 ; N uniF00A ; B -18 -208 18 894 ; -C -1 ; WX 0 ; N uniF00B ; B -114 -208 114 894 ; -C -1 ; WX 0 ; N uniF00C ; B -18 -208 109 894 ; -C -1 ; WX 0 ; N uniF00D ; B -109 -208 18 894 ; -C -1 ; WX 0 ; N uniF00E ; B -18 -208 114 894 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 812 ; N Ohorn ; B 91 -12 898 728 ; -C -1 ; WX 604 ; N ohorn ; B 49 -12 678 530 ; -C -1 ; WX 793 ; N Uhorn ; B 97 -13 921 716 ; -C -1 ; WX 634 ; N uhorn ; B 63 -12 721 519 ; -C -1 ; WX 0 ; N f00b ; B -131 822 45 894 ; -C -1 ; WX 0 ; N f00c ; B -343 822 -167 894 ; -C -1 ; WX 0 ; N f00e ; B -286 755 -122 890 ; -C -1 ; WX 0 ; N f006 ; B -82 822 94 894 ; -C -1 ; WX 0 ; N f007 ; B -260 822 -83 894 ; -C -1 ; WX 0 ; N f009 ; B -221 755 -18 890 ; -C -1 ; WX 0 ; N combininghookabove ; B -103 754 100 895 ; -C -1 ; WX 0 ; N f010 ; B -98 812 97 894 ; -C -1 ; WX 0 ; N f013 ; B -246 754 -43 895 ; -C -1 ; WX 0 ; N f011 ; B -317 812 -123 894 ; -C -1 ; WX 0 ; N f01c ; B -163 785 167 895 ; -C -1 ; WX 0 ; N f015 ; B -368 818 -55 895 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -325 756 5 866 ; -C -1 ; WX 0 ; N _d_783 ; B -10 721 275 787 ; -C -1 ; WX 0 ; N _d_784 ; B -29 743 270 803 ; -C -1 ; WX 0 ; N f02c ; B -217 -159 -96 -59 ; -C -1 ; WX 513 ; N dongsign ; B 42 108 538 716 ; -C -1 ; WX 834 ; N onethird ; B 60 -30 827 728 ; -C -1 ; WX 834 ; N twothirds ; B 60 -30 827 728 ; -C -1 ; WX 0 ; N f008 ; B -73 582 130 716 ; -C -1 ; WX 0 ; N f00a ; B -285 582 -82 716 ; -C -1 ; WX 0 ; N f00d ; B -151 582 13 716 ; -C -1 ; WX 0 ; N f00f ; B -277 582 -113 716 ; -C -1 ; WX 0 ; N f012 ; B -103 582 99 755 ; -C -1 ; WX 0 ; N f014 ; B -278 582 -76 755 ; -C -1 ; WX 0 ; N f016 ; B -384 785 -54 895 ; -C -1 ; WX 0 ; N f017 ; B -493 785 -163 895 ; -C -1 ; WX 0 ; N f018 ; B -493 785 -163 895 ; -C -1 ; WX 0 ; N f019 ; B -365 596 -35 706 ; -C -1 ; WX 0 ; N f01a ; B -429 596 -99 706 ; -C -1 ; WX 0 ; N f01b ; B -439 596 -109 706 ; -C -1 ; WX 0 ; N f01e ; B -429 -159 -308 -59 ; -C -1 ; WX 0 ; N f01f ; B -466 -159 -345 -59 ; -C -1 ; WX 0 ; N f020 ; B -500 -159 -379 -59 ; -C -1 ; WX 0 ; N f021 ; B -466 -159 -345 -59 ; -C -1 ; WX 0 ; N f022 ; B -517 -159 -396 -59 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -131 755 33 890 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -86 755 117 890 ; -C -1 ; WX 0 ; N f01d ; B -188 596 142 706 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -448 -159 -327 -59 ; -C -1 ; WX 0 ; N f023 ; B -427 -159 -306 -59 ; -C -1 ; WX 0 ; N f029 ; B -254 -159 -133 -59 ; -C -1 ; WX 0 ; N f02a ; B -225 -159 -104 -59 ; -C -1 ; WX 0 ; N f02b ; B -425 -159 -304 -59 ; -C -1 ; WX 0 ; N f024 ; B -378 -159 -257 -59 ; -C -1 ; WX 0 ; N f025 ; B -383 -159 -262 -59 ; -C -1 ; WX 0 ; N f026 ; B -422 -159 -301 -59 ; -C -1 ; WX 0 ; N f027 ; B -432 -159 -311 -59 ; -C -1 ; WX 0 ; N f028 ; B -517 -159 -396 -59 ; -C -1 ; WX 0 ; N f02d ; B -354 818 -40 895 ; -C -1 ; WX 0 ; N f02e ; B -338 785 -8 895 ; -C -1 ; WX 0 ; N f02f ; B -441 818 -128 895 ; -C -1 ; WX 0 ; N f030 ; B -449 785 -119 895 ; -C -1 ; WX 222 ; N f031 ; B 30 0 227 519 ; -C -1 ; WX 667 ; N Adotbelow ; B -20 -159 617 716 ; -C -1 ; WX 556 ; N adotbelow ; B 44 -159 526 530 ; -C -1 ; WX 667 ; N Ahookabove ; B -20 0 617 895 ; -C -1 ; WX 556 ; N ahookabove ; B 44 -12 526 755 ; -C -1 ; WX 667 ; N Acircumflexacute ; B -20 0 617 894 ; -C -1 ; WX 556 ; N acircumflexacute ; B 44 -12 532 890 ; -C -1 ; WX 667 ; N Acircumflexgrave ; B -20 0 617 894 ; -C -1 ; WX 556 ; N acircumflexgrave ; B 44 -12 526 890 ; -C -1 ; WX 667 ; N Acircumflexhookabove ; B -20 0 617 894 ; -C -1 ; WX 556 ; N acircumflexhookabove ; B 44 -12 529 895 ; -C -1 ; WX 667 ; N Acircumflextilde ; B -20 0 617 895 ; -C -1 ; WX 556 ; N acircumflextilde ; B 44 -12 557 866 ; -C -1 ; WX 667 ; N Acircumflexdotbelow ; B -20 -159 617 803 ; -C -1 ; WX 556 ; N acircumflexdotbelow ; B 44 -159 526 716 ; -C -1 ; WX 667 ; N Abreveacute ; B -20 0 617 894 ; -C -1 ; WX 556 ; N abreveacute ; B 44 -12 532 890 ; -C -1 ; WX 667 ; N Abrevegrave ; B -20 0 617 894 ; -C -1 ; WX 556 ; N abrevegrave ; B 44 -12 526 890 ; -C -1 ; WX 667 ; N Abrevehookabove ; B -20 0 617 894 ; -C -1 ; WX 556 ; N abrevehookabove ; B 44 -12 526 895 ; -C -1 ; WX 667 ; N Abrevetilde ; B -20 0 639 895 ; -C -1 ; WX 556 ; N abrevetilde ; B 44 -12 557 866 ; -C -1 ; WX 667 ; N Abrevedotbelow ; B -20 -159 617 787 ; -C -1 ; WX 556 ; N abrevedotbelow ; B 44 -159 526 694 ; -C -1 ; WX 667 ; N Edotbelow ; B 45 -159 711 716 ; -C -1 ; WX 556 ; N edotbelow ; B 52 -159 532 530 ; -C -1 ; WX 667 ; N Ehookabove ; B 45 0 711 895 ; -C -1 ; WX 556 ; N ehookabove ; B 52 -12 532 755 ; -C -1 ; WX 667 ; N Etilde ; B 45 0 711 868 ; -C -1 ; WX 556 ; N etilde ; B 52 -12 532 707 ; -C -1 ; WX 667 ; N Ecircumflexacute ; B 45 0 711 894 ; -C -1 ; WX 556 ; N ecircumflexacute ; B 52 -12 539 890 ; -C -1 ; WX 667 ; N Ecircumflexgrave ; B 45 0 711 894 ; -C -1 ; WX 556 ; N ecircumflexgrave ; B 52 -12 532 890 ; -C -1 ; WX 667 ; N Ecircumflexhookabove ; B 45 0 711 894 ; -C -1 ; WX 556 ; N ecircumflexhookabove ; B 52 -12 539 895 ; -C -1 ; WX 667 ; N Ecircumflextilde ; B 45 0 711 895 ; -C -1 ; WX 556 ; N ecircumflextilde ; B 52 -12 557 866 ; -C -1 ; WX 667 ; N Ecircumflexdotbelow ; B 45 -159 711 803 ; -C -1 ; WX 556 ; N ecircumflexdotbelow ; B 52 -159 532 716 ; -C -1 ; WX 278 ; N Ihookabove ; B 57 0 395 895 ; -C -1 ; WX 222 ; N ihookabove ; B 30 0 325 755 ; -C -1 ; WX 278 ; N Idotbelow ; B 27 -159 302 716 ; -C -1 ; WX 222 ; N idotbelow ; B -12 -159 268 716 ; -C -1 ; WX 778 ; N Odotbelow ; B 91 -159 772 728 ; -C -1 ; WX 556 ; N odotbelow ; B 49 -159 540 530 ; -C -1 ; WX 778 ; N Ohookabove ; B 91 -12 772 895 ; -C -1 ; WX 556 ; N ohookabove ; B 49 -12 540 755 ; -C -1 ; WX 778 ; N Ocircumflexacute ; B 91 -12 772 894 ; -C -1 ; WX 556 ; N ocircumflexacute ; B 49 -12 540 890 ; -C -1 ; WX 778 ; N Ocircumflexgrave ; B 91 -12 772 894 ; -C -1 ; WX 556 ; N ocircumflexgrave ; B 49 -12 540 890 ; -C -1 ; WX 778 ; N Ocircumflexhookabove ; B 91 -12 772 894 ; -C -1 ; WX 556 ; N ocircumflexhookabove ; B 49 -12 540 895 ; -C -1 ; WX 778 ; N Ocircumflextilde ; B 91 -12 772 895 ; -C -1 ; WX 556 ; N ocircumflextilde ; B 49 -12 557 866 ; -C -1 ; WX 778 ; N Ocircumflexdotbelow ; B 91 -159 772 825 ; -C -1 ; WX 556 ; N ocircumflexdotbelow ; B 49 -159 540 716 ; -C -1 ; WX 812 ; N Ohornacute ; B 91 -12 898 894 ; -C -1 ; WX 604 ; N ohornacute ; B 49 -12 678 716 ; -C -1 ; WX 812 ; N Ohorngrave ; B 91 -12 898 895 ; -C -1 ; WX 604 ; N ohorngrave ; B 49 -12 678 716 ; -C -1 ; WX 812 ; N Ohornhookabove ; B 91 -12 898 912 ; -C -1 ; WX 604 ; N ohornhookabove ; B 49 -12 678 755 ; -C -1 ; WX 812 ; N Ohorntilde ; B 91 -12 898 868 ; -C -1 ; WX 604 ; N ohorntilde ; B 49 -12 678 707 ; -C -1 ; WX 812 ; N Ohorndotbelow ; B 91 -159 898 728 ; -C -1 ; WX 604 ; N ohorndotbelow ; B 49 -159 678 530 ; -C -1 ; WX 722 ; N Udotbelow ; B 97 -159 754 716 ; -C -1 ; WX 556 ; N udotbelow ; B 63 -159 558 519 ; -C -1 ; WX 722 ; N Uhookabove ; B 97 -13 754 895 ; -C -1 ; WX 556 ; N uhookabove ; B 63 -12 558 755 ; -C -1 ; WX 793 ; N Uhornacute ; B 97 -13 921 894 ; -C -1 ; WX 634 ; N uhornacute ; B 63 -12 721 716 ; -C -1 ; WX 793 ; N Uhorngrave ; B 97 -13 921 895 ; -C -1 ; WX 634 ; N uhorngrave ; B 63 -12 721 716 ; -C -1 ; WX 793 ; N Uhornhookabove ; B 97 -13 921 895 ; -C -1 ; WX 634 ; N uhornhookabove ; B 63 -12 721 755 ; -C -1 ; WX 793 ; N Uhorntilde ; B 97 -13 921 868 ; -C -1 ; WX 634 ; N uhorntilde ; B 63 -12 721 707 ; -C -1 ; WX 793 ; N Uhorndotbelow ; B 97 -159 921 716 ; -C -1 ; WX 634 ; N uhorndotbelow ; B 63 -159 721 519 ; -C -1 ; WX 667 ; N Ydotbelow ; B 117 -159 773 716 ; -C -1 ; WX 500 ; N ydotbelow ; B 0 -210 561 519 ; -C -1 ; WX 667 ; N Yhookabove ; B 117 0 773 895 ; -C -1 ; WX 500 ; N yhookabove ; B 0 -210 561 755 ; -C -1 ; WX 667 ; N Ytilde ; B 117 0 773 868 ; -C -1 ; WX 500 ; N ytilde ; B 0 -210 561 707 ; -C -1 ; WX 667 ; N uni01CD ; B -20 0 628 893 ; -C -1 ; WX 556 ; N uni01CE ; B 44 -12 528 716 ; -C -1 ; WX 278 ; N uni01CF ; B 57 0 443 893 ; -C -1 ; WX 222 ; N uni01D0 ; B 30 0 375 716 ; -C -1 ; WX 778 ; N uni01D1 ; B 91 -12 772 893 ; -C -1 ; WX 556 ; N uni01D2 ; B 49 -12 540 716 ; -C -1 ; WX 722 ; N uni01D3 ; B 97 -13 754 893 ; -C -1 ; WX 556 ; N uni01D4 ; B 63 -12 558 716 ; -C -1 ; WX 722 ; N uni01D5 ; B 97 -13 754 900 ; -C -1 ; WX 556 ; N uni01D6 ; B 63 -12 558 849 ; -C -1 ; WX 722 ; N uni01D7 ; B 97 -13 754 900 ; -C -1 ; WX 556 ; N uni01D8 ; B 63 -12 558 896 ; -C -1 ; WX 722 ; N uni01D9 ; B 97 -13 754 900 ; -C -1 ; WX 556 ; N uni01DA ; B 63 -12 572 896 ; -C -1 ; WX 722 ; N uni01DB ; B 97 -13 754 900 ; -C -1 ; WX 556 ; N uni01DC ; B 63 -12 558 896 ; -C -1 ; WX 0 ; N _d_928 ; B 23 730 309 900 ; -C -1 ; WX 0 ; N _d_929 ; B 23 730 306 900 ; -C -1 ; WX 0 ; N _d_930 ; B 23 730 294 900 ; -C -1 ; WX 0 ; N _d_931 ; B 23 730 290 900 ; -C -1 ; WX 544 ; N uni0492 ; B 30 0 656 716 ; -C -1 ; WX 378 ; N uni0493 ; B 29 0 445 519 ; -C -1 ; WX 917 ; N uni0496 ; B -36 -199 1002 721 ; -C -1 ; WX 688 ; N uni0497 ; B -29 -147 741 519 ; -C -1 ; WX 589 ; N uni049a ; B 42 -199 674 721 ; -C -1 ; WX 472 ; N uni049b ; B 31 -147 520 519 ; -C -1 ; WX 589 ; N uni049c ; B 42 0 674 721 ; -C -1 ; WX 472 ; N uni049d ; B 31 0 520 519 ; -C -1 ; WX 722 ; N uni04a2 ; B 42 -199 756 716 ; -C -1 ; WX 550 ; N uni04a3 ; B 31 -147 561 519 ; -C -1 ; WX 556 ; N uni04ae ; B 114 0 667 716 ; -C -1 ; WX 500 ; N uni04af ; B 79 -199 560 519 ; -C -1 ; WX 556 ; N uni04b0 ; B 66 0 667 716 ; -C -1 ; WX 500 ; N uni04b1 ; B -6 -199 560 519 ; -C -1 ; WX 667 ; N uni04b2 ; B -32 -199 769 716 ; -C -1 ; WX 500 ; N uni04b3 ; B -1 -147 538 519 ; -C -1 ; WX 673 ; N uni04b8 ; B 97 0 705 716 ; -C -1 ; WX 518 ; N uni04b9 ; B 63 0 524 519 ; -C -1 ; WX 673 ; N uni04ba ; B 57 0 666 716 ; -C -1 ; WX 518 ; N uni04bb ; B 33 0 494 519 ; -C -1 ; WX 778 ; N uni018f ; B 94 -12 744 728 ; -C -1 ; WX 556 ; N uni0259 ; B 58 -12 538 530 ; -C -1 ; WX 778 ; N uni04e8 ; B 91 -12 772 728 ; -C -1 ; WX 556 ; N uni04e9 ; B 49 -12 540 530 ; -EndCharMetrics -StartKernData -StartKernPairs 857 -KPX space A -37 -KPX space Y -18 -KPX space Alphatonos -37 -KPX space Upsilontonos -18 -KPX space Alpha -37 -KPX space Delta -37 -KPX space Lambda -18 -KPX space Upsilon -18 -KPX space Upsilondieresis -18 -KPX one one -74 -KPX A space -37 -KPX A T -74 -KPX A V -55 -KPX A W -18 -KPX A Y -74 -KPX A v -18 -KPX A w -18 -KPX A y -9 -KPX A quoteright -37 -KPX F space -18 -KPX F comma -129 -KPX F period -129 -KPX F A -74 -KPX L space -18 -KPX L T -74 -KPX L V -55 -KPX L W -37 -KPX L Y -92 -KPX L y -18 -KPX L quoteright -55 -KPX P space -37 -KPX P comma -129 -KPX P period -129 -KPX P A -74 -KPX R T -18 -KPX R V -18 -KPX R W -18 -KPX R Y -37 -KPX T comma -92 -KPX T hyphen -92 -KPX T period -92 -KPX T colon -74 -KPX T semicolon -74 -KPX T A -74 -KPX T O -18 -KPX T a -92 -KPX T c -92 -KPX T e -92 -KPX T i -9 -KPX T o -92 -KPX T r -74 -KPX T s -92 -KPX T u -74 -KPX T w -74 -KPX T y -74 -KPX V comma -74 -KPX V hyphen -37 -KPX V period -74 -KPX V colon -18 -KPX V semicolon -18 -KPX V A -55 -KPX V a -37 -KPX V e -37 -KPX V i -18 -KPX V o -37 -KPX V r -18 -KPX V u -18 -KPX V y -18 -KPX W comma -37 -KPX W hyphen -18 -KPX W period -37 -KPX W A -18 -KPX W a -18 -KPX W e -18 -KPX W i -9 -KPX Y space -18 -KPX Y comma -92 -KPX Y hyphen -74 -KPX Y period -92 -KPX Y colon -37 -KPX Y semicolon -37 -KPX Y A -55 -KPX Y a -74 -KPX Y e -55 -KPX Y i -18 -KPX Y o -55 -KPX Y p -55 -KPX Y q -55 -KPX Y u -37 -KPX Y v -37 -KPX f quoteright 37 -KPX r comma -55 -KPX r hyphen -18 -KPX r period -37 -KPX r quoteright 37 -KPX v comma -74 -KPX v period -74 -KPX w comma -55 -KPX w period -55 -KPX y comma -74 -KPX y period -74 -KPX quoteleft quoteleft -37 -KPX quoteright space -55 -KPX quoteright s -18 -KPX quoteright quoteright -37 -KPX quotedblbase afii10051 -122 -KPX quotedblbase afii10060 -111 -KPX quotedblbase afii10036 -134 -KPX quotedblbase afii10041 -145 -KPX quotedblbase afii10044 -111 -KPX Gamma comma -128 -KPX Gamma period -128 -KPX Gamma iotadieresistonos 102 -KPX Gamma Alpha -95 -KPX Gamma Delta -95 -KPX Gamma Lambda -95 -KPX Gamma iota -47 -KPX Gamma iotadieresis 46 -KPX Theta Alpha -11 -KPX Theta Delta -11 -KPX Theta Lambda -11 -KPX Theta Upsilon -54 -KPX Theta Upsilondieresis -54 -KPX Phi Alpha -39 -KPX Phi Upsilon -54 -KPX Phi Upsilondieresis -54 -KPX delta tau -22 -KPX delta gamma -18 -KPX delta chi -29 -KPX delta pi -22 -KPX epsilon sigma1 -27 -KPX tau alpha -14 -KPX tau delta -14 -KPX tau sigma -14 -KPX tau phi -14 -KPX tau alphatonos -14 -KPX tau zeta -14 -KPX tau omicron -14 -KPX tau sigma1 -14 -KPX tau omega -14 -KPX tau omegatonos -14 -KPX phi tau -22 -KPX phi gamma -18 -KPX phi chi -29 -KPX phi pi -22 -KPX Alphatonos space -37 -KPX Alphatonos Theta -52 -KPX Alphatonos Phi -58 -KPX Alphatonos Omicron -52 -KPX Alphatonos Tau -97 -KPX Alphatonos Upsilon -129 -KPX Alphatonos Upsilondieresis -129 -KPX Alphatonos gamma -18 -KPX Alphatonos nu -18 -KPX Alphatonos chi -18 -KPX Omicrontonos Upsilon -54 -KPX Omicrontonos Upsilondieresis -54 -KPX Upsilontonos alpha -55 -KPX Upsilontonos delta -55 -KPX Upsilontonos sigma -55 -KPX Upsilontonos phi -55 -KPX Upsilontonos iotadieresistonos 104 -KPX Upsilontonos Alpha -74 -KPX Upsilontonos Delta -74 -KPX Upsilontonos Lambda -74 -KPX Upsilontonos alphatonos -55 -KPX Upsilontonos etatonos -18 -KPX Upsilontonos iotatonos -18 -KPX Upsilontonos eta -18 -KPX Upsilontonos iota -18 -KPX Upsilontonos kappa -18 -KPX Upsilontonos mu -18 -KPX Upsilontonos omicron -55 -KPX Upsilontonos iotadieresis 52 -KPX Upsilontonos omicrontonos -55 -KPX Omegatonos Upsilon -54 -KPX Omegatonos Upsilondieresis -54 -KPX Alpha space -37 -KPX Alpha quoteright -37 -KPX Alpha Theta -52 -KPX Alpha Phi -58 -KPX Alpha Omicron -52 -KPX Alpha Tau -97 -KPX Alpha Upsilon -129 -KPX Alpha Upsilondieresis -129 -KPX Alpha gamma -18 -KPX Alpha nu -18 -KPX Alpha chi -18 -KPX Delta space -37 -KPX Delta Theta -52 -KPX Delta Omicron -52 -KPX Delta Tau -97 -KPX Delta Upsilon -129 -KPX Delta Upsilondieresis -129 -KPX Kappa Theta -48 -KPX Kappa Phi -61 -KPX Kappa alpha -12 -KPX Kappa delta -12 -KPX Kappa sigma -12 -KPX Kappa phi -12 -KPX Kappa Omicron -48 -KPX Kappa alphatonos -12 -KPX Kappa zeta -12 -KPX Kappa theta -12 -KPX Kappa xi -12 -KPX Kappa omicron -12 -KPX Kappa omega -12 -KPX Kappa omicrontonos -12 -KPX Kappa omegatonos -12 -KPX Lambda space -18 -KPX Lambda Theta -52 -KPX Lambda Omicron -52 -KPX Lambda Tau -97 -KPX Lambda Upsilon -129 -KPX Lambda Upsilondieresis -129 -KPX Omicron Alphatonos -11 -KPX Omicron Alpha -11 -KPX Omicron Delta -11 -KPX Omicron Lambda -11 -KPX Omicron Upsilon -54 -KPX Omicron Upsilondieresis -54 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -74 -KPX Rho Delta -74 -KPX Rho Lambda -74 -KPX Sigma tau -32 -KPX Tau comma -91 -KPX Tau hyphen -91 -KPX Tau period -91 -KPX Tau colon -74 -KPX Tau semicolon -74 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -91 -KPX Tau delta -33 -KPX Tau epsilon -91 -KPX Tau sigma -91 -KPX Tau phi -91 -KPX Tau iotadieresistonos 104 -KPX Tau Alpha -74 -KPX Tau Delta -74 -KPX Tau Lambda -74 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -91 -KPX Tau epsilontonos -91 -KPX Tau upsilondieresistonos -74 -KPX Tau gamma -43 -KPX Tau eta -74 -KPX Tau iota -8 -KPX Tau mu -74 -KPX Tau nu -43 -KPX Tau omicron -91 -KPX Tau upsilon -74 -KPX Tau chi -43 -KPX Tau psi -83 -KPX Tau iotadieresis 46 -KPX Tau upsilondieresis -74 -KPX Tau omicrontonos -91 -KPX Tau upsilontonos -74 -KPX Upsilon comma -91 -KPX Upsilon hyphen -74 -KPX Upsilon period -91 -KPX Upsilon colon -37 -KPX Upsilon semicolon -37 -KPX Upsilon alpha -55 -KPX Upsilon delta -55 -KPX Upsilon sigma -55 -KPX Upsilon phi -55 -KPX Upsilon iotadieresistonos 104 -KPX Upsilon Alpha -74 -KPX Upsilon Delta -74 -KPX Upsilon Lambda -74 -KPX Upsilon alphatonos -55 -KPX Upsilon etatonos -18 -KPX Upsilon iotatonos -18 -KPX Upsilon gamma -18 -KPX Upsilon eta -18 -KPX Upsilon iota -18 -KPX Upsilon kappa -18 -KPX Upsilon mu -18 -KPX Upsilon omicron -55 -KPX Upsilon iotadieresis 52 -KPX Upsilon omicrontonos -55 -KPX Chi omega -18 -KPX Chi omegatonos -18 -KPX Psi alpha -21 -KPX Psi delta -21 -KPX Psi sigma -21 -KPX Psi phi -21 -KPX Psi alphatonos -21 -KPX Psi omicron -21 -KPX Psi omega -21 -KPX Psi omicrontonos -21 -KPX Psi omegatonos -21 -KPX Omega Upsilon -54 -KPX Omega Upsilondieresis -54 -KPX Upsilondieresis alpha -55 -KPX Upsilondieresis delta -55 -KPX Upsilondieresis sigma -55 -KPX Upsilondieresis phi -55 -KPX Upsilondieresis iotadieresistonos 104 -KPX Upsilondieresis Alpha -74 -KPX Upsilondieresis Delta -74 -KPX Upsilondieresis Lambda -74 -KPX Upsilondieresis alphatonos -55 -KPX Upsilondieresis etatonos -18 -KPX Upsilondieresis eta -18 -KPX Upsilondieresis iota -18 -KPX Upsilondieresis kappa -18 -KPX Upsilondieresis mu -18 -KPX Upsilondieresis omicron -55 -KPX Upsilondieresis iotadieresis 52 -KPX Upsilondieresis omicrontonos -55 -KPX epsilontonos sigma1 -27 -KPX zeta alpha -50 -KPX zeta delta -29 -KPX zeta epsilon -61 -KPX zeta sigma -50 -KPX zeta tau -57 -KPX zeta phi -50 -KPX zeta alphatonos -50 -KPX zeta epsilontonos -61 -KPX zeta etatonos -56 -KPX zeta gamma -29 -KPX zeta eta -56 -KPX zeta theta -29 -KPX zeta iota -56 -KPX zeta nu -29 -KPX zeta omicron -94 -KPX zeta upsilon -61 -KPX zeta omega -50 -KPX zeta iotadieresis 55 -KPX zeta omicrontonos -50 -KPX zeta upsilontonos -61 -KPX zeta omegatonos -50 -KPX zeta pi -57 -KPX kappa alpha -12 -KPX kappa delta -12 -KPX kappa sigma -12 -KPX kappa phi -12 -KPX kappa alphatonos -12 -KPX kappa zeta -29 -KPX kappa xi -29 -KPX kappa omicron -12 -KPX kappa sigma1 -29 -KPX kappa omega -12 -KPX kappa omicrontonos -12 -KPX kappa omegatonos -12 -KPX lambda alpha -14 -KPX lambda delta -14 -KPX lambda sigma -14 -KPX lambda phi -19 -KPX lambda alphatonos -14 -KPX lambda upsilondieresistonos -32 -KPX lambda zeta -14 -KPX lambda xi -14 -KPX lambda omicron -14 -KPX lambda sigma1 -14 -KPX lambda upsilon -32 -KPX lambda omega -14 -KPX lambda upsilondieresis -32 -KPX lambda omicrontonos -14 -KPX lambda upsilontonos -32 -KPX lambda omegatonos -14 -KPX xi alpha -14 -KPX xi delta -14 -KPX xi sigma -14 -KPX xi phi -14 -KPX xi alphatonos -14 -KPX xi zeta -14 -KPX xi xi -14 -KPX xi omicron -14 -KPX xi sigma1 -14 -KPX xi omicrontonos -14 -KPX omicron tau -14 -KPX omicron gamma -18 -KPX omicron chi -29 -KPX omicron pi -14 -KPX rho tau -22 -KPX rho pi -22 -KPX chi alpha -17 -KPX chi delta -17 -KPX chi sigma -17 -KPX chi phi -17 -KPX chi alphatonos -17 -KPX chi zeta -17 -KPX chi omicron -17 -KPX chi sigma1 -17 -KPX chi omega -17 -KPX chi omicrontonos -17 -KPX chi omegatonos -17 -KPX omega tau -22 -KPX omega gamma -18 -KPX omega chi -29 -KPX omega pi -22 -KPX omicrontonos tau -22 -KPX omicrontonos gamma -18 -KPX omicrontonos chi -29 -KPX omicrontonos pi -22 -KPX omegatonos tau -22 -KPX omegatonos gamma -18 -KPX omegatonos chi -29 -KPX omegatonos pi -22 -KPX afii10052 comma -100 -KPX afii10052 period -100 -KPX afii10052 guillemotleft -56 -KPX afii10052 guillemotright -56 -KPX afii10058 quoteright -111 -KPX afii10059 quoteright -89 -KPX afii10017 quoteright -78 -KPX afii10017 afii10021 11 -KPX afii10017 afii10025 -44 -KPX afii10017 afii10032 -56 -KPX afii10017 afii10033 -23 -KPX afii10017 afii10035 -56 -KPX afii10017 afii10036 -100 -KPX afii10017 afii10037 -89 -KPX afii10017 afii10038 -45 -KPX afii10017 afii10041 -89 -KPX afii10017 afii10047 -45 -KPX afii10017 afii10066 -11 -KPX afii10017 afii10070 -11 -KPX afii10017 afii10080 -11 -KPX afii10017 afii10083 -11 -KPX afii10017 afii10085 -11 -KPX afii10017 afii10086 -11 -KPX afii10018 afii10017 -33 -KPX afii10018 afii10021 -22 -KPX afii10018 afii10024 -22 -KPX afii10018 afii10025 -22 -KPX afii10018 afii10029 -33 -KPX afii10018 afii10032 -22 -KPX afii10018 afii10035 -22 -KPX afii10018 afii10036 -67 -KPX afii10018 afii10037 -56 -KPX afii10018 afii10038 -23 -KPX afii10018 afii10039 -33 -KPX afii10018 afii10041 -56 -KPX afii10018 afii10044 -67 -KPX afii10018 afii10047 -11 -KPX afii10018 afii10049 -33 -KPX afii10018 afii10069 11 -KPX afii10018 afii10085 -22 -KPX afii10018 afii10097 11 -KPX afii10019 afii10017 -33 -KPX afii10019 afii10021 -22 -KPX afii10019 afii10024 -33 -KPX afii10019 afii10025 -22 -KPX afii10019 afii10029 -22 -KPX afii10019 afii10032 -22 -KPX afii10019 afii10035 -22 -KPX afii10019 afii10036 -67 -KPX afii10019 afii10037 -56 -KPX afii10019 afii10038 -22 -KPX afii10019 afii10039 -33 -KPX afii10019 afii10041 -34 -KPX afii10019 afii10044 -100 -KPX afii10019 afii10049 -22 -KPX afii10019 afii10085 -11 -KPX afii10019 afii10087 -33 -KPX afii10019 afii10089 -33 -KPX afii10020 comma -100 -KPX afii10020 period -100 -KPX afii10020 colon -22 -KPX afii10020 semicolon -11 -KPX afii10020 guillemotleft -56 -KPX afii10020 guillemotright -56 -KPX afii10020 afii10017 -78 -KPX afii10020 afii10021 -44 -KPX afii10020 afii10025 -11 -KPX afii10020 afii10029 -33 -KPX afii10020 afii10032 -33 -KPX afii10020 afii10035 -33 -KPX afii10020 afii10049 -22 -KPX afii10020 afii10065 -33 -KPX afii10020 afii10067 -45 -KPX afii10020 afii10069 -45 -KPX afii10020 afii10070 -44 -KPX afii10020 afii10074 -44 -KPX afii10020 afii10077 -44 -KPX afii10020 afii10078 -44 -KPX afii10020 afii10079 -44 -KPX afii10020 afii10080 -56 -KPX afii10020 afii10082 -44 -KPX afii10020 afii10085 -44 -KPX afii10020 afii10093 -44 -KPX afii10020 afii10094 -45 -KPX afii10020 afii10096 -45 -KPX afii10020 afii10097 -45 -KPX afii10021 afii10041 -11 -KPX afii10021 afii10047 11 -KPX afii10021 afii10073 22 -KPX afii10021 afii10085 11 -KPX afii10022 afii10025 -11 -KPX afii10024 afii10025 -11 -KPX afii10024 afii10032 -22 -KPX afii10024 afii10035 -22 -KPX afii10024 afii10041 -22 -KPX afii10024 afii10044 11 -KPX afii10024 afii10085 -11 -KPX afii10025 afii10021 -33 -KPX afii10025 afii10024 -33 -KPX afii10025 afii10029 -33 -KPX afii10025 afii10032 -22 -KPX afii10025 afii10035 -22 -KPX afii10025 afii10036 -45 -KPX afii10025 afii10037 -45 -KPX afii10025 afii10038 -22 -KPX afii10025 afii10041 -34 -KPX afii10025 afii10049 -22 -KPX afii10025 afii10077 -11 -KPX afii10028 afii10032 -11 -KPX afii10028 afii10035 -11 -KPX afii10028 afii10038 -23 -KPX afii10028 afii10047 -11 -KPX afii10028 afii10085 -11 -KPX afii10028 afii10095 -11 -KPX afii10029 afii10038 11 -KPX afii10029 afii10066 11 -KPX afii10030 afii10041 -22 -KPX afii10030 afii10065 11 -KPX afii10030 afii10085 11 -KPX afii10030 afii10089 -22 -KPX afii10030 afii10095 11 -KPX afii10032 afii10017 -22 -KPX afii10032 afii10021 -34 -KPX afii10032 afii10024 -33 -KPX afii10032 afii10029 -33 -KPX afii10032 afii10037 -67 -KPX afii10032 afii10039 -33 -KPX afii10032 afii10041 -33 -KPX afii10032 afii10049 -22 -KPX afii10032 afii10077 -11 -KPX afii10032 afii10087 -22 -KPX afii10034 comma -156 -KPX afii10034 period -156 -KPX afii10034 colon -11 -KPX afii10034 semicolon -11 -KPX afii10034 guillemotright -33 -KPX afii10034 afii10017 -78 -KPX afii10034 afii10021 -78 -KPX afii10034 afii10024 -44 -KPX afii10034 afii10025 -22 -KPX afii10034 afii10029 -67 -KPX afii10034 afii10030 -11 -KPX afii10034 afii10036 -56 -KPX afii10034 afii10037 -45 -KPX afii10034 afii10038 -11 -KPX afii10034 afii10039 -45 -KPX afii10034 afii10049 -11 -KPX afii10034 afii10069 -11 -KPX afii10034 afii10070 -11 -KPX afii10034 afii10080 -11 -KPX afii10034 afii10097 -11 -KPX afii10035 afii10017 -33 -KPX afii10035 afii10021 -33 -KPX afii10035 afii10025 -11 -KPX afii10035 afii10029 -33 -KPX afii10035 afii10030 -11 -KPX afii10035 afii10032 -11 -KPX afii10035 afii10036 -33 -KPX afii10035 afii10037 -56 -KPX afii10035 afii10039 -22 -KPX afii10035 afii10041 -44 -KPX afii10035 afii10044 -67 -KPX afii10035 afii10065 11 -KPX afii10035 afii10085 -11 -KPX afii10035 afii10089 -22 -KPX afii10036 comma -89 -KPX afii10036 period -89 -KPX afii10036 colon -11 -KPX afii10036 semicolon -11 -KPX afii10036 afii10017 -33 -KPX afii10036 afii10021 -22 -KPX afii10036 afii10024 11 -KPX afii10036 afii10025 -11 -KPX afii10036 afii10029 -33 -KPX afii10036 afii10030 11 -KPX afii10036 afii10032 -22 -KPX afii10036 afii10038 -33 -KPX afii10036 afii10047 -11 -KPX afii10036 afii10049 11 -KPX afii10036 afii10065 -22 -KPX afii10036 afii10067 -33 -KPX afii10036 afii10070 -33 -KPX afii10036 afii10074 -33 -KPX afii10036 afii10076 -33 -KPX afii10036 afii10077 -33 -KPX afii10036 afii10078 -33 -KPX afii10036 afii10080 -33 -KPX afii10036 afii10081 -33 -KPX afii10036 afii10082 -33 -KPX afii10036 afii10083 -33 -KPX afii10036 afii10085 -33 -KPX afii10036 afii10087 -33 -KPX afii10036 afii10091 -33 -KPX afii10036 afii10093 -33 -KPX afii10036 afii10094 -33 -KPX afii10036 afii10096 -33 -KPX afii10036 afii10097 -33 -KPX afii10037 comma -78 -KPX afii10037 period -78 -KPX afii10037 colon -22 -KPX afii10037 semicolon -22 -KPX afii10037 afii10017 -33 -KPX afii10037 afii10021 -33 -KPX afii10037 afii10025 11 -KPX afii10037 afii10029 -22 -KPX afii10037 afii10038 -11 -KPX afii10037 afii10047 11 -KPX afii10037 afii10049 11 -KPX afii10037 afii10067 -22 -KPX afii10037 afii10068 -22 -KPX afii10037 afii10069 -11 -KPX afii10037 afii10070 -22 -KPX afii10037 afii10072 -11 -KPX afii10037 afii10073 -11 -KPX afii10037 afii10074 -11 -KPX afii10037 afii10076 -11 -KPX afii10037 afii10077 -34 -KPX afii10037 afii10078 -11 -KPX afii10037 afii10079 -11 -KPX afii10037 afii10080 -22 -KPX afii10037 afii10081 -11 -KPX afii10037 afii10082 -11 -KPX afii10037 afii10083 -22 -KPX afii10037 afii10087 -11 -KPX afii10037 afii10088 -11 -KPX afii10037 afii10090 -11 -KPX afii10037 afii10091 -11 -KPX afii10037 afii10096 -11 -KPX afii10037 afii10097 -11 -KPX afii10038 afii10017 -56 -KPX afii10038 afii10021 -67 -KPX afii10038 afii10029 -56 -KPX afii10038 afii10030 -11 -KPX afii10038 afii10036 -78 -KPX afii10038 afii10037 -89 -KPX afii10038 afii10038 11 -KPX afii10038 afii10041 -34 -KPX afii10038 afii10049 -22 -KPX afii10038 afii10077 -22 -KPX afii10039 afii10025 -11 -KPX afii10039 afii10032 -34 -KPX afii10039 afii10035 -34 -KPX afii10039 afii10038 -33 -KPX afii10039 afii10080 -22 -KPX afii10039 afii10085 -22 -KPX afii10040 afii10065 33 -KPX afii10040 afii10070 22 -KPX afii10040 afii10080 22 -KPX afii10043 afii10065 22 -KPX afii10043 afii10070 11 -KPX afii10043 afii10085 11 -KPX afii10044 quoteright -111 -KPX afii10044 afii10049 -33 -KPX afii10046 quoteright -122 -KPX afii10046 afii10017 -44 -KPX afii10046 afii10021 -22 -KPX afii10046 afii10024 -56 -KPX afii10046 afii10025 -33 -KPX afii10046 afii10029 -22 -KPX afii10046 afii10030 -22 -KPX afii10046 afii10032 -45 -KPX afii10046 afii10035 -45 -KPX afii10046 afii10036 -111 -KPX afii10046 afii10039 -56 -KPX afii10046 afii10041 -100 -KPX afii10046 afii10047 -33 -KPX afii10046 afii10049 -45 -KPX afii10047 afii10021 -34 -KPX afii10047 afii10024 -23 -KPX afii10047 afii10029 -45 -KPX afii10047 afii10032 11 -KPX afii10047 afii10038 22 -KPX afii10047 afii10039 -34 -KPX afii10047 afii10049 -22 -KPX afii10047 afii10069 22 -KPX afii10047 afii10072 11 -KPX afii10047 afii10078 11 -KPX afii10047 afii10097 11 -KPX afii10048 afii10017 -44 -KPX afii10048 afii10021 -56 -KPX afii10048 afii10024 -33 -KPX afii10048 afii10029 -56 -KPX afii10048 afii10032 -11 -KPX afii10048 afii10035 -11 -KPX afii10048 afii10036 -67 -KPX afii10048 afii10039 -33 -KPX afii10048 afii10041 -45 -KPX afii10065 afii10073 -22 -KPX afii10065 afii10077 -11 -KPX afii10065 afii10081 -11 -KPX afii10065 afii10085 -33 -KPX afii10065 afii10089 -67 -KPX afii10065 afii10095 -11 -KPX afii10066 afii10069 11 -KPX afii10066 afii10072 -11 -KPX afii10066 afii10077 -22 -KPX afii10066 afii10085 -22 -KPX afii10066 afii10087 -33 -KPX afii10066 afii10089 -33 -KPX afii10066 afii10092 -33 -KPX afii10066 afii10097 -11 -KPX afii10067 afii10065 -22 -KPX afii10067 afii10066 -11 -KPX afii10067 afii10069 -22 -KPX afii10067 afii10070 -22 -KPX afii10067 afii10072 -22 -KPX afii10067 afii10073 -22 -KPX afii10067 afii10077 -33 -KPX afii10067 afii10078 -22 -KPX afii10067 afii10080 -22 -KPX afii10067 afii10083 -22 -KPX afii10067 afii10084 -11 -KPX afii10067 afii10085 -33 -KPX afii10067 afii10086 -22 -KPX afii10067 afii10089 -56 -KPX afii10067 afii10092 -45 -KPX afii10067 afii10097 -22 -KPX afii10068 afii10065 -11 -KPX afii10068 afii10069 -11 -KPX afii10068 afii10070 -11 -KPX afii10068 afii10073 -11 -KPX afii10068 afii10077 -11 -KPX afii10068 afii10078 -11 -KPX afii10068 afii10080 -11 -KPX afii10068 afii10083 -11 -KPX afii10068 afii10097 -22 -KPX afii10069 afii10085 -11 -KPX afii10070 afii10065 -11 -KPX afii10070 afii10069 -11 -KPX afii10070 afii10072 -11 -KPX afii10070 afii10073 -11 -KPX afii10070 afii10077 -33 -KPX afii10070 afii10078 -11 -KPX afii10070 afii10083 -11 -KPX afii10070 afii10084 -11 -KPX afii10070 afii10085 -33 -KPX afii10070 afii10086 -11 -KPX afii10070 afii10087 -44 -KPX afii10070 afii10089 -56 -KPX afii10072 afii10084 11 -KPX afii10072 afii10085 11 -KPX afii10072 afii10089 -22 -KPX afii10072 afii10092 11 -KPX afii10073 afii10065 -11 -KPX afii10073 afii10066 -11 -KPX afii10073 afii10069 -11 -KPX afii10073 afii10070 -11 -KPX afii10073 afii10072 -11 -KPX afii10073 afii10077 -22 -KPX afii10073 afii10078 -11 -KPX afii10073 afii10080 -11 -KPX afii10073 afii10083 -22 -KPX afii10073 afii10085 -33 -KPX afii10073 afii10086 -11 -KPX afii10073 afii10089 -56 -KPX afii10073 afii10092 -33 -KPX afii10076 afii10066 11 -KPX afii10076 afii10083 -11 -KPX afii10076 afii10084 11 -KPX afii10076 afii10089 -22 -KPX afii10077 afii10085 -11 -KPX afii10077 afii10089 -33 -KPX afii10078 afii10073 -11 -KPX afii10078 afii10083 -11 -KPX afii10078 afii10085 -11 -KPX afii10078 afii10086 -11 -KPX afii10078 afii10095 -11 -KPX afii10080 afii10072 -22 -KPX afii10080 afii10073 -11 -KPX afii10080 afii10077 -22 -KPX afii10080 afii10085 -33 -KPX afii10080 afii10087 -22 -KPX afii10080 afii10089 -45 -KPX afii10080 afii10095 -11 -KPX afii10080 afii10097 -22 -KPX afii10082 afii10072 -11 -KPX afii10082 afii10073 -11 -KPX afii10082 afii10077 -22 -KPX afii10082 afii10078 -11 -KPX afii10082 afii10085 -33 -KPX afii10082 afii10087 -33 -KPX afii10082 afii10089 -45 -KPX afii10082 afii10095 -11 -KPX afii10082 afii10097 -11 -KPX afii10083 afii10072 -11 -KPX afii10083 afii10085 -11 -KPX afii10083 afii10087 -22 -KPX afii10083 afii10089 -33 -KPX afii10083 afii10092 -22 -KPX afii10084 comma -11 -KPX afii10084 period -11 -KPX afii10084 afii10065 -11 -KPX afii10084 afii10069 -11 -KPX afii10084 afii10072 -11 -KPX afii10084 afii10073 -11 -KPX afii10084 afii10077 -22 -KPX afii10084 afii10078 -11 -KPX afii10084 afii10080 -11 -KPX afii10084 afii10082 -11 -KPX afii10084 afii10083 -11 -KPX afii10084 afii10085 -22 -KPX afii10084 afii10095 -11 -KPX afii10084 afii10097 -11 -KPX afii10085 comma -67 -KPX afii10085 period -67 -KPX afii10085 afii10066 22 -KPX afii10085 afii10072 11 -KPX afii10085 afii10077 -11 -KPX afii10085 afii10095 11 -KPX afii10086 afii10066 11 -KPX afii10086 afii10070 11 -KPX afii10086 afii10077 -22 -KPX afii10086 afii10080 11 -KPX afii10086 afii10085 -22 -KPX afii10086 afii10089 -45 -KPX afii10087 afii10065 -11 -KPX afii10087 afii10070 -11 -KPX afii10087 afii10073 -11 -KPX afii10087 afii10080 -11 -KPX afii10087 afii10083 -11 -KPX afii10087 afii10086 -22 -KPX afii10087 afii10089 -45 -KPX afii10087 afii10095 -11 -KPX afii10088 afii10065 11 -KPX afii10088 afii10085 11 -KPX afii10091 afii10065 11 -KPX afii10091 afii10085 22 -KPX afii10094 afii10089 -89 -KPX afii10095 afii10072 -11 -KPX afii10095 afii10077 -22 -KPX afii10095 afii10087 -23 -KPX afii10095 afii10097 -11 -KPX afii10096 afii10072 -11 -KPX afii10096 afii10077 -22 -KPX afii10096 afii10087 -33 -KPX afii10096 afii10089 -45 -KPX afii10110 comma -56 -KPX afii10110 period -56 -KPX afii10050 comma -56 -KPX afii10050 period -56 -KPX afii10050 guillemotleft -22 -KPX afii10050 guillemotright -22 -KPX pi alpha -14 -KPX pi delta -14 -KPX pi sigma -14 -KPX pi phi -14 -KPX pi alphatonos -14 -KPX pi zeta -14 -KPX pi omicron -14 -KPX pi sigma1 -14 -KPX pi omega -14 -KPX pi omegatonos -14 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/ariali.ttf b/thirdparty/html2ps_pdf/fonts/ariali.ttf deleted file mode 100644 index 5b05d3535..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/ariali.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/cour.afm b/thirdparty/html2ps_pdf/fonts/cour.afm deleted file mode 100644 index 69f153f1f..000000000 --- a/thirdparty/html2ps_pdf/fonts/cour.afm +++ /dev/null @@ -1,1372 +0,0 @@ -StartFontMetrics 4.1 -FontName CourierNewPSMT -FullName Courier New -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1994. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Courier New -Weight Regular -Version Version 2.90 -Characters 1318 -ItalicAngle 0.0 -Ascender 833 -Descender -300 -UnderlineThickness 41 -UnderlinePosition -233 -IsFixedPitch true -FontBBox -20 -680 638 1021 -StartCharMetrics 1353 -C 0 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 600 ; N space ; B 240 -15 360 627 ; -C 33 ; WX 600 ; N exclam ; B 240 -15 360 627 ; -C 34 ; WX 600 ; N quotedbl ; B 130 332 469 603 ; -C 35 ; WX 600 ; N numbersign ; B 91 -63 508 657 ; -C 36 ; WX 600 ; N dollar ; B 111 -93 488 665 ; -C 37 ; WX 600 ; N percent ; B 91 -12 510 623 ; -C 38 ; WX 600 ; N ampersand ; B 124 -16 499 526 ; -C 39 ; WX 600 ; N quotesingle ; B 235 320 365 613 ; -C 40 ; WX 600 ; N parenleft ; B 295 -127 460 613 ; -C 41 ; WX 600 ; N parenright ; B 147 -127 312 613 ; -C 42 ; WX 600 ; N asterisk ; B 0 253 375 613 ; -C 43 ; WX 600 ; N plus ; B 70 33 530 538 ; -C 44 ; WX 600 ; N comma ; B 146 -146 352 147 ; -C 45 ; WX 600 ; N hyphen ; B 91 253 509 312 ; -C 46 ; WX 600 ; N period ; B 225 -15 375 118 ; -C 47 ; WX 600 ; N slash ; B 112 -83 489 678 ; -C 48 ; WX 600 ; N zero ; B 112 -15 488 627 ; -C 49 ; WX 600 ; N one ; B 111 0 488 621 ; -C 50 ; WX 600 ; N two ; B 83 0 480 627 ; -C 51 ; WX 600 ; N three ; B 95 -15 500 627 ; -C 52 ; WX 600 ; N four ; B 104 0 480 613 ; -C 53 ; WX 600 ; N five ; B 96 -15 500 613 ; -C 54 ; WX 600 ; N six ; B 134 -15 513 627 ; -C 55 ; WX 600 ; N seven ; B 103 -1 479 613 ; -C 56 ; WX 600 ; N eight ; B 113 -15 488 627 ; -C 57 ; WX 600 ; N nine ; B 134 -15 511 627 ; -C 58 ; WX 600 ; N colon ; B 225 -15 375 423 ; -C 59 ; WX 600 ; N semicolon ; B 152 -104 375 423 ; -C 60 ; WX 600 ; N less ; B 0 32 480 538 ; -C 61 ; WX 600 ; N equal ; B 49 192 551 381 ; -C 62 ; WX 600 ; N greater ; B 0 32 480 538 ; -C 63 ; WX 600 ; N question ; B 0 -15 355 586 ; -C 64 ; WX 600 ; N at ; B 105 -63 480 633 ; -C 65 ; WX 600 ; N A ; B 8 0 593 571 ; -C 66 ; WX 600 ; N B ; B 42 0 543 571 ; -C 67 ; WX 600 ; N C ; B 62 -16 537 584 ; -C 68 ; WX 600 ; N D ; B 77 0 558 571 ; -C 69 ; WX 600 ; N E ; B 43 0 523 571 ; -C 70 ; WX 600 ; N F ; B 78 0 557 571 ; -C 71 ; WX 600 ; N G ; B 63 -16 565 584 ; -C 72 ; WX 600 ; N H ; B 52 0 554 571 ; -C 73 ; WX 600 ; N I ; B 112 0 489 571 ; -C 74 ; WX 600 ; N J ; B 83 -16 585 571 ; -C 75 ; WX 600 ; N K ; B 43 0 575 571 ; -C 76 ; WX 600 ; N L ; B 63 0 543 571 ; -C 77 ; WX 600 ; N M ; B 12 0 594 571 ; -C 78 ; WX 600 ; N N ; B 22 0 563 571 ; -C 79 ; WX 600 ; N O ; B 0 -16 500 584 ; -C 80 ; WX 600 ; N P ; B 87 0 544 571 ; -C 81 ; WX 600 ; N Q ; B 51 -117 551 584 ; -C 82 ; WX 600 ; N R ; B 43 0 593 571 ; -C 83 ; WX 600 ; N S ; B 90 -16 510 584 ; -C 84 ; WX 600 ; N T ; B 70 0 529 571 ; -C 85 ; WX 600 ; N U ; B 41 -16 561 571 ; -C 86 ; WX 600 ; N V ; B 8 0 593 571 ; -C 87 ; WX 600 ; N W ; B 18 0 580 571 ; -C 88 ; WX 600 ; N X ; B 39 0 563 571 ; -C 89 ; WX 600 ; N Y ; B 48 0 551 571 ; -C 90 ; WX 600 ; N Z ; B 104 0 499 571 ; -C 91 ; WX 600 ; N bracketleft ; B 0 -126 168 613 ; -C 92 ; WX 600 ; N backslash ; B 0 -85 377 675 ; -C 93 ; WX 600 ; N bracketright ; B 0 -126 168 613 ; -C 94 ; WX 600 ; N asciicircum ; B 111 359 489 625 ; -C 95 ; WX 600 ; N underscore ; B 38 -274 638 -233 ; -C 96 ; WX 600 ; N grave ; B 217 499 384 649 ; -C 97 ; WX 600 ; N a ; B 70 -16 542 438 ; -C 98 ; WX 600 ; N b ; B 22 -16 542 613 ; -C 99 ; WX 600 ; N c ; B 83 -16 537 438 ; -C 100 ; WX 600 ; N d ; B 62 -16 583 613 ; -C 101 ; WX 600 ; N e ; B 63 -16 523 438 ; -C 102 ; WX 600 ; N f ; B 105 0 544 613 ; -C 103 ; WX 600 ; N g ; B 61 -188 562 438 ; -C 104 ; WX 600 ; N h ; B 42 0 553 613 ; -C 105 ; WX 600 ; N i ; B 92 0 511 633 ; -C 106 ; WX 600 ; N j ; B 88 -188 402 633 ; -C 107 ; WX 600 ; N k ; B 93 0 572 613 ; -C 108 ; WX 600 ; N l ; B 91 0 510 613 ; -C 109 ; WX 600 ; N m ; B 10 0 593 438 ; -C 110 ; WX 600 ; N n ; B 53 0 542 438 ; -C 111 ; WX 600 ; N o ; B 71 -16 529 438 ; -C 112 ; WX 600 ; N p ; B 22 -188 542 438 ; -C 113 ; WX 600 ; N q ; B 63 -188 583 438 ; -C 114 ; WX 600 ; N r ; B 83 0 544 433 ; -C 115 ; WX 600 ; N s ; B 101 -16 499 438 ; -C 116 ; WX 600 ; N t ; B 71 -16 529 571 ; -C 117 ; WX 600 ; N u ; B 44 -16 543 423 ; -C 118 ; WX 600 ; N v ; B 29 0 571 423 ; -C 119 ; WX 600 ; N w ; B 27 0 572 423 ; -C 120 ; WX 600 ; N x ; B 49 0 552 423 ; -C 121 ; WX 600 ; N y ; B 73 -188 574 423 ; -C 122 ; WX 600 ; N z ; B 116 0 491 423 ; -C 123 ; WX 600 ; N braceleft ; B 0 -126 206 613 ; -C 124 ; WX 600 ; N bar ; B 279 -126 321 613 ; -C 125 ; WX 600 ; N braceright ; B 0 -127 206 613 ; -C 126 ; WX 600 ; N asciitilde ; B 91 211 509 359 ; -C 127 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 600 ; N Euro ; B 3 -16 539 584 ; -C 129 ; WX 600 ; N afii10052 ; B 62 0 542 778 ; -C 130 ; WX 600 ; N quotesinglbase ; B 0 -159 206 135 ; -C 131 ; WX 600 ; N florin ; B 86 -94 519 628 ; -C 132 ; WX 600 ; N quotedblbase ; B 0 -127 405 125 ; -C 133 ; WX 600 ; N ellipsis ; B 49 -15 551 85 ; -C 134 ; WX 600 ; N dagger ; B 123 -63 478 613 ; -C 135 ; WX 600 ; N daggerdbl ; B 123 -63 478 613 ; -C 136 ; WX 600 ; N circumflex ; B 154 498 446 640 ; -C 137 ; WX 600 ; N perthousand ; B 30 -10 567 625 ; -C 138 ; WX 600 ; N Scaron ; B 90 -16 510 760 ; -C 139 ; WX 600 ; N guilsinglleft ; B 52 0 313 424 ; -C 140 ; WX 600 ; N OE ; B 8 0 592 571 ; -C 141 ; WX 600 ; N afii10061 ; B 58 0 587 778 ; -C 142 ; WX 600 ; N Zcaron ; B 104 0 499 760 ; -C 143 ; WX 600 ; N afii10145 ; B 49 -140 551 571 ; -C 144 ; WX 600 ; N quotedblbase ; B 0 -127 405 125 ; -C 145 ; WX 600 ; N quoteleft ; B 249 319 455 613 ; -C 146 ; WX 600 ; N quoteright ; B 0 319 206 613 ; -C 147 ; WX 600 ; N quotedblleft ; B 87 360 493 613 ; -C 148 ; WX 600 ; N quotedblright ; B 107 360 512 613 ; -C 149 ; WX 600 ; N bullet ; B 179 190 421 432 ; -C 150 ; WX 600 ; N endash ; B 71 265 529 306 ; -C 151 ; WX 600 ; N emdash ; B -7 266 607 307 ; -C 152 ; WX 600 ; N tilde ; B 145 489 456 589 ; -C 153 ; WX 600 ; N trademark ; B 2 297 598 571 ; -C 154 ; WX 600 ; N scaron ; B 101 -16 499 634 ; -C 155 ; WX 600 ; N guilsinglright ; B 291 0 552 424 ; -C 156 ; WX 600 ; N oe ; B 9 -16 583 438 ; -C 157 ; WX 600 ; N afii10109 ; B 59 0 572 649 ; -C 158 ; WX 600 ; N zcaron ; B 116 0 491 634 ; -C 159 ; WX 600 ; N Ydieresis ; B 48 0 551 730 ; -C 160 ; WX 600 ; N space ; B 240 -15 360 627 ; -C 161 ; WX 600 ; N exclamdown ; B 240 -190 360 429 ; -C 162 ; WX 600 ; N cent ; B 111 0 471 652 ; -C 163 ; WX 600 ; N sterling ; B 61 0 523 587 ; -C 164 ; WX 600 ; N currency ; B 101 97 499 496 ; -C 165 ; WX 600 ; N yen ; B 48 0 551 571 ; -C 166 ; WX 600 ; N brokenbar ; B 279 -126 321 613 ; -C 167 ; WX 600 ; N section ; B 70 -63 530 613 ; -C 168 ; WX 600 ; N dieresis ; B 156 521 445 600 ; -C 169 ; WX 600 ; N copyright ; B 0 -13 597 584 ; -C 170 ; WX 600 ; N ordfeminine ; B 0 355 319 640 ; -C 171 ; WX 600 ; N guillemotleft ; B 0 0 490 424 ; -C 172 ; WX 600 ; N logicalnot ; B 12 33 530 306 ; -C 173 ; WX 600 ; N hyphen ; B 91 253 509 312 ; -C 174 ; WX 600 ; N registered ; B 0 -13 597 584 ; -C 175 ; WX 600 ; N overscore ; B -13 654 613 696 ; -C 176 ; WX 600 ; N degree ; B 165 457 436 728 ; -C 177 ; WX 600 ; N plusminus ; B 70 0 530 603 ; -C 178 ; WX 600 ; N twosuperior ; B 167 301 412 627 ; -C 179 ; WX 600 ; N threesuperior ; B 173 293 424 627 ; -C 180 ; WX 600 ; N acute ; B 216 499 383 649 ; -C 181 ; WX 600 ; N mu1 ; B 44 -188 543 423 ; -C 182 ; WX 600 ; N paragraph ; B 83 -63 521 613 ; -C 183 ; WX 600 ; N periodcentered ; B 225 245 375 377 ; -C 184 ; WX 600 ; N cedilla ; B 216 -163 373 15 ; -C 185 ; WX 600 ; N onesuperior ; B 183 301 417 626 ; -C 186 ; WX 600 ; N ordmasculine ; B 144 355 454 640 ; -C 187 ; WX 600 ; N guillemotright ; B 62 0 552 424 ; -C 188 ; WX 600 ; N onequarter ; B 0 0 595 626 ; -C 189 ; WX 600 ; N onehalf ; B 0 0 606 626 ; -C 190 ; WX 600 ; N threequarters ; B 0 0 592 627 ; -C 191 ; WX 600 ; N questiondown ; B 0 -191 355 433 ; -C 192 ; WX 600 ; N Agrave ; B 8 0 593 779 ; -C 193 ; WX 600 ; N Aacute ; B 8 0 593 779 ; -C 194 ; WX 600 ; N Acircumflex ; B 8 0 593 771 ; -C 195 ; WX 600 ; N Atilde ; B 8 0 593 720 ; -C 196 ; WX 600 ; N Adieresis ; B 8 0 593 730 ; -C 197 ; WX 600 ; N Aring ; B 8 0 593 783 ; -C 198 ; WX 600 ; N AE ; B 9 0 592 571 ; -C 199 ; WX 600 ; N Ccedilla ; B 62 -163 537 584 ; -C 200 ; WX 600 ; N Egrave ; B 43 0 523 779 ; -C 201 ; WX 600 ; N Eacute ; B 43 0 523 779 ; -C 202 ; WX 600 ; N Ecircumflex ; B 43 0 523 770 ; -C 203 ; WX 600 ; N Edieresis ; B 43 0 523 730 ; -C 204 ; WX 600 ; N Igrave ; B 112 0 489 779 ; -C 205 ; WX 600 ; N Iacute ; B 112 0 489 779 ; -C 206 ; WX 600 ; N Icircumflex ; B 112 0 489 770 ; -C 207 ; WX 600 ; N Idieresis ; B 112 0 489 730 ; -C 208 ; WX 600 ; N Eth ; B -1 0 523 571 ; -C 209 ; WX 600 ; N Ntilde ; B 22 0 563 720 ; -C 210 ; WX 600 ; N Ograve ; B 0 -16 500 779 ; -C 211 ; WX 600 ; N Oacute ; B 0 -16 500 779 ; -C 212 ; WX 600 ; N Ocircumflex ; B 0 -16 500 770 ; -C 213 ; WX 600 ; N Otilde ; B 0 -16 500 720 ; -C 214 ; WX 600 ; N Odieresis ; B 0 -16 500 730 ; -C 215 ; WX 600 ; N multiply ; B 132 117 469 454 ; -C 216 ; WX 600 ; N Oslash ; B 39 -41 561 611 ; -C 217 ; WX 600 ; N Ugrave ; B 41 -16 561 779 ; -C 218 ; WX 600 ; N Uacute ; B 41 -16 561 779 ; -C 219 ; WX 600 ; N Ucircumflex ; B 41 -16 561 770 ; -C 220 ; WX 600 ; N Udieresis ; B 41 -16 561 730 ; -C 221 ; WX 600 ; N Yacute ; B 48 0 551 775 ; -C 222 ; WX 600 ; N Thorn ; B 87 0 544 571 ; -C 223 ; WX 600 ; N germandbls ; B 43 -16 503 613 ; -C 224 ; WX 600 ; N agrave ; B 70 -16 542 648 ; -C 225 ; WX 600 ; N aacute ; B 70 -16 542 648 ; -C 226 ; WX 600 ; N acircumflex ; B 70 -16 542 640 ; -C 227 ; WX 600 ; N atilde ; B 70 -16 542 589 ; -C 228 ; WX 600 ; N adieresis ; B 70 -16 542 600 ; -C 229 ; WX 600 ; N aring ; B 70 -16 542 666 ; -C 230 ; WX 600 ; N ae ; B 8 -16 582 438 ; -C 231 ; WX 600 ; N ccedilla ; B 83 -163 537 438 ; -C 232 ; WX 600 ; N egrave ; B 63 -16 523 649 ; -C 233 ; WX 600 ; N eacute ; B 63 -16 523 649 ; -C 234 ; WX 600 ; N ecircumflex ; B 63 -16 523 640 ; -C 235 ; WX 600 ; N edieresis ; B 63 -16 523 600 ; -C 236 ; WX 600 ; N igrave ; B 91 0 511 645 ; -C 237 ; WX 600 ; N iacute ; B 91 0 511 648 ; -C 238 ; WX 600 ; N icircumflex ; B 91 0 511 640 ; -C 239 ; WX 600 ; N idieresis ; B 91 0 511 600 ; -C 240 ; WX 600 ; N eth ; B 63 -15 522 610 ; -C 241 ; WX 600 ; N ntilde ; B 53 0 542 589 ; -C 242 ; WX 600 ; N ograve ; B 71 -16 529 649 ; -C 243 ; WX 600 ; N oacute ; B 71 -16 529 649 ; -C 244 ; WX 600 ; N ocircumflex ; B 71 -16 529 640 ; -C 245 ; WX 600 ; N otilde ; B 71 -16 529 589 ; -C 246 ; WX 600 ; N odieresis ; B 71 -16 529 600 ; -C 247 ; WX 600 ; N divide ; B 70 54 530 517 ; -C 248 ; WX 600 ; N oslash ; B 55 -42 548 462 ; -C 249 ; WX 600 ; N ugrave ; B 44 -16 543 649 ; -C 250 ; WX 600 ; N uacute ; B 44 -16 543 649 ; -C 251 ; WX 600 ; N ucircumflex ; B 44 -16 543 640 ; -C 252 ; WX 600 ; N udieresis ; B 44 -16 543 600 ; -C 253 ; WX 600 ; N yacute ; B 73 -188 574 649 ; -C 254 ; WX 600 ; N thorn ; B 22 -188 542 613 ; -C 255 ; WX 600 ; N ydieresis ; B 73 -188 574 600 ; -C -1 ; WX 0 ; N .null ; B 240 -15 360 627 ; -C -1 ; WX 600 ; N nonmarkingreturn ; B 240 -15 360 627 ; -C -1 ; WX 600 ; N notequal ; B 49 -35 551 607 ; -C -1 ; WX 600 ; N infinity ; B 53 194 547 413 ; -C -1 ; WX 600 ; N lessequal ; B 48 88 528 685 ; -C -1 ; WX 600 ; N greaterequal ; B 72 88 552 685 ; -C -1 ; WX 600 ; N partialdiff ; B 86 -15 488 613 ; -C -1 ; WX 600 ; N summation ; B 21 -188 538 613 ; -C -1 ; WX 600 ; N product ; B 26 -188 574 613 ; -C -1 ; WX 600 ; N pi1 ; B 82 0 518 423 ; -C -1 ; WX 600 ; N integral ; B 110 -128 490 573 ; -C -1 ; WX 600 ; N Ohm ; B 30 0 570 581 ; -C -1 ; WX 600 ; N radical ; B 67 -38 554 783 ; -C -1 ; WX 600 ; N approxequal ; B 91 128 509 441 ; -C -1 ; WX 600 ; N increment ; B 41 0 555 563 ; -C -1 ; WX 600 ; N lozenge ; B 76 0 525 694 ; -C -1 ; WX 600 ; N fraction ; B 50 141 550 478 ; -C -1 ; WX 600 ; N fi ; B 7 0 590 633 ; -C -1 ; WX 600 ; N fl ; B 9 0 595 613 ; -C -1 ; WX 600 ; N dotlessi ; B 91 0 511 423 ; -C -1 ; WX 600 ; N macron ; B 154 525 446 567 ; -C -1 ; WX 600 ; N breve ; B 153 497 447 634 ; -C -1 ; WX 600 ; N dotaccent ; B 250 510 350 610 ; -C -1 ; WX 600 ; N ring ; B 211 492 388 666 ; -C -1 ; WX 600 ; N hungarumlaut ; B 154 498 447 648 ; -C -1 ; WX 600 ; N ogonek ; B 229 -144 373 13 ; -C -1 ; WX 600 ; N caron ; B 154 492 446 634 ; -C -1 ; WX 600 ; N Lslash ; B 42 0 542 571 ; -C -1 ; WX 600 ; N lslash ; B 91 0 510 613 ; -C -1 ; WX 600 ; N minus ; B 70 265 530 306 ; -C -1 ; WX 600 ; N franc ; B 78 0 557 571 ; -C -1 ; WX 600 ; N Gbreve ; B 63 -16 565 763 ; -C -1 ; WX 600 ; N gbreve ; B 61 -188 562 634 ; -C -1 ; WX 600 ; N Idot ; B 112 0 489 739 ; -C -1 ; WX 600 ; N Scedilla ; B 90 -163 510 584 ; -C -1 ; WX 600 ; N scedilla ; B 101 -163 499 438 ; -C -1 ; WX 600 ; N Cacute ; B 62 -16 537 778 ; -C -1 ; WX 600 ; N cacute ; B 83 -16 537 649 ; -C -1 ; WX 600 ; N Ccaron ; B 62 -16 537 763 ; -C -1 ; WX 600 ; N ccaron ; B 83 -16 537 634 ; -C -1 ; WX 600 ; N dmacron ; B 62 -16 583 613 ; -C -1 ; WX 600 ; N middot ; B 346 284 446 384 ; -C -1 ; WX 600 ; N Abreve ; B 8 0 593 763 ; -C -1 ; WX 600 ; N abreve ; B 70 -16 542 634 ; -C -1 ; WX 600 ; N Aogonek ; B 8 -127 623 571 ; -C -1 ; WX 600 ; N aogonek ; B 70 -127 584 438 ; -C -1 ; WX 600 ; N Dcaron ; B 77 0 558 763 ; -C -1 ; WX 600 ; N dcaron ; B 62 -16 600 613 ; -C -1 ; WX 600 ; N Dslash ; B -1 0 523 571 ; -C -1 ; WX 600 ; N Eogonek ; B 43 -130 569 571 ; -C -1 ; WX 600 ; N eogonek ; B 63 -142 523 438 ; -C -1 ; WX 600 ; N Ecaron ; B 43 0 523 763 ; -C -1 ; WX 600 ; N ecaron ; B 63 -16 523 634 ; -C -1 ; WX 600 ; N Lacute ; B 63 0 543 778 ; -C -1 ; WX 600 ; N lacute ; B 91 0 510 799 ; -C -1 ; WX 600 ; N Lcaron ; B 63 0 543 571 ; -C -1 ; WX 600 ; N lcaron ; B 91 0 510 613 ; -C -1 ; WX 600 ; N Ldot ; B 63 0 543 571 ; -C -1 ; WX 600 ; N ldot ; B 91 0 510 613 ; -C -1 ; WX 600 ; N Nacute ; B 22 0 563 778 ; -C -1 ; WX 600 ; N nacute ; B 53 0 542 649 ; -C -1 ; WX 600 ; N Ncaron ; B 22 0 563 763 ; -C -1 ; WX 600 ; N ncaron ; B 53 0 542 634 ; -C -1 ; WX 600 ; N Odblacute ; B 0 -16 500 777 ; -C -1 ; WX 600 ; N odblacute ; B 71 -16 529 648 ; -C -1 ; WX 600 ; N Racute ; B 43 0 593 778 ; -C -1 ; WX 600 ; N racute ; B 83 0 544 649 ; -C -1 ; WX 600 ; N Rcaron ; B 43 0 593 763 ; -C -1 ; WX 600 ; N rcaron ; B 83 0 544 634 ; -C -1 ; WX 600 ; N Sacute ; B 90 -16 510 778 ; -C -1 ; WX 600 ; N sacute ; B 101 -16 499 649 ; -C -1 ; WX 600 ; N Tcedilla ; B 70 -215 529 571 ; -C -1 ; WX 600 ; N tcedilla ; B 71 -215 529 571 ; -C -1 ; WX 600 ; N Tcaron ; B 70 0 529 763 ; -C -1 ; WX 600 ; N tcaron ; B 71 -16 529 613 ; -C -1 ; WX 600 ; N Uring ; B 41 -16 561 795 ; -C -1 ; WX 600 ; N uring ; B 44 -16 543 666 ; -C -1 ; WX 600 ; N Udblacute ; B 41 -16 561 777 ; -C -1 ; WX 600 ; N udblacute ; B 44 -16 543 648 ; -C -1 ; WX 600 ; N Zacute ; B 104 0 499 778 ; -C -1 ; WX 600 ; N zacute ; B 116 0 491 649 ; -C -1 ; WX 600 ; N Zdot ; B 104 0 499 739 ; -C -1 ; WX 600 ; N zdot ; B 116 0 491 610 ; -C -1 ; WX 600 ; N Gamma ; B 62 0 542 571 ; -C -1 ; WX 600 ; N Theta ; B 50 -16 550 584 ; -C -1 ; WX 600 ; N Phi ; B 44 0 556 571 ; -C -1 ; WX 600 ; N alpha ; B 48 -16 555 438 ; -C -1 ; WX 600 ; N delta ; B 88 -16 514 613 ; -C -1 ; WX 600 ; N epsilon ; B 138 -16 478 438 ; -C -1 ; WX 600 ; N sigma ; B 74 -16 586 438 ; -C -1 ; WX 600 ; N tau ; B 102 -16 454 423 ; -C -1 ; WX 600 ; N phi ; B 60 -188 543 438 ; -C -1 ; WX 600 ; N underscoredbl ; B -13 -274 613 -145 ; -C -1 ; WX 600 ; N exclamdbl ; B 134 -15 467 627 ; -C -1 ; WX 600 ; N nsuperior ; B 138 245 448 522 ; -C -1 ; WX 600 ; N peseta ; B 7 -7 593 571 ; -C -1 ; WX 600 ; N arrowleft ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowup ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowright ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowdown ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowboth ; B 1 50 599 278 ; -C -1 ; WX 600 ; N arrowupdn ; B 186 -135 414 463 ; -C -1 ; WX 600 ; N arrowupdnbse ; B 186 -196 414 463 ; -C -1 ; WX 600 ; N orthogonal ; B 1 0 599 597 ; -C -1 ; WX 600 ; N intersection ; B 83 -16 518 584 ; -C -1 ; WX 600 ; N equivalence ; B 49 119 551 455 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 600 ; N revlogicalnot ; B 70 33 588 306 ; -C -1 ; WX 600 ; N integraltp ; B 264 -300 475 833 ; -C -1 ; WX 600 ; N integralbt ; B 125 -300 336 833 ; -C -1 ; WX 600 ; N SF100000 ; B 0 220 600 292 ; -C -1 ; WX 600 ; N SF110000 ; B 264 -300 336 833 ; -C -1 ; WX 600 ; N SF010000 ; B 264 -300 600 292 ; -C -1 ; WX 600 ; N SF030000 ; B 0 -300 336 292 ; -C -1 ; WX 600 ; N SF020000 ; B 264 220 600 833 ; -C -1 ; WX 600 ; N SF040000 ; B 0 220 336 833 ; -C -1 ; WX 600 ; N SF080000 ; B 264 -300 600 833 ; -C -1 ; WX 600 ; N SF090000 ; B 0 -300 336 833 ; -C -1 ; WX 600 ; N SF060000 ; B 0 -300 600 292 ; -C -1 ; WX 600 ; N SF070000 ; B 0 220 600 833 ; -C -1 ; WX 600 ; N SF050000 ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N SF430000 ; B 0 142 600 370 ; -C -1 ; WX 600 ; N SF240000 ; B 186 -300 414 833 ; -C -1 ; WX 600 ; N SF510000 ; B 264 -300 600 370 ; -C -1 ; WX 600 ; N SF520000 ; B 186 -300 600 292 ; -C -1 ; WX 600 ; N SF390000 ; B 186 -300 600 370 ; -C -1 ; WX 600 ; N SF220000 ; B 0 -300 336 370 ; -C -1 ; WX 600 ; N SF210000 ; B 0 -300 414 292 ; -C -1 ; WX 600 ; N SF250000 ; B 0 -300 414 370 ; -C -1 ; WX 600 ; N SF500000 ; B 264 142 600 833 ; -C -1 ; WX 600 ; N SF490000 ; B 186 220 600 833 ; -C -1 ; WX 600 ; N SF380000 ; B 186 142 600 833 ; -C -1 ; WX 600 ; N SF280000 ; B 0 142 336 833 ; -C -1 ; WX 600 ; N SF270000 ; B 0 220 414 833 ; -C -1 ; WX 600 ; N SF260000 ; B 0 142 414 833 ; -C -1 ; WX 600 ; N SF360000 ; B 264 -300 600 833 ; -C -1 ; WX 600 ; N SF370000 ; B 186 -300 600 833 ; -C -1 ; WX 600 ; N SF420000 ; B 186 -300 600 833 ; -C -1 ; WX 600 ; N SF190000 ; B 0 -300 336 833 ; -C -1 ; WX 600 ; N SF200000 ; B 0 -300 414 833 ; -C -1 ; WX 600 ; N SF230000 ; B 0 -300 414 833 ; -C -1 ; WX 600 ; N SF470000 ; B 0 -300 600 370 ; -C -1 ; WX 600 ; N SF480000 ; B 0 -300 600 292 ; -C -1 ; WX 600 ; N SF410000 ; B 0 -300 600 370 ; -C -1 ; WX 600 ; N SF450000 ; B 0 142 600 833 ; -C -1 ; WX 600 ; N SF460000 ; B 0 220 600 833 ; -C -1 ; WX 600 ; N SF400000 ; B 0 142 600 833 ; -C -1 ; WX 600 ; N SF540000 ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N SF530000 ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N SF440000 ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N upblock ; B 0 255 600 833 ; -C -1 ; WX 600 ; N dnblock ; B 0 -300 600 255 ; -C -1 ; WX 600 ; N block ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N lfblock ; B 0 -300 300 833 ; -C -1 ; WX 600 ; N rtblock ; B 300 -300 600 833 ; -C -1 ; WX 600 ; N ltshade ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N shade ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N dkshade ; B 0 -300 600 833 ; -C -1 ; WX 600 ; N filledbox ; B 1 0 599 598 ; -C -1 ; WX 600 ; N filledrect ; B 1 193 599 306 ; -C -1 ; WX 600 ; N triagup ; B 7 0 592 585 ; -C -1 ; WX 600 ; N triagrt ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N triagdn ; B 7 -13 592 572 ; -C -1 ; WX 600 ; N triaglf ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N circle ; B 85 67 515 497 ; -C -1 ; WX 600 ; N invbullet ; B 61 0 539 479 ; -C -1 ; WX 600 ; N invcircle ; B 19 0 583 564 ; -C -1 ; WX 600 ; N smileface ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N invsmileface ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N sun ; B 1 -69 599 529 ; -C -1 ; WX 600 ; N female ; B 157 39 444 563 ; -C -1 ; WX 600 ; N male ; B 90 122 511 563 ; -C -1 ; WX 600 ; N spade ; B 63 0 537 601 ; -C -1 ; WX 600 ; N club ; B 1 0 599 597 ; -C -1 ; WX 600 ; N heart ; B 53 -11 547 559 ; -C -1 ; WX 600 ; N diamond ; B 78 -12 523 597 ; -C -1 ; WX 600 ; N musicalnote ; B 132 14 440 563 ; -C -1 ; WX 600 ; N musicalnotedbl ; B 44 -21 528 566 ; -C -1 ; WX 600 ; N IJ ; B 4 -16 596 571 ; -C -1 ; WX 600 ; N ij ; B 9 -188 498 633 ; -C -1 ; WX 600 ; N napostrophe ; B 0 0 542 613 ; -C -1 ; WX 600 ; N minute ; B 250 320 401 613 ; -C -1 ; WX 600 ; N second ; B 143 320 503 613 ; -C -1 ; WX 600 ; N afii61248 ; B 91 -12 510 623 ; -C -1 ; WX 600 ; N afii61289 ; B 157 -16 387 584 ; -C -1 ; WX 600 ; N H22073 ; B 1 0 599 598 ; -C -1 ; WX 600 ; N H18543 ; B 176 187 424 435 ; -C -1 ; WX 600 ; N H18551 ; B 176 187 424 435 ; -C -1 ; WX 600 ; N H18533 ; B 85 67 515 497 ; -C -1 ; WX 600 ; N openbullet ; B 179 190 421 432 ; -C -1 ; WX 600 ; N Amacron ; B 8 0 593 696 ; -C -1 ; WX 600 ; N amacron ; B 70 -16 542 567 ; -C -1 ; WX 600 ; N Ccircumflex ; B 62 -16 537 769 ; -C -1 ; WX 600 ; N ccircumflex ; B 83 -16 537 640 ; -C -1 ; WX 600 ; N Cdot ; B 62 -16 537 739 ; -C -1 ; WX 600 ; N cdot ; B 83 -16 537 610 ; -C -1 ; WX 600 ; N Emacron ; B 43 0 523 696 ; -C -1 ; WX 600 ; N emacron ; B 63 -16 523 567 ; -C -1 ; WX 600 ; N Ebreve ; B 43 0 523 763 ; -C -1 ; WX 600 ; N ebreve ; B 63 -16 523 634 ; -C -1 ; WX 600 ; N Edot ; B 43 0 523 739 ; -C -1 ; WX 600 ; N edot ; B 63 -16 523 610 ; -C -1 ; WX 600 ; N Gcircumflex ; B 63 -16 565 769 ; -C -1 ; WX 600 ; N gcircumflex ; B 61 -188 562 640 ; -C -1 ; WX 600 ; N Gdot ; B 63 -16 565 739 ; -C -1 ; WX 600 ; N gdot ; B 61 -188 562 610 ; -C -1 ; WX 600 ; N Gcedilla ; B 63 -163 565 584 ; -C -1 ; WX 600 ; N gcedilla ; B 61 -188 562 661 ; -C -1 ; WX 600 ; N Hcircumflex ; B 52 0 554 769 ; -C -1 ; WX 600 ; N hcircumflex ; B 42 0 553 769 ; -C -1 ; WX 600 ; N Hbar ; B 52 0 554 571 ; -C -1 ; WX 600 ; N hbar ; B 30 0 554 613 ; -C -1 ; WX 600 ; N Itilde ; B 112 0 489 719 ; -C -1 ; WX 600 ; N itilde ; B 91 0 512 589 ; -C -1 ; WX 600 ; N Imacron ; B 112 0 489 696 ; -C -1 ; WX 600 ; N imacron ; B 91 0 512 567 ; -C -1 ; WX 600 ; N Ibreve ; B 112 0 489 763 ; -C -1 ; WX 600 ; N ibreve ; B 91 0 512 634 ; -C -1 ; WX 600 ; N Iogonek ; B 112 -142 489 571 ; -C -1 ; WX 600 ; N iogonek ; B 92 -142 511 633 ; -C -1 ; WX 600 ; N Jcircumflex ; B 83 -16 585 769 ; -C -1 ; WX 600 ; N jcircumflex ; B 88 -188 432 640 ; -C -1 ; WX 600 ; N Kcedilla ; B 43 -163 575 571 ; -C -1 ; WX 600 ; N kcedilla ; B 93 -163 572 613 ; -C -1 ; WX 600 ; N kgreenlandic ; B 71 0 528 423 ; -C -1 ; WX 600 ; N Lcedilla ; B 63 -163 543 571 ; -C -1 ; WX 600 ; N lcedilla ; B 91 -163 510 613 ; -C -1 ; WX 600 ; N Ncedilla ; B 22 -163 563 571 ; -C -1 ; WX 600 ; N ncedilla ; B 53 -163 542 438 ; -C -1 ; WX 600 ; N Eng ; B 63 -16 541 585 ; -C -1 ; WX 600 ; N eng ; B 53 -188 480 438 ; -C -1 ; WX 600 ; N Omacron ; B 0 -16 500 696 ; -C -1 ; WX 600 ; N omacron ; B 71 -16 529 567 ; -C -1 ; WX 600 ; N Obreve ; B 0 -16 500 763 ; -C -1 ; WX 600 ; N obreve ; B 71 -16 529 634 ; -C -1 ; WX 600 ; N Rcedilla ; B 43 -163 593 571 ; -C -1 ; WX 600 ; N rcedilla ; B 83 -163 544 433 ; -C -1 ; WX 600 ; N Scircumflex ; B 90 -16 510 769 ; -C -1 ; WX 600 ; N scircumflex ; B 101 -16 499 640 ; -C -1 ; WX 600 ; N Tbar ; B 70 0 529 571 ; -C -1 ; WX 600 ; N tbar ; B 60 -16 529 571 ; -C -1 ; WX 600 ; N Utilde ; B 41 -16 561 733 ; -C -1 ; WX 600 ; N utilde ; B 44 -16 543 589 ; -C -1 ; WX 600 ; N Umacron ; B 41 -16 561 696 ; -C -1 ; WX 600 ; N umacron ; B 44 -16 543 567 ; -C -1 ; WX 600 ; N Ubreve ; B 41 -16 561 763 ; -C -1 ; WX 600 ; N ubreve ; B 44 -16 543 634 ; -C -1 ; WX 600 ; N Uogonek ; B 41 -142 561 571 ; -C -1 ; WX 600 ; N uogonek ; B 44 -142 577 423 ; -C -1 ; WX 600 ; N Wcircumflex ; B 18 0 580 769 ; -C -1 ; WX 600 ; N wcircumflex ; B 27 0 572 640 ; -C -1 ; WX 600 ; N Ycircumflex ; B 48 0 551 769 ; -C -1 ; WX 600 ; N ycircumflex ; B 73 -188 574 640 ; -C -1 ; WX 600 ; N longs ; B 105 0 544 613 ; -C -1 ; WX 600 ; N Aringacute ; B 8 0 593 951 ; -C -1 ; WX 600 ; N aringacute ; B 70 -16 542 834 ; -C -1 ; WX 600 ; N AEacute ; B 9 0 592 778 ; -C -1 ; WX 600 ; N aeacute ; B 8 -16 582 649 ; -C -1 ; WX 600 ; N Oslashacute ; B 39 -41 561 778 ; -C -1 ; WX 600 ; N oslashacute ; B 55 -42 548 649 ; -C -1 ; WX 600 ; N anoteleia ; B 225 245 375 377 ; -C -1 ; WX 600 ; N Wgrave ; B 18 0 580 778 ; -C -1 ; WX 600 ; N wgrave ; B 27 0 572 649 ; -C -1 ; WX 600 ; N Wacute ; B 18 0 580 778 ; -C -1 ; WX 600 ; N wacute ; B 27 0 572 649 ; -C -1 ; WX 600 ; N Wdieresis ; B 18 0 580 729 ; -C -1 ; WX 600 ; N wdieresis ; B 27 0 572 600 ; -C -1 ; WX 600 ; N Ygrave ; B 48 0 551 778 ; -C -1 ; WX 600 ; N ygrave ; B 73 -188 574 649 ; -C -1 ; WX 600 ; N quotereversed ; B 249 319 455 613 ; -C -1 ; WX 600 ; N radicalex ; B 154 525 446 567 ; -C -1 ; WX 600 ; N afii08941 ; B 66 0 522 587 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 600 ; N oneeighth ; B 6 -7 593 626 ; -C -1 ; WX 600 ; N threeeighths ; B 8 -7 592 627 ; -C -1 ; WX 600 ; N fiveeighths ; B 5 -7 592 620 ; -C -1 ; WX 600 ; N seveneighths ; B 13 -7 592 620 ; -C -1 ; WX 600 ; N commaaccent ; B 254 -215 346 -53 ; -C -1 ; WX 600 ; N undercommaaccent ; B 229 -163 373 -49 ; -C -1 ; WX 600 ; N tonos ; B 216 499 383 649 ; -C -1 ; WX 600 ; N dieresistonos ; B 129 499 471 649 ; -C -1 ; WX 600 ; N Alphatonos ; B 31 0 617 571 ; -C -1 ; WX 600 ; N Epsilontonos ; B -2 0 565 571 ; -C -1 ; WX 600 ; N Etatonos ; B 9 0 586 571 ; -C -1 ; WX 600 ; N Iotatonos ; B 32 0 513 571 ; -C -1 ; WX 600 ; N Omicrontonos ; B -5 -16 566 584 ; -C -1 ; WX 600 ; N Upsilontonos ; B 21 0 575 571 ; -C -1 ; WX 600 ; N Omegatonos ; B -21 0 587 584 ; -C -1 ; WX 600 ; N iotadieresistonos ; B 118 -16 460 649 ; -C -1 ; WX 600 ; N Alpha ; B 8 0 593 571 ; -C -1 ; WX 600 ; N Beta ; B 42 0 543 571 ; -C -1 ; WX 600 ; N Delta ; B 49 0 550 571 ; -C -1 ; WX 600 ; N Epsilon ; B 43 0 523 571 ; -C -1 ; WX 600 ; N Zeta ; B 104 0 499 571 ; -C -1 ; WX 600 ; N Eta ; B 52 0 554 571 ; -C -1 ; WX 600 ; N Iota ; B 112 0 489 571 ; -C -1 ; WX 600 ; N Kappa ; B 43 0 575 571 ; -C -1 ; WX 600 ; N Lambda ; B 7 0 592 571 ; -C -1 ; WX 600 ; N Mu ; B 12 0 594 571 ; -C -1 ; WX 600 ; N Nu ; B 22 0 563 571 ; -C -1 ; WX 600 ; N Xi ; B 72 0 528 571 ; -C -1 ; WX 600 ; N Omicron ; B 0 -16 500 584 ; -C -1 ; WX 600 ; N Pi ; B 49 0 551 571 ; -C -1 ; WX 600 ; N Rho ; B 87 0 544 571 ; -C -1 ; WX 600 ; N Sigma ; B 96 0 489 571 ; -C -1 ; WX 600 ; N Tau ; B 70 0 529 571 ; -C -1 ; WX 600 ; N Upsilon ; B 48 0 551 571 ; -C -1 ; WX 600 ; N Chi ; B 39 0 563 571 ; -C -1 ; WX 600 ; N Psi ; B 14 0 586 571 ; -C -1 ; WX 600 ; N Omega ; B 29 0 570 584 ; -C -1 ; WX 600 ; N Iotadieresis ; B 112 0 489 729 ; -C -1 ; WX 600 ; N Upsilondieresis ; B 48 0 551 729 ; -C -1 ; WX 600 ; N alphatonos ; B 48 -16 555 649 ; -C -1 ; WX 600 ; N epsilontonos ; B 138 -16 478 649 ; -C -1 ; WX 600 ; N etatonos ; B 68 -188 496 649 ; -C -1 ; WX 600 ; N iotatonos ; B 216 -16 429 649 ; -C -1 ; WX 600 ; N upsilondieresistonos ; B 42 -16 558 649 ; -C -1 ; WX 600 ; N beta ; B 127 -188 507 613 ; -C -1 ; WX 600 ; N gamma ; B 34 -188 594 423 ; -C -1 ; WX 600 ; N zeta ; B 167 -188 492 613 ; -C -1 ; WX 600 ; N eta ; B 68 -188 496 438 ; -C -1 ; WX 600 ; N theta ; B 87 -16 513 613 ; -C -1 ; WX 600 ; N iota ; B 257 -16 429 438 ; -C -1 ; WX 600 ; N kappa ; B 77 0 551 423 ; -C -1 ; WX 600 ; N lambda ; B 32 0 585 613 ; -C -1 ; WX 600 ; N mu ; B 41 -188 557 423 ; -C -1 ; WX 600 ; N nu ; B 36 0 499 438 ; -C -1 ; WX 600 ; N xi ; B 159 -188 491 613 ; -C -1 ; WX 600 ; N omicron ; B 71 -16 529 438 ; -C -1 ; WX 600 ; N rho ; B 99 -188 542 438 ; -C -1 ; WX 600 ; N sigma1 ; B 101 -188 536 438 ; -C -1 ; WX 600 ; N upsilon ; B 42 -16 558 423 ; -C -1 ; WX 600 ; N chi ; B 75 -188 550 438 ; -C -1 ; WX 600 ; N psi ; B 34 -188 566 613 ; -C -1 ; WX 600 ; N omega ; B 57 -16 543 438 ; -C -1 ; WX 600 ; N iotadieresis ; B 145 -16 434 579 ; -C -1 ; WX 600 ; N upsilondieresis ; B 42 -16 558 579 ; -C -1 ; WX 600 ; N omicrontonos ; B 71 -16 529 649 ; -C -1 ; WX 600 ; N upsilontonos ; B 42 -16 558 649 ; -C -1 ; WX 600 ; N omegatonos ; B 57 -16 543 649 ; -C -1 ; WX 600 ; N afii10023 ; B 43 0 523 730 ; -C -1 ; WX 600 ; N afii10051 ; B 8 -16 569 571 ; -C -1 ; WX 600 ; N afii10053 ; B 62 -16 537 584 ; -C -1 ; WX 600 ; N afii10054 ; B 90 -16 510 584 ; -C -1 ; WX 600 ; N afii10055 ; B 112 0 489 571 ; -C -1 ; WX 600 ; N afii10056 ; B 112 0 489 730 ; -C -1 ; WX 600 ; N afii10057 ; B 83 -16 585 571 ; -C -1 ; WX 600 ; N afii10058 ; B 17 -16 580 571 ; -C -1 ; WX 600 ; N afii10059 ; B 0 0 600 571 ; -C -1 ; WX 600 ; N afii10060 ; B 8 0 588 571 ; -C -1 ; WX 600 ; N afii10062 ; B 21 -17 591 763 ; -C -1 ; WX 600 ; N afii10017 ; B 8 0 593 571 ; -C -1 ; WX 600 ; N afii10018 ; B 42 0 543 571 ; -C -1 ; WX 600 ; N afii10019 ; B 42 0 543 571 ; -C -1 ; WX 600 ; N afii10020 ; B 62 0 542 571 ; -C -1 ; WX 600 ; N afii10021 ; B 36 -140 563 571 ; -C -1 ; WX 600 ; N afii10022 ; B 43 0 523 571 ; -C -1 ; WX 600 ; N afii10024 ; B -2 0 603 571 ; -C -1 ; WX 600 ; N afii10025 ; B 56 -16 534 584 ; -C -1 ; WX 600 ; N afii10026 ; B 20 0 581 571 ; -C -1 ; WX 600 ; N afii10027 ; B 20 0 581 763 ; -C -1 ; WX 600 ; N afii10028 ; B 58 0 587 572 ; -C -1 ; WX 600 ; N afii10029 ; B 17 -16 564 571 ; -C -1 ; WX 600 ; N afii10030 ; B 12 0 594 571 ; -C -1 ; WX 600 ; N afii10031 ; B 52 0 554 571 ; -C -1 ; WX 600 ; N afii10032 ; B 0 -16 500 584 ; -C -1 ; WX 600 ; N afii10033 ; B 49 0 551 571 ; -C -1 ; WX 600 ; N afii10034 ; B 87 0 544 571 ; -C -1 ; WX 600 ; N afii10035 ; B 62 -16 537 584 ; -C -1 ; WX 600 ; N afii10036 ; B 70 0 529 571 ; -C -1 ; WX 600 ; N afii10037 ; B 21 -17 591 571 ; -C -1 ; WX 600 ; N afii10038 ; B 48 0 552 572 ; -C -1 ; WX 600 ; N afii10039 ; B 39 0 563 571 ; -C -1 ; WX 600 ; N afii10040 ; B 43 -140 559 571 ; -C -1 ; WX 600 ; N afii10041 ; B 20 0 547 571 ; -C -1 ; WX 600 ; N afii10042 ; B 2 0 593 571 ; -C -1 ; WX 600 ; N afii10043 ; B 2 -140 605 571 ; -C -1 ; WX 600 ; N afii10044 ; B 1 0 584 571 ; -C -1 ; WX 600 ; N afii10045 ; B 1 0 597 571 ; -C -1 ; WX 600 ; N afii10046 ; B 42 0 543 571 ; -C -1 ; WX 600 ; N afii10047 ; B 63 -16 538 584 ; -C -1 ; WX 600 ; N afii10048 ; B 11 -16 594 584 ; -C -1 ; WX 600 ; N afii10049 ; B 7 0 557 571 ; -C -1 ; WX 600 ; N afii10065 ; B 70 -16 542 438 ; -C -1 ; WX 600 ; N afii10066 ; B 63 -16 543 601 ; -C -1 ; WX 600 ; N afii10067 ; B 60 0 520 423 ; -C -1 ; WX 600 ; N afii10068 ; B 74 0 531 423 ; -C -1 ; WX 600 ; N afii10069 ; B 44 -103 556 423 ; -C -1 ; WX 600 ; N afii10070 ; B 63 -16 523 438 ; -C -1 ; WX 600 ; N afii10072 ; B 10 0 590 423 ; -C -1 ; WX 600 ; N afii10073 ; B 70 -16 534 438 ; -C -1 ; WX 600 ; N afii10074 ; B 28 0 572 423 ; -C -1 ; WX 600 ; N afii10075 ; B 28 0 572 614 ; -C -1 ; WX 600 ; N afii10076 ; B 59 0 572 423 ; -C -1 ; WX 600 ; N afii10077 ; B 25 -16 556 423 ; -C -1 ; WX 600 ; N afii10078 ; B 15 0 585 423 ; -C -1 ; WX 600 ; N afii10079 ; B 52 0 548 423 ; -C -1 ; WX 600 ; N afii10080 ; B 71 -16 529 438 ; -C -1 ; WX 600 ; N afii10081 ; B 52 0 548 423 ; -C -1 ; WX 600 ; N afii10082 ; B 22 -188 542 438 ; -C -1 ; WX 600 ; N afii10083 ; B 83 -16 537 438 ; -C -1 ; WX 600 ; N afii10084 ; B 81 0 519 423 ; -C -1 ; WX 600 ; N afii10085 ; B 29 -149 583 423 ; -C -1 ; WX 600 ; N afii10086 ; B 58 -156 542 601 ; -C -1 ; WX 600 ; N afii10087 ; B 49 0 552 423 ; -C -1 ; WX 600 ; N afii10088 ; B 38 -103 556 423 ; -C -1 ; WX 600 ; N afii10089 ; B 34 0 546 423 ; -C -1 ; WX 600 ; N afii10090 ; B 16 0 584 423 ; -C -1 ; WX 600 ; N afii10091 ; B 16 -103 600 423 ; -C -1 ; WX 600 ; N afii10092 ; B 37 0 568 423 ; -C -1 ; WX 600 ; N afii10093 ; B 12 0 597 423 ; -C -1 ; WX 600 ; N afii10094 ; B 81 0 485 423 ; -C -1 ; WX 600 ; N afii10095 ; B 63 -16 517 438 ; -C -1 ; WX 600 ; N afii10096 ; B 18 -16 582 438 ; -C -1 ; WX 600 ; N afii10097 ; B 64 0 531 423 ; -C -1 ; WX 600 ; N afii10071 ; B 63 -16 523 600 ; -C -1 ; WX 600 ; N afii10099 ; B 69 -188 519 613 ; -C -1 ; WX 600 ; N afii10100 ; B 74 0 531 649 ; -C -1 ; WX 600 ; N afii10101 ; B 83 -16 537 438 ; -C -1 ; WX 600 ; N afii10102 ; B 101 -16 499 438 ; -C -1 ; WX 600 ; N afii10103 ; B 92 0 511 633 ; -C -1 ; WX 600 ; N afii10104 ; B 91 0 511 600 ; -C -1 ; WX 600 ; N afii10105 ; B 88 -188 402 633 ; -C -1 ; WX 600 ; N afii10106 ; B 25 -16 572 423 ; -C -1 ; WX 600 ; N afii10107 ; B -9 0 609 423 ; -C -1 ; WX 600 ; N afii10108 ; B 30 0 554 613 ; -C -1 ; WX 600 ; N afii10110 ; B 29 -149 583 614 ; -C -1 ; WX 600 ; N afii10193 ; B 52 -140 548 423 ; -C -1 ; WX 600 ; N afii10050 ; B 62 0 542 703 ; -C -1 ; WX 600 ; N afii10098 ; B 74 0 531 554 ; -C -1 ; WX 600 ; N afii00208 ; B 21 266 580 307 ; -C -1 ; WX 600 ; N afii61352 ; B 24 0 572 571 ; -C -1 ; WX 600 ; N pi ; B 51 0 549 423 ; -C -1 ; WX 600 ; N sheva ; B 268 -261 333 -82 ; -C -1 ; WX 600 ; N hatafsegol ; B 161 -261 438 -82 ; -C -1 ; WX 600 ; N hatafpatah ; B 161 -261 431 -82 ; -C -1 ; WX 600 ; N hatafqamats ; B 161 -261 431 -82 ; -C -1 ; WX 600 ; N hiriq ; B 268 -147 333 -83 ; -C -1 ; WX 600 ; N tsere ; B 214 -147 386 -82 ; -C -1 ; WX 600 ; N segol ; B 214 -261 386 -83 ; -C -1 ; WX 600 ; N patah ; B 199 -130 400 -83 ; -C -1 ; WX 600 ; N qamats ; B 199 -215 400 -83 ; -C -1 ; WX 600 ; N holam ; B 268 559 333 628 ; -C -1 ; WX 600 ; N qubuts ; B 162 -261 438 -82 ; -C -1 ; WX 600 ; N dagesh ; B 268 222 333 290 ; -C -1 ; WX 600 ; N meteg ; B 276 -261 324 -82 ; -C -1 ; WX 600 ; N maqaf ; B 88 437 512 478 ; -C -1 ; WX 600 ; N rafe ; B 199 560 400 607 ; -C -1 ; WX 600 ; N paseq ; B 279 -5 320 484 ; -C -1 ; WX 600 ; N shindot ; B 443 560 510 625 ; -C -1 ; WX 600 ; N sindot ; B 90 560 155 627 ; -C -1 ; WX 600 ; N sofpasuq ; B 225 -6 375 486 ; -C -1 ; WX 600 ; N alef ; B 102 -6 502 492 ; -C -1 ; WX 600 ; N bet ; B 77 0 522 478 ; -C -1 ; WX 600 ; N gimel ; B 135 -5 446 478 ; -C -1 ; WX 600 ; N dalet ; B 80 -5 522 478 ; -C -1 ; WX 600 ; N he ; B 78 -5 499 478 ; -C -1 ; WX 600 ; N vav ; B 183 -5 338 478 ; -C -1 ; WX 600 ; N zayin ; B 161 -5 445 478 ; -C -1 ; WX 600 ; N het ; B 71 -5 529 478 ; -C -1 ; WX 600 ; N tet ; B 51 -5 499 483 ; -C -1 ; WX 600 ; N yod ; B 181 263 343 478 ; -C -1 ; WX 600 ; N finalkaf ; B 73 -109 519 478 ; -C -1 ; WX 600 ; N kaf ; B 88 0 496 478 ; -C -1 ; WX 600 ; N lamed ; B 94 0 463 629 ; -C -1 ; WX 600 ; N finalmem ; B 53 0 486 478 ; -C -1 ; WX 600 ; N mem ; B 65 -5 491 483 ; -C -1 ; WX 600 ; N finalnun ; B 183 -109 438 478 ; -C -1 ; WX 600 ; N nun ; B 139 0 374 478 ; -C -1 ; WX 600 ; N samekh ; B 39 -5 486 478 ; -C -1 ; WX 600 ; N ayin ; B 94 0 480 478 ; -C -1 ; WX 600 ; N finalpe ; B 118 -109 540 478 ; -C -1 ; WX 600 ; N pe ; B 122 0 468 478 ; -C -1 ; WX 600 ; N finaltsadi ; B 108 -109 474 478 ; -C -1 ; WX 600 ; N tsadi ; B 79 0 466 478 ; -C -1 ; WX 600 ; N qof ; B 96 -204 497 478 ; -C -1 ; WX 600 ; N resh ; B 84 -5 465 478 ; -C -1 ; WX 600 ; N shin ; B 100 0 500 483 ; -C -1 ; WX 600 ; N tav ; B 78 -5 486 478 ; -C -1 ; WX 600 ; N doublevav ; B 60 -5 479 478 ; -C -1 ; WX 600 ; N vavyod ; B 65 -5 479 478 ; -C -1 ; WX 600 ; N doubleyod ; B 65 263 479 478 ; -C -1 ; WX 600 ; N geresh ; B 218 246 382 483 ; -C -1 ; WX 600 ; N gershayim ; B 121 246 479 483 ; -C -1 ; WX 600 ; N newsheqelsign ; B 44 -5 556 481 ; -C -1 ; WX 600 ; N vavshindot ; B 113 -5 338 630 ; -C -1 ; WX 600 ; N finalkafsheva ; B 73 -109 519 478 ; -C -1 ; WX 600 ; N finalkafqamats ; B 73 -109 519 478 ; -C -1 ; WX 600 ; N lamedholam ; B 0 0 463 629 ; -C -1 ; WX 600 ; N lamedholamdagesh ; B 0 0 463 629 ; -C -1 ; WX 600 ; N altayin ; B 94 0 480 478 ; -C -1 ; WX 600 ; N shinshindot ; B 100 0 503 628 ; -C -1 ; WX 600 ; N shinsindot ; B 90 0 500 628 ; -C -1 ; WX 600 ; N shindageshshindot ; B 100 0 503 628 ; -C -1 ; WX 600 ; N shindageshsindot ; B 90 0 500 628 ; -C -1 ; WX 600 ; N alefpatah ; B 102 -130 502 492 ; -C -1 ; WX 600 ; N alefqamats ; B 102 -215 502 492 ; -C -1 ; WX 600 ; N alefmapiq ; B 102 -6 502 492 ; -C -1 ; WX 600 ; N betdagesh ; B 77 0 522 478 ; -C -1 ; WX 600 ; N gimeldagesh ; B 135 -5 446 478 ; -C -1 ; WX 600 ; N daletdagesh ; B 80 -5 522 478 ; -C -1 ; WX 600 ; N hedagesh ; B 78 -5 499 478 ; -C -1 ; WX 600 ; N vavdagesh ; B 174 -5 338 478 ; -C -1 ; WX 600 ; N zayindagesh ; B 152 -5 445 478 ; -C -1 ; WX 600 ; N tetdagesh ; B 51 -5 499 483 ; -C -1 ; WX 600 ; N yoddagesh ; B 181 263 343 478 ; -C -1 ; WX 600 ; N finalkafdagesh ; B 73 -109 519 478 ; -C -1 ; WX 600 ; N kafdagesh ; B 88 0 496 478 ; -C -1 ; WX 600 ; N lameddagesh ; B 94 0 463 629 ; -C -1 ; WX 600 ; N memdagesh ; B 65 -5 491 483 ; -C -1 ; WX 600 ; N nundagesh ; B 139 0 374 478 ; -C -1 ; WX 600 ; N samekhdagesh ; B 39 -5 486 478 ; -C -1 ; WX 600 ; N finalpedagesh ; B 118 -109 540 478 ; -C -1 ; WX 600 ; N pedagesh ; B 122 0 468 478 ; -C -1 ; WX 600 ; N tsadidagesh ; B 79 0 466 478 ; -C -1 ; WX 600 ; N qofdagesh ; B 96 -204 497 478 ; -C -1 ; WX 600 ; N reshdagesh ; B 84 -5 465 478 ; -C -1 ; WX 600 ; N shindagesh ; B 100 0 500 483 ; -C -1 ; WX 600 ; N tavdages ; B 78 -5 486 478 ; -C -1 ; WX 600 ; N vavholam ; B 183 -5 342 628 ; -C -1 ; WX 600 ; N betrafe ; B 77 0 522 607 ; -C -1 ; WX 600 ; N kafrafe ; B 88 0 496 607 ; -C -1 ; WX 600 ; N perafe ; B 122 0 468 607 ; -C -1 ; WX 600 ; N aleflamed ; B 84 -6 502 629 ; -C -1 ; WX 600 ; N zerowidthnonjoiner ; B 283 -134 318 629 ; -C -1 ; WX 600 ; N zerowidthjoiner ; B 193 -134 407 690 ; -C -1 ; WX 600 ; N lefttorightmark ; B 172 -134 458 690 ; -C -1 ; WX 600 ; N righttoleftmark ; B 143 -134 429 690 ; -C -1 ; WX 600 ; N afii57388 ; B 222 -6 377 243 ; -C -1 ; WX 600 ; N afii57403 ; B 222 0 377 512 ; -C -1 ; WX 600 ; N afii57407 ; B 123 -18 478 583 ; -C -1 ; WX 600 ; N afii57409 ; B 250 66 470 331 ; -C -1 ; WX 600 ; N afii57440 ; B 0 0 600 60 ; -C -1 ; WX 600 ; N afii57451 ; B 232 615 367 771 ; -C -1 ; WX 600 ; N afii57452 ; B 199 616 378 823 ; -C -1 ; WX 600 ; N afii57453 ; B 232 -241 367 -85 ; -C -1 ; WX 600 ; N afii57454 ; B 232 615 367 693 ; -C -1 ; WX 600 ; N afii57455 ; B 205 615 368 821 ; -C -1 ; WX 600 ; N afii57456 ; B 232 -165 367 -86 ; -C -1 ; WX 600 ; N afii57457 ; B 224 628 366 767 ; -C -1 ; WX 600 ; N afii57458 ; B 232 638 354 780 ; -C -1 ; WX 600 ; N afii57392 ; B 231 189 369 393 ; -C -1 ; WX 600 ; N afii57393 ; B 174 -2 365 565 ; -C -1 ; WX 600 ; N afii57394 ; B 156 -2 421 567 ; -C -1 ; WX 600 ; N afii57395 ; B 119 -2 485 567 ; -C -1 ; WX 600 ; N afii57396 ; B 187 0 431 564 ; -C -1 ; WX 600 ; N afii57397 ; B 166 58 430 411 ; -C -1 ; WX 600 ; N afii57398 ; B 152 0 430 564 ; -C -1 ; WX 600 ; N afii57399 ; B 129 -3 471 568 ; -C -1 ; WX 600 ; N afii57400 ; B 128 -2 471 569 ; -C -1 ; WX 600 ; N afii57401 ; B 144 -3 429 567 ; -C -1 ; WX 600 ; N afii57381 ; B 73 -82 527 678 ; -C -1 ; WX 600 ; N afii57461 ; B 222 -124 377 125 ; -C -1 ; WX 600 ; N afii63167 ; B 112 1 487 360 ; -C -1 ; WX 600 ; N afii57459 ; B 286 653 318 881 ; -C -1 ; WX 600 ; N afii57543 ; B 227 601 361 783 ; -C -1 ; WX 600 ; N afii57534 ; B 244 -4 454 333 ; -C -1 ; WX 600 ; N afii57494 ; B 131 641 435 724 ; -C -1 ; WX 600 ; N afii62843 ; B 144 0 472 553 ; -C -1 ; WX 600 ; N afii62844 ; B 133 0 455 567 ; -C -1 ; WX 600 ; N afii62845 ; B 159 0 450 569 ; -C -1 ; WX 600 ; N afii64240 ; B 0 -200 572 581 ; -C -1 ; WX 600 ; N afii64241 ; B 0 -274 582 333 ; -C -1 ; WX 600 ; N afii63954 ; B 0 -207 580 533 ; -C -1 ; WX 600 ; N afii57382 ; B 0 -142 600 488 ; -C -1 ; WX 600 ; N afii64242 ; B 0 -43 600 462 ; -C -1 ; WX 600 ; N afii62881 ; B 224 628 366 898 ; -C -1 ; WX 600 ; N afii57504 ; B 251 -274 385 -92 ; -C -1 ; WX 600 ; N afii57369 ; B 250 -346 397 -92 ; -C -1 ; WX 600 ; N afii57370 ; B 251 -424 394 -92 ; -C -1 ; WX 600 ; N afii57371 ; B 204 601 360 882 ; -C -1 ; WX 600 ; N afii57372 ; B 205 601 361 960 ; -C -1 ; WX 600 ; N afii57373 ; B 208 601 360 954 ; -C -1 ; WX 600 ; N afii57374 ; B 178 601 359 1021 ; -C -1 ; WX 600 ; N afii57375 ; B 165 601 360 1014 ; -C -1 ; WX 600 ; N afii57391 ; B 0 0 600 60 ; -C -1 ; WX 600 ; N afii57471 ; B 201 622 396 787 ; -C -1 ; WX 600 ; N afii57460 ; B 173 29 368 763 ; -C -1 ; WX 600 ; N afii52258 ; B 172 0 600 763 ; -C -1 ; WX 600 ; N afii57506 ; B 18 -274 578 333 ; -C -1 ; WX 600 ; N afii62958 ; B 18 -274 600 328 ; -C -1 ; WX 600 ; N afii62956 ; B 0 -274 582 333 ; -C -1 ; WX 600 ; N afii52957 ; B 0 -274 600 329 ; -C -1 ; WX 600 ; N afii57505 ; B 5 -3 590 683 ; -C -1 ; WX 600 ; N afii62889 ; B 3 -33 600 608 ; -C -1 ; WX 600 ; N afii62887 ; B 0 0 589 672 ; -C -1 ; WX 600 ; N afii62888 ; B 0 0 600 632 ; -C -1 ; WX 600 ; N afii57507 ; B 133 -274 591 263 ; -C -1 ; WX 600 ; N afii62961 ; B 77 -274 601 323 ; -C -1 ; WX 600 ; N afii62959 ; B 0 -274 585 319 ; -C -1 ; WX 600 ; N afii62960 ; B 0 -274 600 323 ; -C -1 ; WX 600 ; N afii57508 ; B 70 -205 468 613 ; -C -1 ; WX 600 ; N afii62962 ; B 49 -206 600 598 ; -C -1 ; WX 600 ; N afii57567 ; B 1 -6 600 563 ; -C -1 ; WX 600 ; N afii62964 ; B 1 -6 600 564 ; -C -1 ; WX 600 ; N afii52305 ; B 0 0 600 566 ; -C -1 ; WX 600 ; N afii52306 ; B 0 0 600 566 ; -C -1 ; WX 600 ; N afii57509 ; B 5 -5 600 605 ; -C -1 ; WX 600 ; N afii62967 ; B 5 -4 600 613 ; -C -1 ; WX 600 ; N afii62965 ; B 0 0 600 609 ; -C -1 ; WX 600 ; N afii62966 ; B 0 0 600 611 ; -C -1 ; WX 600 ; N afii57555 ; B 83 -119 523 325 ; -C -1 ; WX 600 ; N afii52364 ; B 55 -274 600 60 ; -C -1 ; WX 600 ; N afii63753 ; B 117 -274 537 332 ; -C -1 ; WX 600 ; N afii63754 ; B 74 -274 526 308 ; -C -1 ; WX 600 ; N afii63759 ; B 117 -274 587 567 ; -C -1 ; WX 600 ; N afii63763 ; B 117 -274 583 623 ; -C -1 ; WX 600 ; N afii63795 ; B 77 -151 523 524 ; -C -1 ; WX 600 ; N afii62891 ; B 77 -274 523 524 ; -C -1 ; WX 600 ; N afii63808 ; B 93 -274 555 574 ; -C -1 ; WX 600 ; N afii62938 ; B 93 -274 555 574 ; -C -1 ; WX 600 ; N afii63810 ; B 93 -274 555 574 ; -C -1 ; WX 600 ; N afii62942 ; B 156 -274 454 582 ; -C -1 ; WX 600 ; N afii62947 ; B 70 -151 517 528 ; -C -1 ; WX 600 ; N afii63813 ; B 70 -274 517 528 ; -C -1 ; WX 600 ; N afii63823 ; B 117 -274 537 562 ; -C -1 ; WX 600 ; N afii63824 ; B 74 -151 521 489 ; -C -1 ; WX 600 ; N afii63833 ; B 117 -274 563 332 ; -C -1 ; WX 600 ; N afii63844 ; B 74 -274 543 308 ; -C -1 ; WX 600 ; N afii62882 ; B 189 627 368 951 ; -C -1 ; WX 600 ; N afii62883 ; B 229 612 371 910 ; -C -1 ; WX 600 ; N afii62884 ; B 222 626 364 821 ; -C -1 ; WX 600 ; N afii62885 ; B 207 626 370 951 ; -C -1 ; WX 600 ; N afii62886 ; B 224 612 366 831 ; -C -1 ; WX 600 ; N afii63846 ; B 0 -208 600 306 ; -C -1 ; WX 600 ; N afii63849 ; B 14 -196 600 445 ; -C -1 ; WX 600 ; N afii63850 ; B 21 -274 600 166 ; -C -1 ; WX 600 ; N afii63851 ; B 21 -274 600 166 ; -C -1 ; WX 600 ; N afii63852 ; B 0 -208 600 530 ; -C -1 ; WX 600 ; N afii63855 ; B 14 -187 600 520 ; -C -1 ; WX 600 ; N afii63856 ; B 21 -274 600 356 ; -C -1 ; WX 600 ; N afii63761 ; B 21 -274 600 357 ; -C -1 ; WX 600 ; N afii63882 ; B 21 -274 600 356 ; -C -1 ; WX 600 ; N afii63825 ; B 21 -274 600 357 ; -C -1 ; WX 600 ; N afii63885 ; B 0 -211 600 306 ; -C -1 ; WX 600 ; N afii63888 ; B 14 -255 600 484 ; -C -1 ; WX 600 ; N afii63896 ; B 0 -218 584 472 ; -C -1 ; WX 600 ; N afii63897 ; B 0 -125 584 472 ; -C -1 ; WX 600 ; N afii63898 ; B 0 -120 584 486 ; -C -1 ; WX 600 ; N afii63899 ; B 0 -206 541 406 ; -C -1 ; WX 600 ; N afii63900 ; B 0 -234 580 333 ; -C -1 ; WX 600 ; N afii63901 ; B 0 -208 584 668 ; -C -1 ; WX 600 ; N afii63902 ; B 0 0 584 668 ; -C -1 ; WX 600 ; N afii63903 ; B 0 0 584 668 ; -C -1 ; WX 600 ; N afii63904 ; B 0 0 551 585 ; -C -1 ; WX 600 ; N afii63905 ; B 0 -207 595 539 ; -C -1 ; WX 600 ; N afii63906 ; B 0 0 550 684 ; -C -1 ; WX 600 ; N afii63908 ; B 0 -3 600 462 ; -C -1 ; WX 600 ; N afii63910 ; B 0 -3 600 462 ; -C -1 ; WX 600 ; N afii63912 ; B 0 -3 600 619 ; -C -1 ; WX 600 ; N afii62927 ; B 0 0 600 512 ; -C -1 ; WX 600 ; N afii63941 ; B 0 -200 584 580 ; -C -1 ; WX 600 ; N afii62939 ; B 0 0 584 580 ; -C -1 ; WX 600 ; N afii63943 ; B 0 0 584 580 ; -C -1 ; WX 600 ; N afii62943 ; B 0 -51 583 569 ; -C -1 ; WX 600 ; N afii62946 ; B 0 -207 561 572 ; -C -1 ; WX 600 ; N afii63946 ; B 0 -158 557 428 ; -C -1 ; WX 600 ; N afii62951 ; B 0 0 557 428 ; -C -1 ; WX 600 ; N afii63948 ; B 0 0 557 444 ; -C -1 ; WX 600 ; N afii62953 ; B 0 0 547 432 ; -C -1 ; WX 600 ; N afii63950 ; B 0 -208 584 664 ; -C -1 ; WX 600 ; N afii63951 ; B 0 0 584 664 ; -C -1 ; WX 600 ; N afii63952 ; B 0 0 584 664 ; -C -1 ; WX 600 ; N afii63953 ; B 0 0 553 624 ; -C -1 ; WX 600 ; N afii63956 ; B 0 -3 600 587 ; -C -1 ; WX 600 ; N afii63958 ; B 0 -182 593 472 ; -C -1 ; WX 600 ; N afii63959 ; B 0 -54 593 472 ; -C -1 ; WX 600 ; N afii63960 ; B 0 -54 593 476 ; -C -1 ; WX 600 ; N afii63961 ; B 0 -203 586 406 ; -C -1 ; WX 600 ; N afii64046 ; B 0 0 600 705 ; -C -1 ; WX 600 ; N afii64058 ; B 201 0 600 771 ; -C -1 ; WX 600 ; N afii64059 ; B 201 29 336 771 ; -C -1 ; WX 600 ; N afii64060 ; B 295 -127 460 613 ; -C -1 ; WX 600 ; N afii64061 ; B 147 -127 312 613 ; -C -1 ; WX 600 ; N afii62945 ; B 0 0 572 581 ; -C -1 ; WX 600 ; N afii64184 ; B 10 0 575 643 ; -C -1 ; WX 600 ; N afii52399 ; B 250 66 470 331 ; -C -1 ; WX 600 ; N afii52400 ; B 130 29 434 700 ; -C -1 ; WX 600 ; N afii62753 ; B 99 0 600 696 ; -C -1 ; WX 600 ; N afii57411 ; B 199 29 333 783 ; -C -1 ; WX 600 ; N afii62754 ; B 199 0 600 783 ; -C -1 ; WX 600 ; N afii57412 ; B 96 -200 455 513 ; -C -1 ; WX 600 ; N afii62755 ; B 94 -200 600 513 ; -C -1 ; WX 600 ; N afii57413 ; B 217 -236 351 567 ; -C -1 ; WX 600 ; N afii62756 ; B 246 -261 600 562 ; -C -1 ; WX 600 ; N afii57414 ; B 83 -119 523 500 ; -C -1 ; WX 600 ; N afii62759 ; B 55 -274 600 335 ; -C -1 ; WX 600 ; N afii62757 ; B 0 0 580 553 ; -C -1 ; WX 600 ; N afii62758 ; B 0 0 600 551 ; -C -1 ; WX 600 ; N afii57415 ; B 250 29 306 567 ; -C -1 ; WX 600 ; N afii62760 ; B 246 0 600 562 ; -C -1 ; WX 600 ; N afii57416 ; B 18 -210 578 333 ; -C -1 ; WX 600 ; N afii62763 ; B 18 -221 600 328 ; -C -1 ; WX 600 ; N afii62761 ; B 0 -200 580 333 ; -C -1 ; WX 600 ; N afii62762 ; B 0 -217 600 329 ; -C -1 ; WX 600 ; N afii57417 ; B 223 -4 454 527 ; -C -1 ; WX 600 ; N afii62764 ; B 189 0 600 585 ; -C -1 ; WX 600 ; N afii57418 ; B 18 0 578 440 ; -C -1 ; WX 600 ; N afii62767 ; B 18 0 600 440 ; -C -1 ; WX 600 ; N afii62765 ; B 0 0 586 535 ; -C -1 ; WX 600 ; N afii62766 ; B 0 0 600 525 ; -C -1 ; WX 600 ; N afii57419 ; B 18 0 578 532 ; -C -1 ; WX 600 ; N afii62770 ; B 18 0 600 529 ; -C -1 ; WX 600 ; N afii62768 ; B 0 0 595 638 ; -C -1 ; WX 600 ; N afii62769 ; B 0 0 600 606 ; -C -1 ; WX 600 ; N afii57420 ; B 133 -274 591 263 ; -C -1 ; WX 600 ; N afii62773 ; B 77 -274 600 323 ; -C -1 ; WX 600 ; N afii62771 ; B 0 -200 585 319 ; -C -1 ; WX 600 ; N afii62772 ; B 0 -200 600 323 ; -C -1 ; WX 600 ; N afii57421 ; B 133 -274 591 263 ; -C -1 ; WX 600 ; N afii62776 ; B 77 -274 600 323 ; -C -1 ; WX 600 ; N afii62774 ; B 0 0 585 319 ; -C -1 ; WX 600 ; N afii62775 ; B 0 0 600 323 ; -C -1 ; WX 600 ; N afii57422 ; B 133 -274 591 498 ; -C -1 ; WX 600 ; N afii62779 ; B 77 -274 600 492 ; -C -1 ; WX 600 ; N afii62777 ; B 0 0 585 498 ; -C -1 ; WX 600 ; N afii62778 ; B 0 0 600 524 ; -C -1 ; WX 600 ; N afii57423 ; B 202 -6 491 397 ; -C -1 ; WX 600 ; N afii62780 ; B 165 0 600 415 ; -C -1 ; WX 600 ; N afii57424 ; B 202 -6 491 587 ; -C -1 ; WX 600 ; N afii62781 ; B 165 0 600 586 ; -C -1 ; WX 600 ; N afii57425 ; B 70 -205 468 324 ; -C -1 ; WX 600 ; N afii62782 ; B 49 -206 600 328 ; -C -1 ; WX 600 ; N afii57426 ; B 70 -205 468 516 ; -C -1 ; WX 600 ; N afii62783 ; B 49 -206 600 521 ; -C -1 ; WX 600 ; N afii57427 ; B 3 -181 560 329 ; -C -1 ; WX 600 ; N afii62786 ; B 3 -181 600 328 ; -C -1 ; WX 600 ; N afii62784 ; B 0 0 554 328 ; -C -1 ; WX 600 ; N afii62785 ; B 0 0 600 322 ; -C -1 ; WX 600 ; N afii57428 ; B 3 -181 560 574 ; -C -1 ; WX 600 ; N afii62789 ; B 3 -181 600 574 ; -C -1 ; WX 600 ; N afii62787 ; B 0 0 554 569 ; -C -1 ; WX 600 ; N afii62788 ; B 0 0 600 568 ; -C -1 ; WX 600 ; N afii57429 ; B 0 -188 595 305 ; -C -1 ; WX 600 ; N afii62792 ; B 0 -188 600 305 ; -C -1 ; WX 600 ; N afii62790 ; B 0 -1 573 302 ; -C -1 ; WX 600 ; N afii62791 ; B 0 -1 600 302 ; -C -1 ; WX 600 ; N afii57430 ; B 0 -188 595 478 ; -C -1 ; WX 600 ; N afii62795 ; B 0 -188 600 478 ; -C -1 ; WX 600 ; N afii62793 ; B 0 -1 573 481 ; -C -1 ; WX 600 ; N afii62794 ; B 0 -1 600 481 ; -C -1 ; WX 600 ; N afii57431 ; B 6 0 573 563 ; -C -1 ; WX 600 ; N afii62798 ; B 5 0 600 563 ; -C -1 ; WX 600 ; N afii62796 ; B 0 0 573 563 ; -C -1 ; WX 600 ; N afii62797 ; B 0 0 600 563 ; -C -1 ; WX 600 ; N afii57432 ; B 6 0 573 563 ; -C -1 ; WX 600 ; N afii62801 ; B 5 0 600 563 ; -C -1 ; WX 600 ; N afii62799 ; B 0 0 573 563 ; -C -1 ; WX 600 ; N afii62800 ; B 0 0 600 563 ; -C -1 ; WX 600 ; N afii57433 ; B 138 -274 596 331 ; -C -1 ; WX 600 ; N afii62804 ; B 139 -274 600 312 ; -C -1 ; WX 600 ; N afii62802 ; B 0 0 458 334 ; -C -1 ; WX 600 ; N afii62803 ; B 0 0 600 312 ; -C -1 ; WX 600 ; N afii57434 ; B 138 -274 596 548 ; -C -1 ; WX 600 ; N afii62807 ; B 139 -274 600 548 ; -C -1 ; WX 600 ; N afii62805 ; B 0 0 458 552 ; -C -1 ; WX 600 ; N afii62806 ; B 0 0 600 549 ; -C -1 ; WX 600 ; N afii57441 ; B 5 -3 590 586 ; -C -1 ; WX 600 ; N afii62810 ; B 3 -33 600 514 ; -C -1 ; WX 600 ; N afii62808 ; B 0 0 589 578 ; -C -1 ; WX 600 ; N afii62809 ; B 0 0 600 534 ; -C -1 ; WX 600 ; N afii57442 ; B 81 -187 563 520 ; -C -1 ; WX 600 ; N afii62813 ; B 104 -174 600 458 ; -C -1 ; WX 600 ; N afii62811 ; B 0 0 589 583 ; -C -1 ; WX 600 ; N afii62812 ; B 0 0 600 540 ; -C -1 ; WX 600 ; N afii57443 ; B 88 -9 590 575 ; -C -1 ; WX 600 ; N afii62816 ; B 27 -16 600 564 ; -C -1 ; WX 600 ; N afii57410 ; B 0 0 600 566 ; -C -1 ; WX 600 ; N afii62815 ; B 0 0 600 566 ; -C -1 ; WX 600 ; N afii57444 ; B 129 -98 552 567 ; -C -1 ; WX 600 ; N afii62819 ; B 55 -157 600 567 ; -C -1 ; WX 600 ; N afii62817 ; B 0 0 561 572 ; -C -1 ; WX 600 ; N afii62818 ; B 0 0 600 567 ; -C -1 ; WX 600 ; N afii57445 ; B 212 -274 600 289 ; -C -1 ; WX 600 ; N afii62822 ; B 212 -274 600 289 ; -C -1 ; WX 600 ; N afii62820 ; B 0 -4 576 313 ; -C -1 ; WX 600 ; N afii62821 ; B 0 -3 600 313 ; -C -1 ; WX 600 ; N afii57446 ; B 124 -188 560 476 ; -C -1 ; WX 600 ; N afii62825 ; B 69 -206 600 470 ; -C -1 ; WX 600 ; N afii62823 ; B 0 0 580 534 ; -C -1 ; WX 600 ; N afii62824 ; B 0 0 600 514 ; -C -1 ; WX 600 ; N afii57447 ; B 244 -4 454 333 ; -C -1 ; WX 600 ; N afii62828 ; B 189 0 600 417 ; -C -1 ; WX 600 ; N afii57470 ; B 0 0 437 324 ; -C -1 ; WX 600 ; N afii62827 ; B 0 -207 600 316 ; -C -1 ; WX 600 ; N afii57448 ; B 96 -200 455 275 ; -C -1 ; WX 600 ; N afii62829 ; B 94 -200 600 275 ; -C -1 ; WX 600 ; N afii57449 ; B 83 -119 523 325 ; -C -1 ; WX 600 ; N afii62830 ; B 55 -274 600 60 ; -C -1 ; WX 600 ; N afii57450 ; B 83 -274 523 325 ; -C -1 ; WX 600 ; N afii62833 ; B 58 -274 600 61 ; -C -1 ; WX 600 ; N afii62831 ; B 0 -223 580 333 ; -C -1 ; WX 600 ; N afii62832 ; B 0 -223 600 329 ; -C -1 ; WX 600 ; N afii62834 ; B 50 0 462 655 ; -C -1 ; WX 600 ; N afii62835 ; B 75 -40 600 632 ; -C -1 ; WX 600 ; N afii62836 ; B 63 0 462 750 ; -C -1 ; WX 600 ; N afii62837 ; B 79 -40 600 692 ; -C -1 ; WX 600 ; N afii62838 ; B 76 -274 462 567 ; -C -1 ; WX 600 ; N afii62839 ; B 105 -274 600 567 ; -C -1 ; WX 600 ; N afii62840 ; B 76 0 462 567 ; -C -1 ; WX 600 ; N afii62841 ; B 105 -40 600 567 ; -C -1 ; WX 600 ; N glyph1021 ; B 262 417 370 524 ; -C -1 ; WX 600 ; N afii57543-2 ; B 227 511 361 693 ; -C -1 ; WX 600 ; N afii57454-2 ; B 232 512 367 590 ; -C -1 ; WX 600 ; N afii57451-2 ; B 232 512 367 668 ; -C -1 ; WX 600 ; N glyph1025 ; B 47 0 462 849 ; -C -1 ; WX 600 ; N glyph1026 ; B 37 0 462 927 ; -C -1 ; WX 600 ; N afii57471-2 ; B 201 519 396 685 ; -C -1 ; WX 600 ; N afii57458-2 ; B 232 541 354 683 ; -C -1 ; WX 600 ; N afii57457-2 ; B 224 525 366 665 ; -C -1 ; WX 600 ; N afii57494-2 ; B 131 539 435 621 ; -C -1 ; WX 600 ; N afii57459-2 ; B 286 550 318 778 ; -C -1 ; WX 600 ; N afii57455-2 ; B 205 512 368 718 ; -C -1 ; WX 600 ; N afii57452-2 ; B 199 513 378 720 ; -C -1 ; WX 600 ; N glyph1034 ; B 45 0 462 920 ; -C -1 ; WX 600 ; N glyph1035 ; B 16 0 462 988 ; -C -1 ; WX 600 ; N glyph1036 ; B 2 0 462 980 ; -C -1 ; WX 600 ; N afii62884-2 ; B 222 523 364 718 ; -C -1 ; WX 600 ; N afii62881-2 ; B 224 525 366 796 ; -C -1 ; WX 600 ; N afii62886-2 ; B 224 509 366 729 ; -C -1 ; WX 600 ; N afii62883-2 ; B 229 510 371 807 ; -C -1 ; WX 600 ; N afii62885-2 ; B 207 523 370 848 ; -C -1 ; WX 600 ; N afii62882-2 ; B 189 524 368 849 ; -C -1 ; WX 600 ; N afii57504-2 ; B 232 -504 366 -322 ; -C -1 ; WX 600 ; N afii57456-2 ; B 212 -384 346 -306 ; -C -1 ; WX 600 ; N afii57453-2 ; B 212 -461 347 -305 ; -C -1 ; WX 600 ; N glyph1046 ; B 76 -346 462 567 ; -C -1 ; WX 600 ; N glyph1047 ; B 76 -424 462 567 ; -C -1 ; WX 600 ; N afii57543-3 ; B 239 382 373 564 ; -C -1 ; WX 600 ; N afii57454-3 ; B 245 383 379 461 ; -C -1 ; WX 600 ; N afii57451-3 ; B 245 383 379 539 ; -C -1 ; WX 600 ; N glyph1051 ; B 57 -40 600 791 ; -C -1 ; WX 600 ; N glyph1052 ; B 52 -40 600 869 ; -C -1 ; WX 600 ; N afii57471-3 ; B 213 390 409 555 ; -C -1 ; WX 600 ; N afii57458-3 ; B 244 406 366 548 ; -C -1 ; WX 600 ; N afii57457-3 ; B 236 396 378 535 ; -C -1 ; WX 600 ; N afii57494-3 ; B 144 409 447 492 ; -C -1 ; WX 600 ; N afii57459-3 ; B 298 421 331 649 ; -C -1 ; WX 600 ; N afii57455-3 ; B 217 383 380 589 ; -C -1 ; WX 600 ; N afii57452-3 ; B 211 384 390 591 ; -C -1 ; WX 600 ; N glyph1060 ; B 62 -40 600 863 ; -C -1 ; WX 600 ; N glyph1061 ; B 32 -40 600 930 ; -C -1 ; WX 600 ; N glyph1062 ; B 19 -40 600 923 ; -C -1 ; WX 600 ; N afii62884-3 ; B 234 394 376 589 ; -C -1 ; WX 600 ; N afii62881-3 ; B 236 396 378 667 ; -C -1 ; WX 600 ; N afii62886-3 ; B 236 380 378 599 ; -C -1 ; WX 600 ; N afii62883-3 ; B 241 380 383 678 ; -C -1 ; WX 600 ; N afii62885-3 ; B 219 394 382 719 ; -C -1 ; WX 600 ; N afii62882-3 ; B 201 395 380 719 ; -C -1 ; WX 600 ; N afii57504-3 ; B 222 -680 356 -498 ; -C -1 ; WX 600 ; N afii57456-3 ; B 202 -560 336 -482 ; -C -1 ; WX 600 ; N afii57453-3 ; B 202 -637 337 -480 ; -C -1 ; WX 600 ; N glyph1072 ; B 105 -346 600 567 ; -C -1 ; WX 600 ; N glyph1073 ; B 105 -424 600 567 ; -C -1 ; WX 600 ; N afii57543-4 ; B 95 580 229 762 ; -C -1 ; WX 600 ; N afii57454-4 ; B 101 581 235 659 ; -C -1 ; WX 600 ; N afii57451-4 ; B 100 581 235 737 ; -C -1 ; WX 600 ; N glyph1077 ; B 177 29 333 833 ; -C -1 ; WX 600 ; N glyph1078 ; B 182 29 333 911 ; -C -1 ; WX 600 ; N afii57471-4 ; B 69 587 265 753 ; -C -1 ; WX 600 ; N afii57458-4 ; B 100 604 222 746 ; -C -1 ; WX 600 ; N afii57457-4 ; B 92 594 234 733 ; -C -1 ; WX 600 ; N afii57494-4 ; B 0 607 304 689 ; -C -1 ; WX 600 ; N afii57459-4 ; B 154 619 187 847 ; -C -1 ; WX 600 ; N afii57455-4 ; B 73 581 236 787 ; -C -1 ; WX 600 ; N afii57452-4 ; B 67 582 246 789 ; -C -1 ; WX 600 ; N glyph1086 ; B 187 29 333 920 ; -C -1 ; WX 600 ; N glyph1087 ; B 133 29 333 948 ; -C -1 ; WX 600 ; N glyph1088 ; B 116 29 333 947 ; -C -1 ; WX 600 ; N afii62884-4 ; B 90 592 232 787 ; -C -1 ; WX 600 ; N afii62881-4 ; B 92 594 234 864 ; -C -1 ; WX 600 ; N afii62886-4 ; B 92 578 234 797 ; -C -1 ; WX 600 ; N afii62883-4 ; B 97 578 239 875 ; -C -1 ; WX 600 ; N afii62885-4 ; B 75 592 238 917 ; -C -1 ; WX 600 ; N afii62882-4 ; B 57 593 236 917 ; -C -1 ; WX 600 ; N afii57504-4 ; B 190 -274 324 -92 ; -C -1 ; WX 600 ; N afii57456-4 ; B 170 -165 305 -86 ; -C -1 ; WX 600 ; N afii57453-4 ; B 170 -241 305 -85 ; -C -1 ; WX 600 ; N glyph1098 ; B 218 -310 364 567 ; -C -1 ; WX 600 ; N glyph1099 ; B 218 -388 360 567 ; -C -1 ; WX 600 ; N glyph1100 ; B 217 329 426 440 ; -C -1 ; WX 600 ; N glyph1101 ; B 200 322 410 532 ; -C -1 ; WX 600 ; N glyph1102 ; B 234 -274 443 -64 ; -C -1 ; WX 600 ; N glyph1103 ; B 0 -207 580 333 ; -C -1 ; WX 600 ; N glyph1104 ; B 18 0 578 333 ; -C -1 ; WX 600 ; N glyph1105 ; B 18 0 600 328 ; -C -1 ; WX 600 ; N glyph1106 ; B 0 0 580 333 ; -C -1 ; WX 600 ; N glyph1107 ; B 0 0 600 329 ; -C -1 ; WX 600 ; N glyph1108 ; B 5 -3 590 391 ; -C -1 ; WX 600 ; N glyph1109 ; B 3 -33 600 316 ; -C -1 ; WX 600 ; N glyph1110 ; B 0 0 589 391 ; -C -1 ; WX 600 ; N glyph1111 ; B 0 0 600 346 ; -C -1 ; WX 600 ; N glyph1112 ; B 117 -274 537 332 ; -C -1 ; WX 600 ; N glyph1113 ; B 74 -151 521 308 ; -C -1 ; WX 600 ; N glyph1114 ; B 77 -151 523 347 ; -C -1 ; WX 600 ; N glyph1115 ; B 0 -208 600 306 ; -C -1 ; WX 600 ; N glyph1116 ; B 14 -187 600 301 ; -C -1 ; WX 600 ; N glyph1117 ; B 21 -274 600 166 ; -C -1 ; WX 600 ; N glyph1118 ; B 0 0 584 472 ; -C -1 ; WX 600 ; N glyph1119 ; B 0 0 541 406 ; -C -1 ; WX 600 ; N glyph1120 ; B 160 0 600 834 ; -C -1 ; WX 600 ; N glyph1121 ; B 160 0 600 913 ; -C -1 ; WX 600 ; N glyph1122 ; B 168 0 600 925 ; -C -1 ; WX 600 ; N glyph1123 ; B 119 0 600 948 ; -C -1 ; WX 600 ; N glyph1124 ; B 106 0 600 947 ; -C -1 ; WX 600 ; N glyph1125 ; B 246 -323 600 562 ; -C -1 ; WX 600 ; N glyph1126 ; B 246 -401 600 562 ; -C -1 ; WX 600 ; N uniFFFC ; B 0 0 600 431 ; -C -1 ; WX 600 ; N Ohorn ; B 51 -16 600 584 ; -C -1 ; WX 600 ; N ohorn ; B 71 -16 571 438 ; -C -1 ; WX 600 ; N Uhorn ; B 41 -16 600 649 ; -C -1 ; WX 600 ; N uhorn ; B 44 -16 574 437 ; -C -1 ; WX 600 ; N _d_1133 ; B 219 682 416 785 ; -C -1 ; WX 600 ; N _d_1134 ; B 200 682 396 785 ; -C -1 ; WX 600 ; N _d_1135 ; B 199 632 366 783 ; -C -1 ; WX 600 ; N f006 ; B 221 682 417 785 ; -C -1 ; WX 600 ; N f007 ; B 224 682 421 785 ; -C -1 ; WX 600 ; N f009 ; B 219 632 386 783 ; -C -1 ; WX 600 ; N combininghookabove ; B 216 638 374 763 ; -C -1 ; WX 600 ; N f010 ; B 221 699 363 783 ; -C -1 ; WX 600 ; N f013 ; B 208 643 366 783 ; -C -1 ; WX 600 ; N f011 ; B 215 699 357 783 ; -C -1 ; WX 600 ; N f01c ; B 146 671 458 772 ; -C -1 ; WX 600 ; N f015 ; B 143 682 454 783 ; -C -1 ; WX 600 ; N combiningtildeaccent ; B 137 682 448 783 ; -C -1 ; WX 600 ; N _d_1146 ; B 171 593 436 675 ; -C -1 ; WX 600 ; N _d_1147 ; B 158 591 420 676 ; -C -1 ; WX 600 ; N f02c ; B 436 -158 536 -58 ; -C -1 ; WX 600 ; N dongsign ; B 98 112 495 613 ; -C -1 ; WX 600 ; N onethird ; B 0 -8 600 626 ; -C -1 ; WX 600 ; N twothirds ; B 0 -8 600 627 ; -C -1 ; WX 600 ; N f008 ; B 203 499 370 649 ; -C -1 ; WX 600 ; N _d_1153 ; B 217 499 384 649 ; -C -1 ; WX 600 ; N _d_1154 ; B 206 499 373 649 ; -C -1 ; WX 600 ; N f00f ; B 220 499 387 649 ; -C -1 ; WX 600 ; N f012 ; B 214 499 372 624 ; -C -1 ; WX 600 ; N f014 ; B 214 499 372 624 ; -C -1 ; WX 600 ; N f016 ; B 146 671 458 772 ; -C -1 ; WX 600 ; N f017 ; B 146 671 458 772 ; -C -1 ; WX 600 ; N f018 ; B 146 671 458 772 ; -C -1 ; WX 600 ; N f019 ; B 145 489 456 589 ; -C -1 ; WX 600 ; N f01a ; B 145 489 456 589 ; -C -1 ; WX 600 ; N f01b ; B 145 489 456 589 ; -C -1 ; WX 600 ; N f01e ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f01f ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f020 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f021 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f022 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N combininggraveaccent ; B 221 632 388 783 ; -C -1 ; WX 600 ; N combiningacuteaccent ; B 207 632 374 783 ; -C -1 ; WX 600 ; N f01d ; B 145 489 456 589 ; -C -1 ; WX 600 ; N combiningdotbelow ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f023 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f029 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f02a ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f02b ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f024 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f025 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f026 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f027 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f028 ; B 250 -158 350 -58 ; -C -1 ; WX 600 ; N f02d ; B 157 682 469 783 ; -C -1 ; WX 600 ; N f02e ; B 146 671 458 772 ; -C -1 ; WX 600 ; N f02f ; B 157 682 469 783 ; -C -1 ; WX 600 ; N f030 ; B 146 671 458 772 ; -C -1 ; WX 600 ; N Adotbelow ; B 8 -158 593 571 ; -C -1 ; WX 600 ; N adotbelow ; B 70 -158 542 438 ; -C -1 ; WX 600 ; N Ahookabove ; B 8 0 593 763 ; -C -1 ; WX 600 ; N ahookabove ; B 70 -16 542 624 ; -C -1 ; WX 600 ; N Acircumflexacute ; B 8 0 593 785 ; -C -1 ; WX 600 ; N acircumflexacute ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Acircumflexgrave ; B 8 0 593 785 ; -C -1 ; WX 600 ; N acircumflexgrave ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Acircumflexhookabove ; B 8 0 593 783 ; -C -1 ; WX 600 ; N acircumflexhookabove ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Acircumflextilde ; B 8 0 593 783 ; -C -1 ; WX 600 ; N acircumflextilde ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Acircumflexdotbelow ; B 8 -158 593 676 ; -C -1 ; WX 600 ; N acircumflexdotbelow ; B 70 -158 542 640 ; -C -1 ; WX 600 ; N Abreveacute ; B 8 0 593 785 ; -C -1 ; WX 600 ; N abreveacute ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Abrevegrave ; B 8 0 593 785 ; -C -1 ; WX 600 ; N abrevegrave ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Abrevehookabove ; B 8 0 593 783 ; -C -1 ; WX 600 ; N abrevehookabove ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Abrevetilde ; B 8 0 593 783 ; -C -1 ; WX 600 ; N abrevetilde ; B 70 -16 542 783 ; -C -1 ; WX 600 ; N Abrevedotbelow ; B 8 -158 593 675 ; -C -1 ; WX 600 ; N abrevedotbelow ; B 70 -158 542 634 ; -C -1 ; WX 600 ; N Edotbelow ; B 43 -158 523 571 ; -C -1 ; WX 600 ; N edotbelow ; B 63 -158 523 438 ; -C -1 ; WX 600 ; N Ehookabove ; B 43 0 523 763 ; -C -1 ; WX 600 ; N ehookabove ; B 63 -16 523 624 ; -C -1 ; WX 600 ; N Etilde ; B 43 0 523 720 ; -C -1 ; WX 600 ; N etilde ; B 63 -16 523 589 ; -C -1 ; WX 600 ; N Ecircumflexacute ; B 43 0 523 785 ; -C -1 ; WX 600 ; N ecircumflexacute ; B 63 -16 523 783 ; -C -1 ; WX 600 ; N Ecircumflexgrave ; B 43 0 523 785 ; -C -1 ; WX 600 ; N ecircumflexgrave ; B 63 -16 523 783 ; -C -1 ; WX 600 ; N Ecircumflexhookabove ; B 43 0 523 783 ; -C -1 ; WX 600 ; N ecircumflexhookabove ; B 63 -16 523 783 ; -C -1 ; WX 600 ; N Ecircumflextilde ; B 43 0 523 783 ; -C -1 ; WX 600 ; N ecircumflextilde ; B 63 -16 523 783 ; -C -1 ; WX 600 ; N Ecircumflexdotbelow ; B 43 -158 523 676 ; -C -1 ; WX 600 ; N ecircumflexdotbelow ; B 63 -158 523 640 ; -C -1 ; WX 600 ; N Ihookabove ; B 112 0 489 763 ; -C -1 ; WX 600 ; N ihookabove ; B 91 0 511 624 ; -C -1 ; WX 600 ; N Idotbelow ; B 112 -158 489 571 ; -C -1 ; WX 600 ; N idotbelow ; B 92 -158 511 633 ; -C -1 ; WX 600 ; N Odotbelow ; B 0 -158 500 584 ; -C -1 ; WX 600 ; N odotbelow ; B 71 -158 529 438 ; -C -1 ; WX 600 ; N Ohookabove ; B 0 -16 500 763 ; -C -1 ; WX 600 ; N ohookabove ; B 71 -16 529 624 ; -C -1 ; WX 600 ; N Ocircumflexacute ; B 0 -16 500 785 ; -C -1 ; WX 600 ; N ocircumflexacute ; B 71 -16 529 783 ; -C -1 ; WX 600 ; N Ocircumflexgrave ; B 0 -16 500 785 ; -C -1 ; WX 600 ; N ocircumflexgrave ; B 71 -16 529 783 ; -C -1 ; WX 600 ; N Ocircumflexhookabove ; B 0 -16 500 783 ; -C -1 ; WX 600 ; N ocircumflexhookabove ; B 71 -16 529 783 ; -C -1 ; WX 600 ; N Ocircumflextilde ; B 0 -16 500 783 ; -C -1 ; WX 600 ; N ocircumflextilde ; B 71 -16 529 783 ; -C -1 ; WX 600 ; N Ocircumflexdotbelow ; B 0 -158 500 676 ; -C -1 ; WX 600 ; N ocircumflexdotbelow ; B 71 -158 529 640 ; -C -1 ; WX 600 ; N Ohornacute ; B 51 -16 600 779 ; -C -1 ; WX 600 ; N ohornacute ; B 71 -16 571 649 ; -C -1 ; WX 600 ; N Ohorngrave ; B 51 -16 600 779 ; -C -1 ; WX 600 ; N ohorngrave ; B 71 -16 571 649 ; -C -1 ; WX 600 ; N Ohornhookabove ; B 51 -16 600 763 ; -C -1 ; WX 600 ; N ohornhookabove ; B 71 -16 571 624 ; -C -1 ; WX 600 ; N Ohorntilde ; B 51 -16 600 720 ; -C -1 ; WX 600 ; N ohorntilde ; B 71 -16 571 589 ; -C -1 ; WX 600 ; N Ohorndotbelow ; B 51 -158 600 584 ; -C -1 ; WX 600 ; N ohorndotbelow ; B 71 -158 571 438 ; -C -1 ; WX 600 ; N Udotbelow ; B 41 -158 561 571 ; -C -1 ; WX 600 ; N udotbelow ; B 44 -158 543 423 ; -C -1 ; WX 600 ; N Uhookabove ; B 41 -16 561 763 ; -C -1 ; WX 600 ; N uhookabove ; B 44 -16 543 624 ; -C -1 ; WX 600 ; N Uhornacute ; B 41 -16 600 779 ; -C -1 ; WX 600 ; N uhornacute ; B 44 -16 574 649 ; -C -1 ; WX 600 ; N Uhorngrave ; B 41 -16 600 779 ; -C -1 ; WX 600 ; N uhorngrave ; B 44 -16 574 649 ; -C -1 ; WX 600 ; N Uhornhookabove ; B 41 -16 600 763 ; -C -1 ; WX 600 ; N uhornhookabove ; B 44 -16 574 624 ; -C -1 ; WX 600 ; N Uhorntilde ; B 41 -16 600 720 ; -C -1 ; WX 600 ; N uhorntilde ; B 44 -16 574 589 ; -C -1 ; WX 600 ; N Uhorndotbelow ; B 41 -158 600 649 ; -C -1 ; WX 600 ; N uhorndotbelow ; B 44 -158 574 437 ; -C -1 ; WX 600 ; N Ydotbelow ; B 48 -158 551 571 ; -C -1 ; WX 600 ; N ydotbelow ; B 73 -188 574 423 ; -C -1 ; WX 600 ; N Yhookabove ; B 48 0 551 763 ; -C -1 ; WX 600 ; N yhookabove ; B 73 -188 574 624 ; -C -1 ; WX 600 ; N Ytilde ; B 48 0 551 720 ; -C -1 ; WX 600 ; N ytilde ; B 73 -188 574 589 ; -C -1 ; WX 600 ; N uni01CD ; B 8 0 593 763 ; -C -1 ; WX 600 ; N uni01CE ; B 70 -16 542 634 ; -C -1 ; WX 600 ; N uni01CF ; B 112 0 489 763 ; -C -1 ; WX 600 ; N uni01D0 ; B 91 0 511 634 ; -C -1 ; WX 600 ; N uni01D1 ; B 0 -16 500 763 ; -C -1 ; WX 600 ; N uni01D2 ; B 71 -16 529 634 ; -C -1 ; WX 600 ; N uni01D3 ; B 41 -16 561 763 ; -C -1 ; WX 600 ; N uni01D4 ; B 44 -16 543 634 ; -C -1 ; WX 600 ; N uni01D5 ; B 41 -16 561 782 ; -C -1 ; WX 600 ; N uni01D6 ; B 44 -16 543 703 ; -C -1 ; WX 600 ; N uni01D7 ; B 41 -16 561 783 ; -C -1 ; WX 600 ; N uni01D8 ; B 44 -16 543 771 ; -C -1 ; WX 600 ; N uni01D9 ; B 41 -16 561 783 ; -C -1 ; WX 600 ; N uni01DA ; B 44 -16 543 761 ; -C -1 ; WX 600 ; N uni01DB ; B 41 -16 561 783 ; -C -1 ; WX 600 ; N uni01DC ; B 44 -16 543 771 ; -C -1 ; WX 600 ; N _d_1290 ; B 148 624 453 782 ; -C -1 ; WX 600 ; N _d_1291 ; B 135 624 466 783 ; -C -1 ; WX 600 ; N _d_1292 ; B 120 624 481 783 ; -C -1 ; WX 600 ; N _d_1293 ; B 135 624 466 783 ; -C -1 ; WX 600 ; N uni0492 ; B 62 0 542 571 ; -C -1 ; WX 600 ; N uni0493 ; B 74 0 531 423 ; -C -1 ; WX 600 ; N uni0496 ; B -2 -140 596 571 ; -C -1 ; WX 600 ; N uni0497 ; B 10 -103 597 423 ; -C -1 ; WX 600 ; N uni049a ; B 58 -140 595 572 ; -C -1 ; WX 600 ; N uni049b ; B 59 -103 580 423 ; -C -1 ; WX 600 ; N uni049c ; B 58 0 587 572 ; -C -1 ; WX 600 ; N uni049d ; B 59 0 572 423 ; -C -1 ; WX 600 ; N uni04a2 ; B 52 -140 569 571 ; -C -1 ; WX 600 ; N uni04a3 ; B 52 -103 563 423 ; -C -1 ; WX 600 ; N uni04ae ; B 48 0 551 571 ; -C -1 ; WX 600 ; N uni04af ; B 73 -188 574 423 ; -C -1 ; WX 600 ; N uni04b0 ; B 48 0 551 571 ; -C -1 ; WX 600 ; N uni04b1 ; B 73 -188 574 423 ; -C -1 ; WX 600 ; N uni04b2 ; B 39 -140 577 571 ; -C -1 ; WX 600 ; N uni04b3 ; B 49 -103 551 423 ; -C -1 ; WX 600 ; N uni04b8 ; B 20 0 547 571 ; -C -1 ; WX 600 ; N uni04b9 ; B 34 0 546 423 ; -C -1 ; WX 600 ; N uni04ba ; B 52 0 580 571 ; -C -1 ; WX 600 ; N uni04bb ; B 53 0 565 423 ; -C -1 ; WX 600 ; N uni018f ; B 32 -16 555 584 ; -C -1 ; WX 600 ; N uni0259 ; B 63 -16 523 438 ; -C -1 ; WX 600 ; N uni04e8 ; B 51 -16 551 584 ; -C -1 ; WX 600 ; N uni04e9 ; B 71 -16 529 438 ; -EndCharMetrics -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/cour.ttf b/thirdparty/html2ps_pdf/fonts/cour.ttf deleted file mode 100644 index 2c99e08c2..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/cour.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/courbd.afm b/thirdparty/html2ps_pdf/fonts/courbd.afm deleted file mode 100644 index 238331fe4..000000000 --- a/thirdparty/html2ps_pdf/fonts/courbd.afm +++ /dev/null @@ -1,1372 +0,0 @@ -StartFontMetrics 4.1 -FontName CourierNewPS-BoldMT -FullName Courier New Bold -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Courier New -Weight Bold -Version Version 2.90 -Characters 1318 -ItalicAngle 0.0 -Ascender 833 -Descender -300 -UnderlineThickness 100 -UnderlinePosition -233 -IsFixedPitch true -FontBBox -46 -710 702 1221 -StartCharMetrics 1353 -C 0 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 600 ; N space ; B 217 -15 377 648 ; -C 33 ; WX 600 ; N exclam ; B 217 -15 377 648 ; -C 34 ; WX 600 ; N quotedbl ; B 129 332 466 604 ; -C 35 ; WX 600 ; N numbersign ; B 60 -94 538 686 ; -C 36 ; WX 600 ; N dollar ; B 81 -125 519 695 ; -C 37 ; WX 600 ; N percent ; B 77 -15 525 627 ; -C 38 ; WX 600 ; N ampersand ; B 110 -15 548 558 ; -C 39 ; WX 600 ; N quotesingle ; B 235 318 364 611 ; -C 40 ; WX 600 ; N parenleft ; B 264 -156 489 642 ; -C 41 ; WX 600 ; N parenright ; B 118 -156 343 642 ; -C 42 ; WX 600 ; N asterisk ; B 81 212 517 632 ; -C 43 ; WX 600 ; N plus ; B 40 0 560 568 ; -C 44 ; WX 600 ; N comma ; B 204 -161 410 135 ; -C 45 ; WX 600 ; N hyphen ; B 92 238 510 330 ; -C 46 ; WX 600 ; N period ; B 226 -16 376 117 ; -C 47 ; WX 600 ; N slash ; B 83 -115 518 706 ; -C 48 ; WX 600 ; N zero ; B 82 -15 519 648 ; -C 49 ; WX 600 ; N one ; B 83 0 519 648 ; -C 50 ; WX 600 ; N two ; B 54 0 510 648 ; -C 51 ; WX 600 ; N three ; B 66 -15 531 648 ; -C 52 ; WX 600 ; N four ; B 75 0 509 632 ; -C 53 ; WX 600 ; N five ; B 64 -15 531 632 ; -C 54 ; WX 600 ; N six ; B 105 -15 542 648 ; -C 55 ; WX 600 ; N seven ; B 74 -1 509 632 ; -C 56 ; WX 600 ; N eight ; B 83 -15 519 648 ; -C 57 ; WX 600 ; N nine ; B 105 -15 542 648 ; -C 58 ; WX 600 ; N colon ; B 225 -18 376 443 ; -C 59 ; WX 600 ; N semicolon ; B 197 -106 422 441 ; -C 60 ; WX 600 ; N less ; B -13 2 560 568 ; -C 61 ; WX 600 ; N equal ; B 20 141 582 429 ; -C 62 ; WX 600 ; N greater ; B 41 2 614 568 ; -C 63 ; WX 600 ; N question ; B 103 -14 519 607 ; -C 64 ; WX 600 ; N at ; B 88 -83 498 648 ; -C 65 ; WX 600 ; N A ; B -22 0 623 592 ; -C 66 ; WX 600 ; N B ; B 13 0 574 592 ; -C 67 ; WX 600 ; N C ; B 31 -15 566 607 ; -C 68 ; WX 600 ; N D ; B 14 0 552 592 ; -C 69 ; WX 600 ; N E ; B 15 0 553 592 ; -C 70 ; WX 600 ; N F ; B 49 0 587 592 ; -C 71 ; WX 600 ; N G ; B 32 -15 595 607 ; -C 72 ; WX 600 ; N H ; B 22 0 583 592 ; -C 73 ; WX 600 ; N I ; B 82 0 518 592 ; -C 74 ; WX 600 ; N J ; B 54 -15 614 592 ; -C 75 ; WX 600 ; N K ; B 13 0 605 592 ; -C 76 ; WX 600 ; N L ; B 33 0 574 592 ; -C 77 ; WX 600 ; N M ; B -19 0 624 592 ; -C 78 ; WX 600 ; N N ; B -8 0 593 592 ; -C 79 ; WX 600 ; N O ; B 20 -15 581 607 ; -C 80 ; WX 600 ; N P ; B 60 0 577 592 ; -C 81 ; WX 600 ; N Q ; B 20 -148 581 607 ; -C 82 ; WX 600 ; N R ; B 14 0 621 592 ; -C 83 ; WX 600 ; N S ; B 62 -15 540 607 ; -C 84 ; WX 600 ; N T ; B 40 0 559 592 ; -C 85 ; WX 600 ; N U ; B 11 -15 591 592 ; -C 86 ; WX 600 ; N V ; B -23 0 623 592 ; -C 87 ; WX 600 ; N W ; B -11 0 612 592 ; -C 88 ; WX 600 ; N X ; B 11 0 592 592 ; -C 89 ; WX 600 ; N Y ; B 21 0 581 592 ; -C 90 ; WX 600 ; N Z ; B 74 0 529 592 ; -C 91 ; WX 600 ; N bracketleft ; B 249 -156 477 632 ; -C 92 ; WX 600 ; N backslash ; B 83 -112 518 706 ; -C 93 ; WX 600 ; N bracketright ; B 124 -156 351 632 ; -C 94 ; WX 600 ; N asciicircum ; B 82 331 518 662 ; -C 95 ; WX 600 ; N underscore ; B -40 -300 644 -200 ; -C 96 ; WX 600 ; N grave ; B 205 501 396 667 ; -C 97 ; WX 600 ; N a ; B 43 -17 574 457 ; -C 98 ; WX 600 ; N b ; B -10 -16 573 633 ; -C 99 ; WX 600 ; N c ; B 56 -17 568 457 ; -C 100 ; WX 600 ; N d ; B 30 -16 614 633 ; -C 101 ; WX 600 ; N e ; B 32 -16 552 457 ; -C 102 ; WX 600 ; N f ; B 73 0 572 633 ; -C 103 ; WX 600 ; N g ; B 32 -209 594 458 ; -C 104 ; WX 600 ; N h ; B 13 0 584 633 ; -C 105 ; WX 600 ; N i ; B 63 0 537 633 ; -C 106 ; WX 600 ; N j ; B 86 -209 460 633 ; -C 107 ; WX 600 ; N k ; B 34 0 575 633 ; -C 108 ; WX 600 ; N l ; B 63 0 537 633 ; -C 109 ; WX 600 ; N m ; B -17 0 625 457 ; -C 110 ; WX 600 ; N n ; B 25 0 574 457 ; -C 111 ; WX 600 ; N o ; B 42 -16 560 457 ; -C 112 ; WX 600 ; N p ; B -8 -209 573 457 ; -C 113 ; WX 600 ; N q ; B 35 -209 616 457 ; -C 114 ; WX 600 ; N r ; B 53 0 573 457 ; -C 115 ; WX 600 ; N s ; B 74 -16 529 457 ; -C 116 ; WX 600 ; N t ; B 72 -16 591 601 ; -C 117 ; WX 600 ; N u ; B 15 -16 575 443 ; -C 118 ; WX 600 ; N v ; B 0 0 604 443 ; -C 119 ; WX 600 ; N w ; B -2 0 602 443 ; -C 120 ; WX 600 ; N x ; B 21 0 582 443 ; -C 121 ; WX 600 ; N y ; B 21 -209 582 443 ; -C 122 ; WX 600 ; N z ; B 86 0 522 443 ; -C 123 ; WX 600 ; N braceleft ; B 168 -156 433 632 ; -C 124 ; WX 600 ; N bar ; B 250 -156 351 632 ; -C 125 ; WX 600 ; N braceright ; B 165 -156 430 632 ; -C 126 ; WX 600 ; N asciitilde ; B 61 180 540 388 ; -C 127 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 600 ; N Euro ; B 0 -15 566 607 ; -C 129 ; WX 600 ; N afii10052 ; B 33 0 574 822 ; -C 130 ; WX 600 ; N quotesinglbase ; B 145 -156 351 135 ; -C 131 ; WX 600 ; N florin ; B 58 -125 549 648 ; -C 132 ; WX 600 ; N quotedblbase ; B 102 -130 521 131 ; -C 133 ; WX 600 ; N ellipsis ; B 50 -15 550 87 ; -C 134 ; WX 600 ; N dagger ; B 92 -94 507 632 ; -C 135 ; WX 600 ; N daggerdbl ; B 93 -94 507 632 ; -C 136 ; WX 600 ; N circumflex ; B 140 498 459 656 ; -C 137 ; WX 600 ; N perthousand ; B 20 3 583 627 ; -C 138 ; WX 600 ; N Scaron ; B 62 -15 540 807 ; -C 139 ; WX 600 ; N guilsinglleft ; B 133 20 422 420 ; -C 140 ; WX 600 ; N OE ; B -21 0 622 592 ; -C 141 ; WX 600 ; N afii10061 ; B 40 0 601 822 ; -C 142 ; WX 600 ; N Zcaron ; B 74 0 529 807 ; -C 143 ; WX 600 ; N afii10145 ; B 19 -115 581 592 ; -C 144 ; WX 600 ; N quotedblbase ; B 102 -130 521 131 ; -C 145 ; WX 600 ; N quoteleft ; B 249 316 456 612 ; -C 146 ; WX 600 ; N quoteright ; B 145 316 351 612 ; -C 147 ; WX 600 ; N quotedblleft ; B 79 355 499 616 ; -C 148 ; WX 600 ; N quotedblright ; B 102 355 521 616 ; -C 149 ; WX 600 ; N bullet ; B 151 158 451 461 ; -C 150 ; WX 600 ; N endash ; B 40 233 559 333 ; -C 151 ; WX 600 ; N emdash ; B -30 233 630 333 ; -C 152 ; WX 600 ; N tilde ; B 131 489 469 616 ; -C 153 ; WX 600 ; N trademark ; B -42 296 602 651 ; -C 154 ; WX 600 ; N scaron ; B 74 -16 529 651 ; -C 155 ; WX 600 ; N guilsinglright ; B 185 20 474 420 ; -C 156 ; WX 600 ; N oe ; B -21 -16 613 456 ; -C 157 ; WX 600 ; N afii10109 ; B 47 0 576 667 ; -C 158 ; WX 600 ; N zcaron ; B 86 0 522 651 ; -C 159 ; WX 600 ; N Ydieresis ; B 21 0 581 783 ; -C 160 ; WX 600 ; N space ; B 217 -15 377 648 ; -C 161 ; WX 600 ; N exclamdown ; B 217 -207 377 433 ; -C 162 ; WX 600 ; N cent ; B 83 -31 501 685 ; -C 163 ; WX 600 ; N sterling ; B 30 0 552 606 ; -C 164 ; WX 600 ; N currency ; B 71 66 530 526 ; -C 165 ; WX 600 ; N yen ; B 21 0 581 592 ; -C 166 ; WX 600 ; N brokenbar ; B 250 -156 351 632 ; -C 167 ; WX 600 ; N section ; B 48 -85 554 636 ; -C 168 ; WX 600 ; N dieresis ; B 143 521 458 627 ; -C 169 ; WX 600 ; N copyright ; B -3 -14 603 592 ; -C 170 ; WX 600 ; N ordfeminine ; B 133 364 479 648 ; -C 171 ; WX 600 ; N guillemotleft ; B 35 18 555 419 ; -C 172 ; WX 600 ; N logicalnot ; B -19 0 560 334 ; -C 173 ; WX 600 ; N hyphen ; B 92 238 510 330 ; -C 174 ; WX 600 ; N registered ; B -3 -14 603 592 ; -C 175 ; WX 600 ; N overscore ; B -40 664 644 764 ; -C 176 ; WX 600 ; N degree ; B 144 417 456 728 ; -C 177 ; WX 600 ; N plusminus ; B 40 0 560 705 ; -C 178 ; WX 600 ; N twosuperior ; B 149 311 430 648 ; -C 179 ; WX 600 ; N threesuperior ; B 156 304 442 648 ; -C 180 ; WX 600 ; N acute ; B 205 500 396 667 ; -C 181 ; WX 600 ; N mu1 ; B 14 -209 574 443 ; -C 182 ; WX 600 ; N paragraph ; B 61 -87 543 632 ; -C 183 ; WX 600 ; N periodcentered ; B 225 246 375 378 ; -C 184 ; WX 600 ; N cedilla ; B 200 -179 392 36 ; -C 185 ; WX 600 ; N onesuperior ; B 166 311 435 649 ; -C 186 ; WX 600 ; N ordmasculine ; B 132 364 469 648 ; -C 187 ; WX 600 ; N guillemotright ; B 51 24 571 425 ; -C 188 ; WX 600 ; N onequarter ; B 1 0 600 649 ; -C 189 ; WX 600 ; N onehalf ; B -46 0 636 649 ; -C 190 ; WX 600 ; N threequarters ; B 0 0 594 649 ; -C 191 ; WX 600 ; N questiondown ; B 82 -210 498 431 ; -C 192 ; WX 600 ; N Agrave ; B -22 0 623 822 ; -C 193 ; WX 600 ; N Aacute ; B -22 0 623 822 ; -C 194 ; WX 600 ; N Acircumflex ; B -22 0 623 812 ; -C 195 ; WX 600 ; N Atilde ; B -22 0 623 771 ; -C 196 ; WX 600 ; N Adieresis ; B -22 0 623 783 ; -C 197 ; WX 600 ; N Aring ; B -22 0 623 833 ; -C 198 ; WX 600 ; N AE ; B -21 0 623 592 ; -C 199 ; WX 600 ; N Ccedilla ; B 31 -188 566 607 ; -C 200 ; WX 600 ; N Egrave ; B 15 0 553 822 ; -C 201 ; WX 600 ; N Eacute ; B 15 0 553 822 ; -C 202 ; WX 600 ; N Ecircumflex ; B 15 0 553 812 ; -C 203 ; WX 600 ; N Edieresis ; B 15 0 553 783 ; -C 204 ; WX 600 ; N Igrave ; B 82 0 518 822 ; -C 205 ; WX 600 ; N Iacute ; B 82 0 518 822 ; -C 206 ; WX 600 ; N Icircumflex ; B 82 0 518 812 ; -C 207 ; WX 600 ; N Idieresis ; B 82 0 518 783 ; -C 208 ; WX 600 ; N Eth ; B -18 0 553 592 ; -C 209 ; WX 600 ; N Ntilde ; B -8 0 593 771 ; -C 210 ; WX 600 ; N Ograve ; B 20 -15 581 822 ; -C 211 ; WX 600 ; N Oacute ; B 20 -15 581 822 ; -C 212 ; WX 600 ; N Ocircumflex ; B 20 -15 581 812 ; -C 213 ; WX 600 ; N Otilde ; B 20 -15 581 771 ; -C 214 ; WX 600 ; N Odieresis ; B 20 -15 581 783 ; -C 215 ; WX 600 ; N multiply ; B 100 83 501 485 ; -C 216 ; WX 600 ; N Oslash ; B 11 -71 591 642 ; -C 217 ; WX 600 ; N Ugrave ; B 11 -15 591 822 ; -C 218 ; WX 600 ; N Uacute ; B 11 -15 591 822 ; -C 219 ; WX 600 ; N Ucircumflex ; B 11 -15 591 812 ; -C 220 ; WX 600 ; N Udieresis ; B 11 -15 591 783 ; -C 221 ; WX 600 ; N Yacute ; B 21 0 581 822 ; -C 222 ; WX 600 ; N Thorn ; B 60 0 577 592 ; -C 223 ; WX 600 ; N germandbls ; B 12 -16 531 633 ; -C 224 ; WX 600 ; N agrave ; B 43 -17 574 667 ; -C 225 ; WX 600 ; N aacute ; B 43 -17 574 667 ; -C 226 ; WX 600 ; N acircumflex ; B 43 -17 574 656 ; -C 227 ; WX 600 ; N atilde ; B 43 -17 574 616 ; -C 228 ; WX 600 ; N adieresis ; B 43 -17 574 627 ; -C 229 ; WX 600 ; N aring ; B 43 -17 574 682 ; -C 230 ; WX 600 ; N ae ; B -21 -16 612 456 ; -C 231 ; WX 600 ; N ccedilla ; B 56 -179 568 457 ; -C 232 ; WX 600 ; N egrave ; B 32 -16 552 667 ; -C 233 ; WX 600 ; N eacute ; B 32 -16 552 667 ; -C 234 ; WX 600 ; N ecircumflex ; B 32 -16 552 656 ; -C 235 ; WX 600 ; N edieresis ; B 32 -16 552 627 ; -C 236 ; WX 600 ; N igrave ; B 63 0 537 667 ; -C 237 ; WX 600 ; N iacute ; B 63 0 537 667 ; -C 238 ; WX 600 ; N icircumflex ; B 63 0 537 656 ; -C 239 ; WX 600 ; N idieresis ; B 63 0 537 627 ; -C 240 ; WX 600 ; N eth ; B 44 -17 540 632 ; -C 241 ; WX 600 ; N ntilde ; B 25 0 574 616 ; -C 242 ; WX 600 ; N ograve ; B 42 -16 560 667 ; -C 243 ; WX 600 ; N oacute ; B 42 -16 560 667 ; -C 244 ; WX 600 ; N ocircumflex ; B 42 -16 560 656 ; -C 245 ; WX 600 ; N otilde ; B 42 -16 560 616 ; -C 246 ; WX 600 ; N odieresis ; B 42 -16 560 627 ; -C 247 ; WX 600 ; N divide ; B 40 5 560 565 ; -C 248 ; WX 600 ; N oslash ; B 22 -72 574 495 ; -C 249 ; WX 600 ; N ugrave ; B 15 -16 575 667 ; -C 250 ; WX 600 ; N uacute ; B 15 -16 575 667 ; -C 251 ; WX 600 ; N ucircumflex ; B 15 -16 575 656 ; -C 252 ; WX 600 ; N udieresis ; B 15 -16 575 627 ; -C 253 ; WX 600 ; N yacute ; B 21 -209 582 667 ; -C 254 ; WX 600 ; N thorn ; B -8 -209 573 633 ; -C 255 ; WX 600 ; N ydieresis ; B 21 -209 582 627 ; -C -1 ; WX 0 ; N .null ; B 217 -15 377 648 ; -C -1 ; WX 600 ; N nonmarkingreturn ; B 217 -15 377 648 ; -C -1 ; WX 600 ; N notequal ; B 20 -67 582 637 ; -C -1 ; WX 600 ; N infinity ; B 44 186 556 422 ; -C -1 ; WX 600 ; N lessequal ; B -13 40 560 745 ; -C -1 ; WX 600 ; N greaterequal ; B 41 40 614 745 ; -C -1 ; WX 600 ; N partialdiff ; B 46 -15 560 633 ; -C -1 ; WX 600 ; N summation ; B 33 -188 551 613 ; -C -1 ; WX 600 ; N product ; B 12 -188 589 613 ; -C -1 ; WX 600 ; N pi1 ; B 36 0 564 443 ; -C -1 ; WX 600 ; N integral ; B 3 -190 583 826 ; -C -1 ; WX 600 ; N Ohm ; B 17 0 583 607 ; -C -1 ; WX 600 ; N radical ; B 67 -38 575 913 ; -C -1 ; WX 600 ; N approxequal ; B 61 74 540 494 ; -C -1 ; WX 600 ; N increment ; B 34 0 567 583 ; -C -1 ; WX 600 ; N lozenge ; B 76 0 525 694 ; -C -1 ; WX 600 ; N fraction ; B 76 155 524 473 ; -C -1 ; WX 600 ; N fi ; B -19 0 624 633 ; -C -1 ; WX 600 ; N fl ; B -20 0 624 633 ; -C -1 ; WX 600 ; N dotlessi ; B 63 0 537 443 ; -C -1 ; WX 600 ; N macron ; B 142 525 458 590 ; -C -1 ; WX 600 ; N breve ; B 142 501 458 654 ; -C -1 ; WX 600 ; N dotaccent ; B 237 511 363 638 ; -C -1 ; WX 600 ; N ring ; B 204 493 396 682 ; -C -1 ; WX 600 ; N hungarumlaut ; B 141 501 459 668 ; -C -1 ; WX 600 ; N ogonek ; B 210 -157 390 36 ; -C -1 ; WX 600 ; N caron ; B 140 493 459 651 ; -C -1 ; WX 600 ; N Lslash ; B 12 0 573 592 ; -C -1 ; WX 600 ; N lslash ; B 63 0 540 633 ; -C -1 ; WX 600 ; N minus ; B 40 234 560 334 ; -C -1 ; WX 600 ; N franc ; B 49 0 587 592 ; -C -1 ; WX 600 ; N Gbreve ; B 32 -15 595 810 ; -C -1 ; WX 600 ; N gbreve ; B 32 -209 594 654 ; -C -1 ; WX 600 ; N Idot ; B 82 0 518 793 ; -C -1 ; WX 600 ; N Scedilla ; B 62 -189 540 607 ; -C -1 ; WX 600 ; N scedilla ; B 74 -179 529 457 ; -C -1 ; WX 600 ; N Cacute ; B 31 -15 566 822 ; -C -1 ; WX 600 ; N cacute ; B 56 -17 568 667 ; -C -1 ; WX 600 ; N Ccaron ; B 31 -15 566 807 ; -C -1 ; WX 600 ; N ccaron ; B 56 -17 568 651 ; -C -1 ; WX 600 ; N dmacron ; B 30 -16 614 633 ; -C -1 ; WX 600 ; N middot ; B 346 300 472 427 ; -C -1 ; WX 600 ; N Abreve ; B -22 0 623 810 ; -C -1 ; WX 600 ; N abreve ; B 43 -17 574 654 ; -C -1 ; WX 600 ; N Aogonek ; B -22 -129 653 592 ; -C -1 ; WX 600 ; N aogonek ; B 43 -125 616 457 ; -C -1 ; WX 600 ; N Dcaron ; B 14 0 552 807 ; -C -1 ; WX 600 ; N dcaron ; B 30 -16 702 633 ; -C -1 ; WX 600 ; N Dslash ; B -18 0 553 592 ; -C -1 ; WX 600 ; N Eogonek ; B 15 -130 594 592 ; -C -1 ; WX 600 ; N eogonek ; B 32 -143 552 457 ; -C -1 ; WX 600 ; N Ecaron ; B 15 0 553 807 ; -C -1 ; WX 600 ; N ecaron ; B 32 -16 552 651 ; -C -1 ; WX 600 ; N Lacute ; B 33 0 574 822 ; -C -1 ; WX 600 ; N lacute ; B 63 0 537 835 ; -C -1 ; WX 600 ; N Lcaron ; B 33 0 574 592 ; -C -1 ; WX 600 ; N lcaron ; B 63 0 537 633 ; -C -1 ; WX 600 ; N Ldot ; B 33 0 574 592 ; -C -1 ; WX 600 ; N ldot ; B 63 0 545 633 ; -C -1 ; WX 600 ; N Nacute ; B -8 0 593 822 ; -C -1 ; WX 600 ; N nacute ; B 25 0 574 667 ; -C -1 ; WX 600 ; N Ncaron ; B -8 0 593 807 ; -C -1 ; WX 600 ; N ncaron ; B 25 0 574 651 ; -C -1 ; WX 600 ; N Odblacute ; B 20 -15 581 824 ; -C -1 ; WX 600 ; N odblacute ; B 42 -16 560 668 ; -C -1 ; WX 600 ; N Racute ; B 14 0 621 822 ; -C -1 ; WX 600 ; N racute ; B 53 0 573 667 ; -C -1 ; WX 600 ; N Rcaron ; B 14 0 621 807 ; -C -1 ; WX 600 ; N rcaron ; B 53 0 573 651 ; -C -1 ; WX 600 ; N Sacute ; B 62 -15 540 822 ; -C -1 ; WX 600 ; N sacute ; B 74 -16 529 667 ; -C -1 ; WX 600 ; N Tcedilla ; B 40 -271 559 592 ; -C -1 ; WX 600 ; N tcedilla ; B 72 -250 591 601 ; -C -1 ; WX 600 ; N Tcaron ; B 40 0 559 807 ; -C -1 ; WX 600 ; N tcaron ; B 72 -16 667 633 ; -C -1 ; WX 600 ; N Uring ; B 11 -15 591 833 ; -C -1 ; WX 600 ; N uring ; B 15 -16 575 682 ; -C -1 ; WX 600 ; N Udblacute ; B 11 -15 591 824 ; -C -1 ; WX 600 ; N udblacute ; B 15 -16 575 668 ; -C -1 ; WX 600 ; N Zacute ; B 74 0 529 822 ; -C -1 ; WX 600 ; N zacute ; B 86 0 522 667 ; -C -1 ; WX 600 ; N Zdot ; B 74 0 529 793 ; -C -1 ; WX 600 ; N zdot ; B 86 0 522 638 ; -C -1 ; WX 600 ; N Gamma ; B 30 0 571 592 ; -C -1 ; WX 600 ; N Theta ; B 20 -15 581 607 ; -C -1 ; WX 600 ; N Phi ; B 39 0 561 592 ; -C -1 ; WX 600 ; N alpha ; B 40 -16 577 457 ; -C -1 ; WX 600 ; N delta ; B 74 -16 526 633 ; -C -1 ; WX 600 ; N epsilon ; B 102 -16 505 457 ; -C -1 ; WX 600 ; N sigma ; B 58 -16 582 443 ; -C -1 ; WX 600 ; N tau ; B 93 -16 470 443 ; -C -1 ; WX 600 ; N phi ; B 44 -222 556 443 ; -C -1 ; WX 600 ; N underscoredbl ; B -40 -359 644 -88 ; -C -1 ; WX 600 ; N exclamdbl ; B 76 -15 519 648 ; -C -1 ; WX 600 ; N nsuperior ; B 134 253 466 527 ; -C -1 ; WX 600 ; N peseta ; B 1 -8 597 592 ; -C -1 ; WX 600 ; N arrowleft ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowup ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowright ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowdown ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowboth ; B 1 50 599 278 ; -C -1 ; WX 600 ; N arrowupdn ; B 186 -135 414 463 ; -C -1 ; WX 600 ; N arrowupdnbse ; B 186 -196 414 463 ; -C -1 ; WX 600 ; N orthogonal ; B 1 0 599 597 ; -C -1 ; WX 600 ; N intersection ; B 54 -15 546 648 ; -C -1 ; WX 600 ; N equivalence ; B 20 46 582 523 ; -C -1 ; WX 600 ; N house ; B 44 0 556 639 ; -C -1 ; WX 600 ; N revlogicalnot ; B -19 0 560 334 ; -C -1 ; WX 600 ; N integraltp ; B 265 -251 475 848 ; -C -1 ; WX 600 ; N integralbt ; B 125 -251 335 848 ; -C -1 ; WX 600 ; N SF100000 ; B -7 219 607 292 ; -C -1 ; WX 600 ; N SF110000 ; B 264 -255 336 766 ; -C -1 ; WX 600 ; N SF010000 ; B 264 -255 607 292 ; -C -1 ; WX 600 ; N SF030000 ; B -7 -255 336 292 ; -C -1 ; WX 600 ; N SF020000 ; B 264 219 607 766 ; -C -1 ; WX 600 ; N SF040000 ; B -7 219 336 766 ; -C -1 ; WX 600 ; N SF080000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF090000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF060000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF070000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF050000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF430000 ; B -7 141 607 370 ; -C -1 ; WX 600 ; N SF240000 ; B 186 -255 414 766 ; -C -1 ; WX 600 ; N SF510000 ; B 264 -255 607 370 ; -C -1 ; WX 600 ; N SF520000 ; B 186 -255 607 292 ; -C -1 ; WX 600 ; N SF390000 ; B 186 -255 607 370 ; -C -1 ; WX 600 ; N SF220000 ; B -7 -255 336 370 ; -C -1 ; WX 600 ; N SF210000 ; B -7 -255 414 292 ; -C -1 ; WX 600 ; N SF250000 ; B -7 -255 414 370 ; -C -1 ; WX 600 ; N SF500000 ; B 264 141 607 766 ; -C -1 ; WX 600 ; N SF490000 ; B 186 219 607 766 ; -C -1 ; WX 600 ; N SF380000 ; B 186 141 607 766 ; -C -1 ; WX 600 ; N SF280000 ; B -7 141 336 766 ; -C -1 ; WX 600 ; N SF270000 ; B -7 219 414 766 ; -C -1 ; WX 600 ; N SF260000 ; B -7 141 414 766 ; -C -1 ; WX 600 ; N SF360000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF370000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF420000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF190000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF200000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF230000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF470000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF480000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF410000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF450000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF460000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF400000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF540000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF530000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF440000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N upblock ; B -7 255 607 766 ; -C -1 ; WX 600 ; N dnblock ; B -7 -255 607 255 ; -C -1 ; WX 600 ; N block ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N lfblock ; B -7 -255 300 766 ; -C -1 ; WX 600 ; N rtblock ; B 300 -255 608 766 ; -C -1 ; WX 600 ; N ltshade ; B 44 -207 607 766 ; -C -1 ; WX 600 ; N shade ; B -7 -207 607 766 ; -C -1 ; WX 600 ; N dkshade ; B -7 -258 607 766 ; -C -1 ; WX 600 ; N filledbox ; B 1 0 599 598 ; -C -1 ; WX 600 ; N filledrect ; B 1 193 599 306 ; -C -1 ; WX 600 ; N triagup ; B 7 0 592 585 ; -C -1 ; WX 600 ; N triagrt ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N triagdn ; B 7 -13 592 572 ; -C -1 ; WX 600 ; N triaglf ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N circle ; B 85 67 515 497 ; -C -1 ; WX 600 ; N invbullet ; B 61 0 539 479 ; -C -1 ; WX 600 ; N invcircle ; B 19 0 583 564 ; -C -1 ; WX 600 ; N smileface ; B -3 -14 603 592 ; -C -1 ; WX 600 ; N invsmileface ; B -3 -14 603 592 ; -C -1 ; WX 600 ; N sun ; B 1 -69 599 529 ; -C -1 ; WX 600 ; N female ; B 157 39 444 563 ; -C -1 ; WX 600 ; N male ; B 90 122 511 563 ; -C -1 ; WX 600 ; N spade ; B 63 0 537 601 ; -C -1 ; WX 600 ; N club ; B 1 0 599 597 ; -C -1 ; WX 600 ; N heart ; B 53 -11 547 559 ; -C -1 ; WX 600 ; N diamond ; B 78 -12 523 597 ; -C -1 ; WX 600 ; N musicalnote ; B 132 14 440 563 ; -C -1 ; WX 600 ; N musicalnotedbl ; B 44 -21 528 566 ; -C -1 ; WX 600 ; N IJ ; B 6 -15 598 592 ; -C -1 ; WX 600 ; N ij ; B -20 -209 563 633 ; -C -1 ; WX 600 ; N napostrophe ; B -20 0 580 612 ; -C -1 ; WX 600 ; N minute ; B 255 318 405 611 ; -C -1 ; WX 600 ; N second ; B 255 318 583 611 ; -C -1 ; WX 600 ; N afii61248 ; B 77 -15 525 627 ; -C -1 ; WX 600 ; N afii61289 ; B 98 -16 457 607 ; -C -1 ; WX 600 ; N H22073 ; B 1 0 599 598 ; -C -1 ; WX 600 ; N H18543 ; B 146 156 453 463 ; -C -1 ; WX 600 ; N H18551 ; B 146 156 453 463 ; -C -1 ; WX 600 ; N H18533 ; B 85 67 515 497 ; -C -1 ; WX 600 ; N openbullet ; B 151 158 451 461 ; -C -1 ; WX 600 ; N Amacron ; B -22 0 623 746 ; -C -1 ; WX 600 ; N amacron ; B 43 -17 574 590 ; -C -1 ; WX 600 ; N Ccircumflex ; B 31 -15 566 812 ; -C -1 ; WX 600 ; N ccircumflex ; B 56 -17 568 656 ; -C -1 ; WX 600 ; N Cdot ; B 31 -15 566 793 ; -C -1 ; WX 600 ; N cdot ; B 56 -17 568 638 ; -C -1 ; WX 600 ; N Emacron ; B 15 0 553 746 ; -C -1 ; WX 600 ; N emacron ; B 32 -16 552 590 ; -C -1 ; WX 600 ; N Ebreve ; B 15 0 553 810 ; -C -1 ; WX 600 ; N ebreve ; B 32 -16 552 654 ; -C -1 ; WX 600 ; N Edot ; B 15 0 553 793 ; -C -1 ; WX 600 ; N edot ; B 32 -16 552 638 ; -C -1 ; WX 600 ; N Gcircumflex ; B 32 -15 595 812 ; -C -1 ; WX 600 ; N gcircumflex ; B 32 -209 594 656 ; -C -1 ; WX 600 ; N Gdot ; B 32 -15 595 793 ; -C -1 ; WX 600 ; N gdot ; B 32 -209 594 638 ; -C -1 ; WX 600 ; N Gcedilla ; B 32 -196 595 607 ; -C -1 ; WX 600 ; N gcedilla ; B 32 -209 594 702 ; -C -1 ; WX 600 ; N Hcircumflex ; B 22 0 583 812 ; -C -1 ; WX 600 ; N hcircumflex ; B 13 0 584 812 ; -C -1 ; WX 600 ; N Hbar ; B 22 0 583 592 ; -C -1 ; WX 600 ; N hbar ; B 5 0 584 633 ; -C -1 ; WX 600 ; N Itilde ; B 82 0 518 771 ; -C -1 ; WX 600 ; N itilde ; B 63 0 537 616 ; -C -1 ; WX 600 ; N Imacron ; B 82 0 518 746 ; -C -1 ; WX 600 ; N imacron ; B 63 0 537 590 ; -C -1 ; WX 600 ; N Ibreve ; B 82 0 518 810 ; -C -1 ; WX 600 ; N ibreve ; B 63 0 537 654 ; -C -1 ; WX 600 ; N Iogonek ; B 82 -140 518 592 ; -C -1 ; WX 600 ; N iogonek ; B 63 -140 537 633 ; -C -1 ; WX 600 ; N Jcircumflex ; B 54 -15 614 812 ; -C -1 ; WX 600 ; N jcircumflex ; B 86 -209 460 656 ; -C -1 ; WX 600 ; N Kcedilla ; B 13 -196 605 592 ; -C -1 ; WX 600 ; N kcedilla ; B 34 -196 575 633 ; -C -1 ; WX 600 ; N kgreenlandic ; B 24 0 591 443 ; -C -1 ; WX 600 ; N Lcedilla ; B 33 -196 574 592 ; -C -1 ; WX 600 ; N lcedilla ; B 63 -196 537 633 ; -C -1 ; WX 600 ; N Ncedilla ; B -8 -196 593 592 ; -C -1 ; WX 600 ; N ncedilla ; B 25 -196 574 457 ; -C -1 ; WX 600 ; N Eng ; B 12 -15 549 607 ; -C -1 ; WX 600 ; N eng ; B 38 -209 525 457 ; -C -1 ; WX 600 ; N Omacron ; B 20 -15 581 746 ; -C -1 ; WX 600 ; N omacron ; B 42 -16 560 590 ; -C -1 ; WX 600 ; N Obreve ; B 20 -15 581 810 ; -C -1 ; WX 600 ; N obreve ; B 42 -16 560 654 ; -C -1 ; WX 600 ; N Rcedilla ; B 14 -196 621 592 ; -C -1 ; WX 600 ; N rcedilla ; B 53 -196 573 457 ; -C -1 ; WX 600 ; N Scircumflex ; B 62 -15 540 812 ; -C -1 ; WX 600 ; N scircumflex ; B 74 -16 529 656 ; -C -1 ; WX 600 ; N Tbar ; B 40 0 559 592 ; -C -1 ; WX 600 ; N tbar ; B 61 -16 591 601 ; -C -1 ; WX 600 ; N Utilde ; B 11 -15 591 771 ; -C -1 ; WX 600 ; N utilde ; B 15 -16 575 616 ; -C -1 ; WX 600 ; N Umacron ; B 11 -15 591 746 ; -C -1 ; WX 600 ; N umacron ; B 15 -16 575 590 ; -C -1 ; WX 600 ; N Ubreve ; B 11 -15 591 810 ; -C -1 ; WX 600 ; N ubreve ; B 15 -16 575 654 ; -C -1 ; WX 600 ; N Uogonek ; B 11 -140 591 592 ; -C -1 ; WX 600 ; N uogonek ; B 15 -140 597 443 ; -C -1 ; WX 600 ; N Wcircumflex ; B -11 0 612 812 ; -C -1 ; WX 600 ; N wcircumflex ; B -2 0 602 656 ; -C -1 ; WX 600 ; N Ycircumflex ; B 21 0 581 812 ; -C -1 ; WX 600 ; N ycircumflex ; B 21 -209 582 656 ; -C -1 ; WX 600 ; N longs ; B 73 0 572 633 ; -C -1 ; WX 600 ; N Aringacute ; B -22 0 623 1016 ; -C -1 ; WX 600 ; N aringacute ; B 43 -17 574 865 ; -C -1 ; WX 600 ; N AEacute ; B -21 0 623 822 ; -C -1 ; WX 600 ; N aeacute ; B -21 -16 612 667 ; -C -1 ; WX 600 ; N Oslashacute ; B 11 -71 591 822 ; -C -1 ; WX 600 ; N oslashacute ; B 22 -72 574 667 ; -C -1 ; WX 600 ; N anoteleia ; B 225 323 375 457 ; -C -1 ; WX 600 ; N Wgrave ; B -11 0 612 822 ; -C -1 ; WX 600 ; N wgrave ; B -2 0 602 667 ; -C -1 ; WX 600 ; N Wacute ; B -11 0 612 822 ; -C -1 ; WX 600 ; N wacute ; B -2 0 602 667 ; -C -1 ; WX 600 ; N Wdieresis ; B -11 0 612 783 ; -C -1 ; WX 600 ; N wdieresis ; B -2 0 602 627 ; -C -1 ; WX 600 ; N Ygrave ; B 21 0 581 822 ; -C -1 ; WX 600 ; N ygrave ; B 21 -209 582 667 ; -C -1 ; WX 600 ; N quotereversed ; B 249 316 456 612 ; -C -1 ; WX 600 ; N radicalex ; B 112 525 488 590 ; -C -1 ; WX 600 ; N afii08941 ; B 32 0 552 607 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 600 ; N oneeighth ; B -23 -7 612 649 ; -C -1 ; WX 600 ; N threeeighths ; B -9 -7 612 648 ; -C -1 ; WX 600 ; N fiveeighths ; B -10 -7 612 640 ; -C -1 ; WX 600 ; N seveneighths ; B -4 -7 612 640 ; -C -1 ; WX 600 ; N commaaccent ; B 246 -250 354 -59 ; -C -1 ; WX 600 ; N undercommaaccent ; B 208 -196 392 -47 ; -C -1 ; WX 600 ; N tonos ; B 203 500 393 667 ; -C -1 ; WX 600 ; N dieresistonos ; B 103 482 492 685 ; -C -1 ; WX 600 ; N Alphatonos ; B -23 0 623 592 ; -C -1 ; WX 600 ; N Epsilontonos ; B -1 0 569 592 ; -C -1 ; WX 600 ; N Etatonos ; B -1 0 587 592 ; -C -1 ; WX 600 ; N Iotatonos ; B -1 0 543 592 ; -C -1 ; WX 600 ; N Omicrontonos ; B -1 -15 583 607 ; -C -1 ; WX 600 ; N Upsilontonos ; B -1 0 604 592 ; -C -1 ; WX 600 ; N Omegatonos ; B -1 0 577 607 ; -C -1 ; WX 600 ; N iotadieresistonos ; B 94 -16 483 709 ; -C -1 ; WX 600 ; N Alpha ; B -22 0 623 592 ; -C -1 ; WX 600 ; N Beta ; B 13 0 574 592 ; -C -1 ; WX 600 ; N Delta ; B 6 0 594 592 ; -C -1 ; WX 600 ; N Epsilon ; B 15 0 553 592 ; -C -1 ; WX 600 ; N Zeta ; B 74 0 529 592 ; -C -1 ; WX 600 ; N Eta ; B 22 0 583 592 ; -C -1 ; WX 600 ; N Iota ; B 82 0 518 592 ; -C -1 ; WX 600 ; N Kappa ; B 13 0 605 592 ; -C -1 ; WX 600 ; N Lambda ; B -21 0 625 592 ; -C -1 ; WX 600 ; N Mu ; B -19 0 624 592 ; -C -1 ; WX 600 ; N Nu ; B -8 0 593 592 ; -C -1 ; WX 600 ; N Xi ; B 51 0 549 592 ; -C -1 ; WX 600 ; N Omicron ; B 20 -15 581 607 ; -C -1 ; WX 600 ; N Pi ; B 20 0 581 592 ; -C -1 ; WX 600 ; N Rho ; B 60 0 577 592 ; -C -1 ; WX 600 ; N Sigma ; B 36 0 540 592 ; -C -1 ; WX 600 ; N Tau ; B 40 0 559 592 ; -C -1 ; WX 600 ; N Upsilon ; B 21 0 581 592 ; -C -1 ; WX 600 ; N Chi ; B 11 0 592 592 ; -C -1 ; WX 600 ; N Psi ; B -3 0 604 592 ; -C -1 ; WX 600 ; N Omega ; B 14 0 587 607 ; -C -1 ; WX 600 ; N Iotadieresis ; B 82 0 518 769 ; -C -1 ; WX 600 ; N Upsilondieresis ; B 21 0 581 769 ; -C -1 ; WX 600 ; N alphatonos ; B 40 -16 577 667 ; -C -1 ; WX 600 ; N epsilontonos ; B 102 -16 505 667 ; -C -1 ; WX 600 ; N etatonos ; B 56 -222 507 667 ; -C -1 ; WX 600 ; N iotatonos ; B 215 -16 432 667 ; -C -1 ; WX 600 ; N upsilondieresistonos ; B 38 -16 563 709 ; -C -1 ; WX 600 ; N beta ; B 113 -222 519 633 ; -C -1 ; WX 600 ; N gamma ; B 21 -222 582 443 ; -C -1 ; WX 600 ; N zeta ; B 151 -222 511 633 ; -C -1 ; WX 600 ; N eta ; B 56 -222 507 457 ; -C -1 ; WX 600 ; N theta ; B 68 -16 531 633 ; -C -1 ; WX 600 ; N iota ; B 223 -16 432 443 ; -C -1 ; WX 600 ; N kappa ; B 61 0 563 443 ; -C -1 ; WX 600 ; N lambda ; B 23 0 586 633 ; -C -1 ; WX 600 ; N mu ; B 14 -209 574 443 ; -C -1 ; WX 600 ; N nu ; B 33 0 514 457 ; -C -1 ; WX 600 ; N xi ; B 141 -222 500 633 ; -C -1 ; WX 600 ; N omicron ; B 42 -16 560 457 ; -C -1 ; WX 600 ; N rho ; B 83 -222 547 457 ; -C -1 ; WX 600 ; N sigma1 ; B 83 -209 532 457 ; -C -1 ; WX 600 ; N upsilon ; B 38 -16 563 443 ; -C -1 ; WX 600 ; N chi ; B 31 -222 584 457 ; -C -1 ; WX 600 ; N psi ; B 35 -222 565 633 ; -C -1 ; WX 600 ; N omega ; B 47 -16 553 457 ; -C -1 ; WX 600 ; N iotadieresis ; B 126 -16 441 627 ; -C -1 ; WX 600 ; N upsilondieresis ; B 38 -16 563 627 ; -C -1 ; WX 600 ; N omicrontonos ; B 42 -16 560 667 ; -C -1 ; WX 600 ; N upsilontonos ; B 38 -16 563 667 ; -C -1 ; WX 600 ; N omegatonos ; B 47 -16 553 667 ; -C -1 ; WX 600 ; N afii10023 ; B 15 0 553 783 ; -C -1 ; WX 600 ; N afii10051 ; B 0 -15 587 592 ; -C -1 ; WX 600 ; N afii10053 ; B 31 -15 566 607 ; -C -1 ; WX 600 ; N afii10054 ; B 62 -15 540 607 ; -C -1 ; WX 600 ; N afii10055 ; B 82 0 518 592 ; -C -1 ; WX 600 ; N afii10056 ; B 82 0 518 783 ; -C -1 ; WX 600 ; N afii10057 ; B 54 -15 614 592 ; -C -1 ; WX 600 ; N afii10058 ; B 1 -16 600 592 ; -C -1 ; WX 600 ; N afii10059 ; B -17 0 622 592 ; -C -1 ; WX 600 ; N afii10060 ; B 5 0 602 592 ; -C -1 ; WX 600 ; N afii10062 ; B 5 -16 607 810 ; -C -1 ; WX 600 ; N afii10017 ; B -22 0 623 592 ; -C -1 ; WX 600 ; N afii10018 ; B 13 0 574 592 ; -C -1 ; WX 600 ; N afii10019 ; B 13 0 574 592 ; -C -1 ; WX 600 ; N afii10020 ; B 33 0 574 592 ; -C -1 ; WX 600 ; N afii10021 ; B 20 -130 581 592 ; -C -1 ; WX 600 ; N afii10022 ; B 15 0 553 592 ; -C -1 ; WX 600 ; N afii10024 ; B 4 0 596 592 ; -C -1 ; WX 600 ; N afii10025 ; B -5 -16 546 644 ; -C -1 ; WX 600 ; N afii10026 ; B -3 0 603 592 ; -C -1 ; WX 600 ; N afii10027 ; B -3 0 603 810 ; -C -1 ; WX 600 ; N afii10028 ; B 40 0 601 592 ; -C -1 ; WX 600 ; N afii10029 ; B 2 -16 581 592 ; -C -1 ; WX 600 ; N afii10030 ; B -19 0 624 592 ; -C -1 ; WX 600 ; N afii10031 ; B 22 0 583 592 ; -C -1 ; WX 600 ; N afii10032 ; B 20 -15 581 607 ; -C -1 ; WX 600 ; N afii10033 ; B 22 0 583 592 ; -C -1 ; WX 600 ; N afii10034 ; B 60 0 577 592 ; -C -1 ; WX 600 ; N afii10035 ; B 31 -15 566 607 ; -C -1 ; WX 600 ; N afii10036 ; B 40 0 559 592 ; -C -1 ; WX 600 ; N afii10037 ; B 5 -16 607 592 ; -C -1 ; WX 600 ; N afii10038 ; B 21 0 579 592 ; -C -1 ; WX 600 ; N afii10039 ; B 11 0 592 592 ; -C -1 ; WX 600 ; N afii10040 ; B 6 -130 594 592 ; -C -1 ; WX 600 ; N afii10041 ; B 17 0 578 592 ; -C -1 ; WX 600 ; N afii10042 ; B -11 0 611 592 ; -C -1 ; WX 600 ; N afii10043 ; B -22 -130 626 592 ; -C -1 ; WX 600 ; N afii10044 ; B -16 0 600 592 ; -C -1 ; WX 600 ; N afii10045 ; B -20 0 632 592 ; -C -1 ; WX 600 ; N afii10046 ; B 13 0 574 592 ; -C -1 ; WX 600 ; N afii10047 ; B 34 -15 569 607 ; -C -1 ; WX 600 ; N afii10048 ; B -18 -15 618 607 ; -C -1 ; WX 600 ; N afii10049 ; B -21 0 586 592 ; -C -1 ; WX 600 ; N afii10065 ; B 43 -17 574 457 ; -C -1 ; WX 600 ; N afii10066 ; B 53 -13 546 646 ; -C -1 ; WX 600 ; N afii10067 ; B 13 0 547 443 ; -C -1 ; WX 600 ; N afii10068 ; B 33 0 574 443 ; -C -1 ; WX 600 ; N afii10069 ; B 34 -118 566 443 ; -C -1 ; WX 600 ; N afii10070 ; B 32 -16 552 457 ; -C -1 ; WX 600 ; N afii10072 ; B 6 0 594 443 ; -C -1 ; WX 600 ; N afii10073 ; B 35 -13 543 491 ; -C -1 ; WX 600 ; N afii10074 ; B 8 0 591 443 ; -C -1 ; WX 600 ; N afii10075 ; B 8 0 591 654 ; -C -1 ; WX 600 ; N afii10076 ; B 47 0 576 443 ; -C -1 ; WX 600 ; N afii10077 ; B 4 -13 561 443 ; -C -1 ; WX 600 ; N afii10078 ; B 1 0 599 443 ; -C -1 ; WX 600 ; N afii10079 ; B 22 0 583 443 ; -C -1 ; WX 600 ; N afii10080 ; B 42 -16 560 457 ; -C -1 ; WX 600 ; N afii10081 ; B 19 0 581 443 ; -C -1 ; WX 600 ; N afii10082 ; B -8 -209 573 457 ; -C -1 ; WX 600 ; N afii10083 ; B 56 -17 568 457 ; -C -1 ; WX 600 ; N afii10084 ; B 40 0 559 443 ; -C -1 ; WX 600 ; N afii10085 ; B 21 -134 591 443 ; -C -1 ; WX 600 ; N afii10086 ; B 46 -140 554 618 ; -C -1 ; WX 600 ; N afii10087 ; B 21 0 582 443 ; -C -1 ; WX 600 ; N afii10088 ; B 6 -118 594 443 ; -C -1 ; WX 600 ; N afii10089 ; B 31 0 564 443 ; -C -1 ; WX 600 ; N afii10090 ; B -11 0 611 443 ; -C -1 ; WX 600 ; N afii10091 ; B -22 -118 626 443 ; -C -1 ; WX 600 ; N afii10092 ; B 6 0 593 443 ; -C -1 ; WX 600 ; N afii10093 ; B -3 0 603 443 ; -C -1 ; WX 600 ; N afii10094 ; B 13 0 547 443 ; -C -1 ; WX 600 ; N afii10095 ; B 32 -16 544 457 ; -C -1 ; WX 600 ; N afii10096 ; B -14 -16 612 457 ; -C -1 ; WX 600 ; N afii10097 ; B 25 0 579 443 ; -C -1 ; WX 600 ; N afii10071 ; B 32 -16 552 627 ; -C -1 ; WX 600 ; N afii10099 ; B 13 -209 511 633 ; -C -1 ; WX 600 ; N afii10100 ; B 33 0 574 667 ; -C -1 ; WX 600 ; N afii10101 ; B 56 -16 568 457 ; -C -1 ; WX 600 ; N afii10102 ; B 74 -16 529 457 ; -C -1 ; WX 600 ; N afii10103 ; B 63 0 537 633 ; -C -1 ; WX 600 ; N afii10104 ; B 63 0 537 627 ; -C -1 ; WX 600 ; N afii10105 ; B 86 -209 460 633 ; -C -1 ; WX 600 ; N afii10106 ; B -4 -13 584 443 ; -C -1 ; WX 600 ; N afii10107 ; B -18 0 619 443 ; -C -1 ; WX 600 ; N afii10108 ; B 13 0 584 633 ; -C -1 ; WX 600 ; N afii10110 ; B 21 -134 591 654 ; -C -1 ; WX 600 ; N afii10193 ; B 19 -115 581 443 ; -C -1 ; WX 600 ; N afii10050 ; B 33 0 574 714 ; -C -1 ; WX 600 ; N afii10098 ; B 33 0 574 565 ; -C -1 ; WX 600 ; N afii00208 ; B 18 233 577 333 ; -C -1 ; WX 600 ; N afii61352 ; B 14 0 595 592 ; -C -1 ; WX 600 ; N pi ; B 43 0 557 443 ; -C -1 ; WX 600 ; N sheva ; B 268 -261 333 -82 ; -C -1 ; WX 600 ; N hatafsegol ; B 161 -261 438 -82 ; -C -1 ; WX 600 ; N hatafpatah ; B 161 -261 431 -82 ; -C -1 ; WX 600 ; N hatafqamats ; B 161 -261 431 -82 ; -C -1 ; WX 600 ; N hiriq ; B 268 -147 333 -83 ; -C -1 ; WX 600 ; N tsere ; B 214 -147 386 -83 ; -C -1 ; WX 600 ; N segol ; B 214 -261 386 -83 ; -C -1 ; WX 600 ; N patah ; B 199 -130 400 -83 ; -C -1 ; WX 600 ; N qamats ; B 199 -215 400 -83 ; -C -1 ; WX 600 ; N holam ; B 268 592 333 657 ; -C -1 ; WX 600 ; N qubuts ; B 162 -261 438 -82 ; -C -1 ; WX 600 ; N dagesh ; B 268 238 333 303 ; -C -1 ; WX 600 ; N meteg ; B 276 -261 324 -82 ; -C -1 ; WX 600 ; N maqaf ; B 47 410 553 510 ; -C -1 ; WX 600 ; N rafe ; B 199 592 400 640 ; -C -1 ; WX 600 ; N paseq ; B 250 -5 350 515 ; -C -1 ; WX 600 ; N shindot ; B 445 592 510 657 ; -C -1 ; WX 600 ; N sindot ; B 90 592 155 657 ; -C -1 ; WX 600 ; N sofpasuq ; B 225 -5 375 483 ; -C -1 ; WX 600 ; N alef ; B 70 -11 530 518 ; -C -1 ; WX 600 ; N bet ; B 45 0 543 510 ; -C -1 ; WX 600 ; N gimel ; B 103 -8 461 510 ; -C -1 ; WX 600 ; N dalet ; B 40 -5 547 510 ; -C -1 ; WX 600 ; N he ; B 63 -5 528 510 ; -C -1 ; WX 600 ; N vav ; B 153 -5 367 510 ; -C -1 ; WX 600 ; N zayin ; B 125 -5 476 510 ; -C -1 ; WX 600 ; N het ; B 38 -5 563 510 ; -C -1 ; WX 600 ; N tet ; B 16 -5 514 514 ; -C -1 ; WX 600 ; N yod ; B 152 251 375 510 ; -C -1 ; WX 600 ; N finalkaf ; B 41 -124 546 510 ; -C -1 ; WX 600 ; N kaf ; B 57 0 528 510 ; -C -1 ; WX 600 ; N lamed ; B 72 0 500 659 ; -C -1 ; WX 600 ; N finalmem ; B 21 0 514 510 ; -C -1 ; WX 600 ; N mem ; B 37 -5 521 516 ; -C -1 ; WX 600 ; N finalnun ; B 137 -124 448 510 ; -C -1 ; WX 600 ; N nun ; B 99 0 391 510 ; -C -1 ; WX 600 ; N samekh ; B 10 -6 516 510 ; -C -1 ; WX 600 ; N ayin ; B 65 0 510 510 ; -C -1 ; WX 600 ; N finalpe ; B 93 -124 573 510 ; -C -1 ; WX 600 ; N pe ; B 95 0 500 510 ; -C -1 ; WX 600 ; N finaltsadi ; B 68 -124 510 510 ; -C -1 ; WX 600 ; N tsadi ; B 56 0 509 510 ; -C -1 ; WX 600 ; N qof ; B 64 -202 527 510 ; -C -1 ; WX 600 ; N resh ; B 51 -5 490 510 ; -C -1 ; WX 600 ; N shin ; B 51 0 549 515 ; -C -1 ; WX 600 ; N tav ; B 55 -5 519 510 ; -C -1 ; WX 600 ; N doublevav ; B 41 -5 514 510 ; -C -1 ; WX 600 ; N vavyod ; B 30 -5 514 510 ; -C -1 ; WX 600 ; N doubleyod ; B 30 251 519 510 ; -C -1 ; WX 600 ; N geresh ; B 200 229 400 515 ; -C -1 ; WX 600 ; N gershayim ; B 102 229 498 515 ; -C -1 ; WX 600 ; N newsheqelsign ; B 28 -5 572 515 ; -C -1 ; WX 600 ; N vavshindot ; B 77 -5 367 657 ; -C -1 ; WX 600 ; N finalkafsheva ; B 41 -124 546 510 ; -C -1 ; WX 600 ; N finalkafqamats ; B 41 -124 546 510 ; -C -1 ; WX 600 ; N lamedholam ; B -31 0 500 659 ; -C -1 ; WX 600 ; N lamedholamdagesh ; B -31 0 500 659 ; -C -1 ; WX 600 ; N altayin ; B 65 0 510 510 ; -C -1 ; WX 600 ; N shinshindot ; B 51 0 549 657 ; -C -1 ; WX 600 ; N shinsindot ; B 51 0 549 657 ; -C -1 ; WX 600 ; N shindageshshindot ; B 51 0 549 657 ; -C -1 ; WX 600 ; N shindageshsindot ; B 51 0 549 657 ; -C -1 ; WX 600 ; N alefpatah ; B 70 -130 530 518 ; -C -1 ; WX 600 ; N alefqamats ; B 70 -215 530 518 ; -C -1 ; WX 600 ; N alefmapiq ; B 70 -11 530 518 ; -C -1 ; WX 600 ; N betdagesh ; B 45 0 543 510 ; -C -1 ; WX 600 ; N gimeldagesh ; B 103 -8 461 510 ; -C -1 ; WX 600 ; N daletdagesh ; B 40 -5 547 510 ; -C -1 ; WX 600 ; N hedagesh ; B 63 -5 528 510 ; -C -1 ; WX 600 ; N vavdagesh ; B 153 -5 367 510 ; -C -1 ; WX 600 ; N zayindagesh ; B 125 -5 476 510 ; -C -1 ; WX 600 ; N tetdagesh ; B 16 -5 514 514 ; -C -1 ; WX 600 ; N yoddagesh ; B 152 251 375 510 ; -C -1 ; WX 600 ; N finalkafdagesh ; B 41 -124 546 510 ; -C -1 ; WX 600 ; N kafdagesh ; B 57 0 528 510 ; -C -1 ; WX 600 ; N lameddagesh ; B 72 0 500 659 ; -C -1 ; WX 600 ; N memdagesh ; B 37 -5 521 516 ; -C -1 ; WX 600 ; N nundagesh ; B 99 0 391 510 ; -C -1 ; WX 600 ; N samekhdagesh ; B 10 -6 516 510 ; -C -1 ; WX 600 ; N finalpedagesh ; B 88 -124 578 510 ; -C -1 ; WX 600 ; N pedagesh ; B 90 0 505 510 ; -C -1 ; WX 600 ; N tsadidagesh ; B 56 0 509 510 ; -C -1 ; WX 600 ; N qofdagesh ; B 64 -202 527 510 ; -C -1 ; WX 600 ; N reshdagesh ; B 51 -5 490 510 ; -C -1 ; WX 600 ; N shindagesh ; B 51 0 549 515 ; -C -1 ; WX 600 ; N tavdages ; B 55 -5 519 510 ; -C -1 ; WX 600 ; N vavholam ; B 153 -5 367 657 ; -C -1 ; WX 600 ; N betrafe ; B 45 0 543 640 ; -C -1 ; WX 600 ; N kafrafe ; B 57 0 528 640 ; -C -1 ; WX 600 ; N perafe ; B 95 0 500 640 ; -C -1 ; WX 600 ; N aleflamed ; B 49 -11 536 659 ; -C -1 ; WX 600 ; N zerowidthnonjoiner ; B 283 -134 318 629 ; -C -1 ; WX 600 ; N zerowidthjoiner ; B 193 -134 407 690 ; -C -1 ; WX 600 ; N lefttorightmark ; B 172 -134 458 690 ; -C -1 ; WX 600 ; N righttoleftmark ; B 143 -134 429 690 ; -C -1 ; WX 600 ; N afii57388 ; B 218 -8 382 249 ; -C -1 ; WX 600 ; N afii57403 ; B 218 -18 382 525 ; -C -1 ; WX 600 ; N afii57407 ; B 82 -15 498 607 ; -C -1 ; WX 600 ; N afii57409 ; B 218 77 467 382 ; -C -1 ; WX 600 ; N afii57440 ; B 0 0 600 110 ; -C -1 ; WX 600 ; N afii57451 ; B 228 771 372 957 ; -C -1 ; WX 600 ; N afii57452 ; B 176 768 385 1004 ; -C -1 ; WX 600 ; N afii57453 ; B 228 -284 372 -98 ; -C -1 ; WX 600 ; N afii57454 ; B 228 771 372 871 ; -C -1 ; WX 600 ; N afii57455 ; B 190 774 381 1000 ; -C -1 ; WX 600 ; N afii57456 ; B 228 -197 372 -98 ; -C -1 ; WX 600 ; N afii57457 ; B 195 778 395 954 ; -C -1 ; WX 600 ; N afii57458 ; B 229 791 371 953 ; -C -1 ; WX 600 ; N afii57392 ; B 203 175 397 460 ; -C -1 ; WX 600 ; N afii57393 ; B 160 0 392 638 ; -C -1 ; WX 600 ; N afii57394 ; B 133 -8 441 650 ; -C -1 ; WX 600 ; N afii57395 ; B 101 -4 510 649 ; -C -1 ; WX 600 ; N afii57396 ; B 160 -2 463 632 ; -C -1 ; WX 600 ; N afii57397 ; B 140 29 455 432 ; -C -1 ; WX 600 ; N afii57398 ; B 115 2 445 662 ; -C -1 ; WX 600 ; N afii57399 ; B 103 0 498 666 ; -C -1 ; WX 600 ; N afii57400 ; B 103 -10 498 656 ; -C -1 ; WX 600 ; N afii57401 ; B 114 -40 449 592 ; -C -1 ; WX 600 ; N afii57381 ; B 57 -115 543 706 ; -C -1 ; WX 600 ; N afii57461 ; B 218 -130 382 126 ; -C -1 ; WX 600 ; N afii63167 ; B 82 -1 518 419 ; -C -1 ; WX 600 ; N afii57459 ; B 275 769 323 1099 ; -C -1 ; WX 600 ; N afii57543 ; B 220 767 374 976 ; -C -1 ; WX 600 ; N afii57534 ; B 225 0 474 387 ; -C -1 ; WX 600 ; N afii57494 ; B 138 858 462 961 ; -C -1 ; WX 600 ; N afii62843 ; B 118 -2 486 641 ; -C -1 ; WX 600 ; N afii62844 ; B 110 -26 481 618 ; -C -1 ; WX 600 ; N afii62845 ; B 131 -28 474 593 ; -C -1 ; WX 600 ; N afii64240 ; B 0 -243 596 642 ; -C -1 ; WX 600 ; N afii64241 ; B 0 -296 592 412 ; -C -1 ; WX 600 ; N afii63954 ; B 0 -207 592 645 ; -C -1 ; WX 600 ; N afii57382 ; B 0 -126 600 481 ; -C -1 ; WX 600 ; N afii64242 ; B 0 -150 600 512 ; -C -1 ; WX 600 ; N afii62881 ; B 195 778 395 1131 ; -C -1 ; WX 600 ; N afii57504 ; B 242 -295 396 -87 ; -C -1 ; WX 600 ; N afii57369 ; B 242 -376 398 -85 ; -C -1 ; WX 600 ; N afii57370 ; B 242 -464 398 -86 ; -C -1 ; WX 600 ; N afii57371 ; B 219 766 374 1117 ; -C -1 ; WX 600 ; N afii57372 ; B 219 767 373 1205 ; -C -1 ; WX 600 ; N afii57373 ; B 211 766 375 1172 ; -C -1 ; WX 600 ; N afii57374 ; B 167 766 375 1221 ; -C -1 ; WX 600 ; N afii57375 ; B 151 766 375 1217 ; -C -1 ; WX 600 ; N afii57391 ; B 0 0 600 110 ; -C -1 ; WX 600 ; N afii57471 ; B 190 628 407 818 ; -C -1 ; WX 600 ; N afii57460 ; B 177 -20 394 818 ; -C -1 ; WX 600 ; N afii52258 ; B 161 0 600 818 ; -C -1 ; WX 600 ; N afii57506 ; B 5 -300 554 415 ; -C -1 ; WX 600 ; N afii62958 ; B 0 -300 600 397 ; -C -1 ; WX 600 ; N afii62956 ; B 0 -300 569 412 ; -C -1 ; WX 600 ; N afii52957 ; B 0 -288 600 417 ; -C -1 ; WX 600 ; N afii57505 ; B 2 0 596 792 ; -C -1 ; WX 600 ; N afii62889 ; B 0 -16 605 719 ; -C -1 ; WX 600 ; N afii62887 ; B 0 0 599 778 ; -C -1 ; WX 600 ; N afii62888 ; B 0 0 600 731 ; -C -1 ; WX 600 ; N afii57507 ; B 108 -300 600 312 ; -C -1 ; WX 600 ; N afii62961 ; B 80 -300 601 374 ; -C -1 ; WX 600 ; N afii62959 ; B 0 -281 600 370 ; -C -1 ; WX 600 ; N afii62960 ; B 0 -284 600 373 ; -C -1 ; WX 600 ; N afii57508 ; B 66 -205 531 749 ; -C -1 ; WX 600 ; N afii62962 ; B 50 -206 600 740 ; -C -1 ; WX 600 ; N afii57567 ; B 0 -7 594 613 ; -C -1 ; WX 600 ; N afii62964 ; B 0 -4 600 636 ; -C -1 ; WX 600 ; N afii52305 ; B 0 0 600 638 ; -C -1 ; WX 600 ; N afii52306 ; B 0 0 600 636 ; -C -1 ; WX 600 ; N afii57509 ; B 1 -8 600 659 ; -C -1 ; WX 600 ; N afii62967 ; B 0 -7 600 663 ; -C -1 ; WX 600 ; N afii62965 ; B 0 0 600 663 ; -C -1 ; WX 600 ; N afii62966 ; B 0 0 600 665 ; -C -1 ; WX 600 ; N afii57555 ; B 27 -119 517 376 ; -C -1 ; WX 600 ; N afii52364 ; B 30 -279 600 110 ; -C -1 ; WX 600 ; N afii63753 ; B 83 -298 551 392 ; -C -1 ; WX 600 ; N afii63754 ; B 51 -300 547 381 ; -C -1 ; WX 600 ; N afii63759 ; B 83 -298 598 619 ; -C -1 ; WX 600 ; N afii63763 ; B 83 -298 598 754 ; -C -1 ; WX 600 ; N afii63795 ; B 50 -178 546 626 ; -C -1 ; WX 600 ; N afii62891 ; B 50 -300 546 627 ; -C -1 ; WX 600 ; N afii63808 ; B 84 -300 600 638 ; -C -1 ; WX 600 ; N afii62938 ; B 84 -300 600 638 ; -C -1 ; WX 600 ; N afii63810 ; B 84 -300 600 638 ; -C -1 ; WX 600 ; N afii62942 ; B 122 -300 458 630 ; -C -1 ; WX 600 ; N afii62947 ; B 44 -170 541 601 ; -C -1 ; WX 600 ; N afii63813 ; B 44 -300 542 601 ; -C -1 ; WX 600 ; N afii63823 ; B 83 -298 551 627 ; -C -1 ; WX 600 ; N afii63824 ; B 51 -177 547 609 ; -C -1 ; WX 600 ; N afii63833 ; B 83 -298 594 392 ; -C -1 ; WX 600 ; N afii63844 ; B 51 -300 548 381 ; -C -1 ; WX 600 ; N afii62882 ; B 186 778 395 1169 ; -C -1 ; WX 600 ; N afii62883 ; B 195 772 395 1134 ; -C -1 ; WX 600 ; N afii62884 ; B 195 778 395 1049 ; -C -1 ; WX 600 ; N afii62885 ; B 173 778 395 1159 ; -C -1 ; WX 600 ; N afii62886 ; B 195 773 395 1053 ; -C -1 ; WX 600 ; N afii63846 ; B 0 -289 600 388 ; -C -1 ; WX 600 ; N afii63849 ; B 0 -291 600 523 ; -C -1 ; WX 600 ; N afii63850 ; B 1 -300 600 211 ; -C -1 ; WX 600 ; N afii63851 ; B 1 -295 600 210 ; -C -1 ; WX 600 ; N afii63852 ; B 0 -210 600 602 ; -C -1 ; WX 600 ; N afii63855 ; B 0 -189 600 620 ; -C -1 ; WX 600 ; N afii63856 ; B 1 -280 600 450 ; -C -1 ; WX 600 ; N afii63761 ; B 21 -295 620 450 ; -C -1 ; WX 600 ; N afii63882 ; B 1 -280 600 459 ; -C -1 ; WX 600 ; N afii63825 ; B 21 -295 620 459 ; -C -1 ; WX 600 ; N afii63885 ; B 0 -295 601 388 ; -C -1 ; WX 600 ; N afii63888 ; B 0 -295 601 524 ; -C -1 ; WX 600 ; N afii63896 ; B 0 -295 592 523 ; -C -1 ; WX 600 ; N afii63897 ; B 0 -201 591 522 ; -C -1 ; WX 600 ; N afii63898 ; B 0 -201 591 584 ; -C -1 ; WX 600 ; N afii63899 ; B 0 -243 558 463 ; -C -1 ; WX 600 ; N afii63900 ; B 0 -250 592 412 ; -C -1 ; WX 600 ; N afii63901 ; B 0 -201 601 741 ; -C -1 ; WX 600 ; N afii63902 ; B 0 0 601 741 ; -C -1 ; WX 600 ; N afii63903 ; B 0 0 601 741 ; -C -1 ; WX 600 ; N afii63904 ; B 0 0 573 684 ; -C -1 ; WX 600 ; N afii63905 ; B 0 -207 592 624 ; -C -1 ; WX 600 ; N afii63906 ; B 0 0 572 819 ; -C -1 ; WX 600 ; N afii63908 ; B 0 -1 600 512 ; -C -1 ; WX 600 ; N afii63910 ; B 0 -1 600 512 ; -C -1 ; WX 600 ; N afii63912 ; B 0 -1 600 709 ; -C -1 ; WX 600 ; N afii62927 ; B 0 -4 598 581 ; -C -1 ; WX 600 ; N afii63941 ; B 0 -240 600 641 ; -C -1 ; WX 600 ; N afii62939 ; B 0 0 600 641 ; -C -1 ; WX 600 ; N afii63943 ; B 0 0 600 641 ; -C -1 ; WX 600 ; N afii62943 ; B 0 -55 598 636 ; -C -1 ; WX 600 ; N afii62946 ; B 0 -207 586 645 ; -C -1 ; WX 600 ; N afii63946 ; B 0 -200 577 482 ; -C -1 ; WX 600 ; N afii62951 ; B 0 0 577 482 ; -C -1 ; WX 600 ; N afii63948 ; B 0 0 577 542 ; -C -1 ; WX 600 ; N afii62953 ; B 0 -7 563 483 ; -C -1 ; WX 600 ; N afii63950 ; B 0 -201 591 743 ; -C -1 ; WX 600 ; N afii63951 ; B 0 0 591 743 ; -C -1 ; WX 600 ; N afii63952 ; B 0 0 591 743 ; -C -1 ; WX 600 ; N afii63953 ; B 0 0 576 680 ; -C -1 ; WX 600 ; N afii63956 ; B 0 -1 600 627 ; -C -1 ; WX 600 ; N afii63958 ; B 0 -262 600 522 ; -C -1 ; WX 600 ; N afii63959 ; B 0 -140 601 522 ; -C -1 ; WX 600 ; N afii63960 ; B 0 -140 601 721 ; -C -1 ; WX 600 ; N afii63961 ; B 0 -252 601 463 ; -C -1 ; WX 600 ; N afii64046 ; B 0 -4 598 790 ; -C -1 ; WX 600 ; N afii64058 ; B 200 0 600 831 ; -C -1 ; WX 600 ; N afii64059 ; B 207 -20 350 831 ; -C -1 ; WX 600 ; N afii64060 ; B 264 -156 489 642 ; -C -1 ; WX 600 ; N afii64061 ; B 118 -156 343 642 ; -C -1 ; WX 600 ; N afii62945 ; B 0 0 596 642 ; -C -1 ; WX 600 ; N afii64184 ; B 0 0 600 695 ; -C -1 ; WX 600 ; N afii52399 ; B 218 77 467 382 ; -C -1 ; WX 600 ; N afii52400 ; B 138 -20 462 798 ; -C -1 ; WX 600 ; N afii62753 ; B 110 0 600 798 ; -C -1 ; WX 600 ; N afii57411 ; B 191 -20 345 831 ; -C -1 ; WX 600 ; N afii62754 ; B 184 0 600 831 ; -C -1 ; WX 600 ; N afii57412 ; B 97 -195 505 608 ; -C -1 ; WX 600 ; N afii62755 ; B 99 -195 600 608 ; -C -1 ; WX 600 ; N afii57413 ; B 202 -300 356 634 ; -C -1 ; WX 600 ; N afii62756 ; B 224 -296 600 630 ; -C -1 ; WX 600 ; N afii57414 ; B 27 -119 517 583 ; -C -1 ; WX 600 ; N afii62759 ; B 30 -279 600 383 ; -C -1 ; WX 600 ; N afii62757 ; B 0 0 569 651 ; -C -1 ; WX 600 ; N afii62758 ; B 0 0 600 664 ; -C -1 ; WX 600 ; N afii57415 ; B 234 -20 339 634 ; -C -1 ; WX 600 ; N afii62760 ; B 224 0 600 630 ; -C -1 ; WX 600 ; N afii57416 ; B 5 -260 554 415 ; -C -1 ; WX 600 ; N afii62763 ; B 0 -260 600 397 ; -C -1 ; WX 600 ; N afii62761 ; B 0 -224 569 412 ; -C -1 ; WX 600 ; N afii62762 ; B 0 -261 600 417 ; -C -1 ; WX 600 ; N afii57417 ; B 179 0 474 601 ; -C -1 ; WX 600 ; N afii62764 ; B 154 0 600 700 ; -C -1 ; WX 600 ; N afii57418 ; B 5 0 554 529 ; -C -1 ; WX 600 ; N afii62767 ; B 0 0 600 529 ; -C -1 ; WX 600 ; N afii62765 ; B 0 0 600 627 ; -C -1 ; WX 600 ; N afii62766 ; B 0 0 600 610 ; -C -1 ; WX 600 ; N afii57419 ; B 5 0 554 722 ; -C -1 ; WX 600 ; N afii62770 ; B 0 0 600 722 ; -C -1 ; WX 600 ; N afii62768 ; B 0 0 599 752 ; -C -1 ; WX 600 ; N afii62769 ; B 0 0 600 740 ; -C -1 ; WX 600 ; N afii57420 ; B 108 -300 600 312 ; -C -1 ; WX 600 ; N afii62773 ; B 78 -300 599 374 ; -C -1 ; WX 600 ; N afii62771 ; B 0 -157 600 370 ; -C -1 ; WX 600 ; N afii62772 ; B 0 -244 600 373 ; -C -1 ; WX 600 ; N afii57421 ; B 108 -300 600 312 ; -C -1 ; WX 600 ; N afii62776 ; B 78 -300 599 374 ; -C -1 ; WX 600 ; N afii62774 ; B 0 0 600 370 ; -C -1 ; WX 600 ; N afii62775 ; B 0 0 600 373 ; -C -1 ; WX 600 ; N afii57422 ; B 108 -300 600 607 ; -C -1 ; WX 600 ; N afii62779 ; B 78 -300 599 595 ; -C -1 ; WX 600 ; N afii62777 ; B 0 0 600 560 ; -C -1 ; WX 600 ; N afii62778 ; B 0 0 600 626 ; -C -1 ; WX 600 ; N afii57423 ; B 182 -5 519 451 ; -C -1 ; WX 600 ; N afii62780 ; B 143 0 600 506 ; -C -1 ; WX 600 ; N afii57424 ; B 182 -5 519 681 ; -C -1 ; WX 600 ; N afii62781 ; B 143 0 600 684 ; -C -1 ; WX 600 ; N afii57425 ; B 66 -205 512 394 ; -C -1 ; WX 600 ; N afii62782 ; B 50 -206 600 387 ; -C -1 ; WX 600 ; N afii57426 ; B 66 -205 512 634 ; -C -1 ; WX 600 ; N afii62783 ; B 50 -206 600 634 ; -C -1 ; WX 600 ; N afii57427 ; B 0 -182 585 398 ; -C -1 ; WX 600 ; N afii62786 ; B 0 -182 600 406 ; -C -1 ; WX 600 ; N afii62784 ; B 0 0 575 396 ; -C -1 ; WX 600 ; N afii62785 ; B 0 0 600 394 ; -C -1 ; WX 600 ; N afii57428 ; B 0 -182 585 688 ; -C -1 ; WX 600 ; N afii62789 ; B 0 -182 600 688 ; -C -1 ; WX 600 ; N afii62787 ; B 0 0 575 688 ; -C -1 ; WX 600 ; N afii62788 ; B 0 0 600 698 ; -C -1 ; WX 600 ; N afii57429 ; B 1 -188 571 355 ; -C -1 ; WX 600 ; N afii62792 ; B 1 -188 600 355 ; -C -1 ; WX 600 ; N afii62790 ; B 0 0 578 353 ; -C -1 ; WX 600 ; N afii62791 ; B 0 0 600 353 ; -C -1 ; WX 600 ; N afii57430 ; B 1 -188 571 574 ; -C -1 ; WX 600 ; N afii62795 ; B 1 -188 600 574 ; -C -1 ; WX 600 ; N afii62793 ; B 0 0 578 566 ; -C -1 ; WX 600 ; N afii62794 ; B 0 0 600 566 ; -C -1 ; WX 600 ; N afii57431 ; B 0 0 577 628 ; -C -1 ; WX 600 ; N afii62798 ; B 0 0 600 628 ; -C -1 ; WX 600 ; N afii62796 ; B 0 0 577 628 ; -C -1 ; WX 600 ; N afii62797 ; B 0 0 600 628 ; -C -1 ; WX 600 ; N afii57432 ; B 0 0 577 628 ; -C -1 ; WX 600 ; N afii62801 ; B 0 0 600 628 ; -C -1 ; WX 600 ; N afii62799 ; B 0 0 577 628 ; -C -1 ; WX 600 ; N afii62800 ; B 0 0 600 628 ; -C -1 ; WX 600 ; N afii57433 ; B 85 -300 595 371 ; -C -1 ; WX 600 ; N afii62804 ; B 107 -300 600 356 ; -C -1 ; WX 600 ; N afii62802 ; B 0 0 485 376 ; -C -1 ; WX 600 ; N afii62803 ; B 0 0 600 356 ; -C -1 ; WX 600 ; N afii57434 ; B 85 -300 595 640 ; -C -1 ; WX 600 ; N afii62807 ; B 107 -300 600 587 ; -C -1 ; WX 600 ; N afii62805 ; B 0 0 485 630 ; -C -1 ; WX 600 ; N afii62806 ; B 0 0 600 594 ; -C -1 ; WX 600 ; N afii57441 ; B 2 0 594 661 ; -C -1 ; WX 600 ; N afii62810 ; B 0 -16 600 616 ; -C -1 ; WX 600 ; N afii62808 ; B 0 0 592 661 ; -C -1 ; WX 600 ; N afii62809 ; B 0 0 600 615 ; -C -1 ; WX 600 ; N afii57442 ; B 53 -188 585 599 ; -C -1 ; WX 600 ; N afii62813 ; B 70 -174 600 536 ; -C -1 ; WX 600 ; N afii62811 ; B 0 0 592 634 ; -C -1 ; WX 600 ; N afii62812 ; B 0 0 600 623 ; -C -1 ; WX 600 ; N afii57443 ; B 4 -18 560 635 ; -C -1 ; WX 600 ; N afii62816 ; B 4 -18 600 633 ; -C -1 ; WX 600 ; N afii57410 ; B 0 0 600 638 ; -C -1 ; WX 600 ; N afii62815 ; B 0 0 600 636 ; -C -1 ; WX 600 ; N afii57444 ; B 67 -96 549 636 ; -C -1 ; WX 600 ; N afii62819 ; B 19 -157 600 630 ; -C -1 ; WX 600 ; N afii62817 ; B 0 0 587 645 ; -C -1 ; WX 600 ; N afii62818 ; B 0 0 600 633 ; -C -1 ; WX 600 ; N afii57445 ; B 169 -300 600 342 ; -C -1 ; WX 600 ; N afii62822 ; B 169 -300 600 342 ; -C -1 ; WX 600 ; N afii62820 ; B 0 -6 560 364 ; -C -1 ; WX 600 ; N afii62821 ; B 0 -6 600 364 ; -C -1 ; WX 600 ; N afii57446 ; B 63 -193 547 542 ; -C -1 ; WX 600 ; N afii62825 ; B 42 -210 600 548 ; -C -1 ; WX 600 ; N afii62823 ; B 0 0 569 647 ; -C -1 ; WX 600 ; N afii62824 ; B 0 0 600 631 ; -C -1 ; WX 600 ; N afii57447 ; B 225 0 474 387 ; -C -1 ; WX 600 ; N afii62828 ; B 154 0 600 506 ; -C -1 ; WX 600 ; N afii57470 ; B 0 -8 461 375 ; -C -1 ; WX 600 ; N afii62827 ; B 0 -208 600 366 ; -C -1 ; WX 600 ; N afii57448 ; B 97 -195 505 330 ; -C -1 ; WX 600 ; N afii62829 ; B 99 -195 600 337 ; -C -1 ; WX 600 ; N afii57449 ; B 27 -119 517 376 ; -C -1 ; WX 600 ; N afii62830 ; B 30 -279 600 110 ; -C -1 ; WX 600 ; N afii57450 ; B 27 -297 517 376 ; -C -1 ; WX 600 ; N afii62833 ; B 47 -300 600 110 ; -C -1 ; WX 600 ; N afii62831 ; B 0 -287 575 412 ; -C -1 ; WX 600 ; N afii62832 ; B 0 -295 600 417 ; -C -1 ; WX 600 ; N afii62834 ; B 30 0 494 726 ; -C -1 ; WX 600 ; N afii62835 ; B 33 -42 600 694 ; -C -1 ; WX 600 ; N afii62836 ; B 53 0 494 796 ; -C -1 ; WX 600 ; N afii62837 ; B 62 -42 600 807 ; -C -1 ; WX 600 ; N afii62838 ; B 53 -295 494 640 ; -C -1 ; WX 600 ; N afii62839 ; B 74 -300 600 678 ; -C -1 ; WX 600 ; N afii62840 ; B 53 0 494 640 ; -C -1 ; WX 600 ; N afii62841 ; B 74 -42 600 678 ; -C -1 ; WX 600 ; N glyph1021 ; B 240 477 390 626 ; -C -1 ; WX 600 ; N afii57543-2 ; B 220 660 374 868 ; -C -1 ; WX 600 ; N afii57454-2 ; B 228 664 372 763 ; -C -1 ; WX 600 ; N afii57451-2 ; B 228 660 372 846 ; -C -1 ; WX 600 ; N glyph1025 ; B 43 0 494 887 ; -C -1 ; WX 600 ; N glyph1026 ; B 58 0 494 997 ; -C -1 ; WX 600 ; N afii57471-2 ; B 190 521 407 710 ; -C -1 ; WX 600 ; N afii57458-2 ; B 229 684 371 846 ; -C -1 ; WX 600 ; N afii57457-2 ; B 195 671 395 846 ; -C -1 ; WX 600 ; N afii57494-2 ; B 138 751 462 854 ; -C -1 ; WX 600 ; N afii57459-2 ; B 275 663 323 993 ; -C -1 ; WX 600 ; N afii57455-2 ; B 190 667 381 893 ; -C -1 ; WX 600 ; N afii57452-2 ; B 176 660 385 897 ; -C -1 ; WX 600 ; N glyph1034 ; B 58 0 494 964 ; -C -1 ; WX 600 ; N glyph1035 ; B 13 0 494 1013 ; -C -1 ; WX 600 ; N glyph1036 ; B 0 0 494 1009 ; -C -1 ; WX 600 ; N afii62884-2 ; B 195 671 395 942 ; -C -1 ; WX 600 ; N afii62881-2 ; B 195 671 395 1023 ; -C -1 ; WX 600 ; N afii62886-2 ; B 195 666 395 946 ; -C -1 ; WX 600 ; N afii62883-2 ; B 195 665 395 1027 ; -C -1 ; WX 600 ; N afii62885-2 ; B 173 671 395 1052 ; -C -1 ; WX 600 ; N afii62882-2 ; B 186 671 395 1062 ; -C -1 ; WX 600 ; N afii57504-2 ; B 193 -535 348 -326 ; -C -1 ; WX 600 ; N afii57456-2 ; B 179 -437 323 -337 ; -C -1 ; WX 600 ; N afii57453-2 ; B 179 -523 323 -337 ; -C -1 ; WX 600 ; N glyph1046 ; B 53 -376 494 640 ; -C -1 ; WX 600 ; N glyph1047 ; B 53 -464 494 640 ; -C -1 ; WX 600 ; N afii57543-3 ; B 229 464 383 673 ; -C -1 ; WX 600 ; N afii57454-3 ; B 219 469 363 568 ; -C -1 ; WX 600 ; N afii57451-3 ; B 219 465 363 651 ; -C -1 ; WX 600 ; N glyph1051 ; B 67 -42 600 924 ; -C -1 ; WX 600 ; N glyph1052 ; B 66 -42 600 1012 ; -C -1 ; WX 600 ; N afii57471-3 ; B 181 326 398 515 ; -C -1 ; WX 600 ; N afii57458-3 ; B 220 488 362 650 ; -C -1 ; WX 600 ; N afii57457-3 ; B 186 476 386 651 ; -C -1 ; WX 600 ; N afii57494-3 ; B 129 556 453 658 ; -C -1 ; WX 600 ; N afii57459-3 ; B 267 467 314 798 ; -C -1 ; WX 600 ; N afii57455-3 ; B 181 472 372 698 ; -C -1 ; WX 600 ; N afii57452-3 ; B 167 465 376 702 ; -C -1 ; WX 600 ; N glyph1060 ; B 59 -42 600 979 ; -C -1 ; WX 600 ; N glyph1061 ; B 13 -42 600 1028 ; -C -1 ; WX 600 ; N glyph1062 ; B -2 -42 600 1024 ; -C -1 ; WX 600 ; N afii62884-3 ; B 186 476 386 747 ; -C -1 ; WX 600 ; N afii62881-3 ; B 186 476 386 828 ; -C -1 ; WX 600 ; N afii62886-3 ; B 186 470 386 750 ; -C -1 ; WX 600 ; N afii62883-3 ; B 186 470 386 832 ; -C -1 ; WX 600 ; N afii62885-3 ; B 165 476 386 856 ; -C -1 ; WX 600 ; N afii62882-3 ; B 177 476 386 866 ; -C -1 ; WX 600 ; N afii57504-3 ; B 193 -710 348 -502 ; -C -1 ; WX 600 ; N afii57456-3 ; B 179 -612 323 -513 ; -C -1 ; WX 600 ; N afii57453-3 ; B 179 -699 323 -513 ; -C -1 ; WX 600 ; N glyph1072 ; B 74 -376 600 678 ; -C -1 ; WX 600 ; N glyph1073 ; B 74 -464 600 678 ; -C -1 ; WX 600 ; N afii57543-4 ; B 88 596 242 805 ; -C -1 ; WX 600 ; N afii57454-4 ; B 96 601 240 700 ; -C -1 ; WX 600 ; N afii57451-4 ; B 96 600 240 786 ; -C -1 ; WX 600 ; N glyph1077 ; B 178 -20 347 921 ; -C -1 ; WX 600 ; N glyph1078 ; B 178 -20 347 1008 ; -C -1 ; WX 600 ; N afii57471-4 ; B 58 458 275 647 ; -C -1 ; WX 600 ; N afii57458-4 ; B 97 620 239 782 ; -C -1 ; WX 600 ; N afii57457-4 ; B 63 607 263 783 ; -C -1 ; WX 600 ; N afii57494-4 ; B 6 688 330 790 ; -C -1 ; WX 600 ; N afii57459-4 ; B 145 598 192 928 ; -C -1 ; WX 600 ; N afii57455-4 ; B 58 604 249 830 ; -C -1 ; WX 600 ; N afii57452-4 ; B 44 597 253 833 ; -C -1 ; WX 600 ; N glyph1086 ; B 184 -20 347 1004 ; -C -1 ; WX 600 ; N glyph1087 ; B 140 -20 348 1054 ; -C -1 ; WX 600 ; N glyph1088 ; B 124 -20 347 1052 ; -C -1 ; WX 600 ; N afii62884-4 ; B 63 607 263 878 ; -C -1 ; WX 600 ; N afii62881-4 ; B 63 607 263 960 ; -C -1 ; WX 600 ; N afii62886-4 ; B 63 602 263 882 ; -C -1 ; WX 600 ; N afii62883-4 ; B 63 602 263 963 ; -C -1 ; WX 600 ; N afii62885-4 ; B 42 607 263 988 ; -C -1 ; WX 600 ; N afii62882-4 ; B 54 607 263 998 ; -C -1 ; WX 600 ; N afii57504-4 ; B 130 -295 284 -87 ; -C -1 ; WX 600 ; N afii57456-4 ; B 116 -209 260 -110 ; -C -1 ; WX 600 ; N afii57453-4 ; B 116 -296 260 -110 ; -C -1 ; WX 600 ; N glyph1098 ; B 202 -376 358 634 ; -C -1 ; WX 600 ; N glyph1099 ; B 202 -464 358 634 ; -C -1 ; WX 600 ; N glyph1100 ; B 141 372 435 529 ; -C -1 ; WX 600 ; N glyph1101 ; B 123 429 417 722 ; -C -1 ; WX 600 ; N glyph1102 ; B 164 -300 391 -64 ; -C -1 ; WX 600 ; N glyph1103 ; B 0 -207 592 412 ; -C -1 ; WX 600 ; N glyph1104 ; B 5 0 554 415 ; -C -1 ; WX 600 ; N glyph1105 ; B 0 0 600 397 ; -C -1 ; WX 600 ; N glyph1106 ; B 0 0 569 412 ; -C -1 ; WX 600 ; N glyph1107 ; B 0 0 600 417 ; -C -1 ; WX 600 ; N glyph1108 ; B 2 0 594 445 ; -C -1 ; WX 600 ; N glyph1109 ; B 0 -16 600 397 ; -C -1 ; WX 600 ; N glyph1110 ; B 0 0 592 441 ; -C -1 ; WX 600 ; N glyph1111 ; B 0 0 600 396 ; -C -1 ; WX 600 ; N glyph1112 ; B 83 -298 551 392 ; -C -1 ; WX 600 ; N glyph1113 ; B 51 -177 547 381 ; -C -1 ; WX 600 ; N glyph1114 ; B 50 -178 546 396 ; -C -1 ; WX 600 ; N glyph1115 ; B 0 -210 600 388 ; -C -1 ; WX 600 ; N glyph1116 ; B 0 -189 600 351 ; -C -1 ; WX 600 ; N glyph1117 ; B 1 -280 600 211 ; -C -1 ; WX 600 ; N glyph1118 ; B 0 0 591 522 ; -C -1 ; WX 600 ; N glyph1119 ; B 0 0 558 463 ; -C -1 ; WX 600 ; N glyph1120 ; B 164 0 600 926 ; -C -1 ; WX 600 ; N glyph1121 ; B 164 0 600 1013 ; -C -1 ; WX 600 ; N glyph1122 ; B 170 0 600 1009 ; -C -1 ; WX 600 ; N glyph1123 ; B 125 0 600 1058 ; -C -1 ; WX 600 ; N glyph1124 ; B 109 0 600 1054 ; -C -1 ; WX 600 ; N glyph1125 ; B 224 -376 600 630 ; -C -1 ; WX 600 ; N glyph1126 ; B 224 -464 600 630 ; -C -1 ; WX 600 ; N uniFFFC ; B 0 0 600 431 ; -C -1 ; WX 600 ; N Ohorn ; B 20 -15 641 628 ; -C -1 ; WX 600 ; N ohorn ; B 42 -16 602 490 ; -C -1 ; WX 600 ; N Uhorn ; B 11 -15 678 714 ; -C -1 ; WX 600 ; N uhorn ; B 15 -16 645 465 ; -C -1 ; WX 600 ; N _d_1133 ; B 195 728 428 827 ; -C -1 ; WX 600 ; N _d_1134 ; B 171 728 403 827 ; -C -1 ; WX 600 ; N _d_1135 ; B 195 683 401 829 ; -C -1 ; WX 600 ; N f006 ; B 200 728 428 827 ; -C -1 ; WX 600 ; N f007 ; B 200 728 428 827 ; -C -1 ; WX 600 ; N f009 ; B 195 683 401 829 ; -C -1 ; WX 600 ; N combininghookabove ; B 176 691 402 827 ; -C -1 ; WX 600 ; N f010 ; B 195 740 399 827 ; -C -1 ; WX 600 ; N f013 ; B 190 691 417 827 ; -C -1 ; WX 600 ; N f011 ; B 195 740 399 827 ; -C -1 ; WX 600 ; N f01c ; B 146 700 484 827 ; -C -1 ; WX 600 ; N f015 ; B 134 726 446 827 ; -C -1 ; WX 600 ; N combiningtildeaccent ; B 146 700 485 827 ; -C -1 ; WX 600 ; N _d_1146 ; B 171 630 436 712 ; -C -1 ; WX 600 ; N _d_1147 ; B 171 630 433 715 ; -C -1 ; WX 600 ; N f02c ; B 433 -186 560 -59 ; -C -1 ; WX 600 ; N dongsign ; B 88 119 508 633 ; -C -1 ; WX 600 ; N onethird ; B -46 -9 646 649 ; -C -1 ; WX 600 ; N twothirds ; B -46 -9 646 648 ; -C -1 ; WX 600 ; N f008 ; B 194 499 400 645 ; -C -1 ; WX 600 ; N _d_1153 ; B 209 499 415 645 ; -C -1 ; WX 600 ; N _d_1154 ; B 176 498 382 644 ; -C -1 ; WX 600 ; N f00f ; B 195 498 401 644 ; -C -1 ; WX 600 ; N f012 ; B 177 500 403 636 ; -C -1 ; WX 600 ; N f014 ; B 177 500 403 636 ; -C -1 ; WX 600 ; N f016 ; B 131 700 470 827 ; -C -1 ; WX 600 ; N f017 ; B 131 700 470 827 ; -C -1 ; WX 600 ; N f018 ; B 146 700 484 827 ; -C -1 ; WX 600 ; N f019 ; B 121 489 459 616 ; -C -1 ; WX 600 ; N f01a ; B 136 489 474 616 ; -C -1 ; WX 600 ; N f01b ; B 121 489 459 616 ; -C -1 ; WX 600 ; N f01e ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f01f ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f020 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f021 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f022 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N combininggraveaccent ; B 195 683 401 829 ; -C -1 ; WX 600 ; N combiningacuteaccent ; B 195 683 401 829 ; -C -1 ; WX 600 ; N f01d ; B 121 489 459 616 ; -C -1 ; WX 600 ; N combiningdotbelow ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f023 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f029 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f02a ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f02b ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f024 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f025 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f026 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f027 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f028 ; B 238 -186 364 -59 ; -C -1 ; WX 600 ; N f02d ; B 164 726 475 827 ; -C -1 ; WX 600 ; N f02e ; B 136 700 475 827 ; -C -1 ; WX 600 ; N f02f ; B 164 726 475 827 ; -C -1 ; WX 600 ; N f030 ; B 146 700 484 827 ; -C -1 ; WX 600 ; N Adotbelow ; B -22 -186 623 592 ; -C -1 ; WX 600 ; N adotbelow ; B 43 -186 574 457 ; -C -1 ; WX 600 ; N Ahookabove ; B -22 0 623 827 ; -C -1 ; WX 600 ; N ahookabove ; B 43 -17 574 636 ; -C -1 ; WX 600 ; N Acircumflexacute ; B -22 0 623 827 ; -C -1 ; WX 600 ; N acircumflexacute ; B 43 -17 574 829 ; -C -1 ; WX 600 ; N Acircumflexgrave ; B -22 0 623 827 ; -C -1 ; WX 600 ; N acircumflexgrave ; B 43 -17 574 829 ; -C -1 ; WX 600 ; N Acircumflexhookabove ; B -22 0 623 827 ; -C -1 ; WX 600 ; N acircumflexhookabove ; B 43 -17 574 827 ; -C -1 ; WX 600 ; N Acircumflextilde ; B -22 0 623 827 ; -C -1 ; WX 600 ; N acircumflextilde ; B 43 -17 574 827 ; -C -1 ; WX 600 ; N Acircumflexdotbelow ; B -22 -186 623 715 ; -C -1 ; WX 600 ; N acircumflexdotbelow ; B 43 -186 574 656 ; -C -1 ; WX 600 ; N Abreveacute ; B -22 0 623 827 ; -C -1 ; WX 600 ; N abreveacute ; B 43 -17 574 829 ; -C -1 ; WX 600 ; N Abrevegrave ; B -22 0 623 827 ; -C -1 ; WX 600 ; N abrevegrave ; B 43 -17 574 829 ; -C -1 ; WX 600 ; N Abrevehookabove ; B -22 0 623 827 ; -C -1 ; WX 600 ; N abrevehookabove ; B 43 -17 574 827 ; -C -1 ; WX 600 ; N Abrevetilde ; B -22 0 623 827 ; -C -1 ; WX 600 ; N abrevetilde ; B 43 -17 574 827 ; -C -1 ; WX 600 ; N Abrevedotbelow ; B -22 -186 623 712 ; -C -1 ; WX 600 ; N abrevedotbelow ; B 43 -186 574 654 ; -C -1 ; WX 600 ; N Edotbelow ; B 15 -186 553 592 ; -C -1 ; WX 600 ; N edotbelow ; B 32 -186 552 457 ; -C -1 ; WX 600 ; N Ehookabove ; B 15 0 553 827 ; -C -1 ; WX 600 ; N ehookabove ; B 32 -16 552 636 ; -C -1 ; WX 600 ; N Etilde ; B 15 0 553 771 ; -C -1 ; WX 600 ; N etilde ; B 32 -16 552 616 ; -C -1 ; WX 600 ; N Ecircumflexacute ; B 15 0 553 827 ; -C -1 ; WX 600 ; N ecircumflexacute ; B 32 -16 552 829 ; -C -1 ; WX 600 ; N Ecircumflexgrave ; B 15 0 553 827 ; -C -1 ; WX 600 ; N ecircumflexgrave ; B 32 -16 552 829 ; -C -1 ; WX 600 ; N Ecircumflexhookabove ; B 15 0 553 827 ; -C -1 ; WX 600 ; N ecircumflexhookabove ; B 32 -16 552 827 ; -C -1 ; WX 600 ; N Ecircumflextilde ; B 15 0 553 827 ; -C -1 ; WX 600 ; N ecircumflextilde ; B 32 -16 552 827 ; -C -1 ; WX 600 ; N Ecircumflexdotbelow ; B 15 -186 553 715 ; -C -1 ; WX 600 ; N ecircumflexdotbelow ; B 32 -186 552 656 ; -C -1 ; WX 600 ; N Ihookabove ; B 82 0 518 827 ; -C -1 ; WX 600 ; N ihookabove ; B 63 0 537 636 ; -C -1 ; WX 600 ; N Idotbelow ; B 82 -186 518 592 ; -C -1 ; WX 600 ; N idotbelow ; B 63 -186 537 633 ; -C -1 ; WX 600 ; N Odotbelow ; B 20 -186 581 607 ; -C -1 ; WX 600 ; N odotbelow ; B 42 -186 560 457 ; -C -1 ; WX 600 ; N Ohookabove ; B 20 -15 581 827 ; -C -1 ; WX 600 ; N ohookabove ; B 42 -16 560 636 ; -C -1 ; WX 600 ; N Ocircumflexacute ; B 20 -15 581 827 ; -C -1 ; WX 600 ; N ocircumflexacute ; B 42 -16 560 829 ; -C -1 ; WX 600 ; N Ocircumflexgrave ; B 20 -15 581 827 ; -C -1 ; WX 600 ; N ocircumflexgrave ; B 42 -16 560 829 ; -C -1 ; WX 600 ; N Ocircumflexhookabove ; B 20 -15 581 827 ; -C -1 ; WX 600 ; N ocircumflexhookabove ; B 42 -16 560 827 ; -C -1 ; WX 600 ; N Ocircumflextilde ; B 20 -15 581 827 ; -C -1 ; WX 600 ; N ocircumflextilde ; B 42 -16 560 827 ; -C -1 ; WX 600 ; N Ocircumflexdotbelow ; B 20 -186 581 715 ; -C -1 ; WX 600 ; N ocircumflexdotbelow ; B 42 -186 560 656 ; -C -1 ; WX 600 ; N Ohornacute ; B 20 -15 641 822 ; -C -1 ; WX 600 ; N ohornacute ; B 42 -16 602 667 ; -C -1 ; WX 600 ; N Ohorngrave ; B 20 -15 641 822 ; -C -1 ; WX 600 ; N ohorngrave ; B 42 -16 602 667 ; -C -1 ; WX 600 ; N Ohornhookabove ; B 20 -15 641 827 ; -C -1 ; WX 600 ; N ohornhookabove ; B 42 -16 602 636 ; -C -1 ; WX 600 ; N Ohorntilde ; B 20 -15 641 771 ; -C -1 ; WX 600 ; N ohorntilde ; B 42 -16 602 616 ; -C -1 ; WX 600 ; N Ohorndotbelow ; B 20 -186 641 628 ; -C -1 ; WX 600 ; N ohorndotbelow ; B 42 -186 602 490 ; -C -1 ; WX 600 ; N Udotbelow ; B 11 -186 591 592 ; -C -1 ; WX 600 ; N udotbelow ; B 15 -186 575 443 ; -C -1 ; WX 600 ; N Uhookabove ; B 11 -15 591 827 ; -C -1 ; WX 600 ; N uhookabove ; B 15 -16 575 636 ; -C -1 ; WX 600 ; N Uhornacute ; B 11 -15 678 822 ; -C -1 ; WX 600 ; N uhornacute ; B 15 -16 645 667 ; -C -1 ; WX 600 ; N Uhorngrave ; B 11 -15 678 822 ; -C -1 ; WX 600 ; N uhorngrave ; B 15 -16 645 667 ; -C -1 ; WX 600 ; N Uhornhookabove ; B 11 -15 678 827 ; -C -1 ; WX 600 ; N uhornhookabove ; B 15 -16 645 636 ; -C -1 ; WX 600 ; N Uhorntilde ; B 11 -15 678 771 ; -C -1 ; WX 600 ; N uhorntilde ; B 15 -16 645 616 ; -C -1 ; WX 600 ; N Uhorndotbelow ; B 11 -186 678 714 ; -C -1 ; WX 600 ; N uhorndotbelow ; B 15 -186 645 465 ; -C -1 ; WX 600 ; N Ydotbelow ; B 21 -186 581 592 ; -C -1 ; WX 600 ; N ydotbelow ; B 21 -209 582 443 ; -C -1 ; WX 600 ; N Yhookabove ; B 21 0 581 827 ; -C -1 ; WX 600 ; N yhookabove ; B 21 -209 582 636 ; -C -1 ; WX 600 ; N Ytilde ; B 21 0 581 771 ; -C -1 ; WX 600 ; N ytilde ; B 21 -209 582 616 ; -C -1 ; WX 600 ; N uni01CD ; B -22 0 623 807 ; -C -1 ; WX 600 ; N uni01CE ; B 43 -17 574 651 ; -C -1 ; WX 600 ; N uni01CF ; B 82 0 518 807 ; -C -1 ; WX 600 ; N uni01D0 ; B 63 0 537 651 ; -C -1 ; WX 600 ; N uni01D1 ; B 20 -15 581 807 ; -C -1 ; WX 600 ; N uni01D2 ; B 42 -16 560 651 ; -C -1 ; WX 600 ; N uni01D3 ; B 11 -15 591 807 ; -C -1 ; WX 600 ; N uni01D4 ; B 15 -16 575 651 ; -C -1 ; WX 600 ; N uni01D5 ; B 11 -15 591 833 ; -C -1 ; WX 600 ; N uni01D6 ; B 15 -16 575 746 ; -C -1 ; WX 600 ; N uni01D7 ; B 11 -15 591 833 ; -C -1 ; WX 600 ; N uni01D8 ; B 15 -16 575 808 ; -C -1 ; WX 600 ; N uni01D9 ; B 11 -15 591 832 ; -C -1 ; WX 600 ; N uni01DA ; B 15 -16 575 808 ; -C -1 ; WX 600 ; N uni01DB ; B 11 -15 591 833 ; -C -1 ; WX 600 ; N uni01DC ; B 15 -16 575 822 ; -C -1 ; WX 600 ; N _d_1290 ; B 133 646 469 833 ; -C -1 ; WX 600 ; N _d_1291 ; B 108 646 493 833 ; -C -1 ; WX 600 ; N _d_1292 ; B 104 646 498 832 ; -C -1 ; WX 600 ; N _d_1293 ; B 108 646 493 833 ; -C -1 ; WX 600 ; N uni0492 ; B 33 0 574 592 ; -C -1 ; WX 600 ; N uni0493 ; B 33 0 574 443 ; -C -1 ; WX 600 ; N uni0496 ; B 4 -130 594 592 ; -C -1 ; WX 600 ; N uni0497 ; B 6 -118 594 443 ; -C -1 ; WX 600 ; N uni049a ; B 40 -130 594 592 ; -C -1 ; WX 600 ; N uni049b ; B 47 -118 594 443 ; -C -1 ; WX 600 ; N uni049c ; B 40 0 601 592 ; -C -1 ; WX 600 ; N uni049d ; B 47 0 576 443 ; -C -1 ; WX 600 ; N uni04a2 ; B 22 -130 594 592 ; -C -1 ; WX 600 ; N uni04a3 ; B 22 -118 594 443 ; -C -1 ; WX 600 ; N uni04ae ; B 21 0 581 592 ; -C -1 ; WX 600 ; N uni04af ; B 21 -209 582 443 ; -C -1 ; WX 600 ; N uni04b0 ; B 21 0 581 592 ; -C -1 ; WX 600 ; N uni04b1 ; B 21 -209 582 443 ; -C -1 ; WX 600 ; N uni04b2 ; B 11 -130 594 593 ; -C -1 ; WX 600 ; N uni04b3 ; B 21 -118 594 443 ; -C -1 ; WX 600 ; N uni04b8 ; B 17 0 578 592 ; -C -1 ; WX 600 ; N uni04b9 ; B 31 0 564 443 ; -C -1 ; WX 600 ; N uni04ba ; B 22 0 583 592 ; -C -1 ; WX 600 ; N uni04bb ; B 25 0 558 443 ; -C -1 ; WX 600 ; N uni018f ; B 31 -15 566 607 ; -C -1 ; WX 600 ; N uni0259 ; B 32 -16 552 457 ; -C -1 ; WX 600 ; N uni04e8 ; B 20 -15 581 607 ; -C -1 ; WX 600 ; N uni04e9 ; B 42 -16 560 457 ; -EndCharMetrics -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/courbd.ttf b/thirdparty/html2ps_pdf/fonts/courbd.ttf deleted file mode 100644 index be426cd20..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/courbd.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/courbi.afm b/thirdparty/html2ps_pdf/fonts/courbi.afm deleted file mode 100644 index 58cfe287c..000000000 --- a/thirdparty/html2ps_pdf/fonts/courbi.afm +++ /dev/null @@ -1,994 +0,0 @@ -StartFontMetrics 4.1 -FontName CourierNewPS-BoldItalicMT -FullName Courier New Bold Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Courier New -Weight Bold Italic -Version Version 2.90 -Characters 940 -ItalicAngle -12.0 -Ascender 833 -Descender -300 -UnderlineThickness 100 -UnderlinePosition -233 -IsFixedPitch true -FontBBox -103 -377 836 1004 -StartCharMetrics 975 -C 0 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 600 ; N space ; B 244 -15 500 648 ; -C 33 ; WX 600 ; N exclam ; B 244 -15 500 648 ; -C 34 ; WX 600 ; N quotedbl ; B 240 332 595 604 ; -C 35 ; WX 600 ; N numbersign ; B 99 -94 625 686 ; -C 36 ; WX 600 ; N dollar ; B 98 -125 612 695 ; -C 37 ; WX 600 ; N percent ; B 129 -15 604 627 ; -C 38 ; WX 600 ; N ampersand ; B 136 -15 597 558 ; -C 39 ; WX 600 ; N quotesingle ; B 344 318 494 611 ; -C 40 ; WX 600 ; N parenleft ; B 305 -156 616 642 ; -C 41 ; WX 600 ; N parenright ; B 94 -156 406 642 ; -C 42 ; WX 600 ; N asterisk ; B 178 212 616 632 ; -C 43 ; WX 600 ; N plus ; B 100 0 622 568 ; -C 44 ; WX 600 ; N comma ; B 175 -161 439 135 ; -C 45 ; WX 600 ; N hyphen ; B 142 238 580 330 ; -C 46 ; WX 600 ; N period ; B 235 -16 389 117 ; -C 47 ; WX 600 ; N slash ; B 67 -115 659 706 ; -C 48 ; WX 600 ; N zero ; B 131 -15 605 648 ; -C 49 ; WX 600 ; N one ; B 92 0 530 648 ; -C 50 ; WX 600 ; N two ; B 54 0 609 648 ; -C 51 ; WX 600 ; N three ; B 80 -15 612 648 ; -C 52 ; WX 600 ; N four ; B 104 0 581 632 ; -C 53 ; WX 600 ; N five ; B 82 -15 614 632 ; -C 54 ; WX 600 ; N six ; B 157 -15 666 648 ; -C 55 ; WX 600 ; N seven ; B 186 -1 643 632 ; -C 56 ; WX 600 ; N eight ; B 114 -15 611 648 ; -C 57 ; WX 600 ; N nine ; B 116 -15 620 648 ; -C 58 ; WX 600 ; N colon ; B 235 -18 457 443 ; -C 59 ; WX 600 ; N semicolon ; B 132 -106 456 441 ; -C 60 ; WX 600 ; N less ; B 48 2 671 568 ; -C 61 ; WX 600 ; N equal ; B 60 141 664 429 ; -C 62 ; WX 600 ; N greater ; B 51 2 674 568 ; -C 63 ; WX 600 ; N question ; B 198 -14 611 607 ; -C 64 ; WX 600 ; N at ; B 122 -83 580 648 ; -C 65 ; WX 600 ; N A ; B -13 0 635 592 ; -C 66 ; WX 600 ; N B ; B 22 0 624 592 ; -C 67 ; WX 600 ; N C ; B 79 -15 667 607 ; -C 68 ; WX 600 ; N D ; B 59 0 661 592 ; -C 69 ; WX 600 ; N E ; B 24 0 657 592 ; -C 70 ; WX 600 ; N F ; B 58 0 712 592 ; -C 71 ; WX 600 ; N G ; B 78 -15 668 607 ; -C 72 ; WX 600 ; N H ; B 31 0 679 592 ; -C 73 ; WX 600 ; N I ; B 92 0 634 592 ; -C 74 ; WX 600 ; N J ; B 65 -15 730 592 ; -C 75 ; WX 600 ; N K ; B 23 0 699 592 ; -C 76 ; WX 600 ; N L ; B 42 0 620 592 ; -C 77 ; WX 600 ; N M ; B -9 0 730 592 ; -C 78 ; WX 600 ; N N ; B 22 0 709 592 ; -C 79 ; WX 600 ; N O ; B 75 -15 652 607 ; -C 80 ; WX 600 ; N P ; B 22 0 620 592 ; -C 81 ; WX 600 ; N Q ; B 75 -148 651 607 ; -C 82 ; WX 600 ; N R ; B 24 0 633 592 ; -C 83 ; WX 600 ; N S ; B 72 -15 634 607 ; -C 84 ; WX 600 ; N T ; B 120 0 684 592 ; -C 85 ; WX 600 ; N U ; B 111 -15 707 592 ; -C 86 ; WX 600 ; N V ; B 91 0 739 592 ; -C 87 ; WX 600 ; N W ; B 95 0 728 592 ; -C 88 ; WX 600 ; N X ; B 21 0 697 592 ; -C 89 ; WX 600 ; N Y ; B 126 0 697 592 ; -C 90 ; WX 600 ; N Z ; B 74 0 634 592 ; -C 91 ; WX 600 ; N bracketleft ; B 216 -156 601 632 ; -C 92 ; WX 600 ; N backslash ; B 222 -112 504 706 ; -C 93 ; WX 600 ; N bracketright ; B 101 -156 485 632 ; -C 94 ; WX 600 ; N asciicircum ; B 162 331 600 662 ; -C 95 ; WX 600 ; N underscore ; B -94 -300 592 -200 ; -C 96 ; WX 600 ; N grave ; B 271 501 435 662 ; -C 97 ; WX 600 ; N a ; B 66 -16 585 457 ; -C 98 ; WX 600 ; N b ; B 0 -16 624 633 ; -C 99 ; WX 600 ; N c ; B 95 -17 627 457 ; -C 100 ; WX 600 ; N d ; B 70 -16 665 633 ; -C 101 ; WX 600 ; N e ; B 74 -16 602 457 ; -C 102 ; WX 600 ; N f ; B 82 0 694 633 ; -C 103 ; WX 600 ; N g ; B 74 -209 679 458 ; -C 104 ; WX 600 ; N h ; B 33 0 596 633 ; -C 105 ; WX 600 ; N i ; B 72 0 549 633 ; -C 106 ; WX 600 ; N j ; B 51 -209 554 633 ; -C 107 ; WX 600 ; N k ; B 43 0 616 633 ; -C 108 ; WX 600 ; N l ; B 73 0 549 633 ; -C 109 ; WX 600 ; N m ; B -7 0 637 457 ; -C 110 ; WX 600 ; N n ; B 34 0 585 457 ; -C 111 ; WX 600 ; N o ; B 83 -16 610 457 ; -C 112 ; WX 600 ; N p ; B -43 -209 626 457 ; -C 113 ; WX 600 ; N q ; B 79 -209 701 457 ; -C 114 ; WX 600 ; N r ; B 63 0 653 457 ; -C 115 ; WX 600 ; N s ; B 83 -16 592 457 ; -C 116 ; WX 600 ; N t ; B 143 -16 601 601 ; -C 117 ; WX 600 ; N u ; B 97 -16 606 443 ; -C 118 ; WX 600 ; N v ; B 83 0 688 443 ; -C 119 ; WX 600 ; N w ; B 81 0 687 443 ; -C 120 ; WX 600 ; N x ; B 31 0 645 443 ; -C 121 ; WX 600 ; N y ; B -14 -209 667 443 ; -C 122 ; WX 600 ; N z ; B 86 0 605 443 ; -C 123 ; WX 600 ; N braceleft ; B 218 -156 558 632 ; -C 124 ; WX 600 ; N bar ; B 250 -156 351 632 ; -C 125 ; WX 600 ; N braceright ; B 141 -156 483 632 ; -C 126 ; WX 600 ; N asciitilde ; B 116 180 606 388 ; -C 127 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 600 ; N Euro ; B 9 -15 667 607 ; -C 129 ; WX 600 ; N afii10052 ; B 31 0 701 816 ; -C 130 ; WX 600 ; N quotesinglbase ; B 175 -156 438 135 ; -C 131 ; WX 600 ; N florin ; B 44 -125 674 648 ; -C 132 ; WX 600 ; N quotedblbase ; B 80 -130 549 131 ; -C 133 ; WX 600 ; N ellipsis ; B 56 -15 559 87 ; -C 134 ; WX 600 ; N dagger ; B 175 -94 592 632 ; -C 135 ; WX 600 ; N daggerdbl ; B 123 -94 589 632 ; -C 136 ; WX 600 ; N circumflex ; B 248 498 563 649 ; -C 137 ; WX 600 ; N perthousand ; B 125 3 613 627 ; -C 138 ; WX 600 ; N Scaron ; B 72 -15 634 801 ; -C 139 ; WX 600 ; N guilsinglleft ; B 174 20 502 420 ; -C 140 ; WX 600 ; N OE ; B 41 0 733 592 ; -C 141 ; WX 600 ; N afii10061 ; B 48 0 671 816 ; -C 142 ; WX 600 ; N Zcaron ; B 74 0 634 801 ; -C 143 ; WX 600 ; N afii10145 ; B 44 -130 692 592 ; -C 144 ; WX 600 ; N quotedblbase ; B 80 -130 549 131 ; -C 145 ; WX 600 ; N quoteleft ; B 338 316 488 612 ; -C 146 ; WX 600 ; N quoteright ; B 247 316 511 612 ; -C 147 ; WX 600 ; N quotedblleft ; B 210 355 581 616 ; -C 148 ; WX 600 ; N quotedblright ; B 183 355 652 616 ; -C 149 ; WX 600 ; N bullet ; B 213 158 521 461 ; -C 150 ; WX 600 ; N endash ; B 99 233 620 333 ; -C 151 ; WX 600 ; N emdash ; B 29 233 691 333 ; -C 152 ; WX 600 ; N tilde ; B 240 489 579 610 ; -C 153 ; WX 600 ; N trademark ; B -42 296 602 651 ; -C 154 ; WX 600 ; N scaron ; B 83 -16 592 645 ; -C 155 ; WX 600 ; N guilsinglright ; B 202 20 522 420 ; -C 156 ; WX 600 ; N oe ; B 19 -16 665 456 ; -C 157 ; WX 600 ; N afii10109 ; B 61 0 620 661 ; -C 158 ; WX 600 ; N zcaron ; B 86 0 605 645 ; -C 159 ; WX 600 ; N Ydieresis ; B 126 0 697 777 ; -C 160 ; WX 600 ; N space ; B 244 -15 500 648 ; -C 161 ; WX 600 ; N exclamdown ; B 190 -207 440 433 ; -C 162 ; WX 600 ; N cent ; B 145 -31 596 685 ; -C 163 ; WX 600 ; N sterling ; B 63 0 574 606 ; -C 164 ; WX 600 ; N currency ; B 95 66 630 526 ; -C 165 ; WX 600 ; N yen ; B 135 0 697 589 ; -C 166 ; WX 600 ; N brokenbar ; B 250 -156 351 632 ; -C 167 ; WX 600 ; N section ; B 74 -85 646 636 ; -C 168 ; WX 600 ; N dieresis ; B 259 521 570 622 ; -C 169 ; WX 600 ; N copyright ; B 56 -14 662 592 ; -C 170 ; WX 600 ; N ordfeminine ; B 148 364 486 648 ; -C 171 ; WX 600 ; N guillemotleft ; B 79 18 638 419 ; -C 172 ; WX 600 ; N logicalnot ; B 40 -1 634 333 ; -C 173 ; WX 600 ; N hyphen ; B 142 238 580 330 ; -C 174 ; WX 600 ; N registered ; B 56 -14 662 592 ; -C 175 ; WX 600 ; N overscore ; B 95 660 780 760 ; -C 176 ; WX 600 ; N degree ; B 262 417 574 728 ; -C 177 ; WX 600 ; N plusminus ; B 41 0 622 705 ; -C 178 ; WX 600 ; N twosuperior ; B 148 311 489 648 ; -C 179 ; WX 600 ; N threesuperior ; B 165 304 491 648 ; -C 180 ; WX 600 ; N acute ; B 376 500 583 661 ; -C 181 ; WX 600 ; N mu1 ; B 64 -209 607 443 ; -C 182 ; WX 600 ; N paragraph ; B 133 -87 669 632 ; -C 183 ; WX 600 ; N periodcentered ; B 290 246 443 378 ; -C 184 ; WX 600 ; N cedilla ; B 175 -179 368 30 ; -C 185 ; WX 600 ; N onesuperior ; B 171 311 442 650 ; -C 186 ; WX 600 ; N ordmasculine ; B 159 364 501 648 ; -C 187 ; WX 600 ; N guillemotright ; B 65 24 617 425 ; -C 188 ; WX 600 ; N onequarter ; B 48 0 644 650 ; -C 189 ; WX 600 ; N onehalf ; B 48 0 672 650 ; -C 190 ; WX 600 ; N threequarters ; B 50 0 655 648 ; -C 191 ; WX 600 ; N questiondown ; B 74 -210 485 431 ; -C 192 ; WX 600 ; N Agrave ; B -13 0 635 818 ; -C 193 ; WX 600 ; N Aacute ; B -13 0 635 816 ; -C 194 ; WX 600 ; N Acircumflex ; B -13 0 635 805 ; -C 195 ; WX 600 ; N Atilde ; B -13 0 635 766 ; -C 196 ; WX 600 ; N Adieresis ; B -13 0 635 777 ; -C 197 ; WX 600 ; N Aring ; B -13 0 635 826 ; -C 198 ; WX 600 ; N AE ; B -12 0 728 592 ; -C 199 ; WX 600 ; N Ccedilla ; B 79 -179 667 607 ; -C 200 ; WX 600 ; N Egrave ; B 24 0 657 818 ; -C 201 ; WX 600 ; N Eacute ; B 24 0 657 816 ; -C 202 ; WX 600 ; N Ecircumflex ; B 24 0 657 805 ; -C 203 ; WX 600 ; N Edieresis ; B 24 0 657 777 ; -C 204 ; WX 600 ; N Igrave ; B 92 0 634 818 ; -C 205 ; WX 600 ; N Iacute ; B 92 0 634 816 ; -C 206 ; WX 600 ; N Icircumflex ; B 92 0 634 805 ; -C 207 ; WX 600 ; N Idieresis ; B 92 0 634 777 ; -C 208 ; WX 600 ; N Eth ; B 23 0 621 592 ; -C 209 ; WX 600 ; N Ntilde ; B 22 0 709 766 ; -C 210 ; WX 600 ; N Ograve ; B 75 -15 652 818 ; -C 211 ; WX 600 ; N Oacute ; B 75 -15 652 816 ; -C 212 ; WX 600 ; N Ocircumflex ; B 75 -15 652 805 ; -C 213 ; WX 600 ; N Otilde ; B 75 -15 652 766 ; -C 214 ; WX 600 ; N Odieresis ; B 75 -15 652 777 ; -C 215 ; WX 600 ; N multiply ; B 205 80 637 485 ; -C 216 ; WX 600 ; N Oslash ; B 5 -71 718 642 ; -C 217 ; WX 600 ; N Ugrave ; B 111 -15 707 818 ; -C 218 ; WX 600 ; N Uacute ; B 111 -15 707 816 ; -C 219 ; WX 600 ; N Ucircumflex ; B 111 -15 707 805 ; -C 220 ; WX 600 ; N Udieresis ; B 111 -15 707 777 ; -C 221 ; WX 600 ; N Yacute ; B 126 0 697 816 ; -C 222 ; WX 600 ; N Thorn ; B 69 0 643 592 ; -C 223 ; WX 600 ; N germandbls ; B 22 -16 572 633 ; -C 224 ; WX 600 ; N agrave ; B 66 -16 585 662 ; -C 225 ; WX 600 ; N aacute ; B 66 -16 585 661 ; -C 226 ; WX 600 ; N acircumflex ; B 66 -16 585 649 ; -C 227 ; WX 600 ; N atilde ; B 66 -16 585 610 ; -C 228 ; WX 600 ; N adieresis ; B 66 -16 585 622 ; -C 229 ; WX 600 ; N aring ; B 66 -16 585 676 ; -C 230 ; WX 600 ; N ae ; B 8 -16 665 456 ; -C 231 ; WX 600 ; N ccedilla ; B 95 -179 627 457 ; -C 232 ; WX 600 ; N egrave ; B 74 -16 602 662 ; -C 233 ; WX 600 ; N eacute ; B 74 -16 602 661 ; -C 234 ; WX 600 ; N ecircumflex ; B 74 -16 602 649 ; -C 235 ; WX 600 ; N edieresis ; B 74 -16 602 622 ; -C 236 ; WX 600 ; N igrave ; B 72 0 549 662 ; -C 237 ; WX 600 ; N iacute ; B 72 0 549 661 ; -C 238 ; WX 600 ; N icircumflex ; B 72 0 549 649 ; -C 239 ; WX 600 ; N idieresis ; B 72 0 549 622 ; -C 240 ; WX 600 ; N eth ; B 85 -16 628 630 ; -C 241 ; WX 600 ; N ntilde ; B 34 0 585 610 ; -C 242 ; WX 600 ; N ograve ; B 83 -16 610 662 ; -C 243 ; WX 600 ; N oacute ; B 83 -16 610 661 ; -C 244 ; WX 600 ; N ocircumflex ; B 83 -16 610 649 ; -C 245 ; WX 600 ; N otilde ; B 83 -16 610 610 ; -C 246 ; WX 600 ; N odieresis ; B 83 -16 610 622 ; -C 247 ; WX 600 ; N divide ; B 100 3 622 564 ; -C 248 ; WX 600 ; N oslash ; B 17 -72 669 495 ; -C 249 ; WX 600 ; N ugrave ; B 97 -16 606 662 ; -C 250 ; WX 600 ; N uacute ; B 97 -16 606 661 ; -C 251 ; WX 600 ; N ucircumflex ; B 97 -16 606 649 ; -C 252 ; WX 600 ; N udieresis ; B 97 -16 606 622 ; -C 253 ; WX 600 ; N yacute ; B -14 -209 667 661 ; -C 254 ; WX 600 ; N thorn ; B -43 -209 625 633 ; -C 255 ; WX 600 ; N ydieresis ; B -14 -209 667 622 ; -C -1 ; WX 0 ; N .null ; B 244 -15 500 648 ; -C -1 ; WX 600 ; N nonmarkingreturn ; B 244 -15 500 648 ; -C -1 ; WX 600 ; N notequal ; B 60 -67 664 637 ; -C -1 ; WX 600 ; N infinity ; B 103 186 615 422 ; -C -1 ; WX 600 ; N lessequal ; B 10 40 671 745 ; -C -1 ; WX 600 ; N greaterequal ; B 23 40 665 745 ; -C -1 ; WX 600 ; N partialdiff ; B 46 -15 560 633 ; -C -1 ; WX 600 ; N summation ; B 33 -188 551 613 ; -C -1 ; WX 600 ; N product ; B 12 -188 589 613 ; -C -1 ; WX 600 ; N pi1 ; B 47 0 648 443 ; -C -1 ; WX 600 ; N integral ; B -8 -190 736 826 ; -C -1 ; WX 600 ; N Ohm ; B 17 0 583 607 ; -C -1 ; WX 600 ; N radical ; B 67 -38 575 913 ; -C -1 ; WX 600 ; N approxequal ; B 69 74 653 494 ; -C -1 ; WX 600 ; N increment ; B 16 0 569 583 ; -C -1 ; WX 600 ; N lozenge ; B 76 0 525 694 ; -C -1 ; WX 600 ; N fraction ; B 97 149 560 467 ; -C -1 ; WX 600 ; N fi ; B 1 0 649 633 ; -C -1 ; WX 600 ; N fl ; B 0 0 664 633 ; -C -1 ; WX 600 ; N dotlessi ; B 72 0 549 443 ; -C -1 ; WX 600 ; N macron ; B 255 525 567 584 ; -C -1 ; WX 600 ; N breve ; B 271 501 585 648 ; -C -1 ; WX 600 ; N dotaccent ; B 353 511 477 632 ; -C -1 ; WX 600 ; N ring ; B 318 493 508 676 ; -C -1 ; WX 600 ; N hungarumlaut ; B 250 501 584 662 ; -C -1 ; WX 600 ; N ogonek ; B 229 -157 398 30 ; -C -1 ; WX 600 ; N caron ; B 266 493 581 645 ; -C -1 ; WX 600 ; N Lslash ; B 42 0 618 592 ; -C -1 ; WX 600 ; N lslash ; B 72 0 560 633 ; -C -1 ; WX 600 ; N minus ; B 100 234 622 334 ; -C -1 ; WX 600 ; N franc ; B 58 0 712 592 ; -C -1 ; WX 600 ; N Gbreve ; B 78 -15 668 804 ; -C -1 ; WX 600 ; N gbreve ; B 74 -209 679 648 ; -C -1 ; WX 600 ; N Idot ; B 92 0 634 789 ; -C -1 ; WX 600 ; N Scedilla ; B 72 -179 634 607 ; -C -1 ; WX 600 ; N scedilla ; B 83 -179 592 457 ; -C -1 ; WX 600 ; N Cacute ; B 79 -15 667 816 ; -C -1 ; WX 600 ; N cacute ; B 95 -17 627 661 ; -C -1 ; WX 600 ; N Ccaron ; B 79 -15 667 801 ; -C -1 ; WX 600 ; N ccaron ; B 95 -17 627 645 ; -C -1 ; WX 600 ; N dmacron ; B 70 -13 696 636 ; -C -1 ; WX 600 ; N middot ; B 418 299 542 420 ; -C -1 ; WX 600 ; N Abreve ; B -13 0 635 804 ; -C -1 ; WX 600 ; N abreve ; B 66 -16 600 648 ; -C -1 ; WX 600 ; N Aogonek ; B -13 -129 635 592 ; -C -1 ; WX 600 ; N aogonek ; B 66 -126 588 457 ; -C -1 ; WX 600 ; N Dcaron ; B 59 0 661 801 ; -C -1 ; WX 600 ; N dcaron ; B 70 -16 836 633 ; -C -1 ; WX 600 ; N Dslash ; B 23 0 621 592 ; -C -1 ; WX 600 ; N Eogonek ; B 24 -130 657 592 ; -C -1 ; WX 600 ; N eogonek ; B 74 -141 602 457 ; -C -1 ; WX 600 ; N Ecaron ; B 24 0 657 801 ; -C -1 ; WX 600 ; N ecaron ; B 74 -16 602 645 ; -C -1 ; WX 600 ; N Lacute ; B 42 0 620 816 ; -C -1 ; WX 600 ; N lacute ; B 73 0 588 830 ; -C -1 ; WX 600 ; N Lcaron ; B 42 0 685 592 ; -C -1 ; WX 600 ; N lcaron ; B 73 0 657 633 ; -C -1 ; WX 600 ; N Ldot ; B 42 0 620 592 ; -C -1 ; WX 600 ; N ldot ; B 73 0 589 633 ; -C -1 ; WX 600 ; N Nacute ; B 22 0 709 816 ; -C -1 ; WX 600 ; N nacute ; B 34 0 585 661 ; -C -1 ; WX 600 ; N Ncaron ; B 22 0 709 801 ; -C -1 ; WX 600 ; N ncaron ; B 34 0 615 645 ; -C -1 ; WX 600 ; N Odblacute ; B 75 -15 695 818 ; -C -1 ; WX 600 ; N odblacute ; B 83 -16 655 662 ; -C -1 ; WX 600 ; N Racute ; B 24 0 633 816 ; -C -1 ; WX 600 ; N racute ; B 63 0 653 661 ; -C -1 ; WX 600 ; N Rcaron ; B 24 0 633 801 ; -C -1 ; WX 600 ; N rcaron ; B 63 0 653 645 ; -C -1 ; WX 600 ; N Sacute ; B 72 -15 634 816 ; -C -1 ; WX 600 ; N sacute ; B 83 -16 592 661 ; -C -1 ; WX 600 ; N Tcedilla ; B 120 -271 684 592 ; -C -1 ; WX 600 ; N tcedilla ; B 143 -250 601 601 ; -C -1 ; WX 600 ; N Tcaron ; B 120 0 684 801 ; -C -1 ; WX 600 ; N tcaron ; B 143 -16 751 633 ; -C -1 ; WX 600 ; N Uring ; B 111 -15 707 826 ; -C -1 ; WX 600 ; N uring ; B 97 -16 606 676 ; -C -1 ; WX 600 ; N Udblacute ; B 111 -15 707 818 ; -C -1 ; WX 600 ; N udblacute ; B 97 -16 636 662 ; -C -1 ; WX 600 ; N Zacute ; B 74 0 634 816 ; -C -1 ; WX 600 ; N zacute ; B 86 0 605 661 ; -C -1 ; WX 600 ; N Zdot ; B 74 0 634 788 ; -C -1 ; WX 600 ; N zdot ; B 86 0 605 632 ; -C -1 ; WX 600 ; N Gamma ; B 54 0 703 592 ; -C -1 ; WX 600 ; N Theta ; B 75 -15 652 607 ; -C -1 ; WX 600 ; N Phi ; B 99 0 628 592 ; -C -1 ; WX 600 ; N alpha ; B 86 -16 639 457 ; -C -1 ; WX 600 ; N delta ; B 121 -16 603 633 ; -C -1 ; WX 600 ; N epsilon ; B 118 -16 589 457 ; -C -1 ; WX 600 ; N sigma ; B 90 -16 673 443 ; -C -1 ; WX 600 ; N tau ; B 174 -16 558 443 ; -C -1 ; WX 600 ; N phi ; B 85 -225 614 457 ; -C -1 ; WX 600 ; N underscoredbl ; B -103 -377 621 -100 ; -C -1 ; WX 600 ; N exclamdbl ; B 103 -15 641 648 ; -C -1 ; WX 600 ; N nsuperior ; B 193 253 527 527 ; -C -1 ; WX 600 ; N peseta ; B 12 -8 634 592 ; -C -1 ; WX 600 ; N arrowleft ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowup ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowright ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowdown ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowboth ; B 1 50 599 278 ; -C -1 ; WX 600 ; N arrowupdn ; B 186 -135 414 463 ; -C -1 ; WX 600 ; N arrowupdnbse ; B 186 -196 414 463 ; -C -1 ; WX 600 ; N orthogonal ; B 1 0 599 597 ; -C -1 ; WX 600 ; N intersection ; B 62 -15 642 648 ; -C -1 ; WX 600 ; N equivalence ; B 39 46 683 523 ; -C -1 ; WX 600 ; N house ; B 44 0 556 639 ; -C -1 ; WX 600 ; N revlogicalnot ; B -9 0 621 334 ; -C -1 ; WX 600 ; N integraltp ; B 211 -251 645 848 ; -C -1 ; WX 600 ; N integralbt ; B 82 -251 516 848 ; -C -1 ; WX 600 ; N SF100000 ; B -7 219 607 292 ; -C -1 ; WX 600 ; N SF110000 ; B 264 -255 336 766 ; -C -1 ; WX 600 ; N SF010000 ; B 264 -255 607 292 ; -C -1 ; WX 600 ; N SF030000 ; B -7 -255 336 292 ; -C -1 ; WX 600 ; N SF020000 ; B 264 219 607 766 ; -C -1 ; WX 600 ; N SF040000 ; B -7 219 336 766 ; -C -1 ; WX 600 ; N SF080000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF090000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF060000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF070000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF050000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF430000 ; B -7 141 607 370 ; -C -1 ; WX 600 ; N SF240000 ; B 186 -255 414 766 ; -C -1 ; WX 600 ; N SF510000 ; B 264 -255 607 370 ; -C -1 ; WX 600 ; N SF520000 ; B 186 -255 607 292 ; -C -1 ; WX 600 ; N SF390000 ; B 186 -255 607 370 ; -C -1 ; WX 600 ; N SF220000 ; B -7 -255 336 370 ; -C -1 ; WX 600 ; N SF210000 ; B -7 -255 414 292 ; -C -1 ; WX 600 ; N SF250000 ; B -7 -255 414 370 ; -C -1 ; WX 600 ; N SF500000 ; B 264 141 607 766 ; -C -1 ; WX 600 ; N SF490000 ; B 186 219 607 766 ; -C -1 ; WX 600 ; N SF380000 ; B 186 141 607 766 ; -C -1 ; WX 600 ; N SF280000 ; B -7 141 336 766 ; -C -1 ; WX 600 ; N SF270000 ; B -7 219 414 766 ; -C -1 ; WX 600 ; N SF260000 ; B -7 141 414 766 ; -C -1 ; WX 600 ; N SF360000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF370000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF420000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF190000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF200000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF230000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF470000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF480000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF410000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF450000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF460000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF400000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF540000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF530000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF440000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N upblock ; B -7 255 607 766 ; -C -1 ; WX 600 ; N dnblock ; B -7 -255 607 255 ; -C -1 ; WX 600 ; N block ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N lfblock ; B -7 -255 300 766 ; -C -1 ; WX 600 ; N rtblock ; B 300 -255 608 766 ; -C -1 ; WX 600 ; N ltshade ; B 44 -207 607 766 ; -C -1 ; WX 600 ; N shade ; B -7 -207 607 766 ; -C -1 ; WX 600 ; N dkshade ; B -7 -258 607 766 ; -C -1 ; WX 600 ; N filledbox ; B 1 0 599 598 ; -C -1 ; WX 600 ; N filledrect ; B 1 193 599 306 ; -C -1 ; WX 600 ; N triagup ; B 7 0 592 585 ; -C -1 ; WX 600 ; N triagrt ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N triagdn ; B 7 -13 592 572 ; -C -1 ; WX 600 ; N triaglf ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N circle ; B 85 67 515 497 ; -C -1 ; WX 600 ; N invbullet ; B 61 0 539 479 ; -C -1 ; WX 600 ; N invcircle ; B 19 0 583 564 ; -C -1 ; WX 600 ; N smileface ; B -3 -14 603 592 ; -C -1 ; WX 600 ; N invsmileface ; B -3 -14 603 592 ; -C -1 ; WX 600 ; N sun ; B 1 -69 599 529 ; -C -1 ; WX 600 ; N female ; B 157 39 444 563 ; -C -1 ; WX 600 ; N male ; B 90 122 511 563 ; -C -1 ; WX 600 ; N spade ; B 63 0 537 601 ; -C -1 ; WX 600 ; N club ; B 1 0 599 597 ; -C -1 ; WX 600 ; N heart ; B 53 -11 547 559 ; -C -1 ; WX 600 ; N diamond ; B 78 -12 523 597 ; -C -1 ; WX 600 ; N musicalnote ; B 132 14 440 563 ; -C -1 ; WX 600 ; N musicalnotedbl ; B 44 -21 528 566 ; -C -1 ; WX 600 ; N IJ ; B 24 -15 723 592 ; -C -1 ; WX 600 ; N ij ; B -38 -209 675 633 ; -C -1 ; WX 600 ; N napostrophe ; B 29 0 593 612 ; -C -1 ; WX 600 ; N minute ; B 344 318 494 611 ; -C -1 ; WX 600 ; N second ; B 240 332 595 604 ; -C -1 ; WX 600 ; N afii61248 ; B 129 -15 604 627 ; -C -1 ; WX 600 ; N afii61289 ; B 112 -16 558 607 ; -C -1 ; WX 600 ; N H22073 ; B 1 0 599 598 ; -C -1 ; WX 600 ; N H18543 ; B 214 156 521 463 ; -C -1 ; WX 600 ; N H18551 ; B 214 156 521 463 ; -C -1 ; WX 600 ; N H18533 ; B 85 67 515 497 ; -C -1 ; WX 600 ; N openbullet ; B 213 158 521 461 ; -C -1 ; WX 600 ; N Amacron ; B -13 0 635 740 ; -C -1 ; WX 600 ; N amacron ; B 66 -16 585 584 ; -C -1 ; WX 600 ; N Ccircumflex ; B 79 -15 667 805 ; -C -1 ; WX 600 ; N ccircumflex ; B 95 -17 627 649 ; -C -1 ; WX 600 ; N Cdot ; B 79 -15 667 788 ; -C -1 ; WX 600 ; N cdot ; B 95 -17 627 632 ; -C -1 ; WX 600 ; N Emacron ; B 24 0 657 740 ; -C -1 ; WX 600 ; N emacron ; B 74 -16 602 584 ; -C -1 ; WX 600 ; N Ebreve ; B 24 0 657 804 ; -C -1 ; WX 600 ; N ebreve ; B 74 -16 602 648 ; -C -1 ; WX 600 ; N Edot ; B 24 0 657 788 ; -C -1 ; WX 600 ; N edot ; B 74 -16 602 632 ; -C -1 ; WX 600 ; N Gcircumflex ; B 78 -15 668 805 ; -C -1 ; WX 600 ; N gcircumflex ; B 74 -209 679 649 ; -C -1 ; WX 600 ; N Gdot ; B 78 -15 668 788 ; -C -1 ; WX 600 ; N gdot ; B 74 -209 679 632 ; -C -1 ; WX 600 ; N Gcedilla ; B 78 -190 668 607 ; -C -1 ; WX 600 ; N gcedilla ; B 74 -209 679 702 ; -C -1 ; WX 600 ; N Hcircumflex ; B 31 0 679 805 ; -C -1 ; WX 600 ; N hcircumflex ; B 33 0 603 805 ; -C -1 ; WX 600 ; N Hbar ; B 31 0 679 592 ; -C -1 ; WX 600 ; N hbar ; B 33 0 596 633 ; -C -1 ; WX 600 ; N Itilde ; B 92 0 634 766 ; -C -1 ; WX 600 ; N itilde ; B 72 0 578 610 ; -C -1 ; WX 600 ; N Imacron ; B 92 0 634 740 ; -C -1 ; WX 600 ; N imacron ; B 72 0 549 584 ; -C -1 ; WX 600 ; N Ibreve ; B 92 0 634 804 ; -C -1 ; WX 600 ; N ibreve ; B 72 0 557 648 ; -C -1 ; WX 600 ; N Iogonek ; B 92 -139 634 592 ; -C -1 ; WX 600 ; N iogonek ; B 72 -139 549 633 ; -C -1 ; WX 600 ; N Jcircumflex ; B 65 -15 730 805 ; -C -1 ; WX 600 ; N jcircumflex ; B 51 -209 554 649 ; -C -1 ; WX 600 ; N Kcedilla ; B 23 -190 699 592 ; -C -1 ; WX 600 ; N kcedilla ; B 43 -190 616 633 ; -C -1 ; WX 600 ; N kgreenlandic ; B 31 0 604 443 ; -C -1 ; WX 600 ; N Lcedilla ; B 42 -190 620 592 ; -C -1 ; WX 600 ; N lcedilla ; B 73 -190 549 633 ; -C -1 ; WX 600 ; N Ncedilla ; B 22 -190 709 592 ; -C -1 ; WX 600 ; N ncedilla ; B 34 -190 585 457 ; -C -1 ; WX 600 ; N Eng ; B 27 -15 638 607 ; -C -1 ; WX 600 ; N eng ; B 49 -209 592 457 ; -C -1 ; WX 600 ; N Omacron ; B 75 -15 652 740 ; -C -1 ; WX 600 ; N omacron ; B 83 -16 610 584 ; -C -1 ; WX 600 ; N Obreve ; B 75 -15 652 804 ; -C -1 ; WX 600 ; N obreve ; B 83 -16 610 648 ; -C -1 ; WX 600 ; N Rcedilla ; B 24 -190 633 592 ; -C -1 ; WX 600 ; N rcedilla ; B 63 -190 653 457 ; -C -1 ; WX 600 ; N Scircumflex ; B 72 -15 634 805 ; -C -1 ; WX 600 ; N scircumflex ; B 83 -16 592 649 ; -C -1 ; WX 600 ; N Tbar ; B 120 0 684 592 ; -C -1 ; WX 600 ; N tbar ; B 95 -15 601 601 ; -C -1 ; WX 600 ; N Utilde ; B 111 -15 707 766 ; -C -1 ; WX 600 ; N utilde ; B 97 -16 606 610 ; -C -1 ; WX 600 ; N Umacron ; B 111 -15 707 740 ; -C -1 ; WX 600 ; N umacron ; B 97 -16 606 584 ; -C -1 ; WX 600 ; N Ubreve ; B 111 -15 707 804 ; -C -1 ; WX 600 ; N ubreve ; B 97 -16 606 648 ; -C -1 ; WX 600 ; N Uogonek ; B 111 -139 707 592 ; -C -1 ; WX 600 ; N uogonek ; B 97 -139 606 443 ; -C -1 ; WX 600 ; N Wcircumflex ; B 95 0 728 805 ; -C -1 ; WX 600 ; N wcircumflex ; B 81 0 687 649 ; -C -1 ; WX 600 ; N Ycircumflex ; B 126 0 697 805 ; -C -1 ; WX 600 ; N ycircumflex ; B -14 -209 667 649 ; -C -1 ; WX 600 ; N longs ; B 82 0 694 633 ; -C -1 ; WX 600 ; N Aringacute ; B -13 0 635 1004 ; -C -1 ; WX 600 ; N aringacute ; B 66 -16 585 854 ; -C -1 ; WX 600 ; N AEacute ; B -12 0 728 816 ; -C -1 ; WX 600 ; N aeacute ; B 8 -16 665 661 ; -C -1 ; WX 600 ; N Oslashacute ; B 5 -71 718 816 ; -C -1 ; WX 600 ; N oslashacute ; B 17 -72 669 661 ; -C -1 ; WX 600 ; N anoteleia ; B 306 323 459 457 ; -C -1 ; WX 600 ; N Wgrave ; B 95 0 728 817 ; -C -1 ; WX 600 ; N wgrave ; B 81 0 687 661 ; -C -1 ; WX 600 ; N Wacute ; B 95 0 728 816 ; -C -1 ; WX 600 ; N wacute ; B 81 0 687 661 ; -C -1 ; WX 600 ; N Wdieresis ; B 95 0 728 777 ; -C -1 ; WX 600 ; N wdieresis ; B 81 0 687 622 ; -C -1 ; WX 600 ; N Ygrave ; B 126 0 697 817 ; -C -1 ; WX 600 ; N ygrave ; B -14 -209 667 661 ; -C -1 ; WX 600 ; N quotereversed ; B 338 316 488 612 ; -C -1 ; WX 600 ; N radicalex ; B 232 525 603 584 ; -C -1 ; WX 600 ; N afii08941 ; B 63 0 574 607 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 600 ; N oneeighth ; B 48 -7 660 650 ; -C -1 ; WX 600 ; N threeeighths ; B 47 -7 660 648 ; -C -1 ; WX 600 ; N fiveeighths ; B 47 -7 660 640 ; -C -1 ; WX 600 ; N seveneighths ; B 110 -7 681 640 ; -C -1 ; WX 600 ; N commaaccent ; B 199 -250 333 -59 ; -C -1 ; WX 600 ; N undercommaaccent ; B 188 -190 368 -47 ; -C -1 ; WX 600 ; N tonos ; B 329 500 536 661 ; -C -1 ; WX 600 ; N dieresistonos ; B 196 500 627 661 ; -C -1 ; WX 600 ; N Alphatonos ; B -13 0 635 592 ; -C -1 ; WX 600 ; N Epsilontonos ; B 42 0 675 592 ; -C -1 ; WX 600 ; N Etatonos ; B 32 0 679 592 ; -C -1 ; WX 600 ; N Iotatonos ; B 99 0 670 592 ; -C -1 ; WX 600 ; N Omicrontonos ; B 89 -15 653 607 ; -C -1 ; WX 600 ; N Upsilontonos ; B 90 0 720 592 ; -C -1 ; WX 600 ; N Omegatonos ; B 85 0 634 607 ; -C -1 ; WX 600 ; N iotadieresistonos ; B 163 -16 594 661 ; -C -1 ; WX 600 ; N Alpha ; B -13 0 635 592 ; -C -1 ; WX 600 ; N Beta ; B 22 0 624 592 ; -C -1 ; WX 600 ; N Delta ; B 6 0 595 592 ; -C -1 ; WX 600 ; N Epsilon ; B 24 0 657 592 ; -C -1 ; WX 600 ; N Zeta ; B 74 0 634 592 ; -C -1 ; WX 600 ; N Eta ; B 31 0 679 592 ; -C -1 ; WX 600 ; N Iota ; B 92 0 634 592 ; -C -1 ; WX 600 ; N Kappa ; B 23 0 699 592 ; -C -1 ; WX 600 ; N Lambda ; B -8 0 640 592 ; -C -1 ; WX 600 ; N Mu ; B -9 0 730 592 ; -C -1 ; WX 600 ; N Nu ; B 22 0 709 592 ; -C -1 ; WX 600 ; N Xi ; B 55 0 677 592 ; -C -1 ; WX 600 ; N Omicron ; B 75 -15 652 607 ; -C -1 ; WX 600 ; N Pi ; B 32 0 679 592 ; -C -1 ; WX 600 ; N Rho ; B 22 0 620 592 ; -C -1 ; WX 600 ; N Sigma ; B 43 0 674 592 ; -C -1 ; WX 600 ; N Tau ; B 120 0 684 592 ; -C -1 ; WX 600 ; N Upsilon ; B 126 0 697 592 ; -C -1 ; WX 600 ; N Chi ; B 21 0 697 592 ; -C -1 ; WX 600 ; N Psi ; B 113 0 723 592 ; -C -1 ; WX 600 ; N Omega ; B 19 0 665 607 ; -C -1 ; WX 600 ; N Iotadieresis ; B 92 0 634 777 ; -C -1 ; WX 600 ; N Upsilondieresis ; B 126 0 697 777 ; -C -1 ; WX 600 ; N alphatonos ; B 86 -16 639 661 ; -C -1 ; WX 600 ; N epsilontonos ; B 118 -16 589 661 ; -C -1 ; WX 600 ; N etatonos ; B 71 -225 584 661 ; -C -1 ; WX 600 ; N iotatonos ; B 262 -16 515 661 ; -C -1 ; WX 600 ; N upsilondieresistonos ; B 116 -16 642 661 ; -C -1 ; WX 600 ; N beta ; B 75 -225 566 633 ; -C -1 ; WX 600 ; N gamma ; B 106 -225 645 443 ; -C -1 ; WX 600 ; N zeta ; B 174 -225 603 633 ; -C -1 ; WX 600 ; N eta ; B 71 -225 577 457 ; -C -1 ; WX 600 ; N theta ; B 130 -16 607 633 ; -C -1 ; WX 600 ; N iota ; B 262 -16 463 457 ; -C -1 ; WX 600 ; N kappa ; B 73 0 645 443 ; -C -1 ; WX 600 ; N lambda ; B 39 0 602 633 ; -C -1 ; WX 600 ; N mu ; B 64 -209 607 443 ; -C -1 ; WX 600 ; N nu ; B 109 0 580 457 ; -C -1 ; WX 600 ; N xi ; B 168 -225 582 633 ; -C -1 ; WX 600 ; N omicron ; B 83 -16 610 457 ; -C -1 ; WX 600 ; N rho ; B 47 -225 592 457 ; -C -1 ; WX 600 ; N sigma1 ; B 117 -225 610 457 ; -C -1 ; WX 600 ; N upsilon ; B 116 -16 642 443 ; -C -1 ; WX 600 ; N chi ; B 34 -225 604 457 ; -C -1 ; WX 600 ; N psi ; B 120 -225 653 633 ; -C -1 ; WX 600 ; N omega ; B 85 -16 603 457 ; -C -1 ; WX 600 ; N iotadieresis ; B 258 -16 569 622 ; -C -1 ; WX 600 ; N upsilondieresis ; B 116 -16 642 622 ; -C -1 ; WX 600 ; N omicrontonos ; B 83 -16 610 661 ; -C -1 ; WX 600 ; N upsilontonos ; B 116 -16 642 661 ; -C -1 ; WX 600 ; N omegatonos ; B 85 -16 603 661 ; -C -1 ; WX 600 ; N afii10023 ; B 24 0 657 768 ; -C -1 ; WX 600 ; N afii10051 ; B 87 -16 621 592 ; -C -1 ; WX 600 ; N afii10053 ; B 80 -15 667 607 ; -C -1 ; WX 600 ; N afii10054 ; B 72 -15 634 607 ; -C -1 ; WX 600 ; N afii10055 ; B 92 0 634 592 ; -C -1 ; WX 600 ; N afii10056 ; B 92 0 634 768 ; -C -1 ; WX 600 ; N afii10057 ; B 65 -15 730 592 ; -C -1 ; WX 600 ; N afii10058 ; B -15 -16 628 592 ; -C -1 ; WX 600 ; N afii10059 ; B 17 0 660 592 ; -C -1 ; WX 600 ; N afii10060 ; B 82 0 609 592 ; -C -1 ; WX 600 ; N afii10062 ; B 63 -16 718 804 ; -C -1 ; WX 600 ; N afii10017 ; B -13 0 635 592 ; -C -1 ; WX 600 ; N afii10018 ; B 23 0 654 592 ; -C -1 ; WX 600 ; N afii10019 ; B 22 0 624 592 ; -C -1 ; WX 600 ; N afii10020 ; B 31 0 701 592 ; -C -1 ; WX 600 ; N afii10021 ; B 0 -130 679 592 ; -C -1 ; WX 600 ; N afii10022 ; B 24 0 657 592 ; -C -1 ; WX 600 ; N afii10024 ; B 5 0 705 592 ; -C -1 ; WX 600 ; N afii10025 ; B 12 -16 618 638 ; -C -1 ; WX 600 ; N afii10026 ; B 21 0 686 592 ; -C -1 ; WX 600 ; N afii10027 ; B 21 0 686 804 ; -C -1 ; WX 600 ; N afii10028 ; B 48 0 671 592 ; -C -1 ; WX 600 ; N afii10029 ; B -2 -16 681 592 ; -C -1 ; WX 600 ; N afii10030 ; B -9 0 730 592 ; -C -1 ; WX 600 ; N afii10031 ; B 31 0 679 592 ; -C -1 ; WX 600 ; N afii10032 ; B 75 -15 652 607 ; -C -1 ; WX 600 ; N afii10033 ; B 32 0 679 592 ; -C -1 ; WX 600 ; N afii10034 ; B 22 0 620 592 ; -C -1 ; WX 600 ; N afii10035 ; B 79 -15 667 607 ; -C -1 ; WX 600 ; N afii10036 ; B 120 0 684 592 ; -C -1 ; WX 600 ; N afii10037 ; B 63 -16 718 592 ; -C -1 ; WX 600 ; N afii10038 ; B 81 0 644 592 ; -C -1 ; WX 600 ; N afii10039 ; B 21 0 697 592 ; -C -1 ; WX 600 ; N afii10040 ; B 32 -130 679 592 ; -C -1 ; WX 600 ; N afii10041 ; B 116 0 676 592 ; -C -1 ; WX 600 ; N afii10042 ; B 4 0 718 592 ; -C -1 ; WX 600 ; N afii10043 ; B 4 -130 718 592 ; -C -1 ; WX 600 ; N afii10044 ; B 44 0 652 592 ; -C -1 ; WX 600 ; N afii10045 ; B -3 0 696 592 ; -C -1 ; WX 600 ; N afii10046 ; B 33 0 619 592 ; -C -1 ; WX 600 ; N afii10047 ; B 39 -15 615 636 ; -C -1 ; WX 600 ; N afii10048 ; B -6 -15 695 607 ; -C -1 ; WX 600 ; N afii10049 ; B 32 0 656 592 ; -C -1 ; WX 600 ; N afii10065 ; B 66 -16 585 457 ; -C -1 ; WX 600 ; N afii10066 ; B 92 -15 620 666 ; -C -1 ; WX 600 ; N afii10067 ; B 28 0 614 443 ; -C -1 ; WX 600 ; N afii10068 ; B 39 0 656 443 ; -C -1 ; WX 600 ; N afii10069 ; B 14 -120 636 443 ; -C -1 ; WX 600 ; N afii10070 ; B 74 -16 602 457 ; -C -1 ; WX 600 ; N afii10072 ; B 17 0 655 443 ; -C -1 ; WX 600 ; N afii10073 ; B 48 -13 588 482 ; -C -1 ; WX 600 ; N afii10074 ; B 40 0 654 443 ; -C -1 ; WX 600 ; N afii10075 ; B 40 0 654 648 ; -C -1 ; WX 600 ; N afii10076 ; B 61 0 620 443 ; -C -1 ; WX 600 ; N afii10077 ; B 32 -13 635 443 ; -C -1 ; WX 600 ; N afii10078 ; B 4 0 685 443 ; -C -1 ; WX 600 ; N afii10079 ; B 14 0 649 443 ; -C -1 ; WX 600 ; N afii10080 ; B 83 -16 610 457 ; -C -1 ; WX 600 ; N afii10081 ; B 19 0 633 443 ; -C -1 ; WX 600 ; N afii10082 ; B -43 -209 626 457 ; -C -1 ; WX 600 ; N afii10083 ; B 95 -17 627 457 ; -C -1 ; WX 600 ; N afii10084 ; B 76 0 640 443 ; -C -1 ; WX 600 ; N afii10085 ; B 46 -134 666 443 ; -C -1 ; WX 600 ; N afii10086 ; B 87 -140 610 617 ; -C -1 ; WX 600 ; N afii10087 ; B 31 0 645 443 ; -C -1 ; WX 600 ; N afii10088 ; B 42 -119 664 443 ; -C -1 ; WX 600 ; N afii10089 ; B 102 0 633 443 ; -C -1 ; WX 600 ; N afii10090 ; B 4 0 688 443 ; -C -1 ; WX 600 ; N afii10091 ; B 4 -118 688 443 ; -C -1 ; WX 600 ; N afii10092 ; B 54 0 585 443 ; -C -1 ; WX 600 ; N afii10093 ; B -1 0 680 443 ; -C -1 ; WX 600 ; N afii10094 ; B 28 0 589 443 ; -C -1 ; WX 600 ; N afii10095 ; B 33 -16 596 483 ; -C -1 ; WX 600 ; N afii10096 ; B 23 -17 669 457 ; -C -1 ; WX 600 ; N afii10097 ; B 28 0 642 443 ; -C -1 ; WX 600 ; N afii10071 ; B 74 -16 602 622 ; -C -1 ; WX 600 ; N afii10099 ; B 33 -209 577 633 ; -C -1 ; WX 600 ; N afii10100 ; B 39 0 656 661 ; -C -1 ; WX 600 ; N afii10101 ; B 95 -16 627 457 ; -C -1 ; WX 600 ; N afii10102 ; B 83 -16 592 457 ; -C -1 ; WX 600 ; N afii10103 ; B 72 0 549 633 ; -C -1 ; WX 600 ; N afii10104 ; B 72 0 549 622 ; -C -1 ; WX 600 ; N afii10105 ; B 51 -209 554 633 ; -C -1 ; WX 600 ; N afii10106 ; B 0 -13 624 443 ; -C -1 ; WX 600 ; N afii10107 ; B 28 0 636 443 ; -C -1 ; WX 600 ; N afii10108 ; B 33 0 596 633 ; -C -1 ; WX 600 ; N afii10110 ; B 46 -134 666 648 ; -C -1 ; WX 600 ; N afii10193 ; B 38 -118 673 443 ; -C -1 ; WX 600 ; N afii10050 ; B 31 0 690 714 ; -C -1 ; WX 600 ; N afii10098 ; B 39 0 637 566 ; -C -1 ; WX 600 ; N afii00208 ; B 99 233 620 333 ; -C -1 ; WX 600 ; N afii61352 ; B 25 0 682 592 ; -C -1 ; WX 600 ; N pi ; B 62 0 640 443 ; -C -1 ; WX 600 ; N sheva ; B 216 -261 310 -82 ; -C -1 ; WX 600 ; N hatafsegol ; B 136 -261 416 -82 ; -C -1 ; WX 600 ; N hatafpatah ; B 137 -261 408 -82 ; -C -1 ; WX 600 ; N hatafqamats ; B 137 -261 408 -82 ; -C -1 ; WX 600 ; N hiriq ; B 242 -147 310 -83 ; -C -1 ; WX 600 ; N tsere ; B 188 -147 362 -83 ; -C -1 ; WX 600 ; N segol ; B 188 -261 362 -83 ; -C -1 ; WX 600 ; N patah ; B 176 -130 378 -83 ; -C -1 ; WX 600 ; N qamats ; B 176 -215 378 -83 ; -C -1 ; WX 600 ; N holam ; B 399 592 466 657 ; -C -1 ; WX 600 ; N qubuts ; B 136 -261 391 -82 ; -C -1 ; WX 600 ; N dagesh ; B 324 238 391 303 ; -C -1 ; WX 600 ; N meteg ; B 225 -261 302 -82 ; -C -1 ; WX 600 ; N maqaf ; B 143 410 652 510 ; -C -1 ; WX 600 ; N rafe ; B 329 592 532 640 ; -C -1 ; WX 600 ; N paseq ; B 259 -5 449 515 ; -C -1 ; WX 600 ; N shindot ; B 577 592 644 657 ; -C -1 ; WX 600 ; N sindot ; B 222 592 289 657 ; -C -1 ; WX 600 ; N sofpasuq ; B 236 -5 470 483 ; -C -1 ; WX 600 ; N alef ; B 70 -11 639 518 ; -C -1 ; WX 600 ; N bet ; B 55 0 555 510 ; -C -1 ; WX 600 ; N gimel ; B 110 -8 474 510 ; -C -1 ; WX 600 ; N dalet ; B 136 -5 646 510 ; -C -1 ; WX 600 ; N he ; B 85 -5 607 510 ; -C -1 ; WX 600 ; N vav ; B 250 -5 476 510 ; -C -1 ; WX 600 ; N zayin ; B 221 -5 575 510 ; -C -1 ; WX 600 ; N het ; B 134 -5 662 510 ; -C -1 ; WX 600 ; N tet ; B 112 -5 602 514 ; -C -1 ; WX 600 ; N yod ; B 248 251 483 510 ; -C -1 ; WX 600 ; N finalkaf ; B 137 -124 646 510 ; -C -1 ; WX 600 ; N kaf ; B 66 0 594 510 ; -C -1 ; WX 600 ; N lamed ; B 160 0 609 659 ; -C -1 ; WX 600 ; N finalmem ; B 100 0 594 510 ; -C -1 ; WX 600 ; N mem ; B 122 -5 603 516 ; -C -1 ; WX 600 ; N finalnun ; B 228 -124 462 510 ; -C -1 ; WX 600 ; N nun ; B 108 0 500 510 ; -C -1 ; WX 600 ; N samekh ; B 106 -6 597 510 ; -C -1 ; WX 600 ; N ayin ; B 74 0 618 510 ; -C -1 ; WX 600 ; N finalpe ; B 152 -124 575 510 ; -C -1 ; WX 600 ; N pe ; B 104 0 580 510 ; -C -1 ; WX 600 ; N finaltsadi ; B 143 -124 618 510 ; -C -1 ; WX 600 ; N tsadi ; B 152 0 617 510 ; -C -1 ; WX 600 ; N qof ; B 46 -202 635 510 ; -C -1 ; WX 600 ; N resh ; B 147 -5 569 510 ; -C -1 ; WX 600 ; N shin ; B 79 0 657 515 ; -C -1 ; WX 600 ; N tav ; B 64 -5 599 510 ; -C -1 ; WX 600 ; N doublevav ; B 137 -5 622 510 ; -C -1 ; WX 600 ; N vavyod ; B 126 -5 622 510 ; -C -1 ; WX 600 ; N doubleyod ; B 126 251 627 510 ; -C -1 ; WX 600 ; N geresh ; B 257 229 500 515 ; -C -1 ; WX 600 ; N gershayim ; B 159 229 599 515 ; -C -1 ; WX 600 ; N newsheqelsign ; B 38 -5 671 515 ; -C -1 ; WX 600 ; N vavshindot ; B 208 -5 476 657 ; -C -1 ; WX 600 ; N finalkafsheva ; B 137 -124 646 511 ; -C -1 ; WX 600 ; N finalkafqamats ; B 126 -124 646 511 ; -C -1 ; WX 600 ; N lamedholam ; B 100 0 609 659 ; -C -1 ; WX 600 ; N lamedholamdagesh ; B 100 0 609 659 ; -C -1 ; WX 600 ; N altayin ; B 74 0 618 510 ; -C -1 ; WX 600 ; N shinshindot ; B 79 0 659 657 ; -C -1 ; WX 600 ; N shinsindot ; B 79 0 658 657 ; -C -1 ; WX 600 ; N shindageshshindot ; B 79 0 664 657 ; -C -1 ; WX 600 ; N shindageshsindot ; B 79 0 658 657 ; -C -1 ; WX 600 ; N alefpatah ; B 70 -130 639 518 ; -C -1 ; WX 600 ; N alefqamats ; B 70 -215 639 518 ; -C -1 ; WX 600 ; N alefmapiq ; B 70 -11 639 518 ; -C -1 ; WX 600 ; N betdagesh ; B 55 0 556 511 ; -C -1 ; WX 600 ; N gimeldagesh ; B 110 -8 474 511 ; -C -1 ; WX 600 ; N daletdagesh ; B 136 -5 646 511 ; -C -1 ; WX 600 ; N hedagesh ; B 85 -5 608 511 ; -C -1 ; WX 600 ; N vavdagesh ; B 220 -5 476 511 ; -C -1 ; WX 600 ; N zayindagesh ; B 203 -5 575 511 ; -C -1 ; WX 600 ; N tetdagesh ; B 112 -5 602 515 ; -C -1 ; WX 600 ; N yoddagesh ; B 235 251 483 510 ; -C -1 ; WX 600 ; N finalkafdagesh ; B 137 -124 646 511 ; -C -1 ; WX 600 ; N kafdagesh ; B 66 0 594 511 ; -C -1 ; WX 600 ; N lameddagesh ; B 160 0 609 659 ; -C -1 ; WX 600 ; N memdagesh ; B 122 -5 604 516 ; -C -1 ; WX 600 ; N nundagesh ; B 108 0 500 511 ; -C -1 ; WX 600 ; N samekhdagesh ; B 106 -6 597 511 ; -C -1 ; WX 600 ; N finalpedagesh ; B 147 -124 580 510 ; -C -1 ; WX 600 ; N pedagesh ; B 100 0 585 510 ; -C -1 ; WX 600 ; N tsadidagesh ; B 152 0 618 511 ; -C -1 ; WX 600 ; N qofdagesh ; B 46 -202 636 511 ; -C -1 ; WX 600 ; N reshdagesh ; B 147 -5 570 511 ; -C -1 ; WX 600 ; N shindagesh ; B 79 0 657 515 ; -C -1 ; WX 600 ; N tavdages ; B 64 -5 599 511 ; -C -1 ; WX 600 ; N vavholam ; B 250 -5 476 657 ; -C -1 ; WX 600 ; N betrafe ; B 55 0 556 640 ; -C -1 ; WX 600 ; N kafrafe ; B 66 0 594 640 ; -C -1 ; WX 600 ; N perafe ; B 104 0 581 640 ; -C -1 ; WX 600 ; N aleflamed ; B 76 -11 645 659 ; -C -1 ; WX 600 ; N zerowidthnonjoiner ; B 283 -134 318 629 ; -C -1 ; WX 600 ; N zerowidthjoiner ; B 193 -134 407 690 ; -C -1 ; WX 600 ; N lefttorightmark ; B 172 -134 458 690 ; -C -1 ; WX 600 ; N righttoleftmark ; B 143 -134 429 690 ; -C -1 ; WX 600 ; N uniFFFC ; B 0 0 600 431 ; -C -1 ; WX 600 ; N Ohorn ; B 75 -15 742 626 ; -C -1 ; WX 600 ; N ohorn ; B 83 -16 683 467 ; -C -1 ; WX 600 ; N Uhorn ; B 111 -15 816 714 ; -C -1 ; WX 600 ; N uhorn ; B 97 -16 725 463 ; -C -1 ; WX 600 ; N f00b ; B 310 723 536 824 ; -C -1 ; WX 600 ; N f00c ; B 290 723 516 824 ; -C -1 ; WX 600 ; N f00e ; B 294 678 500 824 ; -C -1 ; WX 600 ; N f006 ; B 313 724 545 824 ; -C -1 ; WX 600 ; N f007 ; B 330 724 562 824 ; -C -1 ; WX 600 ; N f009 ; B 353 680 559 826 ; -C -1 ; WX 600 ; N combininghookabove ; B 335 645 566 776 ; -C -1 ; WX 600 ; N f010 ; B 340 737 547 824 ; -C -1 ; WX 600 ; N f013 ; B 335 693 566 824 ; -C -1 ; WX 600 ; N f011 ; B 334 737 542 824 ; -C -1 ; WX 600 ; N f01c ; B 287 698 631 824 ; -C -1 ; WX 600 ; N f015 ; B 266 724 591 824 ; -C -1 ; WX 600 ; N combiningtildeaccent ; B 269 698 613 824 ; -C -1 ; WX 600 ; N _d_767 ; B 316 624 583 706 ; -C -1 ; WX 600 ; N _d_768 ; B 291 624 559 709 ; -C -1 ; WX 600 ; N f02c ; B 437 -179 560 -58 ; -C -1 ; WX 600 ; N dongsign ; B 117 119 620 633 ; -C -1 ; WX 600 ; N onethird ; B 36 -8 667 650 ; -C -1 ; WX 600 ; N twothirds ; B 14 -8 667 648 ; -C -1 ; WX 600 ; N f008 ; B 277 498 483 644 ; -C -1 ; WX 600 ; N f00a ; B 292 498 498 644 ; -C -1 ; WX 600 ; N f00d ; B 303 498 509 644 ; -C -1 ; WX 600 ; N f00f ; B 303 498 509 644 ; -C -1 ; WX 600 ; N f012 ; B 299 500 531 631 ; -C -1 ; WX 600 ; N f014 ; B 299 500 531 631 ; -C -1 ; WX 600 ; N f016 ; B 277 698 622 824 ; -C -1 ; WX 600 ; N f017 ; B 287 698 631 824 ; -C -1 ; WX 600 ; N f018 ; B 287 698 631 824 ; -C -1 ; WX 600 ; N f019 ; B 240 489 579 610 ; -C -1 ; WX 600 ; N f01a ; B 240 489 579 610 ; -C -1 ; WX 600 ; N f01b ; B 240 489 579 610 ; -C -1 ; WX 600 ; N f01e ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f01f ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f020 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f021 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f022 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N combininggraveaccent ; B 313 678 520 824 ; -C -1 ; WX 600 ; N combiningacuteaccent ; B 340 680 546 826 ; -C -1 ; WX 600 ; N f01d ; B 240 489 579 610 ; -C -1 ; WX 600 ; N combiningdotbelow ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f023 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f029 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f02a ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f02b ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f024 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f025 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f026 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f027 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f028 ; B 212 -179 335 -58 ; -C -1 ; WX 600 ; N f02d ; B 286 724 610 824 ; -C -1 ; WX 600 ; N f02e ; B 267 698 612 824 ; -C -1 ; WX 600 ; N f02f ; B 315 724 640 824 ; -C -1 ; WX 600 ; N f030 ; B 287 698 631 824 ; -C -1 ; WX 600 ; N Adotbelow ; B -13 -179 635 592 ; -C -1 ; WX 600 ; N adotbelow ; B 66 -179 585 457 ; -C -1 ; WX 600 ; N Ahookabove ; B -13 0 635 776 ; -C -1 ; WX 600 ; N ahookabove ; B 66 -16 585 631 ; -C -1 ; WX 600 ; N Acircumflexacute ; B -13 0 635 824 ; -C -1 ; WX 600 ; N acircumflexacute ; B 66 -16 585 826 ; -C -1 ; WX 600 ; N Acircumflexgrave ; B -13 0 635 824 ; -C -1 ; WX 600 ; N acircumflexgrave ; B 66 -16 585 824 ; -C -1 ; WX 600 ; N Acircumflexhookabove ; B -13 0 635 824 ; -C -1 ; WX 600 ; N acircumflexhookabove ; B 66 -16 585 824 ; -C -1 ; WX 600 ; N Acircumflextilde ; B -13 0 635 824 ; -C -1 ; WX 600 ; N acircumflextilde ; B 66 -16 631 824 ; -C -1 ; WX 600 ; N Acircumflexdotbelow ; B -13 -179 635 709 ; -C -1 ; WX 600 ; N acircumflexdotbelow ; B 66 -179 585 649 ; -C -1 ; WX 600 ; N Abreveacute ; B -13 0 635 824 ; -C -1 ; WX 600 ; N abreveacute ; B 66 -16 600 826 ; -C -1 ; WX 600 ; N Abrevegrave ; B -13 0 635 824 ; -C -1 ; WX 600 ; N abrevegrave ; B 66 -16 600 824 ; -C -1 ; WX 600 ; N Abrevehookabove ; B -13 0 635 824 ; -C -1 ; WX 600 ; N abrevehookabove ; B 66 -16 600 824 ; -C -1 ; WX 600 ; N Abrevetilde ; B -13 0 635 824 ; -C -1 ; WX 600 ; N abrevetilde ; B 66 -16 631 824 ; -C -1 ; WX 600 ; N Abrevedotbelow ; B -13 -179 635 706 ; -C -1 ; WX 600 ; N abrevedotbelow ; B 66 -179 600 648 ; -C -1 ; WX 600 ; N Edotbelow ; B 24 -179 657 592 ; -C -1 ; WX 600 ; N edotbelow ; B 74 -179 602 457 ; -C -1 ; WX 600 ; N Ehookabove ; B 24 0 657 776 ; -C -1 ; WX 600 ; N ehookabove ; B 74 -16 602 631 ; -C -1 ; WX 600 ; N Etilde ; B 24 0 657 766 ; -C -1 ; WX 600 ; N etilde ; B 74 -16 602 610 ; -C -1 ; WX 600 ; N Ecircumflexacute ; B 24 0 657 824 ; -C -1 ; WX 600 ; N ecircumflexacute ; B 74 -16 602 826 ; -C -1 ; WX 600 ; N Ecircumflexgrave ; B 24 0 657 824 ; -C -1 ; WX 600 ; N ecircumflexgrave ; B 74 -16 602 824 ; -C -1 ; WX 600 ; N Ecircumflexhookabove ; B 24 0 657 824 ; -C -1 ; WX 600 ; N ecircumflexhookabove ; B 74 -16 602 824 ; -C -1 ; WX 600 ; N Ecircumflextilde ; B 24 0 657 824 ; -C -1 ; WX 600 ; N ecircumflextilde ; B 74 -16 631 824 ; -C -1 ; WX 600 ; N Ecircumflexdotbelow ; B 24 -179 657 709 ; -C -1 ; WX 600 ; N ecircumflexdotbelow ; B 74 -179 602 649 ; -C -1 ; WX 600 ; N Ihookabove ; B 92 0 634 776 ; -C -1 ; WX 600 ; N ihookabove ; B 72 0 549 631 ; -C -1 ; WX 600 ; N Idotbelow ; B 92 -179 634 592 ; -C -1 ; WX 600 ; N idotbelow ; B 72 -179 549 633 ; -C -1 ; WX 600 ; N Odotbelow ; B 75 -179 652 607 ; -C -1 ; WX 600 ; N odotbelow ; B 83 -179 610 457 ; -C -1 ; WX 600 ; N Ohookabove ; B 75 -15 652 776 ; -C -1 ; WX 600 ; N ohookabove ; B 83 -16 610 631 ; -C -1 ; WX 600 ; N Ocircumflexacute ; B 75 -15 652 824 ; -C -1 ; WX 600 ; N ocircumflexacute ; B 83 -16 610 826 ; -C -1 ; WX 600 ; N Ocircumflexgrave ; B 75 -15 652 824 ; -C -1 ; WX 600 ; N ocircumflexgrave ; B 83 -16 610 824 ; -C -1 ; WX 600 ; N Ocircumflexhookabove ; B 75 -15 652 824 ; -C -1 ; WX 600 ; N ocircumflexhookabove ; B 83 -16 610 824 ; -C -1 ; WX 600 ; N Ocircumflextilde ; B 75 -15 652 824 ; -C -1 ; WX 600 ; N ocircumflextilde ; B 83 -16 631 824 ; -C -1 ; WX 600 ; N Ocircumflexdotbelow ; B 75 -179 652 709 ; -C -1 ; WX 600 ; N ocircumflexdotbelow ; B 83 -179 610 649 ; -C -1 ; WX 600 ; N Ohornacute ; B 75 -15 742 816 ; -C -1 ; WX 600 ; N ohornacute ; B 83 -16 683 661 ; -C -1 ; WX 600 ; N Ohorngrave ; B 75 -15 742 818 ; -C -1 ; WX 600 ; N ohorngrave ; B 83 -16 683 662 ; -C -1 ; WX 600 ; N Ohornhookabove ; B 75 -15 742 776 ; -C -1 ; WX 600 ; N ohornhookabove ; B 83 -16 683 631 ; -C -1 ; WX 600 ; N Ohorntilde ; B 75 -15 742 766 ; -C -1 ; WX 600 ; N ohorntilde ; B 83 -16 683 610 ; -C -1 ; WX 600 ; N Ohorndotbelow ; B 75 -179 742 626 ; -C -1 ; WX 600 ; N ohorndotbelow ; B 83 -179 683 467 ; -C -1 ; WX 600 ; N Udotbelow ; B 111 -179 707 592 ; -C -1 ; WX 600 ; N udotbelow ; B 97 -179 606 443 ; -C -1 ; WX 600 ; N Uhookabove ; B 111 -15 707 776 ; -C -1 ; WX 600 ; N uhookabove ; B 97 -16 606 631 ; -C -1 ; WX 600 ; N Uhornacute ; B 111 -15 816 816 ; -C -1 ; WX 600 ; N uhornacute ; B 97 -16 725 661 ; -C -1 ; WX 600 ; N Uhorngrave ; B 111 -15 816 818 ; -C -1 ; WX 600 ; N uhorngrave ; B 97 -16 725 662 ; -C -1 ; WX 600 ; N Uhornhookabove ; B 111 -15 816 776 ; -C -1 ; WX 600 ; N uhornhookabove ; B 97 -16 725 631 ; -C -1 ; WX 600 ; N Uhorntilde ; B 111 -15 816 766 ; -C -1 ; WX 600 ; N uhorntilde ; B 97 -16 725 610 ; -C -1 ; WX 600 ; N Uhorndotbelow ; B 111 -179 816 714 ; -C -1 ; WX 600 ; N uhorndotbelow ; B 97 -179 725 463 ; -C -1 ; WX 600 ; N Ydotbelow ; B 126 -179 697 592 ; -C -1 ; WX 600 ; N ydotbelow ; B -14 -209 667 443 ; -C -1 ; WX 600 ; N Yhookabove ; B 126 0 697 776 ; -C -1 ; WX 600 ; N yhookabove ; B -14 -209 667 631 ; -C -1 ; WX 600 ; N Ytilde ; B 126 0 697 766 ; -C -1 ; WX 600 ; N ytilde ; B -14 -209 667 610 ; -C -1 ; WX 600 ; N uni01CD ; B -13 0 635 801 ; -C -1 ; WX 600 ; N uni01CE ; B 66 -16 585 645 ; -C -1 ; WX 600 ; N uni01CF ; B 92 0 634 801 ; -C -1 ; WX 600 ; N uni01D0 ; B 72 0 565 645 ; -C -1 ; WX 600 ; N uni01D1 ; B 75 -15 652 801 ; -C -1 ; WX 600 ; N uni01D2 ; B 83 -16 610 645 ; -C -1 ; WX 600 ; N uni01D3 ; B 111 -15 707 801 ; -C -1 ; WX 600 ; N uni01D4 ; B 97 -16 606 645 ; -C -1 ; WX 600 ; N uni01D5 ; B 111 -15 707 824 ; -C -1 ; WX 600 ; N uni01D6 ; B 97 -16 606 740 ; -C -1 ; WX 600 ; N uni01D7 ; B 111 -15 707 824 ; -C -1 ; WX 600 ; N uni01D8 ; B 97 -16 606 802 ; -C -1 ; WX 600 ; N uni01D9 ; B 111 -15 707 824 ; -C -1 ; WX 600 ; N uni01DA ; B 97 -16 606 787 ; -C -1 ; WX 600 ; N uni01DB ; B 111 -15 707 824 ; -C -1 ; WX 600 ; N uni01DC ; B 97 -16 606 817 ; -C -1 ; WX 600 ; N _d_911 ; B 263 646 624 824 ; -C -1 ; WX 600 ; N _d_912 ; B 253 646 629 824 ; -C -1 ; WX 600 ; N _d_913 ; B 253 646 629 824 ; -C -1 ; WX 600 ; N _d_914 ; B 253 646 629 824 ; -C -1 ; WX 600 ; N _d_915 ; B 233 521 544 622 ; -C -1 ; WX 600 ; N uni0492 ; B 54 0 703 592 ; -C -1 ; WX 600 ; N uni0493 ; B 39 0 656 443 ; -C -1 ; WX 600 ; N uni0496 ; B 5 -130 705 592 ; -C -1 ; WX 600 ; N uni0497 ; B 17 -119 655 443 ; -C -1 ; WX 600 ; N uni049a ; B 48 -130 671 592 ; -C -1 ; WX 600 ; N uni049b ; B 61 -119 620 443 ; -C -1 ; WX 600 ; N uni049c ; B 33 0 676 592 ; -C -1 ; WX 600 ; N uni049d ; B 61 0 620 443 ; -C -1 ; WX 600 ; N uni04a2 ; B 31 -130 679 592 ; -C -1 ; WX 600 ; N uni04a3 ; B 14 -119 649 443 ; -C -1 ; WX 600 ; N uni04ae ; B 126 0 697 592 ; -C -1 ; WX 600 ; N uni04af ; B 86 -209 667 443 ; -C -1 ; WX 600 ; N uni04b0 ; B 135 0 697 589 ; -C -1 ; WX 600 ; N uni04b1 ; B 86 -209 667 443 ; -C -1 ; WX 600 ; N uni04b2 ; B 21 -130 697 592 ; -C -1 ; WX 600 ; N uni04b3 ; B 31 -119 645 443 ; -C -1 ; WX 600 ; N uni04b8 ; B 116 0 676 592 ; -C -1 ; WX 600 ; N uni04b9 ; B 102 0 633 443 ; -C -1 ; WX 600 ; N uni04ba ; B 31 0 591 592 ; -C -1 ; WX 600 ; N uni04bb ; B 34 0 565 443 ; -C -1 ; WX 600 ; N uni018f ; B 80 -15 615 636 ; -C -1 ; WX 600 ; N uni0259 ; B 74 -16 602 457 ; -C -1 ; WX 600 ; N uni04e8 ; B 75 -15 652 607 ; -C -1 ; WX 600 ; N uni04e9 ; B 83 -16 610 457 ; -EndCharMetrics -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/courbi.ttf b/thirdparty/html2ps_pdf/fonts/courbi.ttf deleted file mode 100644 index 17cb775ee..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/courbi.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/couri.afm b/thirdparty/html2ps_pdf/fonts/couri.afm deleted file mode 100644 index becb3ec62..000000000 --- a/thirdparty/html2ps_pdf/fonts/couri.afm +++ /dev/null @@ -1,997 +0,0 @@ -StartFontMetrics 4.1 -FontName CourierNewPS-ItalicMT -FullName Courier New Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Courier New -Weight Italic -Version Version 2.90 -Characters 943 -ItalicAngle -12.0 -Ascender 833 -Descender -300 -UnderlineThickness 41 -UnderlinePosition -233 -IsFixedPitch true -FontBBox -67 -274 800 1000 -StartCharMetrics 978 -C 0 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 600 ; N space ; B 247 -15 466 627 ; -C 33 ; WX 600 ; N exclam ; B 247 -15 466 627 ; -C 34 ; WX 600 ; N quotedbl ; B 242 320 602 613 ; -C 35 ; WX 600 ; N numbersign ; B 136 -63 590 657 ; -C 36 ; WX 600 ; N dollar ; B 129 -93 584 665 ; -C 37 ; WX 600 ; N percent ; B 172 -12 618 623 ; -C 38 ; WX 600 ; N ampersand ; B 152 -16 550 526 ; -C 39 ; WX 600 ; N quotesingle ; B 345 320 495 613 ; -C 40 ; WX 600 ; N parenleft ; B 336 -126 587 613 ; -C 41 ; WX 600 ; N parenright ; B 124 -127 374 613 ; -C 42 ; WX 600 ; N asterisk ; B 210 253 586 613 ; -C 43 ; WX 600 ; N plus ; B 130 33 591 538 ; -C 44 ; WX 600 ; N comma ; B 179 -146 442 147 ; -C 45 ; WX 600 ; N hyphen ; B 145 253 576 312 ; -C 46 ; WX 600 ; N period ; B 234 -15 388 118 ; -C 47 ; WX 600 ; N slash ; B 99 -83 630 678 ; -C 48 ; WX 600 ; N zero ; B 156 -15 574 627 ; -C 49 ; WX 600 ; N one ; B 115 0 493 621 ; -C 50 ; WX 600 ; N two ; B 83 0 579 627 ; -C 51 ; WX 600 ; N three ; B 110 -15 582 627 ; -C 52 ; WX 600 ; N four ; B 141 0 548 613 ; -C 53 ; WX 600 ; N five ; B 113 -15 586 613 ; -C 54 ; WX 600 ; N six ; B 187 -15 637 627 ; -C 55 ; WX 600 ; N seven ; B 215 -1 610 613 ; -C 56 ; WX 600 ; N eight ; B 144 -15 578 627 ; -C 57 ; WX 600 ; N nine ; B 140 -15 589 627 ; -C 58 ; WX 600 ; N colon ; B 234 -15 452 423 ; -C 59 ; WX 600 ; N semicolon ; B 185 -104 502 423 ; -C 60 ; WX 600 ; N less ; B 108 32 638 538 ; -C 61 ; WX 600 ; N equal ; B 94 192 628 381 ; -C 62 ; WX 600 ; N greater ; B 83 32 613 538 ; -C 63 ; WX 600 ; N question ; B 232 -15 582 586 ; -C 64 ; WX 600 ; N at ; B 139 -63 564 633 ; -C 65 ; WX 600 ; N A ; B 33 0 619 571 ; -C 66 ; WX 600 ; N B ; B 46 0 593 571 ; -C 67 ; WX 600 ; N C ; B 114 -16 645 584 ; -C 68 ; WX 600 ; N D ; B 75 0 625 571 ; -C 69 ; WX 600 ; N E ; B 47 0 623 571 ; -C 70 ; WX 600 ; N F ; B 91 0 687 571 ; -C 71 ; WX 600 ; N G ; B 108 -16 640 584 ; -C 72 ; WX 600 ; N H ; B 57 0 672 572 ; -C 73 ; WX 600 ; N I ; B 116 0 606 571 ; -C 74 ; WX 600 ; N J ; B 100 -16 703 571 ; -C 75 ; WX 600 ; N K ; B 68 0 691 571 ; -C 76 ; WX 600 ; N L ; B 66 0 588 571 ; -C 77 ; WX 600 ; N M ; B 16 0 702 571 ; -C 78 ; WX 600 ; N N ; B 47 0 681 571 ; -C 79 ; WX 600 ; N O ; B 103 -16 619 584 ; -C 80 ; WX 600 ; N P ; B 106 0 648 571 ; -C 81 ; WX 600 ; N Q ; B 103 -117 619 584 ; -C 82 ; WX 600 ; N R ; B 47 0 598 571 ; -C 83 ; WX 600 ; N S ; B 95 -16 605 584 ; -C 84 ; WX 600 ; N T ; B 149 0 651 571 ; -C 85 ; WX 600 ; N U ; B 137 -16 678 571 ; -C 86 ; WX 600 ; N V ; B 125 0 710 571 ; -C 87 ; WX 600 ; N W ; B 121 0 698 571 ; -C 88 ; WX 600 ; N X ; B 43 0 667 571 ; -C 89 ; WX 600 ; N Y ; B 150 0 668 571 ; -C 90 ; WX 600 ; N Z ; B 104 0 598 571 ; -C 91 ; WX 600 ; N bracketleft ; B 253 -126 574 613 ; -C 92 ; WX 600 ; N backslash ; B 250 -85 475 675 ; -C 93 ; WX 600 ; N bracketright ; B 131 -126 453 613 ; -C 94 ; WX 600 ; N asciicircum ; B 192 359 570 625 ; -C 95 ; WX 600 ; N underscore ; B -67 -274 561 -233 ; -C 96 ; WX 600 ; N grave ; B 282 499 427 649 ; -C 97 ; WX 600 ; N a ; B 92 -16 547 438 ; -C 98 ; WX 600 ; N b ; B 26 -16 593 613 ; -C 99 ; WX 600 ; N c ; B 122 -16 598 438 ; -C 100 ; WX 600 ; N d ; B 101 -16 631 613 ; -C 101 ; WX 600 ; N e ; B 104 -16 573 438 ; -C 102 ; WX 600 ; N f ; B 109 0 667 613 ; -C 103 ; WX 600 ; N g ; B 104 -188 648 438 ; -C 104 ; WX 600 ; N h ; B 55 0 559 613 ; -C 105 ; WX 600 ; N i ; B 96 0 515 633 ; -C 106 ; WX 600 ; N j ; B 52 -188 493 633 ; -C 107 ; WX 600 ; N k ; B 68 0 586 613 ; -C 108 ; WX 600 ; N l ; B 96 0 515 613 ; -C 109 ; WX 600 ; N m ; B 14 0 604 438 ; -C 110 ; WX 600 ; N n ; B 57 0 547 438 ; -C 111 ; WX 600 ; N o ; B 111 -16 579 438 ; -C 112 ; WX 600 ; N p ; B -14 -188 595 438 ; -C 113 ; WX 600 ; N q ; B 105 -188 669 438 ; -C 114 ; WX 600 ; N r ; B 87 0 623 433 ; -C 115 ; WX 600 ; N s ; B 105 -16 563 438 ; -C 116 ; WX 600 ; N t ; B 158 -16 554 571 ; -C 117 ; WX 600 ; N u ; B 129 -16 571 423 ; -C 118 ; WX 600 ; N v ; B 114 0 657 423 ; -C 119 ; WX 600 ; N w ; B 113 0 658 423 ; -C 120 ; WX 600 ; N x ; B 53 0 616 423 ; -C 121 ; WX 600 ; N y ; B 15 -188 636 423 ; -C 122 ; WX 600 ; N z ; B 116 0 569 423 ; -C 123 ; WX 600 ; N braceleft ; B 249 -127 529 613 ; -C 124 ; WX 600 ; N bar ; B 279 -126 321 613 ; -C 125 ; WX 600 ; N braceright ; B 174 -127 455 613 ; -C 126 ; WX 600 ; N asciitilde ; B 147 211 575 359 ; -C 127 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 600 ; N Euro ; B 17 -16 634 584 ; -C 129 ; WX 600 ; N afii10052 ; B 47 0 671 796 ; -C 130 ; WX 600 ; N quotesinglbase ; B 118 -159 381 135 ; -C 131 ; WX 600 ; N florin ; B 74 -94 646 628 ; -C 132 ; WX 600 ; N quotedblbase ; B 87 -127 542 125 ; -C 133 ; WX 600 ; N ellipsis ; B 56 -15 559 85 ; -C 134 ; WX 600 ; N dagger ; B 208 -63 563 613 ; -C 135 ; WX 600 ; N daggerdbl ; B 154 -63 563 613 ; -C 136 ; WX 600 ; N circumflex ; B 260 498 552 640 ; -C 137 ; WX 600 ; N perthousand ; B 138 -10 598 625 ; -C 138 ; WX 600 ; N Scaron ; B 95 -16 614 778 ; -C 139 ; WX 600 ; N guilsinglleft ; B 191 0 493 424 ; -C 140 ; WX 600 ; N OE ; B 61 0 693 571 ; -C 141 ; WX 600 ; N afii10061 ; B 69 0 665 796 ; -C 142 ; WX 600 ; N Zcaron ; B 104 0 615 778 ; -C 143 ; WX 600 ; N afii10145 ; B 58 -125 679 571 ; -C 144 ; WX 600 ; N quotedblbase ; B 87 -127 542 125 ; -C 145 ; WX 600 ; N quoteleft ; B 378 319 530 613 ; -C 146 ; WX 600 ; N quoteright ; B 216 319 479 613 ; -C 147 ; WX 600 ; N quotedblleft ; B 218 360 575 613 ; -C 148 ; WX 600 ; N quotedblright ; B 188 360 643 613 ; -C 149 ; WX 600 ; N bullet ; B 243 190 489 432 ; -C 150 ; WX 600 ; N endash ; B 131 265 591 306 ; -C 151 ; WX 600 ; N emdash ; B 54 266 669 307 ; -C 152 ; WX 600 ; N tilde ; B 251 489 568 589 ; -C 153 ; WX 600 ; N trademark ; B 68 308 702 651 ; -C 154 ; WX 600 ; N scaron ; B 105 -16 572 634 ; -C 155 ; WX 600 ; N guilsinglright ; B 201 0 503 424 ; -C 156 ; WX 600 ; N oe ; B 47 -16 635 438 ; -C 157 ; WX 600 ; N afii10109 ; B 67 0 620 649 ; -C 158 ; WX 600 ; N zcaron ; B 116 0 572 634 ; -C 159 ; WX 600 ; N Ydieresis ; B 150 0 668 730 ; -C 160 ; WX 600 ; N space ; B 247 -15 466 627 ; -C 161 ; WX 600 ; N exclamdown ; B 227 -190 441 429 ; -C 162 ; WX 600 ; N cent ; B 174 0 566 652 ; -C 163 ; WX 600 ; N sterling ; B 87 0 543 587 ; -C 164 ; WX 600 ; N currency ; B 125 97 601 496 ; -C 165 ; WX 600 ; N yen ; B 161 0 668 571 ; -C 166 ; WX 600 ; N brokenbar ; B 279 -126 321 613 ; -C 167 ; WX 600 ; N section ; B 100 -63 617 613 ; -C 168 ; WX 600 ; N dieresis ; B 270 521 560 600 ; -C 169 ; WX 600 ; N copyright ; B 60 -13 657 584 ; -C 170 ; WX 600 ; N ordfeminine ; B 155 355 464 640 ; -C 171 ; WX 600 ; N guillemotleft ; B 93 0 624 424 ; -C 172 ; WX 600 ; N logicalnot ; B 72 33 599 306 ; -C 173 ; WX 600 ; N hyphen ; B 145 253 576 312 ; -C 174 ; WX 600 ; N registered ; B 60 -13 657 584 ; -C 175 ; WX 600 ; N overscore ; B 121 672 749 713 ; -C 176 ; WX 600 ; N degree ; B 165 457 436 728 ; -C 177 ; WX 600 ; N plusminus ; B 72 0 591 585 ; -C 178 ; WX 600 ; N twosuperior ; B 165 301 470 627 ; -C 179 ; WX 600 ; N threesuperior ; B 181 293 471 627 ; -C 180 ; WX 600 ; N acute ; B 385 499 576 649 ; -C 181 ; WX 600 ; N mu1 ; B 91 -188 571 423 ; -C 182 ; WX 600 ; N paragraph ; B 156 -63 646 613 ; -C 183 ; WX 600 ; N periodcentered ; B 290 245 442 377 ; -C 184 ; WX 600 ; N cedilla ; B 188 -163 351 15 ; -C 185 ; WX 600 ; N onesuperior ; B 185 301 420 626 ; -C 186 ; WX 600 ; N ordmasculine ; B 169 355 487 640 ; -C 187 ; WX 600 ; N guillemotright ; B 90 0 621 424 ; -C 188 ; WX 600 ; N onequarter ; B 54 0 632 626 ; -C 189 ; WX 600 ; N onehalf ; B 59 0 650 626 ; -C 190 ; WX 600 ; N threequarters ; B 57 0 661 627 ; -C 191 ; WX 600 ; N questiondown ; B 104 -191 455 433 ; -C 192 ; WX 600 ; N Agrave ; B 12 0 598 779 ; -C 193 ; WX 600 ; N Aacute ; B 12 0 598 779 ; -C 194 ; WX 600 ; N Acircumflex ; B 12 0 598 771 ; -C 195 ; WX 600 ; N Atilde ; B 12 0 598 720 ; -C 196 ; WX 600 ; N Adieresis ; B 12 0 598 730 ; -C 197 ; WX 600 ; N Aring ; B 33 0 619 783 ; -C 198 ; WX 600 ; N AE ; B 13 0 693 571 ; -C 199 ; WX 600 ; N Ccedilla ; B 114 -163 645 584 ; -C 200 ; WX 600 ; N Egrave ; B 47 0 623 779 ; -C 201 ; WX 600 ; N Eacute ; B 47 0 623 779 ; -C 202 ; WX 600 ; N Ecircumflex ; B 47 0 623 770 ; -C 203 ; WX 600 ; N Edieresis ; B 47 0 623 730 ; -C 204 ; WX 600 ; N Igrave ; B 116 0 606 779 ; -C 205 ; WX 600 ; N Iacute ; B 116 0 609 779 ; -C 206 ; WX 600 ; N Icircumflex ; B 116 0 606 770 ; -C 207 ; WX 600 ; N Idieresis ; B 116 0 606 730 ; -C 208 ; WX 600 ; N Eth ; B 46 0 596 571 ; -C 209 ; WX 600 ; N Ntilde ; B 47 0 681 733 ; -C 210 ; WX 600 ; N Ograve ; B 103 -16 619 779 ; -C 211 ; WX 600 ; N Oacute ; B 103 -16 619 779 ; -C 212 ; WX 600 ; N Ocircumflex ; B 103 -16 619 770 ; -C 213 ; WX 600 ; N Otilde ; B 103 -16 619 720 ; -C 214 ; WX 600 ; N Odieresis ; B 103 -16 619 730 ; -C 215 ; WX 600 ; N multiply ; B 208 116 572 454 ; -C 216 ; WX 600 ; N Oslash ; B 34 -41 687 611 ; -C 217 ; WX 600 ; N Ugrave ; B 137 -16 678 779 ; -C 218 ; WX 600 ; N Uacute ; B 137 -16 678 779 ; -C 219 ; WX 600 ; N Ucircumflex ; B 137 -16 678 770 ; -C 220 ; WX 600 ; N Udieresis ; B 137 -16 678 730 ; -C 221 ; WX 600 ; N Yacute ; B 150 0 668 792 ; -C 222 ; WX 600 ; N Thorn ; B 91 0 609 571 ; -C 223 ; WX 600 ; N germandbls ; B 47 -16 543 613 ; -C 224 ; WX 600 ; N agrave ; B 92 -16 547 648 ; -C 225 ; WX 600 ; N aacute ; B 92 -16 559 649 ; -C 226 ; WX 600 ; N acircumflex ; B 92 -16 552 640 ; -C 227 ; WX 600 ; N atilde ; B 92 -16 569 589 ; -C 228 ; WX 600 ; N adieresis ; B 92 -16 547 600 ; -C 229 ; WX 600 ; N aring ; B 92 -16 547 666 ; -C 230 ; WX 600 ; N ae ; B 36 -16 635 438 ; -C 231 ; WX 600 ; N ccedilla ; B 122 -163 598 438 ; -C 232 ; WX 600 ; N egrave ; B 104 -16 573 653 ; -C 233 ; WX 600 ; N eacute ; B 104 -16 573 652 ; -C 234 ; WX 600 ; N ecircumflex ; B 104 -16 573 640 ; -C 235 ; WX 600 ; N edieresis ; B 104 -16 573 600 ; -C 236 ; WX 600 ; N igrave ; B 95 0 514 645 ; -C 237 ; WX 600 ; N iacute ; B 95 0 514 648 ; -C 238 ; WX 600 ; N icircumflex ; B 95 0 540 640 ; -C 239 ; WX 600 ; N idieresis ; B 95 0 523 600 ; -C 240 ; WX 600 ; N eth ; B 103 -15 598 610 ; -C 241 ; WX 600 ; N ntilde ; B 57 0 568 589 ; -C 242 ; WX 600 ; N ograve ; B 111 -16 579 649 ; -C 243 ; WX 600 ; N oacute ; B 111 -16 579 649 ; -C 244 ; WX 600 ; N ocircumflex ; B 111 -16 579 640 ; -C 245 ; WX 600 ; N otilde ; B 111 -16 579 589 ; -C 246 ; WX 600 ; N odieresis ; B 111 -16 579 600 ; -C 247 ; WX 600 ; N divide ; B 130 52 591 519 ; -C 248 ; WX 600 ; N oslash ; B 50 -42 642 462 ; -C 249 ; WX 600 ; N ugrave ; B 129 -16 571 649 ; -C 250 ; WX 600 ; N uacute ; B 129 -16 571 649 ; -C 251 ; WX 600 ; N ucircumflex ; B 129 -16 571 640 ; -C 252 ; WX 600 ; N udieresis ; B 129 -16 571 600 ; -C 253 ; WX 600 ; N yacute ; B 15 -188 636 649 ; -C 254 ; WX 600 ; N thorn ; B -14 -188 597 613 ; -C 255 ; WX 600 ; N ydieresis ; B 15 -188 636 600 ; -C -1 ; WX 0 ; N .null ; B 247 -15 466 627 ; -C -1 ; WX 600 ; N nonmarkingreturn ; B 247 -15 466 627 ; -C -1 ; WX 600 ; N notequal ; B 94 -35 628 608 ; -C -1 ; WX 600 ; N infinity ; B 112 194 605 413 ; -C -1 ; WX 600 ; N lessequal ; B 84 118 650 697 ; -C -1 ; WX 600 ; N greaterequal ; B 56 118 615 697 ; -C -1 ; WX 600 ; N partialdiff ; B 86 -15 488 613 ; -C -1 ; WX 600 ; N summation ; B 21 -188 538 613 ; -C -1 ; WX 600 ; N product ; B 26 -188 574 613 ; -C -1 ; WX 600 ; N pi1 ; B 85 0 604 423 ; -C -1 ; WX 600 ; N integral ; B -18 -183 788 818 ; -C -1 ; WX 600 ; N Ohm ; B 79 0 619 581 ; -C -1 ; WX 600 ; N radical ; B 67 -38 575 913 ; -C -1 ; WX 600 ; N approxequal ; B 124 141 599 430 ; -C -1 ; WX 600 ; N increment ; B 40 0 555 563 ; -C -1 ; WX 600 ; N lozenge ; B 76 0 525 694 ; -C -1 ; WX 600 ; N fraction ; B 84 141 647 478 ; -C -1 ; WX 600 ; N fi ; B 26 0 636 633 ; -C -1 ; WX 600 ; N fl ; B 26 0 631 613 ; -C -1 ; WX 600 ; N dotlessi ; B 95 0 514 423 ; -C -1 ; WX 600 ; N macron ; B 266 525 559 567 ; -C -1 ; WX 600 ; N breve ; B 277 497 573 634 ; -C -1 ; WX 600 ; N dotaccent ; B 363 510 465 610 ; -C -1 ; WX 600 ; N ring ; B 323 492 504 666 ; -C -1 ; WX 600 ; N hungarumlaut ; B 257 498 575 648 ; -C -1 ; WX 600 ; N ogonek ; B 269 -144 407 13 ; -C -1 ; WX 600 ; N caron ; B 280 492 572 634 ; -C -1 ; WX 600 ; N Lslash ; B 65 0 588 571 ; -C -1 ; WX 600 ; N lslash ; B 96 0 528 613 ; -C -1 ; WX 600 ; N minus ; B 130 265 591 306 ; -C -1 ; WX 600 ; N franc ; B 91 0 687 571 ; -C -1 ; WX 600 ; N Gbreve ; B 108 -16 640 781 ; -C -1 ; WX 600 ; N gbreve ; B 104 -188 648 634 ; -C -1 ; WX 600 ; N Idot ; B 116 0 606 757 ; -C -1 ; WX 600 ; N Scedilla ; B 95 -163 605 584 ; -C -1 ; WX 600 ; N scedilla ; B 105 -163 563 438 ; -C -1 ; WX 600 ; N Cacute ; B 114 -16 645 795 ; -C -1 ; WX 600 ; N cacute ; B 122 -16 598 649 ; -C -1 ; WX 600 ; N Ccaron ; B 114 -16 645 781 ; -C -1 ; WX 600 ; N ccaron ; B 122 -16 598 634 ; -C -1 ; WX 600 ; N dmacron ; B 101 -16 684 613 ; -C -1 ; WX 600 ; N middot ; B 405 275 507 375 ; -C -1 ; WX 600 ; N Abreve ; B 33 0 619 781 ; -C -1 ; WX 600 ; N abreve ; B 92 -16 570 634 ; -C -1 ; WX 600 ; N Aogonek ; B 12 -125 625 571 ; -C -1 ; WX 600 ; N aogonek ; B 92 -126 569 438 ; -C -1 ; WX 600 ; N Dcaron ; B 75 0 625 781 ; -C -1 ; WX 600 ; N dcaron ; B 101 -16 800 613 ; -C -1 ; WX 600 ; N Dslash ; B 46 0 596 571 ; -C -1 ; WX 600 ; N Eogonek ; B 47 -126 623 571 ; -C -1 ; WX 600 ; N eogonek ; B 104 -141 573 438 ; -C -1 ; WX 600 ; N Ecaron ; B 47 0 623 781 ; -C -1 ; WX 600 ; N ecaron ; B 104 -16 573 634 ; -C -1 ; WX 600 ; N Lacute ; B 66 0 588 795 ; -C -1 ; WX 600 ; N lacute ; B 96 0 564 799 ; -C -1 ; WX 600 ; N Lcaron ; B 66 0 623 571 ; -C -1 ; WX 600 ; N lcaron ; B 96 0 626 613 ; -C -1 ; WX 600 ; N Ldot ; B 66 0 588 571 ; -C -1 ; WX 600 ; N ldot ; B 96 0 548 613 ; -C -1 ; WX 600 ; N Nacute ; B 47 0 681 795 ; -C -1 ; WX 600 ; N nacute ; B 57 0 549 649 ; -C -1 ; WX 600 ; N Ncaron ; B 47 0 681 781 ; -C -1 ; WX 600 ; N ncaron ; B 57 0 582 634 ; -C -1 ; WX 600 ; N Odblacute ; B 103 -16 683 795 ; -C -1 ; WX 600 ; N odblacute ; B 111 -16 643 648 ; -C -1 ; WX 600 ; N Racute ; B 47 0 598 795 ; -C -1 ; WX 600 ; N racute ; B 87 0 623 649 ; -C -1 ; WX 600 ; N Rcaron ; B 47 0 598 781 ; -C -1 ; WX 600 ; N rcaron ; B 87 0 623 634 ; -C -1 ; WX 600 ; N Sacute ; B 95 -16 605 795 ; -C -1 ; WX 600 ; N sacute ; B 105 -16 563 649 ; -C -1 ; WX 600 ; N Tcedilla ; B 149 -250 651 571 ; -C -1 ; WX 600 ; N tcedilla ; B 158 -256 554 571 ; -C -1 ; WX 600 ; N Tcaron ; B 149 0 651 781 ; -C -1 ; WX 600 ; N tcaron ; B 158 -16 730 613 ; -C -1 ; WX 600 ; N Uring ; B 137 -16 678 795 ; -C -1 ; WX 600 ; N uring ; B 129 -16 571 666 ; -C -1 ; WX 600 ; N Udblacute ; B 137 -16 678 795 ; -C -1 ; WX 600 ; N udblacute ; B 129 -16 625 648 ; -C -1 ; WX 600 ; N Zacute ; B 104 0 598 795 ; -C -1 ; WX 600 ; N zacute ; B 116 0 569 649 ; -C -1 ; WX 600 ; N Zdot ; B 104 0 598 757 ; -C -1 ; WX 600 ; N zdot ; B 116 0 569 610 ; -C -1 ; WX 600 ; N Gamma ; B 47 0 671 571 ; -C -1 ; WX 600 ; N Theta ; B 103 -16 619 584 ; -C -1 ; WX 600 ; N Phi ; B 103 0 624 571 ; -C -1 ; WX 600 ; N alpha ; B 93 -16 633 438 ; -C -1 ; WX 600 ; N delta ; B 128 -16 590 613 ; -C -1 ; WX 600 ; N epsilon ; B 151 -16 562 438 ; -C -1 ; WX 600 ; N sigma ; B 100 -16 657 438 ; -C -1 ; WX 600 ; N tau ; B 199 -16 547 423 ; -C -1 ; WX 600 ; N phi ; B 103 -188 598 438 ; -C -1 ; WX 600 ; N underscoredbl ; B -67 -274 561 -127 ; -C -1 ; WX 600 ; N exclamdbl ; B 134 -15 578 627 ; -C -1 ; WX 600 ; N nsuperior ; B 194 245 510 522 ; -C -1 ; WX 600 ; N peseta ; B 11 -7 624 571 ; -C -1 ; WX 600 ; N arrowleft ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowup ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowright ; B 1 50 599 277 ; -C -1 ; WX 600 ; N arrowdown ; B 186 -136 414 424 ; -C -1 ; WX 600 ; N arrowboth ; B 1 50 599 278 ; -C -1 ; WX 600 ; N arrowupdn ; B 186 -135 414 463 ; -C -1 ; WX 600 ; N arrowupdnbse ; B 186 -196 414 463 ; -C -1 ; WX 600 ; N orthogonal ; B 1 0 599 597 ; -C -1 ; WX 600 ; N intersection ; B 83 -16 603 584 ; -C -1 ; WX 600 ; N equivalence ; B 78 119 644 455 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 600 ; N revlogicalnot ; B 82 33 649 306 ; -C -1 ; WX 600 ; N integraltp ; B 211 -251 645 848 ; -C -1 ; WX 600 ; N integralbt ; B 82 -251 516 848 ; -C -1 ; WX 600 ; N SF100000 ; B -7 219 607 292 ; -C -1 ; WX 600 ; N SF110000 ; B 264 -255 336 766 ; -C -1 ; WX 600 ; N SF010000 ; B 264 -255 607 292 ; -C -1 ; WX 600 ; N SF030000 ; B -7 -255 336 292 ; -C -1 ; WX 600 ; N SF020000 ; B 264 219 607 766 ; -C -1 ; WX 600 ; N SF040000 ; B -7 219 336 766 ; -C -1 ; WX 600 ; N SF080000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF090000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF060000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF070000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF050000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF430000 ; B -7 141 607 370 ; -C -1 ; WX 600 ; N SF240000 ; B 186 -255 414 766 ; -C -1 ; WX 600 ; N SF510000 ; B 264 -255 607 370 ; -C -1 ; WX 600 ; N SF520000 ; B 186 -255 607 292 ; -C -1 ; WX 600 ; N SF390000 ; B 186 -255 607 370 ; -C -1 ; WX 600 ; N SF220000 ; B -7 -255 336 370 ; -C -1 ; WX 600 ; N SF210000 ; B -7 -255 414 292 ; -C -1 ; WX 600 ; N SF250000 ; B -7 -255 414 370 ; -C -1 ; WX 600 ; N SF500000 ; B 264 141 607 766 ; -C -1 ; WX 600 ; N SF490000 ; B 186 219 607 766 ; -C -1 ; WX 600 ; N SF380000 ; B 186 141 607 766 ; -C -1 ; WX 600 ; N SF280000 ; B -7 141 336 766 ; -C -1 ; WX 600 ; N SF270000 ; B -7 219 414 766 ; -C -1 ; WX 600 ; N SF260000 ; B -7 141 414 766 ; -C -1 ; WX 600 ; N SF360000 ; B 264 -255 607 766 ; -C -1 ; WX 600 ; N SF370000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF420000 ; B 186 -255 607 766 ; -C -1 ; WX 600 ; N SF190000 ; B -7 -255 336 766 ; -C -1 ; WX 600 ; N SF200000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF230000 ; B -7 -255 414 766 ; -C -1 ; WX 600 ; N SF470000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF480000 ; B -7 -255 607 292 ; -C -1 ; WX 600 ; N SF410000 ; B -7 -255 607 370 ; -C -1 ; WX 600 ; N SF450000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF460000 ; B -7 219 607 766 ; -C -1 ; WX 600 ; N SF400000 ; B -7 141 607 766 ; -C -1 ; WX 600 ; N SF540000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF530000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N SF440000 ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N upblock ; B -7 255 607 766 ; -C -1 ; WX 600 ; N dnblock ; B -7 -255 607 255 ; -C -1 ; WX 600 ; N block ; B -7 -255 607 766 ; -C -1 ; WX 600 ; N lfblock ; B -7 -255 300 766 ; -C -1 ; WX 600 ; N rtblock ; B 300 -255 608 766 ; -C -1 ; WX 600 ; N ltshade ; B 44 -207 607 766 ; -C -1 ; WX 600 ; N shade ; B -7 -207 607 766 ; -C -1 ; WX 600 ; N dkshade ; B -7 -258 607 766 ; -C -1 ; WX 600 ; N filledbox ; B 1 0 599 598 ; -C -1 ; WX 600 ; N filledrect ; B 1 193 599 306 ; -C -1 ; WX 600 ; N triagup ; B 7 0 592 585 ; -C -1 ; WX 600 ; N triagrt ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N triagdn ; B 7 -13 592 572 ; -C -1 ; WX 600 ; N triaglf ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N circle ; B 85 67 515 497 ; -C -1 ; WX 600 ; N invbullet ; B 61 0 539 479 ; -C -1 ; WX 600 ; N invcircle ; B 19 0 583 564 ; -C -1 ; WX 600 ; N smileface ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N invsmileface ; B 1 -13 599 584 ; -C -1 ; WX 600 ; N sun ; B 1 -69 599 529 ; -C -1 ; WX 600 ; N female ; B 157 39 444 563 ; -C -1 ; WX 600 ; N male ; B 90 122 511 563 ; -C -1 ; WX 600 ; N spade ; B 63 0 537 601 ; -C -1 ; WX 600 ; N club ; B 1 0 599 597 ; -C -1 ; WX 600 ; N heart ; B 53 -11 547 559 ; -C -1 ; WX 600 ; N diamond ; B 78 -12 523 597 ; -C -1 ; WX 600 ; N musicalnote ; B 132 14 440 563 ; -C -1 ; WX 600 ; N musicalnotedbl ; B 44 -21 528 566 ; -C -1 ; WX 600 ; N IJ ; B 4 -16 753 571 ; -C -1 ; WX 600 ; N ij ; B 8 -188 611 633 ; -C -1 ; WX 600 ; N napostrophe ; B 52 0 600 613 ; -C -1 ; WX 600 ; N minute ; B 345 320 495 613 ; -C -1 ; WX 600 ; N second ; B 242 320 602 613 ; -C -1 ; WX 600 ; N afii61248 ; B 172 -12 618 623 ; -C -1 ; WX 600 ; N afii61289 ; B 185 -16 489 584 ; -C -1 ; WX 600 ; N H22073 ; B 1 0 599 598 ; -C -1 ; WX 600 ; N H18543 ; B 242 187 490 435 ; -C -1 ; WX 600 ; N H18551 ; B 242 187 490 435 ; -C -1 ; WX 600 ; N H18533 ; B 85 67 515 497 ; -C -1 ; WX 600 ; N openbullet ; B 243 190 489 432 ; -C -1 ; WX 600 ; N Amacron ; B 33 0 619 713 ; -C -1 ; WX 600 ; N amacron ; B 92 -16 573 567 ; -C -1 ; WX 600 ; N Ccircumflex ; B 114 -16 645 786 ; -C -1 ; WX 600 ; N ccircumflex ; B 122 -16 598 640 ; -C -1 ; WX 600 ; N Cdot ; B 114 -16 645 757 ; -C -1 ; WX 600 ; N cdot ; B 122 -16 598 610 ; -C -1 ; WX 600 ; N Emacron ; B 47 0 623 713 ; -C -1 ; WX 600 ; N emacron ; B 104 -16 573 567 ; -C -1 ; WX 600 ; N Ebreve ; B 47 0 623 781 ; -C -1 ; WX 600 ; N ebreve ; B 104 -16 573 634 ; -C -1 ; WX 600 ; N Edot ; B 47 0 623 757 ; -C -1 ; WX 600 ; N edot ; B 104 -16 573 610 ; -C -1 ; WX 600 ; N Gcircumflex ; B 108 -16 640 786 ; -C -1 ; WX 600 ; N gcircumflex ; B 104 -188 648 640 ; -C -1 ; WX 600 ; N Gdot ; B 108 -16 640 757 ; -C -1 ; WX 600 ; N gdot ; B 104 -188 648 610 ; -C -1 ; WX 600 ; N Gcedilla ; B 108 -163 640 584 ; -C -1 ; WX 600 ; N gcedilla ; B 104 -188 648 690 ; -C -1 ; WX 600 ; N Hcircumflex ; B 57 0 672 788 ; -C -1 ; WX 600 ; N hcircumflex ; B 55 0 601 770 ; -C -1 ; WX 600 ; N Hbar ; B 56 0 651 571 ; -C -1 ; WX 600 ; N hbar ; B 55 0 559 613 ; -C -1 ; WX 600 ; N Itilde ; B 116 0 606 736 ; -C -1 ; WX 600 ; N itilde ; B 95 0 543 589 ; -C -1 ; WX 600 ; N Imacron ; B 116 0 606 714 ; -C -1 ; WX 600 ; N imacron ; B 95 0 533 567 ; -C -1 ; WX 600 ; N Ibreve ; B 116 0 608 781 ; -C -1 ; WX 600 ; N ibreve ; B 95 0 548 634 ; -C -1 ; WX 600 ; N Iogonek ; B 116 -141 606 571 ; -C -1 ; WX 600 ; N iogonek ; B 96 -141 515 633 ; -C -1 ; WX 600 ; N Jcircumflex ; B 100 -16 703 786 ; -C -1 ; WX 600 ; N jcircumflex ; B 52 -188 556 640 ; -C -1 ; WX 600 ; N Kcedilla ; B 68 -163 691 571 ; -C -1 ; WX 600 ; N kcedilla ; B 68 -163 586 613 ; -C -1 ; WX 600 ; N kgreenlandic ; B 93 0 598 423 ; -C -1 ; WX 600 ; N Lcedilla ; B 66 -163 588 571 ; -C -1 ; WX 600 ; N lcedilla ; B 96 -163 515 613 ; -C -1 ; WX 600 ; N Ncedilla ; B 47 -163 681 571 ; -C -1 ; WX 600 ; N ncedilla ; B 57 -163 547 438 ; -C -1 ; WX 600 ; N Eng ; B 63 -16 616 584 ; -C -1 ; WX 600 ; N eng ; B 70 -188 561 438 ; -C -1 ; WX 600 ; N Omacron ; B 103 -16 624 713 ; -C -1 ; WX 600 ; N omacron ; B 111 -16 579 567 ; -C -1 ; WX 600 ; N Obreve ; B 103 -16 638 781 ; -C -1 ; WX 600 ; N obreve ; B 111 -16 579 634 ; -C -1 ; WX 600 ; N Rcedilla ; B 47 -163 598 571 ; -C -1 ; WX 600 ; N rcedilla ; B 87 -163 623 433 ; -C -1 ; WX 600 ; N Scircumflex ; B 95 -16 605 786 ; -C -1 ; WX 600 ; N scircumflex ; B 105 -16 563 640 ; -C -1 ; WX 600 ; N Tbar ; B 149 0 651 571 ; -C -1 ; WX 600 ; N tbar ; B 117 -16 553 571 ; -C -1 ; WX 600 ; N Utilde ; B 137 -16 678 736 ; -C -1 ; WX 600 ; N utilde ; B 129 -16 574 589 ; -C -1 ; WX 600 ; N Umacron ; B 137 -16 678 713 ; -C -1 ; WX 600 ; N umacron ; B 129 -16 571 567 ; -C -1 ; WX 600 ; N Ubreve ; B 137 -16 678 780 ; -C -1 ; WX 600 ; N ubreve ; B 129 -16 573 634 ; -C -1 ; WX 600 ; N Uogonek ; B 137 -141 678 571 ; -C -1 ; WX 600 ; N uogonek ; B 129 -141 571 423 ; -C -1 ; WX 600 ; N Wcircumflex ; B 121 0 698 786 ; -C -1 ; WX 600 ; N wcircumflex ; B 113 0 658 640 ; -C -1 ; WX 600 ; N Ycircumflex ; B 150 0 668 786 ; -C -1 ; WX 600 ; N ycircumflex ; B 15 -188 636 640 ; -C -1 ; WX 600 ; N longs ; B 109 0 667 613 ; -C -1 ; WX 600 ; N Aringacute ; B 33 0 619 1000 ; -C -1 ; WX 600 ; N aringacute ; B 92 -16 588 873 ; -C -1 ; WX 600 ; N AEacute ; B 13 0 693 795 ; -C -1 ; WX 600 ; N aeacute ; B 36 -16 635 649 ; -C -1 ; WX 600 ; N Oslashacute ; B 34 -41 687 795 ; -C -1 ; WX 600 ; N oslashacute ; B 50 -42 642 649 ; -C -1 ; WX 600 ; N anoteleia ; B 302 305 455 438 ; -C -1 ; WX 600 ; N Wgrave ; B 121 0 698 795 ; -C -1 ; WX 600 ; N wgrave ; B 113 0 658 649 ; -C -1 ; WX 600 ; N Wacute ; B 121 0 698 795 ; -C -1 ; WX 600 ; N wacute ; B 113 0 658 649 ; -C -1 ; WX 600 ; N Wdieresis ; B 121 0 698 747 ; -C -1 ; WX 600 ; N wdieresis ; B 113 0 658 600 ; -C -1 ; WX 600 ; N Ygrave ; B 150 0 668 795 ; -C -1 ; WX 600 ; N ygrave ; B 15 -188 636 649 ; -C -1 ; WX 600 ; N quotereversed ; B 378 319 529 613 ; -C -1 ; WX 600 ; N radicalex ; B 240 525 592 567 ; -C -1 ; WX 600 ; N afii08941 ; B 87 0 543 587 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 600 ; N oneeighth ; B 61 -7 653 626 ; -C -1 ; WX 600 ; N threeeighths ; B 58 -7 652 627 ; -C -1 ; WX 600 ; N fiveeighths ; B 60 -7 652 620 ; -C -1 ; WX 600 ; N seveneighths ; B 63 -7 648 620 ; -C -1 ; WX 600 ; N commaaccent ; B 199 -250 333 -59 ; -C -1 ; WX 600 ; N undercommaaccent ; B 201 -163 352 -51 ; -C -1 ; WX 600 ; N tonos ; B 344 499 535 649 ; -C -1 ; WX 600 ; N dieresistonos ; B 234 499 579 649 ; -C -1 ; WX 600 ; N Alphatonos ; B 33 0 619 571 ; -C -1 ; WX 600 ; N Epsilontonos ; B 54 0 684 571 ; -C -1 ; WX 600 ; N Etatonos ; B 45 0 673 571 ; -C -1 ; WX 600 ; N Iotatonos ; B 80 0 636 571 ; -C -1 ; WX 600 ; N Omicrontonos ; B 71 -16 646 584 ; -C -1 ; WX 600 ; N Upsilontonos ; B 54 0 736 571 ; -C -1 ; WX 600 ; N Omegatonos ; B 44 0 664 584 ; -C -1 ; WX 600 ; N iotadieresistonos ; B 227 -16 572 649 ; -C -1 ; WX 600 ; N Alpha ; B 33 0 619 571 ; -C -1 ; WX 600 ; N Beta ; B 46 0 593 571 ; -C -1 ; WX 600 ; N Delta ; B 54 0 552 571 ; -C -1 ; WX 600 ; N Epsilon ; B 47 0 623 571 ; -C -1 ; WX 600 ; N Zeta ; B 104 0 598 571 ; -C -1 ; WX 600 ; N Eta ; B 57 0 672 572 ; -C -1 ; WX 600 ; N Iota ; B 116 0 606 571 ; -C -1 ; WX 600 ; N Kappa ; B 68 0 691 571 ; -C -1 ; WX 600 ; N Lambda ; B 28 0 614 571 ; -C -1 ; WX 600 ; N Mu ; B 16 0 702 571 ; -C -1 ; WX 600 ; N Nu ; B 47 0 681 571 ; -C -1 ; WX 600 ; N Xi ; B 77 0 651 571 ; -C -1 ; WX 600 ; N Omicron ; B 103 -16 619 584 ; -C -1 ; WX 600 ; N Pi ; B 56 0 660 571 ; -C -1 ; WX 600 ; N Rho ; B 106 0 648 571 ; -C -1 ; WX 600 ; N Sigma ; B 96 0 615 571 ; -C -1 ; WX 600 ; N Tau ; B 149 0 651 571 ; -C -1 ; WX 600 ; N Upsilon ; B 150 0 668 571 ; -C -1 ; WX 600 ; N Chi ; B 43 0 667 571 ; -C -1 ; WX 600 ; N Psi ; B 133 0 706 571 ; -C -1 ; WX 600 ; N Omega ; B 34 0 648 584 ; -C -1 ; WX 600 ; N Iotadieresis ; B 116 0 606 729 ; -C -1 ; WX 600 ; N Upsilondieresis ; B 150 0 668 729 ; -C -1 ; WX 600 ; N alphatonos ; B 93 -16 633 649 ; -C -1 ; WX 600 ; N epsilontonos ; B 151 -16 562 649 ; -C -1 ; WX 600 ; N etatonos ; B 67 -188 557 649 ; -C -1 ; WX 600 ; N iotatonos ; B 265 -16 514 649 ; -C -1 ; WX 600 ; N upsilondieresistonos ; B 125 -16 639 627 ; -C -1 ; WX 600 ; N beta ; B 95 -188 556 613 ; -C -1 ; WX 600 ; N gamma ; B 120 -188 657 423 ; -C -1 ; WX 600 ; N zeta ; B 191 -188 588 613 ; -C -1 ; WX 600 ; N eta ; B 67 -188 557 438 ; -C -1 ; WX 600 ; N theta ; B 140 -16 590 613 ; -C -1 ; WX 600 ; N iota ; B 265 -16 429 438 ; -C -1 ; WX 600 ; N kappa ; B 94 0 589 423 ; -C -1 ; WX 600 ; N lambda ; B 42 0 594 613 ; -C -1 ; WX 600 ; N mu ; B 86 -188 564 423 ; -C -1 ; WX 600 ; N nu ; B 119 0 560 438 ; -C -1 ; WX 600 ; N xi ; B 179 -188 572 613 ; -C -1 ; WX 600 ; N omicron ; B 111 -16 579 438 ; -C -1 ; WX 600 ; N rho ; B 59 -188 587 438 ; -C -1 ; WX 600 ; N sigma1 ; B 135 -188 625 438 ; -C -1 ; WX 600 ; N upsilon ; B 125 -16 639 423 ; -C -1 ; WX 600 ; N chi ; B 94 -188 561 438 ; -C -1 ; WX 600 ; N psi ; B 124 -188 653 613 ; -C -1 ; WX 600 ; N omega ; B 92 -16 593 438 ; -C -1 ; WX 600 ; N iotadieresis ; B 249 -16 539 578 ; -C -1 ; WX 600 ; N upsilondieresis ; B 125 -16 639 600 ; -C -1 ; WX 600 ; N omicrontonos ; B 111 -16 579 649 ; -C -1 ; WX 600 ; N upsilontonos ; B 125 -16 639 649 ; -C -1 ; WX 600 ; N omegatonos ; B 92 -16 593 649 ; -C -1 ; WX 600 ; N afii10023 ; B 47 0 623 730 ; -C -1 ; WX 600 ; N afii10051 ; B 94 -16 610 571 ; -C -1 ; WX 600 ; N afii10053 ; B 110 -16 639 584 ; -C -1 ; WX 600 ; N afii10054 ; B 95 -16 605 584 ; -C -1 ; WX 600 ; N afii10055 ; B 116 0 606 571 ; -C -1 ; WX 600 ; N afii10056 ; B 116 0 606 730 ; -C -1 ; WX 600 ; N afii10057 ; B 100 -16 703 571 ; -C -1 ; WX 600 ; N afii10058 ; B 20 -16 617 571 ; -C -1 ; WX 600 ; N afii10059 ; B 6 0 615 571 ; -C -1 ; WX 600 ; N afii10060 ; B 94 0 598 571 ; -C -1 ; WX 600 ; N afii10062 ; B 84 -16 707 781 ; -C -1 ; WX 600 ; N afii10017 ; B 33 0 619 571 ; -C -1 ; WX 600 ; N afii10018 ; B 46 0 603 571 ; -C -1 ; WX 600 ; N afii10019 ; B 46 0 593 571 ; -C -1 ; WX 600 ; N afii10020 ; B 47 0 671 571 ; -C -1 ; WX 600 ; N afii10021 ; B 0 -140 669 571 ; -C -1 ; WX 600 ; N afii10022 ; B 47 0 623 571 ; -C -1 ; WX 600 ; N afii10024 ; B 1 0 694 572 ; -C -1 ; WX 600 ; N afii10025 ; B 67 -16 605 584 ; -C -1 ; WX 600 ; N afii10026 ; B 32 0 693 571 ; -C -1 ; WX 600 ; N afii10027 ; B 32 0 693 781 ; -C -1 ; WX 600 ; N afii10028 ; B 69 0 665 572 ; -C -1 ; WX 600 ; N afii10029 ; B 16 -16 669 571 ; -C -1 ; WX 600 ; N afii10030 ; B 16 0 702 571 ; -C -1 ; WX 600 ; N afii10031 ; B 57 0 672 572 ; -C -1 ; WX 600 ; N afii10032 ; B 103 -16 619 584 ; -C -1 ; WX 600 ; N afii10033 ; B 56 0 660 571 ; -C -1 ; WX 600 ; N afii10034 ; B 106 0 648 571 ; -C -1 ; WX 600 ; N afii10035 ; B 114 -16 645 584 ; -C -1 ; WX 600 ; N afii10036 ; B 149 0 651 571 ; -C -1 ; WX 600 ; N afii10037 ; B 84 -16 707 571 ; -C -1 ; WX 600 ; N afii10038 ; B 104 0 617 572 ; -C -1 ; WX 600 ; N afii10039 ; B 43 0 667 571 ; -C -1 ; WX 600 ; N afii10040 ; B 39 -125 660 571 ; -C -1 ; WX 600 ; N afii10041 ; B 129 0 656 571 ; -C -1 ; WX 600 ; N afii10042 ; B 5 0 709 571 ; -C -1 ; WX 600 ; N afii10043 ; B 5 -125 709 571 ; -C -1 ; WX 600 ; N afii10044 ; B 93 0 583 571 ; -C -1 ; WX 600 ; N afii10045 ; B 0 0 710 571 ; -C -1 ; WX 600 ; N afii10046 ; B 46 0 580 571 ; -C -1 ; WX 600 ; N afii10047 ; B 78 -16 604 584 ; -C -1 ; WX 600 ; N afii10048 ; B 10 -16 650 584 ; -C -1 ; WX 600 ; N afii10049 ; B 38 0 654 571 ; -C -1 ; WX 600 ; N afii10065 ; B 92 -16 547 438 ; -C -1 ; WX 600 ; N afii10066 ; B 103 -13 600 606 ; -C -1 ; WX 600 ; N afii10067 ; B 46 0 550 423 ; -C -1 ; WX 600 ; N afii10068 ; B 47 0 639 423 ; -C -1 ; WX 600 ; N afii10069 ; B 18 -103 623 423 ; -C -1 ; WX 600 ; N afii10070 ; B 104 -16 573 438 ; -C -1 ; WX 600 ; N afii10072 ; B 14 0 655 423 ; -C -1 ; WX 600 ; N afii10073 ; B 83 -13 572 438 ; -C -1 ; WX 600 ; N afii10074 ; B 40 0 656 423 ; -C -1 ; WX 600 ; N afii10075 ; B 40 0 656 634 ; -C -1 ; WX 600 ; N afii10076 ; B 67 0 620 423 ; -C -1 ; WX 600 ; N afii10077 ; B 15 -13 623 423 ; -C -1 ; WX 600 ; N afii10078 ; B 16 0 669 423 ; -C -1 ; WX 600 ; N afii10079 ; B 56 0 631 423 ; -C -1 ; WX 600 ; N afii10080 ; B 111 -16 579 438 ; -C -1 ; WX 600 ; N afii10081 ; B 56 0 627 423 ; -C -1 ; WX 600 ; N afii10082 ; B -14 -188 595 438 ; -C -1 ; WX 600 ; N afii10083 ; B 122 -16 598 438 ; -C -1 ; WX 600 ; N afii10084 ; B 118 0 619 423 ; -C -1 ; WX 600 ; N afii10085 ; B 63 -149 667 423 ; -C -1 ; WX 600 ; N afii10086 ; B 93 -157 593 601 ; -C -1 ; WX 600 ; N afii10087 ; B 53 0 616 423 ; -C -1 ; WX 600 ; N afii10088 ; B 56 -125 627 423 ; -C -1 ; WX 600 ; N afii10089 ; B 115 0 629 423 ; -C -1 ; WX 600 ; N afii10090 ; B 5 0 677 423 ; -C -1 ; WX 600 ; N afii10091 ; B 5 -125 677 423 ; -C -1 ; WX 600 ; N afii10092 ; B 70 0 563 423 ; -C -1 ; WX 600 ; N afii10093 ; B 15 0 677 423 ; -C -1 ; WX 600 ; N afii10094 ; B 46 0 550 423 ; -C -1 ; WX 600 ; N afii10095 ; B 78 -16 581 438 ; -C -1 ; WX 600 ; N afii10096 ; B 17 -17 621 438 ; -C -1 ; WX 600 ; N afii10097 ; B 36 0 633 423 ; -C -1 ; WX 600 ; N afii10071 ; B 104 -16 573 600 ; -C -1 ; WX 600 ; N afii10099 ; B 55 -188 546 613 ; -C -1 ; WX 600 ; N afii10100 ; B 47 0 639 649 ; -C -1 ; WX 600 ; N afii10101 ; B 122 -16 598 438 ; -C -1 ; WX 600 ; N afii10102 ; B 105 -16 563 438 ; -C -1 ; WX 600 ; N afii10103 ; B 96 0 515 633 ; -C -1 ; WX 600 ; N afii10104 ; B 95 0 523 600 ; -C -1 ; WX 600 ; N afii10105 ; B 52 -188 493 633 ; -C -1 ; WX 600 ; N afii10106 ; B 28 -13 600 423 ; -C -1 ; WX 600 ; N afii10107 ; B 14 0 586 423 ; -C -1 ; WX 600 ; N afii10108 ; B 55 0 559 613 ; -C -1 ; WX 600 ; N afii10110 ; B 63 -149 667 634 ; -C -1 ; WX 600 ; N afii10193 ; B 56 -125 627 423 ; -C -1 ; WX 600 ; N afii10050 ; B 47 0 671 682 ; -C -1 ; WX 600 ; N afii10098 ; B 47 0 639 533 ; -C -1 ; WX 600 ; N afii00208 ; B 82 266 641 307 ; -C -1 ; WX 600 ; N afii61352 ; B 31 0 664 571 ; -C -1 ; WX 600 ; N pi ; B 63 0 633 423 ; -C -1 ; WX 600 ; N f000 ; B 54 0 308 319 ; -C -1 ; WX 600 ; N f003 ; B 96 422 229 613 ; -C -1 ; WX 600 ; N sheva ; B 218 -261 310 -82 ; -C -1 ; WX 600 ; N hatafsegol ; B 136 -261 415 -82 ; -C -1 ; WX 600 ; N hatafpatah ; B 137 -261 408 -82 ; -C -1 ; WX 600 ; N hatafqamats ; B 137 -261 408 -82 ; -C -1 ; WX 600 ; N hiriq ; B 242 -147 309 -83 ; -C -1 ; WX 600 ; N tsere ; B 189 -147 362 -83 ; -C -1 ; WX 600 ; N segol ; B 189 -261 362 -82 ; -C -1 ; WX 600 ; N patah ; B 176 -130 378 -83 ; -C -1 ; WX 600 ; N qamats ; B 176 -215 378 -83 ; -C -1 ; WX 600 ; N holam ; B 390 559 459 628 ; -C -1 ; WX 600 ; N qubuts ; B 136 -261 391 -82 ; -C -1 ; WX 600 ; N dagesh ; B 320 222 388 290 ; -C -1 ; WX 600 ; N meteg ; B 225 -261 302 -82 ; -C -1 ; WX 600 ; N maqaf ; B 181 437 613 478 ; -C -1 ; WX 600 ; N rafe ; B 322 560 525 607 ; -C -1 ; WX 600 ; N paseq ; B 282 -5 419 484 ; -C -1 ; WX 600 ; N shindot ; B 573 560 640 625 ; -C -1 ; WX 600 ; N sindot ; B 215 560 282 626 ; -C -1 ; WX 600 ; N sofpasuq ; B 236 -6 471 486 ; -C -1 ; WX 600 ; N alef ; B 102 -6 604 492 ; -C -1 ; WX 600 ; N bet ; B 81 0 527 478 ; -C -1 ; WX 600 ; N gimel ; B 138 -5 450 478 ; -C -1 ; WX 600 ; N dalet ; B 172 -5 624 478 ; -C -1 ; WX 600 ; N he ; B 101 -5 576 478 ; -C -1 ; WX 600 ; N vav ; B 280 -5 440 478 ; -C -1 ; WX 600 ; N zayin ; B 257 -5 547 478 ; -C -1 ; WX 600 ; N het ; B 164 -5 630 478 ; -C -1 ; WX 600 ; N tet ; B 147 -5 584 483 ; -C -1 ; WX 600 ; N yod ; B 278 263 445 478 ; -C -1 ; WX 600 ; N finalkaf ; B 169 -109 617 478 ; -C -1 ; WX 600 ; N kaf ; B 92 0 558 478 ; -C -1 ; WX 600 ; N lamed ; B 187 0 565 629 ; -C -1 ; WX 600 ; N finalmem ; B 131 0 564 478 ; -C -1 ; WX 600 ; N mem ; B 146 -5 569 483 ; -C -1 ; WX 600 ; N finalnun ; B 275 -109 445 478 ; -C -1 ; WX 600 ; N nun ; B 143 0 475 478 ; -C -1 ; WX 600 ; N samekh ; B 135 -5 564 478 ; -C -1 ; WX 600 ; N ayin ; B 101 0 582 478 ; -C -1 ; WX 600 ; N finalpe ; B 175 -109 538 478 ; -C -1 ; WX 600 ; N pe ; B 126 0 545 478 ; -C -1 ; WX 600 ; N finaltsadi ; B 188 -109 575 478 ; -C -1 ; WX 600 ; N tsadi ; B 175 0 567 478 ; -C -1 ; WX 600 ; N qof ; B 81 -204 598 478 ; -C -1 ; WX 600 ; N resh ; B 181 -5 542 478 ; -C -1 ; WX 600 ; N shin ; B 124 0 602 483 ; -C -1 ; WX 600 ; N tav ; B 82 -5 563 478 ; -C -1 ; WX 600 ; N doublevav ; B 156 -5 580 478 ; -C -1 ; WX 600 ; N vavyod ; B 162 -5 580 478 ; -C -1 ; WX 600 ; N doubleyod ; B 162 263 580 478 ; -C -1 ; WX 600 ; N geresh ; B 276 246 479 483 ; -C -1 ; WX 600 ; N gershayim ; B 178 246 577 483 ; -C -1 ; WX 600 ; N newsheqelsign ; B 43 -5 654 481 ; -C -1 ; WX 600 ; N vavshindot ; B 239 -5 440 630 ; -C -1 ; WX 600 ; N finalkafsheva ; B 166 -109 621 479 ; -C -1 ; WX 600 ; N finalkafqamats ; B 158 -109 621 479 ; -C -1 ; WX 600 ; N lamedholam ; B 99 0 565 630 ; -C -1 ; WX 600 ; N lamedholamdagesh ; B 109 0 565 629 ; -C -1 ; WX 600 ; N _b_712 ; B 101 0 582 478 ; -C -1 ; WX 600 ; N shinshindot ; B 124 0 630 628 ; -C -1 ; WX 600 ; N shinsindot ; B 124 0 602 628 ; -C -1 ; WX 600 ; N shindageshshindot ; B 124 0 630 628 ; -C -1 ; WX 600 ; N shindageshsindot ; B 124 0 602 628 ; -C -1 ; WX 600 ; N alefpatah ; B 102 -130 604 493 ; -C -1 ; WX 600 ; N alefqamats ; B 102 -215 604 493 ; -C -1 ; WX 600 ; N alefmapiq ; B 102 -6 604 492 ; -C -1 ; WX 600 ; N betdagesh ; B 77 0 527 479 ; -C -1 ; WX 600 ; N gimeldagesh ; B 134 -5 451 479 ; -C -1 ; WX 600 ; N daletdagesh ; B 172 -5 625 479 ; -C -1 ; WX 600 ; N hedagesh ; B 101 -5 576 479 ; -C -1 ; WX 600 ; N vavdagesh ; B 227 -5 440 479 ; -C -1 ; WX 600 ; N zayindagesh ; B 205 -5 543 479 ; -C -1 ; WX 600 ; N tetdagesh ; B 147 -5 584 483 ; -C -1 ; WX 600 ; N yoddagesh ; B 259 263 445 478 ; -C -1 ; WX 600 ; N finalkafdagesh ; B 166 -109 621 479 ; -C -1 ; WX 600 ; N kafdagesh ; B 92 0 559 479 ; -C -1 ; WX 600 ; N lameddagesh ; B 187 0 565 630 ; -C -1 ; WX 600 ; N memdagesh ; B 146 -5 569 484 ; -C -1 ; WX 600 ; N nundagesh ; B 139 0 476 479 ; -C -1 ; WX 600 ; N samekhdagesh ; B 135 -5 564 478 ; -C -1 ; WX 600 ; N finalpedagesh ; B 175 -109 538 478 ; -C -1 ; WX 600 ; N pedagesh ; B 126 0 545 478 ; -C -1 ; WX 600 ; N tsadidagesh ; B 175 0 567 478 ; -C -1 ; WX 600 ; N qofdagesh ; B 81 -204 598 478 ; -C -1 ; WX 600 ; N reshdagesh ; B 181 -5 542 479 ; -C -1 ; WX 600 ; N shindagesh ; B 124 0 602 483 ; -C -1 ; WX 600 ; N tavdages ; B 82 -5 563 479 ; -C -1 ; WX 600 ; N vavholam ; B 276 -5 469 628 ; -C -1 ; WX 600 ; N betrafe ; B 77 0 527 608 ; -C -1 ; WX 600 ; N kafrafe ; B 92 0 558 607 ; -C -1 ; WX 600 ; N perafe ; B 126 0 545 608 ; -C -1 ; WX 600 ; N aleflamed ; B 102 -6 604 629 ; -C -1 ; WX 600 ; N zerowidthnonjoiner ; B 283 -134 318 629 ; -C -1 ; WX 600 ; N zerowidthjoiner ; B 193 -134 407 690 ; -C -1 ; WX 600 ; N lefttorightmark ; B 172 -134 458 690 ; -C -1 ; WX 600 ; N righttoleftmark ; B 143 -134 429 690 ; -C -1 ; WX 600 ; N uniFFFC ; B 0 0 600 431 ; -C -1 ; WX 600 ; N Ohorn ; B 103 -16 681 584 ; -C -1 ; WX 600 ; N ohorn ; B 111 -16 641 438 ; -C -1 ; WX 600 ; N Uhorn ; B 137 -16 762 648 ; -C -1 ; WX 600 ; N uhorn ; B 129 -16 659 429 ; -C -1 ; WX 600 ; N f00b ; B 372 679 568 783 ; -C -1 ; WX 600 ; N f00c ; B 324 679 521 783 ; -C -1 ; WX 600 ; N f00e ; B 308 632 475 783 ; -C -1 ; WX 600 ; N f006 ; B 346 679 542 783 ; -C -1 ; WX 600 ; N f007 ; B 392 682 589 785 ; -C -1 ; WX 600 ; N f009 ; B 355 632 522 783 ; -C -1 ; WX 600 ; N combininghookabove ; B 352 655 509 783 ; -C -1 ; WX 600 ; N f010 ; B 373 696 514 783 ; -C -1 ; WX 600 ; N f013 ; B 352 638 509 783 ; -C -1 ; WX 600 ; N f011 ; B 375 696 516 783 ; -C -1 ; WX 600 ; N f01c ; B 305 682 629 783 ; -C -1 ; WX 600 ; N f015 ; B 292 682 617 783 ; -C -1 ; WX 600 ; N combiningtildeaccent ; B 288 682 613 783 ; -C -1 ; WX 600 ; N _d_769 ; B 288 598 554 680 ; -C -1 ; WX 600 ; N _d_770 ; B 291 598 557 680 ; -C -1 ; WX 600 ; N f02c ; B 406 -158 508 -58 ; -C -1 ; WX 600 ; N dongsign ; B 122 112 605 613 ; -C -1 ; WX 600 ; N onethird ; B 59 -7 669 626 ; -C -1 ; WX 600 ; N twothirds ; B 39 -7 669 627 ; -C -1 ; WX 600 ; N f008 ; B 299 499 466 649 ; -C -1 ; WX 600 ; N f00a ; B 368 499 535 649 ; -C -1 ; WX 600 ; N f00d ; B 297 499 464 649 ; -C -1 ; WX 600 ; N f00f ; B 312 499 479 649 ; -C -1 ; WX 600 ; N f012 ; B 328 499 485 626 ; -C -1 ; WX 600 ; N f014 ; B 328 499 485 626 ; -C -1 ; WX 600 ; N f016 ; B 305 682 629 783 ; -C -1 ; WX 600 ; N f017 ; B 305 682 629 783 ; -C -1 ; WX 600 ; N f018 ; B 305 682 629 783 ; -C -1 ; WX 600 ; N f019 ; B 251 489 569 589 ; -C -1 ; WX 600 ; N f01a ; B 251 489 568 589 ; -C -1 ; WX 600 ; N f01b ; B 251 489 568 589 ; -C -1 ; WX 600 ; N f01e ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f01f ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f020 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f021 ; B 259 -158 361 -58 ; -C -1 ; WX 600 ; N f022 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N combininggraveaccent ; B 361 632 528 783 ; -C -1 ; WX 600 ; N combiningacuteaccent ; B 332 632 499 783 ; -C -1 ; WX 600 ; N f01d ; B 186 489 503 589 ; -C -1 ; WX 600 ; N combiningdotbelow ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f023 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f029 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f02a ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f02b ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f024 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f025 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f026 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f027 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f028 ; B 235 -158 337 -58 ; -C -1 ; WX 600 ; N f02d ; B 292 682 617 783 ; -C -1 ; WX 600 ; N f02e ; B 290 682 615 783 ; -C -1 ; WX 600 ; N f02f ; B 316 682 641 783 ; -C -1 ; WX 600 ; N f030 ; B 305 682 629 783 ; -C -1 ; WX 600 ; N Adotbelow ; B 33 -158 619 571 ; -C -1 ; WX 600 ; N adotbelow ; B 92 -158 547 438 ; -C -1 ; WX 600 ; N Ahookabove ; B 33 0 619 783 ; -C -1 ; WX 600 ; N ahookabove ; B 92 -16 547 626 ; -C -1 ; WX 600 ; N Acircumflexacute ; B 33 0 619 783 ; -C -1 ; WX 600 ; N acircumflexacute ; B 92 -16 552 783 ; -C -1 ; WX 600 ; N Acircumflexgrave ; B 33 0 619 783 ; -C -1 ; WX 600 ; N acircumflexgrave ; B 92 -16 552 783 ; -C -1 ; WX 600 ; N Acircumflexhookabove ; B 33 0 619 783 ; -C -1 ; WX 600 ; N acircumflexhookabove ; B 92 -16 552 783 ; -C -1 ; WX 600 ; N Acircumflextilde ; B 33 0 631 783 ; -C -1 ; WX 600 ; N acircumflextilde ; B 92 -16 615 783 ; -C -1 ; WX 600 ; N Acircumflexdotbelow ; B 33 -158 619 680 ; -C -1 ; WX 600 ; N acircumflexdotbelow ; B 92 -158 552 640 ; -C -1 ; WX 600 ; N Abreveacute ; B 33 0 619 783 ; -C -1 ; WX 600 ; N abreveacute ; B 92 -16 570 783 ; -C -1 ; WX 600 ; N Abrevegrave ; B 33 0 619 783 ; -C -1 ; WX 600 ; N abrevegrave ; B 92 -16 570 783 ; -C -1 ; WX 600 ; N Abrevehookabove ; B 33 0 619 783 ; -C -1 ; WX 600 ; N abrevehookabove ; B 92 -16 570 783 ; -C -1 ; WX 600 ; N Abrevetilde ; B 33 0 619 795 ; -C -1 ; WX 600 ; N abrevetilde ; B 92 -16 610 783 ; -C -1 ; WX 600 ; N Abrevedotbelow ; B 33 -158 619 680 ; -C -1 ; WX 600 ; N abrevedotbelow ; B 92 -158 570 634 ; -C -1 ; WX 600 ; N Edotbelow ; B 47 -158 623 571 ; -C -1 ; WX 600 ; N edotbelow ; B 104 -158 573 438 ; -C -1 ; WX 600 ; N Ehookabove ; B 47 0 623 783 ; -C -1 ; WX 600 ; N ehookabove ; B 104 -16 573 626 ; -C -1 ; WX 600 ; N Etilde ; B 47 0 623 733 ; -C -1 ; WX 600 ; N etilde ; B 104 -16 573 589 ; -C -1 ; WX 600 ; N Ecircumflexacute ; B 47 0 623 783 ; -C -1 ; WX 600 ; N ecircumflexacute ; B 104 -16 573 783 ; -C -1 ; WX 600 ; N Ecircumflexgrave ; B 47 0 623 783 ; -C -1 ; WX 600 ; N ecircumflexgrave ; B 104 -16 573 783 ; -C -1 ; WX 600 ; N Ecircumflexhookabove ; B 47 0 623 783 ; -C -1 ; WX 600 ; N ecircumflexhookabove ; B 104 -16 573 783 ; -C -1 ; WX 600 ; N Ecircumflextilde ; B 47 0 623 783 ; -C -1 ; WX 600 ; N ecircumflextilde ; B 104 -16 615 783 ; -C -1 ; WX 600 ; N Ecircumflexdotbelow ; B 47 -158 623 680 ; -C -1 ; WX 600 ; N ecircumflexdotbelow ; B 104 -158 573 640 ; -C -1 ; WX 600 ; N Ihookabove ; B 116 0 606 783 ; -C -1 ; WX 600 ; N ihookabove ; B 95 0 514 626 ; -C -1 ; WX 600 ; N Idotbelow ; B 116 -158 606 571 ; -C -1 ; WX 600 ; N idotbelow ; B 96 -158 515 633 ; -C -1 ; WX 600 ; N Odotbelow ; B 103 -158 619 584 ; -C -1 ; WX 600 ; N odotbelow ; B 111 -158 579 438 ; -C -1 ; WX 600 ; N Ohookabove ; B 103 -16 619 783 ; -C -1 ; WX 600 ; N ohookabove ; B 111 -16 579 626 ; -C -1 ; WX 600 ; N Ocircumflexacute ; B 103 -16 619 783 ; -C -1 ; WX 600 ; N ocircumflexacute ; B 111 -16 579 783 ; -C -1 ; WX 600 ; N Ocircumflexgrave ; B 103 -16 619 783 ; -C -1 ; WX 600 ; N ocircumflexgrave ; B 111 -16 579 783 ; -C -1 ; WX 600 ; N Ocircumflexhookabove ; B 103 -16 619 783 ; -C -1 ; WX 600 ; N ocircumflexhookabove ; B 111 -16 579 783 ; -C -1 ; WX 600 ; N Ocircumflextilde ; B 103 -16 626 783 ; -C -1 ; WX 600 ; N ocircumflextilde ; B 111 -16 615 783 ; -C -1 ; WX 600 ; N Ocircumflexdotbelow ; B 103 -158 619 680 ; -C -1 ; WX 600 ; N ocircumflexdotbelow ; B 111 -158 579 640 ; -C -1 ; WX 600 ; N Ohornacute ; B 103 -16 681 779 ; -C -1 ; WX 600 ; N ohornacute ; B 111 -16 641 649 ; -C -1 ; WX 600 ; N Ohorngrave ; B 103 -16 681 779 ; -C -1 ; WX 600 ; N ohorngrave ; B 111 -16 641 649 ; -C -1 ; WX 600 ; N Ohornhookabove ; B 103 -16 681 783 ; -C -1 ; WX 600 ; N ohornhookabove ; B 111 -16 641 626 ; -C -1 ; WX 600 ; N Ohorntilde ; B 103 -16 681 733 ; -C -1 ; WX 600 ; N ohorntilde ; B 111 -16 641 589 ; -C -1 ; WX 600 ; N Ohorndotbelow ; B 103 -158 681 584 ; -C -1 ; WX 600 ; N ohorndotbelow ; B 111 -158 641 438 ; -C -1 ; WX 600 ; N Udotbelow ; B 137 -158 678 571 ; -C -1 ; WX 600 ; N udotbelow ; B 129 -158 571 423 ; -C -1 ; WX 600 ; N Uhookabove ; B 137 -16 678 783 ; -C -1 ; WX 600 ; N uhookabove ; B 129 -16 571 626 ; -C -1 ; WX 600 ; N Uhornacute ; B 137 -16 762 779 ; -C -1 ; WX 600 ; N uhornacute ; B 129 -16 659 649 ; -C -1 ; WX 600 ; N Uhorngrave ; B 137 -16 762 779 ; -C -1 ; WX 600 ; N uhorngrave ; B 129 -16 659 649 ; -C -1 ; WX 600 ; N Uhornhookabove ; B 137 -16 762 783 ; -C -1 ; WX 600 ; N uhornhookabove ; B 129 -16 659 626 ; -C -1 ; WX 600 ; N Uhorntilde ; B 137 -16 762 733 ; -C -1 ; WX 600 ; N uhorntilde ; B 129 -16 659 589 ; -C -1 ; WX 600 ; N Uhorndotbelow ; B 137 -158 762 648 ; -C -1 ; WX 600 ; N uhorndotbelow ; B 129 -158 659 429 ; -C -1 ; WX 600 ; N Ydotbelow ; B 150 -158 668 571 ; -C -1 ; WX 600 ; N ydotbelow ; B 15 -188 636 423 ; -C -1 ; WX 600 ; N Yhookabove ; B 150 0 668 783 ; -C -1 ; WX 600 ; N yhookabove ; B 15 -188 636 626 ; -C -1 ; WX 600 ; N Ytilde ; B 150 0 668 733 ; -C -1 ; WX 600 ; N ytilde ; B 15 -188 636 589 ; -C -1 ; WX 600 ; N uni01CD ; B 33 0 619 781 ; -C -1 ; WX 600 ; N uni01CE ; B 92 -16 567 634 ; -C -1 ; WX 600 ; N _b_899 ; B 116 0 606 781 ; -C -1 ; WX 600 ; N uni01D0 ; B 95 0 562 634 ; -C -1 ; WX 600 ; N uni01D1 ; B 103 -16 619 781 ; -C -1 ; WX 600 ; N uni01D2 ; B 111 -16 579 634 ; -C -1 ; WX 600 ; N uni01D3 ; B 137 -16 678 781 ; -C -1 ; WX 600 ; N uni01D4 ; B 129 -16 571 634 ; -C -1 ; WX 600 ; N uni01D5 ; B 137 -16 678 782 ; -C -1 ; WX 600 ; N uni01D6 ; B 129 -16 574 703 ; -C -1 ; WX 600 ; N uni01D7 ; B 137 -16 678 783 ; -C -1 ; WX 600 ; N uni01D8 ; B 129 -16 575 771 ; -C -1 ; WX 600 ; N uni01D9 ; B 137 -16 678 782 ; -C -1 ; WX 600 ; N uni01DA ; B 129 -16 578 771 ; -C -1 ; WX 600 ; N uni01DB ; B 137 -16 678 783 ; -C -1 ; WX 600 ; N uni01DC ; B 129 -16 571 771 ; -C -1 ; WX 600 ; N _d_913 ; B 268 624 598 782 ; -C -1 ; WX 600 ; N _d_914 ; B 277 624 613 783 ; -C -1 ; WX 600 ; N _d_915 ; B 277 624 613 782 ; -C -1 ; WX 600 ; N _d_916 ; B 277 624 613 783 ; -C -1 ; WX 600 ; N _d_917 ; B 281 662 574 703 ; -C -1 ; WX 600 ; N _d_918 ; B 256 521 547 600 ; -C -1 ; WX 600 ; N uni0492 ; B 47 0 671 571 ; -C -1 ; WX 600 ; N uni0493 ; B 47 0 639 423 ; -C -1 ; WX 600 ; N uni0496 ; B 1 -125 694 572 ; -C -1 ; WX 600 ; N uni0497 ; B 14 -125 655 423 ; -C -1 ; WX 600 ; N uni049a ; B 69 -125 665 572 ; -C -1 ; WX 600 ; N uni049b ; B 67 -125 620 423 ; -C -1 ; WX 600 ; N uni049c ; B 69 0 665 572 ; -C -1 ; WX 600 ; N uni049d ; B 67 0 620 423 ; -C -1 ; WX 600 ; N uni04a2 ; B 56 -125 672 572 ; -C -1 ; WX 600 ; N uni04a3 ; B 56 -125 631 423 ; -C -1 ; WX 600 ; N uni04ae ; B 150 0 668 571 ; -C -1 ; WX 600 ; N uni04af ; B 124 -188 636 423 ; -C -1 ; WX 600 ; N uni04b0 ; B 165 0 668 571 ; -C -1 ; WX 600 ; N uni04b1 ; B 118 -188 636 423 ; -C -1 ; WX 600 ; N uni04b2 ; B 43 -125 667 571 ; -C -1 ; WX 600 ; N uni04b3 ; B 53 -125 616 423 ; -C -1 ; WX 600 ; N uni04b8 ; B 129 0 656 571 ; -C -1 ; WX 600 ; N uni04b9 ; B 115 0 629 423 ; -C -1 ; WX 600 ; N uni04ba ; B 56 0 583 571 ; -C -1 ; WX 600 ; N uni04bb ; B 57 0 571 423 ; -C -1 ; WX 600 ; N uni018f ; B 78 -16 626 584 ; -C -1 ; WX 600 ; N uni0259 ; B 104 -16 573 438 ; -C -1 ; WX 600 ; N uni04e8 ; B 103 -16 619 584 ; -C -1 ; WX 600 ; N uni04e9 ; B 111 -16 579 438 ; -EndCharMetrics -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/couri.ttf b/thirdparty/html2ps_pdf/fonts/couri.ttf deleted file mode 100644 index e98261fad..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/couri.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/georgia.ttf b/thirdparty/html2ps_pdf/fonts/georgia.ttf deleted file mode 100644 index 27d1c1951..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/georgia.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/georgiab.ttf b/thirdparty/html2ps_pdf/fonts/georgiab.ttf deleted file mode 100644 index e121d7e1c..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/georgiab.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/georgiai.ttf b/thirdparty/html2ps_pdf/fonts/georgiai.ttf deleted file mode 100644 index b5c4209e8..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/georgiai.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/georgiaz.ttf b/thirdparty/html2ps_pdf/fonts/georgiaz.ttf deleted file mode 100644 index 1ab2c5530..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/georgiaz.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/print_glyphs.ps b/thirdparty/html2ps_pdf/fonts/print_glyphs.ps deleted file mode 100644 index 15f7e365b..000000000 --- a/thirdparty/html2ps_pdf/fonts/print_glyphs.ps +++ /dev/null @@ -1,129 +0,0 @@ -%!PS-Adobe -% print_glyphs.ps -% Copyright (C) Thomas Merz and PDFlib GmbH 1994-2005 -% -% This PostScript program prints all glyphs in a font along -% with their names in alphabetical ordering. -% It requires a PostScript Level 2 or PostScript 3 interpreter. -% It also works with Acrobat Distiller. -% -% Usage: -% - The font must either be resident in the printer, or be -% downloaded ahead of this program (as a single job). -% Alternatively, the font can be configure in Distiller. -% - At the end of this file, enter a line with the font name, e.g.: -% /Times-Roman ShowGlyphs -% (Omit the percent character, but leave the leading slash '/') - -/$sort 20 dict def - -/Insert { % node string ==> - - exch dup 0 get type (nulltype) eq { % ifelse - exch [ exch 1 array 1 array ] 0 exch put - }{ % else - aload pop aload pop 4 2 roll 2 copy gt { % ifelse - pop 3 -1 roll pop Insert - }{ %else - pop exch pop Insert - } ifelse - } ifelse -} def - -/PrefixWalk { - $sort begin - cvx /!bt exch def bpwalk - end -} def - -$sort begin -/bpwalk { - dup 0 get type /nulltype eq { pop }{ % ifelse - aload pop aload pop exch bpwalk exch !bt bpwalk - } ifelse -} bind def - -end % $sort - -/DictSort { % dict ==> array - dup length array /a exch def - $sort begin - /tree 1 array def - { pop 50 string cvs tree exch Insert } forall - /ndx 0 def - tree { a ndx 3 -1 roll put /ndx ndx 1 add def } PrefixWalk - a -} bind def - -/ShowGlyphs { % font name ==> - - /buffer 100 string def - /FontName 100 string def - /fs 20 def % font size - /ts 7 def % font size of caption - /ls fs 1.75 mul def % line spacing - - dup FontName cvs pop - findfont fs scalefont /F exch def - - clippath pathbbox - 20 sub /top exch def - 20 sub /right exch def - 20 add /bottom exch def - 40 add /left exch def - - /textfont /Helvetica-Narrow findfont ts scalefont def - /x left def - /y top fs sub def - - /Helvetica-Bold findfont fs scalefont setfont - x y moveto - /y y ls sub def - - % Check the interpreter's language level... - /languagelevel where { pop languagelevel }{ 1 } ifelse - - % ...and quit if Level 1 - 2 lt { - (Error: this program doesn't work on PostScript Level 1 printers!)show - showpage - stop -} if - - FontName show % print font name - - % Try to find the dictionary with the character names - F /CharStrings known { - F /CharStrings get - }{ - (: Couldn't find character names (CharStrings dictionary)!) show - showpage - quit - } ifelse - - DictSort % sort the character names - - { % forall - /GlyphName exch def % remember the character name - - x y moveto F setfont % the actual character... - GlyphName cvn glyphshow - - x y ts 2 mul sub moveto % ...and its glyph name - textfont setfont GlyphName buffer cvs show - - /x x fs 2 mul add def - x right gt { /x left def /y y fs 2 mul sub def } if - y bottom lt { - /y top fs sub def /x left def - showpage - x y moveto - /y y ls sub def - /Helvetica-Bold findfont fs scalefont setfont - FontName show % print font name - } if - } forall - y top ls sub ne x left ne or { showpage } if - -} bind def - -% Example: -/Times-Roman ShowGlyphs diff --git a/thirdparty/html2ps_pdf/fonts/symbol.afm b/thirdparty/html2ps_pdf/fonts/symbol.afm deleted file mode 100644 index f026f8d7c..000000000 --- a/thirdparty/html2ps_pdf/fonts/symbol.afm +++ /dev/null @@ -1,278 +0,0 @@ -StartFontMetrics 4.1 -FontName SymbolMT -FullName Symbol -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Symbol -Weight Regular -Version Version 1.60 -Characters 192 -ItalicAngle 0.0 -Ascender 1005 -Descender -220 -UnderlineThickness 49 -UnderlinePosition -109 -IsFixedPitch false -FontBBox 0 -220 1113 1005 -StartCharMetrics 259 -C 0 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 250 ; N space ; B 0 -14 110 677 ; -C 33 ; WX 333 ; N exclam ; B 0 -14 110 677 ; -C 34 ; WX 713 ; N universal ; B 0 0 617 662 ; -C 35 ; WX 500 ; N numbersign ; B 0 -14 464 677 ; -C 36 ; WX 549 ; N existential ; B 0 0 423 662 ; -C 37 ; WX 833 ; N percent ; B 0 -27 763 677 ; -C 38 ; WX 778 ; N ampersand ; B 0 -15 711 677 ; -C 39 ; WX 439 ; N suchthat ; B 0 -16 376 461 ; -C 40 ; WX 333 ; N parenleft ; B 0 -216 270 694 ; -C 41 ; WX 333 ; N parenright ; B 22 -216 292 694 ; -C 42 ; WX 500 ; N asteriskmath ; B 0 128 359 534 ; -C 43 ; WX 549 ; N plus ; B 0 0 513 513 ; -C 44 ; WX 250 ; N comma ; B 0 -167 146 98 ; -C 45 ; WX 549 ; N minus ; B 0 233 513 281 ; -C 46 ; WX 250 ; N period ; B 0 -14 108 95 ; -C 47 ; WX 278 ; N slash ; B 0 -14 279 694 ; -C 48 ; WX 500 ; N zero ; B 0 -14 428 676 ; -C 49 ; WX 500 ; N one ; B 0 0 261 676 ; -C 50 ; WX 500 ; N two ; B 0 0 437 676 ; -C 51 ; WX 500 ; N three ; B 0 -14 376 676 ; -C 52 ; WX 500 ; N four ; B 0 0 450 676 ; -C 53 ; WX 500 ; N five ; B 0 -14 386 662 ; -C 54 ; WX 500 ; N six ; B 0 -14 418 676 ; -C 55 ; WX 500 ; N seven ; B 0 -14 418 662 ; -C 56 ; WX 500 ; N eight ; B 0 -14 382 676 ; -C 57 ; WX 500 ; N nine ; B 0 -14 417 676 ; -C 58 ; WX 278 ; N colon ; B 0 -14 110 461 ; -C 59 ; WX 278 ; N semicolon ; B 0 -167 146 460 ; -C 60 ; WX 549 ; N less ; B 0 0 491 513 ; -C 61 ; WX 549 ; N equal ; B 0 140 513 371 ; -C 62 ; WX 549 ; N greater ; B 29 0 521 513 ; -C 63 ; WX 444 ; N question ; B 0 -13 359 677 ; -C 64 ; WX 549 ; N congruent ; B 0 0 513 510 ; -C 65 ; WX 722 ; N Alpha ; B 0 0 703 677 ; -C 66 ; WX 667 ; N Beta ; B 0 0 596 662 ; -C 67 ; WX 722 ; N Chi ; B 0 0 703 662 ; -C 68 ; WX 612 ; N Delta ; B 0 0 586 677 ; -C 69 ; WX 611 ; N Epsilon ; B 0 0 567 662 ; -C 70 ; WX 763 ; N Phi ; B 0 0 692 662 ; -C 71 ; WX 603 ; N Gamma ; B 0 0 560 662 ; -C 72 ; WX 722 ; N Eta ; B 0 0 685 662 ; -C 73 ; WX 333 ; N Iota ; B 0 0 284 662 ; -C 74 ; WX 631 ; N theta1 ; B 0 -15 547 694 ; -C 75 ; WX 722 ; N Kappa ; B 0 0 714 662 ; -C 76 ; WX 686 ; N Lambda ; B 0 0 667 677 ; -C 77 ; WX 889 ; N Mu ; B 0 0 852 662 ; -C 78 ; WX 722 ; N Nu ; B 0 -11 721 662 ; -C 79 ; WX 722 ; N Omicron ; B 0 -15 648 677 ; -C 80 ; WX 768 ; N Pi ; B 0 0 734 662 ; -C 81 ; WX 741 ; N Theta ; B 0 -15 668 677 ; -C 82 ; WX 556 ; N Rho ; B 0 0 504 662 ; -C 83 ; WX 592 ; N Sigma ; B 0 0 528 662 ; -C 84 ; WX 611 ; N Tau ; B 0 0 556 662 ; -C 85 ; WX 690 ; N Upsilon ; B 0 0 670 662 ; -C 86 ; WX 439 ; N sigma1 ; B 0 -216 378 460 ; -C 87 ; WX 768 ; N Omega ; B 0 0 713 677 ; -C 88 ; WX 645 ; N Xi ; B 0 0 581 662 ; -C 89 ; WX 795 ; N Psi ; B 0 0 759 670 ; -C 90 ; WX 611 ; N Zeta ; B 0 0 570 662 ; -C 91 ; WX 333 ; N bracketleft ; B 0 -198 215 677 ; -C 92 ; WX 863 ; N therefore ; B 0 0 510 497 ; -C 93 ; WX 333 ; N bracketright ; B 36 -198 251 677 ; -C 94 ; WX 658 ; N perpendicular ; B 0 0 622 662 ; -C 95 ; WX 500 ; N underscore ; B 0 -216 517 -175 ; -C 96 ; WX 500 ; N radicalex ; B 0 876 496 913 ; -C 97 ; WX 631 ; N alpha ; B 0 -16 564 460 ; -C 98 ; WX 549 ; N beta ; B 0 -216 446 694 ; -C 99 ; WX 549 ; N chi ; B 0 -216 478 456 ; -C 100 ; WX 494 ; N delta ; B 0 -15 427 694 ; -C 101 ; WX 439 ; N epsilon ; B 0 -15 373 461 ; -C 102 ; WX 521 ; N phi ; B 0 -216 453 694 ; -C 103 ; WX 411 ; N gamma ; B 0 -216 412 456 ; -C 104 ; WX 603 ; N eta ; B 0 -216 503 460 ; -C 105 ; WX 329 ; N iota ; B 0 -15 261 460 ; -C 106 ; WX 603 ; N phi1 ; B 0 -216 536 460 ; -C 107 ; WX 549 ; N kappa ; B 0 0 534 460 ; -C 108 ; WX 549 ; N lambda ; B 0 -10 501 694 ; -C 109 ; WX 576 ; N mu ; B 0 -216 499 447 ; -C 110 ; WX 521 ; N nu ; B 0 -14 469 461 ; -C 111 ; WX 549 ; N omicron ; B 0 -15 463 460 ; -C 112 ; WX 549 ; N pi ; B 0 -15 485 447 ; -C 113 ; WX 521 ; N theta ; B 0 -15 436 694 ; -C 114 ; WX 549 ; N rho ; B 0 -216 454 461 ; -C 115 ; WX 603 ; N sigma ; B 0 -15 545 447 ; -C 116 ; WX 439 ; N tau ; B 0 -15 376 447 ; -C 117 ; WX 576 ; N upsilon ; B 0 -15 487 460 ; -C 118 ; WX 713 ; N omega1 ; B 0 -15 647 447 ; -C 119 ; WX 686 ; N omega ; B 0 -15 607 460 ; -C 120 ; WX 493 ; N xi ; B 0 -216 422 694 ; -C 121 ; WX 686 ; N psi ; B 0 -216 639 461 ; -C 122 ; WX 494 ; N zeta ; B 0 -220 424 691 ; -C 123 ; WX 480 ; N braceleft ; B 0 -216 272 694 ; -C 124 ; WX 200 ; N bar ; B 0 -216 41 694 ; -C 125 ; WX 480 ; N braceright ; B 104 -216 377 694 ; -C 126 ; WX 549 ; N similar ; B 0 176 499 336 ; -C 127 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 129 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 130 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 131 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 132 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 133 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 134 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 135 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 136 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 137 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 138 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 139 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 140 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 141 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 142 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 143 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 144 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 145 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 146 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 147 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 148 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 149 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 150 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 151 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 152 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 153 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 154 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 155 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 156 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 157 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 158 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 159 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 160 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 161 ; WX 620 ; N Upsilon1 ; B 0 0 603 677 ; -C 162 ; WX 247 ; N minute ; B 0 392 130 677 ; -C 163 ; WX 549 ; N lessequal ; B 0 0 491 621 ; -C 164 ; WX 167 ; N fraction ; B 0 -26 500 676 ; -C 165 ; WX 713 ; N infinity ; B 0 52 661 461 ; -C 166 ; WX 500 ; N florin ; B 0 -216 499 694 ; -C 167 ; WX 753 ; N club ; B 0 0 572 552 ; -C 168 ; WX 753 ; N diamond ; B 0 -15 456 564 ; -C 169 ; WX 753 ; N heart ; B 0 -15 511 542 ; -C 170 ; WX 753 ; N spade ; B 0 0 513 576 ; -C 171 ; WX 1042 ; N arrowboth ; B 0 -14 1002 499 ; -C 172 ; WX 987 ; N arrowleft ; B 0 -14 914 499 ; -C 173 ; WX 603 ; N arrowup ; B 0 -14 512 900 ; -C 174 ; WX 987 ; N arrowright ; B 37 -14 950 499 ; -C 175 ; WX 603 ; N arrowdown ; B 45 -14 558 900 ; -C 176 ; WX 400 ; N degree ; B 0 377 301 677 ; -C 177 ; WX 549 ; N plusminus ; B 0 0 513 620 ; -C 178 ; WX 411 ; N second ; B 0 392 309 677 ; -C 179 ; WX 549 ; N greaterequal ; B 29 0 521 621 ; -C 180 ; WX 549 ; N multiply ; B 0 41 431 471 ; -C 181 ; WX 713 ; N proportional ; B 0 52 613 461 ; -C 182 ; WX 494 ; N partialdiff ; B 0 -15 455 694 ; -C 183 ; WX 460 ; N bullet ; B 0 103 357 460 ; -C 184 ; WX 549 ; N divide ; B 0 45 513 466 ; -C 185 ; WX 549 ; N notequal ; B 0 0 513 513 ; -C 186 ; WX 549 ; N equivalence ; B 0 87 514 423 ; -C 187 ; WX 549 ; N approxequal ; B 0 81 499 431 ; -C 188 ; WX 1000 ; N ellipsis ; B 0 -14 775 95 ; -C 189 ; WX 603 ; N arrowvertex ; B 0 -119 47 1005 ; -C 190 ; WX 1000 ; N arrowhorizex ; B 0 219 1113 266 ; -C 191 ; WX 658 ; N carriagereturn ; B 0 -15 578 621 ; -C 192 ; WX 823 ; N aleph ; B 0 -15 604 677 ; -C 193 ; WX 686 ; N Ifraktur ; B 0 -15 599 677 ; -C 194 ; WX 795 ; N Rfraktur ; B 0 -21 702 686 ; -C 195 ; WX 987 ; N weierstrass ; B 0 -216 653 517 ; -C 196 ; WX 768 ; N circlemultiply ; B 0 -15 692 677 ; -C 197 ; WX 768 ; N circleplus ; B 0 -15 692 677 ; -C 198 ; WX 823 ; N emptyset ; B 0 -23 737 713 ; -C 199 ; WX 768 ; N intersection ; B 0 0 692 499 ; -C 200 ; WX 768 ; N union ; B 38 0 730 499 ; -C 201 ; WX 713 ; N propersuperset ; B 0 0 657 447 ; -C 202 ; WX 713 ; N reflexsuperset ; B 0 -143 657 447 ; -C 203 ; WX 713 ; N notsubset ; B 0 -76 657 525 ; -C 204 ; WX 713 ; N propersubset ; B 29 0 686 447 ; -C 205 ; WX 713 ; N reflexsubset ; B 28 -143 686 447 ; -C 206 ; WX 713 ; N element ; B 0 0 455 447 ; -C 207 ; WX 713 ; N notelement ; B 0 -70 455 525 ; -C 208 ; WX 768 ; N angle ; B 0 0 688 677 ; -C 209 ; WX 713 ; N gradient ; B 0 -15 642 662 ; -C 210 ; WX 790 ; N registerserif ; B 0 -16 693 678 ; -C 211 ; WX 790 ; N copyrightserif ; B 0 -16 693 678 ; -C 212 ; WX 890 ; N trademarkserif ; B 0 289 839 662 ; -C 213 ; WX 823 ; N product ; B 0 -100 778 740 ; -C 214 ; WX 549 ; N radical ; B 0 -38 508 913 ; -C 215 ; WX 250 ; N dotmath ; B 0 202 108 310 ; -C 216 ; WX 713 ; N logicalnot ; B 0 0 644 276 ; -C 217 ; WX 603 ; N logicaland ; B 0 0 557 447 ; -C 218 ; WX 603 ; N logicalor ; B 23 0 581 447 ; -C 219 ; WX 1042 ; N arrowdblboth ; B 0 -14 1002 498 ; -C 220 ; WX 987 ; N arrowdblleft ; B 0 -14 913 498 ; -C 221 ; WX 603 ; N arrowdblup ; B 0 -14 512 899 ; -C 222 ; WX 987 ; N arrowdblright ; B 37 -14 950 498 ; -C 223 ; WX 603 ; N arrowdbldown ; B 45 -14 557 899 ; -C 224 ; WX 494 ; N lozenge ; B 0 0 449 694 ; -C 225 ; WX 329 ; N angleleft ; B 0 -184 267 694 ; -C 226 ; WX 790 ; N registersans ; B 0 -16 693 678 ; -C 227 ; WX 790 ; N copyrightsans ; B 0 -16 693 678 ; -C 228 ; WX 786 ; N trademarksans ; B 0 290 717 662 ; -C 229 ; WX 713 ; N summation ; B 0 -100 672 741 ; -C 230 ; WX 384 ; N parenlefttp ; B 41 -81 437 926 ; -C 231 ; WX 384 ; N parenleftex ; B 41 -81 88 926 ; -C 232 ; WX 384 ; N parenleftbt ; B 41 -81 437 926 ; -C 233 ; WX 384 ; N bracketlefttp ; B 0 -81 343 926 ; -C 234 ; WX 384 ; N bracketleftex ; B 0 -81 47 926 ; -C 235 ; WX 384 ; N bracketleftbt ; B 0 -81 343 926 ; -C 236 ; WX 494 ; N bracelefttp ; B 0 -82 239 926 ; -C 237 ; WX 494 ; N braceleftmid ; B 0 -81 239 926 ; -C 238 ; WX 494 ; N braceleftbt ; B 205 -82 444 926 ; -C 239 ; WX 494 ; N braceex ; B 0 -81 47 926 ; -C 240 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C 241 ; WX 329 ; N angleright ; B 30 -184 297 694 ; -C 242 ; WX 274 ; N integral ; B 0 -107 273 910 ; -C 243 ; WX 686 ; N integraltp ; B 0 -82 382 926 ; -C 244 ; WX 686 ; N integralex ; B 0 -89 84 970 ; -C 245 ; WX 686 ; N integralbt ; B 33 -82 415 926 ; -C 246 ; WX 384 ; N parenrighttp ; B 54 -81 451 926 ; -C 247 ; WX 384 ; N parenrightex ; B 403 -81 451 926 ; -C 248 ; WX 384 ; N parenrightbt ; B 54 -81 451 926 ; -C 249 ; WX 384 ; N bracketrighttp ; B 17 -81 360 926 ; -C 250 ; WX 384 ; N bracketrightex ; B 0 -81 47 926 ; -C 251 ; WX 384 ; N bracketrightbt ; B 17 -81 360 926 ; -C 252 ; WX 494 ; N bracerighttp ; B 14 -82 253 926 ; -C 253 ; WX 494 ; N bracerightmid ; B 205 -81 444 926 ; -C 254 ; WX 494 ; N bracerightbt ; B 14 -82 253 926 ; -C 255 ; WX 600 ; N .notdef ; B 125 0 625 625 ; -C -1 ; WX 0 ; N .null ; B 0 -14 110 677 ; -C -1 ; WX 122 ; N _d_2 ; B 0 -14 110 677 ; -C -1 ; WX 790 ; N dummy ; B 0 -15 674 779 ; -EndCharMetrics -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/symbol.ttf b/thirdparty/html2ps_pdf/fonts/symbol.ttf deleted file mode 100644 index 8faf8a340..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/symbol.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/times.afm b/thirdparty/html2ps_pdf/fonts/times.afm deleted file mode 100644 index 4aaf52826..000000000 --- a/thirdparty/html2ps_pdf/fonts/times.afm +++ /dev/null @@ -1,2599 +0,0 @@ -StartFontMetrics 4.1 -FontName TimesNewRomanPSMT -FullName Times New Roman -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Times New Roman -Weight Regular -Version Version 3.00 -Characters 1674 -ItalicAngle 0.0 -Ascender 891 -Descender -216 -UnderlineThickness 49 -UnderlinePosition -109 -IsFixedPitch false -FontBBox -568 -307 2000 1007 -StartCharMetrics 1709 -C 0 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 1 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 2 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 3 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 4 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 5 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 6 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 7 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 8 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 9 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 10 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 11 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 12 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 13 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 14 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 15 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 16 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 17 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 18 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 19 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 20 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 21 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 22 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 23 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 24 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 25 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 26 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 27 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 28 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 29 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 30 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 31 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 32 ; WX 250 ; N space ; B 111 -14 222 677 ; -C 33 ; WX 333 ; N exclam ; B 111 -14 222 677 ; -C 34 ; WX 408 ; N quotedbl ; B 65 392 342 677 ; -C 35 ; WX 500 ; N numbersign ; B 18 -14 482 677 ; -C 36 ; WX 500 ; N dollar ; B 53 -76 450 718 ; -C 37 ; WX 833 ; N percent ; B 35 -27 798 677 ; -C 38 ; WX 778 ; N ampersand ; B 37 -15 748 677 ; -C 39 ; WX 180 ; N quotesingle ; B 40 392 138 677 ; -C 40 ; WX 333 ; N parenleft ; B 41 -214 311 694 ; -C 41 ; WX 333 ; N parenright ; B 22 -214 292 694 ; -C 42 ; WX 500 ; N asterisk ; B 71 289 430 694 ; -C 43 ; WX 564 ; N plus ; B 18 69 544 595 ; -C 44 ; WX 250 ; N comma ; B 54 -167 199 98 ; -C 45 ; WX 333 ; N hyphen ; B 41 188 293 261 ; -C 46 ; WX 250 ; N period ; B 71 -14 179 95 ; -C 47 ; WX 278 ; N slash ; B 1 -14 280 694 ; -C 48 ; WX 500 ; N zero ; B 36 -12 464 676 ; -C 49 ; WX 500 ; N one ; B 117 0 378 676 ; -C 50 ; WX 500 ; N two ; B 21 0 458 676 ; -C 51 ; WX 500 ; N three ; B 41 -12 417 676 ; -C 52 ; WX 500 ; N four ; B 16 0 465 676 ; -C 53 ; WX 500 ; N five ; B 48 -12 434 662 ; -C 54 ; WX 500 ; N six ; B 43 -12 461 676 ; -C 55 ; WX 500 ; N seven ; B 37 -14 456 662 ; -C 56 ; WX 500 ; N eight ; B 61 -12 442 676 ; -C 57 ; WX 500 ; N nine ; B 40 -14 457 676 ; -C 58 ; WX 278 ; N colon ; B 86 -14 195 461 ; -C 59 ; WX 278 ; N semicolon ; B 69 -167 215 461 ; -C 60 ; WX 564 ; N less ; B 19 91 544 572 ; -C 61 ; WX 564 ; N equal ; B 18 232 545 431 ; -C 62 ; WX 564 ; N greater ; B 18 91 543 572 ; -C 63 ; WX 444 ; N question ; B 45 -13 404 677 ; -C 64 ; WX 921 ; N at ; B 47 -216 896 694 ; -C 65 ; WX 722 ; N A ; B 8 0 711 677 ; -C 66 ; WX 667 ; N B ; B 17 0 612 662 ; -C 67 ; WX 667 ; N C ; B 36 -15 632 677 ; -C 68 ; WX 722 ; N D ; B 17 0 684 662 ; -C 69 ; WX 611 ; N E ; B 21 0 588 662 ; -C 70 ; WX 556 ; N F ; B 16 0 515 662 ; -C 71 ; WX 722 ; N G ; B 35 -15 708 677 ; -C 72 ; WX 722 ; N H ; B 17 0 702 662 ; -C 73 ; WX 333 ; N I ; B 25 0 309 662 ; -C 74 ; WX 389 ; N J ; B 21 -15 383 662 ; -C 75 ; WX 722 ; N K ; B 17 0 730 662 ; -C 76 ; WX 611 ; N L ; B 20 0 589 662 ; -C 77 ; WX 889 ; N M ; B 17 0 868 662 ; -C 78 ; WX 722 ; N N ; B -13 -11 708 662 ; -C 79 ; WX 722 ; N O ; B 35 -15 684 677 ; -C 80 ; WX 556 ; N P ; B 17 0 521 662 ; -C 81 ; WX 722 ; N Q ; B 35 -196 684 677 ; -C 82 ; WX 667 ; N R ; B 17 0 676 662 ; -C 83 ; WX 556 ; N S ; B 63 -15 502 677 ; -C 84 ; WX 611 ; N T ; B 30 0 586 662 ; -C 85 ; WX 722 ; N U ; B 5 -16 711 662 ; -C 86 ; WX 722 ; N V ; B 9 -15 710 662 ; -C 87 ; WX 944 ; N W ; B 13 -15 936 662 ; -C 88 ; WX 722 ; N X ; B 7 0 710 662 ; -C 89 ; WX 722 ; N Y ; B 9 0 708 662 ; -C 90 ; WX 611 ; N Z ; B 13 0 583 662 ; -C 91 ; WX 333 ; N bracketleft ; B 82 -198 297 677 ; -C 92 ; WX 278 ; N backslash ; B 1 -14 280 694 ; -C 93 ; WX 333 ; N bracketright ; B 37 -199 251 677 ; -C 94 ; WX 469 ; N asciicircum ; B 18 326 451 676 ; -C 95 ; WX 500 ; N underscore ; B -8 -216 509 -175 ; -C 96 ; WX 333 ; N grave ; B 58 510 218 679 ; -C 97 ; WX 444 ; N a ; B 36 -9 442 460 ; -C 98 ; WX 500 ; N b ; B -2 -14 465 694 ; -C 99 ; WX 444 ; N c ; B 34 -14 411 460 ; -C 100 ; WX 500 ; N d ; B 33 -14 502 694 ; -C 101 ; WX 444 ; N e ; B 37 -14 416 461 ; -C 102 ; WX 333 ; N f ; B 39 0 435 693 ; -C 103 ; WX 500 ; N g ; B 30 -216 482 460 ; -C 104 ; WX 500 ; N h ; B 6 0 494 694 ; -C 105 ; WX 278 ; N i ; B 29 0 253 694 ; -C 106 ; WX 278 ; N j ; B -77 -216 195 695 ; -C 107 ; WX 500 ; N k ; B 8 0 506 694 ; -C 108 ; WX 278 ; N l ; B 30 0 257 694 ; -C 109 ; WX 778 ; N m ; B 8 0 773 460 ; -C 110 ; WX 500 ; N n ; B 6 0 496 460 ; -C 111 ; WX 500 ; N o ; B 34 -14 465 460 ; -C 112 ; WX 500 ; N p ; B -3 -214 466 460 ; -C 113 ; WX 500 ; N q ; B 33 -214 500 460 ; -C 114 ; WX 333 ; N r ; B 6 0 339 460 ; -C 115 ; WX 389 ; N s ; B 49 -14 354 460 ; -C 116 ; WX 278 ; N t ; B 10 -7 279 594 ; -C 117 ; WX 500 ; N u ; B 1 -14 499 447 ; -C 118 ; WX 500 ; N v ; B 8 -14 491 447 ; -C 119 ; WX 722 ; N w ; B 6 -14 713 447 ; -C 120 ; WX 500 ; N x ; B 13 0 488 447 ; -C 121 ; WX 500 ; N y ; B 6 -216 494 447 ; -C 122 ; WX 444 ; N z ; B 20 0 428 447 ; -C 123 ; WX 480 ; N braceleft ; B 138 -216 411 694 ; -C 124 ; WX 200 ; N bar ; B 79 -216 119 694 ; -C 125 ; WX 480 ; N braceright ; B 86 -216 359 694 ; -C 126 ; WX 541 ; N asciitilde ; B 21 194 542 331 ; -C 127 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 128 ; WX 500 ; N Euro ; B -11 -12 482 676 ; -C 129 ; WX 578 ; N afii10052 ; B 18 0 552 896 ; -C 130 ; WX 333 ; N quotesinglbase ; B 99 -167 245 98 ; -C 131 ; WX 500 ; N florin ; B 1 -210 488 677 ; -C 132 ; WX 444 ; N quotedblbase ; B 33 -154 416 98 ; -C 133 ; WX 1000 ; N ellipsis ; B 112 -14 888 95 ; -C 134 ; WX 500 ; N dagger ; B 49 -206 451 685 ; -C 135 ; WX 500 ; N daggerdbl ; B 68 -216 432 694 ; -C 136 ; WX 333 ; N circumflex ; B 29 515 304 676 ; -C 137 ; WX 1000 ; N perthousand ; B 32 -27 967 677 ; -C 138 ; WX 556 ; N Scaron ; B 63 -15 502 875 ; -C 139 ; WX 333 ; N guilsinglleft ; B 58 -4 275 456 ; -C 140 ; WX 889 ; N OE ; B 37 -8 861 668 ; -C 141 ; WX 667 ; N afii10061 ; B 18 0 664 877 ; -C 142 ; WX 611 ; N Zcaron ; B 13 0 583 875 ; -C 143 ; WX 722 ; N afii10145 ; B 18 -190 704 662 ; -C 144 ; WX 444 ; N quotedblbase ; B 33 -154 416 98 ; -C 145 ; WX 333 ; N quoteleft ; B 90 424 239 677 ; -C 146 ; WX 333 ; N quoteright ; B 94 424 243 677 ; -C 147 ; WX 444 ; N quotedblleft ; B 33 425 416 677 ; -C 148 ; WX 444 ; N quotedblright ; B 33 425 416 677 ; -C 149 ; WX 350 ; N bullet ; B 55 208 300 453 ; -C 150 ; WX 500 ; N endash ; B -9 221 508 257 ; -C 151 ; WX 1000 ; N emdash ; B -9 221 1009 257 ; -C 152 ; WX 333 ; N tilde ; B 11 534 323 662 ; -C 153 ; WX 980 ; N trademark ; B 15 268 963 662 ; -C 154 ; WX 389 ; N scaron ; B 49 -14 354 676 ; -C 155 ; WX 333 ; N guilsinglright ; B 56 -4 277 456 ; -C 156 ; WX 722 ; N oe ; B 33 -14 691 461 ; -C 157 ; WX 486 ; N afii10109 ; B 22 0 480 679 ; -C 158 ; WX 444 ; N zcaron ; B 20 0 428 676 ; -C 159 ; WX 722 ; N Ydieresis ; B 9 0 708 834 ; -C 160 ; WX 250 ; N space ; B 111 -14 222 677 ; -C 161 ; WX 333 ; N exclamdown ; B 111 -216 222 476 ; -C 162 ; WX 500 ; N cent ; B 63 -185 439 647 ; -C 163 ; WX 500 ; N sterling ; B 30 -12 477 676 ; -C 164 ; WX 500 ; N currency ; B 13 97 486 567 ; -C 165 ; WX 500 ; N yen ; B 1 0 500 662 ; -C 166 ; WX 200 ; N brokenbar ; B 79 -216 119 694 ; -C 167 ; WX 500 ; N section ; B 76 -195 424 676 ; -C 168 ; WX 333 ; N dieresis ; B 28 547 306 653 ; -C 169 ; WX 760 ; N copyright ; B 34 -15 727 677 ; -C 170 ; WX 276 ; N ordfeminine ; B -3 382 274 676 ; -C 171 ; WX 500 ; N guillemotleft ; B 31 -4 469 456 ; -C 172 ; WX 564 ; N logicalnot ; B 18 230 545 429 ; -C 173 ; WX 333 ; N hyphen ; B 41 188 293 261 ; -C 174 ; WX 760 ; N registered ; B 34 -15 727 677 ; -C 175 ; WX 500 ; N overscore ; B -8 714 509 755 ; -C 176 ; WX 400 ; N degree ; B 48 376 348 677 ; -C 177 ; WX 549 ; N plusminus ; B 11 69 538 595 ; -C 178 ; WX 300 ; N twosuperior ; B 10 324 281 676 ; -C 179 ; WX 300 ; N threesuperior ; B 21 317 255 676 ; -C 180 ; WX 333 ; N acute ; B 115 510 276 679 ; -C 181 ; WX 576 ; N mu1 ; B 65 -216 534 447 ; -C 182 ; WX 453 ; N paragraph ; B -7 -216 455 662 ; -C 183 ; WX 250 ; N periodcentered ; B 71 277 179 385 ; -C 184 ; WX 333 ; N cedilla ; B 91 -190 242 8 ; -C 185 ; WX 300 ; N onesuperior ; B 66 324 233 676 ; -C 186 ; WX 310 ; N ordmasculine ; B 14 384 298 676 ; -C 187 ; WX 500 ; N guillemotright ; B 31 -4 469 456 ; -C 188 ; WX 750 ; N onequarter ; B 65 -26 733 676 ; -C 189 ; WX 750 ; N onehalf ; B 65 -26 729 676 ; -C 190 ; WX 750 ; N threequarters ; B 21 -26 733 676 ; -C 191 ; WX 444 ; N questiondown ; B 43 -216 402 476 ; -C 192 ; WX 722 ; N Agrave ; B 8 0 711 877 ; -C 193 ; WX 722 ; N Aacute ; B 8 0 711 877 ; -C 194 ; WX 722 ; N Acircumflex ; B 8 0 711 875 ; -C 195 ; WX 722 ; N Atilde ; B 8 0 711 842 ; -C 196 ; WX 722 ; N Adieresis ; B 8 0 711 834 ; -C 197 ; WX 722 ; N Aring ; B 8 0 711 831 ; -C 198 ; WX 889 ; N AE ; B -12 0 861 662 ; -C 199 ; WX 667 ; N Ccedilla ; B 36 -190 632 677 ; -C 200 ; WX 611 ; N Egrave ; B 21 0 588 877 ; -C 201 ; WX 611 ; N Eacute ; B 21 0 588 877 ; -C 202 ; WX 611 ; N Ecircumflex ; B 21 0 588 875 ; -C 203 ; WX 611 ; N Edieresis ; B 21 0 588 834 ; -C 204 ; WX 333 ; N Igrave ; B 25 0 309 877 ; -C 205 ; WX 333 ; N Iacute ; B 25 0 309 877 ; -C 206 ; WX 333 ; N Icircumflex ; B 25 0 309 875 ; -C 207 ; WX 333 ; N Idieresis ; B 25 0 309 834 ; -C 208 ; WX 722 ; N Eth ; B 17 0 684 662 ; -C 209 ; WX 722 ; N Ntilde ; B -13 -11 708 842 ; -C 210 ; WX 722 ; N Ograve ; B 35 -15 684 877 ; -C 211 ; WX 722 ; N Oacute ; B 35 -15 684 877 ; -C 212 ; WX 722 ; N Ocircumflex ; B 35 -15 684 875 ; -C 213 ; WX 722 ; N Otilde ; B 35 -15 684 842 ; -C 214 ; WX 722 ; N Odieresis ; B 35 -15 684 834 ; -C 215 ; WX 564 ; N multiply ; B 81 132 481 533 ; -C 216 ; WX 722 ; N Oslash ; B 36 -23 684 684 ; -C 217 ; WX 722 ; N Ugrave ; B 5 -16 711 877 ; -C 218 ; WX 722 ; N Uacute ; B 5 -16 711 877 ; -C 219 ; WX 722 ; N Ucircumflex ; B 5 -16 711 875 ; -C 220 ; WX 722 ; N Udieresis ; B 5 -16 711 834 ; -C 221 ; WX 722 ; N Yacute ; B 9 0 708 877 ; -C 222 ; WX 556 ; N Thorn ; B 18 0 518 662 ; -C 223 ; WX 500 ; N germandbls ; B 17 -6 468 694 ; -C 224 ; WX 444 ; N agrave ; B 36 -9 442 679 ; -C 225 ; WX 444 ; N aacute ; B 36 -9 442 679 ; -C 226 ; WX 444 ; N acircumflex ; B 36 -9 442 676 ; -C 227 ; WX 444 ; N atilde ; B 36 -9 442 662 ; -C 228 ; WX 444 ; N adieresis ; B 36 -9 442 653 ; -C 229 ; WX 444 ; N aring ; B 36 -9 442 696 ; -C 230 ; WX 667 ; N ae ; B 36 -14 637 461 ; -C 231 ; WX 444 ; N ccedilla ; B 34 -190 411 460 ; -C 232 ; WX 444 ; N egrave ; B 37 -14 416 679 ; -C 233 ; WX 444 ; N eacute ; B 37 -14 416 679 ; -C 234 ; WX 444 ; N ecircumflex ; B 37 -14 416 676 ; -C 235 ; WX 444 ; N edieresis ; B 37 -14 416 652 ; -C 236 ; WX 278 ; N igrave ; B 29 0 253 679 ; -C 237 ; WX 278 ; N iacute ; B 29 0 253 679 ; -C 238 ; WX 278 ; N icircumflex ; B 6 0 281 676 ; -C 239 ; WX 278 ; N idieresis ; B 1 0 279 652 ; -C 240 ; WX 500 ; N eth ; B 33 -14 463 694 ; -C 241 ; WX 500 ; N ntilde ; B 6 0 496 662 ; -C 242 ; WX 500 ; N ograve ; B 34 -14 465 679 ; -C 243 ; WX 500 ; N oacute ; B 34 -14 465 679 ; -C 244 ; WX 500 ; N ocircumflex ; B 34 -14 465 676 ; -C 245 ; WX 500 ; N otilde ; B 34 -14 465 662 ; -C 246 ; WX 500 ; N odieresis ; B 34 -14 465 652 ; -C 247 ; WX 549 ; N divide ; B 11 136 538 525 ; -C 248 ; WX 500 ; N oslash ; B 19 -33 481 478 ; -C 249 ; WX 500 ; N ugrave ; B 1 -14 499 679 ; -C 250 ; WX 500 ; N uacute ; B 1 -14 499 679 ; -C 251 ; WX 500 ; N ucircumflex ; B 1 -14 499 676 ; -C 252 ; WX 500 ; N udieresis ; B 1 -14 499 652 ; -C 253 ; WX 500 ; N yacute ; B 6 -216 494 679 ; -C 254 ; WX 500 ; N thorn ; B -3 -213 466 694 ; -C 255 ; WX 500 ; N ydieresis ; B 6 -216 494 653 ; -C -1 ; WX 0 ; N .null ; B 111 -14 222 677 ; -C -1 ; WX 250 ; N nonmarkingreturn ; B 111 -14 222 677 ; -C -1 ; WX 549 ; N notequal ; B 12 -132 537 660 ; -C -1 ; WX 713 ; N infinity ; B 24 52 685 461 ; -C -1 ; WX 549 ; N lessequal ; B 12 -80 537 605 ; -C -1 ; WX 549 ; N greaterequal ; B 12 -80 537 605 ; -C -1 ; WX 494 ; N partialdiff ; B 29 -15 484 694 ; -C -1 ; WX 713 ; N summation ; B 21 -216 693 693 ; -C -1 ; WX 823 ; N product ; B 22 -216 801 693 ; -C -1 ; WX 549 ; N pi1 ; B 30 -14 500 447 ; -C -1 ; WX 274 ; N integral ; B -1 -107 272 910 ; -C -1 ; WX 768 ; N Ohm ; B 35 0 734 675 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 15 133 535 508 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -167 -26 333 676 ; -C -1 ; WX 556 ; N fi ; B 12 0 530 694 ; -C -1 ; WX 556 ; N fl ; B 11 0 531 694 ; -C -1 ; WX 278 ; N dotlessi ; B 29 0 253 460 ; -C -1 ; WX 333 ; N macron ; B 11 598 323 661 ; -C -1 ; WX 333 ; N breve ; B 27 526 306 663 ; -C -1 ; WX 333 ; N dotaccent ; B 114 546 220 653 ; -C -1 ; WX 333 ; N ring ; B 73 508 260 695 ; -C -1 ; WX 333 ; N hungarumlaut ; B 38 510 314 679 ; -C -1 ; WX 333 ; N ogonek ; B 72 -177 297 8 ; -C -1 ; WX 333 ; N caron ; B 29 515 304 676 ; -C -1 ; WX 611 ; N Lslash ; B 11 0 585 662 ; -C -1 ; WX 278 ; N lslash ; B 15 0 269 694 ; -C -1 ; WX 564 ; N minus ; B 18 313 544 353 ; -C -1 ; WX 500 ; N franc ; B 16 0 463 662 ; -C -1 ; WX 722 ; N Gbreve ; B 35 -15 708 857 ; -C -1 ; WX 500 ; N gbreve ; B 30 -216 482 663 ; -C -1 ; WX 333 ; N Idot ; B 25 0 309 834 ; -C -1 ; WX 556 ; N Scedilla ; B 63 -190 502 677 ; -C -1 ; WX 389 ; N scedilla ; B 49 -190 354 460 ; -C -1 ; WX 667 ; N Cacute ; B 36 -15 632 877 ; -C -1 ; WX 444 ; N cacute ; B 34 -14 411 679 ; -C -1 ; WX 667 ; N Ccaron ; B 36 -15 632 875 ; -C -1 ; WX 444 ; N ccaron ; B 34 -14 411 676 ; -C -1 ; WX 500 ; N dmacron ; B 19 -14 488 694 ; -C -1 ; WX 333 ; N middot ; B 242 292 344 395 ; -C -1 ; WX 722 ; N Abreve ; B 8 0 711 859 ; -C -1 ; WX 444 ; N abreve ; B 36 -9 442 663 ; -C -1 ; WX 722 ; N Aogonek ; B 8 -177 726 677 ; -C -1 ; WX 444 ; N aogonek ; B 36 -177 504 460 ; -C -1 ; WX 722 ; N Dcaron ; B 17 0 684 875 ; -C -1 ; WX 646 ; N dcaron ; B 33 -14 638 694 ; -C -1 ; WX 722 ; N Dslash ; B 17 0 684 662 ; -C -1 ; WX 611 ; N Eogonek ; B 21 -177 588 662 ; -C -1 ; WX 444 ; N eogonek ; B 37 -177 463 461 ; -C -1 ; WX 611 ; N Ecaron ; B 21 0 588 875 ; -C -1 ; WX 444 ; N ecaron ; B 37 -14 416 676 ; -C -1 ; WX 611 ; N Lacute ; B 20 0 589 877 ; -C -1 ; WX 278 ; N lacute ; B 30 0 257 877 ; -C -1 ; WX 611 ; N Lcaron ; B 20 0 589 677 ; -C -1 ; WX 406 ; N lcaron ; B 29 0 397 694 ; -C -1 ; WX 611 ; N Ldot ; B 20 0 589 662 ; -C -1 ; WX 344 ; N ldot ; B 30 0 350 694 ; -C -1 ; WX 722 ; N Nacute ; B -13 -11 708 877 ; -C -1 ; WX 500 ; N nacute ; B 6 0 496 679 ; -C -1 ; WX 722 ; N Ncaron ; B -13 -11 708 875 ; -C -1 ; WX 500 ; N ncaron ; B 6 0 496 676 ; -C -1 ; WX 722 ; N Odblacute ; B 35 -15 684 877 ; -C -1 ; WX 500 ; N odblacute ; B 34 -14 465 679 ; -C -1 ; WX 667 ; N Racute ; B 17 0 676 877 ; -C -1 ; WX 333 ; N racute ; B 6 0 339 679 ; -C -1 ; WX 667 ; N Rcaron ; B 17 0 676 875 ; -C -1 ; WX 333 ; N rcaron ; B 6 0 339 676 ; -C -1 ; WX 556 ; N Sacute ; B 63 -15 502 877 ; -C -1 ; WX 389 ; N sacute ; B 49 -14 354 679 ; -C -1 ; WX 611 ; N Tcedilla ; B 30 -226 586 662 ; -C -1 ; WX 278 ; N tcedilla ; B 10 -226 279 594 ; -C -1 ; WX 611 ; N Tcaron ; B 30 0 586 875 ; -C -1 ; WX 427 ; N tcaron ; B 9 -7 418 694 ; -C -1 ; WX 722 ; N Uring ; B 5 -16 711 886 ; -C -1 ; WX 500 ; N uring ; B 1 -14 499 695 ; -C -1 ; WX 722 ; N Udblacute ; B 5 -16 711 877 ; -C -1 ; WX 500 ; N udblacute ; B 1 -14 499 679 ; -C -1 ; WX 611 ; N Zacute ; B 13 0 583 877 ; -C -1 ; WX 444 ; N zacute ; B 20 0 428 679 ; -C -1 ; WX 611 ; N Zdot ; B 13 0 583 834 ; -C -1 ; WX 444 ; N zdot ; B 20 0 428 653 ; -C -1 ; WX 578 ; N Gamma ; B 18 0 552 662 ; -C -1 ; WX 722 ; N Theta ; B 37 -15 686 677 ; -C -1 ; WX 731 ; N Phi ; B 35 0 696 662 ; -C -1 ; WX 524 ; N alpha ; B 42 -14 517 460 ; -C -1 ; WX 471 ; N delta ; B 34 -14 437 693 ; -C -1 ; WX 420 ; N epsilon ; B 35 -14 403 460 ; -C -1 ; WX 539 ; N sigma ; B 34 -14 519 447 ; -C -1 ; WX 402 ; N tau ; B 6 -14 382 447 ; -C -1 ; WX 577 ; N phi ; B 34 -214 543 460 ; -C -1 ; WX 500 ; N underscoredbl ; B -8 -216 509 -98 ; -C -1 ; WX 573 ; N exclamdbl ; B 111 -14 461 677 ; -C -1 ; WX 315 ; N nsuperior ; B 1 278 313 557 ; -C -1 ; WX 969 ; N peseta ; B 21 -13 956 662 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 722 ; N intersection ; B 94 0 625 676 ; -C -1 ; WX 564 ; N equivalence ; B 19 152 545 511 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 564 ; N revlogicalnot ; B 19 230 546 429 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 708 ; N SF110000 ; B 219 -303 304 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 838 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 708 ; N IJ ; B 25 -15 706 662 ; -C -1 ; WX 552 ; N ij ; B 29 -216 472 695 ; -C -1 ; WX 604 ; N napostrophe ; B 1 0 601 677 ; -C -1 ; WX 219 ; N minute ; B 67 392 197 677 ; -C -1 ; WX 417 ; N second ; B 79 392 376 677 ; -C -1 ; WX 833 ; N afii61248 ; B 25 -27 808 677 ; -C -1 ; WX 479 ; N afii61289 ; B 49 -14 436 677 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 64 217 290 444 ; -C -1 ; WX 354 ; N H18551 ; B 64 217 290 444 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 55 208 300 453 ; -C -1 ; WX 722 ; N Amacron ; B 8 0 711 799 ; -C -1 ; WX 444 ; N amacron ; B 36 -9 442 609 ; -C -1 ; WX 667 ; N Ccircumflex ; B 36 -15 632 890 ; -C -1 ; WX 444 ; N ccircumflex ; B 34 -14 411 676 ; -C -1 ; WX 667 ; N Cdot ; B 36 -15 632 834 ; -C -1 ; WX 444 ; N cdot ; B 34 -14 411 653 ; -C -1 ; WX 611 ; N Emacron ; B 21 0 588 799 ; -C -1 ; WX 444 ; N emacron ; B 37 -14 416 609 ; -C -1 ; WX 611 ; N Ebreve ; B 21 0 588 864 ; -C -1 ; WX 444 ; N ebreve ; B 37 -14 416 663 ; -C -1 ; WX 611 ; N Edot ; B 21 0 588 834 ; -C -1 ; WX 444 ; N edot ; B 37 -14 416 653 ; -C -1 ; WX 722 ; N Gcircumflex ; B 35 -15 708 890 ; -C -1 ; WX 500 ; N gcircumflex ; B 30 -216 482 676 ; -C -1 ; WX 722 ; N Gdot ; B 35 -15 708 834 ; -C -1 ; WX 500 ; N gdot ; B 30 -216 482 653 ; -C -1 ; WX 722 ; N Gcedilla ; B 35 -190 708 677 ; -C -1 ; WX 500 ; N gcedilla ; B 30 -216 482 729 ; -C -1 ; WX 722 ; N Hcircumflex ; B 17 0 702 890 ; -C -1 ; WX 500 ; N hcircumflex ; B 6 0 494 890 ; -C -1 ; WX 722 ; N Hbar ; B 17 0 702 662 ; -C -1 ; WX 500 ; N hbar ; B 6 0 494 694 ; -C -1 ; WX 333 ; N Itilde ; B 11 0 323 854 ; -C -1 ; WX 278 ; N itilde ; B -17 0 296 662 ; -C -1 ; WX 333 ; N Imacron ; B 11 0 323 799 ; -C -1 ; WX 278 ; N imacron ; B -21 0 291 609 ; -C -1 ; WX 333 ; N Ibreve ; B 25 0 309 864 ; -C -1 ; WX 278 ; N ibreve ; B -1 0 278 663 ; -C -1 ; WX 333 ; N Iogonek ; B 25 -177 333 662 ; -C -1 ; WX 278 ; N iogonek ; B 29 -177 317 694 ; -C -1 ; WX 389 ; N Jcircumflex ; B 21 -15 383 890 ; -C -1 ; WX 278 ; N jcircumflex ; B -77 -216 276 676 ; -C -1 ; WX 722 ; N Kcedilla ; B 17 -191 730 662 ; -C -1 ; WX 500 ; N kcedilla ; B 8 -191 506 694 ; -C -1 ; WX 500 ; N kgreenlandic ; B 8 0 506 447 ; -C -1 ; WX 611 ; N Lcedilla ; B 20 -191 589 662 ; -C -1 ; WX 278 ; N lcedilla ; B 30 -191 257 694 ; -C -1 ; WX 722 ; N Ncedilla ; B -13 -191 708 662 ; -C -1 ; WX 500 ; N ncedilla ; B 6 -191 496 460 ; -C -1 ; WX 702 ; N Eng ; B 19 -15 656 677 ; -C -1 ; WX 495 ; N eng ; B 6 -216 427 460 ; -C -1 ; WX 722 ; N Omacron ; B 35 -15 684 799 ; -C -1 ; WX 500 ; N omacron ; B 34 -14 465 609 ; -C -1 ; WX 722 ; N Obreve ; B 35 -15 684 864 ; -C -1 ; WX 500 ; N obreve ; B 34 -14 465 663 ; -C -1 ; WX 667 ; N Rcedilla ; B 17 -191 676 662 ; -C -1 ; WX 333 ; N rcedilla ; B 6 -191 339 460 ; -C -1 ; WX 556 ; N Scircumflex ; B 63 -15 502 890 ; -C -1 ; WX 389 ; N scircumflex ; B 49 -14 354 676 ; -C -1 ; WX 611 ; N Tbar ; B 29 0 584 662 ; -C -1 ; WX 278 ; N tbar ; B 8 -7 277 594 ; -C -1 ; WX 722 ; N Utilde ; B 5 -16 711 856 ; -C -1 ; WX 500 ; N utilde ; B 1 -14 499 662 ; -C -1 ; WX 722 ; N Umacron ; B 6 -16 712 799 ; -C -1 ; WX 500 ; N umacron ; B 1 -14 499 609 ; -C -1 ; WX 722 ; N Ubreve ; B 6 -16 712 864 ; -C -1 ; WX 500 ; N ubreve ; B 1 -14 499 663 ; -C -1 ; WX 722 ; N Uogonek ; B 5 -177 711 662 ; -C -1 ; WX 500 ; N uogonek ; B 1 -177 544 447 ; -C -1 ; WX 944 ; N Wcircumflex ; B 13 -15 936 890 ; -C -1 ; WX 722 ; N wcircumflex ; B 6 -14 713 676 ; -C -1 ; WX 722 ; N Ycircumflex ; B 9 0 708 890 ; -C -1 ; WX 500 ; N ycircumflex ; B 6 -216 494 676 ; -C -1 ; WX 278 ; N longs ; B 11 0 404 693 ; -C -1 ; WX 722 ; N Aringacute ; B 8 0 711 1007 ; -C -1 ; WX 444 ; N aringacute ; B 36 -9 442 896 ; -C -1 ; WX 889 ; N AEacute ; B -12 0 861 896 ; -C -1 ; WX 667 ; N aeacute ; B 36 -14 637 679 ; -C -1 ; WX 722 ; N Oslashacute ; B 36 -23 684 896 ; -C -1 ; WX 500 ; N oslashacute ; B 19 -33 481 679 ; -C -1 ; WX 278 ; N anoteleia ; B 87 353 195 461 ; -C -1 ; WX 944 ; N Wgrave ; B 13 -15 936 896 ; -C -1 ; WX 722 ; N wgrave ; B 6 -14 713 679 ; -C -1 ; WX 944 ; N Wacute ; B 13 -15 936 896 ; -C -1 ; WX 722 ; N wacute ; B 6 -14 713 679 ; -C -1 ; WX 944 ; N Wdieresis ; B 13 -15 936 834 ; -C -1 ; WX 722 ; N wdieresis ; B 6 -14 713 653 ; -C -1 ; WX 722 ; N Ygrave ; B 9 0 708 896 ; -C -1 ; WX 500 ; N ygrave ; B 6 -216 494 679 ; -C -1 ; WX 333 ; N quotereversed ; B 90 424 239 677 ; -C -1 ; WX 333 ; N radicalex ; B -18 546 352 609 ; -C -1 ; WX 500 ; N afii08941 ; B 30 -12 477 676 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 750 ; N oneeighth ; B 65 -26 719 676 ; -C -1 ; WX 750 ; N threeeighths ; B 21 -26 719 676 ; -C -1 ; WX 750 ; N fiveeighths ; B 24 -26 719 676 ; -C -1 ; WX 750 ; N seveneighths ; B 18 -26 719 676 ; -C -1 ; WX 333 ; N commaaccent ; B 95 -227 211 -43 ; -C -1 ; WX 333 ; N undercommaaccent ; B 91 -191 242 -29 ; -C -1 ; WX 333 ; N tonos ; B 115 510 276 679 ; -C -1 ; WX 333 ; N dieresistonos ; B -11 510 344 679 ; -C -1 ; WX 722 ; N Alphatonos ; B 8 0 711 679 ; -C -1 ; WX 694 ; N Epsilontonos ; B -80 0 670 679 ; -C -1 ; WX 808 ; N Etatonos ; B -80 0 788 679 ; -C -1 ; WX 411 ; N Iotatonos ; B -80 0 387 679 ; -C -1 ; WX 722 ; N Omicrontonos ; B -36 -15 684 679 ; -C -1 ; WX 816 ; N Upsilontonos ; B -80 0 802 679 ; -C -1 ; WX 743 ; N Omegatonos ; B -38 0 714 679 ; -C -1 ; WX 269 ; N iotadieresistonos ; B -39 -14 316 679 ; -C -1 ; WX 722 ; N Alpha ; B 8 0 711 677 ; -C -1 ; WX 667 ; N Beta ; B 17 0 612 662 ; -C -1 ; WX 643 ; N Delta ; B 24 0 618 677 ; -C -1 ; WX 611 ; N Epsilon ; B 21 0 588 662 ; -C -1 ; WX 611 ; N Zeta ; B 13 0 583 662 ; -C -1 ; WX 722 ; N Eta ; B 17 0 702 662 ; -C -1 ; WX 333 ; N Iota ; B 25 0 309 662 ; -C -1 ; WX 722 ; N Kappa ; B 17 0 730 662 ; -C -1 ; WX 725 ; N Lambda ; B 14 0 715 677 ; -C -1 ; WX 889 ; N Mu ; B 17 0 868 662 ; -C -1 ; WX 722 ; N Nu ; B -13 -11 708 662 ; -C -1 ; WX 643 ; N Xi ; B 39 0 604 662 ; -C -1 ; WX 722 ; N Omicron ; B 35 -15 684 677 ; -C -1 ; WX 722 ; N Pi ; B 18 0 704 662 ; -C -1 ; WX 556 ; N Rho ; B 17 0 521 662 ; -C -1 ; WX 582 ; N Sigma ; B 16 0 556 662 ; -C -1 ; WX 611 ; N Tau ; B 30 0 586 662 ; -C -1 ; WX 722 ; N Upsilon ; B 9 0 708 662 ; -C -1 ; WX 722 ; N Chi ; B 7 0 710 662 ; -C -1 ; WX 738 ; N Psi ; B 12 0 727 670 ; -C -1 ; WX 743 ; N Omega ; B 29 0 714 677 ; -C -1 ; WX 333 ; N Iotadieresis ; B 25 0 309 834 ; -C -1 ; WX 722 ; N Upsilondieresis ; B 9 0 708 834 ; -C -1 ; WX 524 ; N alphatonos ; B 42 -14 517 679 ; -C -1 ; WX 420 ; N epsilontonos ; B 35 -14 403 679 ; -C -1 ; WX 523 ; N etatonos ; B 5 -214 470 679 ; -C -1 ; WX 269 ; N iotatonos ; B 18 -14 273 679 ; -C -1 ; WX 495 ; N upsilondieresistonos ; B -3 -14 457 679 ; -C -1 ; WX 509 ; N beta ; B 54 -214 476 693 ; -C -1 ; WX 442 ; N gamma ; B 0 -216 433 454 ; -C -1 ; WX 414 ; N zeta ; B 34 -216 406 691 ; -C -1 ; WX 523 ; N eta ; B 5 -214 470 460 ; -C -1 ; WX 479 ; N theta ; B 40 -14 440 693 ; -C -1 ; WX 269 ; N iota ; B 18 -14 273 460 ; -C -1 ; WX 504 ; N kappa ; B 10 0 509 460 ; -C -1 ; WX 485 ; N lambda ; B 12 -7 490 693 ; -C -1 ; WX 536 ; N mu ; B 57 -216 536 447 ; -C -1 ; WX 452 ; N nu ; B -22 -14 435 460 ; -C -1 ; WX 446 ; N xi ; B 34 -216 437 693 ; -C -1 ; WX 500 ; N omicron ; B 34 -14 465 460 ; -C -1 ; WX 499 ; N rho ; B 43 -214 465 460 ; -C -1 ; WX 396 ; N sigma1 ; B 34 -216 382 460 ; -C -1 ; WX 495 ; N upsilon ; B -3 -14 457 460 ; -C -1 ; WX 444 ; N chi ; B 12 -216 474 454 ; -C -1 ; WX 626 ; N psi ; B 14 -214 612 454 ; -C -1 ; WX 658 ; N omega ; B 37 -14 621 460 ; -C -1 ; WX 269 ; N iotadieresis ; B -5 -14 273 616 ; -C -1 ; WX 495 ; N upsilondieresis ; B -3 -14 457 616 ; -C -1 ; WX 500 ; N omicrontonos ; B 34 -14 465 679 ; -C -1 ; WX 495 ; N upsilontonos ; B -3 -14 457 679 ; -C -1 ; WX 658 ; N omegatonos ; B 37 -14 621 679 ; -C -1 ; WX 611 ; N afii10023 ; B 21 0 588 834 ; -C -1 ; WX 752 ; N afii10051 ; B 27 -8 715 662 ; -C -1 ; WX 660 ; N afii10053 ; B 37 -15 631 677 ; -C -1 ; WX 556 ; N afii10054 ; B 63 -15 502 677 ; -C -1 ; WX 333 ; N afii10055 ; B 25 0 309 662 ; -C -1 ; WX 333 ; N afii10056 ; B 25 0 309 834 ; -C -1 ; WX 389 ; N afii10057 ; B 21 -15 383 662 ; -C -1 ; WX 872 ; N afii10058 ; B 6 -8 838 662 ; -C -1 ; WX 872 ; N afii10059 ; B 19 0 839 662 ; -C -1 ; WX 741 ; N afii10060 ; B 26 0 729 662 ; -C -1 ; WX 708 ; N afii10062 ; B 13 -15 692 881 ; -C -1 ; WX 722 ; N afii10017 ; B 8 0 711 677 ; -C -1 ; WX 574 ; N afii10018 ; B 18 0 541 662 ; -C -1 ; WX 667 ; N afii10019 ; B 17 0 612 662 ; -C -1 ; WX 578 ; N afii10020 ; B 18 0 552 662 ; -C -1 ; WX 682 ; N afii10021 ; B 13 -190 664 662 ; -C -1 ; WX 611 ; N afii10022 ; B 21 0 588 662 ; -C -1 ; WX 896 ; N afii10024 ; B 9 0 887 670 ; -C -1 ; WX 501 ; N afii10025 ; B 21 -15 459 677 ; -C -1 ; WX 722 ; N afii10026 ; B 18 0 704 662 ; -C -1 ; WX 722 ; N afii10027 ; B 18 0 704 881 ; -C -1 ; WX 667 ; N afii10028 ; B 18 0 664 670 ; -C -1 ; WX 678 ; N afii10029 ; B 9 -8 660 662 ; -C -1 ; WX 889 ; N afii10030 ; B 17 0 868 662 ; -C -1 ; WX 722 ; N afii10031 ; B 17 0 702 662 ; -C -1 ; WX 722 ; N afii10032 ; B 35 -15 684 677 ; -C -1 ; WX 722 ; N afii10033 ; B 18 0 704 662 ; -C -1 ; WX 556 ; N afii10034 ; B 17 0 521 662 ; -C -1 ; WX 667 ; N afii10035 ; B 36 -15 632 677 ; -C -1 ; WX 611 ; N afii10036 ; B 30 0 586 662 ; -C -1 ; WX 708 ; N afii10037 ; B 13 -15 692 662 ; -C -1 ; WX 790 ; N afii10038 ; B 37 0 753 662 ; -C -1 ; WX 722 ; N afii10039 ; B 7 0 710 662 ; -C -1 ; WX 722 ; N afii10040 ; B 18 -190 704 662 ; -C -1 ; WX 650 ; N afii10041 ; B -3 0 632 662 ; -C -1 ; WX 1009 ; N afii10042 ; B 28 0 981 662 ; -C -1 ; WX 1009 ; N afii10043 ; B 28 -190 981 662 ; -C -1 ; WX 706 ; N afii10044 ; B 26 0 673 662 ; -C -1 ; WX 872 ; N afii10045 ; B 18 0 853 662 ; -C -1 ; WX 574 ; N afii10046 ; B 18 0 541 662 ; -C -1 ; WX 660 ; N afii10047 ; B 29 -15 624 677 ; -C -1 ; WX 1028 ; N afii10048 ; B 19 -15 991 677 ; -C -1 ; WX 667 ; N afii10049 ; B -9 0 650 662 ; -C -1 ; WX 444 ; N afii10065 ; B 36 -9 442 460 ; -C -1 ; WX 509 ; N afii10066 ; B 38 -14 482 694 ; -C -1 ; WX 472 ; N afii10067 ; B 23 0 438 447 ; -C -1 ; WX 410 ; N afii10068 ; B 15 0 404 447 ; -C -1 ; WX 509 ; N afii10069 ; B 13 -124 487 447 ; -C -1 ; WX 444 ; N afii10070 ; B 37 -14 416 461 ; -C -1 ; WX 691 ; N afii10072 ; B 11 0 680 453 ; -C -1 ; WX 395 ; N afii10073 ; B 12 -14 363 460 ; -C -1 ; WX 535 ; N afii10074 ; B 22 0 513 447 ; -C -1 ; WX 535 ; N afii10075 ; B 22 0 513 665 ; -C -1 ; WX 486 ; N afii10076 ; B 22 0 480 453 ; -C -1 ; WX 499 ; N afii10077 ; B 6 -8 477 447 ; -C -1 ; WX 633 ; N afii10078 ; B 22 0 611 447 ; -C -1 ; WX 535 ; N afii10079 ; B 22 0 513 447 ; -C -1 ; WX 500 ; N afii10080 ; B 34 -14 465 460 ; -C -1 ; WX 535 ; N afii10081 ; B 22 0 513 447 ; -C -1 ; WX 500 ; N afii10082 ; B -3 -214 466 460 ; -C -1 ; WX 444 ; N afii10083 ; B 34 -14 411 460 ; -C -1 ; WX 437 ; N afii10084 ; B 6 0 431 447 ; -C -1 ; WX 500 ; N afii10085 ; B 6 -216 494 447 ; -C -1 ; WX 648 ; N afii10086 ; B 42 -214 605 694 ; -C -1 ; WX 500 ; N afii10087 ; B 13 0 488 447 ; -C -1 ; WX 535 ; N afii10088 ; B 22 -124 513 447 ; -C -1 ; WX 503 ; N afii10089 ; B 15 0 481 447 ; -C -1 ; WX 770 ; N afii10090 ; B 22 0 748 447 ; -C -1 ; WX 770 ; N afii10091 ; B 22 -124 748 447 ; -C -1 ; WX 517 ; N afii10092 ; B 6 0 487 447 ; -C -1 ; WX 672 ; N afii10093 ; B 22 0 649 447 ; -C -1 ; WX 456 ; N afii10094 ; B 22 0 426 447 ; -C -1 ; WX 429 ; N afii10095 ; B 13 -14 395 460 ; -C -1 ; WX 747 ; N afii10096 ; B 22 -14 713 460 ; -C -1 ; WX 460 ; N afii10097 ; B 0 0 438 447 ; -C -1 ; WX 444 ; N afii10071 ; B 37 -14 416 652 ; -C -1 ; WX 483 ; N afii10099 ; B 8 -216 426 694 ; -C -1 ; WX 410 ; N afii10100 ; B 15 0 404 679 ; -C -1 ; WX 429 ; N afii10101 ; B 34 -14 416 460 ; -C -1 ; WX 389 ; N afii10102 ; B 49 -14 354 460 ; -C -1 ; WX 278 ; N afii10103 ; B 29 0 253 694 ; -C -1 ; WX 278 ; N afii10104 ; B 1 0 279 653 ; -C -1 ; WX 278 ; N afii10105 ; B -77 -216 195 695 ; -C -1 ; WX 727 ; N afii10106 ; B 6 -8 697 447 ; -C -1 ; WX 723 ; N afii10107 ; B 22 0 692 447 ; -C -1 ; WX 500 ; N afii10108 ; B 6 0 494 694 ; -C -1 ; WX 500 ; N afii10110 ; B 6 -216 494 665 ; -C -1 ; WX 535 ; N afii10193 ; B 22 -124 513 447 ; -C -1 ; WX 450 ; N afii10050 ; B 18 0 432 782 ; -C -1 ; WX 351 ; N afii10098 ; B 15 0 345 530 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 224 969 294 ; -C -1 ; WX 954 ; N afii61352 ; B 8 -15 920 669 ; -C -1 ; WX 505 ; N pi ; B 6 -14 486 447 ; -C -1 ; WX 333 ; N sheva ; B 125 -215 208 -25 ; -C -1 ; WX 333 ; N hatafsegol ; B 14 -215 319 -24 ; -C -1 ; WX 333 ; N hatafpatah ; B 24 -215 309 -24 ; -C -1 ; WX 333 ; N hatafqamats ; B 9 -216 325 -24 ; -C -1 ; WX 333 ; N hiriq ; B 126 -153 207 -72 ; -C -1 ; WX 333 ; N tsere ; B 70 -153 263 -72 ; -C -1 ; WX 333 ; N segol ; B 70 -215 263 -24 ; -C -1 ; WX 333 ; N patah ; B 70 -130 263 -80 ; -C -1 ; WX 333 ; N qamats ; B 70 -215 263 -52 ; -C -1 ; WX 333 ; N holam ; B 126 587 207 668 ; -C -1 ; WX 333 ; N qubuts ; B 14 -215 319 -24 ; -C -1 ; WX 333 ; N dagesh ; B 126 211 207 292 ; -C -1 ; WX 333 ; N meteg ; B 141 -215 191 -53 ; -C -1 ; WX 356 ; N maqaf ; B 42 408 314 516 ; -C -1 ; WX 333 ; N rafe ; B 70 596 263 646 ; -C -1 ; WX 291 ; N paseq ; B 109 -49 181 564 ; -C -1 ; WX 343 ; N shindot ; B 335 587 417 668 ; -C -1 ; WX 343 ; N sindot ; B -73 587 8 668 ; -C -1 ; WX 278 ; N sofpasuq ; B 86 -14 195 525 ; -C -1 ; WX 481 ; N alef ; B 46 -9 447 554 ; -C -1 ; WX 455 ; N bet ; B 25 0 434 550 ; -C -1 ; WX 335 ; N gimel ; B 16 -6 316 554 ; -C -1 ; WX 419 ; N dalet ; B 33 -12 386 550 ; -C -1 ; WX 471 ; N he ; B 38 -13 428 550 ; -C -1 ; WX 279 ; N vav ; B 33 -9 222 554 ; -C -1 ; WX 286 ; N zayin ; B 38 -12 253 554 ; -C -1 ; WX 477 ; N het ; B 43 -12 434 550 ; -C -1 ; WX 476 ; N tet ; B 33 0 427 554 ; -C -1 ; WX 267 ; N yod ; B 33 233 223 554 ; -C -1 ; WX 452 ; N finalkaf ; B 33 -173 403 550 ; -C -1 ; WX 433 ; N kaf ; B 25 0 387 550 ; -C -1 ; WX 432 ; N lamed ; B 7 -11 389 746 ; -C -1 ; WX 507 ; N finalmem ; B 49 0 453 550 ; -C -1 ; WX 485 ; N mem ; B 38 0 439 554 ; -C -1 ; WX 274 ; N finalnun ; B 33 -173 231 554 ; -C -1 ; WX 305 ; N nun ; B 16 0 262 554 ; -C -1 ; WX 475 ; N samekh ; B 46 -11 429 550 ; -C -1 ; WX 454 ; N ayin ; B 33 -14 421 554 ; -C -1 ; WX 454 ; N finalpe ; B 33 -173 406 550 ; -C -1 ; WX 440 ; N pe ; B 43 0 395 550 ; -C -1 ; WX 482 ; N finaltsadi ; B 33 -173 450 554 ; -C -1 ; WX 460 ; N tsadi ; B 30 0 422 554 ; -C -1 ; WX 474 ; N qof ; B 51 -173 427 550 ; -C -1 ; WX 469 ; N resh ; B 33 -9 414 550 ; -C -1 ; WX 610 ; N shin ; B 33 0 578 554 ; -C -1 ; WX 500 ; N tav ; B 16 -8 446 550 ; -C -1 ; WX 557 ; N doublevav ; B 33 -9 500 554 ; -C -1 ; WX 545 ; N vavyod ; B 33 -9 488 554 ; -C -1 ; WX 533 ; N doubleyod ; B 33 233 490 554 ; -C -1 ; WX 209 ; N geresh ; B 52 304 162 535 ; -C -1 ; WX 372 ; N gershayim ; B 52 304 324 535 ; -C -1 ; WX 776 ; N newsheqelsign ; B 73 0 704 516 ; -C -1 ; WX 279 ; N vavshindot ; B -48 -9 222 668 ; -C -1 ; WX 452 ; N finalkafsheva ; B 33 -173 403 550 ; -C -1 ; WX 452 ; N finalkafqamats ; B 33 -173 403 550 ; -C -1 ; WX 432 ; N lamedholam ; B -81 -11 389 746 ; -C -1 ; WX 432 ; N lamedholamdagesh ; B -81 -11 389 746 ; -C -1 ; WX 454 ; N altayin ; B 25 0 421 554 ; -C -1 ; WX 610 ; N shinshindot ; B 33 0 578 668 ; -C -1 ; WX 610 ; N shinsindot ; B 33 0 578 668 ; -C -1 ; WX 610 ; N shindageshshindot ; B 33 0 578 668 ; -C -1 ; WX 610 ; N shindageshsindot ; B 33 0 578 668 ; -C -1 ; WX 481 ; N alefpatah ; B 46 -130 447 554 ; -C -1 ; WX 481 ; N alefqamats ; B 46 -215 447 554 ; -C -1 ; WX 481 ; N alefmapiq ; B 46 -9 447 554 ; -C -1 ; WX 455 ; N betdagesh ; B 25 0 434 550 ; -C -1 ; WX 335 ; N gimeldagesh ; B 16 -6 316 554 ; -C -1 ; WX 419 ; N daletdagesh ; B 33 -12 386 550 ; -C -1 ; WX 471 ; N hedagesh ; B 38 -13 428 550 ; -C -1 ; WX 279 ; N vavdagesh ; B 33 -9 222 554 ; -C -1 ; WX 309 ; N zayindagesh ; B 6 -12 276 554 ; -C -1 ; WX 476 ; N tetdagesh ; B 33 0 427 554 ; -C -1 ; WX 267 ; N yoddagesh ; B 33 233 223 554 ; -C -1 ; WX 452 ; N finalkafdagesh ; B 33 -173 403 550 ; -C -1 ; WX 433 ; N kafdagesh ; B 25 0 387 550 ; -C -1 ; WX 432 ; N lameddagesh ; B 7 -11 389 746 ; -C -1 ; WX 485 ; N memdagesh ; B 38 0 439 554 ; -C -1 ; WX 305 ; N nundagesh ; B 16 0 262 554 ; -C -1 ; WX 475 ; N samekhdagesh ; B 46 -11 429 550 ; -C -1 ; WX 454 ; N finalpedagesh ; B 33 -173 406 550 ; -C -1 ; WX 440 ; N pedagesh ; B 43 0 395 550 ; -C -1 ; WX 460 ; N tsadidagesh ; B 30 0 422 554 ; -C -1 ; WX 474 ; N qofdagesh ; B 51 -173 427 550 ; -C -1 ; WX 469 ; N reshdagesh ; B 33 -9 414 550 ; -C -1 ; WX 610 ; N shindagesh ; B 33 0 578 554 ; -C -1 ; WX 500 ; N tavdages ; B 16 -8 446 550 ; -C -1 ; WX 279 ; N vavholam ; B 33 -9 222 668 ; -C -1 ; WX 455 ; N betrafe ; B 25 0 434 646 ; -C -1 ; WX 433 ; N kafrafe ; B 25 0 387 646 ; -C -1 ; WX 440 ; N perafe ; B 43 0 395 646 ; -C -1 ; WX 502 ; N aleflamed ; B 7 -9 468 746 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 319 ; N afii57388 ; B 83 137 241 443 ; -C -1 ; WX 319 ; N afii57403 ; B 78 136 235 609 ; -C -1 ; WX 356 ; N afii57407 ; B 33 137 326 711 ; -C -1 ; WX 413 ; N afii57409 ; B 59 72 363 400 ; -C -1 ; WX 207 ; N afii57440 ; B -34 143 207 228 ; -C -1 ; WX 201 ; N afii57451 ; B 34 605 201 780 ; -C -1 ; WX 237 ; N afii57452 ; B 34 605 237 794 ; -C -1 ; WX 201 ; N afii57453 ; B 34 -130 201 44 ; -C -1 ; WX 201 ; N afii57454 ; B 34 673 201 774 ; -C -1 ; WX 209 ; N afii57455 ; B 35 605 209 817 ; -C -1 ; WX 201 ; N afii57456 ; B 34 -21 201 80 ; -C -1 ; WX 211 ; N afii57457 ; B 34 605 211 762 ; -C -1 ; WX 165 ; N afii57458 ; B 34 605 165 756 ; -C -1 ; WX 526 ; N afii57392 ; B 186 219 344 452 ; -C -1 ; WX 526 ; N afii57393 ; B 147 143 327 716 ; -C -1 ; WX 526 ; N afii57394 ; B 89 143 391 723 ; -C -1 ; WX 526 ; N afii57395 ; B 63 143 471 723 ; -C -1 ; WX 526 ; N afii57396 ; B 146 143 397 713 ; -C -1 ; WX 526 ; N afii57397 ; B 93 247 438 622 ; -C -1 ; WX 526 ; N afii57398 ; B 85 156 410 710 ; -C -1 ; WX 526 ; N afii57399 ; B 63 143 459 710 ; -C -1 ; WX 526 ; N afii57400 ; B 75 149 472 716 ; -C -1 ; WX 526 ; N afii57401 ; B 107 143 413 725 ; -C -1 ; WX 526 ; N afii57381 ; B 65 84 463 777 ; -C -1 ; WX 319 ; N afii57461 ; B 94 23 230 267 ; -C -1 ; WX 526 ; N afii63167 ; B 87 403 424 744 ; -C -1 ; WX 750 ; N afii57459 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543 ; B 125 0 625 625 ; -C -1 ; WX 282 ; N afii57534 ; B 26 130 262 430 ; -C -1 ; WX 750 ; N afii57494 ; B 125 0 625 625 ; -C -1 ; WX 526 ; N afii62843 ; B 77 147 455 720 ; -C -1 ; WX 526 ; N afii62844 ; B 74 159 441 708 ; -C -1 ; WX 526 ; N afii62845 ; B 99 147 435 717 ; -C -1 ; WX 750 ; N afii64240 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64241 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63954 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57382 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64242 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62881 ; B 34 605 211 917 ; -C -1 ; WX 750 ; N afii57504 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57369 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57370 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57371 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57372 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57373 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57374 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57375 ; B 125 0 625 625 ; -C -1 ; WX 638 ; N afii57391 ; B -34 143 638 228 ; -C -1 ; WX 750 ; N afii57471 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57460 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii52258 ; B 125 0 625 625 ; -C -1 ; WX 713 ; N afii57506 ; B 28 -175 713 469 ; -C -1 ; WX 713 ; N afii62958 ; B 28 -175 713 469 ; -C -1 ; WX 244 ; N afii62956 ; B -34 -175 244 456 ; -C -1 ; WX 244 ; N afii52957 ; B -34 -175 244 456 ; -C -1 ; WX 750 ; N afii57505 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62889 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62887 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62888 ; B 125 0 625 625 ; -C -1 ; WX 563 ; N afii57507 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62961 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62959 ; B -34 -175 530 427 ; -C -1 ; WX 530 ; N afii62960 ; B -34 -175 530 427 ; -C -1 ; WX 489 ; N afii57508 ; B 36 -91 489 723 ; -C -1 ; WX 489 ; N afii62962 ; B 36 -91 489 723 ; -C -1 ; WX 812 ; N afii57567 ; B 10 143 812 734 ; -C -1 ; WX 933 ; N afii62964 ; B 10 143 933 734 ; -C -1 ; WX 394 ; N afii52305 ; B -34 143 394 734 ; -C -1 ; WX 515 ; N afii52306 ; B -34 143 515 734 ; -C -1 ; WX 812 ; N afii57509 ; B 10 143 812 867 ; -C -1 ; WX 933 ; N afii62967 ; B 10 143 933 867 ; -C -1 ; WX 394 ; N afii62965 ; B -34 143 394 876 ; -C -1 ; WX 515 ; N afii62966 ; B -34 143 515 876 ; -C -1 ; WX 638 ; N afii57555 ; B 24 -43 606 462 ; -C -1 ; WX 588 ; N afii52364 ; B 18 -110 588 252 ; -C -1 ; WX 750 ; N afii63753 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63754 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63759 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63763 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63795 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62891 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63808 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62938 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63810 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62942 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62947 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63813 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63823 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63824 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63833 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63844 ; B 125 0 625 625 ; -C -1 ; WX 226 ; N afii62882 ; B 23 605 226 933 ; -C -1 ; WX 211 ; N afii62883 ; B 34 605 211 905 ; -C -1 ; WX 211 ; N afii62884 ; B 34 605 211 840 ; -C -1 ; WX 211 ; N afii62885 ; B 31 606 211 897 ; -C -1 ; WX 211 ; N afii62886 ; B 34 605 211 853 ; -C -1 ; WX 750 ; N afii63846 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63849 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202E ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202C ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206E ; B 125 0 625 625 ; -C -1 ; WX 750 ; N _b_852 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N _b_855 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00C ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00E ; B 125 0 625 625 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 750 ; N afii63904 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63905 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63906 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63908 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63910 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63912 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62927 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63941 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62939 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63948 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63950 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63952 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63956 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63958 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63959 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63960 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63961 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64058 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64059 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N afii64060 ; B 62 -209 273 785 ; -C -1 ; WX 319 ; N afii64061 ; B 45 -209 257 785 ; -C -1 ; WX 750 ; N afii62945 ; B 125 0 625 625 ; -C -1 ; WX 616 ; N afii64184 ; B 10 143 603 766 ; -C -1 ; WX 413 ; N afii52399 ; B 59 72 363 400 ; -C -1 ; WX 207 ; N afii52400 ; B 7 130 206 827 ; -C -1 ; WX 229 ; N afii62753 ; B -18 143 229 827 ; -C -1 ; WX 207 ; N afii57411 ; B 42 130 179 880 ; -C -1 ; WX 229 ; N afii62754 ; B 8 143 229 880 ; -C -1 ; WX 432 ; N afii57412 ; B 24 -77 432 555 ; -C -1 ; WX 432 ; N afii62755 ; B 24 -77 432 555 ; -C -1 ; WX 207 ; N afii57413 ; B 22 -94 165 740 ; -C -1 ; WX 229 ; N afii62756 ; B 9 -94 229 740 ; -C -1 ; WX 638 ; N afii57414 ; B 24 -43 606 555 ; -C -1 ; WX 588 ; N afii62759 ; B 18 -110 588 491 ; -C -1 ; WX 244 ; N afii62757 ; B -34 143 244 668 ; -C -1 ; WX 244 ; N afii62758 ; B -34 143 244 668 ; -C -1 ; WX 207 ; N afii57415 ; B 72 130 165 740 ; -C -1 ; WX 229 ; N afii62760 ; B 9 143 229 740 ; -C -1 ; WX 713 ; N afii57416 ; B 28 -46 713 469 ; -C -1 ; WX 713 ; N afii62763 ; B 28 -46 713 469 ; -C -1 ; WX 244 ; N afii62761 ; B -34 -46 244 456 ; -C -1 ; WX 244 ; N afii62762 ; B -34 -46 244 456 ; -C -1 ; WX 282 ; N afii57417 ; B 0 130 271 641 ; -C -1 ; WX 375 ; N afii62764 ; B -4 143 375 768 ; -C -1 ; WX 713 ; N afii57418 ; B 28 143 713 628 ; -C -1 ; WX 713 ; N afii62767 ; B 28 143 713 628 ; -C -1 ; WX 244 ; N afii62765 ; B -34 143 244 667 ; -C -1 ; WX 244 ; N afii62766 ; B -34 143 244 667 ; -C -1 ; WX 713 ; N afii57419 ; B 28 143 713 715 ; -C -1 ; WX 713 ; N afii62770 ; B 28 143 713 715 ; -C -1 ; WX 244 ; N afii62768 ; B -34 143 244 754 ; -C -1 ; WX 244 ; N afii62769 ; B -34 143 244 754 ; -C -1 ; WX 563 ; N afii57420 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62773 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62771 ; B -34 -33 530 427 ; -C -1 ; WX 530 ; N afii62772 ; B -34 -33 530 427 ; -C -1 ; WX 563 ; N afii57421 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N afii62776 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N afii62774 ; B -34 143 530 427 ; -C -1 ; WX 530 ; N afii62775 ; B -34 143 530 427 ; -C -1 ; WX 563 ; N afii57422 ; B 26 -212 516 639 ; -C -1 ; WX 526 ; N afii62779 ; B 26 -212 526 639 ; -C -1 ; WX 530 ; N afii62777 ; B -34 143 530 639 ; -C -1 ; WX 530 ; N afii62778 ; B -34 143 530 639 ; -C -1 ; WX 337 ; N afii57423 ; B 46 143 337 552 ; -C -1 ; WX 337 ; N afii62780 ; B 46 143 337 552 ; -C -1 ; WX 337 ; N afii57424 ; B 46 143 337 759 ; -C -1 ; WX 337 ; N afii62781 ; B 46 143 337 759 ; -C -1 ; WX 489 ; N afii57425 ; B 36 -91 489 430 ; -C -1 ; WX 489 ; N afii62782 ; B 36 -91 489 430 ; -C -1 ; WX 489 ; N afii57426 ; B 36 -91 489 639 ; -C -1 ; WX 489 ; N afii62783 ; B 36 -91 489 639 ; -C -1 ; WX 821 ; N afii57427 ; B 30 -72 821 417 ; -C -1 ; WX 821 ; N afii62786 ; B 30 -72 821 417 ; -C -1 ; WX 531 ; N afii62784 ; B -34 143 531 401 ; -C -1 ; WX 531 ; N afii62785 ; B -34 143 531 401 ; -C -1 ; WX 821 ; N afii57428 ; B 30 -72 821 715 ; -C -1 ; WX 821 ; N afii62789 ; B 30 -72 821 715 ; -C -1 ; WX 531 ; N afii62787 ; B -34 143 531 715 ; -C -1 ; WX 531 ; N afii62788 ; B -34 143 531 715 ; -C -1 ; WX 1098 ; N afii57429 ; B 30 -72 1098 417 ; -C -1 ; WX 1098 ; N afii62792 ; B 30 -72 1098 417 ; -C -1 ; WX 846 ; N afii62790 ; B -34 143 846 405 ; -C -1 ; WX 846 ; N afii62791 ; B -34 143 846 405 ; -C -1 ; WX 1098 ; N afii57430 ; B 30 -72 1098 590 ; -C -1 ; WX 1098 ; N afii62795 ; B 30 -72 1098 590 ; -C -1 ; WX 846 ; N afii62793 ; B -34 143 846 590 ; -C -1 ; WX 846 ; N afii62794 ; B -34 143 846 590 ; -C -1 ; WX 582 ; N afii57431 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62798 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62796 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62797 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii57432 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62801 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62799 ; B -34 143 582 793 ; -C -1 ; WX 582 ; N afii62800 ; B -34 143 582 793 ; -C -1 ; WX 544 ; N afii57433 ; B 21 -212 516 534 ; -C -1 ; WX 450 ; N afii62804 ; B 26 -212 486 431 ; -C -1 ; WX 526 ; N afii62802 ; B -34 143 470 472 ; -C -1 ; WX 394 ; N afii62803 ; B -34 143 394 418 ; -C -1 ; WX 544 ; N afii57434 ; B 21 -212 516 737 ; -C -1 ; WX 450 ; N afii62807 ; B 26 -212 486 639 ; -C -1 ; WX 526 ; N afii62805 ; B -34 143 470 639 ; -C -1 ; WX 394 ; N afii62806 ; B -34 143 394 639 ; -C -1 ; WX 789 ; N afii57441 ; B 19 143 789 681 ; -C -1 ; WX 789 ; N afii62810 ; B 19 143 789 681 ; -C -1 ; WX 268 ; N afii62808 ; B -34 143 268 726 ; -C -1 ; WX 263 ; N afii62809 ; B -34 143 263 707 ; -C -1 ; WX 582 ; N afii57442 ; B 34 -75 582 683 ; -C -1 ; WX 582 ; N afii62813 ; B 34 -75 582 683 ; -C -1 ; WX 268 ; N afii62811 ; B -34 143 268 740 ; -C -1 ; WX 263 ; N afii62812 ; B -34 143 263 727 ; -C -1 ; WX 601 ; N afii57443 ; B 22 143 601 775 ; -C -1 ; WX 601 ; N afii62816 ; B 22 143 601 775 ; -C -1 ; WX 394 ; N afii57410 ; B -34 143 394 734 ; -C -1 ; WX 394 ; N afii62815 ; B -34 143 394 734 ; -C -1 ; WX 506 ; N afii57444 ; B 35 7 506 775 ; -C -1 ; WX 506 ; N afii62819 ; B 35 7 506 775 ; -C -1 ; WX 207 ; N afii62817 ; B -34 143 207 775 ; -C -1 ; WX 207 ; N afii62818 ; B -34 143 207 775 ; -C -1 ; WX 338 ; N afii57445 ; B 17 -212 338 357 ; -C -1 ; WX 338 ; N afii62822 ; B 17 -212 338 357 ; -C -1 ; WX 394 ; N afii62820 ; B -34 143 394 411 ; -C -1 ; WX 394 ; N afii62821 ; B -34 143 394 411 ; -C -1 ; WX 526 ; N afii57446 ; B 34 -72 526 558 ; -C -1 ; WX 526 ; N afii62825 ; B 34 -72 526 558 ; -C -1 ; WX 244 ; N afii62823 ; B -34 143 244 636 ; -C -1 ; WX 244 ; N afii62824 ; B -34 143 244 636 ; -C -1 ; WX 282 ; N afii57447 ; B 26 130 262 430 ; -C -1 ; WX 375 ; N afii62828 ; B -4 143 375 583 ; -C -1 ; WX 450 ; N afii57470 ; B -34 125 385 555 ; -C -1 ; WX 394 ; N afii62827 ; B -34 -62 394 429 ; -C -1 ; WX 432 ; N afii57448 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N afii62829 ; B 24 -77 432 385 ; -C -1 ; WX 638 ; N afii57449 ; B 24 -43 606 462 ; -C -1 ; WX 588 ; N afii62830 ; B 18 -110 588 252 ; -C -1 ; WX 638 ; N afii57450 ; B 24 -208 606 462 ; -C -1 ; WX 588 ; N afii62833 ; B 18 -212 588 252 ; -C -1 ; WX 244 ; N afii62831 ; B -34 -69 244 456 ; -C -1 ; WX 244 ; N afii62832 ; B -34 -69 244 456 ; -C -1 ; WX 544 ; N afii62834 ; B 31 79 507 827 ; -C -1 ; WX 601 ; N afii62835 ; B 31 118 601 827 ; -C -1 ; WX 544 ; N afii62836 ; B 19 79 507 880 ; -C -1 ; WX 601 ; N afii62837 ; B 23 118 601 880 ; -C -1 ; WX 544 ; N afii62838 ; B 41 -111 507 724 ; -C -1 ; WX 601 ; N afii62839 ; B 32 -111 601 733 ; -C -1 ; WX 544 ; N afii62840 ; B 41 79 507 724 ; -C -1 ; WX 601 ; N afii62841 ; B 32 118 601 733 ; -C -1 ; WX 750 ; N glyph1021 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57454-2 ; B 34 673 201 774 ; -C -1 ; WX 201 ; N afii57451-2 ; B 34 605 201 780 ; -C -1 ; WX 750 ; N glyph1025 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1026 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-2 ; B 125 0 625 625 ; -C -1 ; WX 165 ; N afii57458-2 ; B 34 605 165 756 ; -C -1 ; WX 211 ; N afii57457-2 ; B 34 605 211 762 ; -C -1 ; WX 750 ; N afii57494-2 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-2 ; B 125 0 625 625 ; -C -1 ; WX 209 ; N afii57455-2 ; B 35 605 209 817 ; -C -1 ; WX 237 ; N afii57452-2 ; B 34 605 237 794 ; -C -1 ; WX 750 ; N glyph1034 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1035 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1036 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62884-2 ; B 34 605 211 840 ; -C -1 ; WX 211 ; N afii62881-2 ; B 34 605 211 917 ; -C -1 ; WX 211 ; N afii62886-2 ; B 34 605 211 853 ; -C -1 ; WX 211 ; N afii62883-2 ; B 34 605 211 905 ; -C -1 ; WX 211 ; N afii62885-2 ; B 31 606 211 897 ; -C -1 ; WX 226 ; N afii62882-2 ; B 23 605 226 933 ; -C -1 ; WX 750 ; N afii57504-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57456-2 ; B 34 -21 201 80 ; -C -1 ; WX 201 ; N afii57453-2 ; B 34 -130 201 44 ; -C -1 ; WX 750 ; N glyph1046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1047 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1051 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1052 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1060 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1061 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1062 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1072 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1073 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1077 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1078 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1086 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1087 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1088 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1098 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1099 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N glyph1100 ; B 99 137 223 714 ; -C -1 ; WX 319 ; N glyph1101 ; B 97 137 226 267 ; -C -1 ; WX 319 ; N glyph1102 ; B 97 137 225 542 ; -C -1 ; WX 750 ; N glyph1103 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1104 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1105 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1106 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1107 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1108 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1109 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1110 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1111 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1112 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1113 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1114 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1115 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1116 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1117 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1118 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1119 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1120 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1121 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1122 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1123 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1124 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1125 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1126 ; B 125 0 625 625 ; -C -1 ; WX 125 ; N afii57440-2 ; B -34 143 125 228 ; -C -1 ; WX 1000 ; N afii57440-3 ; B -34 143 1000 228 ; -C -1 ; WX 2000 ; N afii57440-4 ; B -34 143 2000 228 ; -C -1 ; WX 722 ; N Ohorn ; B 69 -15 717 758 ; -C -1 ; WX 529 ; N ohorn ; B 34 -14 536 478 ; -C -1 ; WX 776 ; N Uhorn ; B 5 -16 810 774 ; -C -1 ; WX 542 ; N uhorn ; B 1 -14 544 478 ; -C -1 ; WX 0 ; N glyph1134 ; B -275 818 -142 891 ; -C -1 ; WX 0 ; N glyph1135 ; B -490 818 -306 891 ; -C -1 ; WX 0 ; N glyph1136 ; B -366 728 -205 891 ; -C -1 ; WX 0 ; N uniF006 ; B -218 818 -84 891 ; -C -1 ; WX 0 ; N uniF007 ; B -391 818 -209 891 ; -C -1 ; WX 0 ; N uniF009 ; B -271 728 -111 891 ; -C -1 ; WX 0 ; N combininghookabove ; B -202 728 -64 891 ; -C -1 ; WX 0 ; N uniF010 ; B -229 810 -105 891 ; -C -1 ; WX 0 ; N uniF013 ; B -286 728 -147 891 ; -C -1 ; WX 0 ; N uniF011 ; B -426 810 -302 891 ; -C -1 ; WX 0 ; N uniF01C ; B -309 755 4 884 ; -C -1 ; WX 0 ; N uniF015 ; B -496 814 -214 891 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -376 726 -63 854 ; -C -1 ; WX 0 ; N glyph1147 ; B -125 728 125 808 ; -C -1 ; WX 0 ; N glyph1148 ; B -124 729 124 799 ; -C -1 ; WX 0 ; N uniF02C ; B -173 -167 -64 -59 ; -C -1 ; WX 513 ; N dongsign ; B 79 140 422 694 ; -C -1 ; WX 750 ; N onethird ; B 66 -27 707 676 ; -C -1 ; WX 750 ; N twothirds ; B 10 -27 707 676 ; -C -1 ; WX 0 ; N uniF008 ; B -195 510 -35 673 ; -C -1 ; WX 0 ; N glyph1154 ; B -271 510 -111 673 ; -C -1 ; WX 0 ; N glyph1155 ; B -255 510 -94 673 ; -C -1 ; WX 0 ; N uniF00F ; B -317 510 -156 673 ; -C -1 ; WX 0 ; N uniF012 ; B -202 510 -64 674 ; -C -1 ; WX 0 ; N uniF014 ; B -284 510 -146 674 ; -C -1 ; WX 0 ; N uniF016 ; B -520 755 -207 884 ; -C -1 ; WX 0 ; N uniF017 ; B -520 755 -207 884 ; -C -1 ; WX 0 ; N uniF018 ; B -568 755 -255 884 ; -C -1 ; WX 0 ; N uniF019 ; B -376 534 -63 662 ; -C -1 ; WX 0 ; N uniF01A ; B -432 534 -119 662 ; -C -1 ; WX 0 ; N uniF01B ; B -466 534 -153 662 ; -C -1 ; WX 0 ; N uniF01E ; B -356 -167 -248 -59 ; -C -1 ; WX 0 ; N uniF01F ; B -412 -167 -304 -59 ; -C -1 ; WX 0 ; N uniF020 ; B -418 -167 -310 -59 ; -C -1 ; WX 0 ; N uniF021 ; B -415 -167 -307 -59 ; -C -1 ; WX 0 ; N uniF022 ; B -467 -167 -358 -59 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -240 728 -80 891 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -195 728 -35 891 ; -C -1 ; WX 0 ; N uniF01D ; B -304 534 8 662 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -445 -167 -336 -59 ; -C -1 ; WX 0 ; N uniF023 ; B -280 -167 -171 -59 ; -C -1 ; WX 0 ; N uniF029 ; B -215 -167 -107 -59 ; -C -1 ; WX 0 ; N uniF02A ; B -202 -167 -94 -59 ; -C -1 ; WX 0 ; N uniF02B ; B -405 -167 -296 -59 ; -C -1 ; WX 0 ; N uniF024 ; B -265 -167 -157 -59 ; -C -1 ; WX 0 ; N uniF025 ; B -309 -167 -201 -59 ; -C -1 ; WX 0 ; N uniF026 ; B -338 -167 -230 -59 ; -C -1 ; WX 0 ; N uniF027 ; B -301 -167 -193 -59 ; -C -1 ; WX 0 ; N uniF028 ; B -338 -167 -230 -59 ; -C -1 ; WX 0 ; N uniF02D ; B -433 813 -151 891 ; -C -1 ; WX 0 ; N uniF02E ; B -452 755 -139 884 ; -C -1 ; WX 0 ; N uniF02F ; B -496 813 -214 891 ; -C -1 ; WX 0 ; N uniF030 ; B -520 755 -207 884 ; -C -1 ; WX 278 ; N uniF031 ; B 29 0 253 460 ; -C -1 ; WX 722 ; N Adotbelow ; B 8 -167 711 677 ; -C -1 ; WX 444 ; N adotbelow ; B 36 -167 442 460 ; -C -1 ; WX 722 ; N Ahookabove ; B 8 0 711 891 ; -C -1 ; WX 444 ; N ahookabove ; B 36 -9 442 674 ; -C -1 ; WX 722 ; N Acircumflexacute ; B 8 0 711 891 ; -C -1 ; WX 444 ; N acircumflexacute ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Acircumflexgrave ; B 8 0 711 891 ; -C -1 ; WX 444 ; N acircumflexgrave ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Acircumflexhookabove ; B 8 0 711 891 ; -C -1 ; WX 444 ; N acircumflexhookabove ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Acircumflextilde ; B 8 0 711 891 ; -C -1 ; WX 444 ; N acircumflextilde ; B 36 -9 442 854 ; -C -1 ; WX 722 ; N Acircumflexdotbelow ; B 8 -167 711 799 ; -C -1 ; WX 444 ; N acircumflexdotbelow ; B 36 -167 442 676 ; -C -1 ; WX 722 ; N Abreveacute ; B 8 0 711 891 ; -C -1 ; WX 444 ; N abreveacute ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Abrevegrave ; B 8 0 711 891 ; -C -1 ; WX 444 ; N abrevegrave ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Abrevehookabove ; B 8 0 711 891 ; -C -1 ; WX 444 ; N abrevehookabove ; B 36 -9 442 891 ; -C -1 ; WX 722 ; N Abrevetilde ; B 8 0 711 891 ; -C -1 ; WX 444 ; N abrevetilde ; B 36 -9 442 854 ; -C -1 ; WX 722 ; N Abrevedotbelow ; B 8 -167 711 808 ; -C -1 ; WX 444 ; N abrevedotbelow ; B 36 -167 442 663 ; -C -1 ; WX 611 ; N Edotbelow ; B 21 -167 588 662 ; -C -1 ; WX 444 ; N edotbelow ; B 37 -167 416 461 ; -C -1 ; WX 611 ; N Ehookabove ; B 21 0 588 891 ; -C -1 ; WX 444 ; N ehookabove ; B 37 -14 416 674 ; -C -1 ; WX 611 ; N Etilde ; B 21 0 588 842 ; -C -1 ; WX 444 ; N etilde ; B 37 -14 416 662 ; -C -1 ; WX 611 ; N Ecircumflexacute ; B 21 0 588 891 ; -C -1 ; WX 444 ; N ecircumflexacute ; B 37 -14 416 891 ; -C -1 ; WX 611 ; N Ecircumflexgrave ; B 21 0 588 891 ; -C -1 ; WX 444 ; N ecircumflexgrave ; B 37 -14 416 891 ; -C -1 ; WX 611 ; N Ecircumflexhookabove ; B 21 0 588 891 ; -C -1 ; WX 444 ; N ecircumflexhookabove ; B 37 -14 416 891 ; -C -1 ; WX 611 ; N Ecircumflextilde ; B 21 0 588 891 ; -C -1 ; WX 444 ; N ecircumflextilde ; B 37 -14 416 854 ; -C -1 ; WX 611 ; N Ecircumflexdotbelow ; B 21 -167 588 799 ; -C -1 ; WX 444 ; N ecircumflexdotbelow ; B 37 -167 416 676 ; -C -1 ; WX 333 ; N Ihookabove ; B 25 0 309 891 ; -C -1 ; WX 278 ; N ihookabove ; B 29 0 253 674 ; -C -1 ; WX 333 ; N Idotbelow ; B 25 -167 309 662 ; -C -1 ; WX 278 ; N idotbelow ; B 29 -167 253 694 ; -C -1 ; WX 722 ; N Odotbelow ; B 35 -167 684 677 ; -C -1 ; WX 500 ; N odotbelow ; B 34 -167 465 460 ; -C -1 ; WX 722 ; N Ohookabove ; B 35 -15 684 891 ; -C -1 ; WX 500 ; N ohookabove ; B 34 -14 465 674 ; -C -1 ; WX 722 ; N Ocircumflexacute ; B 35 -15 684 891 ; -C -1 ; WX 500 ; N ocircumflexacute ; B 34 -14 465 891 ; -C -1 ; WX 722 ; N Ocircumflexgrave ; B 35 -15 684 891 ; -C -1 ; WX 500 ; N ocircumflexgrave ; B 34 -14 465 891 ; -C -1 ; WX 722 ; N Ocircumflexhookabove ; B 35 -15 684 891 ; -C -1 ; WX 500 ; N ocircumflexhookabove ; B 34 -14 465 891 ; -C -1 ; WX 722 ; N Ocircumflextilde ; B 35 -15 684 891 ; -C -1 ; WX 500 ; N ocircumflextilde ; B 34 -14 465 854 ; -C -1 ; WX 722 ; N Ocircumflexdotbelow ; B 35 -167 684 799 ; -C -1 ; WX 500 ; N ocircumflexdotbelow ; B 34 -167 465 676 ; -C -1 ; WX 722 ; N Ohornacute ; B 69 -15 717 877 ; -C -1 ; WX 529 ; N ohornacute ; B 34 -14 536 679 ; -C -1 ; WX 722 ; N Ohorngrave ; B 69 -15 717 877 ; -C -1 ; WX 529 ; N ohorngrave ; B 34 -14 536 679 ; -C -1 ; WX 722 ; N Ohornhookabove ; B 69 -15 717 891 ; -C -1 ; WX 529 ; N ohornhookabove ; B 34 -14 536 674 ; -C -1 ; WX 722 ; N Ohorntilde ; B 69 -15 717 842 ; -C -1 ; WX 529 ; N ohorntilde ; B 34 -14 536 662 ; -C -1 ; WX 722 ; N Ohorndotbelow ; B 69 -167 717 758 ; -C -1 ; WX 529 ; N ohorndotbelow ; B 34 -167 536 478 ; -C -1 ; WX 722 ; N Udotbelow ; B 5 -167 711 662 ; -C -1 ; WX 500 ; N udotbelow ; B 1 -167 499 447 ; -C -1 ; WX 722 ; N Uhookabove ; B 5 -16 711 891 ; -C -1 ; WX 500 ; N uhookabove ; B 1 -14 499 674 ; -C -1 ; WX 776 ; N Uhornacute ; B 5 -16 810 877 ; -C -1 ; WX 542 ; N uhornacute ; B 1 -14 544 679 ; -C -1 ; WX 776 ; N Uhorngrave ; B 5 -16 810 877 ; -C -1 ; WX 542 ; N uhorngrave ; B 1 -14 544 679 ; -C -1 ; WX 776 ; N Uhornhookabove ; B 5 -16 810 891 ; -C -1 ; WX 542 ; N uhornhookabove ; B 1 -14 544 674 ; -C -1 ; WX 776 ; N Uhorntilde ; B 5 -16 810 842 ; -C -1 ; WX 542 ; N uhorntilde ; B 1 -14 544 662 ; -C -1 ; WX 776 ; N Uhorndotbelow ; B 5 -167 810 774 ; -C -1 ; WX 542 ; N uhorndotbelow ; B 1 -167 544 478 ; -C -1 ; WX 722 ; N Ydotbelow ; B 9 -167 708 662 ; -C -1 ; WX 500 ; N ydotbelow ; B 6 -216 494 447 ; -C -1 ; WX 722 ; N Yhookabove ; B 9 0 708 891 ; -C -1 ; WX 500 ; N yhookabove ; B 6 -216 494 674 ; -C -1 ; WX 722 ; N Ytilde ; B 9 0 708 842 ; -C -1 ; WX 500 ; N ytilde ; B 6 -216 494 662 ; -C -1 ; WX 722 ; N uni01CD ; B 8 0 711 875 ; -C -1 ; WX 444 ; N uni01CE ; B 36 -9 442 676 ; -C -1 ; WX 333 ; N uni01CF ; B 25 0 309 875 ; -C -1 ; WX 278 ; N uni01D0 ; B 3 0 278 676 ; -C -1 ; WX 722 ; N uni01D1 ; B 35 -15 684 875 ; -C -1 ; WX 500 ; N uni01D2 ; B 34 -14 465 676 ; -C -1 ; WX 722 ; N uni01D3 ; B 5 -16 711 875 ; -C -1 ; WX 500 ; N uni01D4 ; B 1 -14 499 676 ; -C -1 ; WX 722 ; N uni01D5 ; B 5 -16 711 891 ; -C -1 ; WX 500 ; N uni01D6 ; B 1 -14 499 747 ; -C -1 ; WX 722 ; N uni01D7 ; B 5 -16 711 891 ; -C -1 ; WX 500 ; N uni01D8 ; B 1 -14 499 823 ; -C -1 ; WX 722 ; N uni01D9 ; B 5 -16 711 891 ; -C -1 ; WX 500 ; N uni01DA ; B 1 -14 499 816 ; -C -1 ; WX 722 ; N uni01DB ; B 5 -16 711 891 ; -C -1 ; WX 500 ; N uni01DC ; B 1 -14 499 823 ; -C -1 ; WX 0 ; N glyph1292 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1293 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1294 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1295 ; B -121 706 121 891 ; -C -1 ; WX 578 ; N uni0492 ; B 17 0 552 662 ; -C -1 ; WX 410 ; N uni0493 ; B 15 0 404 447 ; -C -1 ; WX 896 ; N uni0496 ; B 9 -190 886 670 ; -C -1 ; WX 691 ; N uni0497 ; B 11 -124 680 453 ; -C -1 ; WX 667 ; N uni049A ; B 18 -190 663 670 ; -C -1 ; WX 486 ; N uni049B ; B 22 -124 480 453 ; -C -1 ; WX 667 ; N uni049C ; B 18 0 664 670 ; -C -1 ; WX 486 ; N uni049D ; B 22 0 480 453 ; -C -1 ; WX 722 ; N uni04A2 ; B 17 -190 703 662 ; -C -1 ; WX 535 ; N uni04A3 ; B 22 -124 513 447 ; -C -1 ; WX 722 ; N uni04AE ; B 9 0 708 662 ; -C -1 ; WX 500 ; N uni04AF ; B 1 -214 500 447 ; -C -1 ; WX 722 ; N uni04B0 ; B 9 0 708 662 ; -C -1 ; WX 500 ; N uni04B1 ; B 1 -214 500 447 ; -C -1 ; WX 722 ; N uni04B2 ; B 7 -190 710 662 ; -C -1 ; WX 500 ; N uni04B3 ; B 13 -124 493 447 ; -C -1 ; WX 650 ; N uni04B8 ; B -3 0 632 662 ; -C -1 ; WX 503 ; N uni04B9 ; B 15 0 481 447 ; -C -1 ; WX 650 ; N uni04BA ; B 18 0 653 662 ; -C -1 ; WX 500 ; N uni04BB ; B 6 0 494 694 ; -C -1 ; WX 722 ; N uni018F ; B 21 -15 684 677 ; -C -1 ; WX 444 ; N uni0259 ; B 37 -14 416 461 ; -C -1 ; WX 722 ; N uni04E8 ; B 35 -15 684 677 ; -C -1 ; WX 500 ; N uni04E9 ; B 34 -14 465 460 ; -C -1 ; WX 713 ; N glyph1320 ; B 28 143 713 469 ; -C -1 ; WX 244 ; N glyph1321 ; B -34 143 244 456 ; -C -1 ; WX 268 ; N glyph1322 ; B -34 143 268 544 ; -C -1 ; WX 263 ; N glyph1323 ; B -34 143 263 494 ; -C -1 ; WX 582 ; N glyph1324 ; B 34 -75 582 445 ; -C -1 ; WX 244 ; N glyph1325 ; B 77 -46 194 66 ; -C -1 ; WX 244 ; N glyph1326 ; B 8 -88 236 68 ; -C -1 ; WX 244 ; N glyph1327 ; B 13 -175 242 68 ; -C -1 ; WX 244 ; N glyph1328 ; B 8 -175 236 68 ; -C -1 ; WX 244 ; N glyph1329 ; B 52 -166 191 68 ; -C -1 ; WX 244 ; N glyph1330 ; B -3 -210 248 68 ; -C -1 ; WX 269 ; N glyph1331 ; B -24 519 269 828 ; -C -1 ; WX 207 ; N glyph1332 ; B 7 732 210 891 ; -C -1 ; WX 207 ; N glyph1333 ; B -5 746 179 890 ; -C -1 ; WX 333 ; N glyph1334 ; B 80 605 240 717 ; -C -1 ; WX 333 ; N glyph1335 ; B 80 605 240 717 ; -C -1 ; WX 207 ; N uni0653 ; B 7 692 206 747 ; -C -1 ; WX 207 ; N uni0654 ; B 42 733 179 880 ; -C -1 ; WX 207 ; N uni0655 ; B 42 -79 179 68 ; -C -1 ; WX 0 ; N uni0670 ; B -24 519 24 809 ; -C -1 ; WX 207 ; N uni0671 ; B 7 130 210 891 ; -C -1 ; WX 229 ; N uniFB51 ; B -32 143 229 891 ; -C -1 ; WX 207 ; N uni0672 ; B -5 130 179 890 ; -C -1 ; WX 229 ; N glyph1343 ; B -25 143 229 890 ; -C -1 ; WX 207 ; N uni0673 ; B 14 -84 198 740 ; -C -1 ; WX 229 ; N glyph1345 ; B -5 -84 229 740 ; -C -1 ; WX 207 ; N uni0675 ; B 72 130 296 740 ; -C -1 ; WX 229 ; N glyph47 ; B 9 143 276 740 ; -C -1 ; WX 432 ; N uni0676 ; B 24 -77 511 597 ; -C -1 ; WX 432 ; N glyph1349 ; B 24 -77 511 597 ; -C -1 ; WX 432 ; N uni0677 ; B 24 -77 511 616 ; -C -1 ; WX 432 ; N glyph1351 ; B 24 -77 511 616 ; -C -1 ; WX 638 ; N uni0678 ; B 24 -43 667 685 ; -C -1 ; WX 588 ; N glyph ; B 18 -110 588 440 ; -C -1 ; WX 713 ; N uni0679 ; B 28 143 713 828 ; -C -1 ; WX 713 ; N uniFB67 ; B 28 143 713 828 ; -C -1 ; WX 244 ; N uniFB68 ; B -34 143 269 828 ; -C -1 ; WX 244 ; N uniFB69 ; B -34 143 269 828 ; -C -1 ; WX 713 ; N uni067A ; B 28 143 713 752 ; -C -1 ; WX 713 ; N uniFB5F ; B 28 143 713 752 ; -C -1 ; WX 244 ; N uniFB60 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N uniFB61 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni067B ; B 28 -166 713 469 ; -C -1 ; WX 713 ; N uniFB53 ; B 28 -166 713 469 ; -C -1 ; WX 244 ; N uniFB54 ; B -34 -166 244 456 ; -C -1 ; WX 244 ; N uniFB55 ; B -34 -166 244 456 ; -C -1 ; WX 713 ; N uni067C ; B 28 31 713 628 ; -C -1 ; WX 713 ; N glyph1367 ; B 28 31 713 628 ; -C -1 ; WX 244 ; N glyph1368 ; B -34 31 244 667 ; -C -1 ; WX 244 ; N glyph1369 ; B -34 31 244 667 ; -C -1 ; WX 713 ; N uni067D ; B 28 143 713 752 ; -C -1 ; WX 713 ; N glyph1371 ; B 28 143 713 752 ; -C -1 ; WX 244 ; N glyph1372 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N glyph1373 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni067F ; B 28 143 713 752 ; -C -1 ; WX 713 ; N uniFB63 ; B 28 143 713 752 ; -C -1 ; WX 244 ; N uniFB64 ; B -34 143 244 752 ; -C -1 ; WX 244 ; N uniFB65 ; B -34 143 244 752 ; -C -1 ; WX 713 ; N uni0680 ; B 28 -210 713 469 ; -C -1 ; WX 713 ; N uniFB5B ; B 28 -210 713 469 ; -C -1 ; WX 244 ; N uniFB5C ; B -34 -210 248 456 ; -C -1 ; WX 244 ; N uniFB5D ; B -34 -210 248 456 ; -C -1 ; WX 563 ; N uni0681 ; B 26 -212 516 685 ; -C -1 ; WX 526 ; N glyph1383 ; B 26 -212 526 685 ; -C -1 ; WX 530 ; N glyph1384 ; B -34 143 530 685 ; -C -1 ; WX 530 ; N glyph1385 ; B -34 143 530 685 ; -C -1 ; WX 563 ; N uni0682 ; B 26 -212 516 752 ; -C -1 ; WX 526 ; N glyph1387 ; B 26 -212 526 752 ; -C -1 ; WX 530 ; N glyph1388 ; B -34 143 530 752 ; -C -1 ; WX 530 ; N glyph1389 ; B -34 143 530 752 ; -C -1 ; WX 563 ; N uni0683 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB77 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB78 ; B -34 -88 530 427 ; -C -1 ; WX 530 ; N uniFB79 ; B -34 -88 530 427 ; -C -1 ; WX 563 ; N uni0684 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB73 ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB74 ; B -34 -166 530 427 ; -C -1 ; WX 530 ; N uniFB75 ; B -34 -166 530 427 ; -C -1 ; WX 563 ; N uni0685 ; B 26 -212 516 752 ; -C -1 ; WX 526 ; N glyph1399 ; B 26 -212 526 752 ; -C -1 ; WX 530 ; N glyph1400 ; B -34 143 530 752 ; -C -1 ; WX 530 ; N glyph1401 ; B -34 143 530 752 ; -C -1 ; WX 563 ; N uni0687 ; B 26 -212 516 432 ; -C -1 ; WX 526 ; N uniFB7f ; B 26 -212 526 426 ; -C -1 ; WX 530 ; N uniFB80 ; B -34 -210 530 427 ; -C -1 ; WX 530 ; N uniFB81 ; B -34 -210 530 427 ; -C -1 ; WX 337 ; N uni0688 ; B 24 143 337 891 ; -C -1 ; WX 337 ; N uniFB89 ; B 24 143 337 891 ; -C -1 ; WX 337 ; N uni0689 ; B 46 31 337 552 ; -C -1 ; WX 337 ; N glyph1409 ; B 46 31 337 552 ; -C -1 ; WX 337 ; N uni068A ; B 46 -46 337 552 ; -C -1 ; WX 337 ; N glyph1411 ; B 46 -46 337 552 ; -C -1 ; WX 337 ; N uni068B ; B 24 -46 337 891 ; -C -1 ; WX 337 ; N glyph1413 ; B 24 -46 337 891 ; -C -1 ; WX 337 ; N uni068C ; B 46 143 337 752 ; -C -1 ; WX 337 ; N uniFB85 ; B 46 143 337 752 ; -C -1 ; WX 337 ; N uni068D ; B 46 -88 337 552 ; -C -1 ; WX 337 ; N uniFB83 ; B 46 -88 337 552 ; -C -1 ; WX 337 ; N uni068E ; B 46 143 337 850 ; -C -1 ; WX 337 ; N uniFB87 ; B 46 143 337 850 ; -C -1 ; WX 337 ; N uni068F ; B 27 143 337 850 ; -C -1 ; WX 337 ; N glyph1421 ; B 27 143 337 850 ; -C -1 ; WX 337 ; N uni0690 ; B 36 143 337 850 ; -C -1 ; WX 337 ; N glyph1423 ; B 36 143 337 850 ; -C -1 ; WX 489 ; N uni0691 ; B 36 -91 489 828 ; -C -1 ; WX 489 ; N uniFB8D ; B 36 -91 489 828 ; -C -1 ; WX 489 ; N uni0692 ; B 36 -91 489 634 ; -C -1 ; WX 489 ; N glyph1426 ; B 36 -91 489 634 ; -C -1 ; WX 489 ; N uni0693 ; B 36 -127 489 430 ; -C -1 ; WX 489 ; N glyph1429 ; B 36 -127 489 430 ; -C -1 ; WX 489 ; N uni0694 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N glyph1431 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N uni0695 ; B 36 -196 489 430 ; -C -1 ; WX 489 ; N glyph1433 ; B 36 -196 489 430 ; -C -1 ; WX 489 ; N uni0696 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N glyph1435 ; B 36 -144 507 430 ; -C -1 ; WX 489 ; N uni0697 ; B 36 -91 489 636 ; -C -1 ; WX 489 ; N glyph1437 ; B 36 -91 489 636 ; -C -1 ; WX 489 ; N uni0699 ; B 36 -91 489 758 ; -C -1 ; WX 489 ; N glyph1439 ; B 36 -91 489 758 ; -C -1 ; WX 821 ; N uni069A ; B 30 -72 821 593 ; -C -1 ; WX 821 ; N glyph1441 ; B 30 -72 821 593 ; -C -1 ; WX 531 ; N glyph1442 ; B -34 -46 531 593 ; -C -1 ; WX 531 ; N glyph1443 ; B -34 -46 531 593 ; -C -1 ; WX 821 ; N uni069B ; B 30 -175 822 417 ; -C -1 ; WX 821 ; N glyph1445 ; B 30 -175 822 417 ; -C -1 ; WX 531 ; N glyph1446 ; B -34 -175 531 401 ; -C -1 ; WX 531 ; N glyph1447 ; B -34 -175 531 401 ; -C -1 ; WX 821 ; N uni069C ; B 30 -175 822 723 ; -C -1 ; WX 821 ; N glyph1449 ; B 30 -175 822 723 ; -C -1 ; WX 531 ; N glyph1450 ; B -34 -175 531 723 ; -C -1 ; WX 531 ; N glyph1451 ; B -34 -175 531 723 ; -C -1 ; WX 1098 ; N uni069D ; B 30 -88 1098 417 ; -C -1 ; WX 1098 ; N glyph1453 ; B 30 -88 1098 417 ; -C -1 ; WX 846 ; N glyph1454 ; B -34 -88 846 405 ; -C -1 ; WX 846 ; N glyph1455 ; B -34 -88 846 405 ; -C -1 ; WX 1098 ; N uni069E ; B 30 -72 1098 723 ; -C -1 ; WX 1098 ; N glyph1457 ; B 30 -72 1098 723 ; -C -1 ; WX 846 ; N glyph1458 ; B -34 143 846 723 ; -C -1 ; WX 846 ; N glyph1459 ; B -34 143 846 723 ; -C -1 ; WX 582 ; N uni069F ; B -34 143 582 793 ; -C -1 ; WX 582 ; N glyph1461 ; B -34 143 582 793 ; -C -1 ; WX 544 ; N uni06A0 ; B 21 -212 516 850 ; -C -1 ; WX 450 ; N glyph1463 ; B 26 -212 486 723 ; -C -1 ; WX 526 ; N glyph1464 ; B -34 143 470 771 ; -C -1 ; WX 394 ; N glyph1465 ; B -34 143 394 723 ; -C -1 ; WX 789 ; N uni06A1 ; B 19 143 789 478 ; -C -1 ; WX 789 ; N uni06A2 ; B 19 -46 789 478 ; -C -1 ; WX 789 ; N glyph1468 ; B 19 -46 789 478 ; -C -1 ; WX 268 ; N glyph1469 ; B -34 -46 268 544 ; -C -1 ; WX 263 ; N glyph1470 ; B -34 -46 263 494 ; -C -1 ; WX 789 ; N uni06A3 ; B 19 -46 789 642 ; -C -1 ; WX 789 ; N glyph1472 ; B 19 -46 789 642 ; -C -1 ; WX 268 ; N glyph1473 ; B -34 -46 268 691 ; -C -1 ; WX 263 ; N glyph1474 ; B -34 -46 263 691 ; -C -1 ; WX 789 ; N uni06A4 ; B 19 143 789 771 ; -C -1 ; WX 789 ; N uniFB6B ; B 19 143 789 771 ; -C -1 ; WX 268 ; N uniFB6C ; B -34 143 268 820 ; -C -1 ; WX 263 ; N uniFB6D ; B -34 143 263 820 ; -C -1 ; WX 789 ; N uni06A5 ; B 19 -175 822 478 ; -C -1 ; WX 789 ; N glyph1480 ; B 19 -175 822 478 ; -C -1 ; WX 268 ; N glyph1481 ; B -34 -175 268 544 ; -C -1 ; WX 263 ; N glyph1482 ; B -34 -175 263 494 ; -C -1 ; WX 789 ; N uni06A6 ; B 19 143 789 801 ; -C -1 ; WX 789 ; N uniFB6F ; B 19 143 789 801 ; -C -1 ; WX 268 ; N uniFB70 ; B -34 143 268 840 ; -C -1 ; WX 263 ; N uniFB71 ; B -34 143 263 840 ; -C -1 ; WX 582 ; N uni06A7 ; B 34 -75 582 627 ; -C -1 ; WX 582 ; N glyph1488 ; B 34 -75 582 627 ; -C -1 ; WX 582 ; N uni06A8 ; B 34 -75 582 723 ; -C -1 ; WX 582 ; N glyph1490 ; B 34 -75 582 723 ; -C -1 ; WX 812 ; N uni06AA ; B 10 143 812 673 ; -C -1 ; WX 933 ; N glyph1492 ; B 10 143 933 673 ; -C -1 ; WX 394 ; N glyph1493 ; B -34 143 394 613 ; -C -1 ; WX 515 ; N glyph1494 ; B -34 143 515 613 ; -C -1 ; WX 812 ; N uni06AB ; B 10 143 812 734 ; -C -1 ; WX 933 ; N glyph1496 ; B 10 143 933 734 ; -C -1 ; WX 394 ; N glyph1497 ; B -34 143 394 734 ; -C -1 ; WX 515 ; N glyph1498 ; B -34 143 515 734 ; -C -1 ; WX 601 ; N uni06AC ; B 22 143 601 775 ; -C -1 ; WX 601 ; N glyph1500 ; B 22 143 601 775 ; -C -1 ; WX 394 ; N glyph1501 ; B -34 143 394 843 ; -C -1 ; WX 394 ; N glyph1502 ; B -34 143 394 843 ; -C -1 ; WX 601 ; N uni06AD ; B 22 143 601 879 ; -C -1 ; WX 601 ; N uniFBD4 ; B 22 143 601 879 ; -C -1 ; WX 394 ; N uniFBD5 ; B -34 143 394 852 ; -C -1 ; WX 394 ; N uniFBD6 ; B -34 143 394 852 ; -C -1 ; WX 601 ; N uni06AE ; B 22 -175 601 775 ; -C -1 ; WX 601 ; N glyph1508 ; B 22 -175 601 775 ; -C -1 ; WX 394 ; N glyph1509 ; B -34 -175 394 734 ; -C -1 ; WX 394 ; N glyph1510 ; B -34 -175 394 734 ; -C -1 ; WX 812 ; N uni06B0 ; B 10 143 812 867 ; -C -1 ; WX 933 ; N glyph1512 ; B 10 143 933 867 ; -C -1 ; WX 394 ; N glyph1513 ; B -34 143 394 876 ; -C -1 ; WX 515 ; N glyph1514 ; B -34 143 515 876 ; -C -1 ; WX 812 ; N uni06B1 ; B 10 143 812 891 ; -C -1 ; WX 933 ; N uniFB9B ; B 10 143 933 891 ; -C -1 ; WX 394 ; N uniFB9C ; B -34 143 394 891 ; -C -1 ; WX 515 ; N uniFB9D ; B -34 143 515 891 ; -C -1 ; WX 812 ; N uni06B2 ; B 10 -88 812 867 ; -C -1 ; WX 933 ; N glyph1520 ; B 10 -88 933 867 ; -C -1 ; WX 394 ; N glyph1521 ; B -34 -88 394 876 ; -C -1 ; WX 515 ; N glyph1522 ; B -34 -88 515 876 ; -C -1 ; WX 812 ; N uni06B3 ; B 10 -166 812 867 ; -C -1 ; WX 933 ; N uniFB97 ; B 10 -166 933 867 ; -C -1 ; WX 394 ; N uniFB98 ; B -34 -166 394 876 ; -C -1 ; WX 515 ; N uniFB99 ; B -34 -166 515 876 ; -C -1 ; WX 812 ; N uni06B4 ; B 10 143 812 891 ; -C -1 ; WX 933 ; N glyph1528 ; B 10 143 933 891 ; -C -1 ; WX 394 ; N glyph1529 ; B -34 143 394 891 ; -C -1 ; WX 515 ; N glyph1530 ; B -34 143 515 891 ; -C -1 ; WX 506 ; N uni06B5 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1532 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1533 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1534 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B6 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1536 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1537 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1538 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B7 ; B 35 7 506 891 ; -C -1 ; WX 506 ; N glyph1540 ; B 35 7 506 891 ; -C -1 ; WX 207 ; N glyph1541 ; B -34 143 207 891 ; -C -1 ; WX 207 ; N glyph1542 ; B -34 143 207 891 ; -C -1 ; WX 506 ; N uni06B8 ; B 35 -205 506 775 ; -C -1 ; WX 506 ; N glyph1544 ; B 35 -205 506 775 ; -C -1 ; WX 207 ; N glyph1545 ; B -34 -175 217 775 ; -C -1 ; WX 207 ; N glyph1546 ; B -34 -175 217 775 ; -C -1 ; WX 526 ; N uni06B9 ; B 34 -210 526 558 ; -C -1 ; WX 526 ; N glyph1548 ; B 34 -210 526 558 ; -C -1 ; WX 244 ; N glyph1549 ; B -34 -46 244 636 ; -C -1 ; WX 244 ; N glyph1550 ; B -34 -46 244 636 ; -C -1 ; WX 526 ; N uni06BA ; B 34 -72 526 417 ; -C -1 ; WX 526 ; N uniFB9F ; B 34 -72 526 417 ; -C -1 ; WX 526 ; N uni06BB ; B 34 -72 526 789 ; -C -1 ; WX 526 ; N uniFBA1 ; B 34 -72 526 789 ; -C -1 ; WX 526 ; N uni06BC ; B 34 -184 526 558 ; -C -1 ; WX 526 ; N glyph1556 ; B 34 -184 526 558 ; -C -1 ; WX 244 ; N glyph1557 ; B -34 31 244 636 ; -C -1 ; WX 244 ; N glyph1558 ; B -34 31 244 636 ; -C -1 ; WX 526 ; N uni06BD ; B 34 -72 526 723 ; -C -1 ; WX 526 ; N glyph1560 ; B 34 -72 526 723 ; -C -1 ; WX 563 ; N uni06BF ; B 26 -212 516 639 ; -C -1 ; WX 526 ; N glyph1562 ; B 26 -212 526 639 ; -C -1 ; WX 530 ; N glyph1563 ; B -34 -175 530 639 ; -C -1 ; WX 530 ; N glyph1564 ; B -34 -175 530 639 ; -C -1 ; WX 282 ; N uni06C0 ; B 26 130 262 636 ; -C -1 ; WX 375 ; N uniFBA5 ; B -4 143 375 733 ; -C -1 ; WX 388 ; N uni06C1 ; B 13 71 388 328 ; -C -1 ; WX 388 ; N uni06C2 ; B 13 71 388 538 ; -C -1 ; WX 388 ; N uni06C3 ; B 13 71 388 557 ; -C -1 ; WX 432 ; N uni06C4 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N glyph1571 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uni06C5 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uniFBE1 ; B 24 -77 432 385 ; -C -1 ; WX 432 ; N uni06C6 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uniFBDA ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uni06C7 ; B 24 -77 432 665 ; -C -1 ; WX 432 ; N uniFBD8 ; B 24 -77 432 665 ; -C -1 ; WX 432 ; N uni06C8 ; B 24 -77 432 741 ; -C -1 ; WX 432 ; N uniFBDC ; B 24 -77 432 741 ; -C -1 ; WX 432 ; N uni06C9 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uniFBE3 ; B 24 -77 436 585 ; -C -1 ; WX 432 ; N uni06CA ; B 24 -77 432 623 ; -C -1 ; WX 432 ; N glyph1583 ; B 24 -77 432 623 ; -C -1 ; WX 432 ; N uni06CB ; B 24 -77 437 710 ; -C -1 ; WX 432 ; N uniFBDF ; B 24 -77 437 710 ; -C -1 ; WX 638 ; N uni06CD ; B -34 -43 606 462 ; -C -1 ; WX 588 ; N glyph1587 ; B -34 -110 588 252 ; -C -1 ; WX 638 ; N uni06CE ; B 24 -43 606 522 ; -C -1 ; WX 588 ; N glyph1589 ; B 18 -110 588 424 ; -C -1 ; WX 244 ; N glyph1590 ; B -34 -69 244 620 ; -C -1 ; WX 244 ; N glyph1591 ; B -34 -69 244 620 ; -C -1 ; WX 432 ; N uni06CF ; B 24 -77 432 586 ; -C -1 ; WX 432 ; N glyph1593 ; B 24 -77 432 586 ; -C -1 ; WX 638 ; N uni06D0 ; B 24 -182 606 462 ; -C -1 ; WX 588 ; N uniFBE5 ; B 18 -212 588 252 ; -C -1 ; WX 244 ; N uniFBE6 ; B -34 -166 244 456 ; -C -1 ; WX 244 ; N uniFBE7 ; B -34 -166 244 456 ; -C -1 ; WX 638 ; N uni06D1 ; B 24 -168 606 462 ; -C -1 ; WX 588 ; N glyph1599 ; B 18 -212 588 252 ; -C -1 ; WX 812 ; N uni06D2 ; B 34 -25 812 373 ; -C -1 ; WX 812 ; N uniFBAF ; B 34 -208 812 228 ; -C -1 ; WX 812 ; N uni06D3 ; B 34 -25 812 489 ; -C -1 ; WX 812 ; N uniFBB1 ; B 34 -208 812 450 ; -C -1 ; WX 207 ; N uni06D4 ; B 20 143 188 228 ; -C -1 ; WX 0 ; N uni06D6 ; B -230 519 231 886 ; -C -1 ; WX 0 ; N uni06D7 ; B -171 519 194 886 ; -C -1 ; WX 0 ; N uni06D8 ; B -102 519 102 646 ; -C -1 ; WX 0 ; N uni06D9 ; B -111 519 111 826 ; -C -1 ; WX 0 ; N uni06DA ; B -116 519 116 825 ; -C -1 ; WX 0 ; N uni06DB ; B -54 519 54 634 ; -C -1 ; WX 0 ; N uni06DC ; B -188 519 188 752 ; -C -1 ; WX 1123 ; N uni06DD ; B 24 -188 1099 886 ; -C -1 ; WX 1084 ; N uni06DE ; B 24 -152 1060 884 ; -C -1 ; WX 0 ; N uni06DF ; B -37 519 37 592 ; -C -1 ; WX 0 ; N uni06E0 ; B -36 519 36 591 ; -C -1 ; WX 0 ; N uni06E1 ; B -134 519 134 654 ; -C -1 ; WX 0 ; N uni06E2 ; B -76 519 77 790 ; -C -1 ; WX 0 ; N uni06E3 ; B -188 -179 188 54 ; -C -1 ; WX 0 ; N uni06E4 ; B -47 519 47 545 ; -C -1 ; WX 194 ; N uni06E5 ; B 0 519 194 738 ; -C -1 ; WX 370 ; N uni06E6 ; B -1 519 370 708 ; -C -1 ; WX 0 ; N uni06E7 ; B -187 519 185 708 ; -C -1 ; WX 0 ; N uni06E8 ; B -117 519 117 819 ; -C -1 ; WX 600 ; N uni06E9 ; B 24 0 576 818 ; -C -1 ; WX 0 ; N uni06EA ; B -82 -165 82 -1 ; -C -1 ; WX 0 ; N uni06EB ; B -82 519 82 683 ; -C -1 ; WX 0 ; N uni06ED ; B -76 -179 77 92 ; -C -1 ; WX 821 ; N uni06FA ; B 30 -72 821 723 ; -C -1 ; WX 821 ; N glyph1629 ; B 30 -72 821 723 ; -C -1 ; WX 531 ; N glyph1630 ; B -34 -46 531 723 ; -C -1 ; WX 531 ; N glyph1631 ; B -34 -46 531 723 ; -C -1 ; WX 1098 ; N uni06FB ; B 30 -72 1098 590 ; -C -1 ; WX 1098 ; N glyph1633 ; B 30 -72 1098 590 ; -C -1 ; WX 846 ; N glyph1634 ; B -34 -46 846 590 ; -C -1 ; WX 846 ; N glyph1635 ; B -34 -46 846 590 ; -C -1 ; WX 544 ; N uni06FC ; B 21 -212 516 737 ; -C -1 ; WX 450 ; N glyph1637 ; B 26 -212 486 639 ; -C -1 ; WX 526 ; N glyph1638 ; B -34 -46 470 639 ; -C -1 ; WX 394 ; N glyph1639 ; B -34 -46 394 639 ; -C -1 ; WX 413 ; N uni06FD ; B 59 -145 363 400 ; -C -1 ; WX 338 ; N uni06FE ; B 17 -212 338 357 ; -C -1 ; WX 282 ; N uniFBA6 ; B 26 130 262 430 ; -C -1 ; WX 244 ; N uniFBA8 ; B -34 -132 244 456 ; -C -1 ; WX 320 ; N uniFBA9 ; B -34 -205 320 365 ; -C -1 ; WX 244 ; N glyph1645 ; B 23 -68 222 49 ; -C -1 ; WX 244 ; N glyph1646 ; B 29 -151 226 -20 ; -C -1 ; WX 244 ; N glyph1647 ; B 9 -136 236 59 ; -C -1 ; WX 244 ; N glyph1648 ; B 86 -64 162 34 ; -C -1 ; WX 244 ; N glyph1649 ; B 53 -70 197 27 ; -C -1 ; WX 812 ; N glyph1650 ; B 10 143 812 852 ; -C -1 ; WX 933 ; N glyph1651 ; B 10 143 933 852 ; -C -1 ; WX 267 ; N uniFB1D ; B 33 79 223 554 ; -C -1 ; WX 0 ; N uniFB1E ; B -137 596 142 732 ; -C -1 ; WX 342 ; N glyph1654 ; B 0 140 342 191 ; -C -1 ; WX 533 ; N uniFB1F ; B 33 140 490 554 ; -C -1 ; WX 544 ; N glyph1656 ; B -5 79 507 890 ; -C -1 ; WX 601 ; N glyph1657 ; B -5 118 601 890 ; -C -1 ; WX 544 ; N glyph1658 ; B 41 -107 507 724 ; -C -1 ; WX 601 ; N glyph1659 ; B 32 -107 601 733 ; -C -1 ; WX 544 ; N glyph1660 ; B 41 79 507 782 ; -C -1 ; WX 601 ; N glyph1661 ; B 32 118 601 782 ; -C -1 ; WX 544 ; N glyph1662 ; B 41 79 514 891 ; -C -1 ; WX 601 ; N glyph1663 ; B 32 118 601 891 ; -C -1 ; WX 544 ; N glyph1664 ; B 41 79 507 891 ; -C -1 ; WX 601 ; N glyph1665 ; B 32 118 601 891 ; -C -1 ; WX 544 ; N glyph1666 ; B 41 79 507 891 ; -C -1 ; WX 601 ; N glyph1667 ; B 32 118 601 891 ; -C -1 ; WX 544 ; N glyph1668 ; B 41 -159 507 724 ; -C -1 ; WX 601 ; N glyph1669 ; B 32 -159 601 733 ; -C -1 ; WX 526 ; N glyph1670 ; B 55 143 485 713 ; -C -1 ; WX 526 ; N glyph1671 ; B 84 107 461 713 ; -C -1 ; WX 544 ; N glyph1672 ; B 7 79 507 891 ; -C -1 ; WX 601 ; N glyph1673 ; B 7 118 601 891 ; -EndCharMetrics -StartKernData -StartKernPairs 867 -KPX space A -55 -KPX space T -18 -KPX space V -18 -KPX space W -18 -KPX space Y -37 -KPX space Alphatonos -55 -KPX space Alpha -55 -KPX space Delta -55 -KPX space Lambda -55 -KPX space Tau -18 -KPX space Upsilon -37 -KPX space Upsilondieresis -37 -KPX one one -37 -KPX A space -55 -KPX A T -111 -KPX A V -129 -KPX A W -80 -KPX A Y -92 -KPX A v -74 -KPX A w -92 -KPX A y -92 -KPX A quoteright -111 -KPX F comma -80 -KPX F period -80 -KPX F A -74 -KPX L space -37 -KPX L T -92 -KPX L V -92 -KPX L W -74 -KPX L Y -100 -KPX L y -55 -KPX L quoteright -92 -KPX P space -37 -KPX P comma -111 -KPX P period -111 -KPX P A -92 -KPX R T -60 -KPX R V -80 -KPX R W -55 -KPX R Y -55 -KPX R y -40 -KPX T space -18 -KPX T comma -74 -KPX T hyphen -92 -KPX T period -74 -KPX T colon -50 -KPX T semicolon -55 -KPX T A -80 -KPX T O -18 -KPX T a -70 -KPX T c -70 -KPX T e -70 -KPX T i -35 -KPX T o -70 -KPX T r -35 -KPX T s -70 -KPX T u -35 -KPX T w -70 -KPX T y -70 -KPX V space -18 -KPX V comma -129 -KPX V hyphen -92 -KPX V period -129 -KPX V colon -74 -KPX V semicolon -74 -KPX V A -129 -KPX V a -111 -KPX V e -111 -KPX V i -60 -KPX V o -129 -KPX V r -60 -KPX V u -60 -KPX V y -111 -KPX W space -18 -KPX W comma -92 -KPX W hyphen -55 -KPX W period -92 -KPX W colon -37 -KPX W semicolon -37 -KPX W A -111 -KPX W a -80 -KPX W e -80 -KPX W i -40 -KPX W o -80 -KPX W r -40 -KPX W u -40 -KPX W y -60 -KPX Y space -37 -KPX Y comma -129 -KPX Y hyphen -111 -KPX Y period -129 -KPX Y colon -92 -KPX Y semicolon -92 -KPX Y A -111 -KPX Y a -100 -KPX Y e -100 -KPX Y i -55 -KPX Y o -100 -KPX Y p -92 -KPX Y q -111 -KPX Y u -111 -KPX Y v -100 -KPX f f -18 -KPX f quoteright 55 -KPX r comma -40 -KPX r hyphen -20 -KPX r period -55 -KPX r g -18 -KPX r quoteright 37 -KPX v comma -65 -KPX v period -65 -KPX w comma -65 -KPX w period -65 -KPX y comma -65 -KPX y period -65 -KPX quoteleft quoteleft -74 -KPX quoteright space -74 -KPX quoteright s -55 -KPX quoteright t -18 -KPX quoteright quoteright -74 -KPX quotesinglbase afii10051 -100 -KPX quotesinglbase afii10060 -100 -KPX quotesinglbase afii10036 -100 -KPX quotesinglbase afii10041 -188 -KPX quotesinglbase afii10044 -100 -KPX quotedblbase afii10051 -100 -KPX quotedblbase afii10060 -100 -KPX quotedblbase afii10036 -100 -KPX quotedblbase afii10041 -188 -KPX quotedblbase afii10044 -100 -KPX Gamma comma -120 -KPX Gamma period -120 -KPX Gamma iotadieresistonos 37 -KPX Gamma Alpha -155 -KPX Gamma Delta -118 -KPX Gamma Lambda -155 -KPX Gamma iota -35 -KPX Theta Alpha -48 -KPX Theta Delta -25 -KPX Theta Lambda -48 -KPX Theta Upsilon -50 -KPX Theta Upsilondieresis -50 -KPX Phi Alpha -48 -KPX Phi Upsilon -75 -KPX Phi Upsilondieresis -75 -KPX Alphatonos space -55 -KPX Alphatonos Theta -41 -KPX Alphatonos Phi -41 -KPX Alphatonos Omicron -41 -KPX Alphatonos Tau -110 -KPX Alphatonos Upsilon -152 -KPX Alphatonos Upsilondieresis -152 -KPX Alphatonos gamma -69 -KPX Alphatonos nu -74 -KPX Alphatonos chi -69 -KPX Omicrontonos Alpha -48 -KPX Omicrontonos Delta -25 -KPX Omicrontonos Lambda -48 -KPX Omicrontonos Upsilon -50 -KPX Omicrontonos Upsilondieresis -50 -KPX Upsilontonos Theta -89 -KPX Upsilontonos Phi -114 -KPX Upsilontonos alpha -100 -KPX Upsilontonos delta -83 -KPX Upsilontonos sigma -112 -KPX Upsilontonos phi -100 -KPX Upsilontonos Alpha -164 -KPX Upsilontonos Delta -125 -KPX Upsilontonos Lambda -164 -KPX Upsilontonos Omicron -89 -KPX Upsilontonos Omega -89 -KPX Upsilontonos alphatonos -100 -KPX Upsilontonos etatonos -55 -KPX Upsilontonos iotatonos -55 -KPX Upsilontonos eta -55 -KPX Upsilontonos iota -55 -KPX Upsilontonos kappa -79 -KPX Upsilontonos mu -79 -KPX Upsilontonos omicron -100 -KPX Upsilontonos iotadieresis -55 -KPX Upsilontonos omicrontonos -100 -KPX Omegatonos Upsilon -50 -KPX Alpha space -55 -KPX Alpha quoteright -110 -KPX Alpha Theta -41 -KPX Alpha Phi -41 -KPX Alpha Omicron -41 -KPX Alpha Tau -110 -KPX Alpha Upsilon -152 -KPX Alpha Upsilondieresis -152 -KPX Alpha gamma -69 -KPX Alpha nu -74 -KPX Alpha chi -69 -KPX Delta space -55 -KPX Delta Omicron -18 -KPX Delta Tau -69 -KPX Delta Upsilon -93 -KPX Delta Upsilondieresis -93 -KPX Kappa Theta -69 -KPX Kappa Phi -69 -KPX Kappa alpha -37 -KPX Kappa delta -37 -KPX Kappa sigma -37 -KPX Kappa phi -37 -KPX Kappa Omicron -69 -KPX Kappa Tau -44 -KPX Kappa alphatonos -37 -KPX Kappa zeta -37 -KPX Kappa theta -37 -KPX Kappa xi -37 -KPX Kappa omega -37 -KPX Kappa omegatonos -37 -KPX Lambda space -26 -KPX Lambda Theta -41 -KPX Lambda Omicron -41 -KPX Lambda Tau -110 -KPX Lambda Upsilon -152 -KPX Lambda Upsilondieresis -152 -KPX Omicron Alpha -48 -KPX Omicron Delta -25 -KPX Omicron Lambda -48 -KPX Omicron Upsilon -50 -KPX Omicron Upsilondieresis -50 -KPX Rho comma -110 -KPX Rho period -110 -KPX Rho Alpha -91 -KPX Rho Delta -78 -KPX Rho Lambda -91 -KPX Sigma tau -18 -KPX Tau space -18 -KPX Tau comma -74 -KPX Tau hyphen -91 -KPX Tau period -74 -KPX Tau colon -49 -KPX Tau semicolon -49 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -69 -KPX Tau delta -69 -KPX Tau epsilon -69 -KPX Tau sigma -69 -KPX Tau phi -69 -KPX Tau iotadieresistonos 37 -KPX Tau Alpha -80 -KPX Tau Delta -84 -KPX Tau Lambda -108 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -69 -KPX Tau epsilontonos -69 -KPX Tau gamma -50 -KPX Tau eta -37 -KPX Tau iota -35 -KPX Tau mu -37 -KPX Tau nu -35 -KPX Tau omicron -69 -KPX Tau chi -35 -KPX Tau psi -37 -KPX Tau upsilondieresis -37 -KPX Tau omicrontonos -69 -KPX Tau upsilontonos -37 -KPX Upsilon space -37 -KPX Upsilon comma -128 -KPX Upsilon hyphen -110 -KPX Upsilon period -124 -KPX Upsilon colon -91 -KPX Upsilon semicolon -91 -KPX Upsilon Theta -89 -KPX Upsilon Phi -114 -KPX Upsilon alpha -100 -KPX Upsilon delta -83 -KPX Upsilon sigma -112 -KPX Upsilon phi -100 -KPX Upsilon Alpha -164 -KPX Upsilon Delta -125 -KPX Upsilon Lambda -164 -KPX Upsilon Omicron -89 -KPX Upsilon Omega -89 -KPX Upsilon alphatonos -100 -KPX Upsilon etatonos -55 -KPX Upsilon iotatonos -55 -KPX Upsilon gamma -101 -KPX Upsilon eta -55 -KPX Upsilon iota -55 -KPX Upsilon kappa -79 -KPX Upsilon mu -79 -KPX Upsilon omicron -100 -KPX Upsilon iotadieresis -55 -KPX Upsilon omicrontonos -100 -KPX Chi omega -32 -KPX Chi omegatonos -32 -KPX Psi alpha -64 -KPX Psi delta -64 -KPX Psi sigma -64 -KPX Psi phi -64 -KPX Psi alphatonos -64 -KPX Psi theta -18 -KPX Psi omicron -64 -KPX Psi omega -64 -KPX Psi omicrontonos -64 -KPX Psi omegatonos -64 -KPX Omega Upsilon -50 -KPX Omega Upsilondieresis -50 -KPX Upsilondieresis space -37 -KPX Upsilondieresis Theta -89 -KPX Upsilondieresis Phi -89 -KPX Upsilondieresis alpha -100 -KPX Upsilondieresis delta -83 -KPX Upsilondieresis sigma -112 -KPX Upsilondieresis phi -100 -KPX Upsilondieresis Alpha -164 -KPX Upsilondieresis Delta -125 -KPX Upsilondieresis Lambda -164 -KPX Upsilondieresis Omicron -89 -KPX Upsilondieresis Omega -89 -KPX Upsilondieresis alphatonos -100 -KPX Upsilondieresis etatonos -55 -KPX Upsilondieresis iotatonos -55 -KPX Upsilondieresis eta -55 -KPX Upsilondieresis iota -55 -KPX Upsilondieresis kappa -79 -KPX Upsilondieresis mu -79 -KPX Upsilondieresis omicron -100 -KPX Upsilondieresis iotadieresis -55 -KPX Upsilondieresis omicrontonos -100 -KPX gamma epsilon -17 -KPX zeta alpha -36 -KPX zeta delta -36 -KPX zeta sigma -36 -KPX zeta tau -73 -KPX zeta phi -36 -KPX zeta alphatonos -36 -KPX zeta etatonos -39 -KPX zeta gamma -36 -KPX zeta eta -39 -KPX zeta theta -36 -KPX zeta iota -59 -KPX zeta kappa -29 -KPX zeta nu -36 -KPX zeta omicron -37 -KPX zeta omega -36 -KPX zeta omicrontonos -36 -KPX zeta omegatonos -36 -KPX kappa alpha -9 -KPX kappa delta -22 -KPX kappa sigma -22 -KPX kappa phi -9 -KPX kappa alphatonos -9 -KPX kappa xi -22 -KPX kappa omicron -22 -KPX kappa sigma1 -22 -KPX kappa omega -9 -KPX kappa omicrontonos -22 -KPX kappa omegatonos -9 -KPX lambda etatonos -9 -KPX lambda upsilondieresistonos -18 -KPX lambda eta -9 -KPX lambda iota -12 -KPX lambda kappa -9 -KPX lambda nu -19 -KPX lambda upsilon -18 -KPX lambda upsilondieresis -18 -KPX lambda upsilontonos -18 -KPX xi alpha -37 -KPX xi delta -37 -KPX xi sigma -37 -KPX xi phi -37 -KPX xi alphatonos -37 -KPX xi zeta -37 -KPX xi xi -37 -KPX xi omicron -37 -KPX xi sigma1 -37 -KPX xi omicrontonos -37 -KPX chi alpha -22 -KPX chi delta -22 -KPX chi sigma -22 -KPX chi phi -22 -KPX chi alphatonos -22 -KPX chi omicron -22 -KPX chi sigma1 -22 -KPX chi omega -22 -KPX chi omicrontonos -22 -KPX chi omegatonos -22 -KPX afii10052 comma -138 -KPX afii10052 period -138 -KPX afii10052 guillemotleft -63 -KPX afii10052 guillemotright -25 -KPX afii10052 emdash -25 -KPX afii10058 quoteright -50 -KPX afii10059 quoteright -50 -KPX afii10017 quoteright -88 -KPX afii10017 afii10025 -25 -KPX afii10017 afii10032 -50 -KPX afii10017 afii10035 -50 -KPX afii10017 afii10036 -88 -KPX afii10017 afii10037 -88 -KPX afii10017 afii10038 -63 -KPX afii10017 afii10041 -152 -KPX afii10017 afii10047 -25 -KPX afii10017 afii10065 -13 -KPX afii10017 afii10066 -51 -KPX afii10017 afii10070 -25 -KPX afii10017 afii10080 -51 -KPX afii10017 afii10083 -25 -KPX afii10017 afii10084 -50 -KPX afii10017 afii10085 -50 -KPX afii10017 afii10086 -38 -KPX afii10018 afii10017 -13 -KPX afii10018 afii10021 -38 -KPX afii10018 afii10024 -25 -KPX afii10018 afii10029 -25 -KPX afii10018 afii10032 -7 -KPX afii10018 afii10035 -7 -KPX afii10018 afii10036 -13 -KPX afii10018 afii10037 -35 -KPX afii10018 afii10038 -15 -KPX afii10018 afii10039 -25 -KPX afii10018 afii10041 -50 -KPX afii10018 afii10044 -38 -KPX afii10018 afii10049 -33 -KPX afii10018 afii10069 -25 -KPX afii10018 afii10077 -13 -KPX afii10018 afii10085 -25 -KPX afii10019 afii10017 -63 -KPX afii10019 afii10021 -38 -KPX afii10019 afii10024 -25 -KPX afii10019 afii10029 -38 -KPX afii10019 afii10036 -13 -KPX afii10019 afii10037 -81 -KPX afii10019 afii10039 -25 -KPX afii10019 afii10041 -50 -KPX afii10019 afii10044 -53 -KPX afii10019 afii10049 -50 -KPX afii10019 afii10069 -25 -KPX afii10019 afii10085 -13 -KPX afii10019 afii10087 -13 -KPX afii10019 afii10089 -25 -KPX afii10020 comma -113 -KPX afii10020 period -113 -KPX afii10020 guillemotleft -63 -KPX afii10020 guillemotright -25 -KPX afii10020 emdash -25 -KPX afii10020 afii10017 -109 -KPX afii10020 afii10021 -88 -KPX afii10020 afii10025 25 -KPX afii10020 afii10029 -75 -KPX afii10020 afii10030 -13 -KPX afii10020 afii10032 -25 -KPX afii10020 afii10035 -13 -KPX afii10020 afii10049 -75 -KPX afii10020 afii10065 -25 -KPX afii10020 afii10067 -38 -KPX afii10020 afii10069 -75 -KPX afii10020 afii10070 -76 -KPX afii10020 afii10074 -38 -KPX afii10020 afii10077 -75 -KPX afii10020 afii10078 -38 -KPX afii10020 afii10079 -38 -KPX afii10020 afii10080 -88 -KPX afii10020 afii10082 -63 -KPX afii10020 afii10085 -38 -KPX afii10020 afii10093 -63 -KPX afii10020 afii10094 -63 -KPX afii10020 afii10096 -50 -KPX afii10020 afii10097 -75 -KPX afii10021 afii10025 25 -KPX afii10021 afii10037 12 -KPX afii10021 afii10047 25 -KPX afii10021 afii10070 12 -KPX afii10021 afii10073 25 -KPX afii10022 afii10025 12 -KPX afii10022 afii10029 -13 -KPX afii10024 afii10025 -25 -KPX afii10024 afii10032 -25 -KPX afii10024 afii10035 -25 -KPX afii10024 afii10036 -17 -KPX afii10024 afii10037 -14 -KPX afii10024 afii10044 -10 -KPX afii10024 afii10065 -25 -KPX afii10024 afii10066 -50 -KPX afii10024 afii10070 -51 -KPX afii10024 afii10080 -51 -KPX afii10024 afii10085 -49 -KPX afii10025 afii10021 -61 -KPX afii10025 afii10024 -13 -KPX afii10025 afii10029 -44 -KPX afii10025 afii10037 -25 -KPX afii10025 afii10041 -38 -KPX afii10025 afii10049 -38 -KPX afii10025 afii10069 -25 -KPX afii10025 afii10077 -13 -KPX afii10028 afii10032 -25 -KPX afii10028 afii10035 -25 -KPX afii10028 afii10037 -20 -KPX afii10028 afii10038 -44 -KPX afii10028 afii10041 -13 -KPX afii10028 afii10047 12 -KPX afii10028 afii10065 -13 -KPX afii10028 afii10070 -38 -KPX afii10028 afii10073 -13 -KPX afii10028 afii10080 -50 -KPX afii10028 afii10083 -25 -KPX afii10028 afii10084 -38 -KPX afii10028 afii10085 -75 -KPX afii10028 afii10095 -13 -KPX afii10029 afii10038 -13 -KPX afii10029 afii10066 -13 -KPX afii10029 afii10070 -7 -KPX afii10029 afii10080 -25 -KPX afii10029 afii10085 -25 -KPX afii10030 afii10038 -13 -KPX afii10030 afii10070 -13 -KPX afii10030 afii10080 -25 -KPX afii10030 afii10085 -25 -KPX afii10030 afii10089 -38 -KPX afii10032 afii10017 -50 -KPX afii10032 afii10021 -50 -KPX afii10032 afii10024 -25 -KPX afii10032 afii10029 -50 -KPX afii10032 afii10035 12 -KPX afii10032 afii10037 -56 -KPX afii10032 afii10038 12 -KPX afii10032 afii10039 -78 -KPX afii10032 afii10041 -25 -KPX afii10032 afii10049 -72 -KPX afii10032 afii10069 -13 -KPX afii10034 comma -125 -KPX afii10034 period -125 -KPX afii10034 colon 37 -KPX afii10034 semicolon 37 -KPX afii10034 guillemotright 25 -KPX afii10034 afii10017 -128 -KPX afii10034 afii10021 -75 -KPX afii10034 afii10024 -35 -KPX afii10034 afii10025 12 -KPX afii10034 afii10029 -75 -KPX afii10034 afii10032 12 -KPX afii10034 afii10035 12 -KPX afii10034 afii10036 12 -KPX afii10034 afii10037 -25 -KPX afii10034 afii10038 -17 -KPX afii10034 afii10039 -71 -KPX afii10034 afii10049 -63 -KPX afii10034 afii10069 -38 -KPX afii10034 afii10070 -13 -KPX afii10034 afii10080 -25 -KPX afii10034 afii10095 25 -KPX afii10034 afii10097 -38 -KPX afii10035 afii10017 -50 -KPX afii10035 afii10021 -50 -KPX afii10035 afii10029 -25 -KPX afii10035 afii10037 -13 -KPX afii10035 afii10039 -26 -KPX afii10035 afii10041 -25 -KPX afii10035 afii10044 -13 -KPX afii10035 afii10066 12 -KPX afii10035 afii10070 12 -KPX afii10035 afii10083 12 -KPX afii10035 afii10084 -13 -KPX afii10035 afii10085 -25 -KPX afii10035 afii10089 -13 -KPX afii10035 afii10095 12 -KPX afii10036 comma -100 -KPX afii10036 period -100 -KPX afii10036 guillemotleft -50 -KPX afii10036 guillemotright -26 -KPX afii10036 afii10017 -50 -KPX afii10036 afii10021 -63 -KPX afii10036 afii10029 -50 -KPX afii10036 afii10030 -13 -KPX afii10036 afii10032 -13 -KPX afii10036 afii10038 -22 -KPX afii10036 afii10049 -38 -KPX afii10036 afii10065 -25 -KPX afii10036 afii10067 -50 -KPX afii10036 afii10070 -38 -KPX afii10036 afii10074 -25 -KPX afii10036 afii10076 -25 -KPX afii10036 afii10077 -50 -KPX afii10036 afii10078 -25 -KPX afii10036 afii10080 -75 -KPX afii10036 afii10081 -38 -KPX afii10036 afii10082 -38 -KPX afii10036 afii10083 -38 -KPX afii10036 afii10085 -50 -KPX afii10036 afii10087 -50 -KPX afii10036 afii10091 -38 -KPX afii10036 afii10093 -50 -KPX afii10036 afii10094 -63 -KPX afii10036 afii10096 -50 -KPX afii10036 afii10097 -38 -KPX afii10037 comma -163 -KPX afii10037 period -163 -KPX afii10037 colon -38 -KPX afii10037 semicolon -38 -KPX afii10037 guillemotleft -88 -KPX afii10037 guillemotright -63 -KPX afii10037 emdash -25 -KPX afii10037 afii10017 -191 -KPX afii10037 afii10021 -101 -KPX afii10037 afii10025 -13 -KPX afii10037 afii10029 -113 -KPX afii10037 afii10032 -50 -KPX afii10037 afii10038 -74 -KPX afii10037 afii10047 -13 -KPX afii10037 afii10049 -113 -KPX afii10037 afii10066 -63 -KPX afii10037 afii10067 -113 -KPX afii10037 afii10068 -88 -KPX afii10037 afii10069 -140 -KPX afii10037 afii10070 -120 -KPX afii10037 afii10072 -88 -KPX afii10037 afii10073 -88 -KPX afii10037 afii10074 -88 -KPX afii10037 afii10075 -50 -KPX afii10037 afii10076 -88 -KPX afii10037 afii10077 -113 -KPX afii10037 afii10078 -88 -KPX afii10037 afii10079 -88 -KPX afii10037 afii10080 -113 -KPX afii10037 afii10081 -88 -KPX afii10037 afii10082 -88 -KPX afii10037 afii10083 -120 -KPX afii10037 afii10087 -100 -KPX afii10037 afii10088 -88 -KPX afii10037 afii10090 -88 -KPX afii10037 afii10091 -88 -KPX afii10037 afii10096 -88 -KPX afii10037 afii10097 -113 -KPX afii10038 afii10017 -63 -KPX afii10038 afii10021 -88 -KPX afii10038 afii10029 -75 -KPX afii10038 afii10032 12 -KPX afii10038 afii10036 -25 -KPX afii10038 afii10037 -76 -KPX afii10038 afii10041 -63 -KPX afii10038 afii10049 -88 -KPX afii10038 afii10077 -50 -KPX afii10039 afii10025 -25 -KPX afii10039 afii10032 -51 -KPX afii10039 afii10035 -38 -KPX afii10039 afii10038 -88 -KPX afii10039 afii10047 -13 -KPX afii10039 afii10080 -63 -KPX afii10039 afii10085 -88 -KPX afii10040 afii10032 -13 -KPX afii10040 afii10080 -13 -KPX afii10043 afii10085 12 -KPX afii10044 quoteright -63 -KPX afii10044 afii10049 -60 -KPX afii10046 quoteright -63 -KPX afii10046 afii10017 -43 -KPX afii10046 afii10021 -73 -KPX afii10046 afii10024 -63 -KPX afii10046 afii10025 -38 -KPX afii10046 afii10029 -40 -KPX afii10046 afii10030 -40 -KPX afii10046 afii10032 -25 -KPX afii10046 afii10035 -25 -KPX afii10046 afii10036 -75 -KPX afii10046 afii10039 -72 -KPX afii10046 afii10041 -112 -KPX afii10046 afii10047 -13 -KPX afii10046 afii10049 -53 -KPX afii10047 afii10021 -84 -KPX afii10047 afii10024 -25 -KPX afii10047 afii10025 12 -KPX afii10047 afii10029 -63 -KPX afii10047 afii10032 12 -KPX afii10047 afii10038 5 -KPX afii10047 afii10039 -51 -KPX afii10047 afii10049 -54 -KPX afii10047 afii10069 -25 -KPX afii10047 afii10077 -13 -KPX afii10048 afii10017 -38 -KPX afii10048 afii10021 -75 -KPX afii10048 afii10024 -70 -KPX afii10048 afii10029 -50 -KPX afii10048 afii10032 12 -KPX afii10048 afii10036 -25 -KPX afii10048 afii10039 -91 -KPX afii10048 afii10041 -38 -KPX afii10048 afii10069 -25 -KPX afii10048 afii10072 12 -KPX afii10048 afii10077 -13 -KPX afii10065 afii10077 9 -KPX afii10065 afii10081 -13 -KPX afii10065 afii10084 -26 -KPX afii10065 afii10085 -51 -KPX afii10065 afii10089 -40 -KPX afii10066 afii10069 -25 -KPX afii10066 afii10070 -13 -KPX afii10066 afii10072 -25 -KPX afii10066 afii10077 -25 -KPX afii10066 afii10078 -10 -KPX afii10066 afii10085 -38 -KPX afii10066 afii10087 -38 -KPX afii10066 afii10089 -38 -KPX afii10066 afii10092 -25 -KPX afii10066 afii10097 -25 -KPX afii10067 afii10065 -13 -KPX afii10067 afii10066 -13 -KPX afii10067 afii10069 -25 -KPX afii10067 afii10070 -6 -KPX afii10067 afii10072 -29 -KPX afii10067 afii10077 -13 -KPX afii10067 afii10078 -17 -KPX afii10067 afii10080 -7 -KPX afii10067 afii10083 -6 -KPX afii10067 afii10084 -25 -KPX afii10067 afii10085 -34 -KPX afii10067 afii10086 -13 -KPX afii10067 afii10089 -38 -KPX afii10067 afii10092 -25 -KPX afii10067 afii10097 -13 -KPX afii10068 comma -113 -KPX afii10068 period -113 -KPX afii10068 afii10069 -50 -KPX afii10068 afii10070 -13 -KPX afii10068 afii10077 -51 -KPX afii10068 afii10078 -13 -KPX afii10068 afii10080 -25 -KPX afii10068 afii10097 -25 -KPX afii10069 afii10073 12 -KPX afii10069 afii10095 25 -KPX afii10070 e 12 -KPX afii10070 afii10065 12 -KPX afii10070 afii10069 -13 -KPX afii10070 afii10073 12 -KPX afii10070 afii10083 25 -KPX afii10070 afii10085 -25 -KPX afii10070 afii10086 12 -KPX afii10070 afii10087 -13 -KPX afii10070 afii10089 -25 -KPX afii10072 afii10066 -13 -KPX afii10072 afii10070 -13 -KPX afii10072 afii10073 12 -KPX afii10072 afii10080 -25 -KPX afii10072 afii10083 -18 -KPX afii10072 afii10089 -25 -KPX afii10072 afii10092 -13 -KPX afii10073 afii10069 -18 -KPX afii10073 afii10072 -18 -KPX afii10073 afii10073 12 -KPX afii10073 afii10078 -14 -KPX afii10073 afii10080 -6 -KPX afii10073 afii10085 -21 -KPX afii10073 afii10086 -7 -KPX afii10073 afii10089 -20 -KPX afii10073 afii10092 -17 -KPX afii10076 guillemotleft -26 -KPX afii10076 afii10065 -15 -KPX afii10076 afii10066 -25 -KPX afii10076 afii10070 -25 -KPX afii10076 afii10073 -13 -KPX afii10076 afii10080 -51 -KPX afii10076 afii10083 -25 -KPX afii10076 afii10084 -13 -KPX afii10076 afii10085 -14 -KPX afii10076 afii10086 -25 -KPX afii10076 afii10089 -39 -KPX afii10076 afii10095 -13 -KPX afii10078 afii10065 -7 -KPX afii10078 afii10095 12 -KPX afii10080 afii10069 -29 -KPX afii10080 afii10070 12 -KPX afii10080 afii10072 -25 -KPX afii10080 afii10077 -13 -KPX afii10080 afii10078 -19 -KPX afii10080 afii10083 25 -KPX afii10080 afii10084 -13 -KPX afii10080 afii10085 -38 -KPX afii10080 afii10087 -25 -KPX afii10080 afii10089 -26 -KPX afii10080 afii10095 12 -KPX afii10080 afii10097 -19 -KPX afii10082 afii10069 -13 -KPX afii10082 afii10073 12 -KPX afii10082 afii10077 -13 -KPX afii10082 afii10078 -15 -KPX afii10082 afii10084 -13 -KPX afii10082 afii10085 -13 -KPX afii10082 afii10089 -25 -KPX afii10082 afii10095 25 -KPX afii10083 afii10065 12 -KPX afii10083 afii10066 12 -KPX afii10083 afii10070 12 -KPX afii10083 afii10073 25 -KPX afii10083 afii10085 -13 -KPX afii10083 afii10086 12 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -20 -KPX afii10083 afii10095 12 -KPX afii10084 comma -75 -KPX afii10084 period -75 -KPX afii10084 afii10065 12 -KPX afii10084 afii10069 -13 -KPX afii10084 afii10072 12 -KPX afii10084 afii10073 12 -KPX afii10084 afii10077 -25 -KPX afii10084 afii10080 -13 -KPX afii10084 afii10082 12 -KPX afii10084 afii10083 12 -KPX afii10084 afii10085 -13 -KPX afii10084 afii10095 25 -KPX afii10084 afii10097 -13 -KPX afii10085 comma -100 -KPX afii10085 period -100 -KPX afii10085 colon -13 -KPX afii10085 semicolon -13 -KPX afii10085 guillemotright 25 -KPX afii10085 afii10065 -13 -KPX afii10085 afii10066 -13 -KPX afii10085 afii10069 -63 -KPX afii10085 afii10070 -13 -KPX afii10085 afii10072 -13 -KPX afii10085 afii10077 -44 -KPX afii10085 afii10078 -13 -KPX afii10085 afii10080 -25 -KPX afii10085 afii10086 -25 -KPX afii10085 afii10097 -25 -KPX afii10086 afii10069 -25 -KPX afii10086 afii10077 -25 -KPX afii10086 afii10085 -25 -KPX afii10086 afii10086 -6 -KPX afii10086 afii10089 -27 -KPX afii10086 afii10097 -13 -KPX afii10087 afii10065 -13 -KPX afii10087 afii10066 -38 -KPX afii10087 afii10070 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -38 -KPX afii10087 afii10083 -29 -KPX afii10087 afii10084 -25 -KPX afii10087 afii10085 -38 -KPX afii10087 afii10086 -38 -KPX afii10087 afii10089 -50 -KPX afii10087 afii10092 -38 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10073 12 -KPX afii10094 afii10084 -38 -KPX afii10094 afii10089 -76 -KPX afii10095 afii10069 -52 -KPX afii10095 afii10072 -37 -KPX afii10095 afii10077 -18 -KPX afii10095 afii10078 -9 -KPX afii10095 afii10086 -6 -KPX afii10095 afii10087 -39 -KPX afii10095 afii10097 -13 -KPX afii10096 afii10069 -51 -KPX afii10096 afii10072 -25 -KPX afii10096 afii10077 -25 -KPX afii10096 afii10078 -13 -KPX afii10096 afii10084 -13 -KPX afii10096 afii10086 -6 -KPX afii10096 afii10087 -39 -KPX afii10096 afii10089 -38 -KPX afii10110 comma -100 -KPX afii10110 period -100 -KPX afii10110 guillemotright 12 -KPX afii10050 comma -99 -KPX afii10050 period -99 -KPX afii10050 colon -25 -KPX afii10050 semicolon -25 -KPX afii10050 guillemotleft -88 -KPX afii10050 guillemotright -38 -KPX afii10050 emdash -25 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/times.ttf b/thirdparty/html2ps_pdf/fonts/times.ttf deleted file mode 100644 index a998feeca..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/times.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/timesbd.afm b/thirdparty/html2ps_pdf/fonts/timesbd.afm deleted file mode 100644 index 1029ddd43..000000000 --- a/thirdparty/html2ps_pdf/fonts/timesbd.afm +++ /dev/null @@ -1,2597 +0,0 @@ -StartFontMetrics 4.1 -FontName TimesNewRomanPS-BoldMT -FullName Times New Roman Bold -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Times New Roman -Weight Bold -Version Version 3.00 -Characters 1674 -ItalicAngle 0.0 -Ascender 891 -Descender -216 -UnderlineThickness 95 -UnderlinePosition -109 -IsFixedPitch false -FontBBox -556 -307 2000 1026 -StartCharMetrics 1709 -C 0 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 1 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 2 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 3 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 4 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 5 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 6 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 7 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 8 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 9 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 10 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 11 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 12 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 13 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 14 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 15 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 16 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 17 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 18 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 19 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 20 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 21 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 22 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 23 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 24 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 25 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 26 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 27 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 28 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 29 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 30 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 31 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 32 ; WX 250 ; N space ; B 85 -13 248 677 ; -C 33 ; WX 333 ; N exclam ; B 85 -13 248 677 ; -C 34 ; WX 555 ; N quotedbl ; B 86 352 466 677 ; -C 35 ; WX 500 ; N numbersign ; B 20 -14 480 676 ; -C 36 ; WX 500 ; N dollar ; B 39 -67 468 680 ; -C 37 ; WX 1000 ; N percent ; B 69 -28 931 677 ; -C 38 ; WX 833 ; N ampersand ; B 40 -15 790 677 ; -C 39 ; WX 278 ; N quotesingle ; B 68 353 212 677 ; -C 40 ; WX 333 ; N parenleft ; B 40 -200 321 677 ; -C 41 ; WX 333 ; N parenright ; B 12 -200 293 677 ; -C 42 ; WX 500 ; N asterisk ; B 56 299 444 677 ; -C 43 ; WX 570 ; N plus ; B 20 66 553 598 ; -C 44 ; WX 250 ; N comma ; B 32 -175 217 150 ; -C 45 ; WX 333 ; N hyphen ; B 24 179 309 280 ; -C 46 ; WX 250 ; N period ; B 44 -12 207 150 ; -C 47 ; WX 278 ; N slash ; B 1 -15 281 677 ; -C 48 ; WX 500 ; N zero ; B 36 -14 463 676 ; -C 49 ; WX 500 ; N one ; B 66 0 423 676 ; -C 50 ; WX 500 ; N two ; B 24 0 451 676 ; -C 51 ; WX 500 ; N three ; B 16 -14 442 676 ; -C 52 ; WX 500 ; N four ; B 25 0 459 676 ; -C 53 ; WX 500 ; N five ; B 34 -14 462 662 ; -C 54 ; WX 500 ; N six ; B 37 -14 470 676 ; -C 55 ; WX 500 ; N seven ; B 34 -14 476 662 ; -C 56 ; WX 500 ; N eight ; B 35 -14 465 673 ; -C 57 ; WX 500 ; N nine ; B 31 -14 464 676 ; -C 58 ; WX 333 ; N colon ; B 85 -12 248 470 ; -C 59 ; WX 333 ; N semicolon ; B 74 -175 259 470 ; -C 60 ; WX 570 ; N less ; B 20 90 553 568 ; -C 61 ; WX 570 ; N equal ; B 20 218 554 441 ; -C 62 ; WX 570 ; N greater ; B 20 90 553 568 ; -C 63 ; WX 500 ; N question ; B 61 -13 444 677 ; -C 64 ; WX 930 ; N at ; B 45 -216 908 677 ; -C 65 ; WX 722 ; N A ; B 8 0 711 676 ; -C 66 ; WX 667 ; N B ; B 21 0 632 662 ; -C 67 ; WX 722 ; N C ; B 40 -15 667 677 ; -C 68 ; WX 722 ; N D ; B 13 0 680 662 ; -C 69 ; WX 667 ; N E ; B 20 0 622 662 ; -C 70 ; WX 611 ; N F ; B 22 0 581 662 ; -C 71 ; WX 778 ; N G ; B 41 -16 768 678 ; -C 72 ; WX 778 ; N H ; B 21 0 760 662 ; -C 73 ; WX 389 ; N I ; B 20 0 366 662 ; -C 74 ; WX 500 ; N J ; B 11 -15 494 662 ; -C 75 ; WX 778 ; N K ; B 22 0 789 662 ; -C 76 ; WX 667 ; N L ; B 19 0 631 662 ; -C 77 ; WX 944 ; N M ; B 20 0 926 662 ; -C 78 ; WX 722 ; N N ; B 14 -15 699 662 ; -C 79 ; WX 778 ; N O ; B 39 -15 742 677 ; -C 80 ; WX 611 ; N P ; B 25 0 581 662 ; -C 81 ; WX 778 ; N Q ; B 39 -181 743 677 ; -C 82 ; WX 722 ; N R ; B 19 0 731 662 ; -C 83 ; WX 556 ; N S ; B 52 -16 516 677 ; -C 84 ; WX 667 ; N T ; B 36 0 631 662 ; -C 85 ; WX 722 ; N U ; B 23 -16 705 662 ; -C 86 ; WX 722 ; N V ; B 8 -15 712 662 ; -C 87 ; WX 1000 ; N W ; B 9 -15 991 662 ; -C 88 ; WX 722 ; N X ; B 7 0 715 662 ; -C 89 ; WX 722 ; N Y ; B 9 0 711 662 ; -C 90 ; WX 667 ; N Z ; B 16 0 649 662 ; -C 91 ; WX 333 ; N bracketleft ; B 104 -183 301 662 ; -C 92 ; WX 278 ; N backslash ; B 1 -15 281 677 ; -C 93 ; WX 333 ; N bracketright ; B 33 -183 229 662 ; -C 94 ; WX 581 ; N asciicircum ; B 72 325 510 676 ; -C 95 ; WX 500 ; N underscore ; B -9 -216 509 -152 ; -C 96 ; WX 333 ; N grave ; B 19 515 222 685 ; -C 97 ; WX 500 ; N a ; B 45 -6 483 470 ; -C 98 ; WX 556 ; N b ; B 21 -14 513 662 ; -C 99 ; WX 444 ; N c ; B 38 -14 421 470 ; -C 100 ; WX 556 ; N d ; B 39 -14 534 662 ; -C 101 ; WX 444 ; N e ; B 39 -14 420 470 ; -C 102 ; WX 333 ; N f ; B 32 0 407 677 ; -C 103 ; WX 500 ; N g ; B 38 -216 482 470 ; -C 104 ; WX 556 ; N h ; B 34 0 527 662 ; -C 105 ; WX 278 ; N i ; B 21 0 267 678 ; -C 106 ; WX 333 ; N j ; B -28 -216 249 677 ; -C 107 ; WX 556 ; N k ; B 33 0 565 662 ; -C 108 ; WX 278 ; N l ; B 21 0 268 662 ; -C 109 ; WX 833 ; N m ; B 37 0 807 470 ; -C 110 ; WX 556 ; N n ; B 34 0 527 470 ; -C 111 ; WX 500 ; N o ; B 36 -14 464 470 ; -C 112 ; WX 556 ; N p ; B 19 -214 513 470 ; -C 113 ; WX 556 ; N q ; B 38 -214 536 470 ; -C 114 ; WX 444 ; N r ; B 37 0 429 470 ; -C 115 ; WX 389 ; N s ; B 40 -14 354 470 ; -C 116 ; WX 333 ; N t ; B 19 -6 323 624 ; -C 117 ; WX 556 ; N u ; B 31 -14 524 457 ; -C 118 ; WX 500 ; N v ; B 9 -14 491 457 ; -C 119 ; WX 722 ; N w ; B 8 -14 712 457 ; -C 120 ; WX 500 ; N x ; B 23 0 484 457 ; -C 121 ; WX 500 ; N y ; B 8 -216 491 457 ; -C 122 ; WX 444 ; N z ; B 10 0 428 457 ; -C 123 ; WX 394 ; N braceleft ; B 81 -203 352 677 ; -C 124 ; WX 220 ; N bar ; B 78 -216 141 677 ; -C 125 ; WX 394 ; N braceright ; B 44 -202 315 678 ; -C 126 ; WX 520 ; N asciitilde ; B 19 188 551 347 ; -C 127 ; WX 778 ; N .notdef ; B 139 0 639 625 ; -C 128 ; WX 500 ; N Euro ; B -11 -14 484 676 ; -C 129 ; WX 636 ; N afii10052 ; B 20 0 604 888 ; -C 130 ; WX 333 ; N quotesinglbase ; B 74 -175 259 150 ; -C 131 ; WX 500 ; N florin ; B 0 -216 500 678 ; -C 132 ; WX 500 ; N quotedblbase ; B 41 -175 460 151 ; -C 133 ; WX 1000 ; N ellipsis ; B 85 -13 915 150 ; -C 134 ; WX 500 ; N dagger ; B 48 -196 451 662 ; -C 135 ; WX 500 ; N daggerdbl ; B 54 -198 446 662 ; -C 136 ; WX 333 ; N circumflex ; B 10 510 324 697 ; -C 137 ; WX 1000 ; N perthousand ; B 29 -28 971 677 ; -C 138 ; WX 556 ; N Scaron ; B 52 -16 516 891 ; -C 139 ; WX 333 ; N guilsinglleft ; B 45 3 287 452 ; -C 140 ; WX 1000 ; N OE ; B 36 -9 952 671 ; -C 141 ; WX 725 ; N afii10061 ; B 21 0 709 888 ; -C 142 ; WX 667 ; N Zcaron ; B 16 0 649 891 ; -C 143 ; WX 778 ; N afii10145 ; B 20 -193 750 662 ; -C 144 ; WX 500 ; N quotedblbase ; B 41 -175 460 151 ; -C 145 ; WX 333 ; N quoteleft ; B 74 352 259 677 ; -C 146 ; WX 333 ; N quoteright ; B 74 352 259 677 ; -C 147 ; WX 500 ; N quotedblleft ; B 40 351 459 677 ; -C 148 ; WX 500 ; N quotedblright ; B 41 351 460 677 ; -C 149 ; WX 350 ; N bullet ; B 38 190 316 470 ; -C 150 ; WX 500 ; N endash ; B -8 202 508 261 ; -C 151 ; WX 1000 ; N emdash ; B -10 201 1009 261 ; -C 152 ; WX 333 ; N tilde ; B 10 532 326 669 ; -C 153 ; WX 1000 ; N trademark ; B -1 268 1005 662 ; -C 154 ; WX 389 ; N scaron ; B 34 -14 354 697 ; -C 155 ; WX 333 ; N guilsinglright ; B 46 3 288 452 ; -C 156 ; WX 722 ; N oe ; B 34 -14 694 470 ; -C 157 ; WX 576 ; N afii10109 ; B 35 0 563 685 ; -C 158 ; WX 444 ; N zcaron ; B 10 0 428 697 ; -C 159 ; WX 722 ; N Ydieresis ; B 9 0 711 857 ; -C 160 ; WX 250 ; N space ; B 85 -13 248 677 ; -C 161 ; WX 333 ; N exclamdown ; B 85 -216 248 475 ; -C 162 ; WX 500 ; N cent ; B 63 -184 445 658 ; -C 163 ; WX 500 ; N sterling ; B 17 -14 479 680 ; -C 164 ; WX 500 ; N currency ; B 10 93 491 567 ; -C 165 ; WX 500 ; N yen ; B 0 0 499 662 ; -C 166 ; WX 220 ; N brokenbar ; B 78 -216 141 677 ; -C 167 ; WX 500 ; N section ; B 45 -216 455 677 ; -C 168 ; WX 333 ; N dieresis ; B 11 538 323 668 ; -C 169 ; WX 747 ; N copyright ; B 29 -15 722 677 ; -C 170 ; WX 300 ; N ordfeminine ; B 22 390 308 676 ; -C 171 ; WX 500 ; N guillemotleft ; B 18 4 482 453 ; -C 172 ; WX 570 ; N logicalnot ; B 20 218 554 440 ; -C 173 ; WX 333 ; N hyphen ; B 24 179 309 280 ; -C 174 ; WX 747 ; N registered ; B 29 -15 722 677 ; -C 175 ; WX 500 ; N overscore ; B -9 714 509 778 ; -C 176 ; WX 400 ; N degree ; B 29 338 367 676 ; -C 177 ; WX 549 ; N plusminus ; B 7 66 542 598 ; -C 178 ; WX 300 ; N twosuperior ; B 12 324 276 676 ; -C 179 ; WX 300 ; N threesuperior ; B 7 317 271 676 ; -C 180 ; WX 333 ; N acute ; B 111 515 315 685 ; -C 181 ; WX 576 ; N mu1 ; B 39 -215 559 457 ; -C 182 ; WX 540 ; N paragraph ; B 0 -216 542 662 ; -C 183 ; WX 250 ; N periodcentered ; B 43 249 207 413 ; -C 184 ; WX 333 ; N cedilla ; B 71 -188 237 6 ; -C 185 ; WX 300 ; N onesuperior ; B 36 324 260 676 ; -C 186 ; WX 330 ; N ordmasculine ; B 27 385 306 676 ; -C 187 ; WX 500 ; N guillemotright ; B 19 4 483 453 ; -C 188 ; WX 750 ; N onequarter ; B 35 -29 730 676 ; -C 189 ; WX 750 ; N onehalf ; B 35 -29 725 676 ; -C 190 ; WX 750 ; N threequarters ; B 6 -29 730 676 ; -C 191 ; WX 500 ; N questiondown ; B 56 -216 439 475 ; -C 192 ; WX 722 ; N Agrave ; B 8 0 711 888 ; -C 193 ; WX 722 ; N Aacute ; B 8 0 711 888 ; -C 194 ; WX 722 ; N Acircumflex ; B 8 0 711 888 ; -C 195 ; WX 722 ; N Atilde ; B 8 0 711 856 ; -C 196 ; WX 722 ; N Adieresis ; B 8 0 711 857 ; -C 197 ; WX 722 ; N Aring ; B 8 0 711 841 ; -C 198 ; WX 1000 ; N AE ; B -11 0 955 662 ; -C 199 ; WX 722 ; N Ccedilla ; B 40 -188 667 677 ; -C 200 ; WX 667 ; N Egrave ; B 20 0 622 888 ; -C 201 ; WX 667 ; N Eacute ; B 20 0 622 888 ; -C 202 ; WX 667 ; N Ecircumflex ; B 20 0 622 888 ; -C 203 ; WX 667 ; N Edieresis ; B 20 0 622 857 ; -C 204 ; WX 389 ; N Igrave ; B 20 0 366 888 ; -C 205 ; WX 389 ; N Iacute ; B 20 0 366 888 ; -C 206 ; WX 389 ; N Icircumflex ; B 20 0 366 888 ; -C 207 ; WX 389 ; N Idieresis ; B 20 0 366 857 ; -C 208 ; WX 722 ; N Eth ; B 17 0 684 662 ; -C 209 ; WX 722 ; N Ntilde ; B 14 -15 699 857 ; -C 210 ; WX 778 ; N Ograve ; B 39 -15 742 888 ; -C 211 ; WX 778 ; N Oacute ; B 39 -15 742 888 ; -C 212 ; WX 778 ; N Ocircumflex ; B 39 -15 742 888 ; -C 213 ; WX 778 ; N Otilde ; B 39 -15 742 857 ; -C 214 ; WX 778 ; N Odieresis ; B 39 -15 742 857 ; -C 215 ; WX 570 ; N multiply ; B 75 120 498 543 ; -C 216 ; WX 778 ; N Oslash ; B 40 -38 742 693 ; -C 217 ; WX 722 ; N Ugrave ; B 23 -16 705 888 ; -C 218 ; WX 722 ; N Uacute ; B 23 -16 705 888 ; -C 219 ; WX 722 ; N Ucircumflex ; B 23 -16 705 888 ; -C 220 ; WX 722 ; N Udieresis ; B 23 -16 705 857 ; -C 221 ; WX 722 ; N Yacute ; B 9 0 711 888 ; -C 222 ; WX 611 ; N Thorn ; B 20 0 577 662 ; -C 223 ; WX 556 ; N germandbls ; B 28 -5 506 677 ; -C 224 ; WX 500 ; N agrave ; B 45 -6 483 685 ; -C 225 ; WX 500 ; N aacute ; B 45 -6 483 685 ; -C 226 ; WX 500 ; N acircumflex ; B 45 -6 483 697 ; -C 227 ; WX 500 ; N atilde ; B 45 -6 483 670 ; -C 228 ; WX 500 ; N adieresis ; B 45 -6 483 668 ; -C 229 ; WX 500 ; N aring ; B 45 -6 483 702 ; -C 230 ; WX 722 ; N ae ; B 44 -14 693 470 ; -C 231 ; WX 444 ; N ccedilla ; B 38 -188 421 470 ; -C 232 ; WX 444 ; N egrave ; B 39 -14 420 685 ; -C 233 ; WX 444 ; N eacute ; B 39 -14 420 685 ; -C 234 ; WX 444 ; N ecircumflex ; B 39 -14 420 697 ; -C 235 ; WX 444 ; N edieresis ; B 39 -14 420 668 ; -C 236 ; WX 278 ; N igrave ; B -7 0 267 685 ; -C 237 ; WX 278 ; N iacute ; B 21 0 289 685 ; -C 238 ; WX 278 ; N icircumflex ; B -17 0 296 697 ; -C 239 ; WX 278 ; N idieresis ; B -15 0 298 668 ; -C 240 ; WX 500 ; N eth ; B 36 -14 464 677 ; -C 241 ; WX 556 ; N ntilde ; B 34 0 527 670 ; -C 242 ; WX 500 ; N ograve ; B 36 -14 464 685 ; -C 243 ; WX 500 ; N oacute ; B 36 -14 464 685 ; -C 244 ; WX 500 ; N ocircumflex ; B 36 -14 464 697 ; -C 245 ; WX 500 ; N otilde ; B 36 -14 464 670 ; -C 246 ; WX 500 ; N odieresis ; B 36 -14 464 668 ; -C 247 ; WX 549 ; N divide ; B 8 121 542 545 ; -C 248 ; WX 500 ; N oslash ; B 33 -14 467 483 ; -C 249 ; WX 556 ; N ugrave ; B 31 -14 524 685 ; -C 250 ; WX 556 ; N uacute ; B 31 -14 524 685 ; -C 251 ; WX 556 ; N ucircumflex ; B 31 -14 524 697 ; -C 252 ; WX 556 ; N udieresis ; B 31 -14 524 668 ; -C 253 ; WX 500 ; N yacute ; B 8 -216 491 685 ; -C 254 ; WX 556 ; N thorn ; B 19 -216 513 677 ; -C 255 ; WX 500 ; N ydieresis ; B 8 -216 491 668 ; -C -1 ; WX 0 ; N .null ; B 85 -13 248 677 ; -C -1 ; WX 250 ; N nonmarkingreturn ; B 85 -13 248 677 ; -C -1 ; WX 549 ; N notequal ; B 7 -143 542 679 ; -C -1 ; WX 713 ; N infinity ; B 26 52 687 461 ; -C -1 ; WX 549 ; N lessequal ; B 7 -90 542 625 ; -C -1 ; WX 549 ; N greaterequal ; B 7 -90 542 625 ; -C -1 ; WX 494 ; N partialdiff ; B 36 -11 472 700 ; -C -1 ; WX 713 ; N summation ; B 21 -216 693 693 ; -C -1 ; WX 823 ; N product ; B 22 -216 801 693 ; -C -1 ; WX 549 ; N pi1 ; B 24 -14 506 457 ; -C -1 ; WX 274 ; N integral ; B -1 -107 272 910 ; -C -1 ; WX 768 ; N Ohm ; B 4 0 766 741 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 6 119 543 536 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -184 -29 351 676 ; -C -1 ; WX 556 ; N fi ; B 29 0 534 677 ; -C -1 ; WX 556 ; N fl ; B 26 0 532 677 ; -C -1 ; WX 278 ; N dotlessi ; B 21 0 267 457 ; -C -1 ; WX 333 ; N macron ; B 10 533 323 612 ; -C -1 ; WX 333 ; N breve ; B 19 521 314 677 ; -C -1 ; WX 333 ; N dotaccent ; B 95 524 239 668 ; -C -1 ; WX 333 ; N ring ; B 64 497 269 702 ; -C -1 ; WX 333 ; N hungarumlaut ; B 55 516 368 685 ; -C -1 ; WX 333 ; N ogonek ; B 50 -226 284 8 ; -C -1 ; WX 333 ; N caron ; B 10 510 324 697 ; -C -1 ; WX 667 ; N Lslash ; B 21 0 630 662 ; -C -1 ; WX 278 ; N lslash ; B 19 0 265 662 ; -C -1 ; WX 570 ; N minus ; B 20 299 553 363 ; -C -1 ; WX 500 ; N franc ; B 10 0 478 662 ; -C -1 ; WX 778 ; N Gbreve ; B 41 -16 768 875 ; -C -1 ; WX 500 ; N gbreve ; B 38 -216 482 677 ; -C -1 ; WX 389 ; N Idot ; B 20 0 366 857 ; -C -1 ; WX 556 ; N Scedilla ; B 52 -188 516 677 ; -C -1 ; WX 389 ; N scedilla ; B 40 -188 354 470 ; -C -1 ; WX 722 ; N Cacute ; B 40 -15 667 888 ; -C -1 ; WX 444 ; N cacute ; B 38 -14 421 685 ; -C -1 ; WX 722 ; N Ccaron ; B 40 -15 667 891 ; -C -1 ; WX 444 ; N ccaron ; B 38 -14 421 697 ; -C -1 ; WX 556 ; N dmacron ; B 39 -14 534 662 ; -C -1 ; WX 333 ; N middot ; B 214 281 343 409 ; -C -1 ; WX 722 ; N Abreve ; B 8 0 711 875 ; -C -1 ; WX 500 ; N abreve ; B 45 -6 483 677 ; -C -1 ; WX 722 ; N Aogonek ; B 8 -226 711 676 ; -C -1 ; WX 500 ; N aogonek ; B 45 -226 499 470 ; -C -1 ; WX 722 ; N Dcaron ; B 13 0 680 891 ; -C -1 ; WX 733 ; N dcaron ; B 41 -14 722 677 ; -C -1 ; WX 722 ; N Dslash ; B 17 0 684 662 ; -C -1 ; WX 667 ; N Eogonek ; B 20 -226 622 662 ; -C -1 ; WX 444 ; N eogonek ; B 39 -226 420 470 ; -C -1 ; WX 667 ; N Ecaron ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ecaron ; B 39 -14 420 697 ; -C -1 ; WX 667 ; N Lacute ; B 19 0 631 888 ; -C -1 ; WX 278 ; N lacute ; B 21 0 280 888 ; -C -1 ; WX 667 ; N Lcaron ; B 19 0 631 677 ; -C -1 ; WX 469 ; N lcaron ; B 21 0 456 677 ; -C -1 ; WX 667 ; N Ldot ; B 19 0 631 662 ; -C -1 ; WX 396 ; N ldot ; B 21 0 406 662 ; -C -1 ; WX 722 ; N Nacute ; B 14 -15 699 888 ; -C -1 ; WX 556 ; N nacute ; B 34 0 527 685 ; -C -1 ; WX 722 ; N Ncaron ; B 14 -15 699 891 ; -C -1 ; WX 556 ; N ncaron ; B 34 0 527 697 ; -C -1 ; WX 778 ; N Odblacute ; B 39 -15 742 888 ; -C -1 ; WX 500 ; N odblacute ; B 36 -14 464 685 ; -C -1 ; WX 722 ; N Racute ; B 19 0 731 888 ; -C -1 ; WX 444 ; N racute ; B 37 0 429 685 ; -C -1 ; WX 722 ; N Rcaron ; B 19 0 731 891 ; -C -1 ; WX 444 ; N rcaron ; B 37 0 429 697 ; -C -1 ; WX 556 ; N Sacute ; B 52 -16 516 888 ; -C -1 ; WX 389 ; N sacute ; B 40 -14 354 685 ; -C -1 ; WX 667 ; N Tcedilla ; B 36 -241 631 662 ; -C -1 ; WX 333 ; N tcedilla ; B 19 -241 323 624 ; -C -1 ; WX 667 ; N Tcaron ; B 36 0 631 891 ; -C -1 ; WX 521 ; N tcaron ; B 18 -6 509 677 ; -C -1 ; WX 722 ; N Uring ; B 23 -16 705 907 ; -C -1 ; WX 556 ; N uring ; B 31 -14 524 702 ; -C -1 ; WX 722 ; N Udblacute ; B 23 -16 705 888 ; -C -1 ; WX 556 ; N udblacute ; B 31 -14 524 685 ; -C -1 ; WX 667 ; N Zacute ; B 16 0 649 888 ; -C -1 ; WX 444 ; N zacute ; B 10 0 428 685 ; -C -1 ; WX 667 ; N Zdot ; B 16 0 649 857 ; -C -1 ; WX 444 ; N zdot ; B 10 0 428 668 ; -C -1 ; WX 636 ; N Gamma ; B 20 0 604 662 ; -C -1 ; WX 778 ; N Theta ; B 38 -15 741 677 ; -C -1 ; WX 829 ; N Phi ; B 38 0 792 662 ; -C -1 ; WX 558 ; N alpha ; B 42 -14 537 470 ; -C -1 ; WX 519 ; N delta ; B 36 -14 478 677 ; -C -1 ; WX 427 ; N epsilon ; B 32 -14 413 470 ; -C -1 ; WX 544 ; N sigma ; B 36 -14 522 457 ; -C -1 ; WX 461 ; N tau ; B 1 -14 439 457 ; -C -1 ; WX 624 ; N phi ; B 39 -214 584 470 ; -C -1 ; WX 500 ; N underscoredbl ; B -9 -216 509 -52 ; -C -1 ; WX 604 ; N exclamdbl ; B 85 -13 518 677 ; -C -1 ; WX 348 ; N nsuperior ; B 21 271 333 555 ; -C -1 ; WX 969 ; N peseta ; B 19 -13 954 662 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 719 ; N intersection ; B 89 0 630 698 ; -C -1 ; WX 570 ; N equivalence ; B 18 138 552 521 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 570 ; N revlogicalnot ; B 17 218 551 440 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 708 ; N SF110000 ; B 219 -303 304 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 838 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 823 ; N IJ ; B 20 -15 819 662 ; -C -1 ; WX 552 ; N ij ; B 21 -216 480 678 ; -C -1 ; WX 729 ; N napostrophe ; B 74 0 791 677 ; -C -1 ; WX 281 ; N minute ; B 97 353 255 677 ; -C -1 ; WX 552 ; N second ; B 97 353 491 677 ; -C -1 ; WX 833 ; N afii61248 ; B 27 -28 808 677 ; -C -1 ; WX 375 ; N afii61289 ; B 13 -14 358 677 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 45 198 310 463 ; -C -1 ; WX 354 ; N H18551 ; B 45 198 310 463 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 38 190 316 470 ; -C -1 ; WX 722 ; N Amacron ; B 8 0 711 816 ; -C -1 ; WX 500 ; N amacron ; B 45 -6 483 612 ; -C -1 ; WX 722 ; N Ccircumflex ; B 40 -15 667 912 ; -C -1 ; WX 444 ; N ccircumflex ; B 38 -14 421 697 ; -C -1 ; WX 722 ; N Cdot ; B 40 -15 667 871 ; -C -1 ; WX 444 ; N cdot ; B 38 -14 421 668 ; -C -1 ; WX 667 ; N Emacron ; B 20 0 622 816 ; -C -1 ; WX 444 ; N emacron ; B 39 -14 420 612 ; -C -1 ; WX 667 ; N Ebreve ; B 20 0 622 884 ; -C -1 ; WX 444 ; N ebreve ; B 39 -14 420 677 ; -C -1 ; WX 667 ; N Edot ; B 20 0 622 871 ; -C -1 ; WX 444 ; N edot ; B 39 -14 420 668 ; -C -1 ; WX 778 ; N Gcircumflex ; B 41 -16 768 900 ; -C -1 ; WX 500 ; N gcircumflex ; B 38 -216 482 697 ; -C -1 ; WX 778 ; N Gdot ; B 41 -16 768 871 ; -C -1 ; WX 500 ; N gdot ; B 38 -216 482 668 ; -C -1 ; WX 778 ; N Gcedilla ; B 41 -188 768 678 ; -C -1 ; WX 500 ; N gcedilla ; B 38 -216 482 716 ; -C -1 ; WX 778 ; N Hcircumflex ; B 21 0 760 912 ; -C -1 ; WX 556 ; N hcircumflex ; B 34 0 527 912 ; -C -1 ; WX 778 ; N Hbar ; B 21 0 760 662 ; -C -1 ; WX 556 ; N hbar ; B 34 0 527 662 ; -C -1 ; WX 389 ; N Itilde ; B 20 0 366 864 ; -C -1 ; WX 278 ; N itilde ; B -21 0 295 669 ; -C -1 ; WX 389 ; N Imacron ; B 20 0 366 816 ; -C -1 ; WX 278 ; N imacron ; B -18 0 295 612 ; -C -1 ; WX 389 ; N Ibreve ; B 20 0 366 884 ; -C -1 ; WX 278 ; N ibreve ; B -9 0 287 677 ; -C -1 ; WX 389 ; N Iogonek ; B 21 -226 368 662 ; -C -1 ; WX 278 ; N iogonek ; B 19 -226 271 677 ; -C -1 ; WX 500 ; N Jcircumflex ; B 11 -15 494 912 ; -C -1 ; WX 333 ; N jcircumflex ; B -28 -216 323 697 ; -C -1 ; WX 778 ; N Kcedilla ; B 22 -188 789 662 ; -C -1 ; WX 556 ; N kcedilla ; B 33 -188 565 662 ; -C -1 ; WX 556 ; N kgreenlandic ; B 35 0 567 457 ; -C -1 ; WX 667 ; N Lcedilla ; B 19 -188 631 662 ; -C -1 ; WX 278 ; N lcedilla ; B 21 -188 268 662 ; -C -1 ; WX 722 ; N Ncedilla ; B 14 -188 699 662 ; -C -1 ; WX 556 ; N ncedilla ; B 34 -188 527 470 ; -C -1 ; WX 769 ; N Eng ; B 21 -15 720 677 ; -C -1 ; WX 556 ; N eng ; B 37 -216 480 470 ; -C -1 ; WX 778 ; N Omacron ; B 39 -15 742 816 ; -C -1 ; WX 500 ; N omacron ; B 36 -14 464 612 ; -C -1 ; WX 778 ; N Obreve ; B 39 -15 742 884 ; -C -1 ; WX 500 ; N obreve ; B 36 -14 464 677 ; -C -1 ; WX 722 ; N Rcedilla ; B 19 -188 731 662 ; -C -1 ; WX 444 ; N rcedilla ; B 37 -188 429 470 ; -C -1 ; WX 556 ; N Scircumflex ; B 52 -16 516 912 ; -C -1 ; WX 389 ; N scircumflex ; B 38 -14 354 697 ; -C -1 ; WX 667 ; N Tbar ; B 36 0 631 662 ; -C -1 ; WX 333 ; N tbar ; B 18 -6 323 624 ; -C -1 ; WX 722 ; N Utilde ; B 23 -16 705 864 ; -C -1 ; WX 556 ; N utilde ; B 31 -14 524 669 ; -C -1 ; WX 722 ; N Umacron ; B 23 -16 705 816 ; -C -1 ; WX 556 ; N umacron ; B 31 -14 524 612 ; -C -1 ; WX 722 ; N Ubreve ; B 23 -16 705 884 ; -C -1 ; WX 556 ; N ubreve ; B 31 -14 524 677 ; -C -1 ; WX 722 ; N Uogonek ; B 25 -226 707 662 ; -C -1 ; WX 556 ; N uogonek ; B 33 -226 526 457 ; -C -1 ; WX 1000 ; N Wcircumflex ; B 9 -15 991 912 ; -C -1 ; WX 722 ; N wcircumflex ; B 8 -14 712 697 ; -C -1 ; WX 722 ; N Ycircumflex ; B 9 0 711 912 ; -C -1 ; WX 500 ; N ycircumflex ; B 8 -216 491 697 ; -C -1 ; WX 278 ; N longs ; B 3 0 380 677 ; -C -1 ; WX 722 ; N Aringacute ; B 8 0 711 1026 ; -C -1 ; WX 500 ; N aringacute ; B 45 -6 483 897 ; -C -1 ; WX 1000 ; N AEacute ; B -11 0 955 897 ; -C -1 ; WX 722 ; N aeacute ; B 44 -14 693 685 ; -C -1 ; WX 778 ; N Oslashacute ; B 40 -38 742 897 ; -C -1 ; WX 500 ; N oslashacute ; B 33 -14 467 685 ; -C -1 ; WX 333 ; N anoteleia ; B 85 308 248 470 ; -C -1 ; WX 1000 ; N Wgrave ; B 9 -15 991 897 ; -C -1 ; WX 722 ; N wgrave ; B 8 -14 712 685 ; -C -1 ; WX 1000 ; N Wacute ; B 9 -15 991 897 ; -C -1 ; WX 722 ; N wacute ; B 8 -14 712 685 ; -C -1 ; WX 1000 ; N Wdieresis ; B 9 -15 991 856 ; -C -1 ; WX 722 ; N wdieresis ; B 8 -14 712 668 ; -C -1 ; WX 722 ; N Ygrave ; B 9 0 711 897 ; -C -1 ; WX 500 ; N ygrave ; B 8 -216 491 685 ; -C -1 ; WX 333 ; N quotereversed ; B 74 352 259 677 ; -C -1 ; WX 333 ; N radicalex ; B -20 533 353 612 ; -C -1 ; WX 500 ; N afii08941 ; B 17 -14 479 680 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 750 ; N oneeighth ; B 35 -29 733 676 ; -C -1 ; WX 750 ; N threeeighths ; B 15 -29 732 676 ; -C -1 ; WX 750 ; N fiveeighths ; B 21 -29 732 676 ; -C -1 ; WX 750 ; N seveneighths ; B 21 -29 732 676 ; -C -1 ; WX 333 ; N commaaccent ; B 59 -241 192 -43 ; -C -1 ; WX 333 ; N undercommaaccent ; B 71 -188 237 -27 ; -C -1 ; WX 333 ; N tonos ; B 111 515 315 685 ; -C -1 ; WX 333 ; N dieresistonos ; B -61 515 394 685 ; -C -1 ; WX 722 ; N Alphatonos ; B 8 0 711 685 ; -C -1 ; WX 799 ; N Epsilontonos ; B -68 0 754 685 ; -C -1 ; WX 909 ; N Etatonos ; B -68 0 891 685 ; -C -1 ; WX 522 ; N Iotatonos ; B -68 0 499 685 ; -C -1 ; WX 778 ; N Omicrontonos ; B -59 -15 741 685 ; -C -1 ; WX 865 ; N Upsilontonos ; B -68 0 854 685 ; -C -1 ; WX 801 ; N Omegatonos ; B -67 0 765 685 ; -C -1 ; WX 310 ; N iotadieresistonos ; B -77 -14 377 685 ; -C -1 ; WX 722 ; N Alpha ; B 8 0 711 676 ; -C -1 ; WX 667 ; N Beta ; B 21 0 632 662 ; -C -1 ; WX 627 ; N Delta ; B 24 0 603 676 ; -C -1 ; WX 667 ; N Epsilon ; B 20 0 622 662 ; -C -1 ; WX 667 ; N Zeta ; B 16 0 649 662 ; -C -1 ; WX 778 ; N Eta ; B 21 0 760 662 ; -C -1 ; WX 389 ; N Iota ; B 20 0 366 662 ; -C -1 ; WX 778 ; N Kappa ; B 22 0 789 662 ; -C -1 ; WX 717 ; N Lambda ; B 4 0 708 676 ; -C -1 ; WX 944 ; N Mu ; B 20 0 926 662 ; -C -1 ; WX 722 ; N Nu ; B 14 -15 699 662 ; -C -1 ; WX 677 ; N Xi ; B 56 0 622 662 ; -C -1 ; WX 778 ; N Omicron ; B 39 -15 742 677 ; -C -1 ; WX 778 ; N Pi ; B 20 0 759 662 ; -C -1 ; WX 611 ; N Rho ; B 25 0 581 662 ; -C -1 ; WX 654 ; N Sigma ; B 6 0 622 662 ; -C -1 ; WX 667 ; N Tau ; B 36 0 631 662 ; -C -1 ; WX 722 ; N Upsilon ; B 9 0 711 662 ; -C -1 ; WX 722 ; N Chi ; B 7 0 715 662 ; -C -1 ; WX 780 ; N Psi ; B 15 0 765 670 ; -C -1 ; WX 801 ; N Omega ; B 37 0 764 677 ; -C -1 ; WX 389 ; N Iotadieresis ; B 20 0 366 856 ; -C -1 ; WX 722 ; N Upsilondieresis ; B 9 0 711 856 ; -C -1 ; WX 558 ; N alphatonos ; B 42 -14 537 685 ; -C -1 ; WX 427 ; N epsilontonos ; B 32 -14 413 685 ; -C -1 ; WX 568 ; N etatonos ; B 9 -214 512 685 ; -C -1 ; WX 310 ; N iotatonos ; B 21 -14 307 685 ; -C -1 ; WX 519 ; N upsilondieresistonos ; B 5 -14 484 685 ; -C -1 ; WX 527 ; N beta ; B 50 -214 488 677 ; -C -1 ; WX 468 ; N gamma ; B 1 -216 461 470 ; -C -1 ; WX 413 ; N zeta ; B 32 -216 408 688 ; -C -1 ; WX 568 ; N eta ; B 9 -214 512 470 ; -C -1 ; WX 522 ; N theta ; B 41 -14 481 677 ; -C -1 ; WX 310 ; N iota ; B 21 -14 307 457 ; -C -1 ; WX 555 ; N kappa ; B 18 0 560 470 ; -C -1 ; WX 491 ; N lambda ; B 14 -6 503 677 ; -C -1 ; WX 567 ; N mu ; B 52 -216 552 457 ; -C -1 ; WX 447 ; N nu ; B -10 -14 425 470 ; -C -1 ; WX 446 ; N xi ; B 30 -216 443 688 ; -C -1 ; WX 500 ; N omicron ; B 36 -14 464 470 ; -C -1 ; WX 535 ; N rho ; B 49 -214 492 470 ; -C -1 ; WX 422 ; N sigma1 ; B 28 -216 410 470 ; -C -1 ; WX 519 ; N upsilon ; B 5 -14 479 470 ; -C -1 ; WX 462 ; N chi ; B 7 -216 472 463 ; -C -1 ; WX 688 ; N psi ; B 16 -214 672 463 ; -C -1 ; WX 731 ; N omega ; B 39 -14 693 470 ; -C -1 ; WX 310 ; N iotadieresis ; B -8 -14 307 668 ; -C -1 ; WX 519 ; N upsilondieresis ; B 5 -14 479 668 ; -C -1 ; WX 500 ; N omicrontonos ; B 36 -14 464 685 ; -C -1 ; WX 519 ; N upsilontonos ; B 5 -14 479 685 ; -C -1 ; WX 731 ; N omegatonos ; B 39 -14 693 685 ; -C -1 ; WX 667 ; N afii10023 ; B 20 0 622 856 ; -C -1 ; WX 800 ; N afii10051 ; B 32 -8 766 662 ; -C -1 ; WX 678 ; N afii10053 ; B 37 -15 631 677 ; -C -1 ; WX 556 ; N afii10054 ; B 52 -16 516 677 ; -C -1 ; WX 389 ; N afii10055 ; B 20 0 366 662 ; -C -1 ; WX 389 ; N afii10056 ; B 20 0 366 856 ; -C -1 ; WX 500 ; N afii10057 ; B 11 -15 494 662 ; -C -1 ; WX 1003 ; N afii10058 ; B 6 -8 971 662 ; -C -1 ; WX 1002 ; N afii10059 ; B 19 0 970 662 ; -C -1 ; WX 800 ; N afii10060 ; B 32 0 775 662 ; -C -1 ; WX 734 ; N afii10062 ; B 9 -15 725 865 ; -C -1 ; WX 722 ; N afii10017 ; B 8 0 711 676 ; -C -1 ; WX 661 ; N afii10018 ; B 17 0 629 662 ; -C -1 ; WX 667 ; N afii10019 ; B 21 0 632 662 ; -C -1 ; WX 636 ; N afii10020 ; B 20 0 604 662 ; -C -1 ; WX 688 ; N afii10021 ; B 0 -193 669 662 ; -C -1 ; WX 667 ; N afii10022 ; B 20 0 622 662 ; -C -1 ; WX 989 ; N afii10024 ; B 15 0 973 670 ; -C -1 ; WX 528 ; N afii10025 ; B 20 -15 493 677 ; -C -1 ; WX 778 ; N afii10026 ; B 16 0 764 662 ; -C -1 ; WX 778 ; N afii10027 ; B 16 0 764 865 ; -C -1 ; WX 725 ; N afii10028 ; B 21 0 709 670 ; -C -1 ; WX 745 ; N afii10029 ; B 6 -8 719 662 ; -C -1 ; WX 944 ; N afii10030 ; B 20 0 926 662 ; -C -1 ; WX 778 ; N afii10031 ; B 21 0 760 662 ; -C -1 ; WX 778 ; N afii10032 ; B 39 -15 742 677 ; -C -1 ; WX 778 ; N afii10033 ; B 20 0 759 662 ; -C -1 ; WX 611 ; N afii10034 ; B 25 0 581 662 ; -C -1 ; WX 722 ; N afii10035 ; B 40 -15 667 677 ; -C -1 ; WX 667 ; N afii10036 ; B 36 0 631 662 ; -C -1 ; WX 734 ; N afii10037 ; B 9 -15 725 662 ; -C -1 ; WX 859 ; N afii10038 ; B 37 0 822 662 ; -C -1 ; WX 722 ; N afii10039 ; B 7 0 715 662 ; -C -1 ; WX 778 ; N afii10040 ; B 20 -193 750 662 ; -C -1 ; WX 734 ; N afii10041 ; B 6 0 713 662 ; -C -1 ; WX 1098 ; N afii10042 ; B 42 0 1056 662 ; -C -1 ; WX 1098 ; N afii10043 ; B 42 -193 1056 662 ; -C -1 ; WX 765 ; N afii10044 ; B 36 0 732 662 ; -C -1 ; WX 982 ; N afii10045 ; B 17 0 962 662 ; -C -1 ; WX 661 ; N afii10046 ; B 17 0 629 662 ; -C -1 ; WX 678 ; N afii10047 ; B 47 -15 641 677 ; -C -1 ; WX 1126 ; N afii10048 ; B 20 -15 1089 677 ; -C -1 ; WX 722 ; N afii10049 ; B -9 0 704 662 ; -C -1 ; WX 500 ; N afii10065 ; B 45 -6 483 470 ; -C -1 ; WX 500 ; N afii10066 ; B 36 -14 464 677 ; -C -1 ; WX 540 ; N afii10067 ; B 36 0 504 457 ; -C -1 ; WX 454 ; N afii10068 ; B 35 0 437 457 ; -C -1 ; WX 506 ; N afii10069 ; B 0 -120 470 457 ; -C -1 ; WX 444 ; N afii10070 ; B 39 -14 420 470 ; -C -1 ; WX 725 ; N afii10072 ; B 6 0 719 464 ; -C -1 ; WX 402 ; N afii10073 ; B 13 -14 375 470 ; -C -1 ; WX 576 ; N afii10074 ; B 34 0 542 457 ; -C -1 ; WX 576 ; N afii10075 ; B 34 0 542 665 ; -C -1 ; WX 576 ; N afii10076 ; B 35 0 563 464 ; -C -1 ; WX 561 ; N afii10077 ; B 6 -8 524 457 ; -C -1 ; WX 681 ; N afii10078 ; B 36 0 644 457 ; -C -1 ; WX 576 ; N afii10079 ; B 34 0 541 457 ; -C -1 ; WX 500 ; N afii10080 ; B 36 -14 464 470 ; -C -1 ; WX 576 ; N afii10081 ; B 34 0 542 457 ; -C -1 ; WX 556 ; N afii10082 ; B 19 -214 513 470 ; -C -1 ; WX 444 ; N afii10083 ; B 38 -14 421 470 ; -C -1 ; WX 491 ; N afii10084 ; B 18 0 473 457 ; -C -1 ; WX 500 ; N afii10085 ; B 8 -216 491 457 ; -C -1 ; WX 692 ; N afii10086 ; B 40 -214 652 662 ; -C -1 ; WX 500 ; N afii10087 ; B 23 0 484 457 ; -C -1 ; WX 576 ; N afii10088 ; B 34 -120 542 457 ; -C -1 ; WX 564 ; N afii10089 ; B 25 0 526 457 ; -C -1 ; WX 844 ; N afii10090 ; B 35 0 810 457 ; -C -1 ; WX 844 ; N afii10091 ; B 35 -120 810 457 ; -C -1 ; WX 583 ; N afii10092 ; B 18 0 552 457 ; -C -1 ; WX 781 ; N afii10093 ; B 38 0 744 457 ; -C -1 ; WX 529 ; N afii10094 ; B 38 0 498 457 ; -C -1 ; WX 432 ; N afii10095 ; B 14 -14 396 470 ; -C -1 ; WX 764 ; N afii10096 ; B 37 -14 729 470 ; -C -1 ; WX 541 ; N afii10097 ; B 17 0 503 457 ; -C -1 ; WX 444 ; N afii10071 ; B 39 -14 420 668 ; -C -1 ; WX 537 ; N afii10099 ; B 36 -216 488 663 ; -C -1 ; WX 454 ; N afii10100 ; B 35 0 437 685 ; -C -1 ; WX 432 ; N afii10101 ; B 36 -14 418 470 ; -C -1 ; WX 389 ; N afii10102 ; B 40 -14 354 470 ; -C -1 ; WX 278 ; N afii10103 ; B 21 0 267 678 ; -C -1 ; WX 278 ; N afii10104 ; B -17 0 295 668 ; -C -1 ; WX 333 ; N afii10105 ; B -28 -216 249 677 ; -C -1 ; WX 780 ; N afii10106 ; B 6 -8 749 457 ; -C -1 ; WX 797 ; N afii10107 ; B 35 0 766 457 ; -C -1 ; WX 556 ; N afii10108 ; B 37 0 530 662 ; -C -1 ; WX 500 ; N afii10110 ; B 8 -216 491 665 ; -C -1 ; WX 576 ; N afii10193 ; B 34 -120 542 457 ; -C -1 ; WX 520 ; N afii10050 ; B 20 0 499 804 ; -C -1 ; WX 389 ; N afii10098 ; B 36 0 372 545 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 224 969 294 ; -C -1 ; WX 1005 ; N afii61352 ; B 6 -15 969 669 ; -C -1 ; WX 548 ; N pi ; B 7 -14 523 457 ; -C -1 ; WX 333 ; N sheva ; B 125 -215 208 -25 ; -C -1 ; WX 333 ; N hatafsegol ; B 14 -215 319 -24 ; -C -1 ; WX 333 ; N hatafpatah ; B 24 -215 309 -24 ; -C -1 ; WX 333 ; N hatafqamats ; B 9 -216 325 -24 ; -C -1 ; WX 333 ; N hiriq ; B 126 -153 207 -72 ; -C -1 ; WX 333 ; N tsere ; B 70 -153 263 -72 ; -C -1 ; WX 333 ; N segol ; B 70 -215 263 -24 ; -C -1 ; WX 333 ; N patah ; B 70 -130 263 -80 ; -C -1 ; WX 333 ; N qamats ; B 70 -215 263 -52 ; -C -1 ; WX 333 ; N holam ; B 126 587 207 668 ; -C -1 ; WX 333 ; N qubuts ; B 14 -215 319 -24 ; -C -1 ; WX 333 ; N dagesh ; B 126 221 207 302 ; -C -1 ; WX 333 ; N meteg ; B 141 -215 191 -53 ; -C -1 ; WX 363 ; N maqaf ; B 43 347 320 516 ; -C -1 ; WX 333 ; N rafe ; B 70 596 263 646 ; -C -1 ; WX 333 ; N paseq ; B 116 -49 217 564 ; -C -1 ; WX 343 ; N shindot ; B 335 587 417 668 ; -C -1 ; WX 343 ; N sindot ; B -73 587 8 668 ; -C -1 ; WX 333 ; N sofpasuq ; B 85 -12 248 525 ; -C -1 ; WX 527 ; N alef ; B 21 -18 494 553 ; -C -1 ; WX 459 ; N bet ; B 19 0 448 549 ; -C -1 ; WX 367 ; N gimel ; B 16 -11 353 553 ; -C -1 ; WX 464 ; N dalet ; B 30 -11 432 549 ; -C -1 ; WX 512 ; N he ; B 30 -11 482 549 ; -C -1 ; WX 298 ; N vav ; B 27 -8 247 553 ; -C -1 ; WX 317 ; N zayin ; B 27 -10 290 553 ; -C -1 ; WX 504 ; N het ; B 33 -11 475 549 ; -C -1 ; WX 529 ; N tet ; B 27 0 486 553 ; -C -1 ; WX 311 ; N yod ; B 27 180 272 553 ; -C -1 ; WX 458 ; N finalkaf ; B 27 -170 425 549 ; -C -1 ; WX 446 ; N kaf ; B 19 0 406 549 ; -C -1 ; WX 435 ; N lamed ; B -16 -10 395 753 ; -C -1 ; WX 511 ; N finalmem ; B 39 0 459 549 ; -C -1 ; WX 533 ; N mem ; B 27 0 493 553 ; -C -1 ; WX 326 ; N finalnun ; B 27 -170 290 553 ; -C -1 ; WX 316 ; N nun ; B 16 0 275 553 ; -C -1 ; WX 478 ; N samekh ; B 35 -13 438 549 ; -C -1 ; WX 507 ; N ayin ; B 19 -32 480 553 ; -C -1 ; WX 493 ; N finalpe ; B 27 -170 455 549 ; -C -1 ; WX 457 ; N pe ; B 21 0 416 549 ; -C -1 ; WX 564 ; N finaltsadi ; B 27 -170 537 553 ; -C -1 ; WX 515 ; N tsadi ; B 27 0 485 553 ; -C -1 ; WX 483 ; N qof ; B 33 -170 442 549 ; -C -1 ; WX 464 ; N resh ; B 27 -8 412 549 ; -C -1 ; WX 688 ; N shin ; B 27 0 661 553 ; -C -1 ; WX 518 ; N tav ; B 11 -8 467 549 ; -C -1 ; WX 597 ; N doublevav ; B 27 -8 545 553 ; -C -1 ; WX 609 ; N vavyod ; B 27 -8 558 553 ; -C -1 ; WX 621 ; N doubleyod ; B 27 180 583 553 ; -C -1 ; WX 255 ; N geresh ; B 68 219 212 535 ; -C -1 ; WX 460 ; N gershayim ; B 68 219 417 535 ; -C -1 ; WX 758 ; N newsheqelsign ; B 65 0 693 516 ; -C -1 ; WX 298 ; N vavshindot ; B -54 -8 247 668 ; -C -1 ; WX 458 ; N finalkafsheva ; B 27 -170 425 549 ; -C -1 ; WX 458 ; N finalkafqamats ; B 27 -170 425 549 ; -C -1 ; WX 435 ; N lamedholam ; B -132 -10 395 753 ; -C -1 ; WX 435 ; N lamedholamdagesh ; B -132 -10 395 753 ; -C -1 ; WX 507 ; N altayin ; B 19 0 480 553 ; -C -1 ; WX 688 ; N shinshindot ; B 27 0 661 668 ; -C -1 ; WX 688 ; N shinsindot ; B 23 0 661 668 ; -C -1 ; WX 688 ; N shindageshshindot ; B 27 0 661 668 ; -C -1 ; WX 688 ; N shindageshsindot ; B 23 0 661 668 ; -C -1 ; WX 527 ; N alefpatah ; B 21 -130 494 553 ; -C -1 ; WX 527 ; N alefqamats ; B 21 -215 494 553 ; -C -1 ; WX 527 ; N alefmapiq ; B 21 -18 494 553 ; -C -1 ; WX 459 ; N betdagesh ; B 19 0 448 549 ; -C -1 ; WX 367 ; N gimeldagesh ; B 16 -11 353 553 ; -C -1 ; WX 464 ; N daletdagesh ; B 30 -11 432 549 ; -C -1 ; WX 512 ; N hedagesh ; B 30 -11 482 549 ; -C -1 ; WX 298 ; N vavdagesh ; B 27 -8 247 553 ; -C -1 ; WX 332 ; N zayindagesh ; B 6 -10 304 553 ; -C -1 ; WX 529 ; N tetdagesh ; B 27 0 486 553 ; -C -1 ; WX 311 ; N yoddagesh ; B 27 180 272 553 ; -C -1 ; WX 458 ; N finalkafdagesh ; B 27 -170 425 549 ; -C -1 ; WX 446 ; N kafdagesh ; B 19 0 406 549 ; -C -1 ; WX 435 ; N lameddagesh ; B -16 -10 395 753 ; -C -1 ; WX 533 ; N memdagesh ; B 27 0 493 553 ; -C -1 ; WX 316 ; N nundagesh ; B 16 0 275 553 ; -C -1 ; WX 478 ; N samekhdagesh ; B 35 -13 438 549 ; -C -1 ; WX 493 ; N finalpedagesh ; B 27 -170 455 549 ; -C -1 ; WX 457 ; N pedagesh ; B 21 0 416 549 ; -C -1 ; WX 515 ; N tsadidagesh ; B 27 0 485 553 ; -C -1 ; WX 483 ; N qofdagesh ; B 33 -170 442 549 ; -C -1 ; WX 464 ; N reshdagesh ; B 27 -8 412 549 ; -C -1 ; WX 688 ; N shindagesh ; B 27 0 661 553 ; -C -1 ; WX 518 ; N tavdages ; B 11 -8 467 549 ; -C -1 ; WX 298 ; N vavholam ; B 27 -8 247 668 ; -C -1 ; WX 459 ; N betrafe ; B 19 0 448 646 ; -C -1 ; WX 446 ; N kafrafe ; B 19 0 406 646 ; -C -1 ; WX 457 ; N perafe ; B 21 0 416 646 ; -C -1 ; WX 527 ; N aleflamed ; B -16 -18 494 753 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 319 ; N afii57388 ; B 83 137 241 443 ; -C -1 ; WX 319 ; N afii57403 ; B 78 136 235 609 ; -C -1 ; WX 356 ; N afii57407 ; B 33 137 326 711 ; -C -1 ; WX 469 ; N afii57409 ; B 62 46 422 510 ; -C -1 ; WX 198 ; N afii57440 ; B -34 143 198 276 ; -C -1 ; WX 201 ; N afii57451 ; B 34 683 201 857 ; -C -1 ; WX 237 ; N afii57452 ; B 34 683 237 872 ; -C -1 ; WX 201 ; N afii57453 ; B 34 -133 201 41 ; -C -1 ; WX 201 ; N afii57454 ; B 34 683 201 784 ; -C -1 ; WX 209 ; N afii57455 ; B 35 683 209 895 ; -C -1 ; WX 201 ; N afii57456 ; B 34 -60 201 41 ; -C -1 ; WX 211 ; N afii57457 ; B 34 683 211 840 ; -C -1 ; WX 165 ; N afii57458 ; B 34 683 165 834 ; -C -1 ; WX 562 ; N afii57392 ; B 191 206 360 457 ; -C -1 ; WX 562 ; N afii57393 ; B 164 146 359 719 ; -C -1 ; WX 562 ; N afii57394 ; B 127 143 419 718 ; -C -1 ; WX 562 ; N afii57395 ; B 77 143 476 713 ; -C -1 ; WX 562 ; N afii57396 ; B 147 145 404 710 ; -C -1 ; WX 562 ; N afii57397 ; B 114 231 448 634 ; -C -1 ; WX 562 ; N afii57398 ; B 104 149 426 718 ; -C -1 ; WX 562 ; N afii57399 ; B 76 143 457 717 ; -C -1 ; WX 562 ; N afii57400 ; B 92 149 473 724 ; -C -1 ; WX 562 ; N afii57401 ; B 116 146 427 719 ; -C -1 ; WX 526 ; N afii57381 ; B 65 84 463 777 ; -C -1 ; WX 319 ; N afii57461 ; B 94 23 230 267 ; -C -1 ; WX 526 ; N afii63167 ; B 87 403 424 744 ; -C -1 ; WX 750 ; N afii57459 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543 ; B 125 0 625 625 ; -C -1 ; WX 343 ; N afii57534 ; B 43 126 304 519 ; -C -1 ; WX 750 ; N afii57494 ; B 125 0 625 625 ; -C -1 ; WX 562 ; N afii62843 ; B 81 143 471 737 ; -C -1 ; WX 562 ; N afii62844 ; B 92 143 461 719 ; -C -1 ; WX 562 ; N afii62845 ; B 108 143 451 729 ; -C -1 ; WX 750 ; N afii64240 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64241 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63954 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57382 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64242 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62881 ; B 34 683 211 995 ; -C -1 ; WX 750 ; N afii57504 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57369 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57370 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57371 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57372 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57373 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57374 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57375 ; B 125 0 625 625 ; -C -1 ; WX 612 ; N afii57391 ; B -34 143 612 276 ; -C -1 ; WX 750 ; N afii57471 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57460 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii52258 ; B 125 0 625 625 ; -C -1 ; WX 649 ; N afii57506 ; B 28 -193 649 489 ; -C -1 ; WX 649 ; N afii62958 ; B 28 -193 649 489 ; -C -1 ; WX 271 ; N afii62956 ; B -34 -193 271 492 ; -C -1 ; WX 271 ; N afii52957 ; B -34 -193 271 492 ; -C -1 ; WX 750 ; N afii57505 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62889 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62887 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62888 ; B 125 0 625 625 ; -C -1 ; WX 577 ; N afii57507 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62961 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62959 ; B -34 -193 523 501 ; -C -1 ; WX 523 ; N afii62960 ; B -34 -193 523 501 ; -C -1 ; WX 433 ; N afii57508 ; B 5 -72 447 813 ; -C -1 ; WX 433 ; N afii62962 ; B 5 -72 447 813 ; -C -1 ; WX 757 ; N afii57567 ; B 20 143 757 708 ; -C -1 ; WX 879 ; N afii62964 ; B 20 143 879 722 ; -C -1 ; WX 360 ; N afii52305 ; B -34 143 360 708 ; -C -1 ; WX 542 ; N afii52306 ; B -34 143 542 722 ; -C -1 ; WX 757 ; N afii57509 ; B 20 143 757 863 ; -C -1 ; WX 879 ; N afii62967 ; B 20 143 879 876 ; -C -1 ; WX 360 ; N afii62965 ; B -34 143 360 863 ; -C -1 ; WX 542 ; N afii62966 ; B -34 143 542 876 ; -C -1 ; WX 645 ; N afii57555 ; B 74 -60 575 461 ; -C -1 ; WX 554 ; N afii52364 ; B 15 -174 588 282 ; -C -1 ; WX 750 ; N afii63753 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63754 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63759 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63763 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63795 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62891 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63808 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62938 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63810 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62942 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62947 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63813 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63823 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63824 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63833 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63844 ; B 125 0 625 625 ; -C -1 ; WX 226 ; N afii62882 ; B 23 683 226 1010 ; -C -1 ; WX 211 ; N afii62883 ; B 34 678 211 978 ; -C -1 ; WX 211 ; N afii62884 ; B 34 683 211 918 ; -C -1 ; WX 211 ; N afii62885 ; B 31 683 211 974 ; -C -1 ; WX 211 ; N afii62886 ; B 34 683 211 931 ; -C -1 ; WX 750 ; N afii63846 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63849 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202E ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni202C ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206E ; B 125 0 625 625 ; -C -1 ; WX 750 ; N _b_852 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N _b_855 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uni206D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00A ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00B ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00C ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00D ; B 125 0 625 625 ; -C -1 ; WX 750 ; N uniF00E ; B 125 0 625 625 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 750 ; N afii63904 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63905 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63906 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63908 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63910 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63912 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62927 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63941 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62939 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62943 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63946 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63948 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63950 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63951 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63952 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63953 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63956 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63958 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63959 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63960 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii63961 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64058 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii64059 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N afii64060 ; B 62 -209 273 785 ; -C -1 ; WX 319 ; N afii64061 ; B 50 -209 262 785 ; -C -1 ; WX 750 ; N afii62945 ; B 125 0 625 625 ; -C -1 ; WX 703 ; N afii64184 ; B 22 91 661 920 ; -C -1 ; WX 469 ; N afii52399 ; B 62 46 422 510 ; -C -1 ; WX 238 ; N afii52400 ; B 0 109 238 831 ; -C -1 ; WX 253 ; N afii62753 ; B -30 143 253 831 ; -C -1 ; WX 217 ; N afii57411 ; B 46 109 182 876 ; -C -1 ; WX 234 ; N afii62754 ; B -3 143 234 876 ; -C -1 ; WX 451 ; N afii57412 ; B 3 -71 451 661 ; -C -1 ; WX 451 ; N afii62755 ; B 3 -71 451 661 ; -C -1 ; WX 217 ; N afii57413 ; B 46 -88 181 736 ; -C -1 ; WX 234 ; N afii62756 ; B 13 -88 234 736 ; -C -1 ; WX 645 ; N afii57414 ; B 74 -60 575 546 ; -C -1 ; WX 577 ; N afii62759 ; B 8 -98 577 524 ; -C -1 ; WX 271 ; N afii62757 ; B -34 143 271 661 ; -C -1 ; WX 271 ; N afii62758 ; B -34 143 271 661 ; -C -1 ; WX 217 ; N afii57415 ; B 66 109 181 736 ; -C -1 ; WX 234 ; N afii62760 ; B 13 143 234 736 ; -C -1 ; WX 649 ; N afii57416 ; B 28 -69 649 489 ; -C -1 ; WX 649 ; N afii62763 ; B 28 -69 649 489 ; -C -1 ; WX 271 ; N afii62761 ; B -34 -69 271 492 ; -C -1 ; WX 271 ; N afii62762 ; B -34 -69 271 492 ; -C -1 ; WX 343 ; N afii57417 ; B 26 126 304 763 ; -C -1 ; WX 415 ; N afii62764 ; B 1 143 415 873 ; -C -1 ; WX 649 ; N afii57418 ; B 28 143 649 656 ; -C -1 ; WX 649 ; N afii62767 ; B 28 143 649 656 ; -C -1 ; WX 271 ; N afii62765 ; B -34 143 271 715 ; -C -1 ; WX 271 ; N afii62766 ; B -34 143 271 715 ; -C -1 ; WX 649 ; N afii57419 ; B 29 144 649 766 ; -C -1 ; WX 649 ; N afii62770 ; B 29 144 649 766 ; -C -1 ; WX 271 ; N afii62768 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N afii62769 ; B -34 143 271 828 ; -C -1 ; WX 577 ; N afii57420 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62773 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62771 ; B -34 -74 523 501 ; -C -1 ; WX 523 ; N afii62772 ; B -34 -74 523 501 ; -C -1 ; WX 577 ; N afii57421 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N afii62776 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N afii62774 ; B -34 143 523 501 ; -C -1 ; WX 523 ; N afii62775 ; B -34 143 523 501 ; -C -1 ; WX 577 ; N afii57422 ; B 25 -203 563 746 ; -C -1 ; WX 559 ; N afii62779 ; B 23 -201 563 746 ; -C -1 ; WX 523 ; N afii62777 ; B -34 143 523 724 ; -C -1 ; WX 523 ; N afii62778 ; B -34 143 523 724 ; -C -1 ; WX 343 ; N afii57423 ; B 51 143 343 604 ; -C -1 ; WX 343 ; N afii62780 ; B 51 143 343 604 ; -C -1 ; WX 343 ; N afii57424 ; B 51 143 343 845 ; -C -1 ; WX 343 ; N afii62781 ; B 51 143 343 845 ; -C -1 ; WX 433 ; N afii57425 ; B 5 -72 433 461 ; -C -1 ; WX 433 ; N afii62782 ; B 5 -72 433 461 ; -C -1 ; WX 433 ; N afii57426 ; B 5 -72 433 693 ; -C -1 ; WX 433 ; N afii62783 ; B 5 -72 433 693 ; -C -1 ; WX 899 ; N afii57427 ; B 31 -63 899 458 ; -C -1 ; WX 899 ; N afii62786 ; B 31 -63 899 458 ; -C -1 ; WX 608 ; N afii62784 ; B -34 143 608 446 ; -C -1 ; WX 608 ; N afii62785 ; B -34 143 608 446 ; -C -1 ; WX 899 ; N afii57428 ; B 31 -63 899 774 ; -C -1 ; WX 899 ; N afii62789 ; B 31 -63 899 774 ; -C -1 ; WX 608 ; N afii62787 ; B -34 143 608 774 ; -C -1 ; WX 608 ; N afii62788 ; B -34 143 608 774 ; -C -1 ; WX 1063 ; N afii57429 ; B 31 -63 1063 504 ; -C -1 ; WX 1063 ; N afii62792 ; B 31 -63 1063 504 ; -C -1 ; WX 771 ; N afii62790 ; B -34 143 771 504 ; -C -1 ; WX 771 ; N afii62791 ; B -34 143 771 504 ; -C -1 ; WX 1063 ; N afii57430 ; B 31 -63 1063 728 ; -C -1 ; WX 1063 ; N afii62795 ; B 31 -63 1063 728 ; -C -1 ; WX 771 ; N afii62793 ; B -34 143 771 728 ; -C -1 ; WX 771 ; N afii62794 ; B -34 143 771 728 ; -C -1 ; WX 523 ; N afii57431 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62798 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62796 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62797 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii57432 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62801 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62799 ; B -34 143 523 813 ; -C -1 ; WX 523 ; N afii62800 ; B -34 143 523 813 ; -C -1 ; WX 541 ; N afii57433 ; B 25 -204 535 595 ; -C -1 ; WX 469 ; N afii62804 ; B 34 -198 516 531 ; -C -1 ; WX 541 ; N afii62802 ; B -34 143 483 571 ; -C -1 ; WX 360 ; N afii62803 ; B -34 143 360 505 ; -C -1 ; WX 541 ; N afii57434 ; B 25 -204 535 822 ; -C -1 ; WX 469 ; N afii62807 ; B 34 -198 516 760 ; -C -1 ; WX 541 ; N afii62805 ; B -34 143 483 800 ; -C -1 ; WX 360 ; N afii62806 ; B -34 143 360 756 ; -C -1 ; WX 758 ; N afii57441 ; B 23 127 758 779 ; -C -1 ; WX 758 ; N afii62810 ; B 23 127 758 779 ; -C -1 ; WX 305 ; N afii62808 ; B -34 143 305 850 ; -C -1 ; WX 324 ; N afii62809 ; B -34 143 324 779 ; -C -1 ; WX 612 ; N afii57442 ; B 19 -130 612 658 ; -C -1 ; WX 612 ; N afii62813 ; B 19 -130 612 658 ; -C -1 ; WX 305 ; N afii62811 ; B -34 143 305 844 ; -C -1 ; WX 324 ; N afii62812 ; B -34 143 324 780 ; -C -1 ; WX 541 ; N afii57443 ; B 20 143 541 774 ; -C -1 ; WX 541 ; N afii62816 ; B 20 143 541 774 ; -C -1 ; WX 360 ; N afii57410 ; B -34 143 360 708 ; -C -1 ; WX 360 ; N afii62815 ; B -34 143 360 708 ; -C -1 ; WX 451 ; N afii57444 ; B 17 -36 451 773 ; -C -1 ; WX 451 ; N afii62819 ; B 17 -36 451 773 ; -C -1 ; WX 234 ; N afii62817 ; B -34 143 234 774 ; -C -1 ; WX 234 ; N afii62818 ; B -34 143 234 774 ; -C -1 ; WX 360 ; N afii57445 ; B 16 -212 360 431 ; -C -1 ; WX 360 ; N afii62822 ; B 16 -212 360 431 ; -C -1 ; WX 415 ; N afii62820 ; B -34 143 415 472 ; -C -1 ; WX 415 ; N afii62821 ; B -34 143 415 472 ; -C -1 ; WX 541 ; N afii57446 ; B 30 -63 541 612 ; -C -1 ; WX 541 ; N afii62825 ; B 30 -63 541 612 ; -C -1 ; WX 271 ; N afii62823 ; B -34 143 274 735 ; -C -1 ; WX 271 ; N afii62824 ; B -34 143 274 735 ; -C -1 ; WX 343 ; N afii57447 ; B 43 126 304 519 ; -C -1 ; WX 415 ; N afii62828 ; B 1 143 415 694 ; -C -1 ; WX 469 ; N afii57470 ; B -34 117 398 627 ; -C -1 ; WX 451 ; N afii62827 ; B -34 -101 451 560 ; -C -1 ; WX 451 ; N afii57448 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N afii62829 ; B 3 -71 451 484 ; -C -1 ; WX 645 ; N afii57449 ; B 74 -60 575 461 ; -C -1 ; WX 554 ; N afii62830 ; B 15 -174 588 282 ; -C -1 ; WX 645 ; N afii57450 ; B 74 -194 575 461 ; -C -1 ; WX 577 ; N afii62833 ; B 8 -212 577 319 ; -C -1 ; WX 271 ; N afii62831 ; B -34 -81 271 492 ; -C -1 ; WX 271 ; N afii62832 ; B -34 -81 271 492 ; -C -1 ; WX 541 ; N afii62834 ; B 0 72 525 831 ; -C -1 ; WX 596 ; N afii62835 ; B 0 94 596 831 ; -C -1 ; WX 486 ; N afii62836 ; B 17 72 471 876 ; -C -1 ; WX 541 ; N afii62837 ; B 13 94 541 876 ; -C -1 ; WX 486 ; N afii62838 ; B 17 -120 471 739 ; -C -1 ; WX 541 ; N afii62839 ; B 13 -120 541 766 ; -C -1 ; WX 486 ; N afii62840 ; B 17 72 471 739 ; -C -1 ; WX 541 ; N afii62841 ; B 13 94 541 766 ; -C -1 ; WX 750 ; N glyph1021 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57454-2 ; B 34 683 201 784 ; -C -1 ; WX 201 ; N afii57451-2 ; B 34 683 201 857 ; -C -1 ; WX 750 ; N glyph1025 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1026 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-2 ; B 125 0 625 625 ; -C -1 ; WX 165 ; N afii57458-2 ; B 34 683 165 834 ; -C -1 ; WX 211 ; N afii57457-2 ; B 34 683 211 840 ; -C -1 ; WX 750 ; N afii57494-2 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-2 ; B 125 0 625 625 ; -C -1 ; WX 209 ; N afii57455-2 ; B 35 683 209 895 ; -C -1 ; WX 237 ; N afii57452-2 ; B 34 683 237 872 ; -C -1 ; WX 750 ; N glyph1034 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1035 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1036 ; B 125 0 625 625 ; -C -1 ; WX 211 ; N afii62884-2 ; B 34 683 211 918 ; -C -1 ; WX 211 ; N afii62881-2 ; B 34 683 211 995 ; -C -1 ; WX 211 ; N afii62886-2 ; B 34 683 211 931 ; -C -1 ; WX 211 ; N afii62883-2 ; B 34 678 211 978 ; -C -1 ; WX 211 ; N afii62885-2 ; B 31 683 211 974 ; -C -1 ; WX 226 ; N afii62882-2 ; B 23 683 226 1010 ; -C -1 ; WX 750 ; N afii57504-2 ; B 125 0 625 625 ; -C -1 ; WX 201 ; N afii57456-2 ; B 34 -60 201 41 ; -C -1 ; WX 201 ; N afii57453-2 ; B 34 -133 201 41 ; -C -1 ; WX 750 ; N glyph1046 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1047 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1051 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1052 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1060 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1061 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1062 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-3 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1072 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1073 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57543-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57454-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57451-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1077 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1078 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57471-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57458-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57457-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57494-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57459-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57455-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57452-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1086 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1087 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1088 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62884-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62881-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62886-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62883-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62885-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii62882-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57504-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57456-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N afii57453-4 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1098 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1099 ; B 125 0 625 625 ; -C -1 ; WX 319 ; N glyph1100 ; B 99 137 223 714 ; -C -1 ; WX 319 ; N glyph1101 ; B 97 137 226 267 ; -C -1 ; WX 319 ; N glyph1102 ; B 97 137 225 542 ; -C -1 ; WX 750 ; N glyph1103 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1104 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1105 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1106 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1107 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1108 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1109 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1110 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1111 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1112 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1113 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1114 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1115 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1116 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1117 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1118 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1119 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1120 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1121 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1122 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1123 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1124 ; B 125 0 625 625 ; -C -1 ; WX 750 ; N glyph1125 ; B 125 0 625 625 ; -C -1 ; WX 343 ; N glyph1126 ; B 51 143 343 556 ; -C -1 ; WX 125 ; N afii57440-2 ; B -34 143 125 276 ; -C -1 ; WX 1000 ; N afii57440-3 ; B -34 143 1000 276 ; -C -1 ; WX 2000 ; N afii57440-4 ; B -34 143 2000 276 ; -C -1 ; WX 778 ; N Ohorn ; B 39 -15 794 737 ; -C -1 ; WX 554 ; N ohorn ; B 36 -14 583 510 ; -C -1 ; WX 796 ; N Uhorn ; B 23 -16 836 801 ; -C -1 ; WX 600 ; N uhorn ; B 31 -14 621 474 ; -C -1 ; WX 0 ; N glyph1134 ; B -313 814 -142 891 ; -C -1 ; WX 0 ; N glyph1135 ; B -532 814 -312 891 ; -C -1 ; WX 0 ; N glyph1136 ; B -406 728 -208 891 ; -C -1 ; WX 0 ; N uniF006 ; B -252 814 -84 891 ; -C -1 ; WX 0 ; N uniF007 ; B -398 814 -183 891 ; -C -1 ; WX 0 ; N uniF009 ; B -297 728 -97 891 ; -C -1 ; WX 0 ; N combininghookabove ; B -237 724 -16 891 ; -C -1 ; WX 0 ; N uniF010 ; B -287 814 -105 891 ; -C -1 ; WX 0 ; N uniF013 ; B -352 724 -130 891 ; -C -1 ; WX 0 ; N uniF011 ; B -427 814 -245 891 ; -C -1 ; WX 0 ; N uniF01C ; B -342 748 -26 885 ; -C -1 ; WX 0 ; N uniF015 ; B -488 814 -207 891 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -398 724 -82 861 ; -C -1 ; WX 0 ; N glyph1147 ; B -129 721 124 792 ; -C -1 ; WX 0 ; N glyph1148 ; B -124 720 124 791 ; -C -1 ; WX 0 ; N uniF02C ; B -200 -212 -38 -50 ; -C -1 ; WX 513 ; N dongsign ; B 74 133 452 662 ; -C -1 ; WX 750 ; N onethird ; B 35 -30 714 676 ; -C -1 ; WX 750 ; N twothirds ; B 12 -30 714 676 ; -C -1 ; WX 0 ; N uniF008 ; B -211 515 -12 679 ; -C -1 ; WX 0 ; N glyph1154 ; B -306 515 -106 679 ; -C -1 ; WX 0 ; N glyph1155 ; B -285 515 -86 679 ; -C -1 ; WX 0 ; N uniF00F ; B -398 515 -200 679 ; -C -1 ; WX 0 ; N uniF012 ; B -239 515 -18 682 ; -C -1 ; WX 0 ; N uniF014 ; B -353 515 -131 682 ; -C -1 ; WX 0 ; N uniF016 ; B -510 748 -194 885 ; -C -1 ; WX 0 ; N uniF017 ; B -545 748 -229 885 ; -C -1 ; WX 0 ; N uniF018 ; B -558 748 -242 885 ; -C -1 ; WX 0 ; N uniF019 ; B -388 532 -72 669 ; -C -1 ; WX 0 ; N uniF01A ; B -450 532 -134 669 ; -C -1 ; WX 0 ; N uniF01B ; B -484 532 -168 669 ; -C -1 ; WX 0 ; N uniF01E ; B -410 -212 -248 -50 ; -C -1 ; WX 0 ; N uniF01F ; B -464 -212 -301 -50 ; -C -1 ; WX 0 ; N uniF020 ; B -464 -212 -301 -50 ; -C -1 ; WX 0 ; N uniF021 ; B -444 -212 -282 -50 ; -C -1 ; WX 0 ; N uniF022 ; B -518 -212 -355 -50 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -285 728 -86 891 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -192 728 8 891 ; -C -1 ; WX 0 ; N uniF01D ; B -309 532 7 669 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -503 -212 -340 -50 ; -C -1 ; WX 0 ; N uniF023 ; B -317 -212 -155 -50 ; -C -1 ; WX 0 ; N uniF029 ; B -276 -212 -113 -50 ; -C -1 ; WX 0 ; N uniF02A ; B -210 -212 -47 -50 ; -C -1 ; WX 0 ; N uniF02B ; B -439 -212 -276 -50 ; -C -1 ; WX 0 ; N uniF024 ; B -291 -212 -128 -50 ; -C -1 ; WX 0 ; N uniF025 ; B -330 -212 -167 -50 ; -C -1 ; WX 0 ; N uniF026 ; B -384 -212 -221 -50 ; -C -1 ; WX 0 ; N uniF027 ; B -379 -212 -216 -50 ; -C -1 ; WX 0 ; N uniF028 ; B -423 -212 -260 -50 ; -C -1 ; WX 0 ; N uniF02D ; B -477 814 -196 891 ; -C -1 ; WX 0 ; N uniF02E ; B -484 748 -168 885 ; -C -1 ; WX 0 ; N uniF02F ; B -526 814 -245 891 ; -C -1 ; WX 0 ; N uniF030 ; B -536 748 -220 885 ; -C -1 ; WX 278 ; N uniF031 ; B 21 0 267 457 ; -C -1 ; WX 722 ; N Adotbelow ; B 8 -212 711 676 ; -C -1 ; WX 500 ; N adotbelow ; B 45 -212 483 470 ; -C -1 ; WX 722 ; N Ahookabove ; B 8 0 711 891 ; -C -1 ; WX 500 ; N ahookabove ; B 45 -6 483 682 ; -C -1 ; WX 722 ; N Acircumflexacute ; B 8 0 711 891 ; -C -1 ; WX 500 ; N acircumflexacute ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Acircumflexgrave ; B 8 0 711 891 ; -C -1 ; WX 500 ; N acircumflexgrave ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Acircumflexhookabove ; B 8 0 711 891 ; -C -1 ; WX 500 ; N acircumflexhookabove ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Acircumflextilde ; B 8 0 711 891 ; -C -1 ; WX 500 ; N acircumflextilde ; B 45 -6 483 861 ; -C -1 ; WX 722 ; N Acircumflexdotbelow ; B 8 -212 711 791 ; -C -1 ; WX 500 ; N acircumflexdotbelow ; B 45 -212 483 697 ; -C -1 ; WX 722 ; N Abreveacute ; B 8 0 711 891 ; -C -1 ; WX 500 ; N abreveacute ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Abrevegrave ; B 8 0 711 891 ; -C -1 ; WX 500 ; N abrevegrave ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Abrevehookabove ; B 8 0 711 891 ; -C -1 ; WX 500 ; N abrevehookabove ; B 45 -6 483 891 ; -C -1 ; WX 722 ; N Abrevetilde ; B 8 0 711 891 ; -C -1 ; WX 500 ; N abrevetilde ; B 45 -6 483 861 ; -C -1 ; WX 722 ; N Abrevedotbelow ; B 8 -212 711 792 ; -C -1 ; WX 500 ; N abrevedotbelow ; B 45 -212 483 677 ; -C -1 ; WX 667 ; N Edotbelow ; B 20 -212 622 662 ; -C -1 ; WX 444 ; N edotbelow ; B 39 -212 420 470 ; -C -1 ; WX 667 ; N Ehookabove ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ehookabove ; B 39 -14 420 682 ; -C -1 ; WX 667 ; N Etilde ; B 20 0 622 857 ; -C -1 ; WX 444 ; N etilde ; B 39 -14 420 670 ; -C -1 ; WX 667 ; N Ecircumflexacute ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ecircumflexacute ; B 39 -14 420 891 ; -C -1 ; WX 667 ; N Ecircumflexgrave ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ecircumflexgrave ; B 39 -14 420 891 ; -C -1 ; WX 667 ; N Ecircumflexhookabove ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ecircumflexhookabove ; B 39 -14 420 891 ; -C -1 ; WX 667 ; N Ecircumflextilde ; B 20 0 622 891 ; -C -1 ; WX 444 ; N ecircumflextilde ; B 39 -14 420 861 ; -C -1 ; WX 667 ; N Ecircumflexdotbelow ; B 20 -212 622 791 ; -C -1 ; WX 444 ; N ecircumflexdotbelow ; B 39 -212 420 697 ; -C -1 ; WX 389 ; N Ihookabove ; B 20 0 366 891 ; -C -1 ; WX 278 ; N ihookabove ; B 21 0 267 682 ; -C -1 ; WX 389 ; N Idotbelow ; B 20 -212 366 662 ; -C -1 ; WX 278 ; N idotbelow ; B 21 -212 267 678 ; -C -1 ; WX 778 ; N Odotbelow ; B 39 -212 742 677 ; -C -1 ; WX 500 ; N odotbelow ; B 36 -212 464 470 ; -C -1 ; WX 778 ; N Ohookabove ; B 39 -15 742 891 ; -C -1 ; WX 500 ; N ohookabove ; B 36 -14 464 682 ; -C -1 ; WX 778 ; N Ocircumflexacute ; B 39 -15 742 891 ; -C -1 ; WX 500 ; N ocircumflexacute ; B 36 -14 464 891 ; -C -1 ; WX 778 ; N Ocircumflexgrave ; B 39 -15 742 891 ; -C -1 ; WX 500 ; N ocircumflexgrave ; B 36 -14 464 891 ; -C -1 ; WX 778 ; N Ocircumflexhookabove ; B 39 -15 742 891 ; -C -1 ; WX 500 ; N ocircumflexhookabove ; B 36 -14 464 891 ; -C -1 ; WX 778 ; N Ocircumflextilde ; B 39 -15 742 891 ; -C -1 ; WX 500 ; N ocircumflextilde ; B 36 -14 464 861 ; -C -1 ; WX 778 ; N Ocircumflexdotbelow ; B 39 -212 742 791 ; -C -1 ; WX 500 ; N ocircumflexdotbelow ; B 36 -212 464 697 ; -C -1 ; WX 778 ; N Ohornacute ; B 39 -15 794 888 ; -C -1 ; WX 554 ; N ohornacute ; B 36 -14 583 685 ; -C -1 ; WX 778 ; N Ohorngrave ; B 39 -15 794 888 ; -C -1 ; WX 554 ; N ohorngrave ; B 36 -14 583 685 ; -C -1 ; WX 778 ; N Ohornhookabove ; B 39 -15 794 891 ; -C -1 ; WX 554 ; N ohornhookabove ; B 36 -14 583 682 ; -C -1 ; WX 778 ; N Ohorntilde ; B 39 -15 794 857 ; -C -1 ; WX 554 ; N ohorntilde ; B 36 -14 583 670 ; -C -1 ; WX 778 ; N Ohorndotbelow ; B 39 -212 794 737 ; -C -1 ; WX 554 ; N ohorndotbelow ; B 36 -212 583 510 ; -C -1 ; WX 722 ; N Udotbelow ; B 23 -212 705 662 ; -C -1 ; WX 556 ; N udotbelow ; B 31 -212 524 457 ; -C -1 ; WX 722 ; N Uhookabove ; B 23 -16 705 891 ; -C -1 ; WX 556 ; N uhookabove ; B 31 -14 524 682 ; -C -1 ; WX 796 ; N Uhornacute ; B 23 -16 836 888 ; -C -1 ; WX 600 ; N uhornacute ; B 31 -14 621 685 ; -C -1 ; WX 796 ; N Uhorngrave ; B 23 -16 836 888 ; -C -1 ; WX 600 ; N uhorngrave ; B 31 -14 621 685 ; -C -1 ; WX 796 ; N Uhornhookabove ; B 23 -16 836 891 ; -C -1 ; WX 600 ; N uhornhookabove ; B 31 -14 621 682 ; -C -1 ; WX 796 ; N Uhorntilde ; B 23 -16 836 857 ; -C -1 ; WX 600 ; N uhorntilde ; B 31 -14 621 670 ; -C -1 ; WX 796 ; N Uhorndotbelow ; B 23 -212 836 801 ; -C -1 ; WX 600 ; N uhorndotbelow ; B 31 -212 621 474 ; -C -1 ; WX 722 ; N Ydotbelow ; B 9 -212 711 662 ; -C -1 ; WX 500 ; N ydotbelow ; B 8 -216 491 457 ; -C -1 ; WX 722 ; N Yhookabove ; B 9 0 711 891 ; -C -1 ; WX 500 ; N yhookabove ; B 8 -216 491 682 ; -C -1 ; WX 722 ; N Ytilde ; B 9 0 711 857 ; -C -1 ; WX 500 ; N ytilde ; B 8 -216 491 670 ; -C -1 ; WX 722 ; N uni01CD ; B 8 0 711 896 ; -C -1 ; WX 500 ; N uni01CE ; B 45 -6 483 697 ; -C -1 ; WX 389 ; N uni01CF ; B 20 0 366 896 ; -C -1 ; WX 278 ; N uni01D0 ; B -12 0 302 697 ; -C -1 ; WX 778 ; N uni01D1 ; B 39 -15 742 896 ; -C -1 ; WX 500 ; N uni01D2 ; B 36 -14 464 697 ; -C -1 ; WX 722 ; N uni01D3 ; B 23 -16 705 896 ; -C -1 ; WX 556 ; N uni01D4 ; B 31 -14 524 697 ; -C -1 ; WX 722 ; N uni01D5 ; B 23 -16 705 891 ; -C -1 ; WX 556 ; N uni01D6 ; B 31 -14 524 764 ; -C -1 ; WX 722 ; N uni01D7 ; B 23 -16 705 891 ; -C -1 ; WX 556 ; N uni01D8 ; B 31 -14 524 829 ; -C -1 ; WX 722 ; N uni01D9 ; B 23 -16 705 891 ; -C -1 ; WX 556 ; N uni01DA ; B 31 -14 524 851 ; -C -1 ; WX 722 ; N uni01DB ; B 23 -16 705 891 ; -C -1 ; WX 556 ; N uni01DC ; B 31 -14 524 829 ; -C -1 ; WX 0 ; N glyph1292 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1293 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1294 ; B -121 706 121 891 ; -C -1 ; WX 0 ; N glyph1295 ; B -121 706 121 891 ; -C -1 ; WX 636 ; N uni0492 ; B 17 0 604 662 ; -C -1 ; WX 454 ; N uni0493 ; B 17 0 437 457 ; -C -1 ; WX 989 ; N uni0496 ; B 15 -193 973 670 ; -C -1 ; WX 725 ; N uni0497 ; B 6 -120 719 464 ; -C -1 ; WX 725 ; N uni049A ; B 21 -193 709 670 ; -C -1 ; WX 576 ; N uni049B ; B 35 -120 563 464 ; -C -1 ; WX 725 ; N uni049C ; B 21 0 709 670 ; -C -1 ; WX 576 ; N uni049D ; B 35 0 563 464 ; -C -1 ; WX 778 ; N uni04A2 ; B 21 -193 760 662 ; -C -1 ; WX 576 ; N uni04A3 ; B 34 -120 541 457 ; -C -1 ; WX 722 ; N uni04AE ; B 9 0 711 662 ; -C -1 ; WX 500 ; N uni04AF ; B 9 -214 491 457 ; -C -1 ; WX 722 ; N uni04B0 ; B 9 0 711 662 ; -C -1 ; WX 500 ; N uni04B1 ; B 9 -214 491 457 ; -C -1 ; WX 722 ; N uni04B2 ; B 7 -193 715 662 ; -C -1 ; WX 500 ; N uni04B3 ; B 23 -120 484 457 ; -C -1 ; WX 734 ; N uni04B8 ; B 6 0 713 662 ; -C -1 ; WX 564 ; N uni04B9 ; B 25 0 526 457 ; -C -1 ; WX 734 ; N uni04BA ; B 21 0 728 662 ; -C -1 ; WX 556 ; N uni04BB ; B 34 0 527 662 ; -C -1 ; WX 739 ; N uni018F ; B 39 -15 703 677 ; -C -1 ; WX 444 ; N uni0259 ; B 27 -14 409 470 ; -C -1 ; WX 778 ; N uni04E8 ; B 39 -15 742 671 ; -C -1 ; WX 500 ; N uni04E9 ; B 36 -14 464 470 ; -C -1 ; WX 649 ; N glyph1320 ; B 28 143 649 489 ; -C -1 ; WX 271 ; N glyph1321 ; B -34 143 271 492 ; -C -1 ; WX 305 ; N glyph1322 ; B -34 143 305 637 ; -C -1 ; WX 324 ; N glyph1323 ; B -34 143 324 578 ; -C -1 ; WX 612 ; N glyph1324 ; B 19 -130 612 464 ; -C -1 ; WX 271 ; N glyph1325 ; B 49 -63 222 107 ; -C -1 ; WX 271 ; N glyph1326 ; B 11 -81 264 107 ; -C -1 ; WX 271 ; N glyph1327 ; B 11 -193 264 107 ; -C -1 ; WX 271 ; N glyph1328 ; B 8 -193 261 107 ; -C -1 ; WX 271 ; N glyph1329 ; B 33 -171 238 107 ; -C -1 ; WX 271 ; N glyph1330 ; B -22 -210 295 107 ; -C -1 ; WX 0 ; N glyph1331 ; B -133 519 133 837 ; -C -1 ; WX 207 ; N glyph1332 ; B 7 731 210 891 ; -C -1 ; WX 207 ; N glyph1333 ; B -5 746 179 890 ; -C -1 ; WX 333 ; N glyph1334 ; B 70 605 250 717 ; -C -1 ; WX 333 ; N glyph1335 ; B 70 605 250 717 ; -C -1 ; WX 238 ; N uni0653 ; B 0 765 238 831 ; -C -1 ; WX 217 ; N uni0654 ; B 46 750 181 890 ; -C -1 ; WX 217 ; N uni0655 ; B 46 -119 181 21 ; -C -1 ; WX 0 ; N uni0670 ; B -26 519 29 817 ; -C -1 ; WX 217 ; N uni0671 ; B 7 109 210 891 ; -C -1 ; WX 234 ; N uniFB51 ; B -32 143 234 891 ; -C -1 ; WX 217 ; N uni0672 ; B -5 109 181 890 ; -C -1 ; WX 234 ; N glyph1343 ; B -25 143 234 890 ; -C -1 ; WX 217 ; N uni0673 ; B 14 -84 198 736 ; -C -1 ; WX 234 ; N glyph1345 ; B 4 -84 234 736 ; -C -1 ; WX 217 ; N uni0675 ; B 66 109 298 743 ; -C -1 ; WX 234 ; N glyph47 ; B 13 143 269 743 ; -C -1 ; WX 451 ; N uni0676 ; B 3 -71 498 694 ; -C -1 ; WX 451 ; N glyph1349 ; B 3 -71 498 694 ; -C -1 ; WX 451 ; N uni0677 ; B 3 -71 498 729 ; -C -1 ; WX 451 ; N glyph1351 ; B 3 -71 498 729 ; -C -1 ; WX 645 ; N uni0678 ; B 74 -60 645 694 ; -C -1 ; WX 554 ; N glyph ; B 15 -174 588 499 ; -C -1 ; WX 649 ; N uni0679 ; B 28 143 649 837 ; -C -1 ; WX 649 ; N uniFB67 ; B 28 143 649 837 ; -C -1 ; WX 271 ; N uniFB68 ; B -34 143 271 837 ; -C -1 ; WX 271 ; N uniFB69 ; B -34 143 271 837 ; -C -1 ; WX 649 ; N uni067A ; B 28 143 649 766 ; -C -1 ; WX 649 ; N uniFB5F ; B 28 143 649 766 ; -C -1 ; WX 271 ; N uniFB60 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N uniFB61 ; B -34 143 271 828 ; -C -1 ; WX 649 ; N uni067B ; B 28 -171 649 489 ; -C -1 ; WX 649 ; N uniFB53 ; B 28 -171 649 489 ; -C -1 ; WX 271 ; N uniFB54 ; B -34 -171 271 492 ; -C -1 ; WX 271 ; N uniFB55 ; B -34 -171 271 492 ; -C -1 ; WX 649 ; N uni067C ; B 28 31 649 656 ; -C -1 ; WX 649 ; N glyph1367 ; B 28 31 649 656 ; -C -1 ; WX 271 ; N glyph1368 ; B -34 31 271 715 ; -C -1 ; WX 271 ; N glyph1369 ; B -34 31 271 715 ; -C -1 ; WX 649 ; N uni067D ; B 28 143 649 766 ; -C -1 ; WX 649 ; N glyph1371 ; B 28 143 649 766 ; -C -1 ; WX 271 ; N glyph1372 ; B -34 143 271 828 ; -C -1 ; WX 271 ; N glyph1373 ; B -34 143 271 828 ; -C -1 ; WX 649 ; N uni067F ; B 28 143 649 783 ; -C -1 ; WX 649 ; N uniFB63 ; B 28 143 649 783 ; -C -1 ; WX 271 ; N uniFB64 ; B -34 143 295 844 ; -C -1 ; WX 271 ; N uniFB65 ; B -34 143 295 844 ; -C -1 ; WX 649 ; N uni0680 ; B 28 -210 649 489 ; -C -1 ; WX 649 ; N uniFB5B ; B 28 -210 649 489 ; -C -1 ; WX 271 ; N uniFB5C ; B -34 -210 295 492 ; -C -1 ; WX 271 ; N uniFB5D ; B -34 -210 295 492 ; -C -1 ; WX 577 ; N uni0681 ; B 25 -203 563 733 ; -C -1 ; WX 559 ; N glyph1383 ; B 23 -201 563 733 ; -C -1 ; WX 523 ; N glyph1384 ; B -34 143 523 704 ; -C -1 ; WX 523 ; N glyph1385 ; B -34 143 523 704 ; -C -1 ; WX 577 ; N uni0682 ; B 25 -203 563 854 ; -C -1 ; WX 559 ; N glyph1387 ; B 23 -201 563 854 ; -C -1 ; WX 523 ; N glyph1388 ; B -34 143 523 832 ; -C -1 ; WX 523 ; N glyph1389 ; B -34 143 523 832 ; -C -1 ; WX 577 ; N uni0683 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB77 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB78 ; B -34 -81 523 501 ; -C -1 ; WX 523 ; N uniFB79 ; B -34 -81 523 501 ; -C -1 ; WX 577 ; N uni0684 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB73 ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB74 ; B -34 -171 523 501 ; -C -1 ; WX 523 ; N uniFB75 ; B -34 -171 523 501 ; -C -1 ; WX 577 ; N uni0685 ; B 25 -203 563 876 ; -C -1 ; WX 559 ; N glyph1399 ; B 23 -201 563 876 ; -C -1 ; WX 523 ; N glyph1400 ; B -34 143 523 854 ; -C -1 ; WX 523 ; N glyph1401 ; B -34 143 523 854 ; -C -1 ; WX 577 ; N uni0687 ; B 25 -203 563 527 ; -C -1 ; WX 559 ; N uniFB7f ; B 23 -201 563 527 ; -C -1 ; WX 523 ; N uniFB80 ; B -34 -210 523 501 ; -C -1 ; WX 523 ; N uniFB81 ; B -34 -210 523 501 ; -C -1 ; WX 343 ; N uni0688 ; B 39 143 343 891 ; -C -1 ; WX 343 ; N uniFB89 ; B 39 143 343 891 ; -C -1 ; WX 343 ; N uni0689 ; B 51 31 343 604 ; -C -1 ; WX 343 ; N glyph1409 ; B 51 31 343 604 ; -C -1 ; WX 343 ; N uni068A ; B 51 -63 343 604 ; -C -1 ; WX 343 ; N glyph1411 ; B 51 -63 343 604 ; -C -1 ; WX 343 ; N uni068B ; B 39 -63 343 891 ; -C -1 ; WX 343 ; N glyph1413 ; B 39 -63 343 891 ; -C -1 ; WX 343 ; N uni068C ; B 50 143 343 849 ; -C -1 ; WX 343 ; N uniFB85 ; B 50 143 343 849 ; -C -1 ; WX 343 ; N uni068D ; B 51 -81 343 604 ; -C -1 ; WX 343 ; N uniFB83 ; B 51 -81 343 604 ; -C -1 ; WX 343 ; N uni068E ; B 51 143 343 888 ; -C -1 ; WX 343 ; N uniFB87 ; B 51 143 343 888 ; -C -1 ; WX 343 ; N uni068F ; B 23 143 343 888 ; -C -1 ; WX 343 ; N glyph1421 ; B 23 143 343 888 ; -C -1 ; WX 343 ; N uni0690 ; B 17 143 343 888 ; -C -1 ; WX 343 ; N glyph1423 ; B 17 143 343 888 ; -C -1 ; WX 433 ; N uni0691 ; B 5 -72 433 837 ; -C -1 ; WX 433 ; N uniFB8D ; B 5 -72 433 837 ; -C -1 ; WX 433 ; N uni0692 ; B 5 -72 433 631 ; -C -1 ; WX 433 ; N glyph1426 ; B 5 -72 433 631 ; -C -1 ; WX 433 ; N uni0693 ; B 5 -99 458 461 ; -C -1 ; WX 433 ; N glyph1429 ; B 5 -99 458 461 ; -C -1 ; WX 433 ; N uni0694 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N glyph1431 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N uni0695 ; B 5 -196 494 461 ; -C -1 ; WX 433 ; N glyph1433 ; B 5 -196 494 461 ; -C -1 ; WX 433 ; N uni0696 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N glyph1435 ; B 5 -180 505 461 ; -C -1 ; WX 433 ; N uni0697 ; B 5 -72 447 700 ; -C -1 ; WX 433 ; N glyph1437 ; B 5 -72 447 700 ; -C -1 ; WX 433 ; N uni0699 ; B 5 -72 447 830 ; -C -1 ; WX 433 ; N glyph1439 ; B 5 -72 447 830 ; -C -1 ; WX 899 ; N uni069A ; B 31 -63 899 634 ; -C -1 ; WX 899 ; N glyph1441 ; B 31 -63 899 634 ; -C -1 ; WX 608 ; N glyph1442 ; B -34 -63 608 634 ; -C -1 ; WX 608 ; N glyph1443 ; B -34 -63 608 634 ; -C -1 ; WX 899 ; N uni069B ; B 31 -193 899 458 ; -C -1 ; WX 899 ; N glyph1445 ; B 31 -193 899 458 ; -C -1 ; WX 608 ; N glyph1446 ; B -34 -193 608 446 ; -C -1 ; WX 608 ; N glyph1447 ; B -34 -193 608 446 ; -C -1 ; WX 899 ; N uni069C ; B 31 -193 899 774 ; -C -1 ; WX 899 ; N glyph1449 ; B 31 -193 899 774 ; -C -1 ; WX 608 ; N glyph1450 ; B -34 -193 608 774 ; -C -1 ; WX 608 ; N glyph1451 ; B -34 -193 608 774 ; -C -1 ; WX 1063 ; N uni069D ; B 31 -81 1063 504 ; -C -1 ; WX 1063 ; N glyph1453 ; B 31 -81 1063 504 ; -C -1 ; WX 771 ; N glyph1454 ; B -34 -81 771 504 ; -C -1 ; WX 771 ; N glyph1455 ; B -34 -81 771 504 ; -C -1 ; WX 1063 ; N uni069E ; B 31 -63 1063 820 ; -C -1 ; WX 1063 ; N glyph1457 ; B 31 -63 1063 820 ; -C -1 ; WX 771 ; N glyph1458 ; B -34 143 771 820 ; -C -1 ; WX 771 ; N glyph1459 ; B -34 143 771 820 ; -C -1 ; WX 523 ; N uni069F ; B -34 143 523 858 ; -C -1 ; WX 523 ; N glyph1461 ; B -34 143 523 858 ; -C -1 ; WX 541 ; N uni06A0 ; B 25 -204 535 891 ; -C -1 ; WX 469 ; N glyph1463 ; B 34 -198 516 878 ; -C -1 ; WX 541 ; N glyph1464 ; B -34 143 483 891 ; -C -1 ; WX 360 ; N glyph1465 ; B -34 143 360 852 ; -C -1 ; WX 758 ; N uni06A1 ; B 23 127 758 549 ; -C -1 ; WX 758 ; N uni06A2 ; B 23 -63 758 549 ; -C -1 ; WX 758 ; N glyph1468 ; B 23 -63 758 549 ; -C -1 ; WX 305 ; N glyph1469 ; B -34 -63 305 637 ; -C -1 ; WX 324 ; N glyph1470 ; B -34 -63 324 578 ; -C -1 ; WX 758 ; N uni06A3 ; B 23 -63 758 779 ; -C -1 ; WX 758 ; N glyph1472 ; B 23 -63 758 779 ; -C -1 ; WX 305 ; N glyph1473 ; B -34 -63 305 850 ; -C -1 ; WX 324 ; N glyph1474 ; B -34 -63 324 784 ; -C -1 ; WX 758 ; N uni06A4 ; B 23 127 758 872 ; -C -1 ; WX 758 ; N uniFB6B ; B 23 127 758 872 ; -C -1 ; WX 305 ; N uniFB6C ; B -34 143 305 811 ; -C -1 ; WX 324 ; N uniFB6D ; B -34 143 324 891 ; -C -1 ; WX 758 ; N uni06A5 ; B 23 -193 758 549 ; -C -1 ; WX 758 ; N glyph1480 ; B 23 -193 758 549 ; -C -1 ; WX 305 ; N glyph1481 ; B -34 -193 305 637 ; -C -1 ; WX 324 ; N glyph1482 ; B -34 -193 324 578 ; -C -1 ; WX 758 ; N uni06A6 ; B 23 127 758 883 ; -C -1 ; WX 758 ; N uniFB6F ; B 23 127 758 883 ; -C -1 ; WX 305 ; N uniFB70 ; B -34 143 305 864 ; -C -1 ; WX 324 ; N uniFB71 ; B -34 143 324 891 ; -C -1 ; WX 612 ; N uni06A7 ; B 19 -130 612 683 ; -C -1 ; WX 612 ; N glyph1488 ; B 19 -130 612 683 ; -C -1 ; WX 612 ; N uni06A8 ; B 19 -130 612 771 ; -C -1 ; WX 612 ; N glyph1490 ; B 19 -130 612 771 ; -C -1 ; WX 757 ; N uni06AA ; B 20 143 757 674 ; -C -1 ; WX 879 ; N glyph1492 ; B 20 143 879 674 ; -C -1 ; WX 360 ; N glyph1493 ; B -34 143 360 674 ; -C -1 ; WX 542 ; N glyph1494 ; B -34 143 542 674 ; -C -1 ; WX 757 ; N uni06AB ; B 20 143 760 708 ; -C -1 ; WX 879 ; N glyph1496 ; B 20 143 879 722 ; -C -1 ; WX 360 ; N glyph1497 ; B -34 143 360 708 ; -C -1 ; WX 542 ; N glyph1498 ; B -34 143 542 722 ; -C -1 ; WX 541 ; N uni06AC ; B 20 143 541 891 ; -C -1 ; WX 541 ; N glyph1500 ; B 20 143 541 891 ; -C -1 ; WX 360 ; N glyph1501 ; B -34 143 360 878 ; -C -1 ; WX 360 ; N glyph1502 ; B -34 143 360 878 ; -C -1 ; WX 541 ; N uni06AD ; B 20 143 541 859 ; -C -1 ; WX 541 ; N uniFBD4 ; B 20 143 541 859 ; -C -1 ; WX 360 ; N uniFBD5 ; B -34 143 360 811 ; -C -1 ; WX 360 ; N uniFBD6 ; B -34 143 360 811 ; -C -1 ; WX 541 ; N uni06AE ; B 20 -193 541 774 ; -C -1 ; WX 541 ; N glyph1508 ; B 20 -193 541 774 ; -C -1 ; WX 360 ; N glyph1509 ; B -34 -193 360 708 ; -C -1 ; WX 360 ; N glyph1510 ; B -34 -193 360 708 ; -C -1 ; WX 757 ; N uni06B0 ; B 20 143 760 863 ; -C -1 ; WX 879 ; N glyph1512 ; B 20 143 879 876 ; -C -1 ; WX 360 ; N glyph1513 ; B -34 143 360 863 ; -C -1 ; WX 542 ; N glyph1514 ; B -34 143 542 876 ; -C -1 ; WX 757 ; N uni06B1 ; B 20 143 757 891 ; -C -1 ; WX 879 ; N uniFB9B ; B 20 143 879 891 ; -C -1 ; WX 360 ; N uniFB9C ; B -34 143 360 891 ; -C -1 ; WX 542 ; N uniFB9D ; B -34 143 542 891 ; -C -1 ; WX 757 ; N uni06B2 ; B 20 -81 757 863 ; -C -1 ; WX 879 ; N glyph1520 ; B 20 -81 879 876 ; -C -1 ; WX 360 ; N glyph1521 ; B -34 -81 360 863 ; -C -1 ; WX 542 ; N glyph1522 ; B -34 -81 542 876 ; -C -1 ; WX 757 ; N uni06B3 ; B 20 -171 757 863 ; -C -1 ; WX 879 ; N uniFB97 ; B 20 -171 879 876 ; -C -1 ; WX 360 ; N uniFB98 ; B -34 -171 360 863 ; -C -1 ; WX 542 ; N uniFB99 ; B -34 -171 542 876 ; -C -1 ; WX 757 ; N uni06B4 ; B 20 143 757 891 ; -C -1 ; WX 879 ; N glyph1528 ; B 20 143 879 891 ; -C -1 ; WX 360 ; N glyph1529 ; B -34 143 360 891 ; -C -1 ; WX 542 ; N glyph1530 ; B -34 143 542 891 ; -C -1 ; WX 451 ; N uni06B5 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1532 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1533 ; B -34 143 234 891 ; -C -1 ; WX 234 ; N glyph1534 ; B -34 143 234 891 ; -C -1 ; WX 451 ; N uni06B6 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1536 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1537 ; B -39 143 234 891 ; -C -1 ; WX 234 ; N glyph1538 ; B -39 143 234 891 ; -C -1 ; WX 451 ; N uni06B7 ; B 17 -36 451 891 ; -C -1 ; WX 451 ; N glyph1540 ; B 17 -36 451 891 ; -C -1 ; WX 234 ; N glyph1541 ; B -34 143 234 891 ; -C -1 ; WX 234 ; N glyph1542 ; B -34 143 234 891 ; -C -1 ; WX 451 ; N uni06B8 ; B 17 -168 451 773 ; -C -1 ; WX 451 ; N glyph1544 ; B 17 -168 451 773 ; -C -1 ; WX 234 ; N glyph1545 ; B -34 -193 242 774 ; -C -1 ; WX 234 ; N glyph1546 ; B -34 -193 242 774 ; -C -1 ; WX 541 ; N uni06B9 ; B 30 -212 541 612 ; -C -1 ; WX 541 ; N glyph1548 ; B 30 -212 541 612 ; -C -1 ; WX 271 ; N glyph1549 ; B -34 -63 274 735 ; -C -1 ; WX 271 ; N glyph1550 ; B -34 -63 274 735 ; -C -1 ; WX 541 ; N uni06BA ; B 30 -63 541 458 ; -C -1 ; WX 541 ; N uniFB9F ; B 30 -63 541 458 ; -C -1 ; WX 541 ; N uni06BB ; B 30 -63 541 798 ; -C -1 ; WX 541 ; N uniFBA1 ; B 30 -63 541 798 ; -C -1 ; WX 541 ; N uni06BC ; B 30 -175 541 612 ; -C -1 ; WX 541 ; N glyph1556 ; B 30 -175 541 612 ; -C -1 ; WX 271 ; N glyph1557 ; B -34 31 274 735 ; -C -1 ; WX 271 ; N glyph1558 ; B -34 31 274 735 ; -C -1 ; WX 541 ; N uni06BD ; B 30 -63 541 742 ; -C -1 ; WX 541 ; N glyph1560 ; B 30 -63 541 742 ; -C -1 ; WX 577 ; N uni06BF ; B 25 -203 563 746 ; -C -1 ; WX 559 ; N glyph1562 ; B 23 -201 563 746 ; -C -1 ; WX 523 ; N glyph1563 ; B -34 -193 523 724 ; -C -1 ; WX 523 ; N glyph1564 ; B -34 -193 523 724 ; -C -1 ; WX 343 ; N uni06C0 ; B 43 126 304 694 ; -C -1 ; WX 415 ; N uniFBA5 ; B 1 143 415 743 ; -C -1 ; WX 388 ; N uni06C1 ; B 13 68 388 376 ; -C -1 ; WX 388 ; N uni06C2 ; B 13 68 388 597 ; -C -1 ; WX 388 ; N uni06C3 ; B 13 68 388 634 ; -C -1 ; WX 451 ; N uni06C4 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N glyph1571 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uni06C5 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uniFBE1 ; B 3 -71 451 484 ; -C -1 ; WX 451 ; N uni06C6 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uniFBDA ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uni06C7 ; B 3 -71 451 778 ; -C -1 ; WX 451 ; N uniFBD8 ; B 3 -71 451 778 ; -C -1 ; WX 451 ; N uni06C8 ; B 3 -71 451 817 ; -C -1 ; WX 451 ; N uniFBDC ; B 3 -71 451 817 ; -C -1 ; WX 451 ; N uni06C9 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uniFBE3 ; B 3 -71 451 667 ; -C -1 ; WX 451 ; N uni06CA ; B 3 -71 451 699 ; -C -1 ; WX 451 ; N glyph1583 ; B 3 -71 451 699 ; -C -1 ; WX 451 ; N uni06CB ; B 3 -71 451 816 ; -C -1 ; WX 451 ; N uniFBDF ; B 3 -71 451 816 ; -C -1 ; WX 645 ; N uni06CD ; B 32 -60 575 461 ; -C -1 ; WX 554 ; N glyph1587 ; B -19 -174 554 276 ; -C -1 ; WX 645 ; N uni06CE ; B 74 -60 575 522 ; -C -1 ; WX 554 ; N glyph1589 ; B 15 -174 588 424 ; -C -1 ; WX 271 ; N glyph1590 ; B -34 -81 271 667 ; -C -1 ; WX 271 ; N glyph1591 ; B -34 -81 271 667 ; -C -1 ; WX 451 ; N uni06CF ; B 3 -71 451 724 ; -C -1 ; WX 451 ; N glyph1593 ; B 3 -71 451 724 ; -C -1 ; WX 645 ; N uni06D0 ; B 74 -187 575 461 ; -C -1 ; WX 554 ; N uniFBE5 ; B 5 -212 554 282 ; -C -1 ; WX 271 ; N uniFBE6 ; B -34 -171 271 492 ; -C -1 ; WX 271 ; N uniFBE7 ; B -34 -171 271 492 ; -C -1 ; WX 645 ; N uni06D1 ; B 74 -178 575 461 ; -C -1 ; WX 554 ; N glyph1599 ; B 5 -212 554 282 ; -C -1 ; WX 812 ; N uni06D2 ; B 33 -25 812 469 ; -C -1 ; WX 812 ; N uniFBAF ; B 34 -208 812 276 ; -C -1 ; WX 812 ; N uni06D3 ; B 33 -25 812 597 ; -C -1 ; WX 812 ; N uniFBB1 ; B 34 -208 812 499 ; -C -1 ; WX 207 ; N uni06D4 ; B 20 143 188 276 ; -C -1 ; WX 0 ; N uni06D6 ; B -230 519 231 886 ; -C -1 ; WX 0 ; N uni06D7 ; B -182 519 183 886 ; -C -1 ; WX 0 ; N uni06D8 ; B -107 519 107 675 ; -C -1 ; WX 0 ; N uni06D9 ; B -108 519 108 836 ; -C -1 ; WX 0 ; N uni06DA ; B -128 519 128 866 ; -C -1 ; WX 0 ; N uni06DB ; B -65 519 68 660 ; -C -1 ; WX 0 ; N uni06DC ; B -207 519 207 767 ; -C -1 ; WX 1123 ; N uni06DD ; B 24 -188 1099 886 ; -C -1 ; WX 1084 ; N uni06DE ; B 24 -152 1060 884 ; -C -1 ; WX 0 ; N uni06DF ; B -37 519 37 592 ; -C -1 ; WX 0 ; N uni06E0 ; B -36 519 36 591 ; -C -1 ; WX 0 ; N uni06E1 ; B -133 519 133 689 ; -C -1 ; WX 0 ; N uni06E2 ; B -82 519 82 824 ; -C -1 ; WX 0 ; N uni06E3 ; B -207 -209 207 39 ; -C -1 ; WX 0 ; N uni06E4 ; B -57 519 57 550 ; -C -1 ; WX 213 ; N uni06E5 ; B 0 519 213 783 ; -C -1 ; WX 371 ; N uni06E6 ; B 0 519 371 754 ; -C -1 ; WX 0 ; N uni06E7 ; B -185 519 186 754 ; -C -1 ; WX 0 ; N uni06E8 ; B -122 519 122 840 ; -C -1 ; WX 600 ; N uni06E9 ; B 24 0 576 818 ; -C -1 ; WX 0 ; N uni06EA ; B -82 -165 82 -1 ; -C -1 ; WX 0 ; N uni06EB ; B -82 519 82 683 ; -C -1 ; WX 0 ; N uni06ED ; B -82 -209 82 97 ; -C -1 ; WX 899 ; N uni06FA ; B 31 -63 899 774 ; -C -1 ; WX 899 ; N glyph1629 ; B 31 -63 899 774 ; -C -1 ; WX 608 ; N glyph1630 ; B -34 -63 608 774 ; -C -1 ; WX 608 ; N glyph1631 ; B -34 -63 608 774 ; -C -1 ; WX 1063 ; N uni06FB ; B 31 -63 1063 728 ; -C -1 ; WX 1063 ; N glyph1633 ; B 31 -63 1063 728 ; -C -1 ; WX 771 ; N glyph1634 ; B -34 -63 771 728 ; -C -1 ; WX 771 ; N glyph1635 ; B -34 -63 771 728 ; -C -1 ; WX 541 ; N uni06FC ; B 25 -204 535 822 ; -C -1 ; WX 469 ; N glyph1637 ; B 34 -198 516 760 ; -C -1 ; WX 541 ; N glyph1638 ; B -34 -63 483 800 ; -C -1 ; WX 360 ; N glyph1639 ; B -34 -63 360 756 ; -C -1 ; WX 469 ; N uni06FD ; B 62 -145 422 510 ; -C -1 ; WX 360 ; N uni06FE ; B 16 -212 360 431 ; -C -1 ; WX 343 ; N uniFBA6 ; B 43 126 304 519 ; -C -1 ; WX 271 ; N uniFBA8 ; B -34 -134 271 492 ; -C -1 ; WX 320 ; N uniFBA9 ; B -34 -205 320 395 ; -C -1 ; WX 244 ; N glyph1645 ; B 23 -68 222 49 ; -C -1 ; WX 244 ; N glyph1646 ; B 29 -151 226 -20 ; -C -1 ; WX 244 ; N glyph1647 ; B 9 -136 236 59 ; -C -1 ; WX 244 ; N glyph1648 ; B 86 -64 162 34 ; -C -1 ; WX 244 ; N glyph1649 ; B 53 -70 197 27 ; -C -1 ; WX 757 ; N glyph1650 ; B 20 143 757 811 ; -C -1 ; WX 879 ; N glyph1651 ; B 20 143 879 811 ; -C -1 ; WX 311 ; N uniFB1D ; B 27 40 272 553 ; -C -1 ; WX 0 ; N uniFB1E ; B -148 596 147 752 ; -C -1 ; WX 414 ; N glyph1654 ; B 0 72 414 123 ; -C -1 ; WX 621 ; N uniFB1F ; B 27 72 583 553 ; -C -1 ; WX 486 ; N glyph1656 ; B -5 72 471 890 ; -C -1 ; WX 541 ; N glyph1657 ; B -5 94 541 890 ; -C -1 ; WX 486 ; N glyph1658 ; B 17 -122 471 739 ; -C -1 ; WX 541 ; N glyph1659 ; B 13 -122 541 766 ; -C -1 ; WX 486 ; N glyph1660 ; B 17 72 471 792 ; -C -1 ; WX 541 ; N glyph1661 ; B 13 94 541 792 ; -C -1 ; WX 486 ; N glyph1662 ; B 17 72 484 891 ; -C -1 ; WX 541 ; N glyph1663 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1664 ; B 17 72 491 891 ; -C -1 ; WX 541 ; N glyph1665 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1666 ; B 17 72 471 891 ; -C -1 ; WX 541 ; N glyph1667 ; B 13 94 541 891 ; -C -1 ; WX 486 ; N glyph1668 ; B 17 -173 471 739 ; -C -1 ; WX 541 ; N glyph1669 ; B 13 -136 541 766 ; -C -1 ; WX 562 ; N glyph1670 ; B 56 143 505 713 ; -C -1 ; WX 562 ; N glyph1671 ; B 92 89 469 713 ; -C -1 ; WX 486 ; N glyph1672 ; B 7 72 471 891 ; -C -1 ; WX 541 ; N glyph1673 ; B 7 94 541 891 ; -EndCharMetrics -StartKernData -StartKernPairs 865 -KPX space A -55 -KPX space T -18 -KPX space V -18 -KPX space W -18 -KPX space Y -37 -KPX space Alphatonos -55 -KPX space Alpha -55 -KPX space Delta -55 -KPX space Lambda -55 -KPX space Tau -18 -KPX space Upsilon -37 -KPX space Upsilondieresis -37 -KPX one one -55 -KPX A space -55 -KPX A T -74 -KPX A V -129 -KPX A W -111 -KPX A Y -92 -KPX A v -74 -KPX A w -74 -KPX A y -74 -KPX A quoteright -74 -KPX F space -37 -KPX F comma -92 -KPX F period -92 -KPX F A -74 -KPX L space -55 -KPX L T -92 -KPX L V -92 -KPX L W -92 -KPX L Y -92 -KPX L y -55 -KPX L quoteright -92 -KPX P space -55 -KPX P comma -92 -KPX P period -92 -KPX P A -74 -KPX R T -35 -KPX R V -35 -KPX R W -35 -KPX R Y -35 -KPX R y -35 -KPX T space -18 -KPX T comma -74 -KPX T hyphen -92 -KPX T period -74 -KPX T colon -74 -KPX T semicolon -74 -KPX T A -74 -KPX T O -18 -KPX T a -92 -KPX T c -92 -KPX T e -92 -KPX T i -18 -KPX T o -92 -KPX T r -74 -KPX T s -92 -KPX T u -92 -KPX T w -74 -KPX T y -74 -KPX V space -18 -KPX V comma -129 -KPX V hyphen -74 -KPX V period -129 -KPX V colon -92 -KPX V semicolon -92 -KPX V A -129 -KPX V O -20 -KPX V a -92 -KPX V e -92 -KPX V i -37 -KPX V o -92 -KPX V r -74 -KPX V u -92 -KPX V y -92 -KPX W space -18 -KPX W comma -92 -KPX W hyphen -37 -KPX W period -92 -KPX W colon -55 -KPX W semicolon -55 -KPX W A -111 -KPX W a -55 -KPX W e -55 -KPX W i -18 -KPX W o -55 -KPX W r -18 -KPX W u -18 -KPX W y -37 -KPX Y space -37 -KPX Y comma -92 -KPX Y hyphen -92 -KPX Y period -92 -KPX Y colon -92 -KPX Y semicolon -92 -KPX Y A -92 -KPX Y a -111 -KPX Y e -111 -KPX Y i -37 -KPX Y o -111 -KPX Y p -92 -KPX Y q -111 -KPX Y u -92 -KPX Y v -111 -KPX f quoteright 55 -KPX r space -18 -KPX r comma -92 -KPX r hyphen -37 -KPX r period -92 -KPX r c -18 -KPX r e -18 -KPX r o -18 -KPX r q -18 -KPX r quoteright 18 -KPX v comma -55 -KPX v period -55 -KPX w comma -55 -KPX w period -55 -KPX y comma -55 -KPX y period -55 -KPX quoteleft quoteleft -74 -KPX quoteright space -74 -KPX quoteright s -37 -KPX quoteright quoteright -74 -KPX quotesinglbase afii10051 -100 -KPX quotesinglbase afii10060 -100 -KPX quotesinglbase afii10036 -100 -KPX quotesinglbase afii10041 -188 -KPX quotesinglbase afii10044 -100 -KPX quotedblbase afii10051 -100 -KPX quotedblbase afii10060 -100 -KPX quotedblbase afii10036 -100 -KPX quotedblbase afii10041 -188 -KPX quotedblbase afii10044 -100 -KPX Gamma space -37 -KPX Gamma comma -121 -KPX Gamma period -121 -KPX Gamma iotadieresistonos 68 -KPX Gamma Alpha -132 -KPX Gamma Delta -119 -KPX Gamma Lambda -132 -KPX Gamma iota -34 -KPX Theta Alpha -73 -KPX Theta Delta -34 -KPX Theta Lambda -73 -KPX Theta Upsilon -26 -KPX Theta Upsilondieresis -26 -KPX Phi Alpha -87 -KPX Phi Upsilon -13 -KPX Phi Upsilondieresis -13 -KPX delta chi -12 -KPX phi chi -12 -KPX Alphatonos space -55 -KPX Alphatonos Theta -58 -KPX Alphatonos Phi -73 -KPX Alphatonos Omicron -58 -KPX Alphatonos Tau -97 -KPX Alphatonos Upsilon -128 -KPX Alphatonos Upsilondieresis -128 -KPX Alphatonos gamma -63 -KPX Alphatonos nu -74 -KPX Alphatonos chi -39 -KPX Omicrontonos Upsilon -26 -KPX Omicrontonos Upsilondieresis -26 -KPX Upsilontonos alpha -110 -KPX Upsilontonos delta -110 -KPX Upsilontonos sigma -110 -KPX Upsilontonos phi -110 -KPX Upsilontonos iotadieresistonos 53 -KPX Upsilontonos Alpha -134 -KPX Upsilontonos Delta -116 -KPX Upsilontonos Lambda -134 -KPX Upsilontonos alphatonos -110 -KPX Upsilontonos etatonos -43 -KPX Upsilontonos iotatonos -37 -KPX Upsilontonos eta -43 -KPX Upsilontonos iota -43 -KPX Upsilontonos kappa -43 -KPX Upsilontonos mu -97 -KPX Upsilontonos omicron -110 -KPX Upsilontonos omicrontonos -110 -KPX Alpha space -55 -KPX Alpha quoteright -74 -KPX Alpha Theta -58 -KPX Alpha Phi -73 -KPX Alpha Omicron -58 -KPX Alpha Tau -97 -KPX Alpha Upsilon -128 -KPX Alpha Upsilondieresis -128 -KPX Alpha gamma -63 -KPX Alpha nu -74 -KPX Alpha chi -39 -KPX Delta space -55 -KPX Delta Theta -26 -KPX Delta Omicron -24 -KPX Delta Tau -70 -KPX Delta Upsilon -98 -KPX Delta Upsilondieresis -98 -KPX Kappa Theta -43 -KPX Kappa Phi -80 -KPX Kappa alpha -19 -KPX Kappa delta -19 -KPX Kappa sigma -19 -KPX Kappa phi -19 -KPX Kappa Omicron -43 -KPX Kappa alphatonos -19 -KPX Kappa zeta -19 -KPX Kappa theta -19 -KPX Kappa xi -19 -KPX Kappa omicron -19 -KPX Kappa omega -19 -KPX Kappa omicrontonos -19 -KPX Kappa omegatonos -19 -KPX Lambda Theta -58 -KPX Lambda Omicron -58 -KPX Lambda Tau -97 -KPX Lambda Upsilon -128 -KPX Lambda Upsilondieresis -128 -KPX Omicron Alpha -73 -KPX Omicron Delta -34 -KPX Omicron Lambda -73 -KPX Omicron Upsilon -26 -KPX Omicron Upsilondieresis -26 -KPX Rho space -55 -KPX Rho comma -91 -KPX Rho period -91 -KPX Rho Alpha -147 -KPX Rho Delta -102 -KPX Rho Lambda -147 -KPX Sigma tau -48 -KPX Tau space -18 -KPX Tau comma -74 -KPX Tau hyphen -91 -KPX Tau period -74 -KPX Tau colon -74 -KPX Tau semicolon -74 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -91 -KPX Tau delta -80 -KPX Tau epsilon -91 -KPX Tau sigma -91 -KPX Tau phi -91 -KPX Tau iotadieresistonos 58 -KPX Tau Alpha -97 -KPX Tau Delta -72 -KPX Tau Lambda -97 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -91 -KPX Tau epsilontonos -91 -KPX Tau gamma -74 -KPX Tau eta -52 -KPX Tau iota -18 -KPX Tau mu -52 -KPX Tau nu -74 -KPX Tau omicron -91 -KPX Tau upsilon -53 -KPX Tau chi -74 -KPX Tau psi -52 -KPX Tau upsilondieresis -52 -KPX Tau omicrontonos -91 -KPX Tau upsilontonos -52 -KPX Upsilon comma -91 -KPX Upsilon hyphen -91 -KPX Upsilon period -91 -KPX Upsilon colon -91 -KPX Upsilon semicolon -91 -KPX Upsilon Theta -36 -KPX Upsilon Phi -43 -KPX Upsilon alpha -110 -KPX Upsilon delta -110 -KPX Upsilon sigma -110 -KPX Upsilon phi -110 -KPX Upsilon iotadieresistonos 53 -KPX Upsilon Alpha -134 -KPX Upsilon Delta -116 -KPX Upsilon Lambda -134 -KPX Upsilon Omicron -36 -KPX Upsilon Omega -26 -KPX Upsilon alphatonos -110 -KPX Upsilon etatonos -43 -KPX Upsilon iotatonos -37 -KPX Upsilon gamma -73 -KPX Upsilon eta -43 -KPX Upsilon iota -37 -KPX Upsilon kappa -43 -KPX Upsilon mu -97 -KPX Upsilon omicron -110 -KPX Upsilon omicrontonos -110 -KPX Chi omega -19 -KPX Chi omegatonos -19 -KPX Psi alpha -58 -KPX Psi delta -58 -KPX Psi sigma -58 -KPX Psi phi -58 -KPX Psi alphatonos -58 -KPX Psi theta -19 -KPX Psi omicron -58 -KPX Psi omega -58 -KPX Psi omicrontonos -58 -KPX Psi omegatonos -58 -KPX Omega Upsilon -13 -KPX Omega Upsilondieresis -13 -KPX Upsilondieresis Theta -36 -KPX Upsilondieresis Phi -43 -KPX Upsilondieresis alpha -110 -KPX Upsilondieresis delta -110 -KPX Upsilondieresis sigma -110 -KPX Upsilondieresis phi -110 -KPX Upsilondieresis iotadieresistonos 53 -KPX Upsilondieresis Alpha -134 -KPX Upsilondieresis Delta -116 -KPX Upsilondieresis Lambda -134 -KPX Upsilondieresis Omicron -36 -KPX Upsilondieresis Omega -26 -KPX Upsilondieresis alphatonos -110 -KPX Upsilondieresis etatonos -43 -KPX Upsilondieresis iotatonos -37 -KPX Upsilondieresis eta -43 -KPX Upsilondieresis iota -43 -KPX Upsilondieresis kappa -43 -KPX Upsilondieresis mu -97 -KPX Upsilondieresis omicron -110 -KPX Upsilondieresis omicrontonos -110 -KPX zeta alpha -34 -KPX zeta delta -34 -KPX zeta sigma -34 -KPX zeta tau -68 -KPX zeta phi -34 -KPX zeta alphatonos -34 -KPX zeta etatonos -29 -KPX zeta gamma -58 -KPX zeta eta -29 -KPX zeta theta -34 -KPX zeta iota -24 -KPX zeta kappa -24 -KPX zeta nu -58 -KPX zeta omicron -34 -KPX zeta omega -34 -KPX zeta omicrontonos -34 -KPX zeta omegatonos -34 -KPX kappa alpha -29 -KPX kappa delta -29 -KPX kappa sigma -29 -KPX kappa phi -29 -KPX kappa alphatonos -29 -KPX kappa theta -14 -KPX kappa omicron -29 -KPX kappa sigma1 -29 -KPX kappa omega -29 -KPX kappa omicrontonos -29 -KPX kappa omegatonos -29 -KPX lambda upsilondieresistonos -14 -KPX lambda upsilon -14 -KPX lambda upsilondieresis -14 -KPX lambda upsilontonos -14 -KPX xi alpha -43 -KPX xi delta -43 -KPX xi sigma -43 -KPX xi phi -43 -KPX xi alphatonos -43 -KPX xi etatonos -22 -KPX xi zeta -19 -KPX xi eta -22 -KPX xi omicron -43 -KPX xi omicrontonos -43 -KPX omicron chi -12 -KPX chi alpha -29 -KPX chi delta -29 -KPX chi sigma -29 -KPX chi phi -29 -KPX chi alphatonos -29 -KPX chi xi -30 -KPX chi omicron -29 -KPX chi sigma1 -29 -KPX chi omega -29 -KPX chi omicrontonos -29 -KPX chi omegatonos -29 -KPX omega chi -12 -KPX omicrontonos chi -12 -KPX omegatonos chi -12 -KPX afii10052 comma -138 -KPX afii10052 period -138 -KPX afii10052 guillemotleft -63 -KPX afii10052 guillemotright -25 -KPX afii10052 emdash -25 -KPX afii10058 quoteright -50 -KPX afii10059 quoteright -50 -KPX afii10017 quoteright -88 -KPX afii10017 afii10025 -25 -KPX afii10017 afii10032 -50 -KPX afii10017 afii10033 -25 -KPX afii10017 afii10035 -50 -KPX afii10017 afii10036 -88 -KPX afii10017 afii10037 -88 -KPX afii10017 afii10038 -63 -KPX afii10017 afii10041 -152 -KPX afii10017 afii10047 -25 -KPX afii10017 afii10065 -13 -KPX afii10017 afii10066 -51 -KPX afii10017 afii10070 -25 -KPX afii10017 afii10080 -51 -KPX afii10017 afii10083 -25 -KPX afii10017 afii10084 -50 -KPX afii10017 afii10085 -50 -KPX afii10017 afii10086 -38 -KPX afii10018 afii10017 -13 -KPX afii10018 afii10021 -38 -KPX afii10018 afii10024 -25 -KPX afii10018 afii10029 -25 -KPX afii10018 afii10032 -7 -KPX afii10018 afii10035 -7 -KPX afii10018 afii10036 -13 -KPX afii10018 afii10037 -35 -KPX afii10018 afii10038 -15 -KPX afii10018 afii10039 -25 -KPX afii10018 afii10041 -50 -KPX afii10018 afii10044 -38 -KPX afii10018 afii10049 -33 -KPX afii10018 afii10069 -25 -KPX afii10018 afii10077 -13 -KPX afii10018 afii10085 -25 -KPX afii10019 afii10017 -63 -KPX afii10019 afii10021 -38 -KPX afii10019 afii10024 -25 -KPX afii10019 afii10029 -38 -KPX afii10019 afii10036 -13 -KPX afii10019 afii10037 -81 -KPX afii10019 afii10039 -25 -KPX afii10019 afii10041 -50 -KPX afii10019 afii10044 -53 -KPX afii10019 afii10049 -50 -KPX afii10019 afii10069 -25 -KPX afii10019 afii10085 -13 -KPX afii10019 afii10087 -13 -KPX afii10019 afii10089 -25 -KPX afii10020 comma -113 -KPX afii10020 period -113 -KPX afii10020 guillemotleft -63 -KPX afii10020 guillemotright -25 -KPX afii10020 emdash -25 -KPX afii10020 afii10017 -109 -KPX afii10020 afii10021 -88 -KPX afii10020 afii10025 25 -KPX afii10020 afii10029 -151 -KPX afii10020 afii10030 -13 -KPX afii10020 afii10032 -25 -KPX afii10020 afii10035 -13 -KPX afii10020 afii10049 -75 -KPX afii10020 afii10065 -88 -KPX afii10020 afii10067 -38 -KPX afii10020 afii10069 -75 -KPX afii10020 afii10070 -76 -KPX afii10020 afii10074 -38 -KPX afii10020 afii10077 -113 -KPX afii10020 afii10078 -38 -KPX afii10020 afii10079 -38 -KPX afii10020 afii10080 -88 -KPX afii10020 afii10082 -63 -KPX afii10020 afii10085 -38 -KPX afii10020 afii10093 -63 -KPX afii10020 afii10094 -63 -KPX afii10020 afii10096 -50 -KPX afii10020 afii10097 -75 -KPX afii10021 afii10025 25 -KPX afii10021 afii10037 12 -KPX afii10021 afii10038 -13 -KPX afii10021 afii10047 25 -KPX afii10021 afii10070 12 -KPX afii10021 afii10073 25 -KPX afii10022 afii10025 12 -KPX afii10022 afii10029 -13 -KPX afii10024 afii10025 -25 -KPX afii10024 afii10032 -25 -KPX afii10024 afii10035 -25 -KPX afii10024 afii10036 -17 -KPX afii10024 afii10037 -14 -KPX afii10024 afii10044 -10 -KPX afii10024 afii10065 -25 -KPX afii10024 afii10066 -50 -KPX afii10024 afii10070 -51 -KPX afii10024 afii10080 -75 -KPX afii10024 afii10085 -76 -KPX afii10025 afii10021 -61 -KPX afii10025 afii10024 -13 -KPX afii10025 afii10029 -44 -KPX afii10025 afii10037 -25 -KPX afii10025 afii10041 -38 -KPX afii10025 afii10049 -38 -KPX afii10025 afii10069 -25 -KPX afii10025 afii10077 -13 -KPX afii10028 afii10032 -25 -KPX afii10028 afii10035 -25 -KPX afii10028 afii10037 -20 -KPX afii10028 afii10038 -74 -KPX afii10028 afii10041 -13 -KPX afii10028 afii10047 12 -KPX afii10028 afii10065 -13 -KPX afii10028 afii10070 -38 -KPX afii10028 afii10073 -13 -KPX afii10028 afii10080 -50 -KPX afii10028 afii10083 -25 -KPX afii10028 afii10084 -25 -KPX afii10028 afii10085 -25 -KPX afii10028 afii10095 -13 -KPX afii10029 afii10038 -13 -KPX afii10029 afii10066 -13 -KPX afii10029 afii10070 -7 -KPX afii10029 afii10080 -25 -KPX afii10029 afii10085 -25 -KPX afii10030 afii10038 -13 -KPX afii10030 afii10070 -13 -KPX afii10030 afii10080 -13 -KPX afii10030 afii10085 -13 -KPX afii10030 afii10089 -38 -KPX afii10030 afii10095 12 -KPX afii10032 afii10017 -50 -KPX afii10032 afii10021 -50 -KPX afii10032 afii10024 -25 -KPX afii10032 afii10029 -50 -KPX afii10032 afii10035 12 -KPX afii10032 afii10037 -56 -KPX afii10032 afii10038 12 -KPX afii10032 afii10039 -78 -KPX afii10032 afii10041 -25 -KPX afii10032 afii10049 -50 -KPX afii10032 afii10069 -13 -KPX afii10032 afii10072 12 -KPX afii10034 comma -125 -KPX afii10034 period -125 -KPX afii10034 colon 37 -KPX afii10034 semicolon 37 -KPX afii10034 guillemotright 25 -KPX afii10034 afii10017 -128 -KPX afii10034 afii10021 -107 -KPX afii10034 afii10024 -35 -KPX afii10034 afii10025 12 -KPX afii10034 afii10029 -150 -KPX afii10034 afii10030 -19 -KPX afii10034 afii10032 -6 -KPX afii10034 afii10035 12 -KPX afii10034 afii10036 12 -KPX afii10034 afii10037 -25 -KPX afii10034 afii10038 -17 -KPX afii10034 afii10039 -53 -KPX afii10034 afii10049 -50 -KPX afii10034 afii10069 -38 -KPX afii10034 afii10070 -13 -KPX afii10034 afii10080 -25 -KPX afii10034 afii10095 25 -KPX afii10034 afii10097 -26 -KPX afii10035 afii10017 -50 -KPX afii10035 afii10021 -50 -KPX afii10035 afii10029 -25 -KPX afii10035 afii10037 -13 -KPX afii10035 afii10039 -26 -KPX afii10035 afii10041 -25 -KPX afii10035 afii10044 -13 -KPX afii10035 afii10066 12 -KPX afii10035 afii10070 12 -KPX afii10035 afii10083 12 -KPX afii10035 afii10084 -13 -KPX afii10035 afii10085 -25 -KPX afii10035 afii10089 -13 -KPX afii10035 afii10095 12 -KPX afii10036 comma -100 -KPX afii10036 period -100 -KPX afii10036 guillemotleft -50 -KPX afii10036 guillemotright -26 -KPX afii10036 afii10017 -50 -KPX afii10036 afii10021 -63 -KPX afii10036 afii10029 -50 -KPX afii10036 afii10030 -13 -KPX afii10036 afii10032 -13 -KPX afii10036 afii10038 -22 -KPX afii10036 afii10049 -38 -KPX afii10036 afii10065 -25 -KPX afii10036 afii10067 -50 -KPX afii10036 afii10070 -38 -KPX afii10036 afii10074 -25 -KPX afii10036 afii10076 -25 -KPX afii10036 afii10077 -50 -KPX afii10036 afii10078 -25 -KPX afii10036 afii10080 -45 -KPX afii10036 afii10081 -38 -KPX afii10036 afii10082 -38 -KPX afii10036 afii10083 -38 -KPX afii10036 afii10085 -50 -KPX afii10036 afii10087 -50 -KPX afii10036 afii10091 -38 -KPX afii10036 afii10093 -50 -KPX afii10036 afii10094 -63 -KPX afii10036 afii10096 -50 -KPX afii10036 afii10097 -38 -KPX afii10037 comma -163 -KPX afii10037 period -163 -KPX afii10037 colon -38 -KPX afii10037 semicolon -38 -KPX afii10037 guillemotleft -88 -KPX afii10037 guillemotright -63 -KPX afii10037 emdash -25 -KPX afii10037 afii10017 -191 -KPX afii10037 afii10021 -101 -KPX afii10037 afii10025 -13 -KPX afii10037 afii10029 -132 -KPX afii10037 afii10032 -50 -KPX afii10037 afii10038 -74 -KPX afii10037 afii10047 -13 -KPX afii10037 afii10049 -88 -KPX afii10037 afii10066 -38 -KPX afii10037 afii10067 -82 -KPX afii10037 afii10068 -82 -KPX afii10037 afii10069 -96 -KPX afii10037 afii10070 -108 -KPX afii10037 afii10072 -63 -KPX afii10037 afii10073 -82 -KPX afii10037 afii10074 -82 -KPX afii10037 afii10075 -38 -KPX afii10037 afii10076 -82 -KPX afii10037 afii10077 -113 -KPX afii10037 afii10078 -82 -KPX afii10037 afii10079 -82 -KPX afii10037 afii10080 -108 -KPX afii10037 afii10081 -82 -KPX afii10037 afii10082 -82 -KPX afii10037 afii10083 -108 -KPX afii10037 afii10087 -82 -KPX afii10037 afii10088 -82 -KPX afii10037 afii10090 -82 -KPX afii10037 afii10091 -82 -KPX afii10037 afii10096 -82 -KPX afii10037 afii10097 -96 -KPX afii10038 afii10017 -63 -KPX afii10038 afii10021 -88 -KPX afii10038 afii10029 -75 -KPX afii10038 afii10032 12 -KPX afii10038 afii10036 -25 -KPX afii10038 afii10037 -76 -KPX afii10038 afii10041 -63 -KPX afii10038 afii10049 -50 -KPX afii10038 afii10077 -50 -KPX afii10039 afii10025 -25 -KPX afii10039 afii10032 -51 -KPX afii10039 afii10035 -38 -KPX afii10039 afii10038 -70 -KPX afii10039 afii10047 -13 -KPX afii10039 afii10080 -31 -KPX afii10039 afii10085 -38 -KPX afii10040 afii10032 -13 -KPX afii10043 afii10085 12 -KPX afii10044 quoteright -63 -KPX afii10044 afii10049 -60 -KPX afii10046 quoteright -63 -KPX afii10046 afii10017 -43 -KPX afii10046 afii10021 -73 -KPX afii10046 afii10024 -63 -KPX afii10046 afii10025 -38 -KPX afii10046 afii10029 -40 -KPX afii10046 afii10030 -40 -KPX afii10046 afii10032 -25 -KPX afii10046 afii10035 -25 -KPX afii10046 afii10036 -75 -KPX afii10046 afii10039 -72 -KPX afii10046 afii10041 -112 -KPX afii10046 afii10047 -13 -KPX afii10046 afii10049 -53 -KPX afii10047 afii10021 -84 -KPX afii10047 afii10024 -25 -KPX afii10047 afii10025 12 -KPX afii10047 afii10029 -63 -KPX afii10047 afii10032 12 -KPX afii10047 afii10038 5 -KPX afii10047 afii10039 -51 -KPX afii10047 afii10049 -73 -KPX afii10047 afii10069 -25 -KPX afii10047 afii10077 -13 -KPX afii10048 afii10017 -38 -KPX afii10048 afii10021 -75 -KPX afii10048 afii10024 -70 -KPX afii10048 afii10029 -50 -KPX afii10048 afii10032 12 -KPX afii10048 afii10036 -25 -KPX afii10048 afii10039 -91 -KPX afii10048 afii10041 -38 -KPX afii10048 afii10069 -25 -KPX afii10048 afii10072 12 -KPX afii10048 afii10077 -13 -KPX afii10065 afii10077 9 -KPX afii10065 afii10081 -13 -KPX afii10065 afii10084 -26 -KPX afii10065 afii10085 -51 -KPX afii10065 afii10089 -40 -KPX afii10066 afii10069 -25 -KPX afii10066 afii10070 -13 -KPX afii10066 afii10072 -25 -KPX afii10066 afii10077 -25 -KPX afii10066 afii10078 -20 -KPX afii10066 afii10080 -13 -KPX afii10066 afii10085 -38 -KPX afii10066 afii10087 -38 -KPX afii10066 afii10089 -38 -KPX afii10066 afii10092 -25 -KPX afii10066 afii10097 -25 -KPX afii10067 afii10066 -13 -KPX afii10067 afii10069 -25 -KPX afii10067 afii10072 -29 -KPX afii10067 afii10077 -13 -KPX afii10067 afii10078 -17 -KPX afii10067 afii10080 -7 -KPX afii10067 afii10083 12 -KPX afii10067 afii10084 -25 -KPX afii10067 afii10085 -34 -KPX afii10067 afii10086 -6 -KPX afii10067 afii10089 -38 -KPX afii10067 afii10092 -25 -KPX afii10067 afii10097 -13 -KPX afii10068 comma -113 -KPX afii10068 period -113 -KPX afii10068 afii10069 -50 -KPX afii10068 afii10070 -13 -KPX afii10068 afii10077 -51 -KPX afii10068 afii10078 -13 -KPX afii10068 afii10080 -25 -KPX afii10068 afii10097 -25 -KPX afii10069 afii10073 12 -KPX afii10069 afii10095 25 -KPX afii10070 afii10069 -13 -KPX afii10070 afii10083 12 -KPX afii10070 afii10085 -25 -KPX afii10070 afii10086 12 -KPX afii10070 afii10087 -20 -KPX afii10070 afii10089 -25 -KPX afii10072 afii10066 -13 -KPX afii10072 afii10070 -13 -KPX afii10072 afii10073 12 -KPX afii10072 afii10080 -25 -KPX afii10072 afii10083 -18 -KPX afii10072 afii10089 -25 -KPX afii10072 afii10092 -13 -KPX afii10073 afii10069 -18 -KPX afii10073 afii10072 -18 -KPX afii10073 afii10073 12 -KPX afii10073 afii10078 -14 -KPX afii10073 afii10080 -6 -KPX afii10073 afii10085 -21 -KPX afii10073 afii10086 -7 -KPX afii10073 afii10089 -20 -KPX afii10073 afii10092 -17 -KPX afii10076 guillemotleft -26 -KPX afii10076 afii10065 -15 -KPX afii10076 afii10066 -25 -KPX afii10076 afii10070 -25 -KPX afii10076 afii10073 -13 -KPX afii10076 afii10080 -13 -KPX afii10076 afii10083 -25 -KPX afii10076 afii10085 -14 -KPX afii10076 afii10086 -25 -KPX afii10076 afii10089 -39 -KPX afii10076 afii10095 -13 -KPX afii10078 afii10065 -7 -KPX afii10078 afii10080 -13 -KPX afii10078 afii10095 12 -KPX afii10080 afii10067 -25 -KPX afii10080 afii10069 -29 -KPX afii10080 afii10072 -25 -KPX afii10080 afii10077 -13 -KPX afii10080 afii10078 -19 -KPX afii10080 afii10084 -13 -KPX afii10080 afii10085 -38 -KPX afii10080 afii10087 -25 -KPX afii10080 afii10089 -26 -KPX afii10080 afii10095 12 -KPX afii10080 afii10097 -19 -KPX afii10082 afii10069 -13 -KPX afii10082 afii10073 12 -KPX afii10082 afii10077 -25 -KPX afii10082 afii10078 -15 -KPX afii10082 afii10084 -13 -KPX afii10082 afii10085 -13 -KPX afii10082 afii10089 -25 -KPX afii10083 afii10065 12 -KPX afii10083 afii10066 12 -KPX afii10083 afii10070 12 -KPX afii10083 afii10073 25 -KPX afii10083 afii10085 -13 -KPX afii10083 afii10086 -13 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -20 -KPX afii10083 afii10095 12 -KPX afii10084 comma -75 -KPX afii10084 period -75 -KPX afii10084 afii10065 12 -KPX afii10084 afii10069 -13 -KPX afii10084 afii10072 12 -KPX afii10084 afii10073 12 -KPX afii10084 afii10077 -25 -KPX afii10084 afii10080 -13 -KPX afii10084 afii10082 12 -KPX afii10084 afii10083 12 -KPX afii10084 afii10085 -13 -KPX afii10084 afii10095 25 -KPX afii10084 afii10097 -13 -KPX afii10085 comma -100 -KPX afii10085 period -100 -KPX afii10085 colon -13 -KPX afii10085 semicolon -13 -KPX afii10085 guillemotright 25 -KPX afii10085 afii10065 -13 -KPX afii10085 afii10066 -13 -KPX afii10085 afii10069 -63 -KPX afii10085 afii10070 -31 -KPX afii10085 afii10072 -13 -KPX afii10085 afii10077 -25 -KPX afii10085 afii10078 -13 -KPX afii10085 afii10080 -25 -KPX afii10085 afii10083 -31 -KPX afii10085 afii10086 -25 -KPX afii10085 afii10097 -25 -KPX afii10086 afii10069 -25 -KPX afii10086 afii10077 -25 -KPX afii10086 afii10085 -25 -KPX afii10086 afii10089 -27 -KPX afii10086 afii10097 -13 -KPX afii10087 afii10065 -13 -KPX afii10087 afii10066 -38 -KPX afii10087 afii10070 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -38 -KPX afii10087 afii10083 -29 -KPX afii10087 afii10084 -25 -KPX afii10087 afii10085 -38 -KPX afii10087 afii10086 -38 -KPX afii10087 afii10089 -50 -KPX afii10087 afii10092 -38 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10073 12 -KPX afii10094 afii10084 -38 -KPX afii10094 afii10089 -76 -KPX afii10095 afii10069 -52 -KPX afii10095 afii10072 -56 -KPX afii10095 afii10077 -18 -KPX afii10095 afii10078 -9 -KPX afii10095 afii10086 -6 -KPX afii10095 afii10087 -39 -KPX afii10095 afii10097 -13 -KPX afii10096 afii10069 -57 -KPX afii10096 afii10072 -25 -KPX afii10096 afii10077 -25 -KPX afii10096 afii10078 -13 -KPX afii10096 afii10080 12 -KPX afii10096 afii10084 -13 -KPX afii10096 afii10086 -6 -KPX afii10096 afii10087 -39 -KPX afii10096 afii10089 -38 -KPX afii10110 comma -100 -KPX afii10110 period -100 -KPX afii10110 guillemotright 12 -KPX afii10050 comma -99 -KPX afii10050 period -99 -KPX afii10050 colon -25 -KPX afii10050 semicolon -25 -KPX afii10050 guillemotleft -88 -KPX afii10050 guillemotright -38 -KPX afii10050 emdash -25 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/timesbd.ttf b/thirdparty/html2ps_pdf/fonts/timesbd.ttf deleted file mode 100644 index bade37451..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/timesbd.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/timesbi.afm b/thirdparty/html2ps_pdf/fonts/timesbi.afm deleted file mode 100644 index 4b01b0e60..000000000 --- a/thirdparty/html2ps_pdf/fonts/timesbi.afm +++ /dev/null @@ -1,1843 +0,0 @@ -StartFontMetrics 4.1 -FontName TimesNewRomanPS-BoldItalicMT -FullName Times New Roman Bold Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Times New Roman -Weight Bold Italic -Version Version 2.90 -Characters 940 -ItalicAngle -17.3 -Ascender 891 -Descender -216 -UnderlineThickness 95 -UnderlinePosition -109 -IsFixedPitch false -FontBBox -547 -307 1206 1032 -StartCharMetrics 975 -C 0 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 250 ; N space ; B 55 -14 352 677 ; -C 33 ; WX 389 ; N exclam ; B 55 -14 352 677 ; -C 34 ; WX 555 ; N quotedbl ; B 165 352 559 677 ; -C 35 ; WX 500 ; N numbersign ; B 20 -14 480 676 ; -C 36 ; WX 500 ; N dollar ; B 39 -76 500 704 ; -C 37 ; WX 833 ; N percent ; B 108 -28 780 677 ; -C 38 ; WX 778 ; N ampersand ; B 46 -15 707 677 ; -C 39 ; WX 278 ; N quotesingle ; B 156 353 314 677 ; -C 40 ; WX 333 ; N parenleft ; B 50 -190 435 677 ; -C 41 ; WX 333 ; N parenright ; B -113 -190 271 677 ; -C 42 ; WX 500 ; N asterisk ; B 120 299 509 677 ; -C 43 ; WX 570 ; N plus ; B 20 66 553 598 ; -C 44 ; WX 250 ; N comma ; B -28 -161 176 149 ; -C 45 ; WX 333 ; N hyphen ; B 6 168 322 270 ; -C 46 ; WX 250 ; N period ; B -13 -14 147 146 ; -C 47 ; WX 278 ; N slash ; B -81 -15 415 676 ; -C 48 ; WX 500 ; N zero ; B 55 -14 499 676 ; -C 49 ; WX 500 ; N one ; B 23 0 445 676 ; -C 50 ; WX 500 ; N two ; B 4 0 483 676 ; -C 51 ; WX 500 ; N three ; B 12 -14 470 676 ; -C 52 ; WX 500 ; N four ; B 18 -14 502 676 ; -C 53 ; WX 500 ; N five ; B 38 -14 504 662 ; -C 54 ; WX 500 ; N six ; B 60 -14 510 681 ; -C 55 ; WX 500 ; N seven ; B 118 -14 554 662 ; -C 56 ; WX 500 ; N eight ; B 37 -14 491 676 ; -C 57 ; WX 500 ; N nine ; B 42 -14 493 681 ; -C 58 ; WX 333 ; N colon ; B 40 -14 289 452 ; -C 59 ; WX 333 ; N semicolon ; B 0 -161 292 452 ; -C 60 ; WX 570 ; N less ; B 20 90 553 568 ; -C 61 ; WX 570 ; N equal ; B 20 218 554 441 ; -C 62 ; WX 570 ; N greater ; B 20 90 553 568 ; -C 63 ; WX 500 ; N question ; B 88 -14 476 677 ; -C 64 ; WX 832 ; N at ; B 45 -216 908 677 ; -C 65 ; WX 667 ; N A ; B -57 0 600 677 ; -C 66 ; WX 667 ; N B ; B -25 0 645 662 ; -C 67 ; WX 667 ; N C ; B 65 -15 721 677 ; -C 68 ; WX 722 ; N D ; B -36 0 702 662 ; -C 69 ; WX 667 ; N E ; B -35 0 680 662 ; -C 70 ; WX 667 ; N F ; B -32 0 690 662 ; -C 71 ; WX 722 ; N G ; B 69 -15 747 677 ; -C 72 ; WX 778 ; N H ; B -32 0 862 662 ; -C 73 ; WX 389 ; N I ; B -35 0 467 662 ; -C 74 ; WX 500 ; N J ; B -8 -15 598 662 ; -C 75 ; WX 667 ; N K ; B -32 0 747 662 ; -C 76 ; WX 611 ; N L ; B -27 0 575 662 ; -C 77 ; WX 889 ; N M ; B -34 0 974 662 ; -C 78 ; WX 722 ; N N ; B -32 -7 811 662 ; -C 79 ; WX 722 ; N O ; B 53 -16 718 678 ; -C 80 ; WX 611 ; N P ; B -30 0 644 662 ; -C 81 ; WX 722 ; N Q ; B 53 -208 718 677 ; -C 82 ; WX 667 ; N R ; B -32 0 639 662 ; -C 83 ; WX 556 ; N S ; B -22 -15 583 677 ; -C 84 ; WX 611 ; N T ; B 80 0 693 662 ; -C 85 ; WX 722 ; N U ; B 94 -15 809 662 ; -C 86 ; WX 667 ; N V ; B 119 -15 776 662 ; -C 87 ; WX 889 ; N W ; B 123 -15 1002 662 ; -C 88 ; WX 667 ; N X ; B -61 0 763 662 ; -C 89 ; WX 611 ; N Y ; B 93 0 717 662 ; -C 90 ; WX 611 ; N Z ; B -27 0 679 662 ; -C 91 ; WX 333 ; N bracketleft ; B -29 -184 429 662 ; -C 92 ; WX 278 ; N backslash ; B 78 -15 203 676 ; -C 93 ; WX 333 ; N bracketright ; B -111 -184 347 662 ; -C 94 ; WX 570 ; N asciicircum ; B 102 325 540 676 ; -C 95 ; WX 500 ; N underscore ; B -10 -216 508 -152 ; -C 96 ; WX 333 ; N grave ; B 119 508 315 677 ; -C 97 ; WX 500 ; N a ; B 20 -14 479 453 ; -C 98 ; WX 500 ; N b ; B 9 -14 469 677 ; -C 99 ; WX 444 ; N c ; B 28 -14 438 453 ; -C 100 ; WX 500 ; N d ; B 20 -14 545 677 ; -C 101 ; WX 444 ; N e ; B 24 -14 442 453 ; -C 102 ; WX 333 ; N f ; B -160 -216 507 677 ; -C 103 ; WX 500 ; N g ; B -52 -216 517 453 ; -C 104 ; WX 556 ; N h ; B 10 -6 501 677 ; -C 105 ; WX 278 ; N i ; B 22 -14 298 677 ; -C 106 ; WX 278 ; N j ; B -159 -216 299 677 ; -C 107 ; WX 500 ; N k ; B 6 -7 513 677 ; -C 108 ; WX 278 ; N l ; B 16 -14 318 677 ; -C 109 ; WX 778 ; N m ; B 11 -5 726 453 ; -C 110 ; WX 556 ; N n ; B 11 -6 501 453 ; -C 111 ; WX 500 ; N o ; B 24 -14 470 453 ; -C 112 ; WX 500 ; N p ; B -122 -214 474 453 ; -C 113 ; WX 500 ; N q ; B 19 -214 483 453 ; -C 114 ; WX 389 ; N r ; B 17 0 402 453 ; -C 115 ; WX 389 ; N s ; B -2 -14 370 453 ; -C 116 ; WX 278 ; N t ; B 21 -14 313 572 ; -C 117 ; WX 556 ; N u ; B 32 -14 516 453 ; -C 118 ; WX 444 ; N v ; B 30 -14 444 453 ; -C 119 ; WX 667 ; N w ; B 28 -14 663 453 ; -C 120 ; WX 500 ; N x ; B -45 -14 508 453 ; -C 121 ; WX 444 ; N y ; B -92 -216 444 453 ; -C 122 ; WX 389 ; N z ; B -12 -85 395 439 ; -C 123 ; WX 348 ; N braceleft ; B 66 -203 480 677 ; -C 124 ; WX 220 ; N bar ; B 78 -216 141 677 ; -C 125 ; WX 348 ; N braceright ; B -69 -202 344 678 ; -C 126 ; WX 570 ; N asciitilde ; B 19 188 551 347 ; -C 127 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 500 ; N Euro ; B 16 -14 599 676 ; -C 129 ; WX 604 ; N afii10052 ; B -32 0 684 882 ; -C 130 ; WX 333 ; N quotesinglbase ; B 14 -161 218 149 ; -C 131 ; WX 500 ; N florin ; B 0 -216 500 678 ; -C 132 ; WX 500 ; N quotedblbase ; B -29 -162 392 150 ; -C 133 ; WX 1000 ; N ellipsis ; B 85 -13 915 150 ; -C 134 ; WX 500 ; N dagger ; B 86 -214 510 678 ; -C 135 ; WX 500 ; N daggerdbl ; B -6 -216 508 677 ; -C 136 ; WX 333 ; N circumflex ; B 74 511 384 677 ; -C 137 ; WX 1000 ; N perthousand ; B 25 -27 982 677 ; -C 138 ; WX 556 ; N Scaron ; B -22 -15 583 877 ; -C 139 ; WX 333 ; N guilsinglleft ; B 59 -5 306 445 ; -C 140 ; WX 944 ; N OE ; B 62 -5 958 667 ; -C 141 ; WX 678 ; N afii10061 ; B -35 0 737 886 ; -C 142 ; WX 611 ; N Zcaron ; B -27 0 679 877 ; -C 143 ; WX 778 ; N afii10145 ; B -33 -191 858 662 ; -C 144 ; WX 500 ; N quotedblbase ; B -29 -162 392 150 ; -C 145 ; WX 333 ; N quoteleft ; B 142 368 346 677 ; -C 146 ; WX 333 ; N quoteright ; B 144 368 348 677 ; -C 147 ; WX 500 ; N quotedblleft ; B 118 366 539 677 ; -C 148 ; WX 500 ; N quotedblright ; B 118 366 539 677 ; -C 149 ; WX 350 ; N bullet ; B 39 190 318 469 ; -C 150 ; WX 500 ; N endash ; B -7 202 509 261 ; -C 151 ; WX 1000 ; N emdash ; B -10 201 1009 261 ; -C 152 ; WX 333 ; N tilde ; B 89 526 398 662 ; -C 153 ; WX 1000 ; N trademark ; B -1 268 1005 662 ; -C 154 ; WX 389 ; N scaron ; B -2 -14 418 677 ; -C 155 ; WX 333 ; N guilsinglright ; B 28 -5 275 445 ; -C 156 ; WX 722 ; N oe ; B 22 -14 717 453 ; -C 157 ; WX 507 ; N afii10109 ; B 12 0 510 677 ; -C 158 ; WX 389 ; N zcaron ; B -12 -85 418 677 ; -C 159 ; WX 611 ; N Ydieresis ; B 93 0 717 851 ; -C 160 ; WX 250 ; N space ; B 55 -14 352 677 ; -C 161 ; WX 389 ; N exclamdown ; B 20 -216 316 476 ; -C 162 ; WX 500 ; N cent ; B 53 -186 462 644 ; -C 163 ; WX 500 ; N sterling ; B 36 -14 525 676 ; -C 164 ; WX 500 ; N currency ; B 10 93 491 567 ; -C 165 ; WX 500 ; N yen ; B -9 0 614 662 ; -C 166 ; WX 220 ; N brokenbar ; B 78 -216 141 677 ; -C 167 ; WX 500 ; N section ; B -14 -216 530 677 ; -C 168 ; WX 333 ; N dieresis ; B 90 528 401 658 ; -C 169 ; WX 747 ; N copyright ; B 29 -15 722 677 ; -C 170 ; WX 266 ; N ordfeminine ; B 68 396 367 676 ; -C 171 ; WX 500 ; N guillemotleft ; B 41 -5 493 445 ; -C 172 ; WX 606 ; N logicalnot ; B 36 218 570 440 ; -C 173 ; WX 333 ; N hyphen ; B 6 168 322 270 ; -C 174 ; WX 747 ; N registered ; B 29 -15 722 677 ; -C 175 ; WX 500 ; N overscore ; B 125 714 644 778 ; -C 176 ; WX 400 ; N degree ; B 88 338 426 676 ; -C 177 ; WX 549 ; N plusminus ; B 7 66 542 598 ; -C 178 ; WX 300 ; N twosuperior ; B 49 324 344 676 ; -C 179 ; WX 300 ; N threesuperior ; B 54 317 336 676 ; -C 180 ; WX 333 ; N acute ; B 196 506 405 677 ; -C 181 ; WX 576 ; N mu1 ; B -63 -216 529 439 ; -C 182 ; WX 500 ; N paragraph ; B 0 -216 542 662 ; -C 183 ; WX 250 ; N periodcentered ; B 76 252 236 413 ; -C 184 ; WX 333 ; N cedilla ; B 5 -184 228 0 ; -C 185 ; WX 300 ; N onesuperior ; B 60 324 323 676 ; -C 186 ; WX 300 ; N ordmasculine ; B 86 396 375 676 ; -C 187 ; WX 500 ; N guillemotright ; B 7 -5 459 445 ; -C 188 ; WX 750 ; N onequarter ; B 59 -29 705 676 ; -C 189 ; WX 750 ; N onehalf ; B 59 -29 693 676 ; -C 190 ; WX 750 ; N threequarters ; B 53 -29 705 676 ; -C 191 ; WX 500 ; N questiondown ; B 4 -216 392 476 ; -C 192 ; WX 667 ; N Agrave ; B -57 0 624 883 ; -C 193 ; WX 667 ; N Aacute ; B -57 0 737 873 ; -C 194 ; WX 667 ; N Acircumflex ; B -57 0 685 875 ; -C 195 ; WX 667 ; N Atilde ; B -57 0 707 861 ; -C 196 ; WX 667 ; N Adieresis ; B -57 0 721 851 ; -C 197 ; WX 667 ; N Aring ; B -57 0 657 844 ; -C 198 ; WX 944 ; N AE ; B -56 0 958 662 ; -C 199 ; WX 667 ; N Ccedilla ; B 65 -184 721 677 ; -C 200 ; WX 667 ; N Egrave ; B -35 0 680 883 ; -C 201 ; WX 667 ; N Eacute ; B -35 0 680 873 ; -C 202 ; WX 667 ; N Ecircumflex ; B -35 0 680 875 ; -C 203 ; WX 667 ; N Edieresis ; B -35 0 680 851 ; -C 204 ; WX 389 ; N Igrave ; B -35 0 467 883 ; -C 205 ; WX 389 ; N Iacute ; B -35 0 504 873 ; -C 206 ; WX 389 ; N Icircumflex ; B -35 0 468 875 ; -C 207 ; WX 389 ; N Idieresis ; B -35 0 486 851 ; -C 208 ; WX 722 ; N Eth ; B -32 0 708 662 ; -C 209 ; WX 722 ; N Ntilde ; B -32 -7 811 842 ; -C 210 ; WX 722 ; N Ograve ; B 53 -16 718 883 ; -C 211 ; WX 722 ; N Oacute ; B 53 -16 718 887 ; -C 212 ; WX 722 ; N Ocircumflex ; B 53 -16 718 863 ; -C 213 ; WX 722 ; N Otilde ; B 53 -16 718 842 ; -C 214 ; WX 722 ; N Odieresis ; B 53 -16 718 839 ; -C 215 ; WX 570 ; N multiply ; B 75 120 498 543 ; -C 216 ; WX 722 ; N Oslash ; B 42 -16 727 677 ; -C 217 ; WX 722 ; N Ugrave ; B 94 -15 809 883 ; -C 218 ; WX 722 ; N Uacute ; B 94 -15 809 887 ; -C 219 ; WX 722 ; N Ucircumflex ; B 94 -15 809 863 ; -C 220 ; WX 722 ; N Udieresis ; B 94 -15 809 839 ; -C 221 ; WX 611 ; N Yacute ; B 93 0 717 873 ; -C 222 ; WX 611 ; N Thorn ; B -31 0 603 662 ; -C 223 ; WX 500 ; N germandbls ; B -170 -216 506 677 ; -C 224 ; WX 500 ; N agrave ; B 20 -14 479 677 ; -C 225 ; WX 500 ; N aacute ; B 20 -14 483 677 ; -C 226 ; WX 500 ; N acircumflex ; B 20 -14 479 677 ; -C 227 ; WX 500 ; N atilde ; B 20 -14 481 662 ; -C 228 ; WX 500 ; N adieresis ; B 20 -14 486 658 ; -C 229 ; WX 500 ; N aring ; B 20 -14 479 696 ; -C 230 ; WX 722 ; N ae ; B 19 -14 716 453 ; -C 231 ; WX 444 ; N ccedilla ; B 28 -184 438 453 ; -C 232 ; WX 444 ; N egrave ; B 24 -14 442 677 ; -C 233 ; WX 444 ; N eacute ; B 24 -14 507 677 ; -C 234 ; WX 444 ; N ecircumflex ; B 24 -14 442 677 ; -C 235 ; WX 444 ; N edieresis ; B 24 -14 460 658 ; -C 236 ; WX 278 ; N igrave ; B 22 -14 271 677 ; -C 237 ; WX 278 ; N iacute ; B 22 -14 361 677 ; -C 238 ; WX 278 ; N icircumflex ; B 22 -14 340 677 ; -C 239 ; WX 278 ; N idieresis ; B 22 -14 359 658 ; -C 240 ; WX 500 ; N eth ; B 25 -14 486 677 ; -C 241 ; WX 556 ; N ntilde ; B 11 -6 501 662 ; -C 242 ; WX 500 ; N ograve ; B 24 -14 470 677 ; -C 243 ; WX 500 ; N oacute ; B 24 -14 501 677 ; -C 244 ; WX 500 ; N ocircumflex ; B 24 -14 470 677 ; -C 245 ; WX 500 ; N otilde ; B 24 -14 481 662 ; -C 246 ; WX 500 ; N odieresis ; B 24 -14 486 658 ; -C 247 ; WX 549 ; N divide ; B 8 121 542 545 ; -C 248 ; WX 500 ; N oslash ; B 15 -14 485 453 ; -C 249 ; WX 556 ; N ugrave ; B 32 -14 516 677 ; -C 250 ; WX 556 ; N uacute ; B 32 -14 516 677 ; -C 251 ; WX 556 ; N ucircumflex ; B 32 -14 516 677 ; -C 252 ; WX 556 ; N udieresis ; B 32 -14 516 658 ; -C 253 ; WX 444 ; N yacute ; B -92 -216 468 677 ; -C 254 ; WX 500 ; N thorn ; B -122 -216 474 677 ; -C 255 ; WX 444 ; N ydieresis ; B -92 -216 444 658 ; -C -1 ; WX 0 ; N .null ; B 55 -14 352 677 ; -C -1 ; WX 250 ; N nonmarkingreturn ; B 55 -14 352 677 ; -C -1 ; WX 549 ; N notequal ; B 7 -143 542 679 ; -C -1 ; WX 713 ; N infinity ; B 26 52 687 461 ; -C -1 ; WX 549 ; N lessequal ; B 7 -90 542 625 ; -C -1 ; WX 549 ; N greaterequal ; B 7 -90 542 625 ; -C -1 ; WX 494 ; N partialdiff ; B 36 -11 472 700 ; -C -1 ; WX 713 ; N summation ; B 21 -216 693 693 ; -C -1 ; WX 823 ; N product ; B 22 -216 801 693 ; -C -1 ; WX 549 ; N pi1 ; B 23 -14 550 439 ; -C -1 ; WX 274 ; N integral ; B -1 -107 272 910 ; -C -1 ; WX 768 ; N Ohm ; B 4 0 766 741 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 6 119 543 536 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -184 -29 351 676 ; -C -1 ; WX 556 ; N fi ; B -179 -216 529 677 ; -C -1 ; WX 556 ; N fl ; B -180 -216 588 677 ; -C -1 ; WX 278 ; N dotlessi ; B 22 -14 257 453 ; -C -1 ; WX 333 ; N macron ; B 82 533 444 612 ; -C -1 ; WX 333 ; N breve ; B 132 507 403 677 ; -C -1 ; WX 333 ; N dotaccent ; B 193 519 337 663 ; -C -1 ; WX 333 ; N ring ; B 164 493 367 696 ; -C -1 ; WX 333 ; N hungarumlaut ; B 140 508 451 677 ; -C -1 ; WX 333 ; N ogonek ; B -86 -199 130 9 ; -C -1 ; WX 333 ; N caron ; B 109 510 418 677 ; -C -1 ; WX 611 ; N Lslash ; B -27 0 575 662 ; -C -1 ; WX 278 ; N lslash ; B 0 -14 318 677 ; -C -1 ; WX 606 ; N minus ; B 35 299 569 363 ; -C -1 ; WX 500 ; N franc ; B -68 0 595 662 ; -C -1 ; WX 722 ; N Gbreve ; B 69 -15 747 885 ; -C -1 ; WX 500 ; N gbreve ; B -52 -216 517 677 ; -C -1 ; WX 389 ; N Idot ; B -35 0 467 871 ; -C -1 ; WX 556 ; N Scedilla ; B -22 -184 583 677 ; -C -1 ; WX 389 ; N scedilla ; B -2 -184 370 453 ; -C -1 ; WX 667 ; N Cacute ; B 65 -15 721 873 ; -C -1 ; WX 444 ; N cacute ; B 28 -14 474 677 ; -C -1 ; WX 667 ; N Ccaron ; B 65 -15 721 877 ; -C -1 ; WX 444 ; N ccaron ; B 28 -14 509 677 ; -C -1 ; WX 500 ; N dmacron ; B 20 -14 588 677 ; -C -1 ; WX 333 ; N middot ; B 242 271 370 399 ; -C -1 ; WX 667 ; N Abreve ; B -57 0 734 885 ; -C -1 ; WX 500 ; N abreve ; B 20 -14 479 677 ; -C -1 ; WX 667 ; N Aogonek ; B -57 -199 623 677 ; -C -1 ; WX 500 ; N aogonek ; B 20 -205 479 453 ; -C -1 ; WX 722 ; N Dcaron ; B -36 0 702 877 ; -C -1 ; WX 749 ; N dcaron ; B 20 -14 751 677 ; -C -1 ; WX 722 ; N Dslash ; B -32 0 708 662 ; -C -1 ; WX 667 ; N Eogonek ; B -35 -199 680 662 ; -C -1 ; WX 444 ; N eogonek ; B 24 -199 442 453 ; -C -1 ; WX 667 ; N Ecaron ; B -35 0 680 877 ; -C -1 ; WX 444 ; N ecaron ; B 24 -14 504 677 ; -C -1 ; WX 611 ; N Lacute ; B -27 0 575 873 ; -C -1 ; WX 278 ; N lacute ; B 16 -14 413 873 ; -C -1 ; WX 611 ; N Lcaron ; B -27 0 666 677 ; -C -1 ; WX 521 ; N lcaron ; B 16 -14 524 677 ; -C -1 ; WX 611 ; N Ldot ; B -27 0 575 662 ; -C -1 ; WX 375 ; N ldot ; B 16 -14 364 677 ; -C -1 ; WX 722 ; N Nacute ; B -32 -7 811 873 ; -C -1 ; WX 556 ; N nacute ; B 11 -6 501 677 ; -C -1 ; WX 722 ; N Ncaron ; B -32 -7 811 877 ; -C -1 ; WX 556 ; N ncaron ; B 11 -6 508 677 ; -C -1 ; WX 722 ; N Odblacute ; B 53 -16 750 885 ; -C -1 ; WX 500 ; N odblacute ; B 24 -14 604 677 ; -C -1 ; WX 667 ; N Racute ; B -32 0 639 873 ; -C -1 ; WX 389 ; N racute ; B 17 0 438 677 ; -C -1 ; WX 667 ; N Rcaron ; B -32 0 639 877 ; -C -1 ; WX 389 ; N rcaron ; B 17 0 420 677 ; -C -1 ; WX 556 ; N Sacute ; B -22 -15 583 873 ; -C -1 ; WX 389 ; N sacute ; B -2 -14 422 677 ; -C -1 ; WX 611 ; N Tcedilla ; B 80 -256 693 662 ; -C -1 ; WX 278 ; N tcedilla ; B -4 -256 313 572 ; -C -1 ; WX 611 ; N Tcaron ; B 80 0 693 877 ; -C -1 ; WX 531 ; N tcaron ; B 20 -14 544 677 ; -C -1 ; WX 722 ; N Uring ; B 94 -15 809 878 ; -C -1 ; WX 556 ; N uring ; B 32 -14 516 696 ; -C -1 ; WX 722 ; N Udblacute ; B 94 -15 809 885 ; -C -1 ; WX 556 ; N udblacute ; B 32 -14 599 677 ; -C -1 ; WX 611 ; N Zacute ; B -27 0 679 873 ; -C -1 ; WX 389 ; N zacute ; B -12 -85 426 677 ; -C -1 ; WX 611 ; N Zdot ; B -27 0 679 843 ; -C -1 ; WX 389 ; N zdot ; B -12 -85 395 663 ; -C -1 ; WX 604 ; N Gamma ; B -32 0 684 662 ; -C -1 ; WX 763 ; N Theta ; B 55 -15 752 677 ; -C -1 ; WX 789 ; N Phi ; B 63 0 771 662 ; -C -1 ; WX 553 ; N alpha ; B 24 -14 537 453 ; -C -1 ; WX 512 ; N delta ; B 18 -14 491 677 ; -C -1 ; WX 410 ; N epsilon ; B 8 -14 414 453 ; -C -1 ; WX 539 ; N sigma ; B 32 -14 564 439 ; -C -1 ; WX 444 ; N tau ; B 25 -14 469 439 ; -C -1 ; WX 585 ; N phi ; B 28 -214 545 453 ; -C -1 ; WX 500 ; N underscoredbl ; B -9 -216 509 -52 ; -C -1 ; WX 659 ; N exclamdbl ; B 57 -14 626 677 ; -C -1 ; WX 348 ; N nsuperior ; B 4 268 319 545 ; -C -1 ; WX 969 ; N peseta ; B 18 -11 957 662 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 719 ; N intersection ; B 89 0 630 698 ; -C -1 ; WX 570 ; N equivalence ; B 18 138 552 521 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 570 ; N revlogicalnot ; B 37 218 571 440 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 616 ; N SF110000 ; B 219 -303 304 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B -11 168 719 439 ; -C -1 ; WX 708 ; N SF240000 ; B 219 -303 490 910 ; -C -1 ; WX 708 ; N SF510000 ; B 312 -303 720 439 ; -C -1 ; WX 708 ; N SF520000 ; B 219 -303 720 346 ; -C -1 ; WX 708 ; N SF390000 ; B 219 -303 719 439 ; -C -1 ; WX 708 ; N SF220000 ; B -11 -303 396 439 ; -C -1 ; WX 708 ; N SF210000 ; B -11 -303 489 346 ; -C -1 ; WX 708 ; N SF250000 ; B -11 -303 489 439 ; -C -1 ; WX 708 ; N SF500000 ; B 312 168 720 910 ; -C -1 ; WX 708 ; N SF490000 ; B 219 261 720 910 ; -C -1 ; WX 708 ; N SF380000 ; B 219 168 719 910 ; -C -1 ; WX 708 ; N SF280000 ; B -11 168 396 910 ; -C -1 ; WX 708 ; N SF270000 ; B -11 261 489 910 ; -C -1 ; WX 708 ; N SF260000 ; B -11 168 489 910 ; -C -1 ; WX 708 ; N SF360000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF370000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF420000 ; B 219 -303 720 910 ; -C -1 ; WX 708 ; N SF190000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF200000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF230000 ; B -11 -303 489 910 ; -C -1 ; WX 708 ; N SF470000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF480000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF410000 ; B -11 -303 719 439 ; -C -1 ; WX 708 ; N SF450000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF460000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF400000 ; B -11 168 719 910 ; -C -1 ; WX 708 ; N SF540000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF530000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF440000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N upblock ; B -11 303 719 910 ; -C -1 ; WX 708 ; N dnblock ; B -11 -303 719 303 ; -C -1 ; WX 708 ; N block ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N lfblock ; B -11 -303 354 910 ; -C -1 ; WX 708 ; N rtblock ; B 354 -303 720 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 71 0 532 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 148 0 842 693 ; -C -1 ; WX 990 ; N triagrt ; B 141 -15 849 692 ; -C -1 ; WX 990 ; N triagdn ; B 148 -15 842 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 87 67 517 497 ; -C -1 ; WX 604 ; N invbullet ; B 63 0 541 479 ; -C -1 ; WX 604 ; N invcircle ; B 21 0 584 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 838 564 ; -C -1 ; WX 917 ; N sun ; B 8 -109 909 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 28 0 503 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 31 -12 563 601 ; -C -1 ; WX 510 ; N diamond ; B 31 -12 479 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 823 ; N IJ ; B -35 -15 927 662 ; -C -1 ; WX 552 ; N ij ; B 39 -216 558 677 ; -C -1 ; WX 719 ; N napostrophe ; B 44 -6 667 677 ; -C -1 ; WX 281 ; N minute ; B 156 353 314 677 ; -C -1 ; WX 552 ; N second ; B 165 352 559 677 ; -C -1 ; WX 833 ; N afii61248 ; B 75 -27 810 677 ; -C -1 ; WX 427 ; N afii61289 ; B 18 -14 439 677 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 45 198 310 463 ; -C -1 ; WX 354 ; N H18551 ; B 45 198 310 463 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 38 190 316 470 ; -C -1 ; WX 667 ; N Amacron ; B -57 0 747 816 ; -C -1 ; WX 500 ; N amacron ; B 20 -14 527 612 ; -C -1 ; WX 667 ; N Ccircumflex ; B 65 -15 721 894 ; -C -1 ; WX 444 ; N ccircumflex ; B 28 -14 446 677 ; -C -1 ; WX 667 ; N Cdot ; B 65 -15 721 871 ; -C -1 ; WX 444 ; N cdot ; B 28 -14 438 663 ; -C -1 ; WX 667 ; N Emacron ; B -35 0 680 816 ; -C -1 ; WX 444 ; N emacron ; B 24 -14 500 612 ; -C -1 ; WX 667 ; N Ebreve ; B -35 0 680 897 ; -C -1 ; WX 444 ; N ebreve ; B 24 -14 493 677 ; -C -1 ; WX 667 ; N Edot ; B -35 0 680 871 ; -C -1 ; WX 444 ; N edot ; B 24 -14 442 663 ; -C -1 ; WX 722 ; N Gcircumflex ; B 69 -15 747 894 ; -C -1 ; WX 500 ; N gcircumflex ; B -52 -216 517 677 ; -C -1 ; WX 722 ; N Gdot ; B 69 -15 747 871 ; -C -1 ; WX 500 ; N gdot ; B -52 -216 517 663 ; -C -1 ; WX 722 ; N Gcedilla ; B 69 -184 747 677 ; -C -1 ; WX 500 ; N gcedilla ; B -52 -216 517 710 ; -C -1 ; WX 778 ; N Hcircumflex ; B -32 0 862 894 ; -C -1 ; WX 556 ; N hcircumflex ; B 10 -6 574 894 ; -C -1 ; WX 778 ; N Hbar ; B -32 0 862 662 ; -C -1 ; WX 556 ; N hbar ; B 12 -5 503 677 ; -C -1 ; WX 389 ; N Itilde ; B -35 0 490 863 ; -C -1 ; WX 278 ; N itilde ; B 22 -14 371 662 ; -C -1 ; WX 389 ; N Imacron ; B -35 0 516 816 ; -C -1 ; WX 278 ; N imacron ; B 22 -14 396 612 ; -C -1 ; WX 389 ; N Ibreve ; B -35 0 494 897 ; -C -1 ; WX 278 ; N ibreve ; B 22 -14 376 677 ; -C -1 ; WX 389 ; N Iogonek ; B -34 -199 468 662 ; -C -1 ; WX 278 ; N iogonek ; B 11 -199 297 677 ; -C -1 ; WX 500 ; N Jcircumflex ; B -8 -15 598 894 ; -C -1 ; WX 278 ; N jcircumflex ; B -160 -216 349 677 ; -C -1 ; WX 667 ; N Kcedilla ; B -32 -184 747 662 ; -C -1 ; WX 500 ; N kcedilla ; B 6 -184 513 677 ; -C -1 ; WX 500 ; N kgreenlandic ; B 6 -7 513 453 ; -C -1 ; WX 611 ; N Lcedilla ; B -27 -184 575 662 ; -C -1 ; WX 278 ; N lcedilla ; B -79 -184 318 677 ; -C -1 ; WX 722 ; N Ncedilla ; B -32 -184 811 662 ; -C -1 ; WX 556 ; N ncedilla ; B 11 -184 501 453 ; -C -1 ; WX 784 ; N Eng ; B -34 -16 773 677 ; -C -1 ; WX 541 ; N eng ; B 12 -216 496 453 ; -C -1 ; WX 722 ; N Omacron ; B 53 -16 718 816 ; -C -1 ; WX 500 ; N omacron ; B 24 -14 527 612 ; -C -1 ; WX 722 ; N Obreve ; B 53 -16 718 897 ; -C -1 ; WX 500 ; N obreve ; B 24 -14 487 677 ; -C -1 ; WX 667 ; N Rcedilla ; B -32 -184 639 662 ; -C -1 ; WX 389 ; N rcedilla ; B -12 -184 402 453 ; -C -1 ; WX 556 ; N Scircumflex ; B -22 -15 583 894 ; -C -1 ; WX 389 ; N scircumflex ; B -2 -14 412 677 ; -C -1 ; WX 611 ; N Tbar ; B 78 0 691 662 ; -C -1 ; WX 278 ; N tbar ; B 2 -14 312 572 ; -C -1 ; WX 722 ; N Utilde ; B 94 -15 809 863 ; -C -1 ; WX 556 ; N utilde ; B 32 -14 516 662 ; -C -1 ; WX 722 ; N Umacron ; B 94 -15 809 816 ; -C -1 ; WX 556 ; N umacron ; B 32 -14 535 612 ; -C -1 ; WX 722 ; N Ubreve ; B 94 -15 809 897 ; -C -1 ; WX 556 ; N ubreve ; B 32 -14 516 677 ; -C -1 ; WX 722 ; N Uogonek ; B 96 -199 811 662 ; -C -1 ; WX 556 ; N uogonek ; B 34 -199 518 453 ; -C -1 ; WX 889 ; N Wcircumflex ; B 123 -15 1002 894 ; -C -1 ; WX 667 ; N wcircumflex ; B 28 -14 663 677 ; -C -1 ; WX 611 ; N Ycircumflex ; B 93 0 717 894 ; -C -1 ; WX 444 ; N ycircumflex ; B -92 -216 444 677 ; -C -1 ; WX 333 ; N longs ; B -160 -216 507 677 ; -C -1 ; WX 667 ; N Aringacute ; B -57 0 755 1032 ; -C -1 ; WX 500 ; N aringacute ; B 20 -14 542 899 ; -C -1 ; WX 944 ; N AEacute ; B -56 0 958 899 ; -C -1 ; WX 722 ; N aeacute ; B 19 -14 716 677 ; -C -1 ; WX 722 ; N Oslashacute ; B 42 -16 727 899 ; -C -1 ; WX 500 ; N oslashacute ; B 15 -14 488 677 ; -C -1 ; WX 333 ; N anoteleia ; B 128 291 289 452 ; -C -1 ; WX 889 ; N Wgrave ; B 123 -15 1002 897 ; -C -1 ; WX 667 ; N wgrave ; B 28 -14 663 677 ; -C -1 ; WX 889 ; N Wacute ; B 123 -15 1002 899 ; -C -1 ; WX 667 ; N wacute ; B 28 -14 663 677 ; -C -1 ; WX 889 ; N Wdieresis ; B 123 -15 1002 857 ; -C -1 ; WX 667 ; N wdieresis ; B 28 -14 663 658 ; -C -1 ; WX 611 ; N Ygrave ; B 93 0 717 897 ; -C -1 ; WX 444 ; N ygrave ; B -92 -216 444 677 ; -C -1 ; WX 333 ; N quotereversed ; B 174 366 352 678 ; -C -1 ; WX 333 ; N radicalex ; B 51 533 471 612 ; -C -1 ; WX 500 ; N afii08941 ; B 36 -14 525 676 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 750 ; N oneeighth ; B 59 -29 695 676 ; -C -1 ; WX 750 ; N threeeighths ; B 54 -29 695 676 ; -C -1 ; WX 750 ; N fiveeighths ; B 68 -29 695 676 ; -C -1 ; WX 750 ; N seveneighths ; B 96 -29 695 676 ; -C -1 ; WX 333 ; N commaaccent ; B 21 -256 177 -50 ; -C -1 ; WX 333 ; N undercommaaccent ; B 5 -184 228 -20 ; -C -1 ; WX 333 ; N tonos ; B 196 506 405 677 ; -C -1 ; WX 333 ; N dieresistonos ; B 34 506 486 677 ; -C -1 ; WX 667 ; N Alphatonos ; B -57 0 600 677 ; -C -1 ; WX 777 ; N Epsilontonos ; B 31 0 790 677 ; -C -1 ; WX 895 ; N Etatonos ; B 31 0 978 677 ; -C -1 ; WX 506 ; N Iotatonos ; B 31 0 585 677 ; -C -1 ; WX 731 ; N Omicrontonos ; B 31 -15 729 677 ; -C -1 ; WX 750 ; N Upsilontonos ; B 31 0 854 677 ; -C -1 ; WX 785 ; N Omegatonos ; B 30 0 772 677 ; -C -1 ; WX 278 ; N iotadieresistonos ; B -5 -14 447 677 ; -C -1 ; WX 667 ; N Alpha ; B -57 0 600 677 ; -C -1 ; WX 667 ; N Beta ; B -25 0 645 662 ; -C -1 ; WX 627 ; N Delta ; B -48 0 536 677 ; -C -1 ; WX 667 ; N Epsilon ; B -35 0 680 662 ; -C -1 ; WX 611 ; N Zeta ; B -27 0 679 662 ; -C -1 ; WX 778 ; N Eta ; B -32 0 862 662 ; -C -1 ; WX 389 ; N Iota ; B -35 0 467 662 ; -C -1 ; WX 667 ; N Kappa ; B -32 0 747 662 ; -C -1 ; WX 667 ; N Lambda ; B -64 0 594 677 ; -C -1 ; WX 889 ; N Mu ; B -34 0 974 662 ; -C -1 ; WX 722 ; N Nu ; B -32 -7 811 662 ; -C -1 ; WX 659 ; N Xi ; B -23 0 713 662 ; -C -1 ; WX 722 ; N Omicron ; B 53 -16 718 678 ; -C -1 ; WX 778 ; N Pi ; B -35 0 860 662 ; -C -1 ; WX 611 ; N Rho ; B -30 0 644 662 ; -C -1 ; WX 619 ; N Sigma ; B -52 0 676 662 ; -C -1 ; WX 611 ; N Tau ; B 80 0 693 662 ; -C -1 ; WX 611 ; N Upsilon ; B 93 0 717 662 ; -C -1 ; WX 667 ; N Chi ; B -61 0 763 662 ; -C -1 ; WX 800 ; N Psi ; B 120 0 894 677 ; -C -1 ; WX 746 ; N Omega ; B -9 0 733 677 ; -C -1 ; WX 389 ; N Iotadieresis ; B -35 0 493 851 ; -C -1 ; WX 611 ; N Upsilondieresis ; B 93 0 717 851 ; -C -1 ; WX 553 ; N alphatonos ; B 24 -14 537 677 ; -C -1 ; WX 410 ; N epsilontonos ; B 8 -14 441 677 ; -C -1 ; WX 549 ; N etatonos ; B 24 -214 513 677 ; -C -1 ; WX 278 ; N iotatonos ; B 22 -14 372 677 ; -C -1 ; WX 490 ; N upsilondieresistonos ; B 36 -14 546 677 ; -C -1 ; WX 512 ; N beta ; B -84 -214 531 677 ; -C -1 ; WX 416 ; N gamma ; B 31 -216 410 453 ; -C -1 ; WX 441 ; N zeta ; B 14 -166 539 713 ; -C -1 ; WX 549 ; N eta ; B 24 -214 508 453 ; -C -1 ; WX 519 ; N theta ; B 40 -14 530 677 ; -C -1 ; WX 278 ; N iota ; B 22 -14 257 453 ; -C -1 ; WX 530 ; N kappa ; B 13 -8 545 453 ; -C -1 ; WX 444 ; N lambda ; B -53 -8 418 677 ; -C -1 ; WX 556 ; N mu ; B -62 -216 521 439 ; -C -1 ; WX 444 ; N nu ; B 30 -14 444 453 ; -C -1 ; WX 449 ; N xi ; B 22 -166 509 693 ; -C -1 ; WX 500 ; N omicron ; B 24 -14 470 453 ; -C -1 ; WX 515 ; N rho ; B -78 -214 475 453 ; -C -1 ; WX 446 ; N sigma1 ; B 34 -166 463 453 ; -C -1 ; WX 490 ; N upsilon ; B 36 -14 451 453 ; -C -1 ; WX 465 ; N chi ; B -85 -207 499 453 ; -C -1 ; WX 668 ; N psi ; B 59 -214 702 453 ; -C -1 ; WX 723 ; N omega ; B 29 -14 681 453 ; -C -1 ; WX 278 ; N iotadieresis ; B 22 -14 368 636 ; -C -1 ; WX 490 ; N upsilondieresis ; B 36 -14 474 636 ; -C -1 ; WX 500 ; N omicrontonos ; B 24 -14 488 677 ; -C -1 ; WX 490 ; N upsilontonos ; B 36 -14 483 677 ; -C -1 ; WX 723 ; N omegatonos ; B 29 -14 681 677 ; -C -1 ; WX 667 ; N afii10023 ; B -35 0 680 851 ; -C -1 ; WX 818 ; N afii10051 ; B 71 -8 785 662 ; -C -1 ; WX 657 ; N afii10053 ; B 44 -15 737 677 ; -C -1 ; WX 556 ; N afii10054 ; B -22 -15 583 677 ; -C -1 ; WX 389 ; N afii10055 ; B -35 0 467 662 ; -C -1 ; WX 389 ; N afii10056 ; B -35 0 493 851 ; -C -1 ; WX 500 ; N afii10057 ; B -8 -15 598 662 ; -C -1 ; WX 908 ; N afii10058 ; B -59 -8 850 662 ; -C -1 ; WX 976 ; N afii10059 ; B -32 0 918 662 ; -C -1 ; WX 811 ; N afii10060 ; B 71 0 749 662 ; -C -1 ; WX 696 ; N afii10062 ; B 99 -15 811 861 ; -C -1 ; WX 667 ; N afii10017 ; B -57 0 600 677 ; -C -1 ; WX 635 ; N afii10018 ; B -18 0 657 662 ; -C -1 ; WX 667 ; N afii10019 ; B -25 0 645 662 ; -C -1 ; WX 604 ; N afii10020 ; B -32 0 684 662 ; -C -1 ; WX 683 ; N afii10021 ; B -115 -191 765 662 ; -C -1 ; WX 667 ; N afii10022 ; B -35 0 680 662 ; -C -1 ; WX 918 ; N afii10024 ; B -63 0 976 670 ; -C -1 ; WX 509 ; N afii10025 ; B -25 -15 506 677 ; -C -1 ; WX 778 ; N afii10026 ; B -33 0 851 662 ; -C -1 ; WX 778 ; N afii10027 ; B -33 0 851 861 ; -C -1 ; WX 678 ; N afii10028 ; B -35 0 737 670 ; -C -1 ; WX 686 ; N afii10029 ; B -59 -8 768 662 ; -C -1 ; WX 889 ; N afii10030 ; B -34 0 974 662 ; -C -1 ; WX 778 ; N afii10031 ; B -32 0 862 662 ; -C -1 ; WX 722 ; N afii10032 ; B 53 -16 718 678 ; -C -1 ; WX 778 ; N afii10033 ; B -35 0 860 662 ; -C -1 ; WX 611 ; N afii10034 ; B -30 0 644 662 ; -C -1 ; WX 667 ; N afii10035 ; B 65 -15 721 677 ; -C -1 ; WX 611 ; N afii10036 ; B 80 0 693 662 ; -C -1 ; WX 696 ; N afii10037 ; B 99 -15 811 662 ; -C -1 ; WX 850 ; N afii10038 ; B 72 0 830 662 ; -C -1 ; WX 667 ; N afii10039 ; B -61 0 763 662 ; -C -1 ; WX 778 ; N afii10040 ; B -32 -191 858 662 ; -C -1 ; WX 748 ; N afii10041 ; B 120 0 829 662 ; -C -1 ; WX 1126 ; N afii10042 ; B -33 0 1206 662 ; -C -1 ; WX 1126 ; N afii10043 ; B -33 -191 1206 662 ; -C -1 ; WX 760 ; N afii10044 ; B 107 0 702 662 ; -C -1 ; WX 969 ; N afii10045 ; B -19 0 1043 662 ; -C -1 ; WX 634 ; N afii10046 ; B -19 0 576 662 ; -C -1 ; WX 651 ; N afii10047 ; B 4 -15 636 677 ; -C -1 ; WX 1056 ; N afii10048 ; B -38 -15 1053 677 ; -C -1 ; WX 689 ; N afii10049 ; B -65 0 770 662 ; -C -1 ; WX 500 ; N afii10065 ; B 20 -14 479 453 ; -C -1 ; WX 499 ; N afii10066 ; B 32 -14 513 677 ; -C -1 ; WX 447 ; N afii10067 ; B 25 -14 423 453 ; -C -1 ; WX 369 ; N afii10068 ; B -10 -14 372 453 ; -C -1 ; WX 496 ; N afii10069 ; B 22 -14 471 677 ; -C -1 ; WX 444 ; N afii10070 ; B 24 -14 442 453 ; -C -1 ; WX 952 ; N afii10072 ; B -4 -14 952 453 ; -C -1 ; WX 390 ; N afii10073 ; B -20 -14 362 453 ; -C -1 ; WX 556 ; N afii10074 ; B 32 -14 516 453 ; -C -1 ; WX 556 ; N afii10075 ; B 34 -14 518 652 ; -C -1 ; WX 507 ; N afii10076 ; B 12 0 510 453 ; -C -1 ; WX 513 ; N afii10077 ; B -48 -14 475 439 ; -C -1 ; WX 685 ; N afii10078 ; B -48 -14 646 453 ; -C -1 ; WX 555 ; N afii10079 ; B 13 -5 516 453 ; -C -1 ; WX 500 ; N afii10080 ; B 24 -14 470 453 ; -C -1 ; WX 556 ; N afii10081 ; B 11 -6 501 453 ; -C -1 ; WX 500 ; N afii10082 ; B -122 -214 474 453 ; -C -1 ; WX 444 ; N afii10083 ; B 28 -14 438 453 ; -C -1 ; WX 778 ; N afii10084 ; B 11 -5 726 453 ; -C -1 ; WX 444 ; N afii10085 ; B -92 -216 444 453 ; -C -1 ; WX 716 ; N afii10086 ; B 28 -214 682 677 ; -C -1 ; WX 500 ; N afii10087 ; B -45 -14 508 453 ; -C -1 ; WX 556 ; N afii10088 ; B 34 -187 518 453 ; -C -1 ; WX 525 ; N afii10089 ; B 48 -14 486 453 ; -C -1 ; WX 833 ; N afii10090 ; B 36 -14 796 453 ; -C -1 ; WX 833 ; N afii10091 ; B 36 -186 796 453 ; -C -1 ; WX 527 ; N afii10092 ; B 29 -14 476 439 ; -C -1 ; WX 694 ; N afii10093 ; B 43 -14 659 453 ; -C -1 ; WX 457 ; N afii10094 ; B 43 -14 406 453 ; -C -1 ; WX 415 ; N afii10095 ; B -12 -14 371 453 ; -C -1 ; WX 730 ; N afii10096 ; B 12 -14 700 453 ; -C -1 ; WX 515 ; N afii10097 ; B -62 -14 477 439 ; -C -1 ; WX 444 ; N afii10071 ; B 24 -14 489 658 ; -C -1 ; WX 523 ; N afii10099 ; B 12 -216 494 677 ; -C -1 ; WX 393 ; N afii10100 ; B -18 0 455 677 ; -C -1 ; WX 415 ; N afii10101 ; B 22 -14 458 453 ; -C -1 ; WX 389 ; N afii10102 ; B -2 -14 370 453 ; -C -1 ; WX 278 ; N afii10103 ; B 22 -14 298 677 ; -C -1 ; WX 278 ; N afii10104 ; B 22 -14 368 636 ; -C -1 ; WX 278 ; N afii10105 ; B -159 -216 299 677 ; -C -1 ; WX 659 ; N afii10106 ; B -48 -14 607 453 ; -C -1 ; WX 713 ; N afii10107 ; B 12 -14 662 453 ; -C -1 ; WX 556 ; N afii10108 ; B 12 -5 503 677 ; -C -1 ; WX 444 ; N afii10110 ; B -94 -216 454 652 ; -C -1 ; WX 556 ; N afii10193 ; B 30 -191 518 453 ; -C -1 ; WX 470 ; N afii10050 ; B -34 0 594 795 ; -C -1 ; WX 369 ; N afii10098 ; B 31 -14 432 542 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 224 969 294 ; -C -1 ; WX 915 ; N afii61352 ; B -41 -15 903 669 ; -C -1 ; WX 546 ; N pi ; B 14 -14 571 439 ; -C -1 ; WX 333 ; N sheva ; B 26 -265 107 -72 ; -C -1 ; WX 333 ; N hatafsegol ; B -86 -265 219 -72 ; -C -1 ; WX 333 ; N hatafpatah ; B -76 -265 208 -72 ; -C -1 ; WX 333 ; N hatafqamats ; B -91 -265 224 -72 ; -C -1 ; WX 333 ; N hiriq ; B 26 -153 107 -72 ; -C -1 ; WX 333 ; N tsere ; B -30 -153 163 -72 ; -C -1 ; WX 333 ; N segol ; B -30 -265 163 -72 ; -C -1 ; WX 333 ; N patah ; B -30 -130 163 -80 ; -C -1 ; WX 333 ; N qamats ; B -30 -243 163 -80 ; -C -1 ; WX 333 ; N holam ; B 226 587 307 668 ; -C -1 ; WX 333 ; N qubuts ; B -86 -265 219 -72 ; -C -1 ; WX 333 ; N dagesh ; B 126 211 207 292 ; -C -1 ; WX 333 ; N meteg ; B 41 -242 91 -80 ; -C -1 ; WX 375 ; N maqaf ; B 105 362 382 516 ; -C -1 ; WX 333 ; N rafe ; B 170 596 363 646 ; -C -1 ; WX 333 ; N paseq ; B 30 -49 307 564 ; -C -1 ; WX 343 ; N shindot ; B 436 587 517 668 ; -C -1 ; WX 343 ; N sindot ; B 27 587 108 668 ; -C -1 ; WX 333 ; N sofpasuq ; B 40 -14 310 525 ; -C -1 ; WX 518 ; N alef ; B -29 -6 528 553 ; -C -1 ; WX 467 ; N bet ; B -40 0 448 549 ; -C -1 ; WX 377 ; N gimel ; B -65 -13 339 553 ; -C -1 ; WX 439 ; N dalet ; B 83 -13 472 549 ; -C -1 ; WX 512 ; N he ; B -5 -13 541 549 ; -C -1 ; WX 309 ; N vav ; B 89 -13 302 553 ; -C -1 ; WX 322 ; N zayin ; B 90 -13 341 553 ; -C -1 ; WX 512 ; N het ; B 1 -13 542 549 ; -C -1 ; WX 516 ; N tet ; B 50 0 515 553 ; -C -1 ; WX 280 ; N yod ; B 86 200 293 553 ; -C -1 ; WX 447 ; N finalkaf ; B 82 -170 475 549 ; -C -1 ; WX 440 ; N kaf ; B -37 0 422 549 ; -C -1 ; WX 443 ; N lamed ; B 76 -8 450 741 ; -C -1 ; WX 481 ; N finalmem ; B -15 0 470 549 ; -C -1 ; WX 526 ; N mem ; B -3 0 496 553 ; -C -1 ; WX 305 ; N finalnun ; B 46 -170 319 553 ; -C -1 ; WX 321 ; N nun ; B -52 0 311 553 ; -C -1 ; WX 456 ; N samekh ; B 42 -13 440 549 ; -C -1 ; WX 508 ; N ayin ; B -48 -57 533 553 ; -C -1 ; WX 488 ; N finalpe ; B 62 -170 468 549 ; -C -1 ; WX 454 ; N pe ; B -33 0 434 549 ; -C -1 ; WX 551 ; N finaltsadi ; B 86 -170 572 553 ; -C -1 ; WX 487 ; N tsadi ; B -17 0 509 553 ; -C -1 ; WX 454 ; N qof ; B -37 -170 461 549 ; -C -1 ; WX 469 ; N resh ; B 85 -13 460 549 ; -C -1 ; WX 677 ; N shin ; B 92 0 701 553 ; -C -1 ; WX 503 ; N tav ; B -60 -13 492 549 ; -C -1 ; WX 617 ; N doublevav ; B 89 -13 610 553 ; -C -1 ; WX 589 ; N vavyod ; B 86 -13 582 553 ; -C -1 ; WX 561 ; N doubleyod ; B 86 200 574 553 ; -C -1 ; WX 228 ; N geresh ; B 55 219 245 535 ; -C -1 ; WX 433 ; N gershayim ; B 55 219 450 535 ; -C -1 ; WX 759 ; N newsheqelsign ; B -4 0 777 516 ; -C -1 ; WX 309 ; N vavshindot ; B 27 -13 302 668 ; -C -1 ; WX 447 ; N finalkafsheva ; B 82 -170 475 549 ; -C -1 ; WX 447 ; N finalkafqamats ; B 50 -170 475 549 ; -C -1 ; WX 450 ; N lamedholam ; B -30 -8 450 741 ; -C -1 ; WX 443 ; N lamedholamdagesh ; B -30 -8 450 741 ; -C -1 ; WX 508 ; N altayin ; B -34 0 533 553 ; -C -1 ; WX 677 ; N shinshindot ; B 92 0 701 668 ; -C -1 ; WX 677 ; N shinsindot ; B 92 0 701 668 ; -C -1 ; WX 677 ; N shindageshshindot ; B 92 0 701 668 ; -C -1 ; WX 677 ; N shindageshsindot ; B 92 0 701 668 ; -C -1 ; WX 518 ; N alefpatah ; B -29 -130 528 553 ; -C -1 ; WX 518 ; N alefqamats ; B -29 -243 528 553 ; -C -1 ; WX 518 ; N alefmapiq ; B -29 -6 528 553 ; -C -1 ; WX 467 ; N betdagesh ; B -40 0 448 549 ; -C -1 ; WX 377 ; N gimeldagesh ; B -65 -13 339 553 ; -C -1 ; WX 439 ; N daletdagesh ; B 83 -13 472 549 ; -C -1 ; WX 512 ; N hedagesh ; B -5 -13 541 549 ; -C -1 ; WX 309 ; N vavdagesh ; B 55 -13 302 553 ; -C -1 ; WX 322 ; N zayindagesh ; B 35 -13 341 553 ; -C -1 ; WX 516 ; N tetdagesh ; B 50 0 515 553 ; -C -1 ; WX 280 ; N yoddagesh ; B 48 200 293 553 ; -C -1 ; WX 447 ; N finalkafdagesh ; B 82 -170 475 549 ; -C -1 ; WX 440 ; N kafdagesh ; B -37 0 422 549 ; -C -1 ; WX 443 ; N lameddagesh ; B 76 -8 450 741 ; -C -1 ; WX 526 ; N memdagesh ; B -3 0 496 553 ; -C -1 ; WX 321 ; N nundagesh ; B -52 0 311 553 ; -C -1 ; WX 456 ; N samekhdagesh ; B 42 -13 440 549 ; -C -1 ; WX 488 ; N finalpedagesh ; B 62 -170 468 549 ; -C -1 ; WX 454 ; N pedagesh ; B -33 0 434 549 ; -C -1 ; WX 487 ; N tsadidagesh ; B -17 0 509 553 ; -C -1 ; WX 454 ; N qofdagesh ; B -37 -170 461 549 ; -C -1 ; WX 454 ; N reshdagesh ; B 68 -8 446 550 ; -C -1 ; WX 677 ; N shindagesh ; B 92 0 701 553 ; -C -1 ; WX 503 ; N tavdages ; B -60 -13 492 549 ; -C -1 ; WX 309 ; N vavholam ; B 89 -13 302 668 ; -C -1 ; WX 467 ; N betrafe ; B -40 0 448 646 ; -C -1 ; WX 440 ; N kafrafe ; B -37 0 422 646 ; -C -1 ; WX 454 ; N perafe ; B -33 0 434 646 ; -C -1 ; WX 542 ; N aleflamed ; B -5 -6 552 741 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 722 ; N Ohorn ; B 53 -16 839 721 ; -C -1 ; WX 537 ; N ohorn ; B 24 -14 600 512 ; -C -1 ; WX 775 ; N Uhorn ; B 94 -15 929 801 ; -C -1 ; WX 599 ; N uhorn ; B 34 -14 655 467 ; -C -1 ; WX 0 ; N f00b ; B -148 816 23 891 ; -C -1 ; WX 0 ; N f00c ; B -286 816 -66 891 ; -C -1 ; WX 0 ; N f00e ; B -296 728 -98 891 ; -C -1 ; WX 0 ; N f006 ; B -63 816 105 891 ; -C -1 ; WX 0 ; N f007 ; B -127 816 89 891 ; -C -1 ; WX 0 ; N f009 ; B -166 728 34 891 ; -C -1 ; WX 0 ; N combininghookabove ; B -99 724 130 891 ; -C -1 ; WX 0 ; N f010 ; B -121 810 68 891 ; -C -1 ; WX 0 ; N f013 ; B -222 724 7 891 ; -C -1 ; WX 0 ; N f011 ; B -185 810 4 891 ; -C -1 ; WX 0 ; N f01c ; B -208 748 145 885 ; -C -1 ; WX 0 ; N f015 ; B -236 813 66 891 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -282 724 70 861 ; -C -1 ; WX 0 ; N _d_767 ; B 40 719 293 799 ; -C -1 ; WX 0 ; N _d_768 ; B 19 718 266 789 ; -C -1 ; WX 0 ; N f02c ; B -194 -212 -32 -50 ; -C -1 ; WX 513 ; N dongsign ; B 9 133 517 662 ; -C -1 ; WX 750 ; N onethird ; B 59 -30 681 676 ; -C -1 ; WX 750 ; N twothirds ; B 49 -30 681 676 ; -C -1 ; WX 0 ; N f008 ; B -125 506 75 670 ; -C -1 ; WX 0 ; N f00a ; B -226 506 -26 670 ; -C -1 ; WX 0 ; N f00d ; B -202 506 -3 670 ; -C -1 ; WX 0 ; N f00f ; B -292 506 -93 670 ; -C -1 ; WX 0 ; N f012 ; B -151 507 78 674 ; -C -1 ; WX 0 ; N f014 ; B -264 507 -34 674 ; -C -1 ; WX 0 ; N f016 ; B -313 748 39 885 ; -C -1 ; WX 0 ; N f017 ; B -388 748 -36 885 ; -C -1 ; WX 0 ; N f018 ; B -416 748 -64 885 ; -C -1 ; WX 0 ; N f019 ; B -328 526 -19 662 ; -C -1 ; WX 0 ; N f01a ; B -337 526 -28 662 ; -C -1 ; WX 0 ; N f01b ; B -386 526 -77 662 ; -C -1 ; WX 0 ; N f01e ; B -499 -212 -336 -50 ; -C -1 ; WX 0 ; N f01f ; B -533 -212 -370 -50 ; -C -1 ; WX 0 ; N f020 ; B -533 -212 -370 -50 ; -C -1 ; WX 0 ; N f021 ; B -499 -212 -336 -50 ; -C -1 ; WX 0 ; N f022 ; B -547 -212 -385 -50 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -186 728 13 891 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -57 728 143 891 ; -C -1 ; WX 0 ; N f01d ; B -236 526 73 662 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -533 -212 -370 -50 ; -C -1 ; WX 0 ; N f023 ; B -418 -212 -256 -50 ; -C -1 ; WX 0 ; N f029 ; B -361 -212 -198 -50 ; -C -1 ; WX 0 ; N f02a ; B -300 -212 -138 -50 ; -C -1 ; WX 0 ; N f02b ; B -461 -212 -299 -50 ; -C -1 ; WX 0 ; N f024 ; B -370 -212 -207 -50 ; -C -1 ; WX 0 ; N f025 ; B -428 -212 -266 -50 ; -C -1 ; WX 0 ; N f026 ; B -467 -212 -305 -50 ; -C -1 ; WX 0 ; N f027 ; B -467 -212 -305 -50 ; -C -1 ; WX 0 ; N f028 ; B -492 -212 -329 -50 ; -C -1 ; WX 0 ; N f02d ; B -339 813 -36 891 ; -C -1 ; WX 0 ; N f02e ; B -369 748 -17 885 ; -C -1 ; WX 0 ; N f02f ; B -339 813 -36 891 ; -C -1 ; WX 0 ; N f030 ; B -388 748 -36 885 ; -C -1 ; WX 278 ; N f031 ; B 20 -14 255 453 ; -C -1 ; WX 667 ; N Adotbelow ; B -57 -212 600 677 ; -C -1 ; WX 500 ; N adotbelow ; B 20 -212 479 453 ; -C -1 ; WX 667 ; N Ahookabove ; B -57 0 721 891 ; -C -1 ; WX 500 ; N ahookabove ; B 20 -14 479 674 ; -C -1 ; WX 667 ; N Acircumflexacute ; B -57 0 710 891 ; -C -1 ; WX 500 ; N acircumflexacute ; B 20 -14 522 891 ; -C -1 ; WX 667 ; N Acircumflexgrave ; B -57 0 683 891 ; -C -1 ; WX 500 ; N acircumflexgrave ; B 20 -14 479 891 ; -C -1 ; WX 667 ; N Acircumflexhookabove ; B -57 0 698 891 ; -C -1 ; WX 500 ; N acircumflexhookabove ; B 20 -14 522 891 ; -C -1 ; WX 667 ; N Acircumflextilde ; B -57 0 740 891 ; -C -1 ; WX 500 ; N acircumflextilde ; B 20 -14 550 885 ; -C -1 ; WX 667 ; N Acircumflexdotbelow ; B -57 -212 683 789 ; -C -1 ; WX 500 ; N acircumflexdotbelow ; B 20 -212 479 677 ; -C -1 ; WX 667 ; N Abreveacute ; B -57 0 710 891 ; -C -1 ; WX 500 ; N abreveacute ; B 20 -14 493 891 ; -C -1 ; WX 667 ; N Abrevegrave ; B -57 0 709 891 ; -C -1 ; WX 500 ; N abrevegrave ; B 20 -14 479 891 ; -C -1 ; WX 667 ; N Abrevehookabove ; B -57 0 709 891 ; -C -1 ; WX 500 ; N abrevehookabove ; B 20 -14 482 891 ; -C -1 ; WX 667 ; N Abrevetilde ; B -57 0 740 891 ; -C -1 ; WX 500 ; N abrevetilde ; B 20 -14 550 885 ; -C -1 ; WX 667 ; N Abrevedotbelow ; B -57 -212 709 799 ; -C -1 ; WX 500 ; N abrevedotbelow ; B 20 -212 479 677 ; -C -1 ; WX 667 ; N Edotbelow ; B -35 -212 680 662 ; -C -1 ; WX 444 ; N edotbelow ; B 24 -212 442 453 ; -C -1 ; WX 667 ; N Ehookabove ; B -35 0 680 891 ; -C -1 ; WX 444 ; N ehookabove ; B 24 -14 503 674 ; -C -1 ; WX 667 ; N Etilde ; B -35 0 680 842 ; -C -1 ; WX 444 ; N etilde ; B 24 -14 496 662 ; -C -1 ; WX 667 ; N Ecircumflexacute ; B -35 0 680 891 ; -C -1 ; WX 444 ; N ecircumflexacute ; B 24 -14 496 891 ; -C -1 ; WX 667 ; N Ecircumflexgrave ; B -35 0 680 891 ; -C -1 ; WX 444 ; N ecircumflexgrave ; B 24 -14 442 891 ; -C -1 ; WX 667 ; N Ecircumflexhookabove ; B -35 0 680 891 ; -C -1 ; WX 444 ; N ecircumflexhookabove ; B 24 -14 496 891 ; -C -1 ; WX 667 ; N Ecircumflextilde ; B -35 0 680 891 ; -C -1 ; WX 444 ; N ecircumflextilde ; B 24 -14 550 885 ; -C -1 ; WX 667 ; N Ecircumflexdotbelow ; B -35 -212 680 789 ; -C -1 ; WX 444 ; N ecircumflexdotbelow ; B 24 -212 442 677 ; -C -1 ; WX 389 ; N Ihookabove ; B -35 0 477 891 ; -C -1 ; WX 278 ; N ihookabove ; B 20 -14 356 674 ; -C -1 ; WX 389 ; N Idotbelow ; B -35 -212 467 662 ; -C -1 ; WX 278 ; N idotbelow ; B -1 -212 298 677 ; -C -1 ; WX 722 ; N Odotbelow ; B 53 -212 718 678 ; -C -1 ; WX 500 ; N odotbelow ; B 24 -212 470 453 ; -C -1 ; WX 722 ; N Ohookabove ; B 53 -16 718 891 ; -C -1 ; WX 500 ; N ohookabove ; B 24 -14 488 674 ; -C -1 ; WX 722 ; N Ocircumflexacute ; B 53 -16 718 891 ; -C -1 ; WX 500 ; N ocircumflexacute ; B 24 -14 522 891 ; -C -1 ; WX 722 ; N Ocircumflexgrave ; B 53 -16 718 891 ; -C -1 ; WX 500 ; N ocircumflexgrave ; B 24 -14 470 891 ; -C -1 ; WX 722 ; N Ocircumflexhookabove ; B 53 -16 718 891 ; -C -1 ; WX 500 ; N ocircumflexhookabove ; B 24 -14 522 891 ; -C -1 ; WX 722 ; N Ocircumflextilde ; B 53 -16 718 891 ; -C -1 ; WX 500 ; N ocircumflextilde ; B 24 -14 564 885 ; -C -1 ; WX 722 ; N Ocircumflexdotbelow ; B 53 -212 718 789 ; -C -1 ; WX 500 ; N ocircumflexdotbelow ; B 24 -212 470 677 ; -C -1 ; WX 722 ; N Ohornacute ; B 53 -16 839 887 ; -C -1 ; WX 537 ; N ohornacute ; B 24 -14 600 677 ; -C -1 ; WX 722 ; N Ohorngrave ; B 53 -16 839 883 ; -C -1 ; WX 537 ; N ohorngrave ; B 24 -14 600 677 ; -C -1 ; WX 722 ; N Ohornhookabove ; B 53 -16 839 891 ; -C -1 ; WX 537 ; N ohornhookabove ; B 24 -14 600 674 ; -C -1 ; WX 722 ; N Ohorntilde ; B 53 -16 839 842 ; -C -1 ; WX 537 ; N ohorntilde ; B 24 -14 600 662 ; -C -1 ; WX 722 ; N Ohorndotbelow ; B 53 -212 839 721 ; -C -1 ; WX 537 ; N ohorndotbelow ; B 24 -212 600 512 ; -C -1 ; WX 722 ; N Udotbelow ; B 94 -212 809 662 ; -C -1 ; WX 556 ; N udotbelow ; B 32 -212 516 453 ; -C -1 ; WX 722 ; N Uhookabove ; B 94 -15 809 891 ; -C -1 ; WX 556 ; N uhookabove ; B 32 -14 516 674 ; -C -1 ; WX 775 ; N Uhornacute ; B 94 -15 929 887 ; -C -1 ; WX 599 ; N uhornacute ; B 34 -14 655 677 ; -C -1 ; WX 775 ; N Uhorngrave ; B 94 -15 929 883 ; -C -1 ; WX 599 ; N uhorngrave ; B 34 -14 655 677 ; -C -1 ; WX 775 ; N Uhornhookabove ; B 94 -15 929 891 ; -C -1 ; WX 599 ; N uhornhookabove ; B 34 -14 655 674 ; -C -1 ; WX 775 ; N Uhorntilde ; B 94 -15 929 863 ; -C -1 ; WX 599 ; N uhorntilde ; B 34 -14 655 662 ; -C -1 ; WX 775 ; N Uhorndotbelow ; B 94 -212 929 801 ; -C -1 ; WX 599 ; N uhorndotbelow ; B 34 -212 655 467 ; -C -1 ; WX 611 ; N Ydotbelow ; B 93 -212 717 662 ; -C -1 ; WX 444 ; N ydotbelow ; B -92 -216 444 453 ; -C -1 ; WX 611 ; N Yhookabove ; B 93 0 717 891 ; -C -1 ; WX 444 ; N yhookabove ; B -92 -216 444 674 ; -C -1 ; WX 611 ; N Ytilde ; B 93 0 717 842 ; -C -1 ; WX 444 ; N ytilde ; B -92 -216 466 662 ; -C -1 ; WX 667 ; N uni01CD ; B -57 0 750 877 ; -C -1 ; WX 500 ; N uni01CE ; B 20 -14 535 677 ; -C -1 ; WX 389 ; N uni01CF ; B -35 0 511 877 ; -C -1 ; WX 278 ; N uni01D0 ; B 22 -14 399 677 ; -C -1 ; WX 722 ; N uni01D1 ; B 53 -16 718 877 ; -C -1 ; WX 500 ; N uni01D2 ; B 24 -14 526 677 ; -C -1 ; WX 722 ; N uni01D3 ; B 94 -15 809 877 ; -C -1 ; WX 556 ; N uni01D4 ; B 32 -14 521 677 ; -C -1 ; WX 722 ; N uni01D5 ; B 94 -15 809 891 ; -C -1 ; WX 556 ; N uni01D6 ; B 32 -14 554 764 ; -C -1 ; WX 722 ; N uni01D7 ; B 94 -15 809 891 ; -C -1 ; WX 556 ; N uni01D8 ; B 32 -14 521 831 ; -C -1 ; WX 722 ; N uni01D9 ; B 94 -15 809 891 ; -C -1 ; WX 556 ; N uni01DA ; B 32 -14 544 832 ; -C -1 ; WX 722 ; N uni01DB ; B 94 -15 809 891 ; -C -1 ; WX 556 ; N uni01DC ; B 32 -14 516 831 ; -C -1 ; WX 0 ; N _d_912 ; B 93 706 376 891 ; -C -1 ; WX 0 ; N _d_913 ; B 93 706 334 891 ; -C -1 ; WX 0 ; N _d_914 ; B 93 706 358 891 ; -C -1 ; WX 0 ; N _d_915 ; B 93 706 334 891 ; -C -1 ; WX 604 ; N uni0492 ; B -32 0 684 662 ; -C -1 ; WX 369 ; N uni0493 ; B -10 -14 372 453 ; -C -1 ; WX 918 ; N uni0496 ; B -63 -191 976 670 ; -C -1 ; WX 952 ; N uni0497 ; B -4 -187 952 453 ; -C -1 ; WX 678 ; N uni049a ; B -35 -191 737 670 ; -C -1 ; WX 507 ; N uni049b ; B 12 -187 510 453 ; -C -1 ; WX 678 ; N uni049c ; B -35 0 737 670 ; -C -1 ; WX 507 ; N uni049d ; B 12 0 510 453 ; -C -1 ; WX 778 ; N uni04a2 ; B -32 -191 862 662 ; -C -1 ; WX 555 ; N uni04a3 ; B 13 -187 516 453 ; -C -1 ; WX 611 ; N uni04ae ; B 93 0 717 662 ; -C -1 ; WX 500 ; N uni04af ; B 7 -214 544 439 ; -C -1 ; WX 611 ; N uni04b0 ; B 86 0 717 662 ; -C -1 ; WX 500 ; N uni04b1 ; B -25 -214 544 439 ; -C -1 ; WX 667 ; N uni04b2 ; B -61 -191 763 662 ; -C -1 ; WX 500 ; N uni04b3 ; B -45 -187 508 453 ; -C -1 ; WX 748 ; N uni04b8 ; B 120 0 829 662 ; -C -1 ; WX 525 ; N uni04b9 ; B 48 -14 486 453 ; -C -1 ; WX 748 ; N uni04ba ; B -33 0 675 662 ; -C -1 ; WX 556 ; N uni04bb ; B 13 -6 503 453 ; -C -1 ; WX 722 ; N uni018f ; B 53 -15 718 677 ; -C -1 ; WX 444 ; N uni0259 ; B 1 -14 419 453 ; -C -1 ; WX 722 ; N uni04e8 ; B 53 -16 718 678 ; -C -1 ; WX 500 ; N uni04e9 ; B 24 -14 470 453 ; -EndCharMetrics -StartKernData -StartKernPairs 845 -KPX space A -37 -KPX space W -18 -KPX space Y -18 -KPX space Alphatonos -37 -KPX space Upsilontonos -18 -KPX space Alpha -37 -KPX space Delta -37 -KPX space Lambda -37 -KPX space Upsilon -18 -KPX space Upsilondieresis -18 -KPX one one -55 -KPX A space -55 -KPX A T -55 -KPX A V -74 -KPX A W -92 -KPX A Y -55 -KPX A v -74 -KPX A w -74 -KPX A y -74 -KPX A quoteright -74 -KPX F space -18 -KPX F comma -129 -KPX F period -129 -KPX F A -92 -KPX L space -37 -KPX L T -18 -KPX L V -37 -KPX L W -37 -KPX L Y -37 -KPX L y -37 -KPX L quoteright -55 -KPX P space -37 -KPX P comma -129 -KPX P period -129 -KPX P A -74 -KPX R V -18 -KPX R W -18 -KPX R Y -18 -KPX R y -18 -KPX T comma -92 -KPX T hyphen -92 -KPX T period -92 -KPX T colon -74 -KPX T semicolon -74 -KPX T A -55 -KPX T O -18 -KPX T a -92 -KPX T c -92 -KPX T e -92 -KPX T i -37 -KPX T o -92 -KPX T r -37 -KPX T s -92 -KPX T u -37 -KPX T w -37 -KPX T y -37 -KPX V space -18 -KPX V comma -129 -KPX V hyphen -55 -KPX V period -129 -KPX V colon -74 -KPX V semicolon -74 -KPX V A -74 -KPX V a -111 -KPX V e -111 -KPX V i -55 -KPX V o -111 -KPX V r -55 -KPX V u -55 -KPX V y -74 -KPX W space -18 -KPX W comma -74 -KPX W hyphen -37 -KPX W period -74 -KPX W colon -55 -KPX W semicolon -55 -KPX W A -74 -KPX W a -74 -KPX W e -74 -KPX W i -37 -KPX W o -74 -KPX W r -74 -KPX W u -55 -KPX W y -55 -KPX Y space -37 -KPX Y comma -92 -KPX Y hyphen -92 -KPX Y period -74 -KPX Y colon -92 -KPX Y semicolon -92 -KPX Y A -74 -KPX Y a -92 -KPX Y e -111 -KPX Y i -55 -KPX Y o -111 -KPX Y p -74 -KPX Y q -111 -KPX Y u -92 -KPX Y v -92 -KPX f f -18 -KPX f quoteright 55 -KPX r comma -55 -KPX r period -55 -KPX r quoteright 37 -KPX v comma -37 -KPX v period -37 -KPX w comma -37 -KPX w period -37 -KPX y comma -37 -KPX y period -37 -KPX quoteleft quoteleft -74 -KPX quoteright space -74 -KPX quoteright s -74 -KPX quoteright t -37 -KPX quoteright quoteright -74 -KPX quotesinglbase afii10051 -113 -KPX quotesinglbase afii10060 -113 -KPX quotesinglbase afii10036 -113 -KPX quotesinglbase afii10041 -176 -KPX quotesinglbase afii10044 -88 -KPX quotedblbase afii10051 -113 -KPX quotedblbase afii10060 -113 -KPX quotedblbase afii10036 -113 -KPX quotedblbase afii10041 -125 -KPX quotedblbase afii10044 -50 -KPX Gamma space -18 -KPX Gamma comma -128 -KPX Gamma period -128 -KPX Gamma iotadieresistonos 76 -KPX Gamma Alpha -150 -KPX Gamma Delta -131 -KPX Gamma Lambda -150 -KPX Gamma iota -37 -KPX Theta Alpha -44 -KPX Theta Delta -19 -KPX Theta Lambda -44 -KPX Theta Upsilon -51 -KPX Theta Upsilondieresis -51 -KPX Phi Alpha -44 -KPX Phi Upsilon -68 -KPX Phi Upsilondieresis -68 -KPX delta tau -14 -KPX delta lambda -18 -KPX delta chi -31 -KPX delta pi -14 -KPX tau alpha -14 -KPX tau delta -14 -KPX tau sigma -14 -KPX tau phi -14 -KPX tau alphatonos -14 -KPX tau omicron -14 -KPX tau sigma1 -14 -KPX tau omega -14 -KPX tau omicrontonos -14 -KPX tau omegatonos -14 -KPX phi tau -14 -KPX phi lambda -18 -KPX phi chi -31 -KPX Alphatonos space -55 -KPX Alphatonos Theta -25 -KPX Alphatonos Phi -25 -KPX Alphatonos Omicron -25 -KPX Alphatonos Tau -82 -KPX Alphatonos Upsilon -93 -KPX Alphatonos Upsilondieresis -93 -KPX Alphatonos gamma -38 -KPX Alphatonos nu -74 -KPX Alphatonos chi -33 -KPX Omicrontonos Upsilon -51 -KPX Omicrontonos Upsilondieresis -51 -KPX Upsilontonos alpha -91 -KPX Upsilontonos delta -91 -KPX Upsilontonos sigma -91 -KPX Upsilontonos phi -91 -KPX Upsilontonos iotadieresistonos 76 -KPX Upsilontonos Alpha -74 -KPX Upsilontonos Delta -74 -KPX Upsilontonos Lambda -74 -KPX Upsilontonos alphatonos -91 -KPX Upsilontonos etatonos -26 -KPX Upsilontonos iotatonos -26 -KPX Upsilontonos eta -26 -KPX Upsilontonos iota -26 -KPX Upsilontonos kappa -26 -KPX Upsilontonos mu -26 -KPX Upsilontonos omicron -91 -KPX Upsilontonos omicrontonos -91 -KPX Omegatonos Upsilon -46 -KPX Alpha space -55 -KPX Alpha quoteright -74 -KPX Alpha Theta -25 -KPX Alpha Phi -25 -KPX Alpha Omicron -25 -KPX Alpha Tau -82 -KPX Alpha Upsilon -93 -KPX Alpha Upsilondieresis -93 -KPX Alpha gamma -38 -KPX Alpha nu -74 -KPX Alpha chi -33 -KPX Delta space -55 -KPX Delta Theta -19 -KPX Delta Omicron -19 -KPX Delta Tau -68 -KPX Delta Upsilon -93 -KPX Delta Upsilondieresis -93 -KPX Kappa Theta -44 -KPX Kappa Phi -74 -KPX Kappa alpha -31 -KPX Kappa delta -31 -KPX Kappa sigma -31 -KPX Kappa phi -31 -KPX Kappa Omicron -44 -KPX Kappa alphatonos -31 -KPX Kappa zeta -31 -KPX Kappa theta -31 -KPX Kappa xi -31 -KPX Kappa omicron -31 -KPX Kappa omega -31 -KPX Kappa omicrontonos -31 -KPX Kappa omegatonos -31 -KPX Lambda space -55 -KPX Lambda Theta -25 -KPX Lambda Omicron -25 -KPX Lambda Tau -82 -KPX Lambda Upsilon -93 -KPX Lambda Upsilondieresis -93 -KPX Omicron Alphatonos -44 -KPX Omicron Alpha -44 -KPX Omicron Delta -19 -KPX Omicron Lambda -44 -KPX Omicron Upsilon -51 -KPX Omicron Upsilondieresis -51 -KPX Rho space -37 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -145 -KPX Rho Delta -119 -KPX Rho Lambda -145 -KPX Sigma tau -44 -KPX Tau comma -91 -KPX Tau hyphen -91 -KPX Tau period -91 -KPX Tau colon -74 -KPX Tau semicolon -74 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -91 -KPX Tau delta -91 -KPX Tau epsilon -91 -KPX Tau sigma -91 -KPX Tau phi -91 -KPX Tau iotadieresistonos 95 -KPX Tau Alpha -79 -KPX Tau Delta -76 -KPX Tau Lambda -79 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -91 -KPX Tau epsilontonos -91 -KPX Tau eta -37 -KPX Tau iota -37 -KPX Tau mu -37 -KPX Tau omicron -91 -KPX Tau upsilon -37 -KPX Tau chi -37 -KPX Tau psi -37 -KPX Tau iotadieresis 50 -KPX Tau upsilondieresis -37 -KPX Tau omicrontonos -91 -KPX Tau upsilontonos -37 -KPX Upsilon comma -91 -KPX Upsilon hyphen -91 -KPX Upsilon period -91 -KPX Upsilon colon -91 -KPX Upsilon semicolon -91 -KPX Upsilon Theta -17 -KPX Upsilon Phi -25 -KPX Upsilon alpha -91 -KPX Upsilon delta -91 -KPX Upsilon sigma -91 -KPX Upsilon phi -91 -KPX Upsilon iotadieresistonos 76 -KPX Upsilon Alpha -74 -KPX Upsilon Delta -57 -KPX Upsilon Lambda -74 -KPX Upsilon Omicron -17 -KPX Upsilon alphatonos -91 -KPX Upsilon etatonos -26 -KPX Upsilon iotatonos -26 -KPX Upsilon gamma -68 -KPX Upsilon eta -26 -KPX Upsilon iota -26 -KPX Upsilon kappa -26 -KPX Upsilon mu -26 -KPX Upsilon omicron -91 -KPX Upsilon omicrontonos -91 -KPX Psi alpha -57 -KPX Psi delta -57 -KPX Psi sigma -57 -KPX Psi phi -57 -KPX Psi alphatonos -57 -KPX Psi theta -19 -KPX Psi omicron -57 -KPX Psi omega -57 -KPX Psi omicrontonos -57 -KPX Psi omegatonos -57 -KPX Omega Upsilon -46 -KPX Omega Upsilondieresis -46 -KPX Upsilondieresis Theta -17 -KPX Upsilondieresis Phi -25 -KPX Upsilondieresis alpha -91 -KPX Upsilondieresis delta -91 -KPX Upsilondieresis sigma -91 -KPX Upsilondieresis phi -91 -KPX Upsilondieresis iotadieresistonos 76 -KPX Upsilondieresis Alpha -74 -KPX Upsilondieresis Delta -57 -KPX Upsilondieresis Lambda -74 -KPX Upsilondieresis Omicron -17 -KPX Upsilondieresis alphatonos -91 -KPX Upsilondieresis etatonos -26 -KPX Upsilondieresis iotatonos -26 -KPX Upsilondieresis eta -26 -KPX Upsilondieresis iota -26 -KPX Upsilondieresis kappa -26 -KPX Upsilondieresis mu -26 -KPX Upsilondieresis omicron -91 -KPX Upsilondieresis omicrontonos -91 -KPX zeta alpha -50 -KPX zeta delta -42 -KPX zeta sigma -50 -KPX zeta tau -83 -KPX zeta phi -50 -KPX zeta alphatonos -50 -KPX zeta etatonos -28 -KPX zeta gamma -42 -KPX zeta eta -28 -KPX zeta theta -42 -KPX zeta iota -28 -KPX zeta kappa -28 -KPX zeta nu -42 -KPX zeta omicron -50 -KPX zeta omega -50 -KPX zeta omicrontonos -50 -KPX zeta omegatonos -50 -KPX zeta pi -19 -KPX kappa alpha -19 -KPX kappa delta -19 -KPX kappa sigma -19 -KPX kappa phi -19 -KPX kappa alphatonos -19 -KPX kappa zeta -19 -KPX kappa xi -19 -KPX kappa omicron -19 -KPX kappa sigma1 -19 -KPX kappa omega -19 -KPX kappa omicrontonos -19 -KPX kappa omegatonos -19 -KPX lambda delta -18 -KPX lambda sigma -18 -KPX lambda upsilondieresistonos -15 -KPX lambda zeta -9 -KPX lambda xi -12 -KPX lambda sigma1 -21 -KPX lambda upsilon -15 -KPX lambda upsilondieresis -15 -KPX lambda upsilontonos -15 -KPX xi alpha -25 -KPX xi delta -25 -KPX xi sigma -25 -KPX xi phi -25 -KPX xi alphatonos -25 -KPX xi zeta -25 -KPX xi xi -25 -KPX xi omicron -25 -KPX xi sigma1 -25 -KPX xi omicrontonos -25 -KPX omicron tau -14 -KPX omicron lambda -18 -KPX omicron chi -31 -KPX omicron pi -14 -KPX rho chi -31 -KPX chi alpha -31 -KPX chi delta -31 -KPX chi sigma -31 -KPX chi phi -15 -KPX chi alphatonos -31 -KPX chi zeta -15 -KPX chi omicron -31 -KPX chi sigma1 -15 -KPX chi omega -31 -KPX chi omicrontonos -31 -KPX chi omegatonos -31 -KPX omega tau -14 -KPX omega chi -31 -KPX omega pi -14 -KPX omicrontonos tau -14 -KPX omicrontonos lambda -18 -KPX omicrontonos chi -31 -KPX omicrontonos pi -14 -KPX omegatonos tau -14 -KPX omegatonos chi -31 -KPX omegatonos pi -14 -KPX afii10052 comma -63 -KPX afii10052 period -75 -KPX afii10052 colon 25 -KPX afii10058 quoteright -121 -KPX afii10059 quoteright -88 -KPX afii10017 quoteright -101 -KPX afii10017 afii10021 14 -KPX afii10017 afii10025 -13 -KPX afii10017 afii10032 -38 -KPX afii10017 afii10033 -25 -KPX afii10017 afii10035 -25 -KPX afii10017 afii10036 -38 -KPX afii10017 afii10037 -63 -KPX afii10017 afii10038 -51 -KPX afii10017 afii10041 -63 -KPX afii10017 afii10047 -50 -KPX afii10017 afii10065 -15 -KPX afii10017 afii10066 -15 -KPX afii10017 afii10070 -15 -KPX afii10017 afii10080 -15 -KPX afii10017 afii10083 -15 -KPX afii10017 afii10085 -33 -KPX afii10017 afii10086 -15 -KPX afii10017 afii10095 -15 -KPX afii10018 afii10017 -27 -KPX afii10018 afii10021 12 -KPX afii10018 afii10025 37 -KPX afii10018 afii10037 -40 -KPX afii10018 afii10038 -27 -KPX afii10018 afii10039 -13 -KPX afii10018 afii10041 -27 -KPX afii10018 afii10044 -28 -KPX afii10018 afii10047 -14 -KPX afii10018 afii10069 12 -KPX afii10018 afii10085 -12 -KPX afii10018 afii10097 23 -KPX afii10019 afii10017 -38 -KPX afii10019 afii10021 -53 -KPX afii10019 afii10024 -40 -KPX afii10019 afii10025 -34 -KPX afii10019 afii10032 -47 -KPX afii10019 afii10035 -47 -KPX afii10019 afii10036 -57 -KPX afii10019 afii10037 -85 -KPX afii10019 afii10038 -67 -KPX afii10019 afii10039 -25 -KPX afii10019 afii10041 -60 -KPX afii10019 afii10044 -48 -KPX afii10019 afii10049 -47 -KPX afii10019 afii10069 12 -KPX afii10019 afii10078 -13 -KPX afii10019 afii10084 12 -KPX afii10019 afii10087 -14 -KPX afii10019 afii10089 12 -KPX afii10019 afii10097 12 -KPX afii10020 comma -63 -KPX afii10020 period -75 -KPX afii10020 colon 25 -KPX afii10020 afii10017 -75 -KPX afii10020 afii10021 -75 -KPX afii10020 afii10025 19 -KPX afii10020 afii10029 -69 -KPX afii10020 afii10030 -25 -KPX afii10020 afii10032 -13 -KPX afii10020 afii10049 -13 -KPX afii10020 afii10065 -25 -KPX afii10020 afii10067 -38 -KPX afii10020 afii10069 -18 -KPX afii10020 afii10070 -30 -KPX afii10020 afii10074 -19 -KPX afii10020 afii10077 -53 -KPX afii10020 afii10078 -40 -KPX afii10020 afii10079 -30 -KPX afii10020 afii10080 -52 -KPX afii10020 afii10082 -28 -KPX afii10020 afii10085 -43 -KPX afii10020 afii10093 -53 -KPX afii10020 afii10094 -50 -KPX afii10020 afii10096 -65 -KPX afii10020 afii10097 -40 -KPX afii10021 afii10038 -19 -KPX afii10021 afii10085 25 -KPX afii10022 afii10025 -14 -KPX afii10024 afii10032 -53 -KPX afii10024 afii10035 -53 -KPX afii10024 afii10037 -34 -KPX afii10024 afii10041 -34 -KPX afii10024 afii10080 -13 -KPX afii10024 afii10085 -30 -KPX afii10025 afii10036 12 -KPX afii10025 afii10037 -13 -KPX afii10025 afii10041 -50 -KPX afii10025 afii10069 13 -KPX afii10028 afii10032 -47 -KPX afii10028 afii10035 -47 -KPX afii10028 afii10037 -13 -KPX afii10028 afii10038 -80 -KPX afii10028 afii10047 -13 -KPX afii10028 afii10070 -25 -KPX afii10028 afii10080 -38 -KPX afii10028 afii10083 -25 -KPX afii10028 afii10085 -43 -KPX afii10028 afii10095 -25 -KPX afii10029 afii10085 19 -KPX afii10030 afii10038 -25 -KPX afii10030 afii10065 -14 -KPX afii10030 afii10070 -14 -KPX afii10030 afii10080 -14 -KPX afii10030 afii10083 -14 -KPX afii10032 afii10017 -48 -KPX afii10032 afii10021 -25 -KPX afii10032 afii10024 -38 -KPX afii10032 afii10029 -25 -KPX afii10032 afii10037 -58 -KPX afii10032 afii10038 12 -KPX afii10032 afii10039 -50 -KPX afii10032 afii10041 -38 -KPX afii10032 afii10049 -38 -KPX afii10032 afii10072 19 -KPX afii10032 afii10087 19 -KPX afii10034 comma -88 -KPX afii10034 period -100 -KPX afii10034 colon 25 -KPX afii10034 afii10017 -88 -KPX afii10034 afii10021 -99 -KPX afii10034 afii10024 -52 -KPX afii10034 afii10025 -33 -KPX afii10034 afii10029 -78 -KPX afii10034 afii10030 -25 -KPX afii10034 afii10032 -13 -KPX afii10034 afii10037 -71 -KPX afii10034 afii10038 -27 -KPX afii10034 afii10039 -63 -KPX afii10034 afii10049 -41 -KPX afii10034 afii10065 -38 -KPX afii10034 afii10069 -36 -KPX afii10034 afii10070 -36 -KPX afii10034 afii10080 -36 -KPX afii10034 afii10097 -25 -KPX afii10035 afii10017 -38 -KPX afii10035 afii10029 12 -KPX afii10035 afii10037 -13 -KPX afii10035 afii10039 -13 -KPX afii10035 afii10041 -13 -KPX afii10035 afii10065 7 -KPX afii10035 afii10066 7 -KPX afii10035 afii10070 7 -KPX afii10035 afii10072 7 -KPX afii10035 afii10073 7 -KPX afii10035 afii10080 7 -KPX afii10035 afii10083 7 -KPX afii10035 afii10084 14 -KPX afii10035 afii10086 7 -KPX afii10035 afii10095 7 -KPX afii10036 comma -50 -KPX afii10036 period -63 -KPX afii10036 colon 37 -KPX afii10036 semicolon 12 -KPX afii10036 guillemotleft 25 -KPX afii10036 guillemotright 25 -KPX afii10036 afii10017 -63 -KPX afii10036 afii10021 25 -KPX afii10036 afii10038 -27 -KPX afii10036 afii10047 7 -KPX afii10036 afii10065 -36 -KPX afii10036 afii10067 -36 -KPX afii10036 afii10070 -36 -KPX afii10036 afii10074 -24 -KPX afii10036 afii10076 -36 -KPX afii10036 afii10077 -36 -KPX afii10036 afii10078 -36 -KPX afii10036 afii10080 -36 -KPX afii10036 afii10081 -24 -KPX afii10036 afii10082 -25 -KPX afii10036 afii10083 -36 -KPX afii10036 afii10085 -24 -KPX afii10036 afii10087 -24 -KPX afii10036 afii10091 -24 -KPX afii10036 afii10093 -36 -KPX afii10036 afii10094 -36 -KPX afii10036 afii10096 -36 -KPX afii10036 afii10097 -24 -KPX afii10037 comma -51 -KPX afii10037 period -63 -KPX afii10037 colon 25 -KPX afii10037 guillemotleft 12 -KPX afii10037 guillemotright 25 -KPX afii10037 afii10017 -75 -KPX afii10037 afii10021 -40 -KPX afii10037 afii10029 -65 -KPX afii10037 afii10032 -27 -KPX afii10037 afii10038 -53 -KPX afii10037 afii10049 -53 -KPX afii10037 afii10066 -13 -KPX afii10037 afii10067 -47 -KPX afii10037 afii10068 -50 -KPX afii10037 afii10069 -13 -KPX afii10037 afii10070 -47 -KPX afii10037 afii10072 -50 -KPX afii10037 afii10073 -31 -KPX afii10037 afii10074 -15 -KPX afii10037 afii10075 -13 -KPX afii10037 afii10076 -25 -KPX afii10037 afii10077 -50 -KPX afii10037 afii10078 -50 -KPX afii10037 afii10079 -25 -KPX afii10037 afii10080 -47 -KPX afii10037 afii10081 -28 -KPX afii10037 afii10082 -40 -KPX afii10037 afii10083 -47 -KPX afii10037 afii10087 -22 -KPX afii10037 afii10088 -13 -KPX afii10037 afii10090 -13 -KPX afii10037 afii10091 -13 -KPX afii10037 afii10096 -28 -KPX afii10037 afii10097 -47 -KPX afii10038 afii10017 -50 -KPX afii10038 afii10021 -47 -KPX afii10038 afii10029 -13 -KPX afii10038 afii10030 -6 -KPX afii10038 afii10032 12 -KPX afii10038 afii10036 -13 -KPX afii10038 afii10037 -77 -KPX afii10038 afii10041 -34 -KPX afii10038 afii10049 -13 -KPX afii10038 afii10077 -15 -KPX afii10039 afii10032 -51 -KPX afii10039 afii10035 -38 -KPX afii10039 afii10038 -25 -KPX afii10039 afii10080 -20 -KPX afii10044 quoteright -121 -KPX afii10044 afii10049 -18 -KPX afii10046 quoteright -121 -KPX afii10046 afii10017 -34 -KPX afii10046 afii10021 -13 -KPX afii10046 afii10024 -28 -KPX afii10046 afii10025 -13 -KPX afii10046 afii10030 -20 -KPX afii10046 afii10032 -25 -KPX afii10046 afii10035 -20 -KPX afii10046 afii10036 -51 -KPX afii10046 afii10039 -40 -KPX afii10046 afii10041 -112 -KPX afii10046 afii10047 -38 -KPX afii10046 afii10049 -13 -KPX afii10047 afii10024 -13 -KPX afii10047 afii10025 25 -KPX afii10047 afii10029 -13 -KPX afii10047 afii10039 -38 -KPX afii10047 afii10049 -13 -KPX afii10047 afii10069 14 -KPX afii10047 afii10072 14 -KPX afii10047 afii10077 -7 -KPX afii10047 afii10078 -14 -KPX afii10047 afii10097 14 -KPX afii10048 afii10017 -56 -KPX afii10048 afii10021 -13 -KPX afii10048 afii10024 -25 -KPX afii10048 afii10029 -25 -KPX afii10048 afii10032 -13 -KPX afii10048 afii10036 -13 -KPX afii10048 afii10039 -51 -KPX afii10048 afii10041 -25 -KPX afii10048 afii10069 7 -KPX afii10048 afii10072 7 -KPX afii10065 afii10085 -13 -KPX afii10065 afii10089 -13 -KPX afii10066 afii10072 -13 -KPX afii10066 afii10073 -13 -KPX afii10066 afii10077 -25 -KPX afii10066 afii10078 -38 -KPX afii10066 afii10080 -13 -KPX afii10066 afii10083 -13 -KPX afii10066 afii10085 -13 -KPX afii10066 afii10086 -13 -KPX afii10066 afii10087 -20 -KPX afii10066 afii10089 -13 -KPX afii10066 afii10092 -25 -KPX afii10066 afii10095 -13 -KPX afii10066 afii10097 -25 -KPX afii10067 afii10065 -7 -KPX afii10067 afii10066 -13 -KPX afii10067 afii10069 -19 -KPX afii10067 afii10070 -12 -KPX afii10067 afii10073 -13 -KPX afii10067 afii10080 -13 -KPX afii10067 afii10083 -13 -KPX afii10067 afii10086 -7 -KPX afii10067 afii10092 -13 -KPX afii10067 afii10097 -13 -KPX afii10068 period -13 -KPX afii10068 afii10077 -13 -KPX afii10069 afii10085 -13 -KPX afii10069 afii10092 -13 -KPX afii10069 afii10095 -13 -KPX afii10070 afii10065 -13 -KPX afii10070 afii10066 -13 -KPX afii10070 afii10069 -25 -KPX afii10070 afii10072 -25 -KPX afii10070 afii10073 -13 -KPX afii10070 afii10077 -25 -KPX afii10070 afii10078 -25 -KPX afii10070 afii10080 -13 -KPX afii10070 afii10083 -13 -KPX afii10070 afii10084 -13 -KPX afii10070 afii10086 -25 -KPX afii10070 afii10087 -13 -KPX afii10070 afii10089 -13 -KPX afii10072 afii10065 -13 -KPX afii10072 afii10066 -13 -KPX afii10072 afii10070 -13 -KPX afii10072 afii10073 -13 -KPX afii10072 afii10080 -25 -KPX afii10072 afii10083 -25 -KPX afii10072 afii10089 -13 -KPX afii10072 afii10092 -13 -KPX afii10073 afii10069 -13 -KPX afii10073 afii10072 -13 -KPX afii10073 afii10073 -13 -KPX afii10073 afii10077 -25 -KPX afii10073 afii10078 -25 -KPX afii10073 afii10080 -13 -KPX afii10073 afii10083 -13 -KPX afii10073 afii10085 -7 -KPX afii10073 afii10089 -13 -KPX afii10073 afii10092 -13 -KPX afii10076 guillemotleft -27 -KPX afii10076 afii10065 -25 -KPX afii10076 afii10066 -25 -KPX afii10076 afii10070 -30 -KPX afii10076 afii10073 -13 -KPX afii10076 afii10077 20 -KPX afii10076 afii10080 -38 -KPX afii10076 afii10083 -38 -KPX afii10076 afii10084 -13 -KPX afii10076 afii10086 -25 -KPX afii10076 afii10089 -13 -KPX afii10076 afii10095 -13 -KPX afii10077 afii10085 -13 -KPX afii10077 afii10089 -13 -KPX afii10080 afii10069 -13 -KPX afii10080 afii10072 -25 -KPX afii10080 afii10073 -13 -KPX afii10080 afii10077 -25 -KPX afii10080 afii10078 -38 -KPX afii10080 afii10085 -20 -KPX afii10080 afii10087 -20 -KPX afii10080 afii10089 -26 -KPX afii10080 afii10095 -13 -KPX afii10080 afii10097 -13 -KPX afii10082 afii10069 -13 -KPX afii10082 afii10072 -25 -KPX afii10082 afii10073 -13 -KPX afii10082 afii10077 -38 -KPX afii10082 afii10078 -50 -KPX afii10082 afii10084 -13 -KPX afii10082 afii10085 -13 -KPX afii10082 afii10087 -20 -KPX afii10082 afii10089 -13 -KPX afii10082 afii10095 -13 -KPX afii10082 afii10097 -13 -KPX afii10083 afii10065 -26 -KPX afii10083 afii10066 -13 -KPX afii10083 afii10070 -13 -KPX afii10083 afii10072 -13 -KPX afii10083 afii10073 -13 -KPX afii10083 afii10080 -25 -KPX afii10083 afii10085 -7 -KPX afii10083 afii10086 -25 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -13 -KPX afii10083 afii10092 -13 -KPX afii10084 comma 25 -KPX afii10084 period 12 -KPX afii10084 afii10069 -13 -KPX afii10084 afii10070 -13 -KPX afii10084 afii10073 12 -KPX afii10084 afii10080 -13 -KPX afii10084 afii10085 -25 -KPX afii10084 afii10097 12 -KPX afii10085 comma -50 -KPX afii10085 period -63 -KPX afii10085 colon -13 -KPX afii10085 semicolon -38 -KPX afii10085 afii10069 -3 -KPX afii10085 afii10072 -25 -KPX afii10085 afii10073 -13 -KPX afii10085 afii10077 -27 -KPX afii10085 afii10078 -25 -KPX afii10085 afii10082 -13 -KPX afii10085 afii10087 -13 -KPX afii10085 afii10097 -15 -KPX afii10086 afii10077 -25 -KPX afii10086 afii10078 -38 -KPX afii10086 afii10085 -26 -KPX afii10086 afii10089 -13 -KPX afii10086 afii10097 -13 -KPX afii10087 afii10065 -13 -KPX afii10087 afii10066 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -25 -KPX afii10087 afii10083 -25 -KPX afii10087 afii10086 -25 -KPX afii10087 afii10089 -13 -KPX afii10087 afii10092 -25 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10085 12 -KPX afii10091 afii10085 31 -KPX afii10094 afii10089 -38 -KPX afii10095 afii10066 -13 -KPX afii10095 afii10069 -13 -KPX afii10095 afii10072 -25 -KPX afii10095 afii10073 -13 -KPX afii10095 afii10077 -25 -KPX afii10095 afii10078 -38 -KPX afii10095 afii10080 -13 -KPX afii10095 afii10083 -13 -KPX afii10095 afii10084 -13 -KPX afii10095 afii10086 -13 -KPX afii10095 afii10087 -20 -KPX afii10095 afii10097 -25 -KPX afii10096 afii10066 -13 -KPX afii10096 afii10072 -13 -KPX afii10096 afii10077 -25 -KPX afii10096 afii10078 -38 -KPX afii10096 afii10080 -13 -KPX afii10096 afii10083 -13 -KPX afii10096 afii10087 -28 -KPX afii10096 afii10089 -13 -KPX afii10096 afii10095 -13 -KPX afii10110 comma -50 -KPX afii10110 period -63 -KPX afii10110 colon -13 -KPX afii10110 semicolon -38 -KPX afii10110 guillemotleft 12 -KPX afii10110 guillemotright 12 -KPX afii10050 comma -25 -KPX afii10050 period -38 -KPX afii10050 colon 25 -KPX afii10050 guillemotleft 25 -KPX afii10050 guillemotright 25 -KPX pi omicron -14 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/timesbi.ttf b/thirdparty/html2ps_pdf/fonts/timesbi.ttf deleted file mode 100644 index ba7ba5f8d..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/timesbi.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/timesi.afm b/thirdparty/html2ps_pdf/fonts/timesi.afm deleted file mode 100644 index b3b5ab7fc..000000000 --- a/thirdparty/html2ps_pdf/fonts/timesi.afm +++ /dev/null @@ -1,1819 +0,0 @@ -StartFontMetrics 4.1 -FontName TimesNewRomanPS-ItalicMT -FullName Times New Roman Italic -Notice Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved -EncodingScheme FontSpecific -FamilyName Times New Roman -Weight Italic -Version Version 2.90 -Characters 940 -ItalicAngle -17.3 -Ascender 891 -Descender -216 -UnderlineThickness 49 -UnderlinePosition -109 -IsFixedPitch false -FontBBox -498 -307 1120 1023 -StartCharMetrics 975 -C 0 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 1 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 2 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 3 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 4 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 5 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 6 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 7 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 8 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 9 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 10 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 11 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 12 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 13 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 14 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 15 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 16 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 17 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 18 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 19 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 20 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 21 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 22 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 23 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 24 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 25 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 26 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 27 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 28 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 29 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 30 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 31 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 32 ; WX 250 ; N space ; B 75 -16 317 677 ; -C 33 ; WX 333 ; N exclam ; B 75 -16 317 677 ; -C 34 ; WX 420 ; N quotedbl ; B 144 392 452 677 ; -C 35 ; WX 500 ; N numbersign ; B 18 -14 482 677 ; -C 36 ; WX 500 ; N dollar ; B 42 -66 489 700 ; -C 37 ; WX 833 ; N percent ; B 70 -27 817 677 ; -C 38 ; WX 778 ; N ampersand ; B 48 -15 733 677 ; -C 39 ; WX 214 ; N quotesingle ; B 131 392 261 677 ; -C 40 ; WX 333 ; N parenleft ; B 68 -214 442 694 ; -C 41 ; WX 333 ; N parenright ; B -109 -214 265 694 ; -C 42 ; WX 500 ; N asterisk ; B 71 289 430 694 ; -C 43 ; WX 675 ; N plus ; B 18 69 544 595 ; -C 44 ; WX 250 ; N comma ; B -10 -125 133 88 ; -C 45 ; WX 333 ; N hyphen ; B 26 185 299 250 ; -C 46 ; WX 250 ; N period ; B 34 -11 133 87 ; -C 47 ; WX 278 ; N slash ; B -34 -15 381 694 ; -C 48 ; WX 500 ; N zero ; B 60 -12 494 676 ; -C 49 ; WX 500 ; N one ; B 61 0 417 676 ; -C 50 ; WX 500 ; N two ; B 16 0 469 676 ; -C 51 ; WX 500 ; N three ; B 33 -12 454 676 ; -C 52 ; WX 500 ; N four ; B 31 -12 487 662 ; -C 53 ; WX 500 ; N five ; B 36 -12 479 662 ; -C 54 ; WX 500 ; N six ; B 63 -12 525 676 ; -C 55 ; WX 500 ; N seven ; B 113 -12 523 662 ; -C 56 ; WX 500 ; N eight ; B 38 -12 489 676 ; -C 57 ; WX 500 ; N nine ; B 29 -12 491 676 ; -C 58 ; WX 333 ; N colon ; B 60 -9 262 442 ; -C 59 ; WX 333 ; N semicolon ; B 18 -125 264 441 ; -C 60 ; WX 675 ; N less ; B 19 91 544 572 ; -C 61 ; WX 675 ; N equal ; B 18 232 545 431 ; -C 62 ; WX 675 ; N greater ; B 18 91 543 572 ; -C 63 ; WX 500 ; N question ; B 97 -15 458 677 ; -C 64 ; WX 920 ; N at ; B 47 -216 896 694 ; -C 65 ; WX 611 ; N A ; B -49 0 547 677 ; -C 66 ; WX 611 ; N B ; B -23 0 590 662 ; -C 67 ; WX 667 ; N C ; B 67 -15 704 677 ; -C 68 ; WX 722 ; N D ; B -30 0 705 662 ; -C 69 ; WX 611 ; N E ; B -22 0 632 662 ; -C 70 ; WX 611 ; N F ; B -24 0 668 662 ; -C 71 ; WX 722 ; N G ; B 69 -16 725 677 ; -C 72 ; WX 722 ; N H ; B -26 0 811 662 ; -C 73 ; WX 333 ; N I ; B -31 0 410 662 ; -C 74 ; WX 444 ; N J ; B -34 -15 547 662 ; -C 75 ; WX 667 ; N K ; B -27 0 729 662 ; -C 76 ; WX 556 ; N L ; B -32 0 523 662 ; -C 77 ; WX 833 ; N M ; B -33 0 924 662 ; -C 78 ; WX 667 ; N N ; B -28 -15 762 662 ; -C 79 ; WX 722 ; N O ; B 60 -15 718 677 ; -C 80 ; WX 611 ; N P ; B -24 0 621 662 ; -C 81 ; WX 722 ; N Q ; B 47 -211 717 677 ; -C 82 ; WX 611 ; N R ; B -23 0 579 662 ; -C 83 ; WX 500 ; N S ; B 7 -15 542 677 ; -C 84 ; WX 556 ; N T ; B 70 0 649 662 ; -C 85 ; WX 722 ; N U ; B 106 -15 814 662 ; -C 86 ; WX 611 ; N V ; B 125 -15 723 662 ; -C 87 ; WX 833 ; N W ; B 122 -15 944 662 ; -C 88 ; WX 611 ; N X ; B -67 0 741 662 ; -C 89 ; WX 556 ; N Y ; B 90 0 667 662 ; -C 90 ; WX 556 ; N Z ; B -2 0 611 662 ; -C 91 ; WX 389 ; N bracketleft ; B 6 -199 471 677 ; -C 92 ; WX 278 ; N backslash ; B 106 -15 231 694 ; -C 93 ; WX 389 ; N bracketright ; B -100 -199 365 677 ; -C 94 ; WX 422 ; N asciicircum ; B 27 328 460 677 ; -C 95 ; WX 500 ; N underscore ; B -8 -216 509 -175 ; -C 96 ; WX 333 ; N grave ; B 176 517 337 685 ; -C 97 ; WX 500 ; N a ; B 23 -12 469 442 ; -C 98 ; WX 500 ; N b ; B 26 -12 469 694 ; -C 99 ; WX 444 ; N c ; B 29 -12 428 442 ; -C 100 ; WX 500 ; N d ; B 19 -12 541 694 ; -C 101 ; WX 444 ; N e ; B 31 -12 430 442 ; -C 102 ; WX 278 ; N f ; B -172 -216 473 694 ; -C 103 ; WX 500 ; N g ; B -27 -216 521 442 ; -C 104 ; WX 500 ; N h ; B 20 -12 459 694 ; -C 105 ; WX 278 ; N i ; B 43 -12 272 636 ; -C 106 ; WX 278 ; N j ; B -170 -216 280 635 ; -C 107 ; WX 444 ; N k ; B 12 -12 490 694 ; -C 108 ; WX 278 ; N l ; B 39 -12 297 694 ; -C 109 ; WX 722 ; N m ; B 17 -12 679 442 ; -C 110 ; WX 500 ; N n ; B 19 -12 459 442 ; -C 111 ; WX 500 ; N o ; B 29 -12 462 442 ; -C 112 ; WX 500 ; N p ; B -110 -214 473 442 ; -C 113 ; WX 500 ; N q ; B 22 -214 474 442 ; -C 114 ; WX 389 ; N r ; B 19 0 403 442 ; -C 115 ; WX 389 ; N s ; B -9 -12 363 442 ; -C 116 ; WX 278 ; N t ; B 42 -12 300 563 ; -C 117 ; WX 500 ; N u ; B 29 -12 471 442 ; -C 118 ; WX 444 ; N v ; B 21 -12 442 442 ; -C 119 ; WX 667 ; N w ; B 17 -12 662 442 ; -C 120 ; WX 444 ; N x ; B -33 -12 439 442 ; -C 121 ; WX 444 ; N y ; B -78 -216 440 442 ; -C 122 ; WX 389 ; N z ; B -30 0 392 430 ; -C 123 ; WX 400 ; N braceleft ; B 109 -216 515 694 ; -C 124 ; WX 275 ; N bar ; B 79 -216 119 694 ; -C 125 ; WX 400 ; N braceright ; B -34 -216 372 694 ; -C 126 ; WX 541 ; N asciitilde ; B 21 194 542 331 ; -C 127 ; WX 778 ; N .notdef ; B 125 0 625 625 ; -C 128 ; WX 500 ; N Euro ; B 8 -12 586 676 ; -C 129 ; WX 569 ; N afii10052 ; B -36 0 664 871 ; -C 130 ; WX 333 ; N quotesinglbase ; B 32 -125 175 88 ; -C 131 ; WX 500 ; N florin ; B 1 -210 488 677 ; -C 132 ; WX 556 ; N quotedblbase ; B 15 -128 381 88 ; -C 133 ; WX 889 ; N ellipsis ; B 130 -14 755 95 ; -C 134 ; WX 500 ; N dagger ; B 108 -203 521 677 ; -C 135 ; WX 500 ; N daggerdbl ; B -14 -216 504 694 ; -C 136 ; WX 333 ; N circumflex ; B 124 523 386 677 ; -C 137 ; WX 1000 ; N perthousand ; B 62 -26 986 677 ; -C 138 ; WX 500 ; N Scaron ; B 7 -15 546 863 ; -C 139 ; WX 333 ; N guilsinglleft ; B 57 -15 312 449 ; -C 140 ; WX 944 ; N OE ; B 22 -7 969 668 ; -C 141 ; WX 664 ; N afii10061 ; B -28 0 723 880 ; -C 142 ; WX 556 ; N Zcaron ; B -2 0 611 863 ; -C 143 ; WX 722 ; N afii10145 ; B -25 -196 812 662 ; -C 144 ; WX 556 ; N quotedblbase ; B 15 -128 381 88 ; -C 145 ; WX 333 ; N quoteleft ; B 212 464 355 677 ; -C 146 ; WX 333 ; N quoteright ; B 196 464 339 677 ; -C 147 ; WX 556 ; N quotedblleft ; B 192 461 559 677 ; -C 148 ; WX 556 ; N quotedblright ; B 182 461 549 678 ; -C 149 ; WX 350 ; N bullet ; B 55 208 300 453 ; -C 150 ; WX 500 ; N endash ; B -9 221 508 257 ; -C 151 ; WX 889 ; N emdash ; B -9 221 898 257 ; -C 152 ; WX 333 ; N tilde ; B 97 538 409 667 ; -C 153 ; WX 980 ; N trademark ; B 15 268 963 662 ; -C 154 ; WX 389 ; N scaron ; B -9 -12 412 677 ; -C 155 ; WX 333 ; N guilsinglright ; B 22 -15 277 449 ; -C 156 ; WX 667 ; N oe ; B 26 -12 648 442 ; -C 157 ; WX 468 ; N afii10109 ; B 18 0 465 685 ; -C 158 ; WX 389 ; N zcaron ; B -30 0 412 677 ; -C 159 ; WX 556 ; N Ydieresis ; B 90 0 667 836 ; -C 160 ; WX 250 ; N space ; B 75 -16 317 677 ; -C 161 ; WX 389 ; N exclamdown ; B 70 -216 313 478 ; -C 162 ; WX 500 ; N cent ; B 56 -184 453 636 ; -C 163 ; WX 500 ; N sterling ; B 24 -15 524 676 ; -C 164 ; WX 500 ; N currency ; B 13 97 486 567 ; -C 165 ; WX 500 ; N yen ; B -7 0 623 662 ; -C 166 ; WX 275 ; N brokenbar ; B 79 -216 119 694 ; -C 167 ; WX 500 ; N section ; B -2 -203 510 683 ; -C 168 ; WX 333 ; N dieresis ; B 131 549 409 654 ; -C 169 ; WX 760 ; N copyright ; B 34 -15 727 677 ; -C 170 ; WX 276 ; N ordfeminine ; B 87 405 376 677 ; -C 171 ; WX 500 ; N guillemotleft ; B 41 -15 482 449 ; -C 172 ; WX 675 ; N logicalnot ; B 18 230 545 429 ; -C 173 ; WX 333 ; N hyphen ; B 26 185 299 250 ; -C 174 ; WX 760 ; N registered ; B 34 -15 727 677 ; -C 175 ; WX 500 ; N overscore ; B -8 714 509 755 ; -C 176 ; WX 400 ; N degree ; B 48 376 348 677 ; -C 177 ; WX 549 ; N plusminus ; B 11 69 538 595 ; -C 178 ; WX 300 ; N twosuperior ; B 54 323 333 676 ; -C 179 ; WX 300 ; N threesuperior ; B 64 317 324 676 ; -C 180 ; WX 333 ; N acute ; B 200 517 360 685 ; -C 181 ; WX 576 ; N mu1 ; B -22 -215 519 430 ; -C 182 ; WX 523 ; N paragraph ; B -7 -216 455 662 ; -C 183 ; WX 250 ; N periodcentered ; B 71 277 179 385 ; -C 184 ; WX 333 ; N cedilla ; B -18 -181 165 15 ; -C 185 ; WX 300 ; N onesuperior ; B 80 323 304 676 ; -C 186 ; WX 310 ; N ordmasculine ; B 111 405 393 677 ; -C 187 ; WX 500 ; N guillemotright ; B 18 -15 459 449 ; -C 188 ; WX 750 ; N onequarter ; B 79 -27 700 676 ; -C 189 ; WX 750 ; N onehalf ; B 79 -27 688 676 ; -C 190 ; WX 750 ; N threequarters ; B 63 -27 700 676 ; -C 191 ; WX 500 ; N questiondown ; B 36 -216 397 477 ; -C 192 ; WX 611 ; N Agrave ; B -49 0 583 880 ; -C 193 ; WX 611 ; N Aacute ; B -49 0 618 880 ; -C 194 ; WX 611 ; N Acircumflex ; B -49 0 621 863 ; -C 195 ; WX 611 ; N Atilde ; B -49 0 668 847 ; -C 196 ; WX 611 ; N Adieresis ; B -49 0 669 836 ; -C 197 ; WX 611 ; N Aring ; B -49 0 606 840 ; -C 198 ; WX 889 ; N AE ; B -53 0 909 662 ; -C 199 ; WX 667 ; N Ccedilla ; B 67 -181 704 677 ; -C 200 ; WX 611 ; N Egrave ; B -22 0 632 880 ; -C 201 ; WX 611 ; N Eacute ; B -22 0 632 880 ; -C 202 ; WX 611 ; N Ecircumflex ; B -22 0 632 863 ; -C 203 ; WX 611 ; N Edieresis ; B -22 0 632 836 ; -C 204 ; WX 333 ; N Igrave ; B -31 0 410 880 ; -C 205 ; WX 333 ; N Iacute ; B -31 0 410 880 ; -C 206 ; WX 333 ; N Icircumflex ; B -31 0 421 863 ; -C 207 ; WX 333 ; N Idieresis ; B -31 0 446 836 ; -C 208 ; WX 722 ; N Eth ; B -23 0 711 662 ; -C 209 ; WX 667 ; N Ntilde ; B -28 -15 762 847 ; -C 210 ; WX 722 ; N Ograve ; B 60 -15 718 880 ; -C 211 ; WX 722 ; N Oacute ; B 60 -15 718 880 ; -C 212 ; WX 722 ; N Ocircumflex ; B 60 -15 718 863 ; -C 213 ; WX 722 ; N Otilde ; B 60 -15 718 847 ; -C 214 ; WX 722 ; N Odieresis ; B 60 -15 718 836 ; -C 215 ; WX 675 ; N multiply ; B 81 132 481 533 ; -C 216 ; WX 722 ; N Oslash ; B 35 -35 737 689 ; -C 217 ; WX 722 ; N Ugrave ; B 106 -15 814 880 ; -C 218 ; WX 722 ; N Uacute ; B 106 -15 814 880 ; -C 219 ; WX 722 ; N Ucircumflex ; B 106 -15 814 863 ; -C 220 ; WX 722 ; N Udieresis ; B 106 -15 814 836 ; -C 221 ; WX 556 ; N Yacute ; B 90 0 667 880 ; -C 222 ; WX 611 ; N Thorn ; B -24 0 605 662 ; -C 223 ; WX 500 ; N germandbls ; B -161 -216 498 694 ; -C 224 ; WX 500 ; N agrave ; B 23 -12 469 685 ; -C 225 ; WX 500 ; N aacute ; B 23 -12 469 685 ; -C 226 ; WX 500 ; N acircumflex ; B 23 -12 469 677 ; -C 227 ; WX 500 ; N atilde ; B 23 -12 493 667 ; -C 228 ; WX 500 ; N adieresis ; B 23 -12 494 654 ; -C 229 ; WX 500 ; N aring ; B 23 -12 469 694 ; -C 230 ; WX 667 ; N ae ; B 22 -12 652 442 ; -C 231 ; WX 444 ; N ccedilla ; B 29 -181 428 442 ; -C 232 ; WX 444 ; N egrave ; B 31 -12 430 685 ; -C 233 ; WX 444 ; N eacute ; B 31 -12 430 685 ; -C 234 ; WX 444 ; N ecircumflex ; B 31 -12 443 677 ; -C 235 ; WX 444 ; N edieresis ; B 31 -12 468 654 ; -C 236 ; WX 278 ; N igrave ; B 43 -12 276 685 ; -C 237 ; WX 278 ; N iacute ; B 43 -12 334 685 ; -C 238 ; WX 278 ; N icircumflex ; B 43 -12 342 677 ; -C 239 ; WX 278 ; N idieresis ; B 43 -12 367 654 ; -C 240 ; WX 500 ; N eth ; B 27 -12 481 692 ; -C 241 ; WX 500 ; N ntilde ; B 19 -12 493 667 ; -C 242 ; WX 500 ; N ograve ; B 29 -12 462 685 ; -C 243 ; WX 500 ; N oacute ; B 29 -12 462 685 ; -C 244 ; WX 500 ; N ocircumflex ; B 29 -12 469 677 ; -C 245 ; WX 500 ; N otilde ; B 29 -12 493 667 ; -C 246 ; WX 500 ; N odieresis ; B 29 -12 494 654 ; -C 247 ; WX 549 ; N divide ; B 11 136 538 525 ; -C 248 ; WX 500 ; N oslash ; B 2 -36 489 471 ; -C 249 ; WX 500 ; N ugrave ; B 29 -12 471 685 ; -C 250 ; WX 500 ; N uacute ; B 29 -12 471 685 ; -C 251 ; WX 500 ; N ucircumflex ; B 29 -12 471 677 ; -C 252 ; WX 500 ; N udieresis ; B 29 -12 482 654 ; -C 253 ; WX 444 ; N yacute ; B -78 -216 440 685 ; -C 254 ; WX 500 ; N thorn ; B -110 -216 473 694 ; -C 255 ; WX 444 ; N ydieresis ; B -78 -216 450 654 ; -C -1 ; WX 0 ; N .null ; B 75 -16 317 677 ; -C -1 ; WX 250 ; N nonmarkingreturn ; B 75 -16 317 677 ; -C -1 ; WX 549 ; N notequal ; B 12 -132 537 660 ; -C -1 ; WX 713 ; N infinity ; B 24 52 685 461 ; -C -1 ; WX 549 ; N lessequal ; B 12 -80 537 605 ; -C -1 ; WX 549 ; N greaterequal ; B 12 -80 537 605 ; -C -1 ; WX 494 ; N partialdiff ; B 29 -15 484 694 ; -C -1 ; WX 713 ; N summation ; B 21 -216 693 693 ; -C -1 ; WX 823 ; N product ; B 22 -216 801 693 ; -C -1 ; WX 549 ; N pi1 ; B 35 -12 520 430 ; -C -1 ; WX 274 ; N integral ; B -1 -107 272 910 ; -C -1 ; WX 768 ; N Ohm ; B 35 0 734 675 ; -C -1 ; WX 549 ; N radical ; B 42 -38 550 913 ; -C -1 ; WX 549 ; N approxequal ; B 15 133 535 508 ; -C -1 ; WX 612 ; N increment ; B 14 0 600 677 ; -C -1 ; WX 494 ; N lozenge ; B 23 0 472 694 ; -C -1 ; WX 167 ; N fraction ; B -167 -27 333 676 ; -C -1 ; WX 500 ; N fi ; B -189 -216 500 694 ; -C -1 ; WX 500 ; N fl ; B -189 -216 550 694 ; -C -1 ; WX 278 ; N dotlessi ; B 43 -12 230 442 ; -C -1 ; WX 333 ; N macron ; B 120 596 431 658 ; -C -1 ; WX 333 ; N breve ; B 144 543 421 687 ; -C -1 ; WX 333 ; N dotaccent ; B 219 550 324 654 ; -C -1 ; WX 333 ; N ring ; B 186 509 371 694 ; -C -1 ; WX 333 ; N hungarumlaut ; B 148 517 451 685 ; -C -1 ; WX 333 ; N ogonek ; B 38 -185 262 0 ; -C -1 ; WX 333 ; N caron ; B 165 523 427 677 ; -C -1 ; WX 556 ; N Lslash ; B -28 0 523 662 ; -C -1 ; WX 278 ; N lslash ; B 25 -12 300 694 ; -C -1 ; WX 675 ; N minus ; B 18 313 544 353 ; -C -1 ; WX 500 ; N franc ; B -24 0 554 662 ; -C -1 ; WX 722 ; N Gbreve ; B 69 -16 725 863 ; -C -1 ; WX 500 ; N gbreve ; B -27 -216 521 687 ; -C -1 ; WX 333 ; N Idot ; B -31 0 410 840 ; -C -1 ; WX 500 ; N Scedilla ; B 7 -181 542 677 ; -C -1 ; WX 389 ; N scedilla ; B -9 -181 363 442 ; -C -1 ; WX 667 ; N Cacute ; B 67 -15 704 880 ; -C -1 ; WX 444 ; N cacute ; B 29 -12 429 685 ; -C -1 ; WX 667 ; N Ccaron ; B 67 -15 704 863 ; -C -1 ; WX 444 ; N ccaron ; B 29 -12 513 677 ; -C -1 ; WX 500 ; N dmacron ; B 19 -12 587 694 ; -C -1 ; WX 333 ; N middot ; B 241 291 344 393 ; -C -1 ; WX 611 ; N Abreve ; B -49 0 689 864 ; -C -1 ; WX 500 ; N abreve ; B 23 -12 480 687 ; -C -1 ; WX 611 ; N Aogonek ; B -49 -186 551 677 ; -C -1 ; WX 500 ; N aogonek ; B 23 -185 489 442 ; -C -1 ; WX 722 ; N Dcaron ; B -30 0 705 863 ; -C -1 ; WX 608 ; N dcaron ; B 19 -12 696 694 ; -C -1 ; WX 722 ; N Dslash ; B -23 0 711 662 ; -C -1 ; WX 611 ; N Eogonek ; B -22 -185 632 662 ; -C -1 ; WX 444 ; N eogonek ; B 31 -185 430 442 ; -C -1 ; WX 611 ; N Ecaron ; B -22 0 632 863 ; -C -1 ; WX 444 ; N ecaron ; B 31 -12 508 677 ; -C -1 ; WX 556 ; N Lacute ; B -32 0 523 880 ; -C -1 ; WX 278 ; N lacute ; B 39 -12 368 880 ; -C -1 ; WX 556 ; N Lcaron ; B -32 0 601 677 ; -C -1 ; WX 364 ; N lcaron ; B 38 -12 452 694 ; -C -1 ; WX 556 ; N Ldot ; B -32 0 523 662 ; -C -1 ; WX 323 ; N ldot ; B 39 -12 379 694 ; -C -1 ; WX 667 ; N Nacute ; B -28 -15 762 880 ; -C -1 ; WX 500 ; N nacute ; B 19 -12 459 685 ; -C -1 ; WX 667 ; N Ncaron ; B -28 -15 762 863 ; -C -1 ; WX 500 ; N ncaron ; B 19 -12 459 677 ; -C -1 ; WX 722 ; N Odblacute ; B 60 -15 720 880 ; -C -1 ; WX 500 ; N odblacute ; B 29 -12 542 685 ; -C -1 ; WX 611 ; N Racute ; B -23 0 579 880 ; -C -1 ; WX 389 ; N racute ; B 19 0 403 685 ; -C -1 ; WX 611 ; N Rcaron ; B -23 0 579 863 ; -C -1 ; WX 389 ; N rcaron ; B 19 0 429 677 ; -C -1 ; WX 500 ; N Sacute ; B 7 -15 542 880 ; -C -1 ; WX 389 ; N sacute ; B -9 -12 377 685 ; -C -1 ; WX 556 ; N Tcedilla ; B 70 -217 649 662 ; -C -1 ; WX 278 ; N tcedilla ; B -17 -217 300 563 ; -C -1 ; WX 556 ; N Tcaron ; B 70 0 649 863 ; -C -1 ; WX 364 ; N tcaron ; B 42 -12 452 694 ; -C -1 ; WX 722 ; N Uring ; B 106 -15 814 883 ; -C -1 ; WX 500 ; N uring ; B 29 -12 471 694 ; -C -1 ; WX 722 ; N Udblacute ; B 106 -15 814 880 ; -C -1 ; WX 500 ; N udblacute ; B 29 -12 522 685 ; -C -1 ; WX 556 ; N Zacute ; B -2 0 611 880 ; -C -1 ; WX 389 ; N zacute ; B -30 0 392 685 ; -C -1 ; WX 556 ; N Zdot ; B -2 0 611 835 ; -C -1 ; WX 389 ; N zdot ; B -30 0 392 654 ; -C -1 ; WX 569 ; N Gamma ; B -36 0 664 662 ; -C -1 ; WX 722 ; N Theta ; B 61 -15 719 677 ; -C -1 ; WX 761 ; N Phi ; B 77 0 748 662 ; -C -1 ; WX 525 ; N alpha ; B 29 -12 501 442 ; -C -1 ; WX 465 ; N delta ; B 23 -12 462 694 ; -C -1 ; WX 394 ; N epsilon ; B 11 -12 391 442 ; -C -1 ; WX 493 ; N sigma ; B 26 -12 527 430 ; -C -1 ; WX 358 ; N tau ; B 25 -12 390 430 ; -C -1 ; WX 553 ; N phi ; B 36 -214 513 442 ; -C -1 ; WX 500 ; N underscoredbl ; B -8 -216 509 -98 ; -C -1 ; WX 573 ; N exclamdbl ; B 75 -16 557 677 ; -C -1 ; WX 315 ; N nsuperior ; B 10 271 292 545 ; -C -1 ; WX 990 ; N peseta ; B 23 -12 979 662 ; -C -1 ; WX 1000 ; N arrowleft ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowup ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowright ; B 39 77 961 428 ; -C -1 ; WX 500 ; N arrowdown ; B 75 -209 426 654 ; -C -1 ; WX 1000 ; N arrowboth ; B 39 77 961 429 ; -C -1 ; WX 500 ; N arrowupdn ; B 74 -208 425 714 ; -C -1 ; WX 500 ; N arrowupdnbse ; B 74 -303 425 714 ; -C -1 ; WX 979 ; N orthogonal ; B 177 0 802 625 ; -C -1 ; WX 722 ; N intersection ; B 94 0 625 676 ; -C -1 ; WX 675 ; N equivalence ; B 19 152 545 511 ; -C -1 ; WX 600 ; N house ; B 75 0 525 563 ; -C -1 ; WX 675 ; N revlogicalnot ; B 19 230 546 429 ; -C -1 ; WX 604 ; N integraltp ; B 267 -251 477 848 ; -C -1 ; WX 604 ; N integralbt ; B 127 -251 337 848 ; -C -1 ; WX 708 ; N SF100000 ; B -11 261 719 346 ; -C -1 ; WX 616 ; N SF110000 ; B 219 -303 304 910 ; -C -1 ; WX 708 ; N SF010000 ; B 312 -303 720 346 ; -C -1 ; WX 708 ; N SF030000 ; B -11 -303 396 346 ; -C -1 ; WX 708 ; N SF020000 ; B 312 261 720 910 ; -C -1 ; WX 708 ; N SF040000 ; B -11 261 396 910 ; -C -1 ; WX 708 ; N SF080000 ; B 312 -303 720 910 ; -C -1 ; WX 708 ; N SF090000 ; B -11 -303 396 910 ; -C -1 ; WX 708 ; N SF060000 ; B -11 -303 719 346 ; -C -1 ; WX 708 ; N SF070000 ; B -11 261 719 910 ; -C -1 ; WX 708 ; N SF050000 ; B -11 -303 719 910 ; -C -1 ; WX 708 ; N SF430000 ; B 0 168 730 439 ; -C -1 ; WX 708 ; N SF240000 ; B 0 -303 271 910 ; -C -1 ; WX 708 ; N SF510000 ; B 0 -303 408 439 ; -C -1 ; WX 708 ; N SF520000 ; B 0 -303 501 346 ; -C -1 ; WX 708 ; N SF390000 ; B 0 -303 500 439 ; -C -1 ; WX 708 ; N SF220000 ; B 0 -303 408 439 ; -C -1 ; WX 708 ; N SF210000 ; B 0 -303 500 346 ; -C -1 ; WX 708 ; N SF250000 ; B 0 -303 500 439 ; -C -1 ; WX 708 ; N SF500000 ; B 0 168 408 910 ; -C -1 ; WX 708 ; N SF490000 ; B 0 261 501 910 ; -C -1 ; WX 708 ; N SF380000 ; B 0 168 500 910 ; -C -1 ; WX 708 ; N SF280000 ; B 0 168 408 910 ; -C -1 ; WX 708 ; N SF270000 ; B 0 261 500 910 ; -C -1 ; WX 708 ; N SF260000 ; B 0 168 500 910 ; -C -1 ; WX 708 ; N SF360000 ; B 0 -303 408 910 ; -C -1 ; WX 708 ; N SF370000 ; B 0 -303 501 910 ; -C -1 ; WX 708 ; N SF420000 ; B 0 -303 501 910 ; -C -1 ; WX 708 ; N SF190000 ; B 0 -303 408 910 ; -C -1 ; WX 708 ; N SF200000 ; B 0 -303 500 910 ; -C -1 ; WX 708 ; N SF230000 ; B 0 -303 500 910 ; -C -1 ; WX 708 ; N SF470000 ; B 0 -303 730 439 ; -C -1 ; WX 708 ; N SF480000 ; B 0 -303 730 346 ; -C -1 ; WX 708 ; N SF410000 ; B 0 -303 730 439 ; -C -1 ; WX 708 ; N SF450000 ; B 0 168 730 910 ; -C -1 ; WX 708 ; N SF460000 ; B 0 261 730 910 ; -C -1 ; WX 708 ; N SF400000 ; B 0 168 730 910 ; -C -1 ; WX 708 ; N SF540000 ; B 0 -303 730 910 ; -C -1 ; WX 708 ; N SF530000 ; B 0 -303 730 910 ; -C -1 ; WX 708 ; N SF440000 ; B 0 -303 730 910 ; -C -1 ; WX 708 ; N upblock ; B 0 303 730 910 ; -C -1 ; WX 708 ; N dnblock ; B 0 -303 730 303 ; -C -1 ; WX 708 ; N block ; B 0 -303 730 910 ; -C -1 ; WX 708 ; N lfblock ; B 0 -303 365 910 ; -C -1 ; WX 708 ; N rtblock ; B 0 -303 365 910 ; -C -1 ; WX 708 ; N ltshade ; B 50 -246 719 910 ; -C -1 ; WX 708 ; N shade ; B -11 -246 719 910 ; -C -1 ; WX 729 ; N dkshade ; B 0 -307 729 910 ; -C -1 ; WX 604 ; N filledbox ; B 0 0 461 461 ; -C -1 ; WX 1000 ; N filledrect ; B 0 155 1000 343 ; -C -1 ; WX 990 ; N triagup ; B 0 0 693 693 ; -C -1 ; WX 990 ; N triagrt ; B 0 -15 708 692 ; -C -1 ; WX 990 ; N triagdn ; B 0 -15 693 678 ; -C -1 ; WX 990 ; N triaglf ; B 141 -15 849 692 ; -C -1 ; WX 604 ; N circle ; B 0 67 430 497 ; -C -1 ; WX 604 ; N invbullet ; B 0 0 479 479 ; -C -1 ; WX 604 ; N invcircle ; B 0 0 564 564 ; -C -1 ; WX 1021 ; N smileface ; B 199 -58 822 564 ; -C -1 ; WX 1052 ; N invsmileface ; B 215 -58 838 564 ; -C -1 ; WX 917 ; N sun ; B 0 -109 901 792 ; -C -1 ; WX 750 ; N female ; B 119 -214 630 736 ; -C -1 ; WX 750 ; N male ; B 54 -128 691 791 ; -C -1 ; WX 531 ; N spade ; B 0 0 475 601 ; -C -1 ; WX 656 ; N club ; B 27 0 629 601 ; -C -1 ; WX 594 ; N heart ; B 0 -12 532 601 ; -C -1 ; WX 510 ; N diamond ; B 0 -12 448 601 ; -C -1 ; WX 500 ; N musicalnote ; B 18 -18 482 666 ; -C -1 ; WX 750 ; N musicalnotedbl ; B 42 -63 649 742 ; -C -1 ; WX 750 ; N IJ ; B -31 -15 828 662 ; -C -1 ; WX 500 ; N ij ; B 37 -216 501 636 ; -C -1 ; WX 577 ; N napostrophe ; B 69 -12 538 677 ; -C -1 ; WX 219 ; N minute ; B 131 392 261 677 ; -C -1 ; WX 417 ; N second ; B 144 392 452 677 ; -C -1 ; WX 833 ; N afii61248 ; B 53 -26 804 677 ; -C -1 ; WX 417 ; N afii61289 ; B 15 -12 432 677 ; -C -1 ; WX 604 ; N H22073 ; B 71 0 532 461 ; -C -1 ; WX 354 ; N H18543 ; B 64 217 290 444 ; -C -1 ; WX 354 ; N H18551 ; B 64 217 290 444 ; -C -1 ; WX 604 ; N H18533 ; B 87 67 517 497 ; -C -1 ; WX 354 ; N openbullet ; B 55 208 300 453 ; -C -1 ; WX 611 ; N Amacron ; B -49 0 673 799 ; -C -1 ; WX 500 ; N amacron ; B 23 -12 502 614 ; -C -1 ; WX 667 ; N Ccircumflex ; B 67 -15 704 863 ; -C -1 ; WX 444 ; N ccircumflex ; B 29 -12 441 677 ; -C -1 ; WX 667 ; N Cdot ; B 67 -15 704 840 ; -C -1 ; WX 444 ; N cdot ; B 29 -12 428 608 ; -C -1 ; WX 611 ; N Emacron ; B -22 0 632 799 ; -C -1 ; WX 444 ; N emacron ; B 31 -12 473 614 ; -C -1 ; WX 611 ; N Ebreve ; B -22 0 632 873 ; -C -1 ; WX 444 ; N ebreve ; B 31 -12 491 687 ; -C -1 ; WX 611 ; N Edot ; B -22 0 632 840 ; -C -1 ; WX 444 ; N edot ; B 31 -12 430 654 ; -C -1 ; WX 722 ; N Gcircumflex ; B 69 -16 725 863 ; -C -1 ; WX 500 ; N gcircumflex ; B -27 -216 521 677 ; -C -1 ; WX 722 ; N Gdot ; B 69 -16 725 840 ; -C -1 ; WX 500 ; N gdot ; B -27 -216 521 654 ; -C -1 ; WX 722 ; N Gcedilla ; B 69 -181 725 677 ; -C -1 ; WX 500 ; N gcedilla ; B -27 -216 521 720 ; -C -1 ; WX 722 ; N Hcircumflex ; B -26 0 811 863 ; -C -1 ; WX 500 ; N hcircumflex ; B 20 -12 523 863 ; -C -1 ; WX 722 ; N Hbar ; B -26 0 811 662 ; -C -1 ; WX 500 ; N hbar ; B 20 -12 459 694 ; -C -1 ; WX 333 ; N Itilde ; B -31 0 468 853 ; -C -1 ; WX 278 ; N itilde ; B 43 -12 386 667 ; -C -1 ; WX 333 ; N Imacron ; B -31 0 465 799 ; -C -1 ; WX 278 ; N imacron ; B 43 -12 371 614 ; -C -1 ; WX 333 ; N Ibreve ; B -31 0 484 873 ; -C -1 ; WX 278 ; N ibreve ; B 43 -12 386 687 ; -C -1 ; WX 333 ; N Iogonek ; B -31 -185 410 662 ; -C -1 ; WX 278 ; N iogonek ; B 25 -185 272 636 ; -C -1 ; WX 444 ; N Jcircumflex ; B -34 -15 566 863 ; -C -1 ; WX 278 ; N jcircumflex ; B -172 -216 333 677 ; -C -1 ; WX 667 ; N Kcedilla ; B -27 -181 729 662 ; -C -1 ; WX 444 ; N kcedilla ; B 12 -181 490 694 ; -C -1 ; WX 444 ; N kgreenlandic ; B 10 -12 488 442 ; -C -1 ; WX 556 ; N Lcedilla ; B -32 -181 523 662 ; -C -1 ; WX 278 ; N lcedilla ; B -41 -181 297 694 ; -C -1 ; WX 667 ; N Ncedilla ; B -28 -181 762 662 ; -C -1 ; WX 500 ; N ncedilla ; B 19 -181 459 442 ; -C -1 ; WX 696 ; N Eng ; B -31 -15 690 677 ; -C -1 ; WX 482 ; N eng ; B 19 -216 445 442 ; -C -1 ; WX 722 ; N Omacron ; B 60 -15 718 799 ; -C -1 ; WX 500 ; N omacron ; B 29 -12 499 614 ; -C -1 ; WX 722 ; N Obreve ; B 60 -15 718 873 ; -C -1 ; WX 500 ; N obreve ; B 29 -12 510 687 ; -C -1 ; WX 611 ; N Rcedilla ; B -23 -181 579 662 ; -C -1 ; WX 389 ; N rcedilla ; B 11 -181 403 442 ; -C -1 ; WX 500 ; N Scircumflex ; B 7 -15 542 863 ; -C -1 ; WX 389 ; N scircumflex ; B -9 -12 401 677 ; -C -1 ; WX 556 ; N Tbar ; B 72 0 651 662 ; -C -1 ; WX 278 ; N tbar ; B 24 -12 298 563 ; -C -1 ; WX 722 ; N Utilde ; B 106 -15 814 853 ; -C -1 ; WX 500 ; N utilde ; B 29 -12 492 667 ; -C -1 ; WX 722 ; N Umacron ; B 106 -15 814 799 ; -C -1 ; WX 500 ; N umacron ; B 29 -12 491 614 ; -C -1 ; WX 722 ; N Ubreve ; B 106 -15 814 873 ; -C -1 ; WX 500 ; N ubreve ; B 29 -12 497 687 ; -C -1 ; WX 722 ; N Uogonek ; B 106 -185 814 662 ; -C -1 ; WX 500 ; N uogonek ; B 29 -185 528 442 ; -C -1 ; WX 833 ; N Wcircumflex ; B 122 -15 944 863 ; -C -1 ; WX 667 ; N wcircumflex ; B 17 -12 662 677 ; -C -1 ; WX 556 ; N Ycircumflex ; B 90 0 667 863 ; -C -1 ; WX 444 ; N ycircumflex ; B -78 -216 440 677 ; -C -1 ; WX 278 ; N longs ; B -173 -216 472 695 ; -C -1 ; WX 611 ; N Aringacute ; B -49 0 681 1023 ; -C -1 ; WX 500 ; N aringacute ; B 23 -12 517 896 ; -C -1 ; WX 889 ; N AEacute ; B -53 0 909 871 ; -C -1 ; WX 667 ; N aeacute ; B 22 -12 652 685 ; -C -1 ; WX 722 ; N Oslashacute ; B 35 -35 737 871 ; -C -1 ; WX 500 ; N oslashacute ; B 2 -36 489 685 ; -C -1 ; WX 333 ; N anoteleia ; B 163 343 262 442 ; -C -1 ; WX 833 ; N Wgrave ; B 122 -15 944 871 ; -C -1 ; WX 667 ; N wgrave ; B 17 -12 662 685 ; -C -1 ; WX 833 ; N Wacute ; B 122 -15 944 871 ; -C -1 ; WX 667 ; N wacute ; B 17 -12 662 685 ; -C -1 ; WX 833 ; N Wdieresis ; B 122 -15 944 840 ; -C -1 ; WX 667 ; N wdieresis ; B 17 -12 662 654 ; -C -1 ; WX 556 ; N Ygrave ; B 90 0 667 871 ; -C -1 ; WX 444 ; N ygrave ; B -78 -216 440 685 ; -C -1 ; WX 333 ; N quotereversed ; B 217 458 332 677 ; -C -1 ; WX 333 ; N radicalex ; B 89 569 459 631 ; -C -1 ; WX 500 ; N afii08941 ; B 24 -15 524 676 ; -C -1 ; WX 600 ; N estimated ; B 44 -17 561 535 ; -C -1 ; WX 750 ; N oneeighth ; B 79 -27 700 676 ; -C -1 ; WX 750 ; N threeeighths ; B 63 -27 700 676 ; -C -1 ; WX 750 ; N fiveeighths ; B 64 -27 700 676 ; -C -1 ; WX 750 ; N seveneighths ; B 113 -27 700 676 ; -C -1 ; WX 333 ; N commaaccent ; B 37 -217 181 -38 ; -C -1 ; WX 333 ; N undercommaaccent ; B -3 -181 180 -22 ; -C -1 ; WX 333 ; N tonos ; B 200 517 360 685 ; -C -1 ; WX 333 ; N dieresistonos ; B 88 517 442 685 ; -C -1 ; WX 611 ; N Alphatonos ; B -49 0 547 685 ; -C -1 ; WX 679 ; N Epsilontonos ; B 45 0 700 685 ; -C -1 ; WX 792 ; N Etatonos ; B 43 0 881 685 ; -C -1 ; WX 402 ; N Iotatonos ; B 38 0 479 685 ; -C -1 ; WX 722 ; N Omicrontonos ; B 60 -15 718 685 ; -C -1 ; WX 660 ; N Upsilontonos ; B 46 0 771 685 ; -C -1 ; WX 726 ; N Omegatonos ; B 16 0 727 685 ; -C -1 ; WX 278 ; N iotadieresistonos ; B 41 -12 395 685 ; -C -1 ; WX 611 ; N Alpha ; B -49 0 547 677 ; -C -1 ; WX 611 ; N Beta ; B -23 0 590 662 ; -C -1 ; WX 587 ; N Delta ; B -43 0 511 677 ; -C -1 ; WX 611 ; N Epsilon ; B -22 0 632 662 ; -C -1 ; WX 556 ; N Zeta ; B -2 0 611 662 ; -C -1 ; WX 722 ; N Eta ; B -26 0 811 662 ; -C -1 ; WX 333 ; N Iota ; B -31 0 410 662 ; -C -1 ; WX 667 ; N Kappa ; B -27 0 729 662 ; -C -1 ; WX 604 ; N Lambda ; B -55 0 543 677 ; -C -1 ; WX 833 ; N Mu ; B -33 0 924 662 ; -C -1 ; WX 667 ; N Nu ; B -28 -15 762 662 ; -C -1 ; WX 639 ; N Xi ; B -7 0 688 662 ; -C -1 ; WX 722 ; N Omicron ; B 60 -15 718 677 ; -C -1 ; WX 722 ; N Pi ; B -29 0 806 662 ; -C -1 ; WX 611 ; N Rho ; B -24 0 621 662 ; -C -1 ; WX 594 ; N Sigma ; B -35 0 655 662 ; -C -1 ; WX 556 ; N Tau ; B 70 0 649 662 ; -C -1 ; WX 556 ; N Upsilon ; B 90 0 667 662 ; -C -1 ; WX 611 ; N Chi ; B -67 0 741 662 ; -C -1 ; WX 703 ; N Psi ; B 134 0 808 670 ; -C -1 ; WX 723 ; N Omega ; B 13 0 725 677 ; -C -1 ; WX 333 ; N Iotadieresis ; B -31 0 446 836 ; -C -1 ; WX 556 ; N Upsilondieresis ; B 90 0 667 836 ; -C -1 ; WX 525 ; N alphatonos ; B 29 -12 501 685 ; -C -1 ; WX 394 ; N epsilontonos ; B 11 -12 391 685 ; -C -1 ; WX 496 ; N etatonos ; B 28 -214 454 685 ; -C -1 ; WX 278 ; N iotatonos ; B 43 -12 334 685 ; -C -1 ; WX 459 ; N upsilondieresistonos ; B 26 -12 482 685 ; -C -1 ; WX 498 ; N beta ; B -67 -214 508 694 ; -C -1 ; WX 394 ; N gamma ; B 24 -216 386 442 ; -C -1 ; WX 405 ; N zeta ; B 23 -160 530 689 ; -C -1 ; WX 496 ; N eta ; B 28 -214 454 442 ; -C -1 ; WX 491 ; N theta ; B 44 -12 507 694 ; -C -1 ; WX 278 ; N iota ; B 43 -12 230 442 ; -C -1 ; WX 480 ; N kappa ; B 15 -6 494 442 ; -C -1 ; WX 433 ; N lambda ; B -31 -6 408 694 ; -C -1 ; WX 502 ; N mu ; B -53 -216 475 430 ; -C -1 ; WX 444 ; N nu ; B 21 -12 442 442 ; -C -1 ; WX 428 ; N xi ; B 18 -160 490 689 ; -C -1 ; WX 500 ; N omicron ; B 29 -12 462 442 ; -C -1 ; WX 480 ; N rho ; B -71 -214 438 442 ; -C -1 ; WX 406 ; N sigma1 ; B 31 -161 426 442 ; -C -1 ; WX 459 ; N upsilon ; B 26 -12 424 442 ; -C -1 ; WX 440 ; N chi ; B -94 -216 469 436 ; -C -1 ; WX 621 ; N psi ; B 70 -214 647 442 ; -C -1 ; WX 706 ; N omega ; B 35 -12 661 442 ; -C -1 ; WX 278 ; N iotadieresis ; B 43 -12 367 654 ; -C -1 ; WX 459 ; N upsilondieresis ; B 26 -12 424 654 ; -C -1 ; WX 500 ; N omicrontonos ; B 29 -12 462 685 ; -C -1 ; WX 459 ; N upsilontonos ; B 26 -12 424 685 ; -C -1 ; WX 698 ; N omegatonos ; B 35 -12 661 685 ; -C -1 ; WX 611 ; N afii10023 ; B -22 0 632 850 ; -C -1 ; WX 797 ; N afii10051 ; B 94 -8 761 662 ; -C -1 ; WX 669 ; N afii10053 ; B 69 -15 706 677 ; -C -1 ; WX 500 ; N afii10054 ; B 7 -15 542 677 ; -C -1 ; WX 333 ; N afii10055 ; B -31 0 410 662 ; -C -1 ; WX 333 ; N afii10056 ; B -31 0 446 836 ; -C -1 ; WX 444 ; N afii10057 ; B -34 -15 547 662 ; -C -1 ; WX 927 ; N afii10058 ; B -34 -8 877 662 ; -C -1 ; WX 921 ; N afii10059 ; B -30 0 872 662 ; -C -1 ; WX 799 ; N afii10060 ; B 97 0 729 662 ; -C -1 ; WX 673 ; N afii10062 ; B 110 -15 776 849 ; -C -1 ; WX 611 ; N afii10017 ; B -49 0 547 677 ; -C -1 ; WX 590 ; N afii10018 ; B -28 0 628 662 ; -C -1 ; WX 611 ; N afii10019 ; B -23 0 590 662 ; -C -1 ; WX 569 ; N afii10020 ; B -36 0 664 662 ; -C -1 ; WX 636 ; N afii10021 ; B -103 -193 723 662 ; -C -1 ; WX 611 ; N afii10022 ; B -22 0 632 662 ; -C -1 ; WX 916 ; N afii10024 ; B -55 0 975 670 ; -C -1 ; WX 495 ; N afii10025 ; B -1 -15 492 677 ; -C -1 ; WX 722 ; N afii10026 ; B -25 0 812 662 ; -C -1 ; WX 722 ; N afii10027 ; B -25 0 812 849 ; -C -1 ; WX 664 ; N afii10028 ; B -28 0 723 670 ; -C -1 ; WX 677 ; N afii10029 ; B -35 -8 761 662 ; -C -1 ; WX 833 ; N afii10030 ; B -33 0 924 662 ; -C -1 ; WX 722 ; N afii10031 ; B -26 0 811 662 ; -C -1 ; WX 722 ; N afii10032 ; B 60 -15 718 677 ; -C -1 ; WX 722 ; N afii10033 ; B -29 0 806 662 ; -C -1 ; WX 611 ; N afii10034 ; B -24 0 621 662 ; -C -1 ; WX 667 ; N afii10035 ; B 67 -15 704 677 ; -C -1 ; WX 556 ; N afii10036 ; B 70 0 649 662 ; -C -1 ; WX 673 ; N afii10037 ; B 110 -15 776 662 ; -C -1 ; WX 804 ; N afii10038 ; B 73 0 792 662 ; -C -1 ; WX 611 ; N afii10039 ; B -67 0 741 662 ; -C -1 ; WX 722 ; N afii10040 ; B -25 -196 813 662 ; -C -1 ; WX 689 ; N afii10041 ; B 113 0 770 662 ; -C -1 ; WX 1043 ; N afii10042 ; B -14 0 1120 662 ; -C -1 ; WX 1043 ; N afii10043 ; B -14 -196 1120 662 ; -C -1 ; WX 676 ; N afii10044 ; B 58 0 626 662 ; -C -1 ; WX 872 ; N afii10045 ; B -28 0 957 662 ; -C -1 ; WX 590 ; N afii10046 ; B -28 0 540 662 ; -C -1 ; WX 655 ; N afii10047 ; B 15 -15 642 677 ; -C -1 ; WX 1032 ; N afii10048 ; B -32 -15 1029 677 ; -C -1 ; WX 657 ; N afii10049 ; B -54 0 746 662 ; -C -1 ; WX 500 ; N afii10065 ; B 23 -12 469 442 ; -C -1 ; WX 503 ; N afii10066 ; B 36 -12 519 694 ; -C -1 ; WX 434 ; N afii10067 ; B 31 -12 420 442 ; -C -1 ; WX 390 ; N afii10068 ; B 1 -12 384 442 ; -C -1 ; WX 506 ; N afii10069 ; B 30 -12 474 694 ; -C -1 ; WX 444 ; N afii10070 ; B 31 -12 430 442 ; -C -1 ; WX 930 ; N afii10072 ; B 0 -12 926 442 ; -C -1 ; WX 390 ; N afii10073 ; B -24 -12 371 442 ; -C -1 ; WX 500 ; N afii10074 ; B 29 -12 471 442 ; -C -1 ; WX 500 ; N afii10075 ; B 29 -12 483 674 ; -C -1 ; WX 468 ; N afii10076 ; B 18 0 465 442 ; -C -1 ; WX 436 ; N afii10077 ; B -44 -12 405 430 ; -C -1 ; WX 638 ; N afii10078 ; B -45 -12 606 442 ; -C -1 ; WX 496 ; N afii10079 ; B 20 -12 462 442 ; -C -1 ; WX 500 ; N afii10080 ; B 29 -12 462 442 ; -C -1 ; WX 500 ; N afii10081 ; B 19 -12 459 442 ; -C -1 ; WX 500 ; N afii10082 ; B -110 -214 473 442 ; -C -1 ; WX 444 ; N afii10083 ; B 29 -12 428 442 ; -C -1 ; WX 722 ; N afii10084 ; B 17 -12 679 442 ; -C -1 ; WX 444 ; N afii10085 ; B -78 -216 440 442 ; -C -1 ; WX 710 ; N afii10086 ; B 29 -214 673 694 ; -C -1 ; WX 444 ; N afii10087 ; B -33 -12 439 442 ; -C -1 ; WX 500 ; N afii10088 ; B 29 -196 471 442 ; -C -1 ; WX 477 ; N afii10089 ; B 42 -12 444 442 ; -C -1 ; WX 755 ; N afii10090 ; B 31 -12 725 442 ; -C -1 ; WX 755 ; N afii10091 ; B 31 -196 725 442 ; -C -1 ; WX 519 ; N afii10092 ; B 29 -12 471 430 ; -C -1 ; WX 677 ; N afii10093 ; B 50 -12 627 442 ; -C -1 ; WX 455 ; N afii10094 ; B 50 -12 408 442 ; -C -1 ; WX 441 ; N afii10095 ; B 7 -12 398 442 ; -C -1 ; WX 705 ; N afii10096 ; B 21 -12 668 442 ; -C -1 ; WX 465 ; N afii10097 ; B -61 -12 434 442 ; -C -1 ; WX 444 ; N afii10071 ; B 31 -12 468 654 ; -C -1 ; WX 479 ; N afii10099 ; B 20 -216 441 694 ; -C -1 ; WX 377 ; N afii10100 ; B -42 0 405 685 ; -C -1 ; WX 436 ; N afii10101 ; B 26 -12 450 442 ; -C -1 ; WX 389 ; N afii10102 ; B -9 -12 363 442 ; -C -1 ; WX 278 ; N afii10103 ; B 43 -12 272 636 ; -C -1 ; WX 278 ; N afii10104 ; B 43 -12 367 654 ; -C -1 ; WX 278 ; N afii10105 ; B -170 -216 280 635 ; -C -1 ; WX 679 ; N afii10106 ; B -44 -12 631 442 ; -C -1 ; WX 712 ; N afii10107 ; B 21 -12 665 442 ; -C -1 ; WX 500 ; N afii10108 ; B 20 -12 459 694 ; -C -1 ; WX 444 ; N afii10110 ; B -80 -216 444 674 ; -C -1 ; WX 500 ; N afii10193 ; B 18 -192 471 442 ; -C -1 ; WX 440 ; N afii10050 ; B -30 0 589 803 ; -C -1 ; WX 315 ; N afii10098 ; B 42 -12 382 519 ; -C -1 ; WX 1000 ; N afii00208 ; B 32 224 969 294 ; -C -1 ; WX 943 ; N afii61352 ; B -43 -15 929 674 ; -C -1 ; WX 501 ; N pi ; B 24 -12 532 430 ; -C -1 ; WX 333 ; N sheva ; B 26 -265 107 -72 ; -C -1 ; WX 333 ; N hatafsegol ; B -86 -265 219 -72 ; -C -1 ; WX 333 ; N hatafpatah ; B -76 -265 208 -72 ; -C -1 ; WX 333 ; N hatafqamats ; B -91 -265 224 -72 ; -C -1 ; WX 333 ; N hiriq ; B 26 -153 107 -72 ; -C -1 ; WX 333 ; N tsere ; B -30 -153 163 -72 ; -C -1 ; WX 333 ; N segol ; B -30 -265 163 -72 ; -C -1 ; WX 333 ; N patah ; B -30 -130 163 -80 ; -C -1 ; WX 333 ; N qamats ; B -30 -243 163 -80 ; -C -1 ; WX 333 ; N holam ; B 226 587 307 668 ; -C -1 ; WX 333 ; N qubuts ; B -86 -265 219 -72 ; -C -1 ; WX 333 ; N dagesh ; B 126 211 207 292 ; -C -1 ; WX 333 ; N meteg ; B 41 -242 91 -80 ; -C -1 ; WX 371 ; N maqaf ; B 116 415 388 516 ; -C -1 ; WX 333 ; N rafe ; B 170 596 363 646 ; -C -1 ; WX 333 ; N paseq ; B 46 -49 294 564 ; -C -1 ; WX 343 ; N shindot ; B 436 587 517 668 ; -C -1 ; WX 343 ; N sindot ; B 27 587 108 668 ; -C -1 ; WX 333 ; N sofpasuq ; B 60 -9 286 525 ; -C -1 ; WX 478 ; N alef ; B -21 -9 489 554 ; -C -1 ; WX 437 ; N bet ; B -29 0 412 550 ; -C -1 ; WX 321 ; N gimel ; B -63 -13 296 554 ; -C -1 ; WX 417 ; N dalet ; B 92 -12 450 550 ; -C -1 ; WX 476 ; N he ; B -23 -12 496 550 ; -C -1 ; WX 264 ; N vav ; B 93 -12 260 554 ; -C -1 ; WX 254 ; N zayin ; B 20 -11 280 554 ; -C -1 ; WX 471 ; N het ; B -3 -12 491 550 ; -C -1 ; WX 478 ; N tet ; B 43 0 469 554 ; -C -1 ; WX 242 ; N yod ; B 97 239 256 554 ; -C -1 ; WX 438 ; N finalkaf ; B 94 -173 464 550 ; -C -1 ; WX 411 ; N kaf ; B -28 0 388 550 ; -C -1 ; WX 430 ; N lamed ; B 97 -8 432 746 ; -C -1 ; WX 473 ; N finalmem ; B -14 0 456 550 ; -C -1 ; WX 470 ; N mem ; B -17 0 444 554 ; -C -1 ; WX 255 ; N finalnun ; B 36 -173 270 554 ; -C -1 ; WX 279 ; N nun ; B -48 0 273 554 ; -C -1 ; WX 461 ; N samekh ; B 52 -14 437 550 ; -C -1 ; WX 439 ; N ayin ; B -25 -29 467 554 ; -C -1 ; WX 431 ; N finalpe ; B 39 -173 412 550 ; -C -1 ; WX 429 ; N pe ; B -21 0 406 550 ; -C -1 ; WX 445 ; N finaltsadi ; B 96 -173 471 554 ; -C -1 ; WX 449 ; N tsadi ; B -8 0 476 554 ; -C -1 ; WX 444 ; N qof ; B -55 -173 448 550 ; -C -1 ; WX 448 ; N resh ; B 92 -12 430 550 ; -C -1 ; WX 620 ; N shin ; B 95 0 645 554 ; -C -1 ; WX 474 ; N tav ; B -60 -12 459 550 ; -C -1 ; WX 527 ; N doublevav ; B 93 -12 523 554 ; -C -1 ; WX 505 ; N vavyod ; B 97 -12 501 554 ; -C -1 ; WX 483 ; N doubleyod ; B 97 239 498 554 ; -C -1 ; WX 190 ; N geresh ; B 76 304 219 535 ; -C -1 ; WX 368 ; N gershayim ; B 76 304 396 535 ; -C -1 ; WX 787 ; N newsheqelsign ; B 8 0 791 516 ; -C -1 ; WX 264 ; N vavshindot ; B 32 -12 260 668 ; -C -1 ; WX 438 ; N finalkafsheva ; B 94 -173 464 550 ; -C -1 ; WX 438 ; N finalkafqamats ; B 70 -173 464 550 ; -C -1 ; WX 430 ; N lamedholam ; B 11 -8 432 746 ; -C -1 ; WX 430 ; N lamedholamdagesh ; B 11 -8 432 746 ; -C -1 ; WX 439 ; N altayin ; B -23 0 467 554 ; -C -1 ; WX 620 ; N shinshindot ; B 95 0 645 669 ; -C -1 ; WX 620 ; N shinsindot ; B 95 0 645 668 ; -C -1 ; WX 620 ; N shindageshshindot ; B 95 0 645 669 ; -C -1 ; WX 620 ; N shindageshsindot ; B 95 0 645 668 ; -C -1 ; WX 478 ; N alefpatah ; B -21 -130 489 554 ; -C -1 ; WX 478 ; N alefqamats ; B -21 -243 489 554 ; -C -1 ; WX 478 ; N alefmapiq ; B -21 -9 489 554 ; -C -1 ; WX 437 ; N betdagesh ; B -29 0 412 550 ; -C -1 ; WX 321 ; N gimeldagesh ; B -63 -13 296 554 ; -C -1 ; WX 417 ; N daletdagesh ; B 92 -12 450 550 ; -C -1 ; WX 476 ; N hedagesh ; B -23 -12 496 550 ; -C -1 ; WX 264 ; N vavdagesh ; B 48 -12 260 554 ; -C -1 ; WX 268 ; N zayindagesh ; B 6 -11 294 554 ; -C -1 ; WX 478 ; N tetdagesh ; B 43 0 469 554 ; -C -1 ; WX 242 ; N yoddagesh ; B 44 239 256 554 ; -C -1 ; WX 438 ; N finalkafdagesh ; B 94 -173 464 550 ; -C -1 ; WX 411 ; N kafdagesh ; B -28 0 388 550 ; -C -1 ; WX 430 ; N lameddagesh ; B 97 -8 432 746 ; -C -1 ; WX 470 ; N memdagesh ; B -17 0 444 554 ; -C -1 ; WX 279 ; N nundagesh ; B -48 0 273 554 ; -C -1 ; WX 461 ; N samekhdagesh ; B 52 -14 437 550 ; -C -1 ; WX 431 ; N finalpedagesh ; B 39 -173 412 550 ; -C -1 ; WX 429 ; N pedagesh ; B -21 0 406 550 ; -C -1 ; WX 449 ; N tsadidagesh ; B -8 0 476 554 ; -C -1 ; WX 444 ; N qofdagesh ; B -55 -173 448 550 ; -C -1 ; WX 444 ; N reshdagesh ; B 77 -6 432 550 ; -C -1 ; WX 620 ; N shindagesh ; B 95 0 645 554 ; -C -1 ; WX 474 ; N tavdages ; B -60 -12 459 550 ; -C -1 ; WX 264 ; N vavholam ; B 93 -12 272 668 ; -C -1 ; WX 437 ; N betrafe ; B -29 0 415 646 ; -C -1 ; WX 411 ; N kafrafe ; B -28 0 402 646 ; -C -1 ; WX 429 ; N perafe ; B -21 0 411 646 ; -C -1 ; WX 535 ; N aleflamed ; B 36 -9 546 746 ; -C -1 ; WX 0 ; N zerowidthnonjoiner ; B -18 -134 18 629 ; -C -1 ; WX 0 ; N zerowidthjoiner ; B -107 -134 107 690 ; -C -1 ; WX 0 ; N lefttorightmark ; B -18 -134 210 690 ; -C -1 ; WX 0 ; N righttoleftmark ; B -210 -134 17 690 ; -C -1 ; WX 1000 ; N uniFFFC ; B 0 0 1000 719 ; -C -1 ; WX 722 ; N Ohorn ; B 60 -15 809 695 ; -C -1 ; WX 534 ; N ohorn ; B 29 -12 581 471 ; -C -1 ; WX 754 ; N Uhorn ; B 106 -15 910 778 ; -C -1 ; WX 545 ; N uhorn ; B 29 -12 587 442 ; -C -1 ; WX 0 ; N f00b ; B -112 818 21 891 ; -C -1 ; WX 0 ; N f00c ; B -257 818 -74 891 ; -C -1 ; WX 0 ; N f00e ; B -287 728 -126 891 ; -C -1 ; WX 0 ; N f006 ; B -54 818 79 891 ; -C -1 ; WX 0 ; N f007 ; B -130 818 52 891 ; -C -1 ; WX 0 ; N f009 ; B -139 728 22 891 ; -C -1 ; WX 0 ; N combininghookabove ; B -66 728 83 891 ; -C -1 ; WX 0 ; N f010 ; B -58 810 74 891 ; -C -1 ; WX 0 ; N f013 ; B -184 728 -34 891 ; -C -1 ; WX 0 ; N f011 ; B -127 810 4 891 ; -C -1 ; WX 0 ; N f01c ; B -171 755 142 884 ; -C -1 ; WX 0 ; N f015 ; B -196 813 85 891 ; -C -1 ; WX 0 ; N combiningtildeaccent ; B -256 726 57 854 ; -C -1 ; WX 0 ; N _d_767 ; B 26 722 278 802 ; -C -1 ; WX 0 ; N _d_768 ; B 15 722 263 792 ; -C -1 ; WX 0 ; N f02c ; B -215 -157 -116 -59 ; -C -1 ; WX 513 ; N dongsign ; B 59 140 532 694 ; -C -1 ; WX 750 ; N onethird ; B 79 -27 676 676 ; -C -1 ; WX 750 ; N twothirds ; B 54 -27 676 676 ; -C -1 ; WX 0 ; N f008 ; B -104 517 57 680 ; -C -1 ; WX 0 ; N f00a ; B -197 517 -37 680 ; -C -1 ; WX 0 ; N f00d ; B -183 517 -22 680 ; -C -1 ; WX 0 ; N f00f ; B -272 517 -112 680 ; -C -1 ; WX 0 ; N f012 ; B -110 517 39 681 ; -C -1 ; WX 0 ; N f014 ; B -223 517 -73 681 ; -C -1 ; WX 0 ; N f016 ; B -275 755 38 884 ; -C -1 ; WX 0 ; N f017 ; B -363 755 -50 884 ; -C -1 ; WX 0 ; N f018 ; B -387 755 -74 884 ; -C -1 ; WX 0 ; N f019 ; B -320 538 -7 667 ; -C -1 ; WX 0 ; N f01a ; B -344 538 -32 667 ; -C -1 ; WX 0 ; N f01b ; B -378 538 -66 667 ; -C -1 ; WX 0 ; N f01e ; B -400 -157 -301 -59 ; -C -1 ; WX 0 ; N f01f ; B -498 -157 -398 -59 ; -C -1 ; WX 0 ; N f020 ; B -498 -157 -398 -59 ; -C -1 ; WX 0 ; N f021 ; B -458 -157 -359 -59 ; -C -1 ; WX 0 ; N f022 ; B -493 -157 -394 -59 ; -C -1 ; WX 0 ; N combininggraveaccent ; B -113 728 48 891 ; -C -1 ; WX 0 ; N combiningacuteaccent ; B -46 728 115 891 ; -C -1 ; WX 0 ; N f01d ; B -226 538 86 667 ; -C -1 ; WX 0 ; N combiningdotbelow ; B -458 -157 -359 -59 ; -C -1 ; WX 0 ; N f023 ; B -383 -157 -284 -59 ; -C -1 ; WX 0 ; N f029 ; B -299 -157 -200 -59 ; -C -1 ; WX 0 ; N f02a ; B -269 -157 -169 -59 ; -C -1 ; WX 0 ; N f02b ; B -421 -157 -322 -59 ; -C -1 ; WX 0 ; N f024 ; B -334 -157 -235 -59 ; -C -1 ; WX 0 ; N f025 ; B -383 -157 -284 -59 ; -C -1 ; WX 0 ; N f026 ; B -413 -157 -313 -59 ; -C -1 ; WX 0 ; N f027 ; B -369 -157 -270 -59 ; -C -1 ; WX 0 ; N f028 ; B -413 -157 -313 -59 ; -C -1 ; WX 0 ; N f02d ; B -284 813 -2 891 ; -C -1 ; WX 0 ; N f02e ; B -303 755 10 884 ; -C -1 ; WX 0 ; N f02f ; B -313 813 -32 891 ; -C -1 ; WX 0 ; N f030 ; B -352 755 -39 884 ; -C -1 ; WX 278 ; N f031 ; B 43 -12 230 442 ; -C -1 ; WX 611 ; N Adotbelow ; B -49 -157 547 677 ; -C -1 ; WX 500 ; N adotbelow ; B 23 -157 469 442 ; -C -1 ; WX 611 ; N Ahookabove ; B -49 0 630 891 ; -C -1 ; WX 500 ; N ahookabove ; B 23 -12 469 681 ; -C -1 ; WX 611 ; N Acircumflexacute ; B -49 0 665 891 ; -C -1 ; WX 500 ; N acircumflexacute ; B 23 -12 531 891 ; -C -1 ; WX 611 ; N Acircumflexgrave ; B -49 0 650 891 ; -C -1 ; WX 500 ; N acircumflexgrave ; B 23 -12 479 891 ; -C -1 ; WX 611 ; N Acircumflexhookabove ; B -49 0 650 891 ; -C -1 ; WX 500 ; N acircumflexhookabove ; B 23 -12 522 891 ; -C -1 ; WX 611 ; N Acircumflextilde ; B -49 0 696 891 ; -C -1 ; WX 500 ; N acircumflextilde ; B 23 -12 582 884 ; -C -1 ; WX 611 ; N Acircumflexdotbelow ; B -49 -157 650 792 ; -C -1 ; WX 500 ; N acircumflexdotbelow ; B 23 -157 469 677 ; -C -1 ; WX 611 ; N Abreveacute ; B -49 0 666 891 ; -C -1 ; WX 500 ; N abreveacute ; B 23 -12 510 891 ; -C -1 ; WX 611 ; N Abrevegrave ; B -49 0 666 891 ; -C -1 ; WX 500 ; N abrevegrave ; B 23 -12 510 891 ; -C -1 ; WX 611 ; N Abrevehookabove ; B -49 0 666 891 ; -C -1 ; WX 500 ; N abrevehookabove ; B 23 -12 510 891 ; -C -1 ; WX 611 ; N Abrevetilde ; B -49 0 691 891 ; -C -1 ; WX 500 ; N abrevetilde ; B 23 -12 542 884 ; -C -1 ; WX 611 ; N Abrevedotbelow ; B -49 -157 666 802 ; -C -1 ; WX 500 ; N abrevedotbelow ; B 23 -157 480 687 ; -C -1 ; WX 611 ; N Edotbelow ; B -22 -157 632 662 ; -C -1 ; WX 444 ; N edotbelow ; B 31 -157 430 442 ; -C -1 ; WX 611 ; N Ehookabove ; B -22 0 632 891 ; -C -1 ; WX 444 ; N ehookabove ; B 31 -12 430 681 ; -C -1 ; WX 611 ; N Etilde ; B -22 0 632 847 ; -C -1 ; WX 444 ; N etilde ; B 31 -12 493 667 ; -C -1 ; WX 611 ; N Ecircumflexacute ; B -22 0 632 891 ; -C -1 ; WX 444 ; N ecircumflexacute ; B 31 -12 505 891 ; -C -1 ; WX 611 ; N Ecircumflexgrave ; B -22 0 632 891 ; -C -1 ; WX 444 ; N ecircumflexgrave ; B 31 -12 453 891 ; -C -1 ; WX 611 ; N Ecircumflexhookabove ; B -22 0 632 891 ; -C -1 ; WX 444 ; N ecircumflexhookabove ; B 31 -12 497 891 ; -C -1 ; WX 611 ; N Ecircumflextilde ; B -22 0 632 891 ; -C -1 ; WX 444 ; N ecircumflextilde ; B 31 -12 556 884 ; -C -1 ; WX 611 ; N Ecircumflexdotbelow ; B -22 -157 632 792 ; -C -1 ; WX 444 ; N ecircumflexdotbelow ; B 31 -157 443 677 ; -C -1 ; WX 333 ; N Ihookabove ; B -31 0 420 891 ; -C -1 ; WX 278 ; N ihookabove ; B 43 -12 322 681 ; -C -1 ; WX 333 ; N Idotbelow ; B -31 -157 410 662 ; -C -1 ; WX 278 ; N idotbelow ; B 24 -157 272 636 ; -C -1 ; WX 722 ; N Odotbelow ; B 60 -157 718 677 ; -C -1 ; WX 500 ; N odotbelow ; B 29 -157 462 442 ; -C -1 ; WX 722 ; N Ohookabove ; B 60 -15 718 891 ; -C -1 ; WX 500 ; N ohookabove ; B 29 -12 462 681 ; -C -1 ; WX 722 ; N Ocircumflexacute ; B 60 -15 718 891 ; -C -1 ; WX 500 ; N ocircumflexacute ; B 29 -12 531 891 ; -C -1 ; WX 722 ; N Ocircumflexgrave ; B 60 -15 718 891 ; -C -1 ; WX 500 ; N ocircumflexgrave ; B 29 -12 479 891 ; -C -1 ; WX 722 ; N Ocircumflexhookabove ; B 60 -15 718 891 ; -C -1 ; WX 500 ; N ocircumflexhookabove ; B 29 -12 522 891 ; -C -1 ; WX 722 ; N Ocircumflextilde ; B 60 -15 718 891 ; -C -1 ; WX 500 ; N ocircumflextilde ; B 29 -12 582 884 ; -C -1 ; WX 722 ; N Ocircumflexdotbelow ; B 60 -157 718 792 ; -C -1 ; WX 500 ; N ocircumflexdotbelow ; B 29 -157 469 677 ; -C -1 ; WX 722 ; N Ohornacute ; B 60 -15 809 880 ; -C -1 ; WX 534 ; N ohornacute ; B 29 -12 581 685 ; -C -1 ; WX 722 ; N Ohorngrave ; B 60 -15 809 880 ; -C -1 ; WX 534 ; N ohorngrave ; B 29 -12 581 685 ; -C -1 ; WX 722 ; N Ohornhookabove ; B 60 -15 809 891 ; -C -1 ; WX 534 ; N ohornhookabove ; B 29 -12 581 681 ; -C -1 ; WX 722 ; N Ohorntilde ; B 60 -15 809 847 ; -C -1 ; WX 534 ; N ohorntilde ; B 29 -12 581 667 ; -C -1 ; WX 722 ; N Ohorndotbelow ; B 60 -157 809 695 ; -C -1 ; WX 534 ; N ohorndotbelow ; B 29 -157 581 471 ; -C -1 ; WX 722 ; N Udotbelow ; B 106 -157 814 662 ; -C -1 ; WX 500 ; N udotbelow ; B 29 -157 471 442 ; -C -1 ; WX 722 ; N Uhookabove ; B 106 -15 814 891 ; -C -1 ; WX 500 ; N uhookabove ; B 29 -12 471 681 ; -C -1 ; WX 754 ; N Uhornacute ; B 106 -15 910 880 ; -C -1 ; WX 545 ; N uhornacute ; B 29 -12 587 685 ; -C -1 ; WX 754 ; N Uhorngrave ; B 106 -15 910 880 ; -C -1 ; WX 545 ; N uhorngrave ; B 29 -12 587 685 ; -C -1 ; WX 754 ; N Uhornhookabove ; B 106 -15 910 891 ; -C -1 ; WX 545 ; N uhornhookabove ; B 29 -12 587 681 ; -C -1 ; WX 754 ; N Uhorntilde ; B 106 -15 910 847 ; -C -1 ; WX 545 ; N uhorntilde ; B 29 -12 587 667 ; -C -1 ; WX 754 ; N Uhorndotbelow ; B 106 -157 910 778 ; -C -1 ; WX 545 ; N uhorndotbelow ; B 29 -157 587 442 ; -C -1 ; WX 556 ; N Ydotbelow ; B 90 -157 667 662 ; -C -1 ; WX 444 ; N ydotbelow ; B -78 -216 440 442 ; -C -1 ; WX 556 ; N Yhookabove ; B 90 0 667 891 ; -C -1 ; WX 444 ; N yhookabove ; B -78 -216 440 681 ; -C -1 ; WX 556 ; N Ytilde ; B 90 0 667 847 ; -C -1 ; WX 444 ; N ytilde ; B -78 -216 473 667 ; -C -1 ; WX 611 ; N uni01CD ; B -49 0 695 876 ; -C -1 ; WX 500 ; N uni01CE ; B 23 -12 515 677 ; -C -1 ; WX 333 ; N uni01CF ; B -31 0 485 876 ; -C -1 ; WX 278 ; N uni01D0 ; B 43 -12 393 677 ; -C -1 ; WX 722 ; N uni01D1 ; B 60 -15 718 876 ; -C -1 ; WX 500 ; N uni01D2 ; B 29 -12 520 677 ; -C -1 ; WX 722 ; N uni01D3 ; B 106 -15 814 876 ; -C -1 ; WX 500 ; N uni01D4 ; B 29 -12 495 677 ; -C -1 ; WX 722 ; N uni01D5 ; B 106 -15 814 891 ; -C -1 ; WX 500 ; N uni01D6 ; B 29 -12 519 747 ; -C -1 ; WX 722 ; N uni01D7 ; B 106 -15 814 891 ; -C -1 ; WX 500 ; N uni01D8 ; B 29 -12 477 822 ; -C -1 ; WX 722 ; N uni01D9 ; B 106 -15 814 891 ; -C -1 ; WX 500 ; N uni01DA ; B 29 -12 524 809 ; -C -1 ; WX 722 ; N uni01DB ; B 106 -15 814 891 ; -C -1 ; WX 500 ; N uni01DC ; B 29 -12 471 823 ; -C -1 ; WX 0 ; N _d_912 ; B 93 706 376 891 ; -C -1 ; WX 0 ; N _d_913 ; B 93 706 334 891 ; -C -1 ; WX 0 ; N _d_914 ; B 93 706 358 891 ; -C -1 ; WX 0 ; N _d_915 ; B 93 706 334 891 ; -C -1 ; WX 569 ; N uni0492 ; B -36 0 664 662 ; -C -1 ; WX 390 ; N uni0493 ; B 1 -12 384 442 ; -C -1 ; WX 916 ; N uni0496 ; B -55 -196 975 670 ; -C -1 ; WX 930 ; N uni0497 ; B 0 -193 926 442 ; -C -1 ; WX 664 ; N uni049a ; B -28 -196 723 670 ; -C -1 ; WX 468 ; N uni049b ; B 18 -196 465 442 ; -C -1 ; WX 664 ; N uni049c ; B -28 0 723 670 ; -C -1 ; WX 468 ; N uni049d ; B 18 0 465 442 ; -C -1 ; WX 722 ; N uni04a2 ; B -26 -196 811 662 ; -C -1 ; WX 496 ; N uni04a3 ; B 20 -196 462 442 ; -C -1 ; WX 556 ; N uni04ae ; B 90 0 667 662 ; -C -1 ; WX 500 ; N uni04af ; B 1 -214 557 447 ; -C -1 ; WX 556 ; N uni04b0 ; B 90 0 667 662 ; -C -1 ; WX 500 ; N uni04b1 ; B -16 -214 557 447 ; -C -1 ; WX 611 ; N uni04b2 ; B -67 -196 741 662 ; -C -1 ; WX 444 ; N uni04b3 ; B -35 -196 438 442 ; -C -1 ; WX 689 ; N uni04b8 ; B 113 0 770 662 ; -C -1 ; WX 477 ; N uni04b9 ; B 42 -12 444 442 ; -C -1 ; WX 689 ; N uni04ba ; B -26 0 631 662 ; -C -1 ; WX 500 ; N uni04bb ; B 19 -12 459 442 ; -C -1 ; WX 695 ; N uni018f ; B 60 -15 690 677 ; -C -1 ; WX 444 ; N uni0259 ; B 13 -12 412 442 ; -C -1 ; WX 722 ; N uni04e8 ; B 60 -15 718 677 ; -C -1 ; WX 500 ; N uni04e9 ; B 29 -12 462 442 ; -EndCharMetrics -StartKernData -StartKernPairs 821 -KPX space A -18 -KPX space Alphatonos -18 -KPX space Alpha -18 -KPX space Delta -18 -KPX space Lambda -18 -KPX one one -74 -KPX A space -18 -KPX A T -37 -KPX A V -50 -KPX A W -37 -KPX A Y -55 -KPX A v -55 -KPX A w -55 -KPX A y -55 -KPX A quoteright -37 -KPX F comma -129 -KPX F period -129 -KPX F A -129 -KPX L space -18 -KPX L T -20 -KPX L V -37 -KPX L W -37 -KPX L Y -20 -KPX L y -30 -KPX L quoteright -37 -KPX P space -18 -KPX P comma -129 -KPX P period -129 -KPX P A -129 -KPX R V -18 -KPX R W -18 -KPX R Y -18 -KPX R y -18 -KPX T space -18 -KPX T comma -74 -KPX T hyphen -74 -KPX T period -74 -KPX T colon -55 -KPX T semicolon -65 -KPX T A -74 -KPX T O -18 -KPX T a -92 -KPX T c -92 -KPX T e -92 -KPX T i -55 -KPX T o -92 -KPX T r -55 -KPX T s -92 -KPX T u -55 -KPX T w -74 -KPX T y -74 -KPX V space -18 -KPX V comma -129 -KPX V hyphen -55 -KPX V period -129 -KPX V colon -65 -KPX V semicolon -74 -KPX V A -74 -KPX V O -30 -KPX V a -111 -KPX V e -111 -KPX V i -74 -KPX V o -111 -KPX V r -74 -KPX V u -74 -KPX V y -92 -KPX W comma -92 -KPX W hyphen -37 -KPX W period -92 -KPX W colon -65 -KPX W semicolon -65 -KPX W A -70 -KPX W a -92 -KPX W e -92 -KPX W i -55 -KPX W o -92 -KPX W r -55 -KPX W u -55 -KPX W y -92 -KPX Y comma -92 -KPX Y hyphen -74 -KPX Y period -92 -KPX Y colon -65 -KPX Y semicolon -65 -KPX Y A -70 -KPX Y a -92 -KPX Y e -92 -KPX Y i -74 -KPX Y o -92 -KPX Y p -92 -KPX Y q -111 -KPX Y u -92 -KPX Y v -92 -KPX f quoteright 92 -KPX r comma -111 -KPX r hyphen -20 -KPX r period -111 -KPX r c -37 -KPX r d -37 -KPX r e -37 -KPX r g -37 -KPX r h -18 -KPX r o -37 -KPX r q -37 -KPX r quoteright 37 -KPX v comma -74 -KPX v period -74 -KPX w comma -74 -KPX w period -74 -KPX y comma -55 -KPX y period -55 -KPX quoteleft quoteleft -111 -KPX quoteright space -111 -KPX quoteright s -129 -KPX quoteright t -111 -KPX quoteright quoteright -111 -KPX quotesinglbase afii10051 -113 -KPX quotesinglbase afii10060 -113 -KPX quotesinglbase afii10036 -113 -KPX quotesinglbase afii10041 -176 -KPX quotesinglbase afii10044 -88 -KPX quotedblbase afii10051 -113 -KPX quotedblbase afii10060 -113 -KPX quotedblbase afii10036 -113 -KPX quotedblbase afii10041 -125 -KPX quotedblbase afii10044 -50 -KPX Gamma comma -128 -KPX Gamma period -128 -KPX Gamma iotadieresistonos 42 -KPX Gamma Alpha -142 -KPX Gamma Delta -142 -KPX Gamma Lambda -142 -KPX Gamma iota -55 -KPX Theta Alpha -44 -KPX Theta Delta -25 -KPX Theta Lambda -44 -KPX Theta Tau -18 -KPX Theta Upsilon -41 -KPX Theta Upsilondieresis -41 -KPX Phi Alpha -44 -KPX Phi Upsilon -77 -KPX Phi Upsilondieresis -77 -KPX delta chi -20 -KPX tau zeta 16 -KPX phi lambda -21 -KPX phi chi -20 -KPX Alphatonos space -18 -KPX Alphatonos Theta -44 -KPX Alphatonos Phi -44 -KPX Alphatonos Omicron -44 -KPX Alphatonos Tau -37 -KPX Alphatonos Upsilon -82 -KPX Alphatonos Upsilondieresis -82 -KPX Alphatonos gamma -45 -KPX Alphatonos nu -55 -KPX Alphatonos chi -45 -KPX Omicrontonos Upsilon -41 -KPX Upsilontonos Odieresis -36 -KPX Upsilontonos Theta -36 -KPX Upsilontonos Phi -59 -KPX Upsilontonos alpha -91 -KPX Upsilontonos delta -68 -KPX Upsilontonos sigma -91 -KPX Upsilontonos phi -91 -KPX Upsilontonos iotadieresistonos 29 -KPX Upsilontonos Alpha -97 -KPX Upsilontonos Delta -69 -KPX Upsilontonos Lambda -97 -KPX Upsilontonos Omicron -36 -KPX Upsilontonos alphatonos -91 -KPX Upsilontonos etatonos -47 -KPX Upsilontonos iotatonos -51 -KPX Upsilontonos eta -47 -KPX Upsilontonos iota -51 -KPX Upsilontonos kappa -47 -KPX Upsilontonos mu -74 -KPX Upsilontonos omicron -91 -KPX Upsilontonos iotadieresis 29 -KPX Upsilontonos omicrontonos -91 -KPX Alpha space -18 -KPX Alpha quoteright -37 -KPX Alpha Theta -44 -KPX Alpha Phi -44 -KPX Alpha Omicron -44 -KPX Alpha Tau -37 -KPX Alpha Upsilon -82 -KPX Alpha Upsilondieresis -82 -KPX Alpha gamma -45 -KPX Alpha nu -55 -KPX Alpha chi -45 -KPX Delta space -18 -KPX Delta Theta -19 -KPX Delta Omicron -19 -KPX Delta Tau -19 -KPX Delta Upsilon -69 -KPX Delta Upsilondieresis -69 -KPX Kappa Theta -55 -KPX Kappa Phi -82 -KPX Kappa alpha -29 -KPX Kappa delta -29 -KPX Kappa sigma -29 -KPX Kappa phi -29 -KPX Kappa Omicron -55 -KPX Kappa alphatonos -29 -KPX Kappa zeta -29 -KPX Kappa theta -29 -KPX Kappa xi -29 -KPX Kappa omicron -29 -KPX Kappa omega -29 -KPX Kappa omicrontonos -29 -KPX Kappa omegatonos -29 -KPX Lambda space -18 -KPX Lambda Theta -44 -KPX Lambda Omicron -44 -KPX Lambda Tau -37 -KPX Lambda Upsilon -82 -KPX Lambda Upsilondieresis -82 -KPX Omicron Alpha -44 -KPX Omicron Delta -25 -KPX Omicron Lambda -44 -KPX Omicron Upsilon -41 -KPX Omicron Upsilondieresis -41 -KPX Rho comma -128 -KPX Rho period -128 -KPX Rho Alpha -128 -KPX Rho Delta -88 -KPX Rho Lambda -128 -KPX Sigma tau -34 -KPX Tau space -18 -KPX Tau hyphen -74 -KPX Tau period -74 -KPX Tau colon -55 -KPX Tau semicolon -55 -KPX Tau Theta -18 -KPX Tau Phi -18 -KPX Tau alpha -91 -KPX Tau delta -91 -KPX Tau epsilon -91 -KPX Tau sigma -91 -KPX Tau phi -91 -KPX Tau iotadieresistonos 44 -KPX Tau Alpha -74 -KPX Tau Delta -44 -KPX Tau Lambda -74 -KPX Tau Omicron -18 -KPX Tau Omega -18 -KPX Tau alphatonos -91 -KPX Tau epsilontonos -48 -KPX Tau gamma -74 -KPX Tau eta -55 -KPX Tau iota -55 -KPX Tau mu -55 -KPX Tau nu -74 -KPX Tau omicron -91 -KPX Tau chi -74 -KPX Tau psi -55 -KPX Tau omicrontonos -91 -KPX Tau upsilontonos -55 -KPX Upsilon comma -91 -KPX Upsilon hyphen -74 -KPX Upsilon period -91 -KPX Upsilon colon -64 -KPX Upsilon semicolon -64 -KPX Upsilon Theta -18 -KPX Upsilon Phi -59 -KPX Upsilon alpha -91 -KPX Upsilon delta -68 -KPX Upsilon sigma -91 -KPX Upsilon phi -91 -KPX Upsilon iotadieresistonos 29 -KPX Upsilon Alpha -97 -KPX Upsilon Delta -69 -KPX Upsilon Lambda -97 -KPX Upsilon Omicron -18 -KPX Upsilon alphatonos -91 -KPX Upsilon etatonos -47 -KPX Upsilon iotatonos -51 -KPX Upsilon gamma -46 -KPX Upsilon eta -47 -KPX Upsilon iota -51 -KPX Upsilon kappa -47 -KPX Upsilon mu -74 -KPX Upsilon omicron -91 -KPX Upsilon iotadieresis 29 -KPX Upsilon omicrontonos -91 -KPX Chi omega -25 -KPX Chi omegatonos -25 -KPX Psi alpha -44 -KPX Psi delta -44 -KPX Psi sigma -44 -KPX Psi phi -44 -KPX Psi alphatonos -44 -KPX Psi theta -25 -KPX Psi omicron -44 -KPX Psi omega -44 -KPX Psi omicrontonos -44 -KPX Psi omegatonos -44 -KPX Omega Upsilon -23 -KPX Omega Upsilondieresis -23 -KPX Upsilondieresis Theta -18 -KPX Upsilondieresis Phi -59 -KPX Upsilondieresis alpha -91 -KPX Upsilondieresis delta -68 -KPX Upsilondieresis sigma -91 -KPX Upsilondieresis phi -91 -KPX Upsilondieresis iotadieresistonos 29 -KPX Upsilondieresis Alpha -97 -KPX Upsilondieresis Delta -69 -KPX Upsilondieresis Lambda -97 -KPX Upsilondieresis Omicron -18 -KPX Upsilondieresis alphatonos -91 -KPX Upsilondieresis etatonos -47 -KPX Upsilondieresis iotatonos -51 -KPX Upsilondieresis eta -47 -KPX Upsilondieresis iota -51 -KPX Upsilondieresis kappa -47 -KPX Upsilondieresis mu -74 -KPX Upsilondieresis omicron -91 -KPX Upsilondieresis iotadieresis 29 -KPX Upsilondieresis omicrontonos -91 -KPX zeta alpha -57 -KPX zeta delta -43 -KPX zeta sigma -57 -KPX zeta tau -69 -KPX zeta phi -57 -KPX zeta alphatonos -57 -KPX zeta etatonos -32 -KPX zeta gamma -50 -KPX zeta eta -32 -KPX zeta theta -43 -KPX zeta iota -32 -KPX zeta kappa -32 -KPX zeta nu -50 -KPX zeta omicron -57 -KPX zeta omega -57 -KPX zeta omicrontonos -57 -KPX zeta omegatonos -57 -KPX zeta pi -34 -KPX lambda upsilon -17 -KPX xi alpha -42 -KPX xi delta -42 -KPX xi sigma -42 -KPX xi phi -42 -KPX xi alphatonos -42 -KPX xi zeta -42 -KPX xi xi -42 -KPX xi omicron -42 -KPX xi sigma1 -42 -KPX xi omicrontonos -42 -KPX omicron chi -20 -KPX chi alpha -21 -KPX chi delta -21 -KPX chi sigma -21 -KPX chi phi -21 -KPX chi alphatonos -21 -KPX chi zeta -21 -KPX chi omicron -21 -KPX chi sigma1 -21 -KPX chi omega -21 -KPX chi omicrontonos -21 -KPX chi omegatonos -21 -KPX omega chi -20 -KPX omicrontonos chi -20 -KPX omegatonos chi -20 -KPX afii10052 comma -63 -KPX afii10052 period -75 -KPX afii10052 colon 25 -KPX afii10058 quoteright -121 -KPX afii10059 quoteright -88 -KPX afii10017 quoteright -101 -KPX afii10017 afii10021 14 -KPX afii10017 afii10025 -13 -KPX afii10017 afii10029 -20 -KPX afii10017 afii10032 -38 -KPX afii10017 afii10033 -25 -KPX afii10017 afii10035 -25 -KPX afii10017 afii10036 -38 -KPX afii10017 afii10037 -63 -KPX afii10017 afii10038 -51 -KPX afii10017 afii10041 -63 -KPX afii10017 afii10047 -50 -KPX afii10017 afii10065 -15 -KPX afii10017 afii10066 -15 -KPX afii10017 afii10070 -15 -KPX afii10017 afii10080 -15 -KPX afii10017 afii10083 -15 -KPX afii10017 afii10085 -33 -KPX afii10017 afii10086 -15 -KPX afii10017 afii10095 -15 -KPX afii10018 afii10017 -27 -KPX afii10018 afii10021 12 -KPX afii10018 afii10024 25 -KPX afii10018 afii10025 37 -KPX afii10018 afii10037 -40 -KPX afii10018 afii10038 -27 -KPX afii10018 afii10039 -13 -KPX afii10018 afii10041 -27 -KPX afii10018 afii10047 -14 -KPX afii10018 afii10069 12 -KPX afii10018 afii10085 -12 -KPX afii10018 afii10097 23 -KPX afii10019 afii10017 -38 -KPX afii10019 afii10021 -53 -KPX afii10019 afii10024 -40 -KPX afii10019 afii10025 -34 -KPX afii10019 afii10032 -47 -KPX afii10019 afii10035 -47 -KPX afii10019 afii10036 -57 -KPX afii10019 afii10037 -85 -KPX afii10019 afii10038 -54 -KPX afii10019 afii10039 -25 -KPX afii10019 afii10041 -60 -KPX afii10019 afii10044 -48 -KPX afii10019 afii10049 -47 -KPX afii10019 afii10069 12 -KPX afii10019 afii10078 -13 -KPX afii10019 afii10084 12 -KPX afii10019 afii10085 -14 -KPX afii10019 afii10087 -14 -KPX afii10019 afii10089 12 -KPX afii10019 afii10097 12 -KPX afii10020 comma -63 -KPX afii10020 period -75 -KPX afii10020 colon 25 -KPX afii10020 afii10017 -75 -KPX afii10020 afii10025 19 -KPX afii10020 afii10029 -13 -KPX afii10020 afii10030 -25 -KPX afii10020 afii10032 -13 -KPX afii10020 afii10049 -13 -KPX afii10020 afii10065 -25 -KPX afii10020 afii10067 -38 -KPX afii10020 afii10069 -18 -KPX afii10020 afii10070 -30 -KPX afii10020 afii10074 -19 -KPX afii10020 afii10077 -53 -KPX afii10020 afii10078 -40 -KPX afii10020 afii10079 -30 -KPX afii10020 afii10080 -52 -KPX afii10020 afii10082 -28 -KPX afii10020 afii10085 -43 -KPX afii10020 afii10093 -53 -KPX afii10020 afii10094 -50 -KPX afii10020 afii10096 -65 -KPX afii10020 afii10097 -40 -KPX afii10022 afii10025 -14 -KPX afii10024 afii10032 -53 -KPX afii10024 afii10035 -53 -KPX afii10024 afii10037 -34 -KPX afii10024 afii10041 -34 -KPX afii10024 afii10080 -13 -KPX afii10024 afii10085 -30 -KPX afii10025 afii10036 12 -KPX afii10025 afii10037 -13 -KPX afii10025 afii10041 -50 -KPX afii10025 afii10069 13 -KPX afii10028 afii10032 -47 -KPX afii10028 afii10035 -47 -KPX afii10028 afii10037 -13 -KPX afii10028 afii10038 -80 -KPX afii10028 afii10047 -13 -KPX afii10028 afii10070 -25 -KPX afii10028 afii10080 -38 -KPX afii10028 afii10083 -25 -KPX afii10028 afii10085 -43 -KPX afii10028 afii10095 -25 -KPX afii10030 afii10038 -25 -KPX afii10030 afii10065 -14 -KPX afii10030 afii10070 -14 -KPX afii10030 afii10080 -14 -KPX afii10030 afii10083 -14 -KPX afii10032 afii10017 -48 -KPX afii10032 afii10021 -25 -KPX afii10032 afii10024 -38 -KPX afii10032 afii10029 -25 -KPX afii10032 afii10037 -58 -KPX afii10032 afii10038 12 -KPX afii10032 afii10039 -50 -KPX afii10032 afii10041 -38 -KPX afii10032 afii10049 -38 -KPX afii10034 comma -88 -KPX afii10034 period -100 -KPX afii10034 colon 25 -KPX afii10034 afii10017 -88 -KPX afii10034 afii10021 -99 -KPX afii10034 afii10024 -52 -KPX afii10034 afii10025 -33 -KPX afii10034 afii10029 -78 -KPX afii10034 afii10030 -25 -KPX afii10034 afii10032 -13 -KPX afii10034 afii10037 -71 -KPX afii10034 afii10038 -27 -KPX afii10034 afii10039 -63 -KPX afii10034 afii10049 -78 -KPX afii10034 afii10065 -38 -KPX afii10034 afii10069 -36 -KPX afii10034 afii10070 -36 -KPX afii10034 afii10080 -36 -KPX afii10034 afii10095 -14 -KPX afii10034 afii10097 -25 -KPX afii10035 afii10017 -38 -KPX afii10035 afii10029 12 -KPX afii10035 afii10037 -13 -KPX afii10035 afii10039 -13 -KPX afii10035 afii10041 -13 -KPX afii10035 afii10065 7 -KPX afii10035 afii10066 7 -KPX afii10035 afii10070 7 -KPX afii10035 afii10072 7 -KPX afii10035 afii10073 7 -KPX afii10035 afii10080 7 -KPX afii10035 afii10083 7 -KPX afii10035 afii10084 14 -KPX afii10035 afii10086 7 -KPX afii10035 afii10095 7 -KPX afii10036 comma -50 -KPX afii10036 period -63 -KPX afii10036 colon 37 -KPX afii10036 semicolon 12 -KPX afii10036 guillemotleft 25 -KPX afii10036 guillemotright 25 -KPX afii10036 afii10017 -63 -KPX afii10036 afii10021 25 -KPX afii10036 afii10038 -27 -KPX afii10036 afii10065 -36 -KPX afii10036 afii10067 -36 -KPX afii10036 afii10070 -36 -KPX afii10036 afii10074 -24 -KPX afii10036 afii10076 -36 -KPX afii10036 afii10077 -36 -KPX afii10036 afii10078 -36 -KPX afii10036 afii10080 -36 -KPX afii10036 afii10081 -24 -KPX afii10036 afii10082 -25 -KPX afii10036 afii10083 -36 -KPX afii10036 afii10085 -24 -KPX afii10036 afii10087 -24 -KPX afii10036 afii10091 -24 -KPX afii10036 afii10093 -36 -KPX afii10036 afii10094 -36 -KPX afii10036 afii10096 -36 -KPX afii10036 afii10097 -24 -KPX afii10037 comma -51 -KPX afii10037 period -63 -KPX afii10037 colon 25 -KPX afii10037 guillemotleft 12 -KPX afii10037 guillemotright 25 -KPX afii10037 afii10017 -75 -KPX afii10037 afii10021 -40 -KPX afii10037 afii10029 -65 -KPX afii10037 afii10032 -27 -KPX afii10037 afii10038 -53 -KPX afii10037 afii10049 -53 -KPX afii10037 afii10066 -13 -KPX afii10037 afii10067 -47 -KPX afii10037 afii10068 -50 -KPX afii10037 afii10069 -13 -KPX afii10037 afii10070 -47 -KPX afii10037 afii10072 -50 -KPX afii10037 afii10073 -50 -KPX afii10037 afii10074 -15 -KPX afii10037 afii10075 -13 -KPX afii10037 afii10076 -25 -KPX afii10037 afii10077 -50 -KPX afii10037 afii10078 -50 -KPX afii10037 afii10079 -25 -KPX afii10037 afii10080 -47 -KPX afii10037 afii10081 -28 -KPX afii10037 afii10082 -40 -KPX afii10037 afii10083 -47 -KPX afii10037 afii10087 -47 -KPX afii10037 afii10088 -13 -KPX afii10037 afii10090 -13 -KPX afii10037 afii10091 -13 -KPX afii10037 afii10096 -28 -KPX afii10037 afii10097 -47 -KPX afii10038 afii10017 -50 -KPX afii10038 afii10021 -47 -KPX afii10038 afii10029 -13 -KPX afii10038 afii10030 -6 -KPX afii10038 afii10032 12 -KPX afii10038 afii10036 -13 -KPX afii10038 afii10037 -77 -KPX afii10038 afii10041 -34 -KPX afii10038 afii10049 -13 -KPX afii10038 afii10077 -15 -KPX afii10039 afii10032 -51 -KPX afii10039 afii10035 -38 -KPX afii10039 afii10038 -25 -KPX afii10039 afii10080 -20 -KPX afii10039 afii10085 -20 -KPX afii10044 quoteright -121 -KPX afii10044 afii10049 -29 -KPX afii10046 quoteright -121 -KPX afii10046 afii10017 -34 -KPX afii10046 afii10021 -13 -KPX afii10046 afii10024 -28 -KPX afii10046 afii10025 -13 -KPX afii10046 afii10030 -20 -KPX afii10046 afii10032 -25 -KPX afii10046 afii10035 -20 -KPX afii10046 afii10036 -51 -KPX afii10046 afii10039 -40 -KPX afii10046 afii10041 -112 -KPX afii10046 afii10047 -38 -KPX afii10046 afii10049 -13 -KPX afii10047 afii10024 -13 -KPX afii10047 afii10025 25 -KPX afii10047 afii10029 -13 -KPX afii10047 afii10039 -38 -KPX afii10047 afii10049 -13 -KPX afii10047 afii10069 14 -KPX afii10047 afii10072 14 -KPX afii10047 afii10077 -7 -KPX afii10047 afii10078 -14 -KPX afii10047 afii10097 14 -KPX afii10048 afii10017 -56 -KPX afii10048 afii10021 -13 -KPX afii10048 afii10024 -25 -KPX afii10048 afii10029 -25 -KPX afii10048 afii10032 -13 -KPX afii10048 afii10036 -13 -KPX afii10048 afii10039 -51 -KPX afii10048 afii10041 -25 -KPX afii10048 afii10069 7 -KPX afii10048 afii10072 7 -KPX afii10065 afii10085 -13 -KPX afii10065 afii10089 -13 -KPX afii10066 afii10072 -13 -KPX afii10066 afii10073 -13 -KPX afii10066 afii10077 -25 -KPX afii10066 afii10078 -38 -KPX afii10066 afii10080 -13 -KPX afii10066 afii10083 -13 -KPX afii10066 afii10085 -13 -KPX afii10066 afii10086 -13 -KPX afii10066 afii10087 -20 -KPX afii10066 afii10089 -13 -KPX afii10066 afii10092 -25 -KPX afii10066 afii10095 -13 -KPX afii10066 afii10097 -25 -KPX afii10067 afii10065 -7 -KPX afii10067 afii10066 -13 -KPX afii10067 afii10069 -19 -KPX afii10067 afii10073 -13 -KPX afii10067 afii10080 -13 -KPX afii10067 afii10083 -13 -KPX afii10067 afii10086 -7 -KPX afii10067 afii10092 -13 -KPX afii10067 afii10097 -13 -KPX afii10068 period -13 -KPX afii10068 afii10077 -13 -KPX afii10069 afii10070 12 -KPX afii10069 afii10085 -13 -KPX afii10069 afii10092 -13 -KPX afii10069 afii10095 -13 -KPX afii10070 afii10065 -13 -KPX afii10070 afii10066 -13 -KPX afii10070 afii10069 -25 -KPX afii10070 afii10072 -25 -KPX afii10070 afii10073 -13 -KPX afii10070 afii10077 -25 -KPX afii10070 afii10078 -25 -KPX afii10070 afii10080 -13 -KPX afii10070 afii10083 -13 -KPX afii10070 afii10084 -13 -KPX afii10070 afii10086 -25 -KPX afii10070 afii10087 -13 -KPX afii10070 afii10089 -13 -KPX afii10072 afii10065 -13 -KPX afii10072 afii10066 -13 -KPX afii10072 afii10070 -13 -KPX afii10072 afii10073 -13 -KPX afii10072 afii10080 -25 -KPX afii10072 afii10083 -25 -KPX afii10072 afii10089 -13 -KPX afii10072 afii10092 -13 -KPX afii10073 afii10069 -13 -KPX afii10073 afii10072 -13 -KPX afii10073 afii10073 -13 -KPX afii10073 afii10077 -25 -KPX afii10073 afii10078 -25 -KPX afii10073 afii10080 -13 -KPX afii10073 afii10083 -13 -KPX afii10073 afii10085 -7 -KPX afii10073 afii10089 -13 -KPX afii10073 afii10092 -13 -KPX afii10076 guillemotleft -27 -KPX afii10076 afii10065 -25 -KPX afii10076 afii10066 -25 -KPX afii10076 afii10070 -25 -KPX afii10076 afii10073 -13 -KPX afii10076 afii10077 20 -KPX afii10076 afii10080 -38 -KPX afii10076 afii10083 -38 -KPX afii10076 afii10084 -13 -KPX afii10076 afii10086 -25 -KPX afii10076 afii10089 -13 -KPX afii10076 afii10095 -13 -KPX afii10077 afii10065 12 -KPX afii10077 afii10066 12 -KPX afii10077 afii10070 25 -KPX afii10077 afii10073 12 -KPX afii10077 afii10080 12 -KPX afii10077 afii10083 12 -KPX afii10077 afii10085 -13 -KPX afii10077 afii10086 12 -KPX afii10077 afii10089 -13 -KPX afii10080 afii10066 -13 -KPX afii10080 afii10069 -13 -KPX afii10080 afii10072 -25 -KPX afii10080 afii10073 -13 -KPX afii10080 afii10077 -25 -KPX afii10080 afii10078 -38 -KPX afii10080 afii10085 -20 -KPX afii10080 afii10087 -20 -KPX afii10080 afii10089 -26 -KPX afii10080 afii10095 -13 -KPX afii10080 afii10097 -13 -KPX afii10082 afii10069 -13 -KPX afii10082 afii10072 -25 -KPX afii10082 afii10073 -13 -KPX afii10082 afii10077 -38 -KPX afii10082 afii10078 -50 -KPX afii10082 afii10084 -13 -KPX afii10082 afii10085 -13 -KPX afii10082 afii10087 -20 -KPX afii10082 afii10089 -13 -KPX afii10082 afii10095 -13 -KPX afii10082 afii10097 -13 -KPX afii10083 afii10065 -26 -KPX afii10083 afii10066 -13 -KPX afii10083 afii10070 -13 -KPX afii10083 afii10072 -13 -KPX afii10083 afii10073 -13 -KPX afii10083 afii10080 -25 -KPX afii10083 afii10085 -7 -KPX afii10083 afii10086 -25 -KPX afii10083 afii10087 -13 -KPX afii10083 afii10089 -13 -KPX afii10083 afii10092 -13 -KPX afii10084 comma 25 -KPX afii10084 period 12 -KPX afii10084 afii10065 12 -KPX afii10084 afii10073 12 -KPX afii10084 afii10085 -25 -KPX afii10084 afii10097 12 -KPX afii10085 comma -50 -KPX afii10085 period -63 -KPX afii10085 colon -13 -KPX afii10085 semicolon -38 -KPX afii10085 afii10069 -3 -KPX afii10085 afii10072 -25 -KPX afii10085 afii10073 -13 -KPX afii10085 afii10077 -27 -KPX afii10085 afii10078 -25 -KPX afii10085 afii10082 -13 -KPX afii10085 afii10087 -13 -KPX afii10085 afii10095 -13 -KPX afii10085 afii10097 -15 -KPX afii10086 afii10077 -25 -KPX afii10086 afii10078 -38 -KPX afii10086 afii10080 -13 -KPX afii10086 afii10084 -13 -KPX afii10086 afii10085 -33 -KPX afii10086 afii10089 -13 -KPX afii10086 afii10097 -13 -KPX afii10087 afii10065 -13 -KPX afii10087 afii10066 -25 -KPX afii10087 afii10073 -13 -KPX afii10087 afii10080 -25 -KPX afii10087 afii10083 -25 -KPX afii10087 afii10086 -25 -KPX afii10087 afii10089 -13 -KPX afii10087 afii10092 -25 -KPX afii10087 afii10095 -13 -KPX afii10088 afii10065 12 -KPX afii10088 afii10070 25 -KPX afii10088 afii10073 12 -KPX afii10088 afii10080 12 -KPX afii10088 afii10083 12 -KPX afii10088 afii10085 -13 -KPX afii10091 afii10065 25 -KPX afii10091 afii10070 25 -KPX afii10091 afii10080 12 -KPX afii10091 afii10085 -13 -KPX afii10094 afii10084 -13 -KPX afii10094 afii10089 -38 -KPX afii10095 afii10066 -13 -KPX afii10095 afii10069 -13 -KPX afii10095 afii10072 -25 -KPX afii10095 afii10073 -13 -KPX afii10095 afii10077 -25 -KPX afii10095 afii10078 -38 -KPX afii10095 afii10080 -13 -KPX afii10095 afii10083 -13 -KPX afii10095 afii10084 -13 -KPX afii10095 afii10086 -13 -KPX afii10095 afii10087 -20 -KPX afii10095 afii10097 -25 -KPX afii10096 afii10066 -13 -KPX afii10096 afii10072 -13 -KPX afii10096 afii10077 -25 -KPX afii10096 afii10078 -38 -KPX afii10096 afii10080 -13 -KPX afii10096 afii10083 -13 -KPX afii10096 afii10087 -40 -KPX afii10096 afii10089 -13 -KPX afii10096 afii10095 -13 -KPX afii10110 comma -50 -KPX afii10110 period -63 -KPX afii10110 colon -13 -KPX afii10110 semicolon -38 -KPX afii10110 guillemotleft 12 -KPX afii10110 guillemotright 12 -KPX afii10050 comma -25 -KPX afii10050 period -38 -KPX afii10050 colon 25 -KPX afii10050 guillemotleft 25 -KPX afii10050 guillemotright 25 -KPX pi zeta 16 -EndKernPairs -EndKernData -EndFontMetrics diff --git a/thirdparty/html2ps_pdf/fonts/timesi.ttf b/thirdparty/html2ps_pdf/fonts/timesi.ttf deleted file mode 100644 index 28798d3c6..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/timesi.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/verdana.ttf b/thirdparty/html2ps_pdf/fonts/verdana.ttf deleted file mode 100644 index 8f25a6423..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/verdana.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/verdanab.ttf b/thirdparty/html2ps_pdf/fonts/verdanab.ttf deleted file mode 100644 index e4391be2f..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/verdanab.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/verdanai.ttf b/thirdparty/html2ps_pdf/fonts/verdanai.ttf deleted file mode 100644 index 8542da3ae..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/verdanai.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/fonts/verdanaz.ttf b/thirdparty/html2ps_pdf/fonts/verdanaz.ttf deleted file mode 100644 index 476256a6b..000000000 Binary files a/thirdparty/html2ps_pdf/fonts/verdanaz.ttf and /dev/null differ diff --git a/thirdparty/html2ps_pdf/globals.inc.php b/thirdparty/html2ps_pdf/globals.inc.php deleted file mode 100644 index c9fe4d483..000000000 --- a/thirdparty/html2ps_pdf/globals.inc.php +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/globals.php b/thirdparty/html2ps_pdf/globals.php deleted file mode 100644 index 159ddbd67..000000000 --- a/thirdparty/html2ps_pdf/globals.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/height.php b/thirdparty/html2ps_pdf/height.php deleted file mode 100644 index c40d3b67d..000000000 --- a/thirdparty/html2ps_pdf/height.php +++ /dev/null @@ -1,230 +0,0 @@ -constant)) { return $hc1; }; - - // Second constraint is constant; first is not constant; - // return second, as it is more important - if (!is_null($hc2->constant)) { return $hc2; }; - - // Ok, both constraints are not constant. Check if there's any diapason - // constraints - - // Second constraint is free constraint, return first one, as - // if it is a non-free it should have precedence, otherwise - // it will be free constraint too - if (is_null($hc2->min) && is_null($hc2->max)) { return $hc1; }; - - // The same rule applied if the first constraint is free constraint - if (is_null($hc1->min) && is_null($hc1->max)) { return $hc2; }; - - // If we got here it means both constraints are diapason constraints. - return $hc1; -} - -// Height constraint class -// -// Height could be constrained as a percentage of the parent height OR -// as a constant value. Note that in most cases percentage constraint -// REQUIRE parent height to be constrained. -// -// Note that constraint can be given as a diapason from min to max height -// It is applied only of no strict height constraint is given -// -class HCConstraint { - var $constant; - var $min; - var $max; - - function applicable(&$box) { - if (!is_null($this->constant)) { - return $this->applicable_value($this->constant, $box); - } - - $applicable_min = false; - if (!is_null($this->min)) { - $applicable_min = $this->applicable_value($this->min, $box); - }; - - $applicable_max = false; - if (!is_null($this->max)) { - $applicable_max = $this->applicable_value($this->max, $box); - }; - - return $applicable_min || $applicable_max; - } - - /** - * Since we decided to calculate percentage constraints of the top-level boxes using - * the page height as the basis, all height constraint values will be applicable. - * - * In older version, percentage height constraints on top-level boxes were silently ignored and - * height was determined by box content - */ - function applicable_value($value, &$box) { - return true; - - // Constant constraints always applicable -// if (!$value[1]) { return true; }; - -// if (!$box->parent) { return false; }; -// return $box->parent->_height_constraint->applicable($box->parent); - } - - function _fix_value($value, &$box, $default, $no_table_recursion) { - // A percentage or immediate value? - if ($value[1]) { - // CSS 2.1: The percentage is calculated with respect to the height of the generated box's containing block. - // If the height of the containing block is not specified explicitly (i.e., it depends on content height), - // and this element is not absolutely positioned, the value is interpreted like 'auto'. - - /** - * Check if parent exists. If there's no parent, calculate percentage relatively to the page - * height (excluding top/bottom margins, of course) - */ - if (!isset($box->parent) || !$box->parent) { - global $g_media; - return mm2pt($g_media->real_height()) * $value[0] / 100; - } - - if (!isset($box->parent->parent) || !$box->parent->parent) { - global $g_media; - return mm2pt($g_media->real_height()) * $value[0] / 100; - } - -// if (!isset($box->parent)) { return null; } -// if (!$box->parent) { return null; } - - // if parent does not have constrained height, return null - no height constraint can be applied - // Table cells should be processed separately - if (!$box->parent->isCell() && - is_null($box->parent->_height_constraint->constant) && - is_null($box->parent->_height_constraint->min) && - is_null($box->parent->_height_constraint->max)) { - return $default; - }; - - if ($box->parent->isCell()) { - if (!$no_table_recursion) { - $rhc = $box->parent->parent->get_rhc($box->parent->row); - if ($rhc->is_null()) { return $default; }; - return $rhc->apply($box->parent->get_height(), $box, true) * $value[0] / 100; - } else { - return $box->parent->parent->get_height() * $value[0] / 100; - }; - }; - - return $box->parent->get_height() * $value[0] / 100; - } else { - // Immediate - return $value[0]; - } - } - - function &create(&$box) { - // Determine if there's constant restriction - $value = $box->getCSSProperty(CSS_HEIGHT); - - if ($value->isAuto($value)) { - $constant = null; - } elseif ($value->isPercentage()) { - $constant = array($value->getPercentage(), true); - } else { - $constant = array($value->getPoints(), false); - }; - - // Determine if there's min restriction - $value = $box->getCSSProperty(CSS_MIN_HEIGHT); - if ($value->isAuto($value)) { - $min = null; - } elseif ($value->isPercentage()) { - $min = array($value->getPercentage(), true); - } else { - $min = array($value->getPoints(), false); - }; - - // Determine if there's max restriction - $value = $box->getCSSProperty(CSS_MAX_HEIGHT); - if ($value->isAuto($value)) { - $max = null; - } elseif ($value->isPercentage()) { - $max = array($value->getPercentage(), true); - } else { - $max = array($value->getPoints(), false); - }; - - $constraint =& new HCConstraint($constant, $min, $max); - return $constraint; - } - - // Height constraint constructor - // - // @param $constant value of constant constraint or null of none - // @param $min value of minimal box height or null if none - // @param $max value of maximal box height or null if none - // - function HCConstraint($constant, $min, $max) { - $this->constant = $constant; - $this->min = $min; - $this->max = $max; - } - - function apply_min($value, &$box, $no_table_recursion) { - if (is_null($this->min)) { - return $value; - } else { - return max($this->_fix_value($this->min, $box, $value, $no_table_recursion), $value); - } - } - - function apply_max($value, &$box, $no_table_recursion) { - if (is_null($this->max)) { - return $value; - } else { - return min($this->_fix_value($this->max, $box, $value, $no_table_recursion), $value); - } - } - - function apply($value, &$box, $no_table_recursion = false) { - if (!is_null($this->constant)) { - $height = $this->_fix_value($this->constant, $box, $value, $no_table_recursion); - } else { - $height = $this->apply_min($this->apply_max($value, $box, $no_table_recursion), $box, $no_table_recursion); - } - - // Table cells contained in tables with border-collapse: separate - // have padding included in the 'height' value. So, we'll need to subtract - // vertical-extra from the current value to get the actual content height - // TODO - - return $height; - } - - function is_min_null() { - if (is_null($this->min)) { - return true; - }; - - return $this->min[0] == 0; - } - - function is_null() { - return - is_null($this->max) && - $this->is_min_null() && - is_null($this->constant); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/UML/Custom_fetcher_session.png b/thirdparty/html2ps_pdf/help/UML/Custom_fetcher_session.png deleted file mode 100644 index 9919903e0..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Custom_fetcher_session.png and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Data_filters.PNG b/thirdparty/html2ps_pdf/help/UML/Data_filters.PNG deleted file mode 100644 index 3d7f09fcb..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Data_filters.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Destinations.PNG b/thirdparty/html2ps_pdf/help/UML/Destinations.PNG deleted file mode 100644 index fdda12bdb..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Destinations.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Fetchers.PNG b/thirdparty/html2ps_pdf/help/UML/Fetchers.PNG deleted file mode 100644 index 47b5913cf..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Fetchers.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Layout_engines.PNG b/thirdparty/html2ps_pdf/help/UML/Layout_engines.PNG deleted file mode 100644 index 3c06fb0e9..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Layout_engines.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Multiple_fetcher_session.PNG b/thirdparty/html2ps_pdf/help/UML/Multiple_fetcher_session.PNG deleted file mode 100644 index f37f717a7..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Multiple_fetcher_session.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Output_drivers.PNG b/thirdparty/html2ps_pdf/help/UML/Output_drivers.PNG deleted file mode 100644 index 4452fdb64..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Output_drivers.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Output_filters.PNG b/thirdparty/html2ps_pdf/help/UML/Output_filters.PNG deleted file mode 100644 index 0fb5bf17a..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Output_filters.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Parsers.PNG b/thirdparty/html2ps_pdf/help/UML/Parsers.PNG deleted file mode 100644 index c3eddbee3..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Parsers.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Post_filters.PNG b/thirdparty/html2ps_pdf/help/UML/Post_filters.PNG deleted file mode 100644 index cafc3e14e..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Post_filters.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Pre_filters.PNG b/thirdparty/html2ps_pdf/help/UML/Pre_filters.PNG deleted file mode 100644 index ee18f0e13..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Pre_filters.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Simple_custom_fetcher_session.png b/thirdparty/html2ps_pdf/help/UML/Simple_custom_fetcher_session.png deleted file mode 100644 index a3210d356..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Simple_custom_fetcher_session.png and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/UML/Simple_fetcher_session.PNG b/thirdparty/html2ps_pdf/help/UML/Simple_fetcher_session.PNG deleted file mode 100644 index 1d6a1382e..000000000 Binary files a/thirdparty/html2ps_pdf/help/UML/Simple_fetcher_session.PNG and /dev/null differ diff --git a/thirdparty/html2ps_pdf/help/api.html b/thirdparty/html2ps_pdf/help/api.html deleted file mode 100644 index e3d5a0d75..000000000 --- a/thirdparty/html2ps_pdf/help/api.html +++ /dev/null @@ -1,409 +0,0 @@ - - -API description - - - - - -

Beware: GLOBALS!

-

-At the moment, the layout/conversion engine makes use of several global variables: -

    -
  • $g_config array (in particular, $g_config['renderforms'], $g_config['renderlinks'], $g_config['renderimages'], - $g_config['debugbox'], $g_config['mode'], $g_config['cssmedia'] and $g_config['draw_page_border'] - elements for all output methods and $g_config['ps2pdf'] and $g_config['transparency_workaround'] for - 'fastps' output method.
  • -
  • $g_px_scale
  • -
  • $g_pt_scale
  • -
-Please take this into account while using API. We're planning to get rid of these globals eventually. For a while, -you may initialize these global with the code from samples above. -

-

-Also, there's some global items script initializes itself: -

    -
  • $g_box_uid
  • -
  • $g_colors
  • -
  • $__g_css_manager
  • -
  • $__g_css_handler_set
  • -
  • $g_encoding_aliases
  • -
  • $g_frame_level
  • -
  • $g_font_resolver
  • -
  • $g_font_resolver_pdf
  • -
  • $g_html_entities
  • -
  • $g_image_cache
  • -
  • $g_last_assigned_font_id
  • -
  • $g_manager_encodings
  • -
  • $g_media
  • -
  • $g_predefined_media
  • -
  • $g_stylesheet_title
  • -
  • $g_tag_attrs
  • -
  • $g_unicode_glyphs
  • -
  • $g_utf8_converters
  • -
-There's no need to initialize or modify these variables; just don't accidentally overwrite them. Some of them -are here for "historical" reasons and will be eventually removed. Some are here due lack of static class variables -in older PHP versions. -

- -

Conversion pipeline

-
-PipelineFactory is a simple factory class simplifying building of Pipeline instances; -create_default_pipeline() will build a simple ready-to-run conversion pipeline. The usage of -PipelineFactory is not required; you may create the Pipeline object and fill -the appropriate fields manually. - -
-class PipelineFactory {
-  function create_default_pipeline();
-}
-
-
- -
-Pipeline class describe the process of conversion as a whole; it contains references to classes, described -above and is responsible for calling them in correct order and error handling. -
-class Pipeline {
-  var $fetchers;
-  var $data_filters;
-  var $parser;
-  var $pre_tree_filters;
-  var $layout_engine;
-  var $post_tree_filters;
-  var $output_driver;
-  var $output_filter;
-  var $destination;
-
-  function Pipeline();
-
-  function configure($options);
-  function process($data_id, &$media);
-  function process_batch($data_id_array, &$media);
-  function error_message();
-
-  function &get_dispatcher();
-}
-
-
- -
- -

Description of interfaces and classes

- -
-Almost all interfaces described below include -error_message method. -It should return the user-readable description of -the error. This description MAY contain HTML tags, but should remain -readable in case tags are removed. -
- -
-

Fetcher interface provides a method of -fetching the data required -to build a document tree. Normally, classes implementing this interface would -fetch an HTML/XHTML string from somewhere (e.g. from remove HTTP server, -local file or database). Nevertheless, it MAY fetch ANY data provided that -this data will be understood by parser. The pipeline object may contain -several fetcher objects; in this case they're used one-by-one until -one of them return non-null value.

- -

It is assumed that if you need to get data from non-standard places (e.g. from template engine or database), you -should implement Fetcher in your own class.

- -

-Note that the get_data method returns the FetchedData object (or one of its descendants) instead of -HTML string! -

-
- - - -
-
get_data($data_id)
-
-Fetches the URL and returns page content and supplementary information. -
    -
  • $data_id – URI identifying the page location
  • -
-
- -
get_base_url()
-
Returns URL to be used as the base url when resolving relative links
-
- -
-FetcherURL reads remote HTML page via HTTP or HTTPS. -
- -
-FetcherLocalFile reads local file; in this case $data_id should contain path to the file to be read. -
- -
-DataFilter interface describes the filters modifying the raw input data. -The main purpose of these filters is to fix the raw data so that it can be -processed by parser without errors. -
- - - -
-
process($data)
-
-Processes the FetchedData object and returns another FetchedData object with (probably) modified content -
    -
  • $data – FetchedData object
  • -
-
-
- -
-DataFilterDoctype tries to detect the mode this document should be rendered in (HTML, XHTML, QUIRKS). -
- -
-DataFilterHTML2XHTML -The precise description of this filter actions are beyond the scope of this -document. In general, it makes the input document a wellformed XML document -(possibly throwing out invalid parts, by the way). Note that it is achieved -by extensive use of regular expressions; no XML/HTML parsers involved -in conversion at this stage. -
- -
-DataFilterXHTML2XHTML does some additional XHTML processing required for the -script; for example, it removes comments, SCRIPT tags and does some other steps simplifying -document processing. -
- -
-DataFilterUTF8 converts content from the source encoding to UTF-8. It is a good idea -to use this filter if you're not limited by ASCII encoding. -
- -
-Parser interface provides a method of building the DOM tree from the -filtered data. -
- - - -
-
process($data)
-
-Processes the FetchedData object and returns the document tree (somewhat similar to DOM) object. -
    -
  • $data – FetchedData object
  • -
-
-
- -
-ParserXHTML -
- -
-PreTreeFilter interface describes a procedure of document tree transformation executed before -the layout engine starts. -
- - - -
-
process($data)
-
-Make some modifications in document tree (in-place) before the layout engine have been run. -
    -
  • $data – Document tree object
  • -
-
-
- -
-PreTreeFilterHTML2PSFields handles the processing -of special fields (such a date, page count, page number, etc.). -
- -
-PreTreeFilterHeaderFooter adds script-generated header and footer to the document tree. -
- -
-LayoutEngine interface of a class processing -of the document tree and calculating positions of page elements. In theory, different implementations -of this interface will allow us to use "lightweight" layout engines in case we do -not need full HTML/CSS support. -
- - - -
-
process($data)
-
-Runs the layout process (document tree object is modified in-place). -
    -
  • $data – Document tree object
  • -
-
-
- -
-LayoutEngineDefault - a standard layout engine HTML2PS uses. -
- -
-PostTreeFilter interface describes a procedure of document tree transformation executed after -the layout engine completes. -
- - - -
-
process($data)
-
-Apply some changes to document tree (in-place) after the layout engine have been run. -
    -
  • $data – document tree object
  • -
-
-
- -
OutputDriver interface contains device-specific functions - drawing, movement, fonts selection, etc. -In general, description of this interface is beyond the scope of this document, as users are not intended -to implement this interface themselves. Instead, they would use pre-defined output drivers described below. -
- - - -
-OutputDriverPDFLIB outputs PDF using PDFLIB. -
- -
-OutputDriverFPDF outputs PDF using FPDF -
- -
-OutputDriverFastPS handles Postscript Level 3 output. -
- -
-OutputDriverFastPSLevel2 handles Postscript Level 2 output. -
- -
-OutputFilter interface describes the filter applied to generated PS or PDF file. -
- - - -
-OutputFilterPS2PDF runs the PS2PDF utitity on the generated file. -
- -
-OutputFilterGZIP compresses generated file using ZLIB. -
- -
-Destination interface describes the "channel" object which determines where the final output file -should be placed. -
- - - -
-DestinationBrowser outputs the generated file directly to the browser. -
- -
-DestinationDownload outputs the generated file directly to the browser. -Unlike DestinationBrowser, this class send headers preventing the file from being opened directly -in the browser window. -
- -
-DestinationFile saves generated file on the server side. -
- -

Implementing your own fetcher class

-

-Sometimes you may need to convert HTML code taken from database or from other non-standard sources. -In this case you should implement Fetcher interface yourself, returning the string to be converted -from the get_data method. Additional parameters (like database connection settings, -template variables, etc) may be specified either as globals (not recommended, though), passed as a parameters -to constructor of fetcher object or as $dataId parameter of get_data method. -

-

-Keep in mind that if you're including files from your HTML code (e.g. stylesheets or images), you should either -return null from your fetcher for URL of these files, or handle them yourself. Unless you do it, -these files will not be available. -

- -
-class MyFetcherLocalFile extends Fetcher {
-  var $_content;
-
-  function MyFetcherLocalFile($file) {
-    $this->_content = file_get_contents($file);
-  }
-
-  function get_data($dummy1) {
-    return new FetchedDataURL($this->_content, array(), "");
-  }
-
-  function get_base_url() {
-    return "";
-  }
-}
-
- -Also see sample.simplest.from.file.php and sample.simples.from.memory.php files. - -

Class dependencies

-The pipeline object contains the following: -
    -
  • one or more objects implementing Fetcher interface;
  • -
  • zero or more objects implementing DataFilter interface;
  • -
  • one object implementing Parser interface;
  • -
  • zero or more objects implementing PreTreeFilter interface;
  • -
  • one object implementing LayoutEngine interface;
  • -
  • zero or more objects implementing PostTreeFilter interface;
  • -
  • one object implementing OutputDriver interface;
  • -
  • one object implementing Destination interface;
  • -
- -No other dependencies between class in interfaces (except "implements"). - -Note that order of filters is important; imagine you're using some king of tree filter which adds header block -containing HTML2PS-specific fields. In this case you must add this filter before PostTreeFilterHTML2PSFields, or -you'll get raw field codes in generated output. - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/api_events.html b/thirdparty/html2ps_pdf/help/api_events.html deleted file mode 100644 index f9262bf7e..000000000 --- a/thirdparty/html2ps_pdf/help/api_events.html +++ /dev/null @@ -1,95 +0,0 @@ - - -Events - - - - - -

Events

-

-Sometimes you'd want to add your own code to the rendering routines; for example, you could want to make your own watermarks, -count pages in the multiple-document batch, add digital signature to the generated PDF file or -perform any other actions requiring low-level access to PDF file at the certain moments. Now you may do this using -HTML2PS events. Pipeline object will fire events at predefined moments while rendering PDF file; you may catch them and -do something useful. -

- -

The code below illustrates installation of a simple callback to be called immediately after -new page was rendered. (If you're using PHP 5, you can write this way more elegant, but we're keeping PHP 4 compatibility here)

-
-$dispatcher =& $pipeline->get_dispatcher();
-$dispatcher->add_observer('after-page', 'my_watermark_callback_func');
-
- -

-A single parameter is passed to the callback function: an associative array containing information related to event. -

- -

Following events are available:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameFired…Event information
after-batchafter all documents in current batch were renderedpipeline: reference to current pipeline object
after-documentafter all pages in a current document were renderedpipeline: reference to current pipeline object; document: reference to the body box object
after-pageafter all elements were rendered on current page, but before new page is added.pipeline: reference to current pipeline object; document: reference to the body box object; pageno: current page number (1-based)
before-batchbefore new document batch starts renderingpipeline: reference to current pipeline object
before-documentbefore new document in a batch starts renderingpipeline: reference to current pipeline object; document: reference to the body box object
before-pageafter new blank page is added to the PDF document but before any elements are renderedpipeline: reference to current pipeline object; document: reference to the body box object; pageno: current page number (1-based)
- - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/api_fetchers.html b/thirdparty/html2ps_pdf/help/api_fetchers.html deleted file mode 100644 index 4a652ec65..000000000 --- a/thirdparty/html2ps_pdf/help/api_fetchers.html +++ /dev/null @@ -1,70 +0,0 @@ - - -How do "fetchers" work? - - - - - -

How do "fetchers" work?

-

-Basically, "fetcher" is a simple object responsible for delivering external files to the script. -Default fetcher object supplied with html2ps/pdf fetches HTML, images and CSS from remote sites using HTTP protocol. -If you're using your own fetcher, you need to implement 'get_data' function returning contents of requested file and, -probably, 'get_base_url', returning URL to be used as a base one while resolving relative URLs in recently fetched HTML file. -

- -

-The image below illustrates simple html2ps session using default fetcher while converting html file from abstract test.com site. -

- - - -

-If you have pages stored on your local system or dynamically generated and kept in memory, you don't need to use HTTP protocol to fetch them. -In this case, you should use custom fetcher, so session will look similar to image below. Note that fetcher processes all requests, -returning valid content for all requests; this makes difference from the very simple fetcher supplied with html2ps, which does always -return memory string content whatever the request is. Internals of the fully-featured fetcher will depend on your system architecture greatly, -so most likely such fetcher will never be included to html2ps distribution. -

- - - -

-The image below illustrates why images and external stylesheets are not rendered when you're using too simple fetcher object. -

- - - -

-Sometimes you need to fetch files from different places; for example, HTML code is generated locally, while images and CSS files should be fetched via -HTTP protocol. In this case you'll need to use several fetchers at once, as illustrated below. Note that in this case you need to implement 'get_base_url' -function returning correct URL so script will be able to resolve relative URLs contained in HTML code. -

- - - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/api_samples.html b/thirdparty/html2ps_pdf/help/api_samples.html deleted file mode 100644 index e117e59f2..000000000 --- a/thirdparty/html2ps_pdf/help/api_samples.html +++ /dev/null @@ -1,139 +0,0 @@ - - -Minimal code samples - - - - - -

Minimal code

-

Using the default pipeline

-
-require_once('pipeline.factory.class.php');
-parse_config_file('./html2ps.config');
-
-global $g_config;
-$g_config = array(
-                  'cssmedia'     => 'screen',
-                  'renderimages' => true,
-                  'renderforms'  => false,
-                  'renderlinks'  => true,
-                  'mode'         => 'html',
-                  'debugbox'     => false,
-                  'draw_page_border' => false
-                  );
-
-$media = Media::predefined('A4');
-$media->set_landscape(false);
-$media->set_margins(array('left'   => 0,
-                          'right'  => 0,
-                          'top'    => 0,
-                          'bottom' => 0));
-$media->set_pixels(1024);
-
-global $g_px_scale;
-$g_px_scale = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']) / $media->pixels;
-
-global $g_pt_scale;
-$g_pt_scale = $g_px_scale * 1.43; 
-
-$pipeline = PipelineFactory::create_default_pipeline("","");
-$pipeline->process('http://www.google.com', $media); 
-
- -

Building your own conversion pipeline

-
-require_once('pipeline.class.php');
-parse_config_file('html2ps.config');
-
-$g_config = array(
-                  'cssmedia'     => 'screen',
-                  'renderimages' => true,
-                  'renderforms'  => false,
-                  'renderlinks'  => true,
-                  'mode'         => 'html',
-                  'debugbox'     => false,
-                  'draw_page_border' => false
-                  );
-
-$media = Media::predefined('A4');
-$media->set_landscape(false);
-$media->set_margins(array('left'   => 0,
-                          'right'  => 0,
-                          'top'    => 0,
-                          'bottom' => 0));
-$media->set_pixels(1024);
-
-$g_px_scale = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']) / $media->pixels;
-$g_pt_scale = $g_px_scale * 1.43; 
-
-$pipeline = new Pipeline;
-$pipeline->fetchers[]     = new FetcherURL;
-$pipeline->data_filters[] = new DataFilterHTML2XHTML;
-$pipeline->parser         = new ParserXHTML;
-$pipeline->layout_engine  = new LayoutEngineDefault;
-$pipeline->output_driver  = new OutputDriverFPDF($media);
-$pipeline->destination    = new DestinationFile(null);
-
-$pipeline->process('http://www.yahoo.com', $media); 
-
- -

Running the script in batch mode

-
-require_once('pipeline.factory.class.php');
-parse_config_file('./html2ps.config');
-
-global $g_config;
-$g_config = array(
-                  'cssmedia'     => 'screen',
-                  'renderimages' => true,
-                  'renderforms'  => false,
-                  'renderlinks'  => true,
-                  'mode'         => 'html',
-                  'debugbox'     => false,
-                  'draw_page_border' => false
-                  );
-
-$media = Media::predefined('A4');
-$media->set_landscape(false);
-$media->set_margins(array('left'   => 0,
-                          'right'  => 0,
-                          'top'    => 0,
-                          'bottom' => 0));
-$media->set_pixels(1024);
-
-global $g_px_scale;
-$g_px_scale = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']) / $media->pixels;
-
-global $g_pt_scale;
-$g_pt_scale = $g_px_scale * 1.43; 
-
-$pipeline = PipelineFactory::create_default_pipeline("","");
-$pipeline->process_batch(array('http://www.google.com',
-                               'http://www.yahoo.com'), $media); 
-
- - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/calling.html b/thirdparty/html2ps_pdf/help/calling.html deleted file mode 100644 index 56e25a585..000000000 --- a/thirdparty/html2ps_pdf/help/calling.html +++ /dev/null @@ -1,281 +0,0 @@ - - -html2ps/html2pdf script parameters - - - -

html2ps/pdf script parameters

- -

Back to table of contents

- -

Note that parameter names are case-sensitive. This script accepts parameters - passed using both the GET and POST methods. Script parameters (in alphabetical order) are:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterDescription
batch[] -Specify a list of URL for "batch-processing" mode here. -Note that ##PAGES## directive will not work in this case. -
compressSet this option to generate compressed Postscript files. You'll probably - only need this option only if you're working with Postscript (NOT PDF) files - via Adobe Acrobat Distiller, as it does not support compressed Postscript. - In any other case, use compressed Postscript, as it will save on bandwidth. -

PDF files may be compressed, but you will need to unpack them manually before viewing.

cssmediaHTML page can contain stylesheets for different target media types; for - example, the printable version of a page may have navigation panes and banners - hidden, while the version for handhelds may be specially formatted to work - on small displays and so on. By setting the value of this parameter, you - determine which set of CSS rules will be used during PS/PDF rendering.
debugbox -

Set this option if you want to see boundaries of all boxes generated by the script. -It is unlikely you'll need this option, as it is mostly for debugging purposes.

-

Please note if you're using this option that the script renders the content -boundary which is different from the "normal" box border!

encodingEncoding can usually be automatically detected using HTTP response header - or META tags inside the HTML. Sometimes, encoding information is missing; - you can specify encoding name as a value of this parameter.
footerhtmlHTML string containing text to insert to every page footer. -You may use 'style' attribute to control header/footer appearance; for example, -
-<div style="background: red;">SOME TEXT</div>
-
-Note this string must be (almost) valid XHTML (almost means that HTML/HEAD/BODY tags may be omitted). In particular, -you should replace &,< and > with &amp;,&lt and &gt; correspondingly. -For more sophisticated -control over the header/footer data, please refer to CSS 3 margin boxes -
headerhtmlHTML string containing text to insert to every page header. -You may use 'style' attribute to control header/footer appearance; for example, -
<div style="background: red;">SOME TEXT</div>
-Note this string must be (almost) valid XHTML (almost means that HTML/HEAD/BODY tags may be omitted). In particular, -you should replace &,< and > with &amp;,&lt and &gt; correspondingly. All tags should be -closed (including self-closing tags like BR or IMG). - For more sophisticated -control over the header/footer data, please refer to CSS 3 margin boxes -
html2xhtmlIf you're absolutely sure you have valid strict XHTML page, you can set - this option to disable HTML-to-XHTML conversion and speed up script execution - a little. In any other case, do not set this option, as the script will - not work with non-well-formed XML. Use this option at your own risk; if you encounts any - errors first enable the HTML-to-XHTML conversion.
landscapeSet this parameter to rotate the media to landscape orientation. Please - note that the 'virtual resolution' will remain the same; all page content - will be scaled to fit the new page width.
leftmargin, rightmargin, topmargin, bottommarginPage margins (millimeters). Note that you may calculate top and bottom margin height automatically - to fit header/footer content by specifying zero values for topmargin AND bottommargin at the same time.
mediaName of predefined media to use. Note that media name is case-sensitive!
methodThis option determines the type of script output: -
    -
  • fastps -- Postscript;
  • -
  • pdflib -- PDF generated using PDFLIB;
  • -
  • fpdf -- PDF generated using FPdf
  • -
-
outputThe value of this parameter determines how the generated file will be - handled: -
    -
  • 0 -- PDF file will be opened immediately (possibly in the same browser - window). Note it will not work for Postscript files in most cases, they - will be downloaded as usual;
  • -
  • 1 -- user will be prompted to download generated file;
  • -
  • 2 -- generated file will be stored - on the server;
  • -
-
pageborderSet this parameter if you want the page border to be printed.
pdfversionThis option determines the compatibility level of PDF to be generated; - the higher level you use, more features can this PDF contain. On the other - hand, high-level PDFs may not be readable by older viewer versions: -
    -
  • 1.2 (Acrobat Reader 3)
  • -
  • 1.3 (Acrobat Reader 4)
  • -
  • 1.4 (Acrobat Reader 5)
  • -
  • 1.5 (Acrobat Reader 6)
  • -
-
pixels -

'Virtual screen' horizontal resolution used during the page rendering - process. As you know, a lot of HTML pages contain dimensions set in pixels - -- images, in most cases, but sometimes fonts. Postscript/PDF files do - not have "pixels", all dimensions are measured in "points" - so we need to provide information about the pixel/point ratio. In our - case, this ratio can be calculated as follows:

-
R = (page full width in points - page horizontal margins in points) / virtual resolution
- -

Thus, you can specify resolution in 800 pixels and make pages designed - for 800x600 resolution to fit your printed page exactly.

-

index.php provides three default values for this parameter: - 640, 800 and 1024; if you need more exotic value, say 945, you may specify - this in the script query string manually and still get correct results.

-

Please note that pages may be cut off on the right side if they're designed for the higher resolution -than you've specified (for example, if they have hardcoded table widths or wide images). It is a feature. -In such cases please consider increasing 'pixels' value.

-
process_modeSet this parameter to 'batch' to process several URLs at once and merge results in one PDF file; -if this parameter have any other value, script runs in normal "single-url" mode.
pslevel -If this parameter have value of '3', the script will generate Postscript Level 3; -otherwise – Postscript Level 2. Default value is '3'. This parameter does not affect PDF generation. -
ps2pdfFlag indicating whether script should convert generated Postscript file to PDF using Ghostscript utility. -Note that generally script does not prevent you to enable this filter for 'fpdf' and 'pdflib' methods, but -this will result in conversion error.
renderfieldsFlag indicating whether script should render special fields like ##PAGE##. Fields will be rendered if this parameter -is present (even if it has empty value)
renderformsFlag indicating whether script should render interactive form controls. Forms will be rendered if this parameter -is present (even if it has empty value)
renderimagesFlag indicating whether script should fetch and render image files. Images will be rendered if this parameter -is present (even if it has empty value)
Flag indicating whether script should render internal and external hyperlinks. Links will be rendered if this parameter -is present (even if it has empty value)
scalepoints -

When a page contains both device-dependent (in pixels) and device-independent - (in points) dimensions, we're in trouble. For example, imagine a page - containing absolute-positioned text inside the image; in this case, as - display and paper have different sizes, point/pixel ratio will be different - in the browser window and file rendered by the script, possilibly breaking - the page layout. To prevent this, the scalepoint option is used. -

- -

If this parameter is set, the HTML page "points" are scaled - to keep the mentioned ratio, so if you print the resulting file and measure - fonts, they will be smaller than you expect, but the page layout will - be exactly the same as you see in browser window (well, close to it). - If you want fonts to have their real size, disable this option.

- -

Note that this additional scaling applies to points only; such units as in, cm, mm and pc -are not affected by this option.

URL -

-URL you're going to convert (page should be available via either http -or https). Note that the http:// prefix is prepended to -this value automatically in case no http or https protocol part is found, -thus you may set the value of this parameter, for example, to www.google.com, -not http://www.google.com. -

-

-Note that if you're trying to use URL containing GET request (e.g. http://www.google.com/search?q=test), -you must apply urlencode function -to this url. -

-
watermarkhtmlHTML string containing text to display across every page.
- -Top↑ - -
 
- - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/compatibility.css.2.1.html b/thirdparty/html2ps_pdf/help/compatibility.css.2.1.html deleted file mode 100644 index ad2dd0e42..000000000 --- a/thirdparty/html2ps_pdf/help/compatibility.css.2.1.html +++ /dev/null @@ -1,654 +0,0 @@ - - -html2ps/html2pdf CSS 2.1 Compatibility List - - - -

html2ps/pdf CSS 2.1 Compatibility List

- -

Back to table of contents

- -

Selectors

- -

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertySupportNote
azimuthN/Aaural media group
background-attachmentN/A
background-colorYes
background-imageYesnot all output methods support transparent images
background-positionYes
background-repeatYes
backgroundYesbackground-attachment subproperties are ignored
border-collapseYes
border-colorYes
border-spacingNo
border-styleYes
-border-top, -border-right, -border-bottom, -border-left -Yes
-border-top-color, -border-right-color, -border-bottom-color, -border-left-color -Yes
-border-top-style, -border-right-style, -border-bottom-style, -border-left-style -Yes
-border-top-width, -border-right-width, -border-bottom-width, -border-left-width -Yes
border-widthYes
borderYes
bottomYes
caption-sideNo
clearYes
clipNo
colorYes
contentPartialOnly 'normal', 'inherit' and <string> value is supported
counter-incrementNo
counter-resetNo
cue-afterN/Aaural
cue-beforeN/Aaural
cueN/Aaural
cursorN/Ainteractive
directionNo
displayPartial
elevationN/Aaural
empty-cellsNo
floatYes
font-family -Partial - -'cursive' and 'fantasy' generic font families are not supported. -Custom font families should be explicitly installed by an user.
font-sizeYes
font-styleYes
font-variantNo
font-weightYesOnly two weight gradations are available: bold and normal font
fontPartial'caption', 'icon', 'menu', 'message-box', 'small-caption' and 'status-bar' values are not supported.
heightYes
leftYes
letter-spacingYes
line-heightYes
list-style-imageYes
list-style-positionYes
list-style-typePartial'lower-greek', 'armenian' and 'georgian' values are not supported
list-styleYes
margin-right, margin-leftYes
margin-top, margin-bottomYes
marginYes
max-heightYes
max-widthNo
min-heightYes
min-widthPartial, 'inherit' and percentage values not supported
orphansNo
outline-colorN/Ainteractive
outline-styleN/Ainteractive
outline-widthN/Ainteractive
outlineN/Ainteractive
overflowYesNote that 'auto' and 'scroll' values are treated as 'hidden', as generated PDF is not interactive
padding-top, -padding-right, padding-bottom, -padding-leftYes
paddingYes
page-break-afterPartialOnly 'always' value is supported
page-break-beforeNo
page-break-insideNo
pause-afterN/Aaural
pause-beforeN/Aaural
pauseN/Aaural
pitch-rangeN/Aaural
pitchN/Aaural
play-duringN/Aaural
positionYesCSS 3 'position: footnote' is supported in addition to standard CSS 2.1 values
quotesNo
richnessN/Aaural
rightYes
speak-headerN/Aaural
speak-numeralN/Aaural
speak-punctuationN/Aaural
speakN/Aaural
speech-rateN/Aaural
stressN/Aaural
table-layoutNo
text-alignYes
text-decorationPartial -

'blink' value is ignored, as rendered PDF is static. -

'text-decoration' currently inherited by all descendants, while CSS 2.1 declares that -

-It is not, however, further propagated to floating and absolutely positioned descendants, -nor to the contents of 'inline-table' and 'inline-block' descendants. -
-
text-indentYes
text-transformYes
topYes
unicode-bidiNo
vertical-alignPartial -

For inline elements, values 'text-top' and 'text-bottom', percentages and lengths are not supported. -

Nested aligned subtrees are not supported -

visibilityPartial'collapse' value is not supported
voice-familyN/Aaural
volumeN/Aaural
white-spacePartial'pre-wrap' and 'pre-line' values not supported
widowsNo
widthYes
word-spacingYes
z-indexPartialSupported for absolute-positioned boxes only; only numeric values are supported
- -html2ps/pdf (c) TUFaT.com - - diff --git a/thirdparty/html2ps_pdf/help/compatibility.css.3.html b/thirdparty/html2ps_pdf/help/compatibility.css.3.html deleted file mode 100644 index 1abcdb8c1..000000000 --- a/thirdparty/html2ps_pdf/help/compatibility.css.3.html +++ /dev/null @@ -1,86 +0,0 @@ - - -html2ps/html2pdf CSS 3 Compatibility List - - - -

html2ps/pdf CSS 3 Compatibility List

- -

Back to table of contents

- -

Margin boxes

-

-html2ps supports margin boxes in accordance to CSS 3. For example, you may render a header -using the following CSS code: -

-@page {
-  @top-left {
-    content: "My Page";
-  }
-  @top-right {
-    content: "Page " counter(page) " of " counter(pages);
-  }
-}
-
-

-

-As an extension of the margin box specification, html2ps provides '-html2ps-html-content' -property. In general, it is similar to 'content' property, except the resulting string -is processed by HTML parser. Thus, you may use HTML tags in this property value. -

-@page {
-  @top-left {
-    -html2ps-html-content: "&lt;span style=&quot;font-weight: bold;&quot;&gt;My&lt;/span&gt; Page";
-  }
-  @top-right {
-    content: "Page " counter(page) " of " counter(pages);
-  }
-}
-
-

-

-Note that you may set text formatting using usual CSS propeties in margin box context: -

-@page {
-  @top-left {
-    color: red;
-    content: "My Page";
-  }
-  @top-right {
-    content: "Page " counter(page) " of " counter(pages);
-  }
-}
-
-

-

-For further information please refer to -CSS 3 Paged Media Module. -Note that html2ps at the moment does not support setting page size and margins via CSS. -

- -

Footnotes

- -

Properties

- - - - - - - - - - - - - - - - - - -
PropertySupportNote
- -html2ps/pdf (c) TUFaT.com - - diff --git a/thirdparty/html2ps_pdf/help/configuration.html b/thirdparty/html2ps_pdf/help/configuration.html deleted file mode 100644 index 35137d10e..000000000 --- a/thirdparty/html2ps_pdf/help/configuration.html +++ /dev/null @@ -1,255 +0,0 @@ - - -html2ps/html2pdf configuration files and options - - - -

html2ps/pdf configuration files and options

-

Back to table of contents

- -

Currently, configuration is done both via configuration file (html2ps.config) - and configuration constants inside the config.inc.php file. -

html2ps.config, Common configuration options

- - - - - - - - - - - - -

Common directives in html2ps.config
-

OptionAppears atDescription
mediaTop level Defines the output media size. This tag should have three arguments: -
    -
  • name – media name; you'll be able to refer to this media - by name while calling the script;
  • -
  • width – media width in millimetres;
  • -
  • height – media height in millimetres.
  • -
-
- -

html2ps.config, Postscript and Ghotscript configuration

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Postscript-specific directives in html2ps.config

-
OptionAppears atDescription
fontsTop levelContains information about font-family value to Postscript font name mappings. - See descrripton of nested directives.
family/fontsContains information about particular font-family value mapping. Attributes: -
    -
  • name – value of 'font-family' property being mapped.
  • -
-
encoding-override/fonts, /fonts/familyContains information about exceptions in font-family mappings. Attributes: -
    -
  • name – comma-separated list of encodings to apply this rule - for.
  • -
- For example, normally 'times' family is mapped to /Times-Roman font. On - the other hand, this standard font does not contain cyrillic symbols, so - when one of the cyrillic encodings is met, 'times' will be mapped to /TimesCyr-Medium.
alias/fontsList of font-family aliases. Attributes: -
    -
  • alias – font family alias to be translated
  • -
  • family – real font family name for this alias
  • -
- Note that alias resolving is done once, so there's not much use of constructions - similar to -
-  <alias alias="verdana" family="arial"/>
-  <alias alias="arial" family="helvetica"/>
-
-
metrics/fonts - Reference to a font metric file for this font family. Attributes: -
    -
  • typeface – typeface name (refers to the ones used in normal, - italic and oblique attributes)
  • -
  • file – name of the font metric (AFM) file (searched in TYPE1_FONT_REPOSITORY directory)
  • -
-
normal/fonts/family, /fonts/family/encoding-override, /encoding-overrideSystem font names for normal font variant. Attributes: -
    -
  • normal – font name for roman (non-italic) font
  • -
  • italic – font name for italic font
  • -
  • oblique – font name for oblique font
  • -
-
bold/fonts/family, /fonts/family/encoding-override, /encoding-overrideSystem font names for bold font variant. Attributes: -
    -
  • normal – font name for bold roman (non-italic) font
  • -
  • italic – font name for bold italic font
  • -
  • oblique – font name for bold oblique font
  • -
-
- -

html2ps, config PDFLIB/FPDF configuration

- - - - - - - - - - - - - - - - - - - -

PDFLIB-specific directives in html2ps.config

OptionAppears atDescription
fonts-pdfTop levelContains information about font-family value to PDF font name mappings. - Note that nested directives and their meanings are the same as for the fonts - directive, except that they're applied when PDFLIB is used.
ttffonts-pdfDefines mapping of typefaces to available TrueType fonts. Attributes: -
    -
  • typeface – typeface name (refers to the ones used in normal, italic and oblique attributes)
  • -
  • file – name of the TTF file (searched in TTF_FONTS_REPOSITORY directory) -
  • embed – flag indicating whether this font file should be embedded in generated PDF (0 - not embedded, 1 - embedded).
-
- -

config.inc.php, Common configuration options

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Common configuration constants

NameDescription
HTML2PS_DIR -Path to directory on server where HTML2PS script files reside. All HTML2PS-specific directories and -paths are relative to this directory. -
DEFAULT_USER_AGENT -Value of the 'User-Agent' HTTP header which will be sent by PHP when fetching files from remote server. -
OUTPUT_DEFAULT_NAME -Default PDF or PS file name to use when no filename have been specified via API. -
DEFAULT_ENCODING -Default encoding to use when no encoding information is available (e.g. encoding was specified neither in -HTTP headers nor in META tag of HTML page). -
- -

config.inc.php, Postscript options

- - - - - - - - - - - - - - - - - -

Postscript-related constants

NameDescription
GS_PATH -Path to your Ghostscript executable. Note to Windows users! Ghostscript distribution includes two executables: gswin32.exe -(GUI version) and gswin32c.exe (command-line version). You should provide path to command-line version -only! -
TYPE1_FONTS_REPOSITORY -Path to font metric (AFM) files. Usually AFM files are packaged together with Ghostscript in 'fonts' subdirectory; -in some Linux distibutions you should install 'ghostscript-fonts' package to get font metrics. -
- -

config.inc.php, PDFLIB options

- - - - - - - - - - - - - - - - - - - - - - -

PDFLIB-related constants

NameDescription
PDFLIB_DL_PATH -Path to PDFLIB dynamically loaded library. If no "pdf" extension loaded, script attempts to call "dl" with -PDFLIB_DF_PATH as argument. -
PDFLIB_LICENSE -Your PDFLIB license key. -
TTF_FONTS_REPOSITORY -Path to directory containing a set of True-Type font files to be used by PDFLIB. -
- - - diff --git a/thirdparty/html2ps_pdf/help/css/help.css b/thirdparty/html2ps_pdf/help/css/help.css deleted file mode 100644 index 94fae7c58..000000000 --- a/thirdparty/html2ps_pdf/help/css/help.css +++ /dev/null @@ -1,127 +0,0 @@ -body { - color:#000; - background-color:#fff; - margin:10px; - font-family:arial, helvetica, sans-serif; - color:#000; - font-size:12px; - line-height:18px; -} - -p, td { - color:#000; - font-size:12px; - line-height:18px; - margin-top:12px; - margin-bottom:12px; -} - -h1 { - font-family:arial, helvetica, sans-serif; - color:#669; - font-size:27px; - letter-spacing:-1px; - margin-top:12px; - margin-bottom:12px; -} - -h2 { - font-family:arial, helvetica, sans-serif; - color:#669; - font-size:18px; - letter-spacing:-1px; - margin-top:12px; - margin-bottom:12px; -} - -input,textarea,select { - background-color:#eeeeee; - border: 1px solid #045564; -} - -img { - border:0px; -} - -fieldset { - border: #26a solid 1px; - margin-left:10px; - padding-bottom:0px; - padding-top:0px; - margin-top:10px; -} - -legend { - background: #eee; - border: #26a solid 1px; - padding: 1px 10px; - font-weight:bold; -} - -.submit { - background-color:#669; - color:#fff; -} - -.nulinp { - border:0px; - background-color:#fff; -} - -.hand { - cursor: pointer; -} - -li ol { - list-style-type: lower-latin; -} - -caption { - text-align: left; - font-size: small; -} - -tr.odd { - background-color: #f0f0f0; -} - -tr.even { - background-color: #ffffff; -} - -td, th { - padding: 3px; -} - -.description_table { - width: 100%; -} - -.description_table td { - vertical-align: top; -} - -dt { - font-weight: bold; - margin-top: 2ex; - margin-bottom: 1ex; -} - -dd { - margin-top: 1ex; - margin-bottom: 2ex; -} - -.added { - margin-left: 1em; - border-top: solid 1px #fcc; - border-bottom: solid 1px #fcc; -} - -.when { - background-color: #ddd; -} - -td.yesno { - text-align: center; -} \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/directives.html b/thirdparty/html2ps_pdf/help/directives.html deleted file mode 100644 index ce413681c..000000000 --- a/thirdparty/html2ps_pdf/help/directives.html +++ /dev/null @@ -1,68 +0,0 @@ - - -html2ps/html2pdf directives - - - -

html2ps/pdf directives

-Back to table of contents -

Page-breaking commands

-

You can force a page break by inserting any one of the following commands - into the HTML page: -

-<!--NewPage-->
-<pagebreak/>
-<?page-break>
-
- -

It is highly NOT RECOMMENDED to use these directives inside table cells, as - you can get unpredictable results. - -

Special fields

- -

Note that these fields are processed by separate filter -(PreTreeFilterHTML2PSFields). -If you're using HTML2PS API, you should install this filter using the following code: -

-pipeline->pre_tree_filters[] = new PreTreeFilterHTML2PSFields();
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/thirdparty/html2ps_pdf/help/faq.html b/thirdparty/html2ps_pdf/help/faq.html deleted file mode 100644 index 0c2dbd8ac..000000000 --- a/thirdparty/html2ps_pdf/help/faq.html +++ /dev/null @@ -1,397 +0,0 @@ - - -html2ps/html2pdf FAQ - - - -

html2ps/pdf FAQ

-Back to table of contents - - - -
-

How would I report a bug?

-

-Use the support forum of tufat.com. -

-

-Please, provide the following: -

    -
  • phpinfo() output;
  • -
  • script version (and information about applied patches, if any);
  • -
  • script parameters you're using for conversion;
  • -
  • full HTML code of the page you're trying to convert.
  • -
-The will greatly reduce the time required for solving your issue. Thank you for understanding. -

-
- -

Installation.

-
-
Does html2ps require any external utilities like ghostscript?
-
No. PHP with GD extension is sufficient to run conversion. You may use additional -extensions/utilities to use alternative output methods or to boost conversion speed a little bit, though.
-
Can I call this script from the command line?
-
Probably yes; check if your PHP support command line interface. Also, consider -reading this article on php.net: - -Using PHP from the command line -
-
- -

No output at all. Broken output.

-
-
I'm getting "Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Empty string supplied as input" error message in PHP 5.2.0 when attemting to convert some files
-
A new configuration parameter pcre.backtrack_limit was introduced in PHP 5.2.0. html2ps does the excessive -regexp usage; it is recommended to increase pcre.backtrack_limit value to 1000000. -
- -
-
HTML2PS returns blank page. There's some strange messages in PHP error log, for example: -
-Parent: child process exited with status 3221225477 -- Restarting.
-
-I'm using PHP 4.4.2
-
It is a PHP 4.4.2 bug #36017; there's no workarounds -except changing PHP version or writing your own fetcher without 'fopen' function calls. -I would recommend either downgrading to earlier 4.4.x versions or installing PHP 5. -
- -
All I'm getting is a blank page; no error messages in PHP error log. Whats happened?
-
The script is probably running out of memory or execution time. Try increasing - the values of max_execution_time and/or memory_limit PHP configuration variables. - Recommended values are 120 seconds and 32 megabytes. Nevertheless, if you're - using VERY big images, you'll probably need to increase these values - even more.
- -
-Another cause may be a JavaScript or META redirect on page you're trying to convert. As HTML2PS script is not designed -as interactive user agent, it will not follow such redirects for you. You may try to open the url in question in your browser -and check if the URL will change when page finishes loading. In this case, just supply the final URL to the script. -
-
-Also, please note that domain.com and www.domain.com may point to different sites. In the worst case, -domain.com (without 'www' part) may just ignore HTTP requests. On the other side, popular browsers try to guess correct -URL; for example, when you enter 'something' to the address bar, they may try to get something.com or www.something.com. -This may lead to problem similar to one described in previous paragraph; the solution is the same: open URL in browser and -check it will change. -
- -
I got the following error message: Fatal error: Allowed memory size of … bytes exhausted (tried to allocate … bytes) in&hellip
-
The script is running out of memory. Please refer to memory_limit PHP.net documentation regarding increasing memory limit.
- -
The script just hangs when converting page containing images! With "render images" options disabled it works!
-
There were reports on this problem on Windows recently. A quick investigation showed that for some reason PHP 4.4.0 -sometimes hangs indefinitely inside the 'fsockopen' call. Consider upgrading your PHP version in this case.
- -
I've increased limits, but still sometimes get a blank page immediately - after the script starts! Some sites are parsed, though...
-
Some users encountered this problem using the GD library bundled with PHP. - While it matched the GD version requirement, it sometimes caused PHP to silently - die on some images. The problem is solved by recompiling the PHP using the - external (recent enough) GD library. Note that NOT ALL PHP configurations - are subject to this problem.
- -
I'm getting "PDF doesn't start with "%PDF-" message from - Acrobat Reader. Nevertheless, when I save file to my hard drive, it opens - perfectly. I'm using Firefox. -
There were user reports on issues related to Firefox/Acrobat Reader plugin - incompatibility. In particular, this problem appeared with Firefox 1.0.7 and - Reader 6.0.2 PL. You may consider upgrading your software to latest versions - in this case.
- -
Some characters are displayed incorrectly or missing.
-
-

If you've installed, removed or changed font files, you may need to clear -cache subdirectory. HTML2PS do store information extracted from file fonts -there to reduce script initialization overhead. See also -"I've installed/updated True-Type fonts, but it seems that ... (some mysterious problem) ... happens" -

Another cause of this problem may be incorrect source encoding; when encoding is not explicilty specified, -html2ps tries to take encoding from HTTP headers and META tags. If no encoding information found, -html2ps assumes iso-8851-1. -

-
- -

Broken layout.

-
-
Some characters are missing in my PDFs on some Acrobat Reader versions / different OSes
-
Try enabling font embedding (set 'embed' property in html2ps.config to value 1 for fonts used in your documents).
- -
Sites are cut-off on the right side when I'm using 640 pixels page width. What can I do?
-
Nothing. Treat this as a feature. Just increase the page width. Most sites - are NOT designed for such small resolutions and will cause a horizontal - scrollbar to appear in browser in such cases.
- -
I've disabled the "Keep screen pixel/point ratio" option and the - page layout is completely broken! What can I do?
-
Nothing. Treat this as a feature. If you want to get the layout close to - the image rendered by the browser, never disable this option. The only - time you'll need it is when you need to render text having the exact - size specified in points.
- -
Some images are rendered inside black rectangles!
-
PNG images with alpha channel are NOT supported. Swicth to single-color transparency, if you need it.
- -
Horizontal lines (e.g. line under the text) look like they consist of several parts with slightly different width.
-
Try disabling antialiasing in your PDF reader.
- -
- -

Customizing output.

-
-
How can I make an explicit page break?
-
-You may use one of the following HTML2PS script-specific commands: -
-<!--NewPage-->
-<pagebreak/>
-<?page-break>
-
-Or CSS page-break-after property: -
-<div style="page-break-after: always">
-... some content ...
-</div>
-
-
- -
How should I add headers or footers to generated Postscript / PDF files?
-
-You may use one of the following options: -
    -
  • Use blocks with 'position: fixed'. Pleas note that you probably want to -set 'top' and 'bottom' properties to negative values to avoid overlapping with -main content; it is an expected behavior according to HTML/CSS standards. -(see also a simple sample)
  • -
  • Use "Header" and "Footer" options in web interface or -PreTreeFilterHeaderFooter filter in API
  • -
  • Use CSS 3 margin boxes.
  • -
-Note that when you use PreTreeFilterHeaderFooter or Header/Footer fields in web interface, -content is implicitly placed in fixed-positioned div; you may thing of this as follows: -
-...
-<body>
-<!--header starts-->
-<div style="position: fixed; ....">...your header content...</div>
-<!--header ends-->
-...
-your HTML content
-...
-<!--footer starts-->
-<div style="position: fixed; ....">...your footer content...</div>
-<!--footer ends-->
-</body>
-...
-
-
- -
I've added headers and footers to my HTML pages, but how I can prevent them from showing up in the browser?
-
-Use @media css rules setting 'display: none' or 'display: block' for header/footer blocks on different media. -
- -
Is there a possibility to create pdf documents with more than 72dpi using html2ps?
-
You may make a page with high-resolution images and set their on-page height and width using -height and width attributes. -HTML2PS does not resample images, just outputs them to PDF and provides the scaling factor. -
- -
##PAGES## directive always displays 1 in batch mode!
-
Yes, it is a documented feature. ##PAGES## always refer to the number of pages in file being processed. -
- -
- -

API

-
-
How could I convert HTML file from my local drive?
-
Use example file in samples/sample.simplest.from.file.php as a starting point.
-
How could I convert HTML code contained in a variable?
-
Use example file in samples/sample.simplest.from.memory.php as a starting point.
-
Can I convert a page using some authentication mechanism using the html2ps webinterface?
-
Out-of-the-box – no. Depending on the type of the authentication you may override the fetcher -object with your custom one able to bypass authentication. Still, the recommended approach -is html2ps API usage; in this case, you store your HTML code in a PHP variable instead of outputting it to the browser -and call conversion engine directly.
-
I'm using API to convert files and images and / or CSS files seems to be ignored.
-
-Most likely, you're using relative URLs and, at the same time, converting either HTML string from memory or -local file. In this case script doesn't know the base URL to use while resolving relative paths, so -these URLs are ignored. You have two options in this case: -
    -
  • Change relative URI to absolute in your HTML code
  • -
  • Implement 'get_base_url' function in the fetcher object you're using so it return valid meaningful value.
  • -
-
- -
- -

Fonts. National symbols.

-
- -
How can I use fonts other than standard (Times, Helvetica and Courier)?
-
Follow these instructions
- -
Euro symbol is not displayed
-
First of all, check if you provided correct information on the file encoding to html2ps; encoding vectors containing euro symbol are -'iso-8859-15', 'windows-1250', 'windows-1251' or 'windows-1252'. Alternatively, you may use UTF-8 or HTML entities -&euro; or &8364;. -
- -
Cyrillic symbols are not displayed in PS output
-
Install sharatype-fonts package to your Ghostscript; -the script is configured to use these fonts out-of-the-box. -
- -
Greek symbols with tonos are not displayed in PS output; all other greek symbols rendered normally.
-
-
    -
  • install the unicode postscript .pfb fonts (for example, from http://canopus.iacp.dvo.ru/~panov/cm-unicode/)
  • -
  • remove the following default 'encoding-override' section from .html2ps.config, as it make greek text to use by default 'Symbol' font lacking 'tonos' symbols: -
    -<encoding-override name="iso-8859-7">
    -  <normal normal="Symbol" italic="Symbol" oblique="Symbol"/>
    -  <bold normal="Symbol" italic="Symbol" oblique="Symbol"/>
    -</encoding-override>
    -
    -
  • -
  • -update "fonts" (NOT "fonts-pdf") section to point to installed fonts, for example: -
    -<fonts>
    -  <family name="times">
    -    <normal normal="CMUSansSerif" italic="CMUSansSerif-Oblique" oblique="CMUSansSerif-Oblique"/>
    -
    -
  • -
-
- -
Chinese (Japanese, Arabic, etc...) symbols do not show on the page. What I need to do?
-
First of all, you'll need fonts containing these symbols; in most cases - default fonts bundled with Ghostscript or PDFLIB will contain only Western/Central - European symbols. After you find fonts containing characters you need, you - should install them instead of the standard fonts, using the answer for this - question «How can I use fonts other than standard (Times, - Helvetica and Courier)?»
- -
I've installed/updated True-Type fonts, but it seems that ... (some mysterious problem) ... happens
-
First of all, clean a "parsed fonts" cache in 'fpdf/font' subdirectory (just remove all files). This could -solve most font-related issues.
-
- -

Interactive forms

-
-
When I try to submit the form, Acrobat responds with a "Cannot handle content type: …" message.
-
Every time I submit the form, I get a strange-looking result page in by browser.
-
-PDF interactive forms are not like HTML forms; you MUST modify the server-side script so it return FDF file -instead of normal HTML in this case. -See PDF Reference, v 1.6, page 1026, par. 134 for futher information. -Also, you may check for a brief outline of PDF forms. -
-
- -

Frames

-
-
I have a page with frames containing a lot of text, but generated PDF contains only 1 page. Where's my content?
-
-As produced PDFs are static, you have no ways to scroll frame content. Thus, only initially visible frame content will be available. -It is a feature. -
-
Some links inside the frames are not active even when I enable "Render Hyperlinks" option.
-
-As was stated previously, script may render only a part of frame content. So, if rendered part contains a local hyperlink -pointing to non-rendered part, this hyperlink will be disabled, as it points to nowhere. -
-
- -

Miscellanous

- -
-
Is it possible to reduce the size of output PDF file?
-
Yes. By default HTML2PS embeds fonts used during conversion in the generated PDF. You may disable this option by -setting 'embed' attribute to '0' for these fonts in html2ps.config. Note that it will probably cause problems -with national symbols on older versions of Acrobat Reader; also, this assumes that users have all fonts used in PDF -files on their machines.
- -
Is it possible to use a custom file name when outputting the pdf file? As of right now, the filename is long ugly string and doesn't look very clean. -Can I pass the script a varible such as &saveas=thispdffile.pdf and use that for the file name when saving in the browser?
- -
Yes. If you're using the web interface (html2ps.php file from distribution) you would need to replace -$g_baseurl with $_REQUEST['saveas'] in the following piece of code near the end of html2ps.php: -
-switch ($g_config['output']) {
-case 0:
-   $pipeline->destination = new DestinationBrowser($g_baseurl);
-   break;
-case 1:
-   $pipeline->destination = new DestinationDownload($g_baseurl);
-   break;
-case 2:
-   $pipeline->destination = new DestinationFile($g_baseurl);
-   break;
-}; 
-
-Also please note that by default output file name can contain only latin letters, digits, '-' and '_' signs, -any other symbols will be replaced by underscores; -you may change this behavior by hacking the filename_escape function in destination._interface.class.php. -

-If you're using API, refer to DestinationBrowser/DestinationDownload/DestinationFile class documentation. -

-
- - - diff --git a/thirdparty/html2ps_pdf/help/forms.html b/thirdparty/html2ps_pdf/help/forms.html deleted file mode 100644 index 3cd3de479..000000000 --- a/thirdparty/html2ps_pdf/help/forms.html +++ /dev/null @@ -1,215 +0,0 @@ - - -html2ps/html2pdf interactive forms - - - -

html2ps/pdf interactive forms

-Back to table of contents - -

Difference between forms in HTML and PDF

-

I guess, if you use html2ps script, then you know how forms are defined in HTML and how form data is sent using the POST format. This script -tries to emulate the browser behavior as closely as possible; nevertheless, there's several important differences. - -

Field names are required

-

In HMTL, you may write an INPUT tag without "name" attribute and get working interactive control; often, submit and reset buttons -are written this way. When using html2ps interactive forms, you must provide "name" attribute for all -controls which should be rendered interactive. If you don't do it, the control will be rendered as a graphic like "Interactive forms" options -disabled. - -

Field names should be unique

-

In HTML you usually may enter several controls with the same name into the same form and get -some kind of results. PDF files do not allow such fields at all. In this case, all subsequent fields -sharing the same name will be rendered as non-interactive. -

- -

Form & field names

-

Unlike HTML, the parameter names in POST request are not the field names. Acrobat Reader uses a "fully qualified field names" -instead. It means that field is identified by composite string having the form -

-<form name>.<field name>
-
-(See also PDF Reference 1.6 Fifth Edition, pp.638–639 -for more precise and detailed explanation). When posting data in POST format, dots are converted to underscores, so you would get: -
-<form name>_<field name>
-
-when processing the POSTed data. -

- -

To illustrate what I've said above, consider the following example: -

-<form name="form1">
-<input type="text" name="item1" value="test"/>
-<input type="submit" name="submit" value="Submit 1st form"/>
-</form>
-
-<form name="form2">
-<input type="text" name="item2" value="test"/>
-<input type="submit" name="submit" value="Submit 2nd form"/>
-</form>
-
-Usually you would get POST variables "item1" and "submit" when submitting the 1st form and -"item2" and "submit" when submitting the 2nd form. When submitting the form from PDF, you'll get -"form1_item1", "form1_submit" and "form2_item2", "form2_submit" correspondingly. - -

- -

The name of the form is taken from "name" or "id" FORM tag attributes (note that if both attributes are specified, then -"name" have the higher priority). If both these attributes are missing, then the script attemts to generate an unique name for the form; -Newertheless, it is highly recommended to add "id" or "name" attributes for every form definition. The -autogenerated form names may suddenly change when you change the page content. It is not guaranteed that future html2ps versions will -use the same name generation rules.

- -

Also, you must note that html2ps is less tolerant to the form definition than most browsers. You may get conversion errors or even -unpredictable results when viewing generated PDF if the following conditions are not satisfied: -

    -
  • Form names are unique throughout the page
  • -
  • Field names are unique in the form
  • -
  • Radio button values are unique inside the button group
  • -
-

- -

Button field values

-

-In HTML, when you click on the Submit button, the posted data will include the value of "value" attribute for the button. -When you're submitting form from generated PDF, you'll get an empty string as a value of this parameter. Thus, -this check is a bad idea (bad, but rather popular): -

-…
-if ($_POST['my_submit_button_name']) { 
-…
-
-and should be replaced by this code: -
-…
-if (isset($_POST['my_submit_button_name'])) { 
-…
-
-

- -

Image submit button click coordinates

-

-In HTML forms, you'll get three POST varaibles after clicking on "image" submit button: <button>, <button>_x and <button>_y. -When you're posting data from PDF you'll get only two last parameters! -

- -

Unsupported field types

-

-"file;" and "hidden" fields are not supported. -

- -

Server-side form handling

- -Note: there's an PHP extension designed to work with FDF files; you may wish to check documentation at - PHP.net: Forms Data Format Functions - -

Basically, you must use the script which accepts data in HTTP POST format and outputs result in FDF format. (Actually, in any format, -but be prepared to Acrobat Reader complaints like "Cannot handle Content-Type: …") -The minimal data-handling example is: -

-// output an empty FPF file
-
-$outfdf  = fdf_create();
-$tmpname = tempnam('../temp',"FDF_");
-fdf_set_status($outfdf, "Thank you!");
-fdf_save($outfdf, $tmpname);
-fdf_close($outfdf);
-
-fdf_header();
-$fp = fopen($tmpname, "r");
-fpassthru($fp);
-unlink($tmpname);
-
-It just confirms the receiving of the posted data; "Thank you!" message will be shown as a popup by Acrobat Reader. -Probably you would want to actually do something with POSTed data, but is it far beyound the area of this manual. - -

Compatibility list

-
NameReplaced with
##PAGE##Number of current page
##PAGES## -Total number of pages in the generated PDF file. Note that this directive -will show number of pages in current source file when the script is run in batch mode. -
##FILENAME##Filename (URL) of the source HTML
##FILESIZE##Size of the source file (without included files)
##TIMESTAMP##Date/time the PDF file have been generated
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementIs supported?Notes
Text field (<input type="text">)Yes
Password field (<input type="password">)Yes
Submit button (<input type="submit">)YesValue of button "value" attribute is not posted
Reset button (<input type="reset">)Yes
Plain button (<input type="button">)YesRenders and you may click on them, but there's no much use of buttons, as Javascript is NOT supported
Checkbox (<input type="checkbox">)Yes
Radio (<input type="radio">)Yes
Textarea (<textarea>)Yes
Select (<select>)Yes
Image (<input type="image">)Yes
File (<input type="file">)No
Hidden (<input type="hidden">)No
- - - diff --git a/thirdparty/html2ps_pdf/help/howto_afm.html b/thirdparty/html2ps_pdf/help/howto_afm.html deleted file mode 100644 index 40731b465..000000000 --- a/thirdparty/html2ps_pdf/help/howto_afm.html +++ /dev/null @@ -1,19 +0,0 @@ - - -html2ps/html2pdf FAQ - - - -

HOWTO: Generate AFM metrics file

-

Back to table of contents

- -using the ttf2pt1 utility (or any other utility able to produce AFM files) - -
-ttf2pt1.exe -a -GfAe verdana.ttf
-
- -An alternative is to search pre-generated AFM files in the Net. - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/howto_fonts.html b/thirdparty/html2ps_pdf/help/howto_fonts.html deleted file mode 100644 index f6de48a69..000000000 --- a/thirdparty/html2ps_pdf/help/howto_fonts.html +++ /dev/null @@ -1,141 +0,0 @@ - - -html2ps/html2pdf FAQ - - - -

HOWTO: Install custom fonts

-

Back to table of contents

- -
-Keep in mind that most likely you will be using FPDF output method, as it covers 90% of your needs. -Installing fonts for PDFLIB and Postscript output methods is required only if you're using -non-default output driver. -
- -
    -
  1. FPDF -
  2. Postscript
  3. -
  4. Postscript (PS2PDF)
  5. -
  6. PDFLIB -
- -

FPDF output method

-Let's assume that you're going to install Trebuchet MS for the FPDF output method. -
    -
  1. Copy font files (trebuc.ttf, treducdb.ttf, trebucbi.ttf and trebucit.ttf) -to TTF_FONTS_REPOSITORY directory (by default it points to 'fonts' subdirectory)
  2. -
  3. Generate font metrics file for these fonts files -and put it into the same directory. Note that metrics file should have the same name as font file and -extension .afm (this step is optional if you're using a html2ps version more recent than 1.9.4)
  4. -
  5. Register new font family in html2ps.config: add the following lines to html2ps.config in -the FONTS-PDF section (between <fonts-pdf> and </fonts-pdf> tags): -
    -  <family name="Trebuchet MS">
    -    <normal normal="TrebuchetMS" italic="TrebuchetMS-Italic" oblique="TrebuchetMS-Italic"/>
    -    <bold normal="TrebuchetMS-Bold" italic="TrebuchetMS-Bold-Italic" oblique="TrebuchetMS-Bold-Italic"/>
    -  </family>
    -
    -
  6. -Register font files: add the following to the FONTS-PDF section: -
    -  <ttf typeface="TrebuchetMS"             embed="0" file="trebuc.ttf"/>
    -  <ttf typeface="TrebuchetMS-Bold"        embed="0" file="trebucbd.ttf"/>
    -  <ttf typeface="TrebuchetMS-Italic"      embed="0" file="trebucit.ttf"/>
    -  <ttf typeface="TrebuchetMS-Bold-Italic" embed="0" file="trebucbi.ttf"/>
    -
    -Note that you may want to replace embed="0" with embed="1" if you intend -to distribute generated PDF to users without Trebuchet MS font installed in their machines. -
  7. -
- -

Postscript output method

-Say you want to see the fancy "Trebuchet MS" font in your generated -postscript... -
    -
  1. First of all, TrueType-compatible Ghostscript is a must. Most Ghostscipt - distributions are TrueType compatible. If you're not sure, ask your system - administrator. If your GS is not True-Type compatible, consider building from - source using require options.
    -
    -
  2. -
  3. Find the file coresponding to "Trebuchet MS". Assuming you're - using some version of Windows on your home machine, you can do it by opening - "Control Panel ... Fonts" and checking the properties of the chosen - font. At the top of the property page you'll see the file name - trebuc.ttf, - in our case.
    -
    -
  4. -
  5. Find the font files corresponding to the bold, italic and bold italic versions - of this font. Probably, it will be:
    - "Trebuchet MS Bold" -- trebucbd.ttf,
    - "Trebuchet MS Italic" -- trebucit.ttf,
    - "Trebuchet MS Bold Italic" -- trebucbi.ttf
    -
    -
  6. -
  7. Copy these files from the Windows fonts directory (probably C:\Windows\Fonts) - to the Ghostscript fonts directory (probably C:\gs\fonts).
    -
    -
  8. -
  9. Modify the Ghostscript fontmap file (probably C:\gs\gs8.51\lib\Fontmap, - assuming you're using Ghostscript version 8.51), adding the folowing lines: -
    -/TrebuchetMS (trebuc.ttf) ;
    -/TrebuchetMS-Italic (trebucit.ttf) ;
    -/TrebuchetMS-Bold (trebucbd.ttf) ;
    -/TrebuchetMS-Bold-Italic (trebucbi.ttf) ;
    -
    - Note you can write almost anything after the / assuming it won't interfere - with other font names. Say: -
    -/MyCoolFont1 (trebuc.ttf) ;
    -/MyCoolFont2 (trebucit.ttf) ;
    -/MyCoolFont3 (trebucbd.ttf) ;
    -/MyCoolFont4 (trebucbi.ttf) ;
    -
    -
  10. -
  11. Register the above font names in the script config file. Add the following - lines to html2ps.config in the FONTS section (between <fonts> - and </fonts> tags) -
    -  <family name="Trebuchet MS">
    -    <normal normal="TrebuchetMS" italic="TrebuchetMS-Italic" oblique="TrebuchetMS-Italic"/>
    -    <bold normal="TrebuchetMS-Bold" italic="TrebuchetMS-Bold-Italic" oblique="TrebuchetMS-Bold-Italic"/>
    -  </family>
    -
    - Of course, the modified file should be uploaded to the server where the working - script reside.
    -
    -
  12. Register the metric files of the new TrueType fonts. To do it, add the following to the FONT section: -
    -    <metrics typeface="TrebuchetMS" file="trebuc"/>
    -    <metrics typeface="TrebuchetMS-Italic" file="trebucit"/>
    -    <metrics typeface="TrebuchetMS-Bold" file="trebucbd"/>
    -    <metrics typeface="TrebuchetMS-BoldItalic" file="trebucbi"/>
    -
    - In this case, the "file" value refers to the name of the font metric file (.afm) you've - generated. The ".afm" extension - as appended automatically; files are searched in the directory specified by TYPE1_FONTS_REPOSITORY configuration - constant (see your config.inc.php file). -
  13. -
  14. Now, the following example should be rendered using Trebuchet MS font: -
    -<BIG style="font-family: 'Trebuchet MS'">ABCDEFGH</BIG><br>
    -<BIG style="font-family: 'Trebuchet MS'; font-weight: bold;">ABCDEFGH</BIG><br>
    -<BIG style="font-family: 'Trebuchet MS'; font-style: italic;">ABCDEFGH</BIG><br>
    -<BIG style="font-family: 'Trebuchet MS'; font-weight: bold; font-style: italic;">ABCDEFGH</BIG><br>
    -
    -
  15. -
- -

PS2PDF output method

- -

Take the steps described above with only this difference: all Ghostscript-related - directories are on your server where the script resides. Ask your hoster/system - administrator about the exact location of Ghostscript.

- -

PDFLIB output method

-

Please refer to PDFLib Documentation.

- - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/index.html b/thirdparty/html2ps_pdf/help/index.html deleted file mode 100644 index a3fdbeef4..000000000 --- a/thirdparty/html2ps_pdf/help/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - -html2ps/html2pdf documentation - - - -

html2ps/pdf documentation

-
    -
  1. FAQ
  2. -
  3. Requirements and recommendations
  4. -
  5. Installation notes -
  6. Configuring html2ps/pdf -
  7. Calling html2ps/pdf
  8. -
  9. html2ps/pdf HTML directives
  10. -
  11. Interactive forms
  12. -
  13. API -
      -
    1. API description
    2. -
    3. How do "fetchers" work?
    4. -
    5. Minimal code samples
    6. -
    7. API events
    8. -
    -
  14. -
  15. HOWTO: Use custom fonts
  16. -
  17. CSS 2.1 compatibility list
  18. -
  19. CSS 3 compatibility list
  20. - -
-html2ps/pdf (c) TUFaT.com - - diff --git a/thirdparty/html2ps_pdf/help/install.html b/thirdparty/html2ps_pdf/help/install.html deleted file mode 100644 index 30f0d1462..000000000 --- a/thirdparty/html2ps_pdf/help/install.html +++ /dev/null @@ -1,31 +0,0 @@ - - -html2ps/html2pdf installation notes - - - -

html2ps/pdf installation notes

-

Back to table of contents

- -

To install HTML2PS, follow these simple steps:

-
    -
  1. Unpack zip package contents to some directory on your web server
  2. -
  3. Edit config.inc.php to suit your needs; most probably you'll need to update values of GS_PATH and TYPE1_FONTS_REPOSITORY constants
  4. -
  5. Ensure script files and directories have correct permissions: -
      -
    • All files and folders should be readable by webserver user account
    • -
    • Directories 'out','tmp' and 'cache' should be writeable by webserver user account
    • -
    • If you're going to use FPDF output method, please copy .ttf files from your Windows distribution (or any other source) to -fonts subdirectory! Due the size of TrueType fonts files, they're not distibuted with the scripts, but still needed by some output methods.
    • -
    -
- -

Important: if you're upgrading from older script version, remove all files -from 'cache' subdirectory!

- -

Warning:

-The default distribution includes several sample script files and script web interface; they may be easily used for DoS attack on your server! -It is highly recommended that you remove 'sample' and 'demo' subdirectories from publicly available script installation. - - - diff --git a/thirdparty/html2ps_pdf/help/misc.html b/thirdparty/html2ps_pdf/help/misc.html deleted file mode 100644 index 1f4df1f23..000000000 --- a/thirdparty/html2ps_pdf/help/misc.html +++ /dev/null @@ -1 +0,0 @@ -get_element_by_id returns first element having provided id attribute value. \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/help/requirements.html b/thirdparty/html2ps_pdf/help/requirements.html deleted file mode 100644 index adc7d1805..000000000 --- a/thirdparty/html2ps_pdf/help/requirements.html +++ /dev/null @@ -1,90 +0,0 @@ - - -html2ps/html2pdf requirements - - - -

html2ps/pdf requirements

-

Back to table of contents

- -

Required:

-
    -
  1. PHP 4.1.0 or newer (PHP 5 is supported)
  2. -
  3. -native PHP DOM XML -OR -Active-Link DOM XML extension installed
  4. - -
  5. -GD PHP Image Extension, version 2.0.28 or newer. -Note that you may use GD starting with version 2.0.1, but you will lack GIF support.
  6. -
-

If your system satisfies this requirements, you will be able to generate uncompressed - Postscript files. Use GhostView - or any other Postscript viewer to view/print these files. Note that Acrobat - Reader cannot read Poscript files! -

-Also, use native DOM XML PHP extension if possible. - -

Highly recommended:

-
    -
  1. Zlib - PHP extension -- allows compressed Postscript file generation. Compression - greatly reduces the generated file size, up to 5-7 times, saving significant - bandwidth.
  2. -
  3. Ghostscript - version 7.05 or newer -- allows generation of PDF files (strictly speaking, - script generates Postscript file, then converts it to PDF using Ghostscript). - Please note that you'll need to have the ghostscript fonts package intalled - in order for this conversion to work!. Also, keep in mind that Ghostscript - is an external program, so you'll need to have the exec function enabled - in your PHP configuration; if you're using PHP in safe mode, it is probably - disabled. It might be disabled even if safe mode is not in use. Please check - with your system administrator regarding the availability of the exec - function.
  4. -
  5. PDFLIB - -- allows direct PDF generation; in general, PDF files generated via PDFLIB - have better image quality and renders a little bit faster than PDFs created - using Ghostscript. Nevertheless, PDFLIB is a non-free library, so you'll probably - will need to buy a license for it.
  6. - -
-

If your system satisfies this requirements, you will be able to generated both - Postscript and PDF files. -

Note: You can choose either Ghostscript or PDFLIB (or both). Only one of these - packages is needed for PDF generation. Another option is to use the FPdf libraries, - which are bundled with html2ps/pdf. Using this method to generate PDFs is slower, - but does not require external libraries. -

Recommended:

-
    -
  1. iconv - PHP extension -- allows faster and more stable HTML page conversion from different - charsets (you can ignore this requirement if the pages you're working with - do not contain non-iso-8859-1 symbols -- central european or cyrillic, for - example)
  2. -
-

Systems satisfying these recommended requirements will have a minor boost in - conversion speed. -

Recommended PHP configuration settings:

-
    -
  1. PHP Memory limit should be set to 32-62 megabytes;
  2. -
  3. PHP Script time execution limit should be set to 2-3 minutes;
  4. -
-

Systems NOT satisfying these requirements MAY be not able to process complicated - pages with big images. The exact values of these variables should be determined - experimentally (trial and error).

- -

Client-side software:

-
    -
  1. Ghostscript - version 7.05 or newer and GSView - -- to view generated compressed and uncompressed files and to convert them - to PDF on the client side.
  2. -
  3. Adobe - Acrobat Distiller -- to convert Postscript files to PDF on the client - size (Ghostscript alternative).
  4. -
  5. Adobe - Acrobat Reader -- to view PDF files.
  6. -
- - diff --git a/thirdparty/html2ps_pdf/help/samples/headfoot.html b/thirdparty/html2ps_pdf/help/samples/headfoot.html deleted file mode 100644 index 7b1068700..000000000 --- a/thirdparty/html2ps_pdf/help/samples/headfoot.html +++ /dev/null @@ -1,5 +0,0 @@ -
HEADER
-
FOOTER
-
text on the first page
-
text on the second page
- diff --git a/thirdparty/html2ps_pdf/html.attrs.inc.php b/thirdparty/html2ps_pdf/html.attrs.inc.php deleted file mode 100644 index fca35f7ff..000000000 --- a/thirdparty/html2ps_pdf/html.attrs.inc.php +++ /dev/null @@ -1,819 +0,0 @@ - array( - 'id' => 'attr_id', - ), - - /** - * Tag-specific attribute handlers - */ - 'a' => array( - 'href' => 'attr_href', - 'name' => 'attr_name' - ), - 'body' => array( - 'background' => 'attr_background', - 'bgcolor' => 'attr_bgcolor', - 'dir' => 'attr_dir', - 'text' => 'attr_body_text', - 'link' => 'attr_body_link', - 'topmargin' => 'attr_body_topmargin', - 'leftmargin' => 'attr_body_leftmargin', - 'marginheight' => 'attr_body_marginheight', - 'marginwidth' => 'attr_body_marginwidth' - ), - 'div' => array( - 'align' => 'attr_align' - ), - 'font' => array( - 'size' => 'attr_font_size', - 'color' => 'attr_font_color', - 'face' => 'attr_font_face' - ), - 'form' => array( - 'action' => 'attr_form_action' - ), - 'frame' => array( - 'frameborder' => 'attr_frameborder', - 'marginwidth' => 'attr_iframe_marginwidth', - 'marginheight' => 'attr_iframe_marginheight' - ), - 'frameset'=> array( - 'frameborder' => 'attr_frameborder' - ), - 'h1' => array( - 'align' => 'attr_align' - ), - 'h2' => array( - 'align' => 'attr_align' - ), - 'h3' => array( - 'align' => 'attr_align' - ), - 'h4' => array( - 'align' => 'attr_align' - ), - 'h5' => array( - 'align' => 'attr_align' - ), - 'h6' => array( - 'align' => 'attr_align' - ), - 'hr' => array( - 'align' => 'attr_self_align', - 'width' => 'attr_width', - 'color' => 'attr_hr_color' - ), - 'input' => array( - 'name' => 'attr_input_name', - 'size' => 'attr_input_size' - ), - 'iframe' => array( - 'frameborder' => 'attr_frameborder', - 'marginwidth' => 'attr_iframe_marginwidth', - 'marginheight' => 'attr_iframe_marginheight', - 'height' => 'attr_height_required', - 'width' => 'attr_width' - ), - 'img' => array( - 'width' => 'attr_width', - 'height' => 'attr_height_required', - 'border' => 'attr_border', - 'hspace' => 'attr_hspace', - 'vspace' => 'attr_vspace', - 'align' => 'attr_img_align' - ), - 'marquee' => array( - 'width' => 'attr_width', - 'height' => 'attr_height_required' - ), - 'object' => array( - 'width' => 'attr_width', - 'height' => 'attr_height' - ), - 'ol' => array( - 'start' => 'attr_start' - ), - 'p' => array( - 'align' => 'attr_align' - ), - 'table' => array( - 'border' => 'attr_table_border', - 'bordercolor' => 'attr_table_bordercolor', - 'align' => 'attr_table_float_align', - 'bgcolor' => 'attr_bgcolor', - 'width' => 'attr_width', - 'background' => 'attr_background', - 'height' => 'attr_height', - 'cellspacing' => 'attr_cellspacing', - 'cellpadding' => 'attr_cellpadding', - 'rules' => 'attr_table_rules' // NOTE that 'rules' should appear _after_ 'border' handler! - ), - 'td' => array( - 'align' => 'attr_align', - 'valign' => 'attr_valign', - 'height' => 'attr_height', - 'background' => 'attr_background', - 'bgcolor' => 'attr_bgcolor', - 'nowrap' => 'attr_nowrap', - 'width' => 'attr_width' - ), - 'textarea'=> array( - 'rows' => 'attr_textarea_rows', - 'cols' => 'attr_textarea_cols' - ), - 'th' => array( - 'align' => 'attr_align', - 'valign' => 'attr_valign', - 'height' => 'attr_height', - 'background' => 'attr_background', - 'bgcolor' => 'attr_bgcolor', - 'nowrap' => 'attr_nowrap', - 'width' => 'attr_width' - ), - 'tr' => array( - 'align' => 'attr_align', - 'bgcolor' => 'attr_bgcolor', - 'valign' => 'attr_row_valign', - 'height' => 'attr_height' - ), - 'ul' => array( - 'start' => 'attr_start' - ) -); - - -function execute_attrs_before($root, &$pipeline) { execute_attrs($root, '_before', $pipeline); } -function execute_attrs_after($root, &$pipeline) { execute_attrs($root, '_after', $pipeline); } -function execute_attrs_after_styles($root, &$pipeline) { execute_attrs($root, '_after_styles', $pipeline); } - -function execute_attrs(&$root, $suffix, &$pipeline) { - global $g_tag_attrs; - - foreach ($g_tag_attrs['*'] as $attr => $fun) { - if ($root->has_attribute($attr)) { - $fun = $fun.$suffix; - $fun($root, $pipeline); - }; - }; - - if (array_key_exists($root->tagname(), $g_tag_attrs)) { - foreach ($g_tag_attrs[$root->tagname()] as $attr => $fun) { - if ($root->has_attribute($attr)) { - $fun = $fun.$suffix; - $fun($root, $pipeline); - }; - }; - }; -}; - -// ========= Handlers - -// A NAME -function attr_name_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_LINK_DESTINATION); - $handler->css($root->get_attribute('name'), $pipeline); -} -function attr_name_after_styles(&$root, &$pipeline) {}; -function attr_name_after(&$root, &$pipeline) {}; - -// A ID -function attr_id_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_LINK_DESTINATION); - $handler->css($root->get_attribute('id'), $pipeline); -} -function attr_id_after_styles(&$root, &$pipeline) {}; -function attr_id_after(&$root, &$pipeline) {}; - - -// A HREF -function attr_href_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_LINK_TARGET); - $handler->css($root->get_attribute('href'), $pipeline); -} -function attr_href_after_styles(&$root, &$pipeline) {}; -function attr_href_after(&$root, &$pipeline) {}; - -// IFRAME -function attr_frameborder_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - $handler =& CSS::get_handler(CSS_BORDER); - - switch ($root->get_attribute('frameborder')) { - case '1': - $handler->css('inset black 1px', $pipeline); - break; - case '0': - $handler->css('none', $pipeline); - break; - }; -} -function attr_frameborder_after_styles(&$root, &$pipeline) {}; -function attr_frameborder_after(&$root, &$pipeline) {}; - -function attr_iframe_marginheight_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_PADDING_TOP); - $handler->css((int)$root->get_attribute('marginheight').'px',$pipeline); - $handler =& CSS::get_handler(CSS_PADDING_BOTTOM); - $handler->css((int)$root->get_attribute('marginheight').'px',$pipeline); -} -function attr_iframe_marginheight_after_styles(&$root, &$pipeline) {}; -function attr_iframe_marginheight_after(&$root, &$pipeline) {}; - -function attr_iframe_marginwidth_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_PADDING_RIGHT); - $handler->css((int)$root->get_attribute('marginwidth').'px',$pipeline); - $handler =& CSS::get_handler(CSS_PADDING_LEFT); - $handler->css((int)$root->get_attribute('marginwidth').'px',$pipeline); -} -function attr_iframe_marginwidth_after_styles(&$root, &$pipeline) {}; -function attr_iframe_marginwidth_after(&$root, &$pipeline) {}; - - -// BODY-specific -function attr_body_text_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_COLOR); - $handler->css($root->get_attribute('text'),$pipeline); -} -function attr_body_text_after_styles(&$root, &$pipeline) {}; -function attr_body_text_after(&$root, &$pipeline) {}; - -function attr_body_link_before(&$root, &$pipeline) { - $color = $root->get_attribute('link'); - - // -1000 means priority modifier; so, any real CSS rule will have more priority than - // this fake rule - - $collection = new CSSPropertyCollection(); - $collection->addProperty(CSSPropertyDeclaration::create(CSS_COLOR, $color, $pipeline)); - $rule = array(array(SELECTOR_SEQUENCE, array(array(SELECTOR_TAG, 'a'), - array(SELECTOR_PSEUDOCLASS_LINK_LOW_PRIORITY))), - $collection, - '', - -1000); - - $css =& $pipeline->getCurrentCSS(); - $css->add_rule($rule, $pipeline); -} -function attr_body_link_after_styles(&$root, &$pipeline) {}; -function attr_body_link_after(&$root, &$pipeline) {}; - -function attr_body_topmargin_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_MARGIN_TOP); - $handler->css((int)$root->get_attribute('topmargin').'px',$pipeline); -} -function attr_body_topmargin_after_styles(&$root, &$pipeline) {}; -function attr_body_topmargin_after(&$root, &$pipeline) {}; - -function attr_body_leftmargin_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_MARGIN_LEFT); - $handler->css((int)$root->get_attribute('leftmargin').'px',$pipeline); -} -function attr_body_leftmargin_after_styles(&$root, &$pipeline) {}; -function attr_body_leftmargin_after(&$root, &$pipeline) {}; - -function attr_body_marginheight_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - - $h_top =& CSS::get_handler(CSS_MARGIN_TOP); - $h_bottom =& CSS::get_handler(CSS_MARGIN_BOTTOM); - - $top = $h_top->get($css_state->getState()); - - $h_bottom->css(((int)$root->get_attribute('marginheight') - $top->value).'px',$pipeline); -} -function attr_body_marginheight_after_styles(&$root, &$pipeline) {}; -function attr_body_marginheight_after(&$root, &$pipeline) {}; - -function attr_body_marginwidth_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - - $h_left =& CSS::get_handler(CSS_MARGIN_LEFT); - $h_right =& CSS::get_handler(CSS_MARGIN_RIGHT); - - $left = $h_left->get($css_state->getState()); - - $h_right->css(((int)$root->get_attribute('marginwidth') - $left->value).'px',$pipeline); -} -function attr_body_marginwidth_after_styles(&$root, &$pipeline) {}; -function attr_body_marginwidth_after(&$root, &$pipeline) {}; - -// === nowrap -function attr_nowrap_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->setProperty(CSS_HTML2PS_NOWRAP, NOWRAP_NOWRAP); -} - -function attr_nowrap_after_styles(&$root, &$pipeline) {} -function attr_nowrap_after(&$root, &$pipeline) {} - -// === hspace - -function attr_hspace_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_PADDING_LEFT); - $handler->css((int)$root->get_attribute('hspace').'px',$pipeline); - $handler =& CSS::get_handler(CSS_PADDING_RIGHT); - $handler->css((int)$root->get_attribute('hspace').'px',$pipeline); -} - -function attr_hspace_after_styles(&$root, &$pipeline) {} - -function attr_hspace_after(&$root, &$pipeline) {} - -// === vspace - -function attr_vspace_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_PADDING_TOP); - $handler->css((int)$root->get_attribute('vspace').'px',$pipeline); - $handler =& CSS::get_handler(CSS_PADDING_BOTTOM); - $handler->css((int)$root->get_attribute('vspace').'px',$pipeline); -} - -function attr_vspace_after_styles(&$root, &$pipeline) {} -function attr_vspace_after(&$root, &$pipeline) {} - -// === background - -function attr_background_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_BACKGROUND_IMAGE); - $handler->css('url('.$root->get_attribute('background').')',$pipeline); -} -function attr_background_after_styles(&$root, &$pipeline) {} -function attr_background_after(&$root, &$pipeline) {} - -// === align - -function attr_table_float_align_before(&$root, &$pipeline) {} -function attr_table_float_align_after_styles(&$root, &$pipeline) { - if ($root->get_attribute('align') === 'center') { - $margin_left =& CSS::get_handler(CSS_MARGIN_LEFT); - $margin_left->css('auto',$pipeline); - - $margin_right =& CSS::get_handler(CSS_MARGIN_RIGHT); - $margin_right->css('auto',$pipeline); - } else { - $float =& CSS::get_handler(CSS_FLOAT); - $css_state =& $pipeline->getCurrentCSSState(); - $float->replace($float->parse($root->get_attribute('align')), - $css_state); - }; -} -function attr_table_float_align_after(&$root, &$pipeline) {} - -function attr_img_align_before(&$root, &$pipeline) { - if (preg_match('/left|right/', $root->get_attribute('align'))) { - $float =& CSS::get_handler(CSS_FLOAT); - $css_state =& $pipeline->getCurrentCSSState(); - $float->replace($float->parse($root->get_attribute('align')), - $css_state); - } else { - $handler =& CSS::get_handler(CSS_VERTICAL_ALIGN); - $css_state =& $pipeline->getCurrentCSSState(); - $handler->replace($handler->parse($root->get_attribute('align')), - $css_state); - }; -} -function attr_img_align_after_styles(&$root, &$pipeline) {} -function attr_img_align_after(&$root, &$pipeline) {} - -function attr_self_align_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_LOCALALIGN); - $css_state =& $pipeline->getCurrentCSSState(); - - switch ($root->get_attribute('align')) { - case 'left': - $handler->replace(LA_LEFT, - $css_state); - break; - case 'center': - $handler->replace(LA_CENTER, - $css_state); - break; - case 'right': - $handler->replace(LA_RIGHT, - $css_state); - break; - default: - $handler->replace(LA_LEFT, - $css_state); - break; - }; -} - -function attr_self_align_after_styles(&$root, &$pipeline) {} -function attr_self_align_after(&$root, &$pipeline) {} - -// === bordercolor - -function attr_table_bordercolor_before(&$root, &$pipeline) { - $color = parse_color_declaration($root->get_attribute('bordercolor')); - - $css_state =& $pipeline->getCurrentCSSState(); - $border =& $css_state->getProperty(CSS_HTML2PS_TABLE_BORDER); - $border =& $border->copy(); - - $border->left->color = $color; - $border->right->color = $color; - $border->top->color = $color; - $border->bottom->color = $color; - -// $css_state->pushState(); -// $css_state->setProperty(CSS_HTML2PS_TABLE_BORDER, $border); - -// $css_state->pushState(); -// $css_state->setProperty(CSS_BORDER, $border); -} - -function attr_table_bordercolor_after_styles(&$root, &$pipeline) { -// $css_state =& $pipeline->getCurrentCSSState(); -// $css_state->popState(); -} - -function attr_table_bordercolor_after(&$root, &$pipeline) { -// $css_state =& $pipeline->getCurrentCSSState(); -// $css_state->popState(); -} - -// === border - -function attr_border_before(&$root, &$pipeline) { - $width = (int)$root->get_attribute('border'); - - $css_state =& $pipeline->getCurrentCSSState(); - $border =& $css_state->getProperty(CSS_BORDER); - $border =& $border->copy(); - - $border->left->width = Value::fromData($width, UNIT_PX); - $border->right->width = Value::fromData($width, 'px'); - $border->top->width = Value::fromData($width, 'px'); - $border->bottom->width = Value::fromData($width, 'px'); - - $border->left->style = BS_SOLID; - $border->right->style = BS_SOLID; - $border->top->style = BS_SOLID; - $border->bottom->style = BS_SOLID; - - $css_state->setProperty(CSS_BORDER, $border); -} - -function attr_border_after_styles(&$root, &$pipeline) {} -function attr_border_after(&$root, &$pipeline) {} - -// === rules (table) - -function attr_table_rules_before(&$root, &$pipeline) { - /** - * Handle 'rules' attribute - */ - $rules = $root->get_attribute('rules'); - - $css_state =& $pipeline->getCurrentCSSState(); - $border = $css_state->getProperty(CSS_HTML2PS_TABLE_BORDER); - - switch ($rules) { - case 'none': - $border->left->style = BS_NONE; - $border->right->style = BS_NONE; - $border->top->style = BS_NONE; - $border->bottom->style = BS_NONE; - break; - case 'groups': - // Not supported - break; - case 'rows': - $border->left->style = BS_NONE; - $border->right->style = BS_NONE; - break; - case 'cols': - $border->top->style = BS_NONE; - $border->bottom->style = BS_NONE; - break; - case 'all': - break; - }; - - $css_state->setProperty(CSS_HTML2PS_TABLE_BORDER, $border); -} - -function attr_table_rules_after_styles(&$root, &$pipeline) {} -function attr_table_rules_after(&$root, &$pipeline) {} - -// === border (table) - -function attr_table_border_before(&$root, &$pipeline) { - $width = (int)$root->get_attribute('border'); - - $css_state =& $pipeline->getCurrentCSSState(); - $border =& $css_state->getProperty(CSS_HTML2PS_TABLE_BORDER); - $border =& $border->copy(); - - $border->left->width = Value::fromData($width, UNIT_PX); - $border->right->width = Value::fromData($width, UNIT_PX); - $border->top->width = Value::fromData($width, UNIT_PX); - $border->bottom->width = Value::fromData($width, UNIT_PX); - - $border->left->style = BS_SOLID; - $border->right->style = BS_SOLID; - $border->top->style = BS_SOLID; - $border->bottom->style = BS_SOLID; - - $css_state->setProperty(CSS_BORDER, $border); - - $css_state->pushState(); - $border =& $border->copy(); - $css_state->setProperty(CSS_HTML2PS_TABLE_BORDER, $border); -} - -function attr_table_border_after_styles(&$root, &$pipeline) {} - -function attr_table_border_after(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - $css_state->popState(); -} - -// === dir -function attr_dir_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_TEXT_ALIGN); - switch (strtolower($root->get_attribute('dir'))) { - case 'ltr': - $handler->css('left',$pipeline); - return; - case 'rtl': - $handler->css('right',$pipeline); - return; - }; -} - -function attr_dir_after_styles(&$root, &$pipeline) {} -function attr_dir_after(&$root, &$pipeline) {} - -// === align -function attr_align_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_TEXT_ALIGN); - $handler->css($root->get_attribute('align'),$pipeline); - - $handler =& CSS::get_handler(CSS_HTML2PS_ALIGN); - $handler->css($root->get_attribute('align'),$pipeline); -} - -function attr_align_after_styles(&$root, &$pipeline) {} - -function attr_align_after(&$root, &$pipeline) {} - -// valign -// 'valign' attribute value for table rows is inherited -function attr_row_valign_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_VERTICAL_ALIGN); - $handler->css($root->get_attribute('valign'),$pipeline); -} -function attr_row_valign_after_styles(&$root, &$pipeline) {} -function attr_row_valign_after(&$root, &$pipeline) {} - -// 'valign' attribute value for boxes other than table rows is not inherited -function attr_valign_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_VERTICAL_ALIGN); - $handler->css($root->get_attribute('valign'), - $pipeline); -} - -function attr_valign_after_styles(&$root, &$pipeline) {} -function attr_valign_after(&$root, &$pipeline) {} - -// bgcolor - -function attr_bgcolor_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_BACKGROUND_COLOR); - $handler->css($root->get_attribute('bgcolor'), $pipeline); -} -function attr_bgcolor_after_styles(&$root, &$pipeline) {} -function attr_bgcolor_after(&$root, &$pipeline) {} - -// width - -function attr_width_before(&$root, &$pipeline) { - $width =& CSS::get_handler(CSS_WIDTH); - - $value = $root->get_attribute('width'); - if (preg_match('/^\d+$/', $value)) { $value .= 'px'; }; - - $width->css($value,$pipeline); -} - -function attr_width_after_styles(&$root, &$pipeline) {} -function attr_width_after(&$root, &$pipeline) {} - -// height - -// Difference between 'attr_height' and 'attr_height_required': -// attr_height sets the minimal box height so that is cal be expanded by it content; -// a good example is table rows and cells; on the other side, attr_height_required -// sets the fixed box height - it is useful for boxes which content height can be greater -// that box height - marquee or iframe, for example - -function attr_height_required_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HEIGHT); - - $value = $root->get_attribute('height'); - if (preg_match('/^\d+$/', $value)) { $value .= 'px'; }; - $handler->css($value,$pipeline); -} - -function attr_height_required_after_styles(&$root, &$pipeline) {} - -function attr_height_required_after(&$root, &$pipeline) {} - -function attr_height_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_MIN_HEIGHT); - - $value = $root->get_attribute('height'); - if (preg_match('/^\d+$/', $value)) { $value .= 'px'; }; - $handler->css($value,$pipeline); -} - -function attr_height_after_styles(&$root, &$pipeline) {} -function attr_height_after(&$root, &$pipeline) {} - -// FONT attributes -function attr_font_size_before(&$root, &$pipeline) { - $size = $root->get_attribute('size'); - - /** - * Check if attribute value is empty; no actions will be taken in this case - */ - if ($size == '') { return; }; - - if ($size{0} == '-') { - $koeff = 1; - $repeats = (int)substr($size,1); - for ($i=0; $i<$repeats; $i++) { - $koeff *= 1/1.2; - }; - $newsize = sprintf('%.2fem', round($koeff, 2)); - } else if ($size{0} == '+') { - $koeff = 1; - $repeats = (int)substr($size,1); - for ($i=0; $i<$repeats; $i++) { - $koeff *= 1.2; - }; - $newsize = sprintf('%.2fem', round($koeff, 2)); - } else { - switch ((int)$size) { - case 1: - $newsize = BASE_FONT_SIZE_PT/1.2/1.2; - break; - case 2: - $newsize = BASE_FONT_SIZE_PT/1.2; - break; - case 3: - $newsize = BASE_FONT_SIZE_PT; - break; - case 4: - $newsize = BASE_FONT_SIZE_PT*1.2; - break; - case 5: - $newsize = BASE_FONT_SIZE_PT*1.2*1.2; - break; - case 6: - $newsize = BASE_FONT_SIZE_PT*1.2*1.2*1.2; - break; - case 7: - $newsize = BASE_FONT_SIZE_PT*1.2*1.2*1.2*1.2; - break; - default: - $newsize = BASE_FONT_SIZE_PT; - break; - }; - $newsize = $newsize . 'pt'; - }; - - $handler =& CSS::get_handler(CSS_FONT_SIZE); - $handler->css($newsize, $pipeline); -} -function attr_font_size_after_styles(&$root, &$pipeline) {} -function attr_font_size_after(&$root, &$pipeline) {} - -function attr_font_color_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_COLOR); - $handler->css($root->get_attribute('color'),$pipeline); -} -function attr_font_color_after_styles(&$root, &$pipeline) {} -function attr_font_color_after(&$root, &$pipeline) {} - -function attr_font_face_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_FONT_FAMILY); - $handler->css($root->get_attribute('face'), $pipeline); -} -function attr_font_face_after_styles(&$root, &$pipeline) {} -function attr_font_face_after(&$root, &$pipeline) {} - -function attr_form_action_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_FORM_ACTION); - if ($root->has_attribute('action')) { - $handler->css($pipeline->guess_url($root->get_attribute('action')),$pipeline); - } else { - $handler->css(null,$pipeline); - }; -} -function attr_form_action_after_styles(&$root, &$pipeline) {} -function attr_form_action_after(&$root, &$pipeline) {} - -function attr_input_name_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_FORM_RADIOGROUP); - if ($root->has_attribute('name')) { - $handler->css($root->get_attribute('name'),$pipeline); - }; -} -function attr_input_name_after_styles(&$root, &$pipeline) {} -function attr_input_name_after(&$root, &$pipeline) {} - -function attr_input_size_before(&$root, &$pipeline) { - // Check if current node has 'size' attribute - if (!$root->has_attribute('size')) { - return; - }; - $size = $root->get_attribute('size'); - - // Get the exact type of the input node, as 'size' has - // different meanings for different input types - $type = 'text'; - if ($root->has_attribute('type')) { - $type = strtolower($root->get_attribute('type')); - }; - - switch ($type) { - case 'text': - case 'password': - $handler =& CSS::get_handler(CSS_WIDTH); - $width = sprintf('%.2fem', INPUT_SIZE_BASE_EM + $size*INPUT_SIZE_EM_KOEFF); - $handler->css($width, $pipeline); - break; - }; -}; - -function attr_input_size_after_styles(&$root, &$pipeline) {} -function attr_input_size_after(&$root, &$pipeline) {} - -// TABLE - -function attr_cellspacing_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - $handler =& CSS::get_handler(CSS_HTML2PS_CELLSPACING); - $handler->replace(Value::fromData((int)$root->get_attribute('cellspacing'), UNIT_PX), - $css_state); -} -function attr_cellspacing_after_styles(&$root, &$pipeline) {} -function attr_cellspacing_after(&$root, &$pipeline) {} - -function attr_cellpadding_before(&$root, &$pipeline) { - $css_state =& $pipeline->getCurrentCSSState(); - $handler =& CSS::get_handler(CSS_HTML2PS_CELLPADDING); - $handler->replace(Value::fromData((int)$root->get_attribute('cellpadding'), UNIT_PX), - $css_state); -} -function attr_cellpadding_after_styles(&$root, &$pipeline) {} -function attr_cellpadding_after(&$root, &$pipeline) {} - -// UL/OL 'start' attribute -function attr_start_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HTML2PS_LIST_COUNTER); - $css_state =& $pipeline->getCurrentCSSState(); - $handler->replace((int)$root->get_attribute('start'), - $css_state); -} -function attr_start_after_styles(&$root, &$pipeline) {} -function attr_start_after(&$root, &$pipeline) {} - -// Textarea - -function attr_textarea_rows_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_HEIGHT); - $handler->css(sprintf('%dem', (int)$root->get_attribute('rows')*1.40),$pipeline); -} -function attr_textarea_rows_after_styles(&$root, &$pipeline) {} -function attr_textarea_rows_after(&$root, &$pipeline) {} - -function attr_textarea_cols_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_WIDTH); - $handler->css(sprintf('%dem', (int)$root->get_attribute('cols')*0.675),$pipeline); -} -function attr_textarea_cols_after_styles(&$root, &$pipeline) {} -function attr_textarea_cols_after(&$root, &$pipeline) {} - -/** - * HR-specific attributes - */ -function attr_hr_color_before(&$root, &$pipeline) { - $handler =& CSS::get_handler(CSS_BORDER_COLOR); - $handler->css($root->get_attribute('color'), $pipeline); -} -function attr_hr_color_after_styles(&$root, &$pipeline) {} -function attr_hr_color_after(&$root, &$pipeline) {} - - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/html2ps.config b/thirdparty/html2ps_pdf/html2ps.config deleted file mode 100644 index 44ffc43f7..000000000 --- a/thirdparty/html2ps_pdf/html2ps.config +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/html2ps.config.recommended b/thirdparty/html2ps_pdf/html2ps.config.recommended deleted file mode 100644 index 235476f71..000000000 --- a/thirdparty/html2ps_pdf/html2ps.config.recommended +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/image.class.php b/thirdparty/html2ps_pdf/image.class.php deleted file mode 100644 index fbf16bd2f..000000000 --- a/thirdparty/html2ps_pdf/image.class.php +++ /dev/null @@ -1,144 +0,0 @@ -fetch($url); - - if (is_null($data)) { - error_log("Cannot fetch image: ".$url); - return null; - }; - - $file = fopen($filename, 'wb'); - fwrite($file, $data->content); - fclose($file); - $pipeline->pop_base_url(); - -// if (!@copy($url, $filename)) { -// error_log("Cannot fetch image: ".$url); -// return null; -// }; - - // register it in the cached objects array - // - // $g_image_cache[$url] = $filename; - $g_image_cache[$url] = array('filename' => $filename, - 'handle' => do_image_open($filename)); - - // return image - // - // return do_image_open($filename); - return $g_image_cache[$url]['handle']; - } - - // Makes the filename to contain the cached version of URL - // - function make_cache_filename($url) { - // We cannot use the $url as an cache image name as it could be longer than - // allowed file name length (especially after escaping specialy symbols) - // thus, we generate long almost random 32-character name using the md5 hash function - // - if(!class_exists('G')){ - $realdocuroot = str_replace( '\\', '/', $_SERVER['DOCUMENT_ROOT'] ); - $docuroot = explode( '/', $realdocuroot ); - array_pop( $docuroot ); - $pathhome = implode( '/', $docuroot ) . '/'; - array_pop( $docuroot ); - $pathTrunk = implode( '/', $docuroot ) . '/'; - require_once($pathTrunk.'gulliver/system/class.g.php'); - } - return CACHE_DIR.G::encryptOld(time() + $url + rand()); - } - - // Checks if cache directory is available - // - function check_cache_dir() { - // TODO: some cool easily understandable error message for the case - // image cache directory cannot be created or accessed - - // Check if CACHE_DIR exists - // - if (!is_dir(CACHE_DIR)) { - // Cache directory does not exists; try to create it (with read/write rightss for the owner only) - // - if (!mkdir(CACHE_DIR, 0700)) { die("Cache directory cannot be created"); } - }; - - // Check if we can read and write to the CACHE_DIR - // - // Note that directory should have 'rwx' (7) permission, so the script will - // be able to list directory contents; under Windows is_executable always returns false - // for directories, so we need to drop this check in this case. - // - // A user's note for 'is_executable' function on PHP5: - // "The change doesn't appear to be documented, so I thought I would mention it. - // In php5, as opposed to php4, you can no longer rely on is_executable to check the executable bit - // on a directory in 'nix. You can still use the first note's method to check if a directory is traversable: - // @file_exists("adirectory/.");" - // - if (!is_readable(CACHE_DIR) || - !is_writeable(CACHE_DIR) || - (!@file_exists(CACHE_DIR.'.'))) { - // omg. Cache directory exists, but useless - // - die("Check cache directory permissions; cannot either read or write to directory cache"); - }; - - return; - } - - // Clears the image cache (as we're neither implemented checking of Last-Modified HTTP header nor - // provided the means of limiting the cache size - // - // TODO: Will cause problems with simultaneous access to the same images - // - function clear_cache() { - foreach ($GLOBALS['g_image_cache'] as $key => $value) { - unlink($value['filename']); - }; - $g_image_cache = array(); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/index.php b/thirdparty/html2ps_pdf/index.php deleted file mode 100644 index 256f769c8..000000000 --- a/thirdparty/html2ps_pdf/index.php +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.factory.php b/thirdparty/html2ps_pdf/inline.content.builder.factory.php deleted file mode 100644 index e1123c045..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.factory.php +++ /dev/null @@ -1,34 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.normal.php b/thirdparty/html2ps_pdf/inline.content.builder.normal.php deleted file mode 100644 index b382d5dc0..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.normal.php +++ /dev/null @@ -1,52 +0,0 @@ -InlineContentBuilder(); - } - - /** - * CSS 2.1 p.16.6 - * white-space: normal - * This value directs user agents to collapse sequences of whitespace, and break lines as necessary to fill line boxes. - */ - function build(&$box, $text, &$pipeline) { - $text = $this->remove_leading_linefeeds($text); - $text = $this->remove_trailing_linefeeds($text); - - $content = $this->collapse_whitespace($text); - - // Whitespace-only text nodes sill result on only one whitespace box - if (trim($content) === '') { - $whitespace =& WhitespaceBox::create($pipeline); - $box->add_child($whitespace); - return; - } - - // Add leading whispace box, if content stars with a space - if (preg_match('/ /u',substr($content,0,1))) { - $whitespace =& WhitespaceBox::create($pipeline); - $box->add_child($whitespace); - } - - $words = $this->break_into_words($content); - - $size = count($words); - $pos = 0; - $last_whitespace = substr(strlen($content)-1, 1); - foreach ($words as $word) { - $box->process_word($word, $pipeline); - $pos++; - - $is_last_word = ($pos == $size); - if (!$is_last_word || $last_whitespace) { - $whitespace =& WhitespaceBox::create($pipeline); - $box->add_child($whitespace); - }; - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.nowrap.php b/thirdparty/html2ps_pdf/inline.content.builder.nowrap.php deleted file mode 100644 index 885e41690..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.nowrap.php +++ /dev/null @@ -1,22 +0,0 @@ -InlineContentBuilder(); - } - - /** - * CSS 2.1, p 16.6 - * white-space: nowrap - * This value collapses whitespace as for 'normal', but suppresses line breaks within text - */ - function build(&$box, $raw_content, &$pipeline) { - $raw_content = $this->remove_leading_linefeeds($raw_content); - $raw_content = $this->remove_trailing_linefeeds($raw_content); - $box->process_word($this->collapse_whitespace($raw_content), $pipeline); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.php b/thirdparty/html2ps_pdf/inline.content.builder.php deleted file mode 100644 index 4034fb84a..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.php +++ /dev/null @@ -1,43 +0,0 @@ -readCSS($pipeline->getCurrentCSSState()); - $box->add_child($break_box); - } - - function build(&$box, $text, &$pipeline) { - error_no_method('build', get_class($this)); - } - - function break_into_lines($content) { - return preg_split('/[\r\n]/u', $content); - } - - function break_into_words($content) { - return preg_split('/ /u', $content); - } - - function collapse_whitespace($content) { - return preg_replace('/[\r\n\t ]+/u', ' ', $content); - } - - function remove_leading_linefeeds($content) { - return preg_replace('/^ *[\r\n]+/u', '', $content); - } - - function remove_trailing_linefeeds($content) { - return preg_replace('/[\r\n]+$/u', '', $content); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.pre.line.php b/thirdparty/html2ps_pdf/inline.content.builder.pre.line.php deleted file mode 100644 index 1d4f80054..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.pre.line.php +++ /dev/null @@ -1,35 +0,0 @@ -InlineContentBuilder(); - } - - /** - * CSS 2.1 p.16.6 - * white-space: normal - * This value directs user agents to collapse sequences of whitespace, and break lines as necessary to fill line boxes. - */ - function build(&$box, $text, &$pipeline) { - $text = $this->remove_leading_linefeeds($text); - $text = $this->remove_trailing_linefeeds($text); - - $lines = $this->break_into_lines($text); - - foreach ($lines as $line) { - $words = $this->break_into_words($this->collapse_whitespace($line)); - foreach ($words as $word) { - $box->process_word($word, $pipeline); - - $whitespace =& WhitespaceBox::create($pipeline); - $box->add_child($whitespace); - }; - - $this->add_line_break($box, $pipeline); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.pre.php b/thirdparty/html2ps_pdf/inline.content.builder.pre.php deleted file mode 100644 index ff1d5e541..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.pre.php +++ /dev/null @@ -1,30 +0,0 @@ -InlineContentBuilder(); - } - - /** - * CSS 2.1 16.6 Whitespace: the 'white-space' property - * - * pre - * - * This value prevents user agents from collapsing sequences of - * whitespace. Lines are only broken at newlines in the source, or - * at occurrences of "\A" in generated content. - */ - function build(&$box, $text, &$pipeline) { - $text = $this->remove_trailing_linefeeds($text); - $lines = $this->break_into_lines($text); - - foreach ($lines as $line) { - $box->process_word($line, $pipeline); - $this->add_line_break($box, $pipeline); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/inline.content.builder.pre.wrap.php b/thirdparty/html2ps_pdf/inline.content.builder.pre.wrap.php deleted file mode 100644 index 04db879f3..000000000 --- a/thirdparty/html2ps_pdf/inline.content.builder.pre.wrap.php +++ /dev/null @@ -1,39 +0,0 @@ -InlineContentBuilder(); - } - - /** - * CSS 2.1 16.6 Whitespace: the 'white-space' property - * - * pre-wrap: - * - * This value prevents user agents from collapsing sequences of - * whitespace. Lines are broken at newlines in the source, at - * occurrences of "\A" in generated content, and as necessary to - * fill line boxes. - */ - function build(&$box, $text, &$pipeline) { - $text = $this->remove_trailing_linefeeds($text); - - $lines = $this->break_into_lines($text); - foreach ($lines as $line) { - $words = $this->break_into_words($line); - foreach ($words as $word) { - $word .= ' '; - $box->process_word($word, $pipeline); - - $whitespace =& WhitespaceBox::create($pipeline); - $box->add_child($whitespace); - }; - - $this->add_line_break($box, $pipeline); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/layout._interface.class.php b/thirdparty/html2ps_pdf/layout._interface.class.php deleted file mode 100644 index 0ebf30cc3..000000000 --- a/thirdparty/html2ps_pdf/layout._interface.class.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/layout.default.class.php b/thirdparty/html2ps_pdf/layout.default.class.php deleted file mode 100644 index d1f93d02c..000000000 --- a/thirdparty/html2ps_pdf/layout.default.class.php +++ /dev/null @@ -1,93 +0,0 @@ -reflow_text($driver))) { - error_log("LayoutEngineDefault::process: reflow_text call failed"); - return null; - }; - - // Explicitly remove any height declarations from the BODY-generated box; - // BODY should always fill last page completely. Percentage height of the BODY is meaningless - // on the paged media. - $box->_height_constraint = new HCConstraint(null, null, null); - - $margin = $box->getCSSProperty(CSS_MARGIN); - $margin->calcPercentages(mm2pt($media->width() - $media->margins['left'] - $media->margins['right'])); - $box->setCSSProperty(CSS_MARGIN, $margin); - - $box->width = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']) - - $box->_get_hor_extra(); - $box->setCSSProperty(CSS_WIDTH, new WCConstant($box->width)); - - $box->height = mm2pt($media->real_height()) - $box->_get_vert_extra(); - - $box->put_top(mm2pt($media->height() - - $media->margins['top']) - - $box->get_extra_top()); - - $box->put_left(mm2pt($media->margins['left']) + - $box->get_extra_left()); - - - $flag = false; - $whitespace_flag = false; - $box->reflow_whitespace($flag, $whitespace_flag); - - $box->pre_reflow_images(); - - $viewport = new FlowViewport(); - $viewport->left = mm2pt($media->margins['left']); - $viewport->top = mm2pt($media->height() - $media->margins['top']); - $viewport->width = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']); - $viewport->height = mm2pt($media->height() - $media->margins['top'] - $media->margins['bottom']); - - $fake_parent = null; - $context->push_viewport($viewport); - - $box->reflow($fake_parent, $context); - - // Make the top-level box competely fill the last page - $page_real_height = mm2pt($media->real_height()); - - // Note we cannot have less than 1 page in our doc; max() call - // is required as we, in general, CAN have the content height strictly equal to 0. - // In this case wi still render the very first page - $pages = max(1,ceil($box->get_full_height() / $page_real_height)); - - /** - * Set body box height so it will fit the page exactly - */ - $box->height = $pages * $page_real_height - $box->_get_vert_extra(); - - $driver->set_expected_pages($pages); - $driver->anchors = array(); - $box->reflow_anchors($driver, $driver->anchors); - - /** - * Flow absolute-positioned boxes; - * note that we should know the number of expected pages at this moment, unless - * we will not be able to calculate positions for elements using 'bottom: ...' CSS property - */ - for ($i=0, $num_positioned = count($context->absolute_positioned); $i < $num_positioned; $i++) { - $context->push(); - $context->absolute_positioned[$i]->reflow_absolute($context); - $context->pop(); - }; - - // Flow fixed-positioned box - for ($i=0, $num_positioned = count($context->fixed_positioned); $i < $num_positioned; $i++) { - $context->push(); - $context->fixed_positioned[$i]->reflow_fixed($context); - $context->pop(); - }; - - $box->reflow_inline(); - - return true; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/layout.page.breaks.php b/thirdparty/html2ps_pdf/layout.page.breaks.php deleted file mode 100644 index e2368e18b..000000000 --- a/thirdparty/html2ps_pdf/layout.page.breaks.php +++ /dev/null @@ -1,574 +0,0 @@ -getLocation() == $b->getLocation()) { return 0; }; - return ($a->getLocation() > $b->getLocation()) ? -1 : 1; -} - -class FootnoteLocation { - var $_location; - var $_content_height; - - function FootnoteLocation($location, $content_height) { - $this->_location = $location; - $this->_content_height = $content_height; - } - - function getLocation() { - return $this->_location; - } - - function getContentHeight() { - return $this->_content_height; - } -} - -function cmp_page_break_locations($a, $b) { - if ($a->location == $b->location) { return 0; }; - return ($a->location > $b->location) ? -1 : 1; -} - -class PageBreakLocation { - var $location; - var $penalty; - - function PageBreakLocation($location, $penalty) { - $this->location = round($location,2); - $this->penalty = $penalty; - } - - function _getFootnotesHeight($footnotes, $page_start, $location) { - $i = 0; - $size = count($footnotes); - - $height = 0; - - while ($i < $size && $footnotes[$i]->getLocation() > $page_start) { - $i++; - }; - - $footnotes_count = 0; - while ($i < $size && $footnotes[$i]->getLocation() > $location) { - $height += $footnotes[$i]->getContentHeight(); - $footnotes_count ++; - $i++; - }; - - if ($footnotes_count > 0) { - return - $height + - FOOTNOTE_LINE_TOP_GAP + - FOOTNOTE_LINE_BOTTOM_GAP + - FOOTNOTE_GAP * ($footnotes_count-1); - } else { - return 0; - }; - } - - function getPenalty($page_start, $max_page_height, $footnotes) { - $height_penalty = $this->_getPageBreakHeightPenalty($page_start, - $max_page_height - $this->_getFootnotesHeight($footnotes, $page_start, $this->location)); - - return $this->penalty + $height_penalty; - } - - /** - * We should avoid page breaks resulting in too much white space at - * the page bottom. This function calculates a "penalty" for - * breaking page at its current height. - */ - function _getPageBreakHeightPenalty($page_start, $max_page_height) { - $current_height = $page_start - $this->location; - - if ($current_height > $max_page_height) { - return MAX_PAGE_BREAK_PENALTY; - }; - - $free_space = $max_page_height - $current_height; - $free_space_fraction = $free_space / $max_page_height; - - if ($free_space_fraction < MAX_UNPENALIZED_FREE_FRACTION) { - return 0; - }; - - if ($free_space_fraction > MAX_FREE_FRACTION) { - return MAX_PAGE_BREAK_PENALTY; - }; - - return - ($free_space_fraction - MAX_UNPENALIZED_FREE_FRACTION) / - (MAX_FREE_FRACTION - MAX_UNPENALIZED_FREE_FRACTION) * - MAX_PAGE_BREAK_HEIGHT_PENALTY; - } -} - -/** - * Note that, according to CSS 2.1: - * - * A potential page break location is typically under the influence - * of the parent element's 'page-break-inside' property, the - * 'page-break-after' property of the preceding element, and the - * 'page-break-before' property of the following element. When these - * properties have values other than 'auto', the values 'always', - * 'left', and 'right' take precedence over 'avoid'. - * - * AND - * - * A conforming user agent may interpret the values 'left' and 'right' - * as 'always'. - * - * AND - * - * In the normal flow, page breaks can occur at the following places: - * - * 1. In the vertical margin between block boxes. When a page break occurs here, the used values of the relevant 'margin-top' and 'margin-bottom' properties are set to '0'. - * 2. Between line boxes inside a block box. - */ -class PageBreakLocator { - function _getBreakLocations(&$dom_tree) { - $locations_ungrouped = PageBreakLocator::_getPagesTraverse($dom_tree, 0); - - /** - * If there's no page break locations (e.g. document is empty) - * generate one full-size page - */ - if (count($locations_ungrouped) == 0) { - return array(); - }; - - return PageBreakLocator::sort_locations($locations_ungrouped); - } - - function _getFootnotesTraverse(&$box) { - $footnotes = array(); - - if (is_a($box, "BoxNoteCall")) { - $footnotes[] = new FootnoteLocation($box->get_top_margin(), $box->_note_content->get_full_height()); - } elseif (is_a($box, "GenericContainerBox")) { - foreach ($box->content as $child) { - $footnotes = array_merge($footnotes, PageBreakLocator::_getFootnotesTraverse($child)); - }; - }; - - return $footnotes; - } - - function getPages(&$dom_tree, $max_page_height, $first_page_top) { - $current_page_top = $first_page_top; - $heights = array(); - - /** - * Get list of footnotes and heights of footnote content blocks - */ - $footnotes = PageBreakLocator::_getFootnotesTraverse($dom_tree); - usort($footnotes, 'cmp_footnote_locations'); - - $locations = PageBreakLocator::_getBreakLocations($dom_tree); - - if (count($locations) == 0) { - return array($max_page_height); - }; - - $best_location = null; - foreach ($locations as $location) { - if ($location->location < $current_page_top) { - if (is_null($best_location)) { - $best_location = $location; - }; - - $current_pos = round_units($current_page_top - $location->location); - $available_page_height = round_units($max_page_height - $location->_getFootnotesHeight($footnotes, $current_page_top, $location->location)); - - if ($current_pos > $available_page_height) { - /** - * No more locations found on current page - */ - - if ($best_location->getPenalty($current_page_top, $max_page_height, $footnotes) >= MAX_PAGE_BREAK_PENALTY) { - $heights[] = $max_page_height; - $current_page_top -= $max_page_height; - $best_location = null; - } else { - $heights[] = $current_page_top - $best_location->location; - $current_page_top = $best_location->location; - $best_location = null; - }; - - } else { - $location_penalty = $location->getPenalty($current_page_top, $max_page_height, $footnotes); - $best_penalty = $best_location->getPenalty($current_page_top, $max_page_height, $footnotes); - - if ($location_penalty <= $best_penalty) { - /** - * Better page break location found on current page - */ - $best_location = $location; - }; - }; - - if ($location->penalty < 0) { // Forced page break - $heights[] = $current_page_top - $location->location; - $current_page_top = $location->location; - $best_location = null; - }; - }; - }; - - // Last page always will have maximal height - $heights[] = $max_page_height; - - return $heights; - } - - function _isForcedPageBreak($value) { - return - $value == PAGE_BREAK_ALWAYS || - $value == PAGE_BREAK_LEFT || - $value == PAGE_BREAK_RIGHT; - } - - function _hasForcedPageBreakBefore(&$box) { - return PageBreakLocator::_isForcedPageBreak($box->getCSSProperty(CSS_PAGE_BREAK_BEFORE)); - } - - function _hasForcedPageBreakAfter(&$box) { - return PageBreakLocator::_isForcedPageBreak($box->getCSSProperty(CSS_PAGE_BREAK_AFTER)); - } - - function _getPagesTraverseBlock(&$box, &$next, &$previous, $penalty) { - $locations = array(); - - // Absolute/fixed positioned blocks do not cause page breaks - // (CSS 2.1. 13.2.3 Content outside the page box) - $position = $box->getCSSProperty(CSS_POSITION); - if ($position == POSITION_FIXED || $position == POSITION_ABSOLUTE) { - return $locations; - }; - - /** - * Check for breaks in block box vertical margin - */ - - /** - * Check for pre-breaks - */ - if (PageBreakLocator::_hasForcedPageBreakBefore($box)) { - $locations[] = new PageBreakLocation($box->get_top_margin(), FORCED_PAGE_BREAK_BONUS); - } elseif (!is_null($previous) && $previous->getCSSProperty(CSS_PAGE_BREAK_AFTER) == PAGE_BREAK_AVOID) { - $locations[] = new PageBreakLocation($box->get_top_margin(), $penalty + PAGE_BREAK_AFTER_AVOID_PENALTY); - } elseif ($box->getCSSProperty(CSS_PAGE_BREAK_BEFORE) == PAGE_BREAK_AVOID) { - $locations[] = new PageBreakLocation($box->get_top_margin(), $penalty + PAGE_BREAK_BEFORE_AVOID_PENALTY); - } else { - $locations[] = new PageBreakLocation($box->get_top_margin(), $penalty); - }; - - /** - * Check for post-breaks - */ - if (PageBreakLocator::_hasForcedPageBreakAfter($box)) { - $locations[] = new PageBreakLocation($box->get_bottom_margin(), FORCED_PAGE_BREAK_BONUS); - } elseif (!is_null($next) && $next->getCSSProperty(CSS_PAGE_BREAK_BEFORE) == PAGE_BREAK_AVOID) { - $locations[] = new PageBreakLocation($box->get_bottom_margin(), $penalty + PAGE_BREAK_AFTER_AVOID_PENALTY); - } elseif ($box->getCSSProperty(CSS_PAGE_BREAK_AFTER) == PAGE_BREAK_AVOID) { - $locations[] = new PageBreakLocation($box->get_bottom_margin(), $penalty + PAGE_BREAK_AFTER_AVOID_PENALTY); - } else { - $locations[] = new PageBreakLocation($box->get_bottom_margin(), $penalty); - } - - /** - * Check for breaks inside this box - * Note that this check should be done after page-break-before/after checks, - * as 'penalty' value may be modified here - */ - if ($box->getCSSProperty(CSS_PAGE_BREAK_INSIDE) == PAGE_BREAK_AVOID) { - $penalty += PAGE_BREAK_INSIDE_AVOID_PENALTY; - }; - - /** - * According to CSS 2.1, 13.3.5 "Best" page breaks, - * User agent shoud /Avoid breaking inside a block that has a border/ - * - * From my point of view, top and bottom borders should not affect page - * breaks (as they're not broken by page break), while left and right ones - should. - */ - $border_left =& $box->getCSSProperty(CSS_BORDER_LEFT); - $border_right =& $box->getCSSProperty(CSS_BORDER_RIGHT); - - $has_left_border = $border_left->style != BS_NONE && $border_left->width->getPoints() > 0; - $has_right_border = $border_left->style != BS_NONE && $border_left->width->getPoints() > 0; - - if ($has_left_border || $has_right_border) { - $penalty += PAGE_BREAK_BORDER_PENALTY; - }; - - /** - * Process box content - */ - $locations = array_merge($locations, PageBreakLocator::_getPagesTraverse($box, $penalty)); - - return $locations; - } - - function _getMoreBefore($base, $content, $size) { - $i = $base; - $more_before = 0; - - while ($i > 0) { - $i--; - if (is_a($content[$i], "InlineBox")) { - $more_before += $content[$i]->getLineBoxCount(); - } elseif (is_a($content[$i], "BRBox")) { - // Do nothing - } else { - return $more_before; - }; - }; - - return $more_before; - } - - function _getMoreAfter($base, $content, $size) { - $i = $base; - $more = 0; - - while ($i < $size-1) { - $i++; - if (is_a($content[$i], "InlineBox")) { - $more += $content[$i]->getLineBoxCount(); - } elseif (is_a($content[$i], "BRBox")) { - // Do nothing - } else { - return $more; - }; - }; - - return $more; - } - - function _getPagesTraverseTableRow(&$box, $penalty) { - $locations = array(); - - $cells = $box->getChildNodes(); - if (count($cells) > 0) { - $locations[] = new PageBreakLocation($cells[0]->get_top_margin(), $penalty); - $locations[] = new PageBreakLocation($cells[0]->get_bottom_margin(), $penalty); - } - - /** - * Process row content - */ - $inside_penalty = $penalty; - if ($box->getCSSProperty(CSS_PAGE_BREAK_INSIDE) == PAGE_BREAK_AVOID) { - $inside_penalty += PAGE_BREAK_INSIDE_AVOID_PENALTY; - }; - - $cells = $box->getChildNodes(); - $null = null; - $ungrouped_row_locations = PageBreakLocator::_getPagesTraverseBlock($cells[0], - $null, - $null, - $inside_penalty); - $row_locations = PageBreakLocator::sort_locations($ungrouped_row_locations); - - for ($i=1, $size = count($cells); $i < $size; $i++) { - $ungrouped_child_locations = PageBreakLocator::_getPagesTraverseBlock($cells[$i], - $null, - $null, - $inside_penalty); - $child_locations = PageBreakLocator::sort_locations($ungrouped_child_locations); - - $new_row_locations = array(); - - $current_row_location_index = 0; - while ($current_row_location_index < count($row_locations)) { - $current_row_location = $row_locations[$current_row_location_index]; - for ($current_child_location_index = 0, $child_locations_total = count($child_locations); - $current_child_location_index < $child_locations_total; - $current_child_location_index++) { - $current_child_location = $child_locations[$current_child_location_index]; - if ($current_child_location->location == $current_row_location->location) { - $new_row_locations[] = new PageBreakLocation($current_child_location->location, - max($current_child_location->penalty, - $current_row_location->penalty)); - }; - }; - $current_row_location_index++; - }; - $row_locations = $new_row_locations; - }; - - $locations = array_merge($locations, $row_locations); - return $locations; - } - - function _getPagesTraverseInline(&$box, $penalty, $more_before, $more_after) { - $locations = array(); - - /** - * Check for breaks between line boxes - */ - - $size = $box->getLineBoxCount(); - - // If there was a BR box before current inline box (indicated by - // $more_before parameter > 0), we may break page on the top edge - // of the first line box - if ($more_before > 0) { - if ($more_before < $box->parent->getCSSProperty(CSS_ORPHANS)) { - $orphans_penalty = PAGE_BREAK_ORPHANS_PENALTY; - } else { - $orphans_penalty = 0; - }; - - if ($box->parent->getCSSProperty(CSS_WIDOWS) > $size + $more_after) { - $widows_penalty = PAGE_BREAK_WIDOWS_PENALTY; - } else { - $widows_penalty = 0; - }; - - $line_box = $box->getLineBox(0); - $locations[] = new PageBreakLocation($line_box->top, - $penalty + PAGE_BREAK_LINE_PENALTY + $orphans_penalty + $widows_penalty); - }; - - // If there was a BR box after current inline box (indicated by - // $more_after parameter > 0), we may break page on the top edge - // of the first line box - if ($more_after > 0) { - if ($size + 1 + $more_before < $box->parent->getCSSProperty(CSS_ORPHANS)) { - $orphans_penalty = PAGE_BREAK_ORPHANS_PENALTY; - } else { - $orphans_penalty = 0; - }; - - if ($size + 1 + $box->parent->getCSSProperty(CSS_WIDOWS) > $size + $more_after) { - $widows_penalty = PAGE_BREAK_WIDOWS_PENALTY; - } else { - $widows_penalty = 0; - }; - - $line_box = $box->getLineBox($size-1); - $locations[] = new PageBreakLocation($line_box->bottom, - $penalty + PAGE_BREAK_LINE_PENALTY + $orphans_penalty + $widows_penalty); - }; - - // Note that we're ignoring the last line box inside this inline - // box; it is required, as bottom of the last line box will be the - // same as the bottom of the container block box. Break penalty - // should be calculated using block-box level data - for ($i=0; $i<$size-1; $i++) { - $line_box = $box->getLineBox($i); - - if ($i + 1 + $more_before < $box->parent->getCSSProperty(CSS_ORPHANS)) { - $orphans_penalty = PAGE_BREAK_ORPHANS_PENALTY; - } else { - $orphans_penalty = 0; - }; - - if ($i + 1 + $box->parent->getCSSProperty(CSS_WIDOWS) > $size + $more_after) { - $widows_penalty = PAGE_BREAK_WIDOWS_PENALTY; - } else { - $widows_penalty = 0; - }; - - $locations[] = new PageBreakLocation($line_box->bottom, - $penalty + PAGE_BREAK_LINE_PENALTY + $orphans_penalty + $widows_penalty); - }; - - return $locations; - } - - function &_getPrevious($index, $content, $size) { - for ($i = $index - 1; $i>=0; $i--) { - $child = $content[$i]; - if (!$child->is_null()) { - return $child; - }; - }; - - $dummy = null; - return $dummy; - } - - function &_getNext($index, &$content, $size) { - for ($i=$index + 1; $i<$size; $i++) { - $child =& $content[$i]; - if (!$child->is_null()) { - return $child; - }; - }; - - $dummy = null; - return $dummy; - } - - function _getPagesTraverse(&$box, $penalty) { - if (!is_a($box, "GenericContainerBox")) { return array(); }; - - $locations = array(); - - for ($i=0, $content_size = count($box->content); $i<$content_size; $i++) { - $previous_child =& PageBreakLocator::_getPrevious($i, $box->content, $content_size); - $next_child =& PageBreakLocator::_getNext($i, $box->content, $content_size); - $child =& $box->content[$i]; - - /** - * Note that page-break-xxx properties apply to block-level elements only - */ - if (is_a($child, "BRBox")) { - // Do nothing - } elseif ($child->isBlockLevel()) { - $locations = array_merge($locations, PageBreakLocator::_getPagesTraverseBlock($child, - $next_child, - $previous_child, - $penalty)); - } elseif (is_a($child, "TableCellBox")) { - $null = null; - $child_locations = PageBreakLocator::_getPagesTraverseBlock($child, $null, $null, $penalty); - $locations = array_merge($locations, $child_locations); - } elseif (is_a($child, "InlineBox")) { - $more_before = 0; - $more_after = 0; - - if (is_a($previous_child, "BRBox")) { - $more_before = PageBreakLocator::_getMoreBefore($i, $box->content, $content_size); - }; - - if (is_a($next_child, "BRBox")) { - $more_after = PageBreakLocator::_getMoreAfter($i, $box->content, $content_size); - }; - - $locations = array_merge($locations, PageBreakLocator::_getPagesTraverseInline($child, $penalty, $more_before, $more_after)); - } elseif (is_a($child, "TableRowBox")) { - $locations = array_merge($locations, PageBreakLocator::_getPagesTraverseTableRow($child, $penalty)); - }; - }; - - return $locations; - } - - function sort_locations($locations_ungrouped) { - usort($locations_ungrouped, 'cmp_page_break_locations'); - - $last_location = $locations_ungrouped[0]; - $locations = array(); - foreach ($locations_ungrouped as $location) { - if ($last_location->location != $location->location) { - $locations[] = $last_location; - $last_location = $location; - } else { - if ($last_location->penalty >= 0 && $location->penalty >= 0) { - $last_location->penalty = max($last_location->penalty, $location->penalty); - } else { - $last_location->penalty = min($last_location->penalty, $location->penalty); - }; - }; - }; - $locations[] = $last_location; - - return $locations; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/layout.vertical.php b/thirdparty/html2ps_pdf/layout.vertical.php deleted file mode 100644 index c43b420c4..000000000 --- a/thirdparty/html2ps_pdf/layout.vertical.php +++ /dev/null @@ -1,43 +0,0 @@ -getCSSProperty(CSS_CLEAR); - - // Check if we need to offset box vertically due the 'clear' property - if ($clear == CLEAR_BOTH || $clear == CLEAR_LEFT) { - $floats =& $context->current_floats(); - for ($cf = 0; $cf < count($floats); $cf++) { - $current_float =& $floats[$cf]; - if ($current_float->getCSSProperty(CSS_FLOAT) == FLOAT_LEFT) { - // Float vertical margins are never collapsed - // - $margin = $box->getCSSProperty(CSS_MARGIN); - $y = min($y, $current_float->get_bottom_margin() - $margin->top->value); - }; - } - }; - - if ($clear == CLEAR_BOTH || $clear == CLEAR_RIGHT) { - $floats =& $context->current_floats(); - for ($cf = 0; $cf < count($floats); $cf++) { - $current_float =& $floats[$cf]; - if ($current_float->getCSSProperty(CSS_FLOAT) == FLOAT_RIGHT) { - // Float vertical margins are never collapsed - $margin = $box->getCSSProperty(CSS_MARGIN); - $y = min($y, $current_float->get_bottom_margin() - $margin->top->value); - }; - } - }; - - return $y; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/list-style.image.php b/thirdparty/html2ps_pdf/list-style.image.php deleted file mode 100644 index c636b93b6..000000000 --- a/thirdparty/html2ps_pdf/list-style.image.php +++ /dev/null @@ -1,22 +0,0 @@ -_url = $url; - $this->_image = $image; - } - - function ©() { - $value =& new ListStyleImage($this->_url, $this->_image); - return $value; - } - - function is_default() { - return is_null($this->_url); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/manager.encoding.php b/thirdparty/html2ps_pdf/manager.encoding.php deleted file mode 100644 index d867aae43..000000000 --- a/thirdparty/html2ps_pdf/manager.encoding.php +++ /dev/null @@ -1,247 +0,0 @@ -_utf8_mapping)) { - $this->_loadMapping(CACHE_DIR . 'utf8.mappings.dat'); - }; - - if (!isset($this->_utf8_mapping[$char])) { - return null; - }; - return $this->_utf8_mapping[$char]; - } - - function _loadMapping($mapping_file) { - if (!is_readable($mapping_file)) { - $this->_generateMapping($mapping_file); - } else { - $this->_utf8_mapping = unserialize(file_get_contents($mapping_file)); - }; - } - - function _generateMapping($mapping_file) { - global $g_utf8_converters; - - $this->_utf8_mapping = array(); - foreach (array_keys($g_utf8_converters) as $encoding) { - $flipped = array_flip($g_utf8_converters[$encoding][0]); - foreach ($flipped as $utf => $code) { - $this->_utf8_mapping[code_to_utf8($utf)][$encoding] = $code; - }; - }; - - $file = fopen($mapping_file,'w'); - fwrite($file, serialize($this->_utf8_mapping)); - fclose($file); - } - - function ManagerEncoding() { - $this->_encodings = array(); - - $this->registerCustomEncoding("custom", array(0,1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32)); - } - - function getCanonizedEncodingName($encoding) { - global $g_encoding_aliases; - - if (isset($g_encoding_aliases[$encoding])) { - return $g_encoding_aliases[$encoding]; - }; - - return $encoding; - } - - function registerCustomEncoding($name, $vector) { - $this->registerEncoding($name, $vector); - $this->_custom_vector_name = $name; - } - - function getCustomEncodingName() { - return $this->_custom_vector_name; - } - - function getCustomEncodingVector() { - return $this->_encodings[$this->getCustomEncodingName()]; - } - - function registerEncoding($name, $vector) { - $this->_encodings[$name] = $vector; - } - - /** - * @TODO: handle more than 256 custom characters - */ - function addCustomChar($char) { - $vector_name = $this->getCustomEncodingName(); - - $index = count($this->_encodings[$vector_name]); - $this->_encodings[$vector_name][$index] = $char; - - $this->_utf8_mapping[chr($index)]['custom'] = $char; - - return chr($index); - } - - /** - * Get an encoding vector (array containing 256 elements; every - * element is an ucs-2 encoded character) - * - * @param $encoding Encoding name - * - * @return Array encoding vector; null if this encoding is not known to the script - */ - function getEncodingVector($encoding) { - $encoding = $this->getCanonizedEncodingName($encoding); - - /** - * @TODO: HACK. Currently custom encoding and "standard" encodings - * are handled separately, so we must explicitly check if current - * encoding is custom - */ - if ($encoding == $this->getCustomEncodingName()) { - $vector = array(); - $custom_vector = $this->getCustomEncodingVector(); - - $size = count($custom_vector); - for ($i=0; $i<$size; $i++) { - $vector[chr($i)] = $custom_vector[$i]; - }; - - } else { - global $g_utf8_converters; - - if (!isset($g_utf8_converters[$encoding])) { - return null; - }; - - $vector = $g_utf8_converters[$encoding][0]; - }; - - for ($i=0; $i<=255; $i++) { - if (!isset($vector[chr($i)])) { - $vector[chr($i)] = 0xFFFF; - }; - }; - return $vector; - } - - function &get() { - global $g_manager_encodings; - return $g_manager_encodings; - } - - function get_encoding_glyphs($encoding) { - $vector = $this->getEncodingVector($encoding); - if (is_null($vector)) { - error_log(sprintf("Cannot get encoding vector for encoding '%s'", $encoding)); - return null; - }; - return $this->vector_to_glyphs($vector); - } - - function get_glyph_to_code_mapping($encoding) { - $vector = $this->getEncodingVector($encoding); - - $result = array(); - foreach ($vector as $code => $uccode) { - if (isset($GLOBALS['g_unicode_glyphs'][$uccode])) { - $result[$GLOBALS['g_unicode_glyphs'][$uccode]][] = $code; - }; - }; - - return $result; - } - - function vector_to_glyphs($vector) { - $result = array(); - - foreach ($vector as $code => $ucs2) { - if (isset($GLOBALS['g_unicode_glyphs'][$ucs2])) { - $result[$code] = $GLOBALS['g_unicode_glyphs'][$ucs2]; - } elseif ($ucs2 == 0xFFFF) { - $result[$code] = ".notdef"; - } else { - // Use "Unicode and Glyph Names" mapping from Adobe - // http://partners.adobe.com/public/developer/opentype/index_glyph.html - $result[$code] = sprintf("u%04X", $ucs2); - }; - }; - - return $result; - } - - function get_ps_encoding_vector($encoding) { - $vector = $this->getEncodingVector($encoding); - - $result = "/".$encoding." [ \n"; - for ($i=0; $i<256; $i++) { - if ($i % 10 == 0) { $result .= "\n"; }; - - // ! Note the order of array checking; optimizing interpreters may break this - if (isset($vector[chr($i)]) && isset($GLOBALS['g_unicode_glyphs'][$vector[chr($i)]])) { - $result .= " /".$GLOBALS['g_unicode_glyphs'][$vector[chr($i)]]; - } else { - $result .= " /.notdef"; - }; - }; - $result .= " ] readonly def"; - - return $result; - } - - function getNextUTF8Char($raw_content, &$ptr) { - if ((ord($raw_content{$ptr}) & 0xF0) == 0xF0) { - $charlen = 4; - } elseif ((ord($raw_content{$ptr}) & 0xE0) == 0xE0) { - $charlen = 3; - } elseif ((ord($raw_content{$ptr}) & 0xC0) == 0xC0) { - $charlen = 2; - } else { - $charlen = 1; - }; - - $char = substr($raw_content,$ptr,$charlen); - $ptr += $charlen; - - return $char; - } -} - -global $g_manager_encodings; -$g_manager_encodings = new ManagerEncoding; -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/media.layout.inc.php b/thirdparty/html2ps_pdf/media.layout.inc.php deleted file mode 100644 index cc6b6d784..000000000 --- a/thirdparty/html2ps_pdf/media.layout.inc.php +++ /dev/null @@ -1,126 +0,0 @@ - $height, 'width' => $width); -} - -class Media { - var $margins; - var $size; - var $pixels; - var $is_landscape; - var $security; - - function width() { - return $this->is_landscape ? $this->size['height'] : $this->size['width'] ; - } - - function height() { - return $this->is_landscape ? $this->size['width'] : $this->size['height']; - } - - function real_width() { - return $this->width() - $this->margins['left'] - $this->margins['right']; - } - - function real_height() { - return $this->height() - $this->margins['bottom'] - $this->margins['top']; - } - - function getSecurityOpenPassword(){ - return $this->security['openPassword']; - } - function getSecurityOwnerPassword(){ - return $this->security['ownerPassword']; - } - function getSecurityPermissions(){ - $permissions=explode("|",$this->security['permissions']); - foreach($permissions as $key => $permName){ - if($permName=="") unset($permissions[$key]); - } - return $this->security['permissions']; - } - - function set_landscape($state) { - $this->is_landscape = (bool)$state; - } - - // TODO: validity checking - function set_margins($margins) { - $this->margins = $margins; - } - - function set_pixels($pixels) { - $this->pixels = $pixels; - } - - function set_security($security) { - $this->security = $security; - } - - // TODO: validity checking - function &predefined($name) { - global $g_predefined_media; - - // Let's check if the chosen media defined - if (isset($g_predefined_media[$name])) { - $media =& new Media($g_predefined_media[$name], array('top'=>0, 'bottom'=>0, 'left'=>0, 'right'=>0)); - } else { - $media = null; - }; - - return $media; - } - - /** - * @param Array $size associative array with 'height' and 'width' keys (mm) - * @param Array $margins associative array with 'top', 'bottom', 'left' and 'right' keys (mm) - */ - function Media($size, $margins) { - $this->size = $size; - $this->margins = $margins; - $this->pixels = 800; - } - - /** - * Pixels per millimeter - */ - function PPM() { - return $this->pixels / ($this->size['width'] - $this->margins['left'] - $this->margins['right']); - } - - function to_bbox() { - return '0 0 '.ceil(mm2pt($this->size['width'])).' '.ceil(mm2pt($this->size['height'])); - } - - function to_ps_landscape() { - if (!$this->is_landscape) { return "/initpage {} def"; }; - return "/initpage {90 rotate 0 pageheight neg translate} def"; - } - - function to_ps() { - return - // Note that /pagewidth and /pageheight should contain page size on the "client" - // coordinate system for correct rendering, so the will swap place in landscape mode, - // while /width and height set in PageSize should have the real media values, because - // actual coordinate system rotation/offset is done by the /initpage command without - // actually ratating the media. - "/pagewidth {".$this->width()." mm} def\n". - "/pageheight {".$this->height()." mm} def\n". - "/lmargin {{$this->margins['left']} mm} def\n". - "/rmargin {{$this->margins['right']} mm} def\n". - "/tmargin {{$this->margins['top']} mm} def\n". - "/bmargin {{$this->margins['bottom']} mm} def\n". - "/px {pagewidth lmargin sub rmargin sub {$this->pixels} div mul} def\n". - "<< /PageSize [".$this->size['width']." mm ".$this->size['height']." mm] >> setpagedevice\n". - $this->to_ps_landscape(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/observer.class.php b/thirdparty/html2ps_pdf/observer.class.php deleted file mode 100644 index 94d485e77..000000000 --- a/thirdparty/html2ps_pdf/observer.class.php +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ot.class.php b/thirdparty/html2ps_pdf/ot.class.php deleted file mode 100644 index 29307aabc..000000000 --- a/thirdparty/html2ps_pdf/ot.class.php +++ /dev/null @@ -1,892 +0,0 @@ -_filehandle = null; - $this->_sfnt = new OpenTypeFileSFNT(); - } - - function open($filename) { - $this->_filehandle = fopen($filename, 'rb'); - $this->_read($this->_filehandle); - } - - function close() { - fclose($this->_filehandle); - } - - function _delete() { - $this->close(); - $this->_sfnt->_delete(); - } - - function getFileHandle() { - return $this->_filehandle; - } - - function &getTable($tag) { - $table =& $this->_sfnt->_getTable($tag, $this->_filehandle, $this); - return $table; - } - - function &_getCMAPSubtable($offset) { - $table =& $this->_sfnt->_getCMAPSubtable($offset, $this->_filehandle, $this); - return $table; - } - - function _read($filehandle) { - $this->_sfnt->_read($filehandle); - } -} - -/** - * A key characteristic of the OpenType format is the TrueType sfnt - * "wrapper", which provides organization for a collection of tables - * in a general and extensible manner. - */ -class OpenTypeFileSFNT { - var $_offsetTable; - var $_tableDirectory; - - var $_tables; - - function _delete() { - foreach ($this->_tables as $key => $value) { - $this->_tables[$key]->_delete(); - unset($this->_tables[$key]); - }; - $this->_tables = array(); - } - - function OpenTypeFileSFNT() { - $this->_offsetTable = new OpenTypeFileOffsetTable(); - $this->_tableDirectory = array(); - } - - function _read($filehandle) { - $this->_offsetTable->_read($filehandle); - - for ($i=0; $i<$this->_offsetTable->_numTables; $i++) { - $tableDirectory = new OpenTypeFileTableDirectory(); - $tableDirectory->_read($filehandle); - $this->_tableDirectory[] = $tableDirectory; - }; - } - - function &_getCMAPSubtable($offset, $filehandle, $file) { - $dir = $this->_getDirectory('cmap'); - if (is_null($dir)) { $dummy = null; return $dummy; }; - - /** - * Store current file position, as _getCMAPSubtable could be - * called from another file-related operation - */ - $old_pos = ftell($filehandle); - - fseek($filehandle, $dir->_offset, SEEK_SET); - fseek($filehandle, $offset, SEEK_CUR); - $subtable = new OpenTypeFileCMAPSubtable(); - $subtable->_read($filehandle); - - /** - * Restore current file position - */ - fseek($filehandle, $old_pos, SEEK_SET); - - return $subtable; - } - - function &_getTable($tag, $filehandle, $file) { - if (!isset($this->_tables[$tag])) { - $table = $this->_createTableByTag($tag); - if (is_null($table)) { $dummy = null; return $dummy; }; - $table->setFontFile($file); - - $dir = $this->_getDirectory($tag); - if (is_null($dir)) { $dummy = null; return $dummy; }; - - /** - * Store current file position, as _getTable could be called - * from another _getTable - */ - $old_pos = ftell($filehandle); - - fseek($filehandle, $dir->_offset, SEEK_SET); - $table->_read($filehandle); - - /** - * Restore current file position - */ - fseek($filehandle, $old_pos, SEEK_SET); - - $this->_tables[$tag] =& $table; - }; - - return $this->_tables[$tag]; - } - - function _getDirectory($tag) { - foreach ($this->_tableDirectory as $directoryEntry) { - if ($directoryEntry->_tag == $tag) { - return $directoryEntry; - }; - }; - - return null; - } - - function _createTableByTag($tag) { - switch ($tag) { - case 'hhea': - return new OpenTypeFileHHEA(); - case 'maxp': - return new OpenTypeFileMAXP(); - case 'cmap': - return new OpenTypeFileCMAP(); - case 'hmtx': - return new OpenTypeFileHMTX(); - case 'post': - return new OpenTypeFilePOST(); - case 'head': - return new OpenTypeFileHEAD(); - case 'name': - return new OpenTypeFileNAME(); - default: - return null; - } - } -} - -/** - * The OpenType font with the Offset Table. If the font file contains only one font, the Offset Table will begin at byte 0 of the file. If the font file is a TrueType collection, the beginning point of the Offset Table for each font is indicated in the TTCHeader. - * - * Offset Table Type Name Description - * Fixed sfnt version 0x00010000 for version 1.0. - * USHORT numTables Number of tables. - * USHORT searchRange (Maximum power of 2 <= numTables) x 16. - * USHORT entrySelector Log2(maximum power of 2 <= numTables). - * USHORT rangeShift NumTables x 16-searchRange. - * - * OpenType fonts that contain TrueType outlines should use the value - * of 1.0 for the sfnt version. OpenType fonts containing CFF data - * should use the tag 'OTTO' as the sfnt version number. - * - * NOTE: The Apple specification for TrueType fonts allows for 'true' - * and 'typ1' for sfnt version. These version tags should not be used - * for fonts which contain OpenType tables. - */ -class OpenTypeFileOffsetTable { - var $_numTables; - var $_searchRange; - var $_entrySelector; - var $_rangeShift; - - function OpenTypeFileOffsetTable() { - $this->_numTables = 0; - $this->_searchRange = 0; - $this->_entrySelector = 0; - $this->_rangeShift = 0; - } - - function _read($filehandle) { - $content = fread($filehandle, 4+4*2); - - $unpacked = unpack("Nversion/nnumTables/nsearchRange/nentrySelector/nrangeShift", $content); - - $fixed = $unpacked['version']; - $this->_numTables = $unpacked['numTables']; - $this->_searchRange = $unpacked['searchRange']; - $this->_entrySelector = $unpacked['entrySelector']; - $this->_rangeShift = $unpacked['rangeShift']; - } -} - -/** - * The Offset Table is followed immediately by the Table Directory - * entries. Entries in the Table Directory must be sorted in ascending - * order by tag. Offset values in the Table Directory are measured - * from the start of the font file. - * - * Table Directory Type Name Description - * ULONG tag 4 -byte identifier. - * ULONG checkSum CheckSum for this table. - * ULONG offset Offset from beginning of TrueType font file. - * ULONG length Length of this table. - * - * The Table Directory makes it possible for a given font to contain - * only those tables it actually needs. As a result there is no - * standard value for numTables. - * - * Tags are the names given to tables in the OpenType font file. All - * tag names consist of four characters. Names with less than four - * letters are allowed if followed by the necessary trailing - * spaces. All tag names defined within a font (e.g., table names, - * feature tags, language tags) must be built from printing characters - * represented by ASCII values 32-126. - */ -class OpenTypeFileTableDirectory { - var $_tag; - var $_checkSum; - var $_offset; - var $_length; - - function OpenTypeFileTableDirectory() { - $this->_tag = null; - $this->_checkSum = 0; - $this->_offset = 0; - $this->_length = 0; - } - - function _read($filehandle) { - $content = fread($filehandle, 4*4); - - $unpacked = unpack("c4tag/NcheckSum/Noffset/Nlength", $content); - - $this->_tag = chr($unpacked['tag1']).chr($unpacked['tag2']).chr($unpacked['tag3']).chr($unpacked['tag4']); - $this->_checkSum = $unpacked['checkSum']; - $this->_offset = $unpacked['offset']; - $this->_length = $unpacked['length']; - } -} - -/* -------------- */ - -class OpenTypeFileTable { - var $_fontFile; - - function _delete() { - } - - function OpenTypeFileTable() { - $this->_fontFile = null; - } - - function setFontFile(&$fontFile) { - $this->_fontFile =& $fontFile; - } - - function &getFontFile() { - return $this->_fontFile; - } - - function _fixFWord($value) { - if ($value > 65536/2) { - return $value - 65536; - } else { - return $value; - }; - } - - function _fixShort($value) { - if ($value > 65536/2) { - return $value - 65536; - } else { - return $value; - }; - } -} - -class OpenTypeFilePOST extends OpenTypeFileTable { - var $_version; - var $_italicAngle; - var $_underlinePosition; - var $_underlineThickness; - var $_isFixedPitch; - var $_minMemType42; - var $_maxMemType42; - var $_minMemType1; - var $_maxMemType1; - - function OpenTypeFilePOST() { - $this->OpenTypeFileTable(); - } - - function _read($filehandle) { - $content = fread($filehandle, 2*2 + 7*4); - $unpacked = unpack("Nversion/NitalicAngle/nunderlinePosition/nunderlineThickness/NisFixedPitch/NminMemType42/NmaxMemType42/NminMemType1/NmaxMemType1", $content); - $this->_version = $unpacked['version']; - $this->_italicAngle = $unpacked['italicAngle']; - $this->_underlinePosition = $this->_fixFWord($unpacked['underlinePosition']); - $this->_underlineThickness = $this->_fixFWord($unpacked['underlineThickness']); - $this->_isFixedPitch = $unpacked['isFixedPitch']; - $this->_minMemType42 = $unpacked['minMemType42']; - $this->_maxMemType42 = $unpacked['maxMemType42']; - $this->_minMemType1 = $unpacked['minMemType1']; - $this->_maxMemType1 = $unpacked['maxMemType1']; - } -} - -class OpenTypeFileNAME extends OpenTypeFileTable { - var $_format; - var $_count; - var $_stringOffset; - var $_nameRecord; - - function OpenTypeFileNAME() { - $this->OpenTypeFileTable(); - $this->_nameRecord = array(); - } - - function _read($filehandle) { - $content = fread($filehandle, 2*3); - $unpacked = unpack("nformat/ncount/nstringOffset", $content); - - $this->_format = $unpacked['format']; - $this->_count = $unpacked['count']; - $this->_stringOffset = $unpacked['stringOffset']; - - $baseOffset = ftell($filehandle) + OpenTypeFileNAMERecord::sizeof()*$this->_count; - - for ($i=0; $i<$this->_count; $i++) { - $record =& new OpenTypeFileNAMERecord(); - $record->setBaseOffset($baseOffset); - $record->setFontFile($this->getFontFile()); - $record->_read($filehandle); - $this->_nameRecord[] =& $record; - }; - } - - /** - * Note that this function can perform "wildcard" lookups when one or more - * parameters is set to null value; in this case the first encountered name - * will be returned - * - * @return String corresponding name content or null is this name is - * not defined in the font file - */ - function lookup($platformId, $encodingId, $languageId, $nameId) { - $size = count($this->_nameRecord); - - for ($i=0; $i<$size; $i++) { - if ($this->_nameRecord[$i]->match($platformId, $encodingId, $languageId, $nameId)) { - return $this->_nameRecord[$i]->getName(); - }; - } - - return null; - } -} - -class OpenTypeFileNAMERecord extends OpenTypeFileTable { - var $_platformId; - var $_encodingId; - var $_languageId; - var $_nameId; - var $_length; - var $_offset; - - var $_content; - var $_baseOffset; - - function OpenTypeFileNAMERecord() { - $this->OpenTypeFileTable(); - $this->_content = null; - } - - function sizeof() { - return 6*2; - } - - function setBaseOffset($offset) { - $this->_baseOffset = $offset; - } - - function match($platformId, $encodingId, $languageId, $nameId) { - return - (is_null($platformId) || $platformId == $this->_platformId) && - (is_null($encodingId) || $encodingId == $this->_encodingId) && - (is_null($languageId) || $languageId == $this->_languageId) && - (is_null($nameId) || $nameId == $this->_nameId); - } - - function getBaseOffset() { - return $this->_baseOffset; - } - - function getName() { - if (is_null($this->_content)) { - $file =& $this->getFontFile(); - $filehandle = $file->getFileHandle(); - $old_offset = ftell($filehandle); - - fseek($filehandle, $this->getBaseOffset() + $this->_offset, SEEK_SET); - $this->_content = fread($filehandle, $this->_length); - - fseek($filehandle, $old_offset, SEEK_SET); - }; - - return $this->_content; - } - - function _read($filehandle) { - $content = fread($filehandle, 6*2); - - $unpacked = unpack("nplatformId/nencodingId/nlanguageId/nnameId/nlength/noffset", $content); - - $this->_platformId = $unpacked['platformId']; - $this->_encodingId = $unpacked['encodingId']; - $this->_languageId = $unpacked['languageId']; - $this->_nameId = $unpacked['nameId']; - $this->_length = $unpacked['length']; - $this->_offset = $unpacked['offset']; - } -} - -/** - * This table gives global information about the font. The bounding - * box values should be computed using only glyphs that have - * contours. Glyphs with no contours should be ignored for the - * purposes of these calculations. - * - * Type Name Description - * Fixed Table version number 0x00010000 for version 1.0. - * Fixed fontRevision Set by font manufacturer. - * ULONG checkSumAdjustment To compute: set it to 0, sum the entire font as ULONG, then store 0xB1B0AFBA - sum. - * ULONG magicNumber Set to 0x5F0F3CF5. - * USHORT flags Bit 0: Baseline for font at y=0; - * Bit 1: Left sidebearing point at x=0; - * Bit 2: Instructions may depend on point size; - * Bit 3: Force ppem to integer values for all internal scaler math; may use fractional ppem sizes if this bit is clear; - * Bit 4: Instructions may alter advance width (the advance widths might not scale linearly); - * Bits 5-10: These should be set according to Apple's specification . However, they are not implemented in OpenType. - * Bit 11: Font data is 'lossless,' as a result of having been compressed and decompressed with the Agfa MicroType Express engine. - * Bit 12: Font converted (produce compatible metrics) - * Bit 13: Font optimised for ClearType - * Bit 14: Reserved, set to 0 - * Bit 15: Reserved, set to 0 - * USHORT unitsPerEm Valid range is from 16 to 16384. This value should be a power of 2 for fonts that have TrueType outlines. - * LONGDATETIME created Number of seconds since 12:00 midnight, January 1, 1904. 64-bit integer - * LONGDATETIME modified Number of seconds since 12:00 midnight, January 1, 1904. 64-bit integer - * SHORT xMin For all glyph bounding boxes. - * SHORT yMin For all glyph bounding boxes. - * SHORT xMax For all glyph bounding boxes. - * SHORT yMax For all glyph bounding boxes. - * USHORT macStyle Bit 0: Bold (if set to 1); - * Bit 1: Italic (if set to 1) - * Bit 2: Underline (if set to 1) - * Bit 3: Outline (if set to 1) - * Bit 4: Shadow (if set to 1) - * Bit 5: Condensed (if set to 1) - * Bit 6: Extended (if set to 1) - * Bits 7-15: Reserved (set to 0). - * USHORT lowestRecPPEM Smallest readable size in pixels. - * SHORT fontDirectionHint 0: Fully mixed directional glyphs; - * 1: Only strongly left to right; - * 2: Like 1 but also contains neutrals; - * -1: Only strongly right to left; - * -2: Like -1 but also contains neutrals. 1 - * SHORT indexToLocFormat 0 for short offsets, 1 for long. - * SHORT glyphDataFormat 0 for current format. - */ -class OpenTypeFileHEAD extends OpenTypeFileTable { - var $_version; - var $_fontRevision; - var $_checkSumAdjustment; - var $_magicNumber; - var $_flags; - var $_unitsPerEm; - var $_created; - var $_modified; - var $_xMin; - var $_yMin; - var $_xMax; - var $_yMax; - var $_macStyle; - var $_lowestRecPPEM; - var $_fontDirectionHint; - var $_indexToLocFormat; - var $_glyphDataFormat; - - function OpenTypeFileHEAD() { - $this->OpenTypeFileTable(); - } - - function _read($filehandle) { - $content = fread($filehandle, 4*4 + 11*2 + 2*8); - - $unpacked = unpack("Nversion/NfontRevision/NcheckSumAdjustment/NmagicNumber/nflags/nunitsPerEm/N2created/N2modified/nxMin/nyMin/nxMax/nyMax/nmacStyle/nlowestRecPPEM/nfontDirectionHint/nindexToLocFormat/nglyphDataFormat", $content); - $this->_version = $unpacked['version']; - $this->_fontRevision = $unpacked['fontRevision']; - $this->_checkSumAdjustment = $unpacked['checkSumAdjustment']; - $this->_magicNumber = $unpacked['magicNumber']; - $this->_flags = $unpacked['flags']; - $this->_unitsPerEm = $unpacked['unitsPerEm']; - $this->_created = $unpacked['created1'] << 32 | $unpacked['created2']; - $this->_modified = $unpacked['modified1'] << 32 | $unpacked['modified2']; - $this->_xMin = $this->_fixShort($unpacked['xMin']); - $this->_yMin = $this->_fixShort($unpacked['yMin']); - $this->_xMax = $this->_fixShort($unpacked['xMax']); - $this->_yMax = $this->_fixShort($unpacked['yMax']); - $this->_macStyle = $unpacked['macStyle']; - $this->_lowestRecPPEM = $unpacked['lowestRecPPEM']; - $this->_fontDirectionHint = $this->_fixShort($unpacked['fontDirectionHint']); - $this->_indexToLocFormat = $this->_fixShort($unpacked['indexToLocFormat']); - $this->_glyphDataFormat = $this->_fixShort($unpacked['glyphDataFormat']); - } -} - -class OpenTypeFileCMAP extends OpenTypeFileTable { - var $_header; - var $_encodings; - var $_subtables; - - function OpenTypeFileCMAP() { - $this->OpenTypeFileTable(); - $this->_header = new OpenTypeFileCMAPHeader(); - $this->_encodings = array(); - $this->_subtables = array(); - } - - function _read($filehandle) { - $this->_header->_read($filehandle); - - for ($i=0; $i<$this->_header->_numTables; $i++) { - $encoding = new OpenTypeFileCMAPEncoding(); - $encoding->_read($filehandle); - $this->_encodings[] =& $encoding; - }; - } - - /** - * It is assumed that current file position is set to the beginning - * of CMAP table - */ - function _getSubtable($filehandle, $offset) { - fseek($filehandle, $offset, SEEK_CUR); - - $subtable = new OpenTypeFileCMAPSubtable(); - $subtable->_read($filehandle); - - return $subtable; - } - - function &findSubtable($platformId, $encodingId) { - $file = $this->getFontFile(); - - $index = 0; - foreach ($this->_encodings as $encoding) { - if ($encoding->_platformId == $platformId && - $encoding->_encodingId == $encodingId) { - return $this->getSubtable($index); - }; - }; - - $dummy = null; return $dummy; - } - - function &getSubtable($index) { - if (!isset($this->_subtables[$index])) { - $file =& $this->getFontFile(); - $subtable =& $file->_getCMAPSubtable($this->_encodings[$index]->_offset); - $this->_subtables[$index] =& $subtable; - return $subtable; - } else { - return $this->_subtables[$index]; - }; - } -} - -/** - * TODO: support for CMAP subtable formats other than 4 - */ -class OpenTypeFileCMAPSubtable { - var $_format; - var $_content; - - function OpenTypeFileCMAPSubtable() { - $this->_content = null; - } - - function lookup($unicode) { - return $this->_content->lookup($unicode); - } - - function _read($filehandle) { - $content = fread($filehandle, 2); - - $unpacked = unpack("nformat", $content); - $this->_format = $unpacked['format']; - - switch ($this->_format) { - case 4: - $this->_content = new OpenTypeFileCMAPSubtable4(); - $this->_content->_read($filehandle); - return; - - default: - die(sprintf("Unsupported CMAP subtable format: %i", $this->_format)); - } - } -} - -class OpenTypeFileCMAPSubtable4 extends OpenTypeFileTable { - var $_length; - var $_language; - var $_segCountX2; - var $_searchRange; - var $_entrySelector; - var $_rangeShift; - var $_endCount; - var $_startCount; - var $_idDelta; - var $_idRangeOffset; - var $_glyphIdArray; - - function OpenTypeFileCMAPSubtable4() { - $this->_endCount = array(); - $this->_startCount = array(); - $this->_idDelta = array(); - $this->_idRangeOffset = array(); - $this->_glyphIdArray = array(); - } - - function lookup($unicode) { - $index = $this->_lookupSegment($unicode); - if (is_null($index)) { return null; }; - - if ($this->_idRangeOffset[$index] != 0) { - /** - * If the idRangeOffset value for the segment is not 0, the - * mapping of character codes relies on glyphIdArray. The - * character code offset from startCode is added to the - * idRangeOffset value. This sum is used as an offset from the - * current location within idRangeOffset itself to index out the - * correct glyphIdArray value. This obscure indexing trick works - * because glyphIdArray immediately follows idRangeOffset in the - * font file. The C expression that yields the glyph index is: - * - * *(idRangeOffset[i]/2 + (c - startCount[i]) + &idRangeOffset[i]) - * - * The value c is the character code in question, and i is the - * segment index in which c appears. If the value obtained from - * the indexing operation is not 0 (which indicates - * missingGlyph), idDelta[i] is added to it to get the glyph - * index. The idDelta arithmetic is modulo 65536. - */ - $value = $this->_glyphIdArray[$unicode - $this->_startCount[$index]]; - return ($value + $this->_idDelta[$index]) % 65536; - - } else { - /** - * If the idRangeOffset is 0, the idDelta value is added - * directly to the character code offset (i.e. idDelta[i] + c) - * to get the corresponding glyph index. Again, the idDelta - * arithmetic is modulo 65536. - */ - return $this->_idDelta[$index] + $unicode; - }; - } - - /** - * The segments are sorted in order of increasing endCode values, - * and the segment values are specified in four parallel arrays. You - * search for the first endCode that is greater than or equal to the - * character code you want to map. - */ - function _lookupSegment($unicode) { - for ($i=0; $i<$this->_segCountX2/2; $i++) { - if ($unicode <= $this->_endCount[$i]) { - /** - * If the corresponding startCode is less than or equal to the - * character code, then you use the corresponding idDelta and - * idRangeOffset to map the character code to a glyph index - * (otherwise, the missingGlyph is returned). - */ - if ($this->_startCount[$i] <= $unicode) { - return $i; - } else { - return null; - }; - }; - }; - return null; - } - - function _read($filehandle) { - $content = fread($filehandle, 6*2); - $unpacked = unpack("nlength/nlanguage/nsegCountX2/nsearchRange/nentrySelector/nrangeShift", $content); - $this->_length = $unpacked['length']; - $this->_language = $unpacked['language']; - $this->_segCountX2 = $unpacked['segCountX2']; - $this->_searchRange = $unpacked['searchRange']; - $this->_entrySelector = $unpacked['entrySelector']; - $this->_rangeShift = $unpacked['rangeShift']; - - for ($i=0; $i_segCountX2/2); $i++) { - $content = fread($filehandle, 2); - $unpacked = unpack("nendCount", $content); - $this->_endCount[] = $unpacked['endCount']; - }; - - // Skip 'reservedPad' field - $content = fread($filehandle, 2); - - for ($i=0; $i<$this->_segCountX2/2; $i++) { - $content = fread($filehandle, 2); - $unpacked = unpack("nstartCount", $content); - $this->_startCount[] = $unpacked['startCount']; - }; - - for ($i=0; $i<$this->_segCountX2/2; $i++) { - $content = fread($filehandle, 2); - $unpacked = unpack("nidDelta", $content); - $this->_idDelta[] = $this->_fixShort($unpacked['idDelta']); - }; - - for ($i=0; $i<$this->_segCountX2/2; $i++) { - $content = fread($filehandle, 2); - $unpacked = unpack("nidRangeOffset", $content); - $this->_idRangeOffset[] = $unpacked['idRangeOffset']; - }; - - for ($i=0; $i<$this->_length - 2*12; $i+=2) { - $content = fread($filehandle, 2); - $unpacked = unpack("nglyphId", $content); - $this->_glyphIdArray[] = $unpacked['glyphId']; - }; - } -} - -class OpenTypeFileCMAPEncoding { - var $_platformId; - var $_encodingId; - var $_offset; - - function _read($filehandle) { - $content = fread($filehandle, 2*2+4); - - $unpacked = unpack("nplatformId/nencodingId/Noffset", $content); - $this->_platformId = $unpacked['platformId']; - $this->_encodingId = $unpacked['encodingId']; - $this->_offset = $unpacked['offset']; - } -} - -class OpenTypeFileCMAPHeader { - var $_version; - var $_numTables; - - function _read($filehandle) { - $content = fread($filehandle, 2*2); - - $unpacked = unpack("nversion/nnumTables", $content); - $this->_version = $unpacked['version']; - $this->_numTables = $unpacked['numTables']; - } -} - -// @TODO: v 1.0 support -class OpenTypeFileMAXP extends OpenTypeFileTable { - var $_numGlyphs; - - function OpenTypeFileMAXP() { - $this->OpenTypeFileTable(); - } - - function _read($filehandle) { - $content = fread($filehandle, 4+2*1); - - $unpacked = unpack("Nversion/nnumGlyphs", $content); - - $version = $unpacked['version']; - $this->_numGlyphs = $unpacked['numGlyphs']; - } -} - -class OpenTypeFileHHEA extends OpenTypeFileTable { - var $_ascender; - var $_descender; - var $_lineGap; - var $_advanceWidthMax; - var $_minLeftSideBearing; - var $_minRightSideBearing; - var $_xMaxExtent; - var $_caretSlopeRise; - var $_caretSlopeRun; - var $_caretOffset; - var $_metricDataFormat; - var $_numberOfHMetrics; - - function OpenTypeFileHHEA() { - $this->OpenTypeFileTable(); - } - - function _read($filehandle) { - $content = fread($filehandle, 4+16*2); - - $unpacked = unpack("Nversion/nascender/ndescender/nlineGap/nadvanceWidthMax/nminLeftSideBearing/". - "nminRightSideBearing/nxMaxExtent/ncaretSlopeRise/ncaretSlopeRun/ncaretOffset/n4reserved/". - "nmetricDataFormat/nnumberOfHMetrics", $content); - - $version = $unpacked['version']; - $this->_ascender = $this->_fixFWord($unpacked['ascender']); - $this->_descender = $this->_fixFWord($unpacked['descender']); - $this->_lineGap = $this->_fixFWord($unpacked['lineGap']); - $this->_advanceWidthMax = $unpacked['advanceWidthMax']; - $this->_minLeftSideBearing = $this->_fixFWord($unpacked['minLeftSideBearing']); - $this->_minRightSideBearing = $this->_fixFWord($unpacked['minRightSideBearing']); - $this->_xMaxExtent = $this->_fixFWord($unpacked['xMaxExtent']); - $this->_caretSlopeRise = $this->_fixShort($unpacked['caretSlopeRise']); - $this->_caretSlopeRun = $this->_fixShort($unpacked['caretSlopeRun']); - $this->_caretOffset = $this->_fixShort($unpacked['caretOffset']); - $this->_metricDataFormat = $this->_fixShort($unpacked['metricDataFormat']); - $this->_numberOfHMetrics = $unpacked['numberOfHMetrics']; - } -} - -class OpenTypeFileHMTX extends OpenTypeFileTable { - var $_hMetrics; - var $_leftSideBearing; - - function _delete() { - unset($this->_hMetrics); - unset($this->_leftSideBearing); - } - - function OpenTypeFileHMTX() { - $this->OpenTypeFileTable(); - - $this->_hMetrics = array(); - $this->_leftSideBearing = array(); - } - - function _read($filehandle) { - $fontFile =& $this->getFontFile(); - $hhea =& $fontFile->getTable('hhea'); - $maxp =& $fontFile->getTable('maxp'); - - for ($i=0; $i<$hhea->_numberOfHMetrics; $i++) { - $content = fread($filehandle, 2*2); - $unpacked = unpack("nadvanceWidth/nlsb", $content); - $this->_hMetrics[] = array('advanceWidth' => $unpacked['advanceWidth'], - 'lsb' => $this->_fixShort($unpacked['lsb'])); - }; - - for ($i=0; $i<$maxp->_numGlyphs; $i++) { - $content = fread($filehandle, 2); - $unpacked = unpack("nitem", $content); - $this->_leftSideBearing[] = $unpacked['item']; - }; - } -} - - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/out/readme.txt b/thirdparty/html2ps_pdf/out/readme.txt deleted file mode 100644 index e9bec3a90..000000000 --- a/thirdparty/html2ps_pdf/out/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This folder should be writable. \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output._generic.class.php b/thirdparty/html2ps_pdf/output._generic.class.php deleted file mode 100644 index a793d2050..000000000 --- a/thirdparty/html2ps_pdf/output._generic.class.php +++ /dev/null @@ -1,340 +0,0 @@ -_postponed[] =& $box; - } - - function show_postponed() { - $size = count($this->_postponed); - for ($i=0; $i<$size; $i++) { - $box =& $this->_postponed[$i]; - - $this->save(); - $box->_setupClip($this); - $box->show_postponed($this, true); - $this->restore(); - }; - } - - function show_postponed_in_absolute() { - $size = count($this->_postponed); - for ($i=0; $i<$size; $i++) { - $box =& $this->_postponed[$i]; - - if ($box->hasAbsolutePositionedParent()) { - - $this->save(); - $box->_setupClip($this); - $box->show_postponed($this, true); - $this->restore(); - }; - }; - } - - function show_postponed_in_fixed() { - $size = count($this->_postponed); - for ($i=0; $i<$size; $i++) { - $box =& $this->_postponed[$i]; - - if ($box->hasFixedPositionedParent()) { - $this->save(); - $box->_setupClip($this); - $box->show_postponed($this, true); - $this->restore(); - }; - }; - } - - function next_page($old_page_height) { - $this->setFootnoteAreaHeight(0); - $this->setFootnoteCount(0); - $this->setPageHeight(mm2pt($this->media->real_height())); - - $this->_postponed = array(); - } - - function setPageHeight($value) { - $this->_page_height = $value; - } - - function getPageHeight() { - return $this->_page_height; - } - - function getPageMaxHeight() { - return round(mm2pt($this->media->real_height()),2); - } - - function getPageWidth() { - return round(mm2pt($this->media->real_width()),2); - } - - function getPageLeft() { - return round(mm2pt($this->media->margins['left']),2); - } - - function getPageTop() { - return round($this->offset + mm2pt($this->media->height() - $this->media->margins['top']),2); - } - - function getPageBottom() { - return $this->getPageTop() - $this->getPageHeight(); - } - - function getFootnoteTop() { - return round($this->offset + - mm2pt($this->media->margins['bottom']) + - $this->getFootnoteAreaHeight(), - 2); - } - - function getFootnoteAreaHeight() { - return $this->_footnote_area_height; - } - - function setFootnoteAreaHeight($value) { - $this->_footnote_area_height = $value; - } - - function setFootnoteCount($value) { - $this->_footnote_count = $value; - } - - function getFootnoteCount() { - return $this->_footnote_count; - } - - function error_message() { - return $this->error_message; - } - - /** - * Checks if a given box should be drawn on the current page. - * Basically, box should be drawn if its top or bottom edge is "inside" the page "viewport" - * - * @param GenericBox $box Box we're using for check - * @return boolean flag indicating of any part of this box should be placed on the current page - */ - function contains(&$box) { - return $this->willContain($box, 0); - } - - function willContain(&$box, $footnote_height) { - /** - * These two types of boxes are not visual and - * may have incorrect position - */ - if (is_a($box, "TableSectionBox")) { return true; }; - if (is_a($box, "TableRowBox")) { return true; }; - - $top = round($box->get_top(),2); - $bottom = round($box->get_bottom(),2); - - $vp_top = $this->getPageTop(); - $vp_bottom = max($this->getFootnoteTop() + $footnote_height, - $this->getPageTop() - $this->getPageHeight()); - - return ($top > $vp_bottom && - $bottom <= $vp_top); - } - - function draw_page_border() { - $this->setlinewidth(1); - $this->setrgbcolor(0,0,0); - - $this->moveto($this->left, $this->bottom + $this->offset); - $this->lineto($this->left, $this->bottom + $this->height + $this->offset); - $this->lineto($this->left + $this->width, $this->bottom + $this->height + $this->offset); - $this->lineto($this->left + $this->width, $this->bottom + $this->offset); - $this->closepath(); - $this->stroke(); - } - - function get_expected_pages() { - return $this->expected_pages; - } - - function mk_filename() { - // Check if we can use tempnam to create files (so, we have PHP version - // with fixed bug it this function behaviour and open_basedir/environment - // variables are not maliciously set to move temporary files out of open_basedir - // In general, we'll try to create these files in ./temp subdir of current - // directory, but it can be overridden by environment vars both on Windows and - // Linux - $filename = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - $filehandle = @fopen($filename, "wb"); - - // Now, if we have had any troubles, $filehandle will be - if ($filehandle === false) { - // Note: that we definitely need to unlink($filename); - tempnam just created it for us! - // but we can't ;) because of open_basedir (or whatelse prevents us from opening it) - - // Fallback to some stupid algorithm of filename generation - $tries = 0; - do { - $filename = WRITER_TEMPDIR.WRITER_FILE_PREFIX.$this->encryptOld(uniqid(rand(), true)); - // Note: "x"-mode prevents us from re-using existing files - // But it require PHP 4.3.2 or later - $filehandle = @fopen($filename, "xb"); - $tries++; - } while (!$filehandle && $tries < WRITER_RETRIES); - }; - - if (!$filehandle) { - die(WRITER_CANNOT_CREATE_FILE); - }; - - // Release this filehandle - we'll reopen it using some gzip wrappers - // (if they are available) - fclose($filehandle); - - // Remove temporary file we've just created during testing - unlink($filename); - - return $filename; - } - - function get_filename() { - return $this->filename; - } - - function &get_font_resolver() { - global $g_font_resolver_pdf; - return $g_font_resolver_pdf; - } - - function is_debug_boxes() { - return $this->debug_boxes; - } - - function is_show_page_border() { - return $this->show_page_border; - } - - function rect($x, $y, $w, $h) { - $this->moveto($x, $y); - $this->lineto($x + $w, $y); - $this->lineto($x + $w, $y + $h); - $this->lineto($x, $y + $h); - $this->closepath(); - } - - function set_debug_boxes($debug) { - $this->debug_boxes = $debug; - } - - function set_expected_pages($num) { - $this->expected_pages = $num; - } - - function set_filename($filename) { - $this->filename = $filename; - } - - function set_show_page_border($show) { - $this->show_page_border = $show; - } - - function setup_clip() { - $this->moveto($this->left, $this->bottom + $this->height + $this->offset); - $this->lineto($this->left + $this->width, $this->bottom + $this->height + $this->offset); - $this->lineto($this->left + $this->width, $this->bottom + $this->height + $this->offset - $this->getPageHeight()); - $this->lineto($this->left, $this->bottom + $this->height + $this->offset - $this->getPageHeight()); - $this->clip(); - } - - function OutputDriverGeneric() { - // Properties setup - $this->set_debug_boxes(false); - $this->set_filename($this->mk_filename()); - $this->set_show_page_border(false); - - $this->setFootnoteAreaHeight(0); - $this->setFootnoteCount(0); - - $this->_postponed = array(); - } - - function prepare() { - } - - function reset(&$media) { - $this->update_media($media); - $this->_postponed = array(); - } - - function &get_media() { - return $this->media; - } - - function update_media(&$media) { - $this->media =& $media; - $this->width = mm2pt($media->width() - $media->margins['left'] - $media->margins['right']); - $this->height = mm2pt($media->height() - $media->margins['top'] - $media->margins['bottom']); - $this->left = mm2pt($media->margins['left']); - $this->bottom = mm2pt($media->margins['bottom']); - $this->offset = 0; - $this->offset_delta = 0; - $this->expected_pages = 0; - $this->current_page = 1; - - $this->setPageHeight(mm2pt($media->real_height())); - } - - function set_watermark($watermark) { - $this->_watermark = $watermark; - } - - public function encryptOld($string) - { - if (!class_exists('G')) { - $realdocuroot = str_replace( '\\', '/', $_SERVER['DOCUMENT_ROOT'] ); - $docuroot = explode( '/', $realdocuroot ); - array_pop( $docuroot ); - $pathhome = implode( '/', $docuroot ) . '/'; - array_pop( $docuroot ); - $pathTrunk = implode( '/', $docuroot ) . '/'; - require_once($pathTrunk.'gulliver/system/class.g.php'); - } - return G::encryptOld($string); - } - -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output._generic.pdf.class.php b/thirdparty/html2ps_pdf/output._generic.pdf.class.php deleted file mode 100644 index be969a318..000000000 --- a/thirdparty/html2ps_pdf/output._generic.pdf.class.php +++ /dev/null @@ -1,26 +0,0 @@ -OutputDriverGeneric(); - $this->set_pdf_version("1.3"); - } - - function content_type() { return ContentType::pdf(); } - - function get_pdf_version() { - return $this->pdf_version; - } - - function reset($media) { - OutputDriverGeneric::reset($media); - } - - function set_pdf_version($version) { - $this->pdf_version = $version; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output._generic.ps.class.php b/thirdparty/html2ps_pdf/output._generic.ps.class.php deleted file mode 100644 index 936dad6d6..000000000 --- a/thirdparty/html2ps_pdf/output._generic.ps.class.php +++ /dev/null @@ -1,37 +0,0 @@ -image_encoder; - } - - function get_language_level() { - return $this->language_level; - } - - function OutputDriverGenericPS($image_encoder) { - $this->OutputDriverGeneric(); - - $this->set_language_level(2); - $this->set_image_encoder($image_encoder); - } - - function reset(&$media) { - OutputDriverGeneric::reset($media); - } - - function set_image_encoder(&$encoder) { - $this->image_encoder = $encoder; - } - - function set_language_level($version) { - $this->language_level = $version; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output._interface.class.php b/thirdparty/html2ps_pdf/output._interface.class.php deleted file mode 100644 index 5aff83e61..000000000 --- a/thirdparty/html2ps_pdf/output._interface.class.php +++ /dev/null @@ -1,73 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.fastps.class.php b/thirdparty/html2ps_pdf/output.fastps.class.php deleted file mode 100644 index 7cf6e73ba..000000000 --- a/thirdparty/html2ps_pdf/output.fastps.class.php +++ /dev/null @@ -1,404 +0,0 @@ -write(sprintf("[ /Rect [ %.2f %.2f %.2f %.2f ] /Action << /Subtype /URI /URI (%s) >> /Border [0 0 0] /Subtype /Link /ANN pdfmark\n", - $x, $y, $x+$w, $y-$h, $this->_string($target))); - } - - function add_local_link($left, $top, $width, $height, $anchor) { - $this->write(sprintf("[ /Rect [ %.2f %.2f %.2f %.2f ] /Page %d /View [ /XYZ null %.2f null ] /Border [0 0 0] /Subtype /Link /ANN pdfmark\n", - $left, $top, $left + $width, $top - $height, $anchor->page, $anchor->y)); - } - - function circle($x, $y, $r) { - $this->moveto($x, $y); - $this->write(sprintf("%.2f %.2f %.2f 0 360 arc\n", $x, $y, $r)); - } - - function clip() { - $this->write("clip newpath\n"); - } - - function close() { - $this->_show_watermark(); - - if ($this->status != FASTPS_STATUS_OUTPUT_STARTED) { return; } - $this->_terminate_output(); - - fclose($this->data); - } - - function closepath() { - $this->write("closepath\n"); - } - - function dash($x, $y) { - $this->write(sprintf("[%.2f %.2f] 0 setdash\n", $x, $y)); - } - - function decoration($underline, $overline, $linethrough) { - $this->underline = $underline; - $this->overline = $overline; - $this->linethrough = $linethrough; - } - - function fill() { - $this->write("fill\n"); - } - - function _findfont($name, $encoding) { - $font =& $this->font_factory->get_type1($name, $encoding); - if (is_null($font)) { - $this->error_message .= $this->font_factory->error_message(); - $dummy = null; - return $dummy; - }; - - if (!isset($this->used_encodings[$encoding])) { - $this->used_encodings[$encoding] = true; - - $manager = ManagerEncoding::get(); - $this->_write_document_prolog($manager->get_ps_encoding_vector($encoding)); - $this->_write_document_prolog("\n"); - }; - - $fontname = $font->name(); - if (!isset($this->found_fonts[$fontname])) { - $this->found_fonts[$fontname] = true; - - $this->_write_document_prolog("/$fontname /$name $encoding findfont-enc def\n"); - }; - - return $font; - } - - // @return 'null' in case of error or ascender fraction of font-size - // - function font_ascender($name, $encoding) { - $font = $this->_findfont($name, $encoding); - if (is_null($font)) { return null; }; - - return $font->ascender()/1000; - } - - // @return 'null' in case of error or ascender fraction of font-size - // - function font_descender($name, $encoding) { - $font = $this->_findfont($name, $encoding); - if (is_null($font)) { return null; }; - - return -$font->descender()/1000; - } - - function get_bottom() { - return $this->bottom + $this->offset; - } - - function &get_font_resolver() { - global $g_font_resolver; - return $g_font_resolver; - } - - function image($image, $x, $y, $scale) { - $image_encoder = $this->get_image_encoder(); - $id = $image_encoder->auto($this, $image, $size_x, $size_y, $tcolor, $image, $mask); - $init = "image-".$id."-init"; - - $this->moveto($x, $y); - $this->write(sprintf("%.2f %.2f %s %s {%s} %d %d image-create image-show\n", - $size_x * $scale, - $size_y * $scale, - ($mask !== "" ? $mask : "/null"), - $image, - $init, - $size_y, - $size_x)); - } - - function image_scaled($image, $x, $y, $scale_x, $scale_y) { - $image_encoder = $this->get_image_encoder(); - $id = $image_encoder->auto($this, $image, $size_x, $size_y, $tcolor, $image, $mask); - $init = "image-".$id."-init"; - - $this->moveto($x, $y); - $this->write(sprintf("%.2f %.2f %s %s {%s} %d %d image-create image-show\n", - $size_x * $scale_x , - $size_y * $scale_y, - ($mask !== "" ? $mask : "/null"), - $image, - $init, - $size_y, - $size_x)); - } - - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { - $image_encoder = $this->get_image_encoder(); - $id = $image_encoder->auto($this, $image, $size_x, $size_y, $tcolor, $image, $mask); - $init = "image-".$id."-init"; - - $this->write(sprintf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f %s %s {%s} %d %d image-create image-show-repeat-y\n", - $scale, $oy, $ox, $bottom, $height, $y, $x, - ($mask !== "" ? $mask : "/null"), - $image, - $init, - $size_y, - $size_x)); - } - - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { - $image_encoder = $this->get_image_encoder(); - $id = $image_encoder->auto($this, $image, $size_x, $size_y, $tcolor, $image, $mask); - $init = "image-".$id."-init"; - - $this->write(sprintf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f %s %s {%s} %d %d image-create image-show-repeat-x\n", - $scale, $oy, $ox, $right, $width, $y, $x, - ($mask !== "" ? $mask : "/null"), - $image, - $init, - $size_y, - $size_x)); - } - - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { - $image_encoder = $this->get_image_encoder(); - $id = $image_encoder->auto($this, $image, $size_x, $size_y, $tcolor, $image, $mask); - $init = "image-".$id."-init"; - - $this->write(sprintf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %s %s {%s} %d %d image-create image-show-repeat-xy\n", - $scale, $oy, $ox, $bottom, $right, $height, $width, $y, $x, - ($mask !== "" ? $mask : "/null"), - $image, - $init, - $size_y, - $size_x)); - } - - function lineto($x, $y) { - $data = sprintf("%.2f %.2f lineto\n", $x, $y); - $this->write($data); - } - - function moveto($x, $y) { - $data = sprintf("%.2f %.2f moveto\n", $x, $y); - $this->write($data); - } - - function next_page($height) { - $this->_show_watermark(); - - $this->current_page ++; - $this->offset -= $height - $this->offset_delta; - - // Reset the "correction" offset to it normal value - // Note: "correction" offset is an offset value required to avoid page breaking - // in the middle of text boxes - $this->offset_delta = 0; - - $this->write("showpage\n"); - $this->write(sprintf("%%%%Page: %d %d\n", $this->current_page, $this->current_page)); - $this->write("%%BeginPageSetup\n"); - $this->write(sprintf("initpage\n")); - $this->write(sprintf("0 %.2f translate\n", -$this->offset)); - $this->write("0 0 0 setrgbcolor\n"); - $this->write("%%EndPageSetup\n"); - - parent::next_page($height); - } - - function OutputDriverFastPS(&$image_encoder) { - $this->OutputDriverGenericPS($image_encoder); - } - - function reset(&$media) { - OutputDriverGenericPS::reset($media); - - $this->media =& $media; - $this->data = fopen($this->get_filename(), "wb"); - - // List of fonts names which already had generated findfond PS code - $this->found_fonts = array(); - - $this->used_encodings = array(); - - $this->overline = false; - $this->underline = false; - $this->linethrough = false; - - // A font class factory - $this->font_factory = new FontFactory; - - $this->current_page = 1; - - $this->_document_body = ""; - $this->_document_prolog = ""; - } - - function restore() { - $this->write("grestore\n"); - } - - function save() { - $this->write("gsave\n"); - } - - // @return true normally or null in case of error - // - function setfont($name, $encoding, $size) { - $this->fontsize = $size; - $this->currentfont = $this->_findfont($name, $encoding); - - if (is_null($this->currentfont)) { return null; }; - - $this->write(sprintf("%s %.2f scalefont setfont\n", $this->currentfont->name(), $size)); - - return true; - } - - function setlinewidth($x) { - $data = sprintf("%.2f setlinewidth\n", $x); - $this->write($data); - } - - function setrgbcolor($r, $g, $b) { - $data = sprintf("%.2f %.2f %.2f setrgbcolor\n", $r, $g, $b); - $this->write($data); - } - - function show_xy($text, $x, $y) { - if (trim($text) !== "") { - $this->moveto($x, $y); - $this->write("(".$this->_string($text).") show\n"); - }; - - $width = Font::points($this->fontsize, $this->currentfont->stringwidth($text)); - if ($this->overline) { $this->_show_overline($x, $y, $width, $this->fontsize); }; - if ($this->underline) { $this->_show_underline($x, $y, $width, $this->fontsize); }; - if ($this->linethrough) { $this->_show_linethrough($x, $y, $width, $this->fontsize); }; - } - - function stringwidth($string, $name, $encoding, $size) { - $font =& $this->font_factory->get_type1($name, $encoding); - - if (is_null($font)) { - $this->error_message .= $this->font_factory->error_message(); - $dummy = null; - return $dummy; - }; - - return Font::points($size, $font->stringwidth($string)); - } - - function stroke() { - $this->write("stroke\n"); - } - - function write($string) { - if ($this->status == FASTPS_STATUS_DOCUMENT_INITIALIZED) { $this->_start_output(); }; - - $this->_document_body .= $string; - } - - function _write_document_prolog($string) { - $this->_document_prolog .= $string; - } - - function _show_line($x, $y, $width, $height, $up, $ut) { - $this->setlinewidth($ut); - $this->moveto($x, $y + $up); - $this->lineto($x+$width, $y + $up); - $this->stroke(); - } - - function _show_underline($x, $y, $width, $height) { - $up = Font::points($this->fontsize, $this->currentfont->underline_position()); - $ut = Font::points($this->fontsize, $this->currentfont->underline_thickness()); - - $this->_show_line($x, $y, $width, $height, $up, $ut); - } - - function _show_overline($x, $y, $width, $height) { - $up = Font::points($this->fontsize, $this->currentfont->overline_position()); - $ut = Font::points($this->fontsize, $this->currentfont->underline_thickness()); - - $this->_show_line($x, $y, $width, $height, $up, $ut); - } - - function _show_linethrough($x, $y, $width, $height) { - $up = Font::points($this->fontsize, $this->currentfont->linethrough_position()); - $ut = Font::points($this->fontsize, $this->currentfont->underline_thickness()); - - $this->_show_line($x, $y, $width, $height, $up, $ut); - } - - function _start_output() { - $this->status = FASTPS_STATUS_OUTPUT_STARTED; - } - - function _terminate_output() { - /** - * Prepare the PS file header - * Note that %PS-Adobe-3.0 refers to DSC version, NOT language level - */ - $header = file_get_contents(HTML2PS_DIR.'/postscript/fastps.header.ps'); - - global $g_config; - $header = preg_replace("/##PS2PDF##/", - ($g_config['ps2pdf'] && $g_config['transparency_workaround']) ? "/ps2pdf-transparency-hack true def" : "/ps2pdf-transparency-hack false def",$header); - $header = preg_replace("/##TRANSPARENCY##/",($g_config['transparency_workaround']) ? "/no-transparency-output true def" : "/no-transparency-output false def",$header); - $header = preg_replace("/##PAGES##/", $this->expected_pages, $header); - - $header = preg_replace("/##BBOX##/", $this->media->to_bbox(), $header); - $header = preg_replace("/##MEDIA##/", $this->media->to_ps(), $header); - - $header = preg_replace("/##PROLOG##/", $this->_document_prolog, $header); - - fwrite($this->data, $header); - fwrite($this->data, "\n"); - fwrite($this->data, $this->_document_body); - - $footer = file_get_contents(HTML2PS_DIR.'/postscript/fastps.footer.ps'); - fwrite($this->data, $footer); - } - - function _show_watermark() { - } - - /** - * Protected output-specific methods - */ - - /** - * Escapes special Postscript symbols '(',')' and '%' inside a text string - */ - function _string($str) { - $str = str_replace("\\", "\\\\", $str); - $str = str_replace(array("(",")","%"), array("\\(","\\)","\\%"), $str); - - // Replace characters having 8-bit set with their octal representation - for ($i=0; $i 127) { - $str = substr_replace($str, sprintf("\\%o", ord($str{$i})), $i, 1); - $i += 3; - }; - }; - - return $str; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.fastps.l2.class.php b/thirdparty/html2ps_pdf/output.fastps.l2.class.php deleted file mode 100644 index 5a2589ef4..000000000 --- a/thirdparty/html2ps_pdf/output.fastps.l2.class.php +++ /dev/null @@ -1,109 +0,0 @@ -image_scaled($image, $x, $y, $scale, $scale); - } - - function image_scaled($image, $x, $y, $scale_x, $scale_y) { - $image_encoder = $this->get_image_encoder(); - $lines = $image_encoder->by_lines($image, $size_x, $size_y); - - $offset = 0; - foreach ($lines as $line) { - $this->moveto($x,$y-$offset*$scale_y); - $this->write(sprintf("gsave\n")); - $this->write(sprintf(" << /ImageType 1 /Width %d /Height 1 /BitsPerComponent 8 /Decode [0 1 0 1 0 1] /ImageMatrix %s /DataSource %s >> image\n", - $size_x, - sprintf("matrix currentpoint translate %.2f %.2f scale 0 %.2f translate", - $scale_x, $scale_y, - $size_y - ), - "currentfile /ASCIIHexDecode filter")); - $this->write(sprintf("%s\n", $line)); - $this->write(sprintf("grestore\n")); - - $offset ++; - }; - } - - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { - // Fill part to the bottom - $cy = $y; - while ($cy+$height > $bottom) { - $this->image($image, $x, $cy, $scale); - $cy -= $height; - }; - - // Fill part to the top - $cy = $y; - while ($cy-$height < $y + $oy) { - $this->image($image, $x, $cy, $scale); - $cy += $height; - }; - } - - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { - // Fill part to the right - $cx = $x; - while ($cx < $right) { - $this->image($image, $cx, $y, $scale); - $cx += $width; - }; - - // Fill part to the left - $cx = $x; - while ($cx+$width >= $x - $ox) { - $this->image($image, $cx-$width, $y, $scale); - $cx -= $width; - }; - } - - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { - // Fill bottom-right quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx < $right) { - $this->image($image, $cx, $cy, $scale); - $cx += $width; - }; - $cy -= $height; - } - - // Fill bottom-left quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx+$width > $x - $ox) { - $this->image($image, $cx, $cy, $scale); - $cx -= $width; - }; - $cy -= $height; - } - - // Fill top-right quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx < $right) { - $this->image($image, $cx, $cy, $scale); - $cx += $width; - }; - $cy += $height; - } - - // Fill top-left quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx+$width > $x - $ox) { - $this->image($image, $cx, $cy, $scale); - $cx -= $width; - }; - $cy += $height; - } - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.fpdf.class.php b/thirdparty/html2ps_pdf/output.fpdf.class.php deleted file mode 100644 index 5e8f7cd03..000000000 --- a/thirdparty/html2ps_pdf/output.fpdf.class.php +++ /dev/null @@ -1,431 +0,0 @@ -_coords2pdf_annotation($x, $y); - $this->pdf->add_link_external($x, $y, $w, $h, $target); - } - - function add_local_link($left, $top, $width, $height, $anchor) { - if (!isset($this->locallinks[$anchor->name])) { - $x = 0; - $y = $anchor->y; - $this->_coords2pdf($x, $y); - - $this->locallinks[$anchor->name] = $this->pdf->AddLink(); - $this->pdf->SetLink($this->locallinks[$anchor->name], - $y - 20, - $anchor->page); - }; - - $x = $left; - $y = $top - $this->offset; - $this->_coords2pdf($x, $y); - - $this->pdf->add_link_internal($x, - $y, - $width, - $height, - $this->locallinks[$anchor->name]); - } - - // UNfortunately, FPDF do not provide any coordinate-space transformation routines - // so we need to reverse the Y-axis manually - function _coords2pdf(&$x, &$y) { - $y = mm2pt($this->media->height()) - $y; - } - - // Annotation coordinates are always interpreted in the default (untranslated!) - // user space. (See PDF Reference 1.6 Section 8.4 p.575) - function _coords2pdf_annotation(&$x, &$y) { - $y = $y - $this->offset; - $this->_coords2pdf($x, $y); - } - - function decoration($underline, $overline, $strikeout) { - // underline - $this->pdf->SetDecoration($underline, $overline, $strikeout); - } - - function circle($x, $y, $r) { - $this->pdf->circle($x, $y, $r); - } - - function clip() { - $this->pdf->Clip(); - } - - function close() { - $this->_show_watermark(); - $this->pdf->Output($this->get_filename()); - } - - function closepath() { - $this->pdf->closepath(); - } - - function dash($x, $y) { - $this->pdf->SetDash(ceil($x), ceil($y)); - } - - function get_bottom() { - return $this->bottom + $this->offset; - } - - function field_multiline_text($x, $y, $w, $h, $value, $field_name) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_multiline_text($x, $y, $w, $h, $value, $field_name); - } - - function field_text($x, $y, $w, $h, $value, $field_name) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_text($x, $y, $w, $h, $value, $field_name); - } - - function field_password($x, $y, $w, $h, $value, $field_name) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_password($x, $y, $w, $h, $value, $field_name); - } - - function field_pushbutton($x, $y, $w, $h) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_pushbutton($x, $y, $w, $h); - } - - function field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL); - } - - function field_pushbuttonreset($x, $y, $w, $h) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_pushbuttonreset($x, $y, $w, $h); - } - - function field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL); - } - - function field_checkbox($x, $y, $w, $h, $name, $value, $checked) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_checkbox($x, $y, $w, $h, $name, $value, $checked); - } - - function field_radio($x, $y, $w, $h, $groupname, $value, $checked) { - static $generated_group_index = 0; - if (is_null($groupname)) { - $generated_group_index ++; - $groupname = "__generated_group_".$generated_group_index; - }; - - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_radio($x, $y, $w, $h, $groupname, $value, $checked); - } - - function field_select($x, $y, $w, $h, $name, $value, $options) { - $this->_coords2pdf_annotation($x, $y); - $this->pdf->add_field_select($x, $y, $w, $h, $name, $value, $options); - } - - function fill() { - $this->pdf->Fill(); - } - - function findfont($name, $encoding) { - // Todo: encodings handling - return $name; - } - - function font_ascender($name, $encoding) { - return $this->pdf->GetFontAscender($name, $encoding); - } - - function font_descender($name, $encoding) { - return $this->pdf->GetFontDescender($name, $encoding); - } - - function image($image, $x, $y, $scale) { - $tmpname = $this->_mktempimage($image); - - $this->_coords2pdf($x, $y); - $this->pdf->Image($tmpname, - $x, - $y - imagesy($image) * $scale, - imagesx($image) * $scale, - imagesy($image) * $scale); - unlink($tmpname); - } - - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { - $tmpname = $this->_mktempimage($image); - - // Fill part to the right - $cx = $x; - while ($cx < $right) { - $tx = $cx; - $ty = $y + px2pt(imagesy($image)); - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx += $width; - }; - - // Fill part to the left - $cx = $x; - while ($cx+$width >= $x - $ox) { - $tx = $cx-$width; - $ty = $y + px2pt(imagesy($image)); - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx -= $width; - }; - - unlink($tmpname); - } - - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { - $tmpname = $this->_mktempimage($image); - - // Fill bottom-right quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx < $right) { - $tx = $cx; - $ty = $cy+$height; - $this->_coords2pdf($tx, $ty); - - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx += $width; - }; - $cy -= $height; - } - - // Fill bottom-left quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx+$width > $x - $ox) { - $tx = $cx; - $ty = $cy; - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx -= $width; - }; - $cy -= $height; - } - - // Fill top-right quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx < $right) { - $tx = $cx; - $ty = $cy; - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx += $width; - }; - $cy += $height; - } - - // Fill top-left quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx+$width > $x - $ox) { - $tx = $cx; - $ty = $cy; - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cx -= $width; - }; - $cy += $height; - } - - unlink($tmpname); - } - - - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { - $tmpname = $this->_mktempimage($image); - - // Fill part to the bottom - $cy = $y; - while ($cy+$height > $bottom) { - $tx = $x; - $ty = $cy + px2pt(imagesy($image)); - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cy -= $height; - }; - - // Fill part to the top - $cy = $y; - while ($cy-$height < $y + $oy) { - $tx = $x; - $ty = $cy + px2pt(imagesy($image)); - $this->_coords2pdf($tx, $ty); - $this->pdf->Image($tmpname, $tx, $ty, imagesx($image) * $scale, imagesy($image) * $scale, "png"); - $cy += $height; - }; - - unlink($tmpname); - } - - function image_scaled($image, $x, $y, $scale_x, $scale_y) { - $tmpname = $this->_mktempimage($image); - - $this->_coords2pdf($x, $y); - $this->pdf->Image($tmpname, $x, $y - imagesy($image) * $scale_y, imagesx($image) * $scale_x, imagesy($image) * $scale_y, "png"); - unlink($tmpname); - } - - function lineto($x, $y) { - $this->_coords2pdf($x, $y); - $this->pdf->lineto($x, $y); - } - - function moveto($x, $y) { - $this->_coords2pdf($x, $y); - $this->pdf->moveto($x, $y); - } - - function new_form($name) { - $this->pdf->add_form($name); - } - - function next_page($height) { - $this->_show_watermark(); - - $this->current_page ++; - - $this->pdf->AddPage(); - - // Calculate coordinate of the next page bottom edge - $this->offset -= $height - $this->offset_delta; - - // Reset the "correction" offset to it normal value - // Note: "correction" offset is an offset value required to avoid page breaking - // in the middle of text boxes - $this->offset_delta = 0; - - $this->pdf->Translate(0, -$this->offset); - - parent::next_page($height); - } - - function OutputDriverFPDF() { - $this->OutputDriverGenericPDF(); - } - - function reset(&$media) { - parent::reset($media); - if (is_array($media->security)){ - $this->pdf =& new FPDF_Protection('P','pt',array(mm2pt($media->width()), mm2pt($media->height()))); - //Set Protection - $this->pdf->SetProtection($media->getSecurityPermissions(),$media->getSecurityOpenPassword(),$media->getSecurityOwnerPassword()); - }else{ - $this->pdf =& new FPDF('P','pt',array(mm2pt($media->width()), mm2pt($media->height()))); - } - - if (defined('DEBUG_MODE')) { - $this->pdf->SetCompression(false); - } else { - $this->pdf->SetCompression(true); - }; - - $this->pdf->AddPage(); - - $this->cx = 0; - $this->cy = 0; - - $this->locallinks = array(); - } - - function restore() { - $this->pdf->Restore(); - } - - function save() { - $this->pdf->Save(); - } - - function setfont($name, $encoding, $size) { - $this->pdf->SetFont($this->findfont($name, $encoding), $encoding, $size); - - return true; - } - - function setlinewidth($x) { - $this->pdf->SetLineWidth($x); - } - - // PDFLIB wrapper functions - function setrgbcolor($r, $g, $b) { - $this->pdf->SetDrawColor($r*255, $g*255, $b*255); - $this->pdf->SetFillColor($r*255, $g*255, $b*255); - $this->pdf->SetTextColor($r*255, $g*255, $b*255); - } - - function show_xy($text, $x, $y) { - $this->_coords2pdf($x, $y); - $this->pdf->Text($x, $y, $text); - } - - function stroke() { - $this->pdf->stroke(); - } - - function stringwidth($string, $name, $encoding, $size) { - $this->setfont($name, $encoding, $size); - $width = $this->pdf->GetStringWidth($string); - return $width; - } - - function _show_watermark() { - if (is_null($this->_watermark) || $this->_watermark == "") { return; }; - - $this->pdf->SetFont("Helvetica", "iso-8859-1", 100); - - $x = $this->left + $this->width / 2; - $y = $this->bottom + $this->height / 2 - $this->offset; - $this->_coords2pdf($x, $y); - - $this->pdf->SetTextRendering(1); - $this->pdf->SetDecoration(false, false, false); - $this->pdf->Translate($x, $y); - $this->pdf->Rotate(60); - - $tx = -$this->pdf->GetStringWidth($this->_watermark)/2; - $ty = -50; - $this->_coords2pdf($tx, $ty); - - // By default, "watermark" is rendered in black color - $this->setrgbcolor(0,0,0); - - $this->pdf->Text($tx, - $ty, - $this->_watermark); - } - - function _mktempimage($image) { - $filename = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $filename); - return $filename; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.pcl.class.php b/thirdparty/html2ps_pdf/output.pcl.class.php deleted file mode 100644 index 37b7f8392..000000000 --- a/thirdparty/html2ps_pdf/output.pcl.class.php +++ /dev/null @@ -1,291 +0,0 @@ -_content = ""; - } - - function write($string) { - $this->_content .= $string; - } -} - -/** - * There are two forms of PCL escape sequences: two-character escape - * sequences and parameterized escape sequences. - */ -class PCLEscapeSequence { - function output(&$stream) { - $stream->write(ASCII_ESCAPE.$this->getSequenceString()); - } -} - -/** - * Two-character escape sequences have the following form: - * - * X - * - * where X is a character that defines the operation to be - * performed. X may be any character from the ASCII table within the - * range 48-126 decimal (0 through ~ - see Appendix A). - */ -class PCLEscapeGenericSimple { - function getSequenceString() { - return $this->_getEscapedCharacter(); - } - -} - -/** - * Parameterized escape sequences have the following form: - * - * X y z1 # z2 # z3 ... # Zn[data] - * - * where y, #, zi (z1, z2, z3...) and [data] may be optional, - * depending on the command. - */ -class PCLEscapeGenericParametric { - function getSequenceString() { - $result = - $this->_getEscapedCharacter(). - $this->_getGroupCharacter(); - $groups = $this->_getGroups(); - $size = count($groups); - for ($i=0; $i<$size-1; $i++) { - $result .= $groups[$i]->getString(); - }; - $result .= $groups[$size-1]->getStringTerminate(); - return $result; - } -} - -class PCLEscapeGroup { - var $_value; - var $_character; - - function PCLEscapeGroup($char, $value) { - $this->_character = $char; - $this->_value = $value; - } - - function getString() { - return $this->_value.$this->_character; - } - - function getStringTerminate() { - return $this->_value.strtoupper($this->_character); - } -} - -/** - * Simple escape sequences - */ - -/** - * Printer Reset command - * - * Receipt of the Printer Reset command restores the User Default - * Environment, deletes temporary fonts, macros, user-defined symbol - * sets and patterns. It also prints any partial pages of data which - * may have been received. - * - * E - */ -class PCLEscapeReset extends PCLEscapeGenericSimple { - function _getEscapedCharacter() { return "E"; } -} - -/** - * The Universal Exit Language (UEL) command causes the PCL printer - * language to shut down and exit. Control is then returned to the - * Printer Job Language (PJL). Both PCL 5 and HP-GL/2 recognize this - * command. - * - * %  1 2 3 4 5 X - * - * Default = N/A - * Range = 12345 - * This command performs the following actions: - * .. Prints all data received before the Exit Language command. - * .. Performs a printer reset (same effect as ? E). - * .. Shuts down the PCL 5 printer language processor. - * .. Turns control over to PJL. - */ -class PCLEscapeUEL extends PCLEscapeGenericParametric { - function _getEscapedCharacter() { return "%"; } - function _getGroupCharacter() { return ""; } - function _getGroups() { - return array(new PCLEscapeGroup('x',-12345)); - } -} - -/** - * The Number of Copies command designates the number of printed copies of each page. - * - * & l # X - * - * # = Number of copies (1 to 32767 maximum) - * Default = 1 (Configurable from control panel) - * Range = 1-32767 - * (Values 32767 execute as 32767 values 1 are ignored. - * Maximum number of copies=99 for LaserJet II, IIP, III, IIID, IIIP and earlier LaserJet printers.) - * - * This command can be received anywhere within a page and affects - * the current page as well as subsequent pages. - */ -class PCLEscapeNumberOfCopies extends PCLEscapeGenericParametric { - var $_number; - - function PCLEscapeNumberOfCopies($number) { - $this->_number = $number; - } - - function _getEscapedCharacter() { return "&"; } - function _getGroupCharacter() { return "l"; } - function _getGroups() { - return array(new PCLEscapeGroup('x',$this->_number)); - } -} - -/** - * This command designates either simplex or duplex printing mode for - * duplex printers. Simplex mode prints an image on only one side of a - * sheet (page). Duplex mode prints images on both sides of a sheet. - * - * ? & l # S - * - * # = 0 - Simplex - * 1 - Duplex, Long-Edge Binding - * 2 - Duplex, Short-Edge Binding - * Default = 0 - * Range = 0-2 (Other values ignored) - * - * Long-Edge bound duplexed pages are bound along the length of the - * physical page (see Figure 4-2). Short-edge bound duplexed pages are - * bound along the width of the physical page (see Figure 4-3). - * Selecting long-edge binding usually results in font rotation. This - * may be a concern if available user memory is critical. - */ -define('PCL_DUPLEX'); - -class PCLEscapeSimplexDuplex extends PCLEscapeGenericParametric { - var $_duplex; - - function PCLEscapeSimplexDuplex($duplex) { - $this->_duplex = $duplex; - } - - function _getEscapedCharacter() { return "&"; } - function _getGroupCharacter() { return "l"; } - function _getGroups() { - return array(new PCLEscapeGroup('x',$this->_number)); - } -} - -/** - * Print Job - * - * Structure of a Typical Job - * %12345X UEL Command (exit language) - * E Printer Reset Command. - * Preamble Job Control Commands. - * Page 1 Page Control Commands. - * Data - * Page 2 Page Control Commands.1 - * Data. - * ... - * Page n Page Control Commands. - * Data. - * E Printer Reset Command. - * %12345X UEL Command (exit language). - */ -class PCLPrintJob { - function output(&$stream) { - $uel = new PCLEscapeUEL(); - $reset = new PCLEscapeReset(); - - $uel->output($stream); - $reset->output($stream); - $this->_preamble->output($stream); - foreach ($this->_pages as $page) { - $page->output($stream); - }; - $reset->output($stream); - $uel->output($stream); - } -} - -class PCLPrintJobPreamble { - function output(&$stream) { - // TODO - } -} - -class PCLPrintJobPage { - var $_control; - var $_data; - - function output(&$stream) { - $this->_control->output($stream); - $this->_data->output($stream); - } -} - -class OutputDriverPCL extends OutputDriverGeneric { - - /** - * Standard output driver interface follows - */ - - function add_link($x, $y, $w, $h, $target) { /* N/A */ } - function add_local_link($left, $top, $width, $height, $anchor) { /* N/A */ } - function circle($x, $y, $r) { } - function clip() {} - function close() { die("Unoverridden 'close' method called in ".get_class($this)); } - function closepath() {} - function content_type() { die("Unoverridden 'content_type' method called in ".get_class($this)); } - function dash($x, $y) { } - function decoration($underline, $overline, $strikeout) { } - function error_message() { die("Unoverridden 'error_message' method called in ".get_class($this)); } - - function field_multiline_text($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_text($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_password($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_pushbutton($x, $y, $w, $h) { /* N/A */ } - function field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL) { /* N/A */ } - function field_pushbuttonreset($x, $y, $w, $h) { /* N/A */ } - function field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL) { /* N/A */ } - function field_checkbox($x, $y, $w, $h, $name, $value) { /* N/A */ } - function field_radio($x, $y, $w, $h, $groupname, $value, $checked) { /* N/A */ } - function field_select($x, $y, $w, $h, $name, $value, $options) { /* N/A */ } - - function fill() { } - function font_ascender($name, $encoding) {} - function font_descender($name, $encoding) {} - function get_bottom() {} - function image($image, $x, $y, $scale) {} - function image_scaled($image, $x, $y, $scale_x, $scale_y) { } - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { } - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { } - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { } - function lineto($x, $y) { } - function moveto($x, $y) { } - function new_form($name) { /* N/A */ } - function next_page() { /* N/A */ } - function release() { } - function restore() { } - function save() { } - function setfont($name, $encoding, $size) {} - function setlinewidth($x) { } - function setrgbcolor($r, $g, $b) { } - function set_watermark($text) { } - function show_xy($text, $x, $y) {} - function stringwidth($string, $name, $encoding, $size) { } - function stroke() { } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.pdflib.1.6.class.php b/thirdparty/html2ps_pdf/output.pdflib.1.6.class.php deleted file mode 100644 index 71c14294d..000000000 --- a/thirdparty/html2ps_pdf/output.pdflib.1.6.class.php +++ /dev/null @@ -1,239 +0,0 @@ -_name = $name; - } - - function name() { - return $this->_name; - } -} - -class OutputDriverPdflib16 extends OutputDriverPdflib { - function field_multiline_text($x, $y, $w, $h, $value, $name) { - $font = $this->_control_font(); - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($name), - "textfield", - sprintf("currentvalue {%s} defaultvalue {%s} font {%s} fontsize {auto} multiline {true}", - $value, - $value, - $font)); - } - - function field_text($x, $y, $w, $h, $value, $name) { - $font = $this->_control_font(); - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($name), - "textfield", - sprintf("currentvalue {%s} defaultvalue {%s} font {%s} fontsize {auto}", - $value, - $value, - $font)); - } - - function field_password($x, $y, $w, $h, $value, $name) { - $font = $this->_control_font(); - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($name), - "textfield", - sprintf("currentvalue {%s} font {%s} fontsize {auto} password {true}", $value, $font)); - } - - function field_pushbutton($x, $y, $w, $h) { - $font = $this->_control_font(); - - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn(sprintf("___Button%s",$this->encryptOld(time().rand()))), - "pushbutton", - sprintf("font {%s} fontsize {auto} caption {%s}", - $font, - " ")); - } - - function field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL) { - $font = $this->_control_font(); - - $action = pdf_create_action($this->pdf, - "SubmitForm", - sprintf("exportmethod {html} url=%s", $actionURL)); - - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($field_name), - "pushbutton", - sprintf("action {activate %s} font {%s} fontsize {auto} caption {%s}", - $action, - $font, - " ")); - } - - function field_pushbuttonreset($x, $y, $w, $h) { - $font = $this->_control_font(); - - $action = pdf_create_action($this->pdf, - "ResetForm", - sprintf("")); - - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn(sprintf("___ResetButton%d",$action)), - "pushbutton", - sprintf("action {activate %s} font {%s} fontsize {auto} caption {%s}", - $action, - $font, - " ")); - } - - function field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL) { - $font = $this->_control_font(); - - $action = pdf_create_action($this->pdf, - "SubmitForm", - sprintf("exportmethod {html} url=%s", $actionURL)); - - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($field_name), - "pushbutton", - sprintf("action {activate %s} font {%s} fontsize {auto} caption {%s}", - $action, - $font, - " ")); - } - - function field_checkbox($x, $y, $w, $h, $name, $value, $checked) { - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($name), - "checkbox", - sprintf("buttonstyle {cross} currentvalue {%s} defaultvalue {%s} itemname {%s}", - $checked ? $value : "Off", - $checked ? $value : "Off", - $value)); - } - - function field_radio($x, $y, $w, $h, $groupname, $value, $checked) { - $fqgn = $this->_fqn($groupname, true); - - if (!isset($this->_radiogroups[$fqgn])) { - $this->_radiogroups[$fqgn] = pdf_create_fieldgroup($this->pdf, $fqgn, "fieldtype=radiobutton"); - }; - - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - sprintf("%s.%s",$fqgn,$value), - "radiobutton", - sprintf("buttonstyle {circle} currentvalue {%s} defaultvalue {%s} itemname {%s}", - $checked ? $value : "Off", - $checked ? $value : "Off", - $value)); - } - - function field_select($x, $y, $w, $h, $name, $value, $options) { - $items_str = ""; - $text_str = ""; - foreach ($options as $option) { - $items_str .= sprintf("%s ",$option[0]); - $text_str .= sprintf("%s ",$option[1]); - }; - - $font = $this->_control_font(); - pdf_create_field($this->pdf, - $x, $y, $x + $w, $y - $h, - $this->_fqn($name), - "combobox", - sprintf("currentvalue {%s} defaultvalue {%s} font {%s} fontsize {auto} itemnamelist {%s} itemtextlist {%s}", - $value, - $value, - $font, - $items_str, - $text_str)); - } - - function new_form($name) { - $this->_forms[] = new PDFLIBForm($name); - - pdf_create_fieldgroup($this->pdf, $name, "fieldtype=mixed"); - } - - /* private routines */ - - function _control_font() { - return pdf_load_font($this->pdf, "Helvetica", "winansi", "embedding=true subsetting=false"); - } - - function _lastform() { - if (count($this->_forms) == 0) { - /** - * Handle invalid HTML; if we've met an input control outside the form, - * generate a new form with random name - */ - - $name = sprintf("AnonymousFormObject_%u", $this->encryptOld(rand().time())); - - $this->_forms[] = new PDFLIBForm($name); - pdf_create_fieldgroup($this->pdf, $name, "fieldtype=mixed"); - - error_log(sprintf("Anonymous form generated with name %s; check your HTML for validity", - $name)); - }; - - return $this->_forms[count($this->_forms)-1]; - } - - function _valid_name($name) { - if (empty($name)) { return false; }; - - return true; - } - - function _fqn($name, $allowexisting=false) { - if (!$this->_valid_name($name)) { - $name = uniqid("AnonymousFormFieldObject_"); - error_log(sprintf("Anonymous field generated with name %s; check your HTML for validity", - $name)); - }; - - $lastform = $this->_lastform(); - $fqn = sprintf("%s.%s", - $lastform->name(), - $name); - - if (array_search($fqn, $this->_field_names) === FALSE) { - $this->_field_names[] = $fqn; - } elseif (!$allowexisting) { - error_log(sprintf("Interactive form '%s' already contains field named '%s'", - $lastform->name(), - $name)); - $fqn .= $this->encryptOld(rand().time()); - }; - - return $fqn; - } - - public function encryptOld($string) - { - if (!class_exists('G')) { - $realdocuroot = str_replace( '\\', '/', $_SERVER['DOCUMENT_ROOT'] ); - $docuroot = explode( '/', $realdocuroot ); - array_pop( $docuroot ); - $pathhome = implode( '/', $docuroot ) . '/'; - array_pop( $docuroot ); - $pathTrunk = implode( '/', $docuroot ) . '/'; - require_once($pathTrunk.'gulliver/system/class.g.php'); - } - return G::encryptOld($string); - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.pdflib.class.php b/thirdparty/html2ps_pdf/output.pdflib.class.php deleted file mode 100644 index 55aa71a1d..000000000 --- a/thirdparty/html2ps_pdf/output.pdflib.class.php +++ /dev/null @@ -1,437 +0,0 @@ - 'winansi', - 'iso-8859-2' => 'iso8859-2', - 'iso-8859-3' => 'iso8859-3', - 'iso-8859-4' => 'iso8859-4', - 'iso-8859-5' => 'iso8859-5', - 'iso-8859-6' => 'iso8859-6', - 'iso-8859-7' => 'iso8859-7', - 'iso-8859-8' => 'iso8859-8', - 'iso-8859-9' => 'iso8859-9', - 'iso-8859-10' => 'iso8859-10', - 'iso-8859-13' => 'iso8859-13', - 'iso-8859-14' => 'iso8859-14', - 'iso-8859-15' => 'iso8859-15', - 'iso-8859-16' => 'iso8859-16', - 'windows-1250' => 'cp1250', - 'windows-1251' => 'cp1251', - 'windows-1252' => 'cp1252', - 'symbol' => 'symbol' - ); - - if (isset($translations[$encoding])) { return $translations[$encoding]; }; - return $encoding; - } - - function add_link($left, $top, $width, $height, $url) { - pdf_add_weblink($this->pdf, $left, $top-$height, $left+$width, $top, $url); - } - - function add_local_link($left, $top, $width, $height, $anchor) { - pdf_add_locallink($this->pdf, - $left, - $top-$height - $this->offset , - $left+$width, - $top - $this->offset, - $anchor->page, - "fitwidth"); - } - - function circle($x, $y, $r) { - pdf_circle($this->pdf, $x, $y, $r); - } - - function clip() { - pdf_clip($this->pdf); - } - - function close() { - $this->_show_watermark(); - pdf_end_page($this->pdf); - pdf_close($this->pdf); - pdf_delete($this->pdf); - } - - function closepath() { - pdf_closepath($this->pdf); - } - - function dash($x, $y) { - pdf_setdash($this->pdf, $x, $y); - } - - function decoration($underline, $overline, $strikeout) { - // underline - pdf_set_parameter($this->pdf, "underline", $underline ? "true" : "false"); - // overline - pdf_set_parameter($this->pdf, "overline", $overline ? "true" : "false"); - // line through - pdf_set_parameter($this->pdf, "strikeout", $strikeout ? "true" : "false"); - } - - function fill() { - pdf_fill($this->pdf); - } - - function findfont($name, $encoding) { - // PDFLIB is limited by 'builtin' encoding for "Symbol" font - if ($name == 'Symbol') { - $encoding = 'builtin'; - }; - - global $g_font_resolver_pdf; - $embed = $g_font_resolver_pdf->embed[$name]; - return pdf_findfont($this->pdf, $name, $this->encoding($encoding), $embed); - } - - function font_ascender($name, $encoding) { - return pdf_get_value($this->pdf, "ascender", $this->findfont($name, $encoding)); - } - - function font_descender($name, $encoding) { - return -pdf_get_value($this->pdf, "descender", $this->findfont($name, $encoding)); - } - - function get_bottom() { - return $this->bottom + $this->offset; - } - - function image($image, $x, $y, $scale) { - $tmpname = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $tmpname); - $pim = pdf_open_image_file($this->pdf, "png", $tmpname, "", 0); - pdf_place_image($this->pdf, $pim, $x, $y, $scale); - pdf_close_image($this->pdf, $pim); - unlink($tmpname); - } - - function image_scaled($image, $x, $y, $scale_x, $scale_y) { - $tmpname = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $tmpname); - - $pim = pdf_open_image_file($this->pdf, "png", $tmpname, "", 0); - - $this->save(); - pdf_translate($this->pdf, $x, $y); - pdf_scale($this->pdf, $scale_x, $scale_y); - pdf_place_image($this->pdf, $pim, 0, 0, 1); - $this->restore(); - - pdf_close_image($this->pdf, $pim); - unlink($tmpname); - } - - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { - $tmpname = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $tmpname); - $pim = pdf_open_image_file($this->pdf, "png", $tmpname, "", 0); - - // Fill part to the bottom - $cy = $y; - while ($cy+$height > $bottom) { - pdf_place_image($this->pdf, $pim, $x, $cy, $scale); - $cy -= $height; - }; - - // Fill part to the top - $cy = $y; - while ($cy-$height < $y + $oy) { - pdf_place_image($this->pdf, $pim, $x, $cy, $scale); - $cy += $height; - }; - - pdf_close_image($this->pdf, $pim); - unlink($tmpname); - } - - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { - $tmpname = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $tmpname); - $pim = pdf_open_image_file($this->pdf, "png", $tmpname, "", 0); - - // Fill part to the right - $cx = $x; - while ($cx < $right) { - pdf_place_image($this->pdf, $pim, $cx, $y, $scale); - $cx += $width; - }; - - // Fill part to the left - $cx = $x; - while ($cx+$width >= $x - $ox) { - pdf_place_image($this->pdf, $pim, $cx-$width, $y, $scale); - $cx -= $width; - }; - - pdf_close_image($this->pdf, $pim); - unlink($tmpname); - } - - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { - $tmpname = tempnam(WRITER_TEMPDIR,WRITER_FILE_PREFIX); - imagepng($image, $tmpname); - $pim = pdf_open_image_file($this->pdf, "png", $tmpname, "", 0); - - // Fill bottom-right quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx < $right) { - pdf_place_image($this->pdf, $pim, $cx, $cy, $scale); - $cx += $width; - }; - $cy -= $height; - } - - // Fill bottom-left quadrant - $cy = $y; - while ($cy+$height > $bottom) { - $cx = $x; - while ($cx+$width > $x - $ox) { - pdf_place_image($this->pdf, $pim, $cx, $cy, $scale); - $cx -= $width; - }; - $cy -= $height; - } - - // Fill top-right quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx < $right) { - pdf_place_image($this->pdf, $pim, $cx, $cy, $scale); - $cx += $width; - }; - $cy += $height; - } - - // Fill top-left quadrant - $cy = $y; - while ($cy < $y + $oy) { - $cx = $x; - while ($cx+$width > $x - $ox) { - pdf_place_image($this->pdf, $pim, $cx, $cy, $scale); - $cx -= $width; - }; - $cy += $height; - } - - pdf_close_image($this->pdf, $pim); - unlink($tmpname); - } - - function lineto($x, $y) { - pdf_lineto($this->pdf, $x, $y); - } - - function moveto($x, $y) { - pdf_moveto($this->pdf, $x, $y); - } - - // OutputDriver interface functions - function next_page($height) { - $this->_show_watermark(); - - $this->current_page ++; - - pdf_end_page($this->pdf); - pdf_begin_page($this->pdf, mm2pt($this->media->width()), mm2pt($this->media->height())); - - // Calculate coordinate of the next page bottom edge - $this->offset -= $height - $this->offset_delta; - - // Reset the "correction" offset to it normal value - // Note: "correction" offset is an offset value required to avoid page breaking - // in the middle of text boxes - $this->offset_delta = 0; - - pdf_translate($this->pdf, 0, -$this->offset); - - parent::next_page($height); - } - - function OutputDriverPdflib($version) { - $this->OutputDriverGenericPDF(); - $this->set_pdf_version($version); - - $this->_currentfont = null; - $this->_radiogroups = array(); - $this->_field_names = array(); - } - - function prepare() { - parent::prepare(); - - $filename = $this->generate_cpg('custom', true); - pdf_set_parameter($this->pdf, 'Encoding', sprintf('custom=%s', $filename)); - } - - function reset(&$media) { - OutputDriverGenericPDF::reset($media); - - // Check if PDFLIB is available - if (!extension_loaded('pdf')) { - - // Try to use "dl" to dynamically load PDFLIB - $result = dl(PDFLIB_DL_PATH); - - if (!$result) { - readfile(HTML2PS_DIR.'/templates/missing_pdflib.html'); - error_log("No PDFLIB extension found"); - die("HTML2PS Error"); - } - } - - $this->pdf = pdf_new(); - - // Set PDF compatibility level - pdf_set_parameter($this->pdf, "compatibility", $this->get_pdf_version()); - - /** - * Use PDF license key, if present - * - * PDFLIB_LICENSE constant is defined in 'config.inc.php' file in "PDFLIB-specific" section. - */ - if (defined("PDFLIB_LICENSE")) { - pdf_set_parameter($this->pdf, "license", PDFLIB_LICENSE); - }; - - pdf_open_file($this->pdf, $this->get_filename()); - - // @TODO: compression level, debug - pdf_set_value($this->pdf, "compress", 0); - - // Set path to the PDFLIB UPR file containig information about fonts and encodings - if (defined("PDFLIB_UPR_PATH")) { - pdf_set_parameter($this->pdf, "resourcefile", PDFLIB_UPR_PATH); - }; - - // Setup encodings not bundled with PDFLIB - $filename = $this->generate_cpg('koi8-r'); - pdf_set_parameter($this->pdf, 'Encoding', sprintf('koi8-r=%s', $filename)); - - // Setup font outlines - global $g_font_resolver_pdf; - $g_font_resolver_pdf->setup_ttf_mappings($this->pdf); - - $pdf = $this->pdf; - pdf_set_info($pdf, "Creator", "html2ps (PHP version)"); - - // No borders around links in the generated PDF - pdf_set_border_style($this->pdf, "solid", 0); - - pdf_begin_page($this->pdf, mm2pt($this->media->width()), mm2pt($this->media->height())); - } - - function rect($x, $y, $w, $h) { - pdf_rect($this->pdf, $x, $y, $w, $h); - } - - function restore() { - pdf_restore($this->pdf); - } - - function save() { - pdf_save($this->pdf); - } - - function setfont($name, $encoding, $size) { - $this->_currentfont = $this->findfont($name, $encoding); - - pdf_setfont($this->pdf, $this->_currentfont, $size); - - return true; - } - -// function setfontcore($name, $size) { -// $this->_currentfont = pdf_findfont($this->pdf, $name, 'host', 1 /* embed */); - -// pdf_setfont($this->pdf, $this->_currentfont, $size); - -// return true; -// } - - function setlinewidth($x) { - pdf_setlinewidth($this->pdf, $x); - } - - // PDFLIB wrapper functions - function setrgbcolor($r, $g, $b) { - pdf_setcolor($this->pdf, "both", "rgb", $r, $g, $b, 0); - } - - function show_xy($text, $x, $y) { - pdf_show_xy($this->pdf, $text, $x, $y); - } - - function stroke() { - pdf_stroke($this->pdf); - } - - function stringwidth($string, $name, $encoding, $size) { - return pdf_stringwidth($this->pdf, $string, $this->findfont($name, $encoding), $size); - } - - function set_watermark($watermark) { - $this->_watermark = trim($watermark); - } - - /* private routines */ - - function _show_watermark() { - if (is_null($this->_watermark) || $this->_watermark == "") { return; }; - - $font = $this->findfont('Helvetica', 'iso-8859-1'); - pdf_setfont($this->pdf, $font, 100); - - $x = $this->left + $this->width / 2; - $y = $this->bottom + $this->height / 2 + $this->offset; - - pdf_set_value($this->pdf, "textrendering", 1); - pdf_translate($this->pdf, $x, $y); - pdf_rotate($this->pdf, 60); - pdf_show_xy($this->pdf, $this->_watermark, -pdf_stringwidth($this->pdf, $this->_watermark, $font, 100)/2, -50); - } - - function generate_cpg($encoding, $force = false) { - $filename = CACHE_DIR.$encoding.'.cpg'; - if (file_exists($filename) && !$force) { - return $filename; - }; - - $output = fopen($filename, 'w'); - $manager_encoding =& ManagerEncoding::get(); - $vector = $manager_encoding->getEncodingVector($encoding); - foreach ($vector as $code => $utf) { - fwrite($output, sprintf("0x%04X 0x%02X\n", $utf, ord($code))); - }; - fclose($output); - - return $filename; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.pdflib.old.class.php b/thirdparty/html2ps_pdf/output.pdflib.old.class.php deleted file mode 100644 index c36dae715..000000000 --- a/thirdparty/html2ps_pdf/output.pdflib.old.class.php +++ /dev/null @@ -1,40 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/output.png.class.php b/thirdparty/html2ps_pdf/output.png.class.php deleted file mode 100644 index 529901a87..000000000 --- a/thirdparty/html2ps_pdf/output.png.class.php +++ /dev/null @@ -1,530 +0,0 @@ -_y_offset = $y_offset; - $this->_x_scale = $x_scale; - $this->_y_scale = $y_scale; - } - - function apply(&$x, &$y) { - $x = floor($x * $this->_x_scale); - $y = floor($this->_y_offset - $y * $this->_y_scale); - } -} - -class OutputDriverPNG extends OutputDriverGeneric { - var $_image; - - var $_clipping; - - var $_media; - var $_heightPixels; - var $_widthPixels; - var $_color; - var $_font; - var $_path; - - /** - * This variable contains an array of clipping contexts. Clipping - * context describes the "active area" and "base" image (image which - * will take the changes drawn in clipped area). - * - * As GD does not support clipping natively, when new clipping area - * is defined, we create new image. When clipping context is - * terminated (i.e. by establishing new clipping context, by call to - * 'restore' or by finishing the image output), only area bounded by - * clipping region is copied to the "base" image. Note that This - * will increase the memory consumption, as we'll need to keep - * several active images at once. - */ - var $_clip; - - function _restoreColor() { - imagecolordeallocate($this->_image, $this->_color[0]); - array_shift($this->_color); - } - - function _restoreClip() { - /** - * As clipping context images have the same size/scale, we may use - * the simplest/fastest image copying function - */ - $clip = $this->_clipping[0]; - imagecopy($clip['image'], - $this->_image, - $clip['box']->ll->x, - $clip['box']->ll->y, - $clip['box']->ll->x, - $clip['box']->ll->y, - $clip['box']->getWidth(), - $clip['box']->getHeight()); - - /** - * Now we should free image allocated for the clipping context to avoid memory leaks - */ - imagedestroy($this->_image); - $this->_image = $clip['image']; - - /** - * Remove clipping context from the stack - */ - array_shift($this->_clipping); - } - - function _saveColor($rgb) { - $color = imagecolorallocate($this->_image, $rgb[0], $rgb[1], $rgb[2]); - array_unshift($this->_color, array('rgb' => $rgb, - 'object' => $color)); - } - - function _saveClip($box) { - /** - * Initialize clipping context record and add it to the clipping - * stack - */ - $clip = array('image' => $this->_image, - 'box' => $box); - array_unshift($this->_clipping, $clip); - - /** - * Create a copy of current image for the clipping context - */ - $width = imagesx($clip['image']); - $height = imagesy($clip['image']); - $this->_image = imagecreatetruecolor($width, - $height); - imagecopy($this->_image, - $clip['image'], - 0,0, - 0,0, - $width, $height); - } - - function _getCurrentColor() { - return $this->_color[0]['object']; - } - - function _setColor($color) { - imagecolordeallocate($this->_image, $this->_color[0]['object']); - $this->_color[0] = $color; - } - - function _setFont($typeface, $encoding, $size) { - global $g_font_resolver_pdf; - $fontfile = $g_font_resolver_pdf->ttf_mappings[$typeface]; - - $font = $this->_font_factory->getTrueType($typeface, $encoding); - $ascender = $font->ascender() / 1000; - - $this->_font[0] = array('font' => $typeface, - 'encoding' => $encoding, - 'size' => $size, - 'ascender' => $ascender); - } - - function _getFont() { - return $this->_font[0]; - } - - function _drawLine($x1, $y1, $x2, $y2) { - imageline($this->_image, $x1, $y1, $x2, $y2, $this->_color[0]['object']); - } - - /** - * Note that "paper space" have Y coordinate axis directed to the bottom, - * while images have Y coordinate axis directory to the top - */ - function _fixCoords(&$x, &$y) { - $x = $this->_fixCoordX($x); - $y = $this->_fixCoordY($y); - } - - function _fixCoordX($source_x) { - $x = $source_x; - $dummy = 0; - $this->_transform->apply($x, $dummy); - return $x; - } - - function _fixCoordY($source_y) { - $y = $source_y; - $dummy = 0; - $this->_transform->apply($dummy, $y); - return $y; - } - - function _fixSizes(&$x, &$y) { - $x = $this->_fixSizeX($x); - $y = $this->_fixSizeY($y); - } - - function _fixSizeX($x) { - return ceil($x * $this->_widthPixels / mm2pt($this->_media->width())); - } - - function _fixSizeY($y) { - return ceil($y * $this->_heightPixels / mm2pt($this->_media->height())); - } - - function OutputDriverPNG() { - $this->OutputDriverGeneric(); - - $this->_color = array(); - $this->_font = array(); - $this->_path = new HtmlPsPath; - $this->_clipping = array(); - - $this->_font_factory = new FontFactory(); - } - - function reset(&$media) { - parent::reset($media); - - /** - * Store reference to media object for future use - */ - $this->_media =& $media; - - /** - * Here we use a small hack; media height and width (in millimetres) match - * the size of screenshot (in pixels), so we take them as-is - */ - $this->_heightPixels = $media->height(); - $this->_widthPixels = $media->width(); - - $this->_image = imagecreatetruecolor($this->_widthPixels, - $this->_heightPixels); - /** - * Render white background - */ - $white = imagecolorallocate($this->_image, 255,255,255); - imagefill($this->_image, 0,0,$white); - imagecolordeallocate($this->_image, $white); - - $this->_color[0] = array('rgb' => array(0,0,0), - 'object' => imagecolorallocate($this->_image, 0,0,0)); - - /** - * Setup initial clipping region - */ - $this->_saveClip(new Rectangle(new Point(0, - 0), - new Point($this->_widthPixels-1, - $this->_heightPixels-1))); - - $this->_transform = new AffineTransform($this->_heightPixels, - $this->_widthPixels / mm2pt($this->_media->width()), - $this->_heightPixels / mm2pt($this->_media->height())); - } - - function add_link($x, $y, $w, $h, $target) { /* N/A */ } - function add_local_link($left, $top, $width, $height, $anchor) { /* N/A */ } - - function circle($x, $y, $r) { - $this->_path = new PathCircle(); - $this->_path->set_r($r); - $this->_path->set_x($x); - $this->_path->set_y($y); - } - - function clip() { - /** - * Only rectangular clipping areas are supported; we'll use - * bounding box of current path for clipping. If current path is - * an rectangle, bounding box will match the path itself. - */ - $box = $this->_path->getBbox(); - - /** - * Convert bounding from media coordinates - * to output device coordinates - */ - $this->_fixCoords($box->ll->x, $box->ll->y); - $this->_fixCoords($box->ur->x, $box->ur->y); - $box->normalize(); - - /** - * Add a clipping context information - */ - $this->_restoreClip(); - $this->_saveClip($box); - - /** - * Reset path after clipping have been applied - */ - $this->_path = new HtmlPsPath; - } - - function close() { - /** - * A small hack; as clipping context is save every time 'save' is - * called, we may deterine the number of graphic contexts saved by - * the size of clipping context stack - */ - while (count($this->_clipping) > 0) { - $this->restore(); - }; - - imagepng($this->_image, $this->get_filename()); - imagedestroy($this->_image); - } - - function closepath() { - $this->_path->close(); - } - - function content_type() { - return ContentType::png(); - } - - function dash($x, $y) { } - function decoration($underline, $overline, $strikeout) { } - - function error_message() { - return "OutputDriverPNG: generic error"; - } - - function field_multiline_text($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_text($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_password($x, $y, $w, $h, $value, $field_name) { /* N/A */ } - function field_pushbutton($x, $y, $w, $h) { /* N/A */ } - function field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL) { /* N/A */ } - function field_pushbuttonreset($x, $y, $w, $h) { /* N/A */ } - function field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL) { /* N/A */ } - function field_checkbox($x, $y, $w, $h, $name, $value) { /* N/A */ } - function field_radio($x, $y, $w, $h, $groupname, $value, $checked) { /* N/A */ } - function field_select($x, $y, $w, $h, $name, $value, $options) { /* N/A */ } - - function fill() { - $this->_path->fill($this->_transform, $this->_image, $this->_getCurrentColor()); - $this->_path = new HtmlPsPath; - } - - function font_ascender($name, $encoding) { - $font = $this->_font_factory->getTrueType($name, $encoding); - return $font->ascender() / 1000; - } - - function font_descender($name, $encoding) { - $font = $this->_font_factory->getTrueType($name, $encoding); - return -$font->descender() / 1000; - } - - function get_bottom() {} - - /** - * Image output always contains only one page - */ - function get_expected_pages() { - return 1; - } - - function image($image, $x, $y, $scale) { - $this->image_scaled($image, $x, $y, $scale, $scale); - } - - function image_scaled($image, $x, $y, $scale_x, $scale_y) { - $this->_fixCoords($x, $y); - - $sx = imagesx($image); - $sy = imagesy($image); - - /** - * Get image size in device coordinates - */ - $dx = $sx*$scale_x; - $dy = $sy*$scale_y; - $this->_fixSizes($dx, $dy); - - imagecopyresampled($this->_image, $image, - $x, $y-$dy, - 0, 0, - $dx, $dy, - $sx, $sy); - } - - function image_ry($image, $x, $y, $height, $bottom, $ox, $oy, $scale) { - $base_y = floor($this->_fixCoordY($bottom)); - $this->_fixCoords($x, $y); - $dest_height = floor($this->_fixSizeY($height)); - $start_y = $y - $dest_height; - - $sx = imagesx($image); - $sy = imagesy($image); - $dx = $this->_fixSizeX($sx * $scale); - $dy = $this->_fixSizeY($sy * $scale); - - $cx = $x; - $cy = $start_y - ceil($this->_fixSizeY($oy) / $dest_height) * $dest_height; - while ($cy < $base_y) { - imagecopyresampled($this->_image, $image, - $cx, $cy, - 0, 0, - $dx, $dy, - $sx, $sy); - $cy += $dest_height; - }; - } - - function image_rx($image, $x, $y, $width, $right, $ox, $oy, $scale) { - $base_x = floor($this->_fixCoordX($right)); - $this->_fixCoords($x, $y); - $dest_width = floor($this->_fixSizeX($width)); - $start_x = $x - $dest_width; - - $sx = imagesx($image); - $sy = imagesy($image); - $dx = $this->_fixSizeX($sx * $scale); - $dy = $this->_fixSizeY($sy * $scale); - - $cx = $start_x - ceil($this->_fixSizeX($oy) / $dest_width) * $dest_width; - - $cy = $y - $dy; - - while ($cx < $base_x) { - imagecopyresampled($this->_image, $image, - $cx, $cy, - 0, 0, - $dx, $dy, - $sx, $sy); - $cx += $dest_width; - }; - } - - function image_rx_ry($image, $x, $y, $width, $height, $right, $bottom, $ox, $oy, $scale) { - $base_x = floor($this->_fixCoordX($right)); - $base_y = floor($this->_fixCoordY($bottom)); - $this->_fixCoords($x, $y); - $dest_width = floor($this->_fixSizeX($width)); - $dest_height = floor($this->_fixSizeY($height)); - $start_x = $x - $dest_width; - $start_y = $y - $dest_height; - - $sx = imagesx($image); - $sy = imagesy($image); - $dx = $this->_fixSizeX($sx * $scale); - $dy = $this->_fixSizeY($sy * $scale); - - $cx = $start_x - ceil($this->_fixSizeX($ox) / $dest_width) * $dest_width; - $cy = $start_y - ceil($this->_fixSizeY($oy) / $dest_height) * $dest_height; - - while ($cy < $base_y) { - while ($cx < $base_x) { - imagecopyresampled($this->_image, $image, - $cx, $cy, - 0, 0, - $dx, $dy, - $sx, $sy); - $cx += $dest_width; - }; - $cx = $start_x - ceil($this->_fixSizeX($ox) / $dest_width) * $dest_width; - $cy += $dest_height; - }; - } - - function lineto($x, $y) { - $this->_path->addPoint(new Point($x, $y)); - } - - function moveto($x, $y) { - $this->_path->clear(); - $this->_path->addPoint(new Point($x, $y)); - } - - function new_form($name) { /* N/A */ } - function next_page() { /* N/A */ } - function release() { } - - /** - * Note: _restoreClip will change current image object, so we must - * release all image-dependent objects before call to _restoreClip - * to ensure resources are released correctly - */ - function restore() { - $this->_restoreColor(); - $this->_restoreClip(); - } - - /** - * Note: _saveClip will change current image object, so we must - * create all image-dependent objects after call to _saveClip to - * ensure resources are created correctly - */ - function save() { - $this->_saveClip($this->_clipping[0]['box']); - $this->_saveColor($this->_color[0]['rgb']); - } - - function setfont($name, $encoding, $size) { - $this->_setFont($name, $encoding, $size); - return true; - } - - function setlinewidth($x) { - $dummy = 0; - $this->_fixSizes($x, $dummy); - imagesetthickness($this->_image, $x); - } - - function setrgbcolor($r, $g, $b) { - $color = array('rgb' => array($r, $g, $b), - 'object' => imagecolorallocate($this->_image, $r*255, $g*255, $b*255)); - $this->_setColor($color); - } - - function set_watermark($text) { } - - function show_xy($text, $x, $y) { - $this->_fixCoords($x, $y); - - $font = $this->_getFont(); - $converter = Converter::create(); - - global $g_font_resolver_pdf; - $fontFile = $g_font_resolver_pdf->ttf_mappings[$font['font']]; - - $fontSize = $font['size']; - $dummy = 0; - $this->_fixSizes($dummy, $fontSize); - - $utf8_string = $converter->to_utf8($text, $font['encoding']); - - imagefttext($this->_image, - $fontSize * $font['ascender'], - 0, - $x, - $y, - $this->_getCurrentColor(), - TTF_FONTS_REPOSITORY.$fontFile, - $utf8_string); - } - - /** - * Note: the koefficient is just a magic number; I'll need to examine the - * imagefttext behavior more closely - */ - function stringwidth($string, $name, $encoding, $size) { - $font = $this->_font_factory->getTrueType($name, $encoding); - return Font::points($size, $font->stringwidth($string))*1.25; - } - - function stroke() { - $this->_path->stroke($this->_transform, $this->_image, $this->_getCurrentColor()); - $this->_path = new HtmlPsPath; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/parser._interface.class.php b/thirdparty/html2ps_pdf/parser._interface.class.php deleted file mode 100644 index a6386f11d..000000000 --- a/thirdparty/html2ps_pdf/parser._interface.class.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/parser.xhtml.class.php b/thirdparty/html2ps_pdf/parser.xhtml.class.php deleted file mode 100644 index 4befbf860..000000000 --- a/thirdparty/html2ps_pdf/parser.xhtml.class.php +++ /dev/null @@ -1,85 +0,0 @@ -get_base_url())); - die("HTML2PS Error"); - } - - /** - * Detect the base URI for this document. - * - * According to the HTML 4.01 p. 12.4.1: - * User agents must calculate the base URI according to the following precedences (highest priority to lowest): - * - * 1. The base URI is set by the BASE element. - * 2. The base URI is given by meta data discovered during a protocol interaction, such as an HTTP header (see [RFC2616]). - * 3. By default, the base URI is that of the current document. Not all HTML documents have a base URI (e.g., a valid HTML document may appear in an email and may not be designated by a URI). Such HTML documents are considered erroneous if they contain relative URIs and rely on a default base URI. - */ - - /** - * Check if BASE element present; use its first occurrence - */ - $this->_scan_base($dom_tree, $pipeline); - - /** - * @todo fall back to the protocol metadata - */ - - /** - * Parse STYLE / LINK nodes containing CSS references and definitions - * This should be done here, as the document body may include STYLE node - * (this violates HTML standard, but is rather often appears in Web) - */ - $css =& $pipeline->getCurrentCSS(); - $css->scan_styles($dom_tree, $pipeline); - - $body =& traverse_dom_tree_pdf($dom_tree); - $box =& create_pdf_box($body, $pipeline); - - return $box; - } - - function _scan_base(&$root, &$pipeline) { - switch ($root->node_type()) { - case XML_ELEMENT_NODE: - if ($root->tagname() === 'base') { - /** - * See HTML 4.01 p 12.4 - * href - this attribute specifies an absolute URI that acts as the base URI for resolving relative URIs. - * - * At this moment pipeline object have current document URI on the top of the stack; - * we should replace it with the value of 'href' attribute of the BASE tag - * - * To handle (possibly) incorrect values, we use 'guess_url' function; in this case - * if 'href' attribute contains absolute value (is it SHOULD be), it will be used; - * if it is missing or is relative, we'll get more of less usable value base on current - * document URI. - */ - $new_url = $pipeline->guess_url($root->get_attribute('href')); - $pipeline->pop_base_url(); - $pipeline->push_base_url($new_url); - - return true; - }; - - // We continue processing here! - case XML_DOCUMENT_NODE: - $child = $root->first_child(); - while ($child) { - if ($this->_scan_base($child, $pipeline)) { return; }; - $child = $child->next_sibling(); - }; - - return false; - }; - - return false; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/path.php b/thirdparty/html2ps_pdf/path.php deleted file mode 100644 index dfd9a8b58..000000000 --- a/thirdparty/html2ps_pdf/path.php +++ /dev/null @@ -1,176 +0,0 @@ -clear(); - } - - /** - * Returns a bounding box rectangle object - * - * Pre-conditions: - * - there's at least one point in the path - */ - function getBbox() { - if (count($this->_points) < 1) { - die("Path::getBbox() called for path without points"); - } - - $rect = new Rectangle($this->_points[0]->_clone(), - $this->_points[0]->_clone()); - - foreach ($this->_points as $point) { - $rect->ur->x = max($rect->ur->x, $point->x); - $rect->ur->y = max($rect->ur->y, $point->y); - $rect->ll->x = min($rect->ll->x, $point->x); - $rect->ll->y = min($rect->ll->y, $point->y); - }; - - return $rect; - } - - function clear() { - $this->_points = array(); - } - - function addPoint($point) { - $this->_points[] = $point; - } - - function getPoint($index) { - return $this->_points[$index]; - } - - function getPoints() { - return $this->_points; - } - - function getPointArray() { - $result = array(); - foreach ($this->_points as $point) { - $result[] = $point->x; - $result[] = $point->y; - }; - return $result; - } - - function close() { - $this->addPoint($this->getPoint(0)); - } - - function get_point_count() { - return count($this->_points); - } - - /** - * @deprecated - */ - function getPointCount() { - return $this->get_point_count(); - } - - function is_empty() { - return ($this->get_point_count() == 0); - } - - function fill($transform, $image, $color) { - $coords = $this->getPointArray(); - $size = $this->getPointCount(); - - for ($i=0; $i<$size; $i++) { - $transform->apply($coords[$i*2], $coords[$i*2+1]); - }; - - imagefilledpolygon($image, $coords, $size, $color); - } - - function stroke($transform, $image, $color) { - $coords = $this->getPointArray(); - $size = $this->getPointCount(); - - for ($i=0; $i<$size; $i++) { - $transform->apply($coords[$i*2], $coords[$i*2+1]); - }; - - imagepolygon($image, $coords, $size, $color); - } -} - -class PathCircle extends HtmlPsPath { - var $_x; - var $_y; - var $_r; - - function PathCircle() { - $this->Path(); - - $this->set_x(0); - $this->set_y(0); - $this->set_r(0); - } - - function fill($transform, $image, $color) { - $x = $this->get_x(); - $y = $this->get_y(); - - $transform->apply($x, $y); - - $dummy = 0; - $transform->apply($r, $dummy); - - imagefilledellipse($image, - $x, - $y, - $r*2, // width = diameter - $r*2, // height = diameter - $color); - } - - function get_r() { - return $this->_r; - } - - function get_x() { - return $this->_x; - } - - function get_y() { - return $this->_y; - } - - function set_r($r) { - $this->_r = $r; - } - - function set_x($x) { - $this->_x = $x; - } - - function set_y($y) { - $this->_y = $y; - } - - function stroke($transform, $image, $color) { - $x = $this->get_x(); - $y = $this->get_y(); - - $transform->apply($x, $y); - - $dummy = 0; - $transform->apply($r, $dummy); - - imageellipse($image, - $x, - $y, - $r*2, // width = diameter - $r*2, // height = diameter - $color); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/path.point.php b/thirdparty/html2ps_pdf/path.point.php deleted file mode 100644 index d08c9628c..000000000 --- a/thirdparty/html2ps_pdf/path.point.php +++ /dev/null @@ -1,17 +0,0 @@ -x = $x; - $this->y = $y; - } - - function _clone() { - return new Point($this->x, $this->y); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/path.rectangle.php b/thirdparty/html2ps_pdf/path.rectangle.php deleted file mode 100644 index c91dc427b..000000000 --- a/thirdparty/html2ps_pdf/path.rectangle.php +++ /dev/null @@ -1,35 +0,0 @@ -ll = $ll; - $this->ur = $ur; - } - - function getWidth() { - return $this->ur->x - $this->ll->x; - } - - function getHeight() { - return $this->ur->y - $this->ll->y; - } - - function normalize() { - if ($this->ur->x < $this->ll->x) { - $x = $this->ur->x; - $this->ur->x = $this->ll->x; - $this->ll->x = $x; - }; - - if ($this->ur->y < $this->ll->y) { - $y = $this->ur->y; - $this->ur->y = $this->ll->y; - $this->ll->y = $y; - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/pdf.fpdf.encryption.php b/thirdparty/html2ps_pdf/pdf.fpdf.encryption.php deleted file mode 100644 index 0d3df8d0d..000000000 --- a/thirdparty/html2ps_pdf/pdf.fpdf.encryption.php +++ /dev/null @@ -1,236 +0,0 @@ -encrypted=false; - $this->last_rc4_key=''; - $this->padding="\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08". - "\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"; - } - - /** - * Function to set permissions as well as user and owner passwords - * - * - permissions is an array with values taken from the following list: - * copy, print, modify, annot-forms - * If a value is present it means that the permission is granted - * - If a user password is set, user will be prompted before document is opened - * - If an owner password is set, document can be opened in privilege mode with no - * restriction if that password is entered - */ - function SetProtection($permissions=array(), $user_pass='', $owner_pass=null) - { - $options = array('print' => 4, 'modify' => 8, 'copy' => 16, 'annot-forms' => 32 ); - $protection = 192; - foreach($permissions as $permission){ - if (!isset($options[$permission])) - $this->Error('Incorrect permission: '.$permission); - $protection += $options[$permission]; - } - if ($owner_pass === null) - $owner_pass = uniqid(rand()); - $this->encrypted = true; - $this->_generateencryptionkey($user_pass, $owner_pass, $protection); - } - -/**************************************************************************** -* * -* Private methods * -* * -****************************************************************************/ - - function _putstream($s) - { - if ($this->encrypted) { - $s = $this->_RC4($this->_objectkey($this->n), $s); - } - parent::_putstream($s); - } - - function _textstring($s) - { - if ($this->encrypted) { - $s = $this->_RC4($this->_objectkey($this->n), $s); - } - return parent::_textstring($s); - } - - /** - * Compute key depending on object number where the encrypted data is stored - */ - function _objectkey($n) - { - return substr($this->_md5_16($this->encryption_key.pack('VXxx', $n)), 0, 10); - } - - /** - * Escape special characters - */ - function _escape($s) - { - $s=str_replace('\\', '\\\\', $s); - $s=str_replace(')', '\\)', $s); - $s=str_replace('(', '\\(', $s); - $s=str_replace("\r", '\\r', $s); - return $s; - } - - function _putresources() - { - parent::_putresources(); - if ($this->encrypted) { - $this->_newobj(); - $this->enc_obj_id = $this->n; - $this->_out('<<'); - $this->_putencryption(); - $this->_out('>>'); - $this->_out('endobj'); - } - } - - function _putencryption() - { - $this->_out('/Filter /Standard'); - $this->_out('/V 1'); - $this->_out('/R 2'); - $this->_out('/O ('.$this->_escape($this->Ovalue).')'); - $this->_out('/U ('.$this->_escape($this->Uvalue).')'); - $this->_out('/P '.$this->Pvalue); - } - - function _puttrailer() - { - parent::_puttrailer(); - if ($this->encrypted) { - $this->_out('/Encrypt '.$this->enc_obj_id.' 0 R'); - $this->_out('/ID [()()]'); - } - } - - /** - * RC4 is the standard encryption algorithm used in PDF format - */ - function _RC4($key, $text) - { - if ($this->last_rc4_key != $key) { - $k = str_repeat($key, 256/strlen($key)+1); - $rc4 = range(0, 255); - $j = 0; - for ($i=0; $i<256; $i++){ - $t = $rc4[$i]; - $j = ($j + $t + ord($k{$i})) % 256; - $rc4[$i] = $rc4[$j]; - $rc4[$j] = $t; - } - $this->last_rc4_key = $key; - $this->last_rc4_key_c = $rc4; - } else { - $rc4 = $this->last_rc4_key_c; - } - - $len = strlen($text); - $a = 0; - $b = 0; - $out = ''; - for ($i=0; $i<$len; $i++){ - $a = ($a+1)%256; - $t= $rc4[$a]; - $b = ($b+$t)%256; - $rc4[$a] = $rc4[$b]; - $rc4[$b] = $t; - $k = $rc4[($rc4[$a]+$rc4[$b])%256]; - $out.=chr(ord($text{$i}) ^ $k); - } - - return $out; - } - - /** - * Get MD5 as binary string - */ - function _md5_16($string) - { - return pack('H*', $this->encryptOld($string)); - } - - /** - * Compute O value - */ - function _Ovalue($user_pass, $owner_pass) - { - $tmp = $this->_md5_16($owner_pass); - $owner_RC4_key = substr($tmp, 0, 5); - return $this->_RC4($owner_RC4_key, $user_pass); - } - - /** - * Compute U value - */ - function _Uvalue() - { - return $this->_RC4($this->encryption_key, $this->padding); - } - - /** - * Compute encryption key - */ - function _generateencryptionkey($user_pass, $owner_pass, $protection) - { - // Pad passwords - $user_pass = substr($user_pass.$this->padding, 0, 32); - $owner_pass = substr($owner_pass.$this->padding, 0, 32); - // Compute O value - $this->Ovalue = $this->_Ovalue($user_pass, $owner_pass); - // Compute encyption key - $tmp = $this->_md5_16($user_pass.$this->Ovalue.chr($protection)."\xFF\xFF\xFF"); - $this->encryption_key = substr($tmp, 0, 5); - // Compute U value - $this->Uvalue = $this->_Uvalue(); - // Compute P value - $this->Pvalue = -(($protection^255)+1); - } - - public function encryptOld($string) - { - if (!class_exists('G')) { - $realdocuroot = str_replace( '\\', '/', $_SERVER['DOCUMENT_ROOT'] ); - $docuroot = explode( '/', $realdocuroot ); - array_pop( $docuroot ); - $pathhome = implode( '/', $docuroot ) . '/'; - array_pop( $docuroot ); - $pathTrunk = implode( '/', $docuroot ) . '/'; - require_once($pathTrunk.'gulliver/system/class.g.php'); - } - return G::encryptOld($string); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/pdf.fpdf.makefont.php b/thirdparty/html2ps_pdf/pdf.fpdf.makefont.php deleted file mode 100644 index 3e6a5d18a..000000000 --- a/thirdparty/html2ps_pdf/pdf.fpdf.makefont.php +++ /dev/null @@ -1,512 +0,0 @@ -open($fontfile); - - $head =& $font->getTable('head'); - $name =& $font->getTable('name'); - $cmap =& $font->getTable('cmap'); - $hmtx =& $font->getTable('hmtx'); - $hhea =& $font->getTable('hhea'); - $post =& $font->getTable('post'); - $subtable =& $cmap->findSubtable(OT_CMAP_PLATFORM_WINDOWS, - OT_CMAP_PLATFORM_WINDOWS_UNICODE); - - /** - * Prepare initial data - */ - $widths = array(); - - for ($i=0; $i<256; $i++) { - $code = chr($i); - if (!isset($map[$code])) { - $widths[] = 1000; - continue; - }; - $ucs2 = $map[$code]; - - /** - * If the font is monospaced, only one entry need be in the array, - * but that entry is required. The last entry applies to all - * subsequent glyphs. - */ - $glyphIndex = $subtable->lookup($ucs2); - - if (!is_null($glyphIndex)) { - $realIndex = min($glyphIndex, $hhea->_numberOfHMetrics-1); - $widths[] = floor($hmtx->_hMetrics[$realIndex]['advanceWidth']*1000/$head->_unitsPerEm); - } else { - $widths[] = 1000; - }; - }; - - $font_info = array(); - - /** - * Here we use a hack; as, acording to OT specifications, - * - * When translated to ASCII, these [...] strings must be - * identical; no longer than 63 characters; and restricted to the - * printable ASCII subset, codes 33 through 126, except for the 10 - * characters: '[', ']', '(', ')', '{', '}', '<', '>', '/', '%'. - * - * we can assume that UCS-2 encoded string we receive can be easily - * translated to ASCII by removing the high-byte of all two-byte characters - */ - $ps_name_ucs2 = $name->lookup(OT_CMAP_PLATFORM_WINDOWS, - OT_CMAP_PLATFORM_WINDOWS_UNICODE, - OT_CMAP_LANGUAGE_WINDOWS_ENGLISH_AMERICAN, - OT_NAME_ID_POSTSCRIPT_NAME); - $ps_name_ascii = ""; - for ($i=0; $ilookup(null, null, null, OT_NAME_ID_SUBFAMILY_NAME); - $font_info['ItalicAngle'] = $post->_italicAngle; - $font_info['IsFixedPitch'] = (bool)$post->_isFixedPitch; - // $font_info['CapHeight'] - // $font_info['StdVW'] - $font_info['Ascender'] = floor($hhea->_ascender*1000/$head->_unitsPerEm); - $font_info['Descender'] = floor($hhea->_descender*1000/$head->_unitsPerEm); - $font_info['UnderlineThickness'] = floor($post->_underlineThickness*1000/$head->_unitsPerEm); - $font_info['UnderlinePosition'] = floor($post->_underlinePosition*1000/$head->_unitsPerEm); - $font_info['FontBBox'] = array($head->_xMin*1000/$head->_unitsPerEm, - $head->_yMin*1000/$head->_unitsPerEm, - $head->_xMax*1000/$head->_unitsPerEm, - $head->_yMax*1000/$head->_unitsPerEm); - $font_info['Widths'] = $widths; - - $font->_delete(); - unset($font); - - return $font_info; -} - -/** - * @return Array font metrics hash or null of AFM file is missing - */ -function ReadAFM($file, $map) { - if (!is_readable($file)) { return null; }; - - $afm_lines = file($file); - $widths=array(); - $fm=array(); - - foreach ($afm_lines as $l) { - $e=explode(' ',rtrim($l)); - - if (count($e)<2) { - continue; - }; - - $code=$e[0]; - $param=$e[1]; - - if ($code=='C') { - //Character metrics - $cc=(int)$e[1]; - $w=$e[4]; - $gn=$e[7]; - if (substr($gn,-4)=='20AC') { - $gn='Euro'; - }; - - $widths[$gn]=$w; - - if ($gn=='.notdef') { - $fm['MissingWidth']=$w; - }; - } - elseif($code=='FontName') - $fm['FontName']=$param; - elseif($code=='Weight') - $fm['Weight']=$param; - elseif($code=='ItalicAngle') - $fm['ItalicAngle']=(double)$param; - elseif($code=='Ascender') - $fm['Ascender']=(int)$param; - elseif($code=='Descender') - $fm['Descender']=(int)$param; - elseif($code=='UnderlineThickness') - $fm['UnderlineThickness']=(int)$param; - elseif($code=='UnderlinePosition') - $fm['UnderlinePosition']=(int)$param; - elseif($code=='IsFixedPitch') - $fm['IsFixedPitch']=($param=='true'); - elseif($code=='FontBBox') - $fm['FontBBox']=array($e[1],$e[2],$e[3],$e[4]); - elseif($code=='CapHeight') - $fm['CapHeight']=(int)$param; - elseif($code=='StdVW') - $fm['StdVW']=(int)$param; - } - - if(!isset($fm['FontName'])) { - die('FontName not found'); - }; - - if (!isset($widths['.notdef'])) { - $widths['.notdef']=600; - }; - - if (!isset($widths['Delta']) and isset($widths['increment'])) { - $widths['Delta']=$widths['increment']; - }; - - // Order widths according to map - for ($i=0; $i<=255; $i++) { - if(!isset($widths[$map[chr($i)]])) { - error_log('Warning: character '.$map[chr($i)].' is missing
'); - $widths[$i]=$widths['.notdef']; - } else { - $widths[$i]=$widths[$map[chr($i)]]; - }; - }; - - $fm['Widths']=$widths; - return $fm; -} - -function MakeFontDescriptor($fm,$symbolic) { - //Ascent - $asc=(isset($fm['Ascender']) ? $fm['Ascender'] : 1000); - $fd="array('Ascent'=>".$asc; - - //Descent - $desc=(isset($fm['Descender']) ? $fm['Descender'] : -200); - $fd.=",'Descent'=>".$desc; - - //CapHeight - if (isset($fm['CapHeight'])) { - $ch=$fm['CapHeight']; - } elseif(isset($fm['CapXHeight'])) { - $ch=$fm['CapXHeight']; - } else { - $ch=$asc; - }; - $fd.=",'CapHeight'=>".$ch; - - //Flags - $flags=0; - if (isset($fm['IsFixedPitch']) and $fm['IsFixedPitch']) { - $flags+=1<<0; - }; - - if ($symbolic) { - $flags+=1<<2; - }; - - if (!$symbolic) { - $flags+=1<<5; - }; - - if (isset($fm['ItalicAngle']) and $fm['ItalicAngle']!=0) { - $flags+=1<<6; - }; - - $fd.=",'Flags'=>".$flags; - - //FontBBox - if (isset($fm['FontBBox'])) { - $fbb=$fm['FontBBox']; - } else { - $fbb=array(0,$des-100,1000,$asc+100); - }; - - $fd.=",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'"; - - //ItalicAngle - $ia=(isset($fm['ItalicAngle']) ? $fm['ItalicAngle'] : 0); - $fd.=",'ItalicAngle'=>".$ia; - - //StemV - if (isset($fm['StdVW'])) { - $stemv=$fm['StdVW']; - } elseif(isset($fm['Weight']) and eregi('(bold|black)',$fm['Weight'])) { - $stemv=120; - } else { - $stemv=70; - }; - $fd.=",'StemV'=>".$stemv; - - //MissingWidth - if (isset($fm['MissingWidth'])) { - $fd.=",'MissingWidth'=>".$fm['MissingWidth']; - }; - $fd.=')'; - - return $fd; -} - -function MakeWidthArray($fm) { - //Make character width array - $s="array(\n\t"; - $cw=$fm['Widths']; - for ($i=0; $i<=255; $i++) { - if (chr($i)=="'") { - $s.="'\\''"; - } elseif (chr($i)=="\\") { - $s.="'\\\\'"; - } elseif($i>=32 and $i<=126) { - $s.="'".chr($i)."'"; - } else { - $s.="chr($i)"; - }; - $s.='=>'.$fm['Widths'][$i]; - if ($i<255) { - $s.=','; - }; - - if(($i+1)%22==0) { - $s.="\n\t"; - }; - } - $s.=')'; - return $s; -} - -function MakeFontEncoding($map) { - //Build differences from reference encoding - $manager = ManagerEncoding::get(); - $ref = $manager->get_encoding_glyphs('windows-1252'); - - $s=''; - $last=0; - for($i=32;$i<=255;$i++) { - if ($map[chr($i)]!=$ref[chr($i)]) { - if ($i!=$last+1) { - $s.=$i.' '; - }; - $last=$i; - $s.='/'.$map[chr($i)].' '; - }; - } - - return rtrim($s); -} - -function MakeFontCMap($encoding) { - //Build differences from reference encoding - $manager = ManagerEncoding::get(); - $ref = $manager->getEncodingVector($encoding); - - $s = "array(\n"; - foreach ($ref as $char => $ucs) { - $s .= sprintf("0x%02X => 0x%04X,\n", ord($char), $ucs); - }; - $s .= ")"; - - return trim($s); -} - -function SaveToFile($file,$s,$mode='t') -{ - $f=fopen($file,'w'.$mode); - if(!$f) - die('Can\'t write to file '.$file); - fwrite($f,$s,strlen($s)); - fclose($f); -} - -function ReadShort($f) -{ - $a=unpack('n1n',fread($f,2)); - return $a['n']; -} - -function ReadLong($f) -{ - $a=unpack('N1N',fread($f,4)); - return $a['N']; -} - -function CheckTTF($file) -{ - //Check if font license allows embedding - $f=fopen($file,'rb'); - if(!$f) - die('Error: Can\'t open '.$file); - //Extract number of tables - fseek($f,4,SEEK_CUR); - $nb=ReadShort($f); - fseek($f,6,SEEK_CUR); - //Seek OS/2 table - $found=false; - - for ($i=0;$i<$nb;$i++) { - if (fread($f,4)=='OS/2') { - $found=true; - break; - } - fseek($f,12,SEEK_CUR); - }; - - if (!$found) { - fclose($f); - return; - }; - - fseek($f,4,SEEK_CUR); - $offset=ReadLong($f); - fseek($f,$offset,SEEK_SET); - - //Extract fsType flags - fseek($f,8,SEEK_CUR); - $fsType=ReadShort($f); - $rl=($fsType & 0x02)!=0; - $pp=($fsType & 0x04)!=0; - $e=($fsType & 0x08)!=0; - fclose($f); - if ($rl and !$pp and !$e) { - echo 'Warning: font license does not allow embedding'; - }; -} - -/******************************************************************************* - * $fontfile : chemin du fichier TTF (ou channe vide si pas d'incorporation) * - * $afmfile : chemin du fichier AFM * - * $enc : encodage (ou channe vide si la police est symbolique) * - * $patch : patch optionnel pour l'encodage * - * $type : type de la police si $fontfile est vide * - *******************************************************************************/ -function MakeFont($fontfile, $afmfile, $destdir, $destfile, $enc) { - // Generate a font definition file - set_magic_quotes_runtime(0); - ini_set('auto_detect_line_endings','1'); - - $manager = ManagerEncoding::get(); - $map = $manager->get_encoding_glyphs($enc); - - $fm = ReadAFM($afmfile, $map); - - if (is_null($fm)) { - error_log(sprintf("Notice: Missing AFM file '%s'; attempting to parse font file '%s' directly", - $afmfile, - $fontfile)); - - $fm = ReadTTF($fontfile, $manager->getEncodingVector($enc)); - - if (is_null($fm)) { - die(sprintf("Cannot get font metrics for '%s'", $fontfile)); - }; - } - - $diff = MakeFontEncoding($map); - $cmap = MakeFontCMap($enc); - $fd = MakeFontDescriptor($fm,empty($map)); - - //Find font type - if ($fontfile) { - $ext=strtolower(substr($fontfile,-3)); - if ($ext=='ttf') { - $type='TrueType'; - } elseif($ext=='pfb') { - $type='Type1'; - } else { - die('Error: unrecognized font file extension: '.$ext); - }; - } else { - if ($type!='TrueType' and $type!='Type1') { - die('Error: incorrect font type: '.$type); - }; - } - - //Start generation - $s='Error: font file not found: '.$fontfile); - }; - - if ($type=='TrueType') { - CheckTTF($fontfile); - }; - - $f=fopen($fontfile,'rb'); - if (!$f) { - die('Error: Can\'t open '.$fontfile); - }; - - $file=fread($f,filesize($fontfile)); - fclose($f); - if ($type=='Type1') { - //Find first two sections and discard third one - $header=(ord($file{0})==128); - if ($header) { - //Strip first binary header - $file=substr($file,6); - } - $pos=strpos($file,'eexec'); - if(!$pos) { - die('Error: font file does not seem to be valid Type1'); - }; - $size1=$pos+6; - if($header and ord($file{$size1})==128) { - //Strip second binary header - $file=substr($file,0,$size1).substr($file,$size1+6); - } - $pos=strpos($file,'00000000'); - if (!$pos) { - die('Error: font file does not seem to be valid Type1'); - }; - - $size2=$pos-$size1; - $file=substr($file,0,$size1+$size2); - } - - if(function_exists('gzcompress')) { - $cmp=$basename.'.z'; - SaveToFile($destdir.$cmp,gzcompress($file),'b'); - $s.='$file=\''.$cmp."';\n"; - } else { - $s.='$file=\''.basename($fontfile)."';\n"; - echo 'Notice: font file could not be compressed (zlib extension not available)
'; - } - - if ($type=='Type1') { - $s.='$size1='.$size1.";\n"; - $s.='$size2='.$size2.";\n"; - } else { - $s.='$originalsize='.filesize($fontfile).";\n"; - } - } else { - //Not embedded font - $s.='$file='."'';\n"; - } - - $s.="?>\n"; - SaveToFile($destdir.$destfile,$s); -} -?> diff --git a/thirdparty/html2ps_pdf/pdf.fpdf.php b/thirdparty/html2ps_pdf/pdf.fpdf.php deleted file mode 100644 index 9caf37b17..000000000 --- a/thirdparty/html2ps_pdf/pdf.fpdf.php +++ /dev/null @@ -1,2688 +0,0 @@ -object_id; - } - - function get_generation_id() { - return $this->generation_id; - } - - /** - * Outputs the PDF indirect object to PDF file. - * - * To pervent infinite loop on circular references, this method checks - * if current object have been already written to the file. - * - * Note that, in general, nested objects should be written to PDF file - * here too; this task is accomplished by calling _out_nested method, - * which should be overridden by children classes. - * - * @param FPDF $handler PDF file wrapper (FPDF object) - * - * @final - * - * @see FPDF::is_object_written - * @see PDFIndirectObject::_out_nested - */ - function out(&$handler) { - if (!$handler->is_object_written($this->get_object_id())) { - $handler->offsets[$this->get_object_id()] = strlen($handler->buffer); - $handler->_out($handler->_indirect_object($this)); - - $this->_out_nested($handler); - }; - } - - /** - * Writes all nested objects to the PDF file. Should be overridden by - * PDFIndirectObject descendants. - * - * @param FPDF $handler PDF file wrapper (FPDF object) - * - * @see PDFIndirectObject::out - */ - function _out_nested(&$handler) { - return true; - } - - function PDFIndirectObject(&$handler, - $object_id, - $generation_id) { - $this->object_id = $object_id; - $this->generation_id = $generation_id; - } - - function pdf(&$handler) { - return $handler->_dictionary($this->_dict($handler)); - } - - function _dict() { - return array(); - } - } - - class PDFCMap extends PDFIndirectObject { - var $_content; - - function PDFCMap($mapping, &$handler, $object_id, $generation_id) { - $this->PDFIndirectObject($handler, - $object_id, - $generation_id); - - $num_chars = count($mapping); - - $chars = ""; - foreach ($mapping as $code => $utf) { - $chars .= sprintf("<%02X> <%04X> \n", $code, $utf); - }; - - $this->_content = <<> def -/CMapName /Adobe-Identity-UCS def -/CMapType 2 def -1 begincodespacerange -<0000> -endcodespacerange -${num_chars} beginbfchar -${chars} -endbfchar -endcmap CMapName currentdict /CMap defineresource pop end end -EOF -; - } - - function pdf(&$handler) { - $dict_content = array( - 'Length' => strlen($this->_content) - ); - - $content = $handler->_dictionary($dict_content); - $content .= "\n"; - $content .= $handler->_stream($this->_content); - - return $content; - } - } - - class PDFPage extends PDFIndirectObject { - var $annotations; - - function PDFPage(&$handler, - $object_id, - $generation_id) { - $this->PDFIndirectObject($handler, - $object_id, - $generation_id); - } - - function add_annotation(&$annotation) { - $this->annotations[] =& $annotation; - } - - function _annotations(&$handler) { - return $handler->_reference_array($this->annotations); - } - } - - class PDFAppearanceStream extends PDFIndirectObject { - var $_content; - - function PDFAppearanceStream(&$handler, - $object_id, - $generation_id, - $content) { - $this->PDFIndirectObject($handler, - $object_id, - $generation_id); - - $this->_content = $content; - } - - function pdf(&$handler) { - $dict_content = array( - 'Type' => "/XObject", - 'Subtype' => "/Form", - 'FormType' => "1", - 'BBox' => "[0 0 100 100]", - 'Matrix' => "[1 0 0 1 0 0]", - 'Resources'=> "2 0 R", - 'Length' => strlen($this->_content) - ); - - $content = $handler->_dictionary($dict_content); - $content .= "\n"; - $content .= $handler->_stream($this->_content); - - return $content; - } - } - - class PDFAnnotation extends PDFIndirectObject { - function PDFAnnotation(&$handler, - $object_id, - $generation_id) { - $this->PDFIndirectObject($handler, - $object_id, - $generation_id); - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array("Type" => $handler->_name("Annot"))); - } - } - - class PDFRect { - var $x; - var $y; - var $w; - var $h; - - function PDFRect($x,$y,$w,$h) { - $this->x = $x; - $this->y = $y; - $this->w = $w; - $this->h = $h; - } - - function left(&$handler) { - return $handler->x_coord($this->x); - } - - function right(&$handler) { - return $handler->x_coord($this->x+$this->w); - } - - function top(&$handler) { - return $handler->y_coord($this->y); - } - - function bottom(&$handler) { - return $handler->y_coord($this->y+$this->h); - } - - function pdf(&$handler) { - return $handler->_array(sprintf("%.2f %.2f %.2f %.2f", - $this->left($handler), - $this->top($handler), - $this->right($handler), - $this->bottom($handler))); - } - } - - class PDFAnnotationExternalLink extends PDFAnnotation { - var $rect; - var $link; - - function PDFAnnotationExternalLink(&$handler, - $object_id, - $generation_id, - $rect, - $link) { - $this->PDFAnnotation($handler, - $object_id, - $generation_id); - - $this->rect = $rect; - $this->link = $link; - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array( - 'Subtype' => "/Link", - 'Rect' => $this->rect->pdf($handler), - 'Border' => "[0 0 0]", - 'A' => "<_textstring($this->link).">>" - )); - } - } - - class PDFAnnotationInternalLink extends PDFAnnotation { - var $rect; - var $link; - - function PDFAnnotationInternalLink(&$handler, - $object_id, - $generation_id, - $rect, - $link) { - $this->PDFAnnotation($handler, - $object_id, - $generation_id); - - $this->rect = $rect; - $this->link = $link; - } - - function pdf(&$handler) { - if ($handler->DefOrientation=='P') { - $wPt=$handler->fwPt; - $hPt=$handler->fhPt; - } else { - $wPt=$handler->fhPt; - $hPt=$handler->fwPt; - }; - $l = $handler->links[$this->link]; - $h = $hPt; - - /** - * Sometimes hyperlinks may refer to pages NOT present in PDF document - * Example: a very long frame content; it it trimmed to one page, as - * framesets newer take more than one frame. A link targe which should be rendered - * on third page without frames will be never rendered at all. - * - * In this case we should disable link at all to prevent error from appearing - */ - - if (!isset($handler->_pages[$l[0]-1])) { - return ""; - } - - $content = $handler->_dictionary(array( - 'Type' => "/Annot", - 'Subtype' => "/Link", - 'Rect' => $this->rect->pdf($handler), - 'Border' => "[0 0 0]", - 'Dest' => sprintf("[%s /XYZ 0 %.2f null]", - $handler->_reference($handler->_pages[$l[0]-1]), - $h-$l[1]*$handler->k) - )); - return $content; - } - } - - class PDFAnnotationWidget extends PDFAnnotation { - var $_rect; - - function PDFAnnotationWidget(&$handler, - $object_id, - $generation_id, - $rect) { - $this->PDFAnnotation($handler, - $object_id, - $generation_id); - - $this->_rect = $rect; - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array("Subtype" => $handler->_name("Widget"), - 'Rect' => $this->_rect->pdf($handler))); - } - } - - /** - * Generic PDF Form - */ - class PDFFieldGroup extends PDFIndirectObject { - var $_kids; - var $_group_name; - - function PDFFieldGroup(&$handler, - $object_id, - $generation_id, - $group_name) { - $this->PDFIndirectObject($handler, - $object_id, - $generation_id); - - /** - * Generate default group name, if needed - */ - if (is_null($group_name) || $group_name == "") { - $group_name = sprintf("FieldGroup%d", $this->get_object_id()); - }; - $this->_group_name = $group_name; - - $this->_kids = array(); - } - - function _check_field_name($field) { - /** - * Check if field name is empty - */ - if (trim($field->get_field_name()) == "") { - error_log(sprintf("Found form field with empty name")); - return false; - }; - - /** - * Check if field name is unique inside this form! If we will not do it, - * some widgets may become inactive (ignored by PDF Reader) - */ - foreach ($this->_kids as $kid) { - if ($kid->get_field_name() == $field->get_field_name()) { - error_log(sprintf("Interactive form '%s' already contains field named '%s'", - $this->_group_name, - $kid->get_field_name())); - return false; - } - }; - - return true; - } - - function add_field(&$field) { - if (!$this->_check_field_name($field)) { - /** - * Field name is not unique; replace it with automatically-generated one - */ - $field->set_field_name(sprintf("%s_FieldObject%d", - $field->get_field_name(), - $field->get_object_id())); - }; - - $this->_kids[] =& $field; - $field->set_parent($this); - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array("Kids" => $handler->_reference_array($this->_kids), - "T" => $handler->_textstring($this->_group_name))); - return $content; - } - - function _out_nested(&$handler) { - parent::_out_nested($handler); - - foreach ($this->_kids as $field) { - $field->out($handler); - } - } - } - - /** - * Generic superclass for all PDF interactive field widgets - */ - class PDFField extends PDFAnnotationWidget { - /** - * @var string Partial field name (see PDF Specification 1.6 p.638 for explanation on "partial" and - * "fully qualified" field names - * @access private - */ - var $_field_name; - - /** - * @var PDFFieldGroup REference to a containing form object - * @access private - */ - var $_parent; - - function PDFField(&$handler, - $object_id, - $generation_id, - $rect, - $field_name) { - $this->PDFAnnotationWidget($handler, - $object_id, - $generation_id, - $rect); - - /** - * Generate default field name, if needed - * @TODO: validate field_name contents - */ - if (is_null($field_name) || $field_name == "") { - $field_name = sprintf("FieldObject%d", $this->get_object_id()); - }; - - $this->_field_name = $field_name; - } - - function get_field_name() { - if ($this->_field_name) { - return $this->_field_name; - } else { - return sprintf("FormObject%d", $this->get_object_id()); - }; - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array("Parent" => $handler->_reference($this->_parent), - "T" => $handler->_textstring($this->get_field_name()), - 'F' => PDF_ANNOTATION_PRINTABLE)); - } - - function pdf(&$handler) { - return $handler->_dictionary($this->_dict($handler)); - } - - function set_field_name($value) { - $this->_field_name = $value; - } - - function set_parent(&$form) { - $this->_parent =& $form; - } - - function get_parent() { - return $this->_parent; - } - } - - /** - * Checkbox interactive form widget - */ - class PDFFieldCheckBox extends PDFField { - var $_value; - var $_appearance_on; - var $_appearance_off; - var $_checked; - - function PDFFieldCheckBox(&$handler, - $object_id, - $generation_id, - $rect, - $field_name, - $value, - $checked) { - $this->PDFField($handler, - $object_id, - $generation_id, - $rect, - $field_name); - - $this->_value = $value; - $this->_checked = $checked; - - $this->_appearance_on = new PDFAppearanceStream($handler, - $handler->_generate_new_object_number(), - $generation_id, - "Q 0 0 1 rg BT /F1 10 Tf 0 0 Td (8) Tj ET q"); - - $this->_appearance_off = new PDFAppearanceStream($handler, - $handler->_generate_new_object_number(), - $generation_id, - "Q 0 0 1 rg BT /F1 10 Tf 0 0 Td (8) Tj ET q"); - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array( - 'FT' => '/Btn', - 'Ff' => sprintf("%d", 0), - 'TU' => "", - 'MK' => "<< /CA (3) >>", - 'DV' => $this->_checked ? $handler->_name($this->_value) : "/Off", - 'V' => $this->_checked ? $handler->_name($this->_value) : "/Off", - 'AP' => sprintf("<< /N << /%s %s /Off %s >> >>", - $this->_value, - $handler->_reference($this->_appearance_on), - $handler->_reference($this->_appearance_off)) - ) - ); - } - - function _out_nested(&$handler) { - parent::_out_nested($handler); - - $this->_appearance_on->out($handler); - $this->_appearance_off->out($handler); - } - } - - class PDFFieldPushButton extends PDFField { - var $_appearance; - var $fontindex; - var $fontsize; - - function _out_nested(&$handler) { - parent::_out_nested($handler); - - $this->_appearance->out($handler); - } - - function PDFFieldPushButton(&$handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize) { - $this->PDFField($handler, - $object_id, - $generation_id, - $rect, - null); - $this->fontindex = $fontindex; - $this->fontsize = $fontsize; - - $this->_appearance = new PDFAppearanceStream($handler, - $handler->_generate_new_object_number(), - $generation_id, - "Q 0 0 1 rg BT /F1 10 Tf 0 0 Td (8) Tj ET q"); - } - - function _action(&$handler) { - return "<< >>"; - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array( - 'FT' => '/Btn', - 'Ff' => sprintf("%d", 1 << 16), - 'TU' => "", - 'DR' => "2 0 R", - 'DA' => sprintf("(0 0 0 rg /F%d %.2f Tf)", - $this->fontindex, - $this->fontsize), - 'AP' => "<< /N ".$handler->_reference($this->_appearance)." >>", - 'AA' => $this->_action($handler) - )); - } - } - - class PDFFieldPushButtonImage extends PDFFieldPushButton { - var $_link; - - function PDFFieldPushButtonImage(&$handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize, - $field_name, - $value, - $link) { - $this->PDFFieldPushButton($handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize); - - $this->_link = $link; - $this->set_field_name($field_name); - } - - function _action(&$handler) { - $action = $handler->_dictionary(array( - 'S' => "/SubmitForm", - 'F' => $handler->_textstring($this->_link), - 'Fields'=> $handler->_reference_array(array($this->get_parent())), - 'Flags' => PDF_SUBMIT_FORM_HTML | PDF_SUBMIT_FORM_COORDINATES - ) - ); - return $handler->_dictionary(array('U' => $action)); - } - } - - class PDFFieldPushButtonSubmit extends PDFFieldPushButton { - var $_link; - var $_caption; - - function PDFFieldPushButtonSubmit(&$handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize, - $field_name, - $value, - $link) { - $this->PDFFieldPushButton($handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize); - - $this->_link = $link; - $this->_caption = $value; - $this->set_field_name($field_name); - } - - function _action(&$handler) { - $action = $handler->_dictionary(array( - 'S' => "/SubmitForm", - 'F' => $handler->_textstring($this->_link), - 'Fields'=> $handler->_reference_array(array($this->get_parent())), - 'Flags' => PDF_SUBMIT_FORM_HTML - ) - ); - return $handler->_dictionary(array('U' => $action)); - } - } - - class PDFFieldPushButtonReset extends PDFFieldPushButton { - function PDFFieldPushButtonReset(&$handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize) { - $this->PDFFieldPushButton($handler, - $object_id, - $generation_id, - $rect, - $fontindex, - $fontsize); - } - - function _action(&$handler) { - $action = $handler->_dictionary(array('S' => "/ResetForm")); - return $handler->_dictionary(array('U' => $action)); - } - } - - /** - * Radio button inside the group. - * - * Note that radio button is not a field itself; only a group of radio buttons - * should have name. - */ - class PDFFieldRadio extends PDFAnnotationWidget { - /** - * @var PDFFieldRadioGroup reference to a radio button group - * @access private - */ - var $_parent; - - /** - * @var String value of this radio button - * @access private - */ - var $_value; - - var $_appearance_on; - var $_appearance_off; - - function PDFFieldRadio(&$handler, - $object_id, - $generation_id, - $rect, - $value) { - $this->PDFAnnotationWidget($handler, - $object_id, - $generation_id, - $rect); - - $this->_value = $value; - - $this->_appearance_on = new PDFAppearanceStream($handler, - $handler->_generate_new_object_number(), - $generation_id, - "Q 0 0 1 rg BT /F1 10 Tf 0 0 Td (8) Tj ET q"); - - $this->_appearance_off = new PDFAppearanceStream($handler, - $handler->_generate_new_object_number(), - $generation_id, - "Q 0 0 1 rg BT /F1 10 Tf 0 0 Td (8) Tj ET q"); - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array( - 'MK' => "<< /CA (l) >>", - 'Parent' => $handler->_reference($this->_parent), - 'AP' => sprintf("<< /N << /%s %s /Off %s >> >>", - $this->_value, - $handler->_reference($this->_appearance_on), - $handler->_reference($this->_appearance_off)) - )); - } - - function _out_nested(&$handler) { - parent::_out_nested($handler); - - $this->_appearance_on->out($handler); - $this->_appearance_off->out($handler); - } - - /** - * Set a reference to the radio button group containing this group - * - * @param PDFFieldRadioGroup $parent reference to a group object - */ - function set_parent(&$parent) { - $this->_parent =& $parent; - } - } - - /** - * Create new group of radio buttons - */ - class PDFFieldRadioGroup extends PDFFieldGroup { - var $_parent; - var $_checked; - - function _dict($handler) { - return array_merge(parent::_dict($handler), - array( - 'DV' => $this->_checked ? $handler->_name($this->_checked) : "/Off", - 'V' => $this->_checked ? $handler->_name($this->_checked) : "/Off", - "FT" => $handler->_name('Btn'), - "Ff" => sprintf("%d", 1 << 15), - "Parent" => $handler->_reference($this->_parent) - )); - } - - function _check_field_name($field) { - /** - * As radio buttons always have same field name, no checking should be made here - */ - - return true; - } - - function PDFFieldRadioGroup(&$handler, - $object_id, - $generation_id, - $group_name) { - $this->PDFFieldGroup($handler, - $object_id, - $generation_id, - $group_name); - - $this->_checked = null; - } - - /** - * @return String name of the radio group - */ - function get_field_name() { - return $this->_group_name; - } - - function set_checked($value) { - $this->_checked = $value; - } - - function set_parent(&$parent) { - $this->_parent =& $parent; - } - } - - class PDFFieldSelect extends PDFField { - var $_options; - var $_value; - - function _dict(&$handler) { - $options = array(); - foreach ($this->_options as $arr) { - $options[] = $handler->_array(sprintf("%s %s", - $handler->_textstring($arr[0]), - $handler->_textstring($arr[1]))); - }; - - $options_str = $handler->_array(implode(" ",$options)); - - return array_merge(parent::_dict($handler), - array('FT' => '/Ch', - 'Ff' => PDF_FIELD_CHOICE_COMBO, - 'V' => $handler->_textstring($this->_value), // Current value - 'DV' => $handler->_textstring($this->_value), // Default value - 'DR' => "2 0 R", - 'Opt' => $options_str)); - } - - function PDFFieldSelect(&$handler, - $object_id, - $generation_id, - $rect, - $field_name, - $value, - $options) { - $this->PDFField($handler, - $object_id, - $generation_id, - $rect, - $field_name); - - $this->_options = $options; - $this->_value = $value; - } - } - - /** - * Interactive text input - */ - class PDFFieldText extends PDFField { - var $fontindex; - var $fontsize; - - var $_appearance; - - /** - * @var String contains the default value of this text field - * @access private - */ - var $_value; - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array( - 'FT' => '/Tx', - 'V' => $handler->_textstring($this->_value), // Current value - 'DV' => $handler->_textstring($this->_value), // Default value - 'DR' => "2 0 R", - // @TODO fix font references - 'DA' => sprintf("(0 0 0 rg /FF%d %.2f Tf)", - $this->fontindex, - $this->fontsize), -// 'AP' => $handler->_dictionary(array("N" => $handler->_reference($this->_appearance))), - )); - } - - function _out_nested(&$handler) { - // $this->_appearance->out($handler); - } - - function PDFFieldText(&$handler, - $object_id, - $generation_id, - $rect, - $field_name, - $value, - $fontindex, - $fontsize) { - $this->PDFField($handler, - $object_id, - $generation_id, - $rect, - $field_name); - - $this->fontindex = $fontindex; - $this->fontsize = $fontsize; - $this->_value = $value; - -// $this->_appearance = new PDFAppearanceStream($handler, -// $handler->_generate_new_object_number(), -// $generation_id, -// "/Tx BMC EMC"); - } - } - - class PDFFieldMultilineText extends PDFFieldText { - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array('Ff' => PDF_FIELD_TEXT_MULTILINE)); - } - } - - /** - * "Password" text input field - */ - class PDFFieldPassword extends PDFFieldText { - function PDFFieldPassword(&$handler, - $object_id, - $generation_id, - $rect, - $field_name, - $value, - $fontindex, - $fontsize) { - $this->PDFFieldText($handler, - $object_id, - $generation_id, - $rect, - $field_name, - $value, - $fontindex, - $fontsize); - } - - function _dict(&$handler) { - return array_merge(parent::_dict($handler), - array('Ff' => PDF_FIELD_TEXT_PASSWORD)); - } - } - - class FPDF { - //Private properties - - var $page; //current page number - var $n; //current object number - var $offsets; //array of object offsets - var $buffer; //buffer holding in-memory PDF - var $pages; //array containing pages - var $state; //current document state - var $compress; //compression flag - var $DefOrientation; //default orientation - var $k; //scale factor (number of points in user unit) - var $fwPt,$fhPt; //dimensions of page format in points - var $fw,$fh; //dimensions of page format in user unit - var $wPt,$hPt; //current dimensions of page in points - var $w,$h; //current dimensions of page in user unit - var $x,$y; //current position in user unit for cell positioning - var $lasth; //height of last cell printed - var $LineWidth; //line width in user unit - var $fonts; //array of used fonts - var $FontFiles; //array of font files - - var $diffs; //array of encoding differences - var $cmaps; // List of ToUnicode - - var $images; //array of used images - // var $PageLinks; //array of links in pages - var $links; //array of internal links - var $FontFamily; //current font family - - var $underline; //underlining flag - var $overline; - var $strikeout; - - var $CurrentFont; //current font info - var $FontSizePt; //current font size in points - var $FontSize; //current font size in user unit - var $DrawColor; //commands for drawing color - var $FillColor; //commands for filling color - var $TextColor; //commands for text color - - var $ColorFlag; //indicates whether fill and text colors are different - - var $ws; //word spacing - var $ZoomMode; //zoom display mode - var $LayoutMode; //layout display mode - var $title; //title - var $subject; //subject - var $author; //author - var $keywords; //keywords - var $creator; //creator - var $PDFVersion; //PDF version number - - var $_forms; - var $_form_radios; - var $_pages; - - function moveto($x, $y) { - $this->_out(sprintf("%.2f %.2f m", - $this->x_coord($x), - $this->y_coord($y))); - } - - function lineto($x, $y) { - $this->_out(sprintf("%.2f %.2f l", - $this->x_coord($x), - $this->y_coord($y))); - } - - function closepath() { - $this->_out("h"); - } - - function stroke() { - $this->_out("S"); - } - - function is_object_written($id) { - return isset($this->offsets[$id]); - } - - function x_coord($x) { - return $x * $this->k; - } - - function y_coord($y) { - return ($this->h - $y)*$this->k; - } - - // PDF specs: - // 3.2.9 Indirect Objects - // Any object in a PDF file may be labeled as an indirect object. This gives the object - // a unique object identifier by which other objects can refer to it (for example, as an - // element of an array or as the value of a dictionary entry). The object identifier - // consists of two parts: - // * A positive integer object number. Indirect objects are often numbered sequentially - // within a PDF file, but this is not required; object numbers may be - // assigned in any arbitrary order. - // * A non-negative integer generation number. In a newly created file, all indirect - // objects have generation numbers of 0. Nonzero generation numbers may be introduced - // when the file is later updated; see Sections 3.4.3, BCross-Reference - // Table,B and 3.4.5, BIncremental Updates.B - // Together, the combination of an object number and a generation number uniquely - // identifies an indirect object. The object retains the same object number and - // generation number throughout its existence, even if its value is modified. - // - function _indirect_object($object) { - $object_number = $object->get_object_id(); - $generation_number = $object->get_generation_id(); - $object_string = $object->pdf($this); - - $this->offsets[$object_number] = strlen($this->buffer); - - return "$object_number $generation_number obj\n${object_string}\nendobj"; - } - - function _stream($content) { - return "stream\n".$content."\nendstream"; - } - - /** - * @TODO check name for validity - */ - function _name($name) { - return sprintf("/%s", $name); - } - - function _dictionary($dict) { - $content = ""; - foreach ($dict as $key => $value) { - $content .= "/$key $value\n"; - }; - return "<<\n".$content."\n>>"; - } - - function _array($array_str) { - return "[$array_str]"; - } - - function _reference(&$object) { - $object_id = $object->get_object_id(); - $generation_id = $object->get_generation_id(); - return "$object_id $generation_id R"; - } - - function _reference_array($object_array) { - $array_str = ""; - for ($i=0; $i_reference($object_array[$i])." "; - }; - return $this->_array($array_str); - } - - function _generate_new_object_number() { - $this->n++; - return $this->n; - } - - function add_form($name) { - $form = new PDFFieldGroup($this, - $this->_generate_new_object_number(), // Object identifier - 0, - $name); - $this->_forms[] =& $form; - } - - function add_field_select($x, $y, $w, $h, $name, $value, $options) { - $field =& new PDFFieldSelect($this, - $this->_generate_new_object_number(), // Object identifier - 0, // Generation - new PDFRect($x, $y, $w, $h), // Annotation rectangle - $name, // Field name - $value, - $options); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - /** - * Create new checkbox field object - * - * @param $x Integer Left coordinate of the widget bounding bog - * @param $y Integer Upper coordinate of the widget bounding bog - * @param $w Integer Widget width - * @param $h Integer Widget height - * @param $name String name of the field to be created - * @param $value String value to be posted for this checkbox - * - * @TODO check if fully qualified field name will be unique in PDF file - */ - function add_field_checkbox($x, $y, $w, $h, $name, $value, $checked) { - $field =& new PDFFieldCheckBox($this, - $this->_generate_new_object_number(), // Object identifier - 0, // Generation - new PDFRect($x, $y, $w, $h), // Annotation rectangle - $name, // Field name - $value, $checked); // Checkbox "on" value - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function ¤t_form() { - if (count($this->_forms) == 0) { - /** - * Handle invalid HTML; if we've met an input control outside the form, - * generate a new form with random name - */ - - $id = $this->_generate_new_object_number(); - $name = sprintf("AnonymousFormObject_%u", $id); - - error_log(sprintf("Anonymous form generated with name %s; check your HTML for validity", - $name)); - - $form = new PDFFieldGroup($this, - $id, // Object identifier - 0, - $name); - $this->_forms[] =& $form; - }; - - return $this->_forms[count($this->_forms)-1]; - } - - function add_field_radio($x, $y, $w, $h, $group_name, $value, $checked) { - if (isset($this->_form_radios[$group_name])) { - $field =& $this->_form_radios[$group_name]; - } else { - $field =& new PDFFieldRadioGroup($this, - $this->_generate_new_object_number(), - 0, - $group_name); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_form_radios[$group_name] =& $field; - }; - - $radio =& new PDFFieldRadio($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $value); - $field->add_field($radio); - if ($checked) { $field->set_checked($value); }; - - $this->_pages[count($this->_pages)-1]->add_annotation($radio); - } - - /** - * Create a new interactive text form - * - * @param $x Left coordinate of the widget bounding box - * @param $y Top coordinate of the widget bounding box - * @param $w Widget width - * @param $h Widget height - * @param $value Default widget value - * @param $field_name Field name - * - * @return Field number - */ - function add_field_text($x, $y, $w, $h, $value, $field_name) { - $field =& new PDFFieldText($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $field_name, - $value, - $this->CurrentFont['i'], - $this->FontSizePt); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function add_field_multiline_text($x, $y, $w, $h, $value, $field_name) { - $field =& new PDFFieldMultilineText($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $field_name, - $value, - $this->CurrentFont['i'], - $this->FontSizePt); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - /** - * Create a new interactive password input field - * - * @param $x Left coordinate of the widget bounding box - * @param $y Top coordinate of the widget bounding box - * @param $w Widget width - * @param $h Widget height - * @param $value Default widget value - * @param $field_name Field name - * - * @return Field number - */ - function add_field_password($x, $y, $w, $h, $value, $field_name) { - $field =& new PDFFieldPassword($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $field_name, - $value, - $this->CurrentFont['i'], - $this->FontSizePt); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function add_field_pushbuttonimage($x, $y, $w, $h, $field_name, $value, $actionURL) { - $field =& new PDFFieldPushButtonImage($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $this->CurrentFont['i'], - $this->FontSizePt, - $field_name, - $value, - $actionURL); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function add_field_pushbuttonsubmit($x, $y, $w, $h, $field_name, $value, $actionURL) { - $field =& new PDFFieldPushButtonSubmit($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $this->CurrentFont['i'], - $this->FontSizePt, - $field_name, - $value, - $actionURL); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function add_field_pushbuttonreset($x, $y, $w, $h) { - $field =& new PDFFieldPushButtonReset($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - null, - $this->CurrentFont['i'], - $this->FontSizePt); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - function add_field_pushbutton($x, $y, $w, $h) { - $field =& new PDFFieldPushButton($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - null, - $this->CurrentFont['i'], - $this->FontSizePt); - - $current_form =& $this->current_form(); - $current_form->add_field($field); - - $this->_pages[count($this->_pages)-1]->add_annotation($field); - } - - - function SetDash($x, $y) { - $x = (int)$x; - $y = (int)$y; - $this->_out(sprintf("[%d %d] 0 d", $x*2, $y*2)); - } - - function _GetFontBBox() { - return preg_split("/[\[\]\s]+/", $this->CurrentFont['desc']['FontBBox']); - } - - function _dounderline($x,$y,$txt) { - //Underline text - $up=$this->CurrentFont['up']; - $ut=$this->CurrentFont['ut']; - $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - - $content = sprintf('%.2f %.2f %.2f %.2f re f', - $x*$this->k, - ($this->h-($y-$up/1000*$this->FontSize))*$this->k, - $w*$this->k, - -$ut/1000*$this->FontSizePt); - - return $content; - } - - function _dooverline($x,$y,$txt) { - $bbox = $this->_GetFontBBox(); - $up = round($bbox[3] * 0.8); - - $ut=$this->CurrentFont['ut']; - - $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - return sprintf('%.2f %.2f %.2f %.2f re f', - $x*$this->k, - ($this->h-($y-$up/1000*$this->FontSize))*$this->k, - $w*$this->k, - -$ut/1000*$this->FontSizePt); - } - - function _dostrikeout($x,$y,$txt) { - $bbox = $this->_GetFontBBox(); - $up = round($bbox[3] * 0.25); - - $ut=$this->CurrentFont['ut']; - $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - return sprintf('%.2f %.2f %.2f %.2f re f', - $x*$this->k, - ($this->h-($y-$up/1000*$this->FontSize))*$this->k, - $w*$this->k, - -$ut/1000*$this->FontSizePt); - } - - function SetDecoration($underline, $overline, $strikeout) { - $this->underline = $underline; - $this->overline = $overline; - $this->strikeout = $strikeout; - } - - function ClipPath($path) { - if (count($path) < 3) { - die("Attempt to clip on the path containing less than three points"); - }; - - $this->MakePath($path); - $this->Clip(); - } - - function Clip() { - $this->_out("W n"); - } - - // TODO: more graceful custom encoding processing - function _LoadFont($fontkey, $family, $encoding) { - if (!isset($this->fonts[$fontkey])) { - global $g_font_resolver_pdf; - $file = $g_font_resolver_pdf->ttf_mappings[$family]; - - $embed = $g_font_resolver_pdf->embed[$family]; - - // Remove the '.ttf' suffix - $file = substr($file, 0, strlen($file) - 4); - - // Generate (if required) PHP font description files - if (!file_exists($this->_getfontpath().$fontkey.'.php') || $encoding == 'custom') { - // As MakeFont squeaks a lot, we'll need to capture and discard its output - MakeFont(TTF_FONTS_REPOSITORY.$file.'.ttf', - TTF_FONTS_REPOSITORY.$file.'.afm', - $this->_getfontpath(), - $fontkey.'.php', - $encoding); - }; - - $this->AddFont($fontkey, $family, $encoding, $fontkey.'.php', $embed); - }; - } - - function _MakeFontKey($family, $encoding) { - return $family.'-'.$encoding; - } - - function GetFontAscender($name, $encoding) { - $fontkey = $this->_MakeFontKey($name, $encoding); - $this->_LoadFont($fontkey, $name, $encoding, ''); - return $this->fonts[$fontkey]['desc']['Ascent'] / 1000; - } - - function GetFontDescender($name, $encoding) { - $fontkey = $this->_MakeFontKey($name, $encoding); - $this->_LoadFont($fontkey, $name, $encoding, ''); - return -$this->fonts[$fontkey]['desc']['Descent'] / 1000; - } - - // Note that FPDF do some caching, which can conflict with "save/restore" pairs - function Save() { - $this->_out("q"); - } - - function Restore() { - $this->_out("Q"); - } - - function Translate($dx, $dy) { - $this->_out(sprintf("1 0 0 1 %.2f %.2f cm", $dx, $dy)); - } - - function Rotate($alpha) { - $this->_out(sprintf("%.2f %.2f %.2f %.2f 0 0 cm", - cos($alpha/180*pi()), - sin($alpha/180*pi()), - -sin($alpha/180*pi()), - cos($alpha/180*pi()) - )); - } - - function SetTextRendering($mode) { - $this->_out(sprintf("%d Tr", $mode)); - } - - function MakePath($path) { - $this->_out(sprintf("%.2f %.2f m", $path[0]['x'], $path[0]['y'])); - - for ($i=1; $i_out(sprintf("%.2f %.2f l", $path[$i]['x'], $path[$i]['y'])); - }; - } - - function FillPath($path) { - if (count($path) < 3) { - die("Attempt to fill path containing less than three points"); - }; - - $this->_out($this->FillColor); - $this->MakePath($path); - $this->Fill(); - } - - function Fill() { - $this->_out("f"); - } - - /** - * Thanks G. Adam Stanislav for information about approximation circle using bezier curves - * http://www.whizkidtech.redprince.net/bezier/circle/ - */ - function Circle($x, $y, $r) { - $kappa = (sqrt(2) - 1) / 3 * 4; - $l = $kappa * $r; - - $this->_out(sprintf("%.2f %.f2 m", $x + $r, $y)); - $this->_out(sprintf("%.2f %.f2 %.2f %.2f %.2f %.2f c", - $x + $r, $y + $l, - $x + $l, $y + $r, - $x, $y + $r)); - $this->_out(sprintf("%.2f %.f2 %.2f %.2f %.2f %.2f c", - $x - $l, $y + $r, - $x - $r, $y + $l, - $x - $r, $y)); - $this->_out(sprintf("%.2f %.f2 %.2f %.2f %.2f %.2f c", - $x - $r, $y - $l, - $x - $l, $y - $r, - $x, $y - $r)); - $this->_out(sprintf("%.2f %.f2 %.2f %.2f %.2f %.2f c", - $x + $l, $y - $r, - $x + $r, $y - $l, - $x + $r, $y)); - } - - /******************************************************************************* - * * - * Public methods * - * * - *******************************************************************************/ - function FPDF($orientation='P',$unit='mm',$format='A4') { - $this->_forms = array(); - $this->_form_radios = array(); - $this->_pages = array(); - - //Some checks - $this->_dochecks(); - - //Initialization of properties - $this->page=0; - - $this->n=2; - - $this->buffer=''; - $this->pages=array(); - $this->state = FPDF_STATE_UNINITIALIZED; - $this->fonts=array(); - $this->FontFiles=array(); - $this->diffs = array(); - $this->images = array(); - $this->links = array(); - $this->lasth=0; - $this->FontFamily=''; - $this->FontSizePt=12; - - $this->underline = false; - $this->overline = false; - $this->strikeout = false; - - $this->DrawColor='0 G'; - $this->FillColor='0 g'; - $this->TextColor='0 g'; - $this->ColorFlag=false; - $this->ws=0; - - //Scale factor - switch ($unit) { - case 'pt': - $this->k = 1; break; - case 'mm': - $this->k = 72/25.4; break; - case 'cm': - $this->k = 72/2.54; break; - case 'in': - $this->k = 72; - default: - $this->Error('Incorrect unit: '.$unit); - }; - - //Page format - if (is_string($format)) { - $format=strtolower($format); - - switch ($format) { - case 'a3': - $format=array(841.89,1190.55); break; - case 'a4': - $format=array(595.28,841.89); break; - case 'a5': - $format=array(420.94,595.28); break; - case 'letter': - $format=array(612,792); break; - case 'legal': - $format=array(612,1008); break; - default: - $this->Error('Unknown page format: '.$format); - }; - $this->fwPt=$format[0]; - $this->fhPt=$format[1]; - } else { - $this->fwPt=$format[0]*$this->k; - $this->fhPt=$format[1]*$this->k; - }; - - $this->fw=$this->fwPt/$this->k; - $this->fh=$this->fhPt/$this->k; - - //Page orientation - $orientation=strtolower($orientation); - if ($orientation=='p' || $orientation=='portrait') { - $this->DefOrientation='P'; - $this->wPt=$this->fwPt; - $this->hPt=$this->fhPt; - } elseif($orientation=='l' || $orientation=='landscape') { - $this->DefOrientation='L'; - $this->wPt=$this->fhPt; - $this->hPt=$this->fwPt; - } else { - $this->Error('Incorrect orientation: '.$orientation); - }; - - $this->w=$this->wPt/$this->k; - $this->h=$this->hPt/$this->k; - //Line width (0.2 mm) - $this->LineWidth=.567/$this->k; - - //Full width display mode - $this->SetDisplayMode('fullwidth'); - - //Enable compression - $this->SetCompression(true); - - //Set default PDF version number - $this->PDFVersion='1.3'; - } - - function SetDisplayMode($zoom,$layout='continuous') { - //Set display mode in viewer - if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom)) - $this->ZoomMode=$zoom; - else - $this->Error('Incorrect zoom display mode: '.$zoom); - if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default') - $this->LayoutMode=$layout; - else - $this->Error('Incorrect layout display mode: '.$layout); - } - - /** - * @param $compress Boolean indicates whether compression is enabled - */ - function SetCompression($compress) { - if (function_exists('gzcompress')) { - $this->compress=$compress; - } else { - $this->compress=false; - }; - } - - function SetTitle($title) { - //Title of document - $this->title=$title; - } - - function SetSubject($subject) { - //Subject of document - $this->subject=$subject; - } - - function SetAuthor($author) { - //Author of document - $this->author=$author; - } - - function SetKeywords($keywords) { - //Keywords of document - $this->keywords=$keywords; - } - - function SetCreator($creator) { - //Creator of document - $this->creator=$creator; - } - - function Error($msg) { - //Fatal error - die('FPDF error: '.$msg); - } - - function Open() { - //Begin document - $this->state = FPDF_STATE_DOCUMENT_STARTED; - } - - function Close() { - //Terminate document - if ($this->state == FPDF_STATE_COMPLETED) { - return; - }; - - if ($this->page==0) { - $this->AddPage(); - }; - - //Close page - $this->_endpage(); - //Close document - $this->_enddoc(); - } - - function AddPage() { - $this->_pages[] =& new PDFPage($this, $this->_generate_new_object_number(), 0); - - //Start a new page - if ($this->state == FPDF_STATE_UNINITIALIZED) { - $this->Open(); - }; - - $family=$this->FontFamily; - - $size=$this->FontSizePt; - $lw=$this->LineWidth; - $dc=$this->DrawColor; - $fc=$this->FillColor; - $tc=$this->TextColor; - $cf=$this->ColorFlag; - if ($this->page>0) { - //Close page - $this->_endpage(); - } - - //Start new page - $this->_beginpage(); - //Set line cap style to square - $this->_out('2 J'); - //Set line width - $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); - - //Set colors - $this->DrawColor=$dc; - if ($dc!='0 G') { - $this->_out($dc); - }; - - $this->FillColor=$fc; - if ($fc!='0 g') { - $this->_out($fc); - }; - - $this->TextColor=$tc; - $this->ColorFlag=$cf; - - //Restore line width - if ($this->LineWidth!=$lw) { - $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); - } - - //Restore colors - if ($this->DrawColor!=$dc) { - $this->DrawColor=$dc; - $this->_out($dc); - } - if ($this->FillColor!=$fc) { - $this->FillColor=$fc; - $this->_out($fc); - } - $this->TextColor=$tc; - $this->ColorFlag=$cf; - - if (!is_null($this->CurrentFont)) { - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); - }; - } - - function SetDrawColor($r,$g=-1,$b=-1) { - // Set color for all stroking operations - if (($r==0 && $g==0 && $b==0) || $g==-1) { - $new_color = sprintf('%.3f G',$r/255); - } else { - $new_color = sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255); - }; - - if ($this->page > 0 /*&& $this->DrawColor != $new_color*/) { - $this->DrawColor = $new_color; - $this->_out($this->DrawColor); - }; - } - - function SetFillColor($r,$g=-1,$b=-1) { - // Set color for all filling operations - if (($r==0 && $g==0 && $b==0) || $g==-1) { - $new_color = sprintf('%.3f g',$r/255); - } else { - $new_color = sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); - }; - - if ($this->page>0 /*&& $this->FillColor != $new_color*/) { - $this->FillColor = $new_color; - $this->ColorFlag = ($this->FillColor!=$this->TextColor); - $this->_out($this->FillColor); - }; - } - - function SetTextColor($r,$g=-1,$b=-1) { - //Set color for text - if (($r==0 && $g==0 && $b==0) || $g==-1) { - $this->TextColor=sprintf('%.3f g',$r/255); - } else { - $this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); - }; - - $this->ColorFlag=($this->FillColor!=$this->TextColor); - } - - function GetStringWidth($s) { - //Get width of a string in the current font - $s=(string)$s; - $cw = &$this->CurrentFont['cw']; - $w=0; - - $l=strlen($s); - for ($i=0; $i<$l; $i++) { - $w+=$cw[$s{$i}]; - }; - - return $w*$this->FontSize/1000; - } - - /** - * Set line width - */ - function SetLineWidth($width) { - $this->LineWidth = $width; - if ($this->page > 0) { - $this->_out(sprintf('%.2f w',$width*$this->k)); - }; - } - - /** - * Draw a line - */ - function Line($x1,$y1,$x2,$y2) { - $this->_out(sprintf('%.2f %.2f m %.2f %.2f l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); - } - - /** - * Add a TrueType or Type1 font - */ - function AddFont($fontkey, $family, $encoding, $file, $bEmbed) { - if(isset($this->fonts[$fontkey])) { - $this->Error('Font already added: '.$family); - }; - - $filepath = $this->_getfontpath().$file; - include($filepath); - - // After we've executed 'include' the $file variable - // have been overwritten by $file declared in font definition file; if we do not want - // to embed the font in the PDF file, we should set to empty string - if (!$bEmbed) { $file = ''; }; - - if(!isset($name)) { - $this->Error("Could not include font definition file: $filepath"); - }; - - $i=count($this->fonts)+1; - $this->fonts[$fontkey]=array('i' =>$i, - 'type' =>$type, - 'name' =>$name, - 'desc' =>$desc, - 'up' =>$up, - 'ut' =>$ut, - 'cw' =>$cw, - 'enc' =>$enc, - 'file' =>$file); - - if ($diff) { - //Search existing encodings - $d=0; - $nb=count($this->diffs); - for ($i=1; $i<=$nb; $i++) { - if ($this->diffs[$i] == $diff) { - $d=$i; - break; - } - } - if ($d==0) { - $d=$nb+1; - $this->diffs[$d] = $diff; - - /** - * TODO - * Add CMAP for this font - */ - $this->cmaps[$d] = new PDFCMap($cmap, - $handler, - $this->_generate_new_object_number(), - 0); - } - $this->fonts[$fontkey]['diff']=$d; - } - - if ($file) { - if ($type=='TrueType') { - $this->FontFiles[$file]=array('length1'=>$originalsize); - } else { - $this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2); - }; - } - } - - /** - * Select a font; size given in points - */ - function SetFont($family, $encoding, $size) { - global $fpdf_charwidths; - - $fontkey = $this->_MakeFontKey($family, $encoding); - $this->_LoadFont($fontkey, $family, $encoding); - - if ($this->page > 0) { - //Select it - $this->FontFamily = $family; - $this->FontSizePt = $size; - $this->FontSize = $size/$this->k; - - $this->CurrentFont = &$this->fonts[$fontkey]; - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); - }; - } - - /** - * Create a new internal link - */ - function AddLink() { - $n=count($this->links)+1; - $this->links[$n]=array(0,0); - return $n; - } - - /** - * Set destination of internal link - */ - function SetLink($link,$y,$page) { - $this->links[$link]=array($page,$y); - } - - /** - * Add an external hyperlink on the page (an rectangular area). It is not bound to any other PDF element, - * like text. It is the task of layout engine to draw the appropriate text inside this area. - * - * @param Float $x X-coordinate of the upper-left corner of the link area - * @param Float $y Y-coordinate of the upper-left corner of the link area - * @param Float $w link area width - * @param Float $h link area height - * @param String $link Link URL - */ - function add_link_external($x, $y, $w, $h, $link) { - $link = new PDFAnnotationExternalLink($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $link); - $this->_pages[count($this->_pages)-1]->add_annotation($link); - } - - /** - * Add an internal hyperlink on the page (an rectangular area). It is not bound to any other PDF element, - * like text. It is the task of layout engine to draw the appropriate text inside this area. - * - * @param Float $x X-coordinate of the upper-left corner of the link area - * @param Float $y Y-coordinate of the upper-left corner of the link area - * @param Float $w link area width - * @param Float $h link area height - * @param Integer $link Internal Link identifier - */ - function add_link_internal($x, $y, $w, $h, $link) { - $link = new PDFAnnotationInternalLink($this, - $this->_generate_new_object_number(), - 0, - new PDFRect($x, $y, $w, $h), - $link); - $this->_pages[count($this->_pages)-1]->add_annotation($link); - } - - function Text($x, $y, $txt) { - //Output a string - $s = sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt)); - - if ($this->underline && $txt!='') { - $s.=' '.$this->_dounderline($x,$y,$txt); - } - - if ($this->overline && $txt!='') { - $s.=' '.$this->_dooverline($x,$y,$txt); - } - - if ($this->strikeout && $txt!='') { - $s.=' '.$this->_dostrikeout($x,$y,$txt); - } - - if ($this->ColorFlag) { - $s='q '.$this->TextColor.' '.$s.' Q'; - }; - $this->_out($s); - } - - /** - * Accepts PNG images only - */ - function Image($file, $x, $y, $w, $h) { - // Put an image on the page - if (!isset($this->images[$file])) { - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $info=$this->_parsepng($file); - set_magic_quotes_runtime($mqr); - - $info['i']=count($this->images)+1; - $this->images[$file]=$info; - } else { - $info=$this->images[$file]; - }; - - $this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q', - $w*$this->k, - $h*$this->k, - $x*$this->k, - ($this->h-($y+$h))*$this->k, - $info['i'])); - } - - /** - * @param $name String file to save generated PDF in - */ - function Output($name) { - //Finish document if necessary - if ($this->state != FPDF_STATE_COMPLETED) { - $this->Close(); - }; - - $f=fopen($name,'wb'); - if (!$f) { - $this->Error('Unable to create output file: '.$name); - }; - fwrite($f,$this->buffer,strlen($this->buffer)); - fclose($f); - } - - /******************************************************************************** - * * - * Protected methods * - * * - *******************************************************************************/ - function _dochecks() { - // Check for locale-related bug - if (1.1==1) { - $this->Error('Don\'t alter the locale before including class file'); - }; - - // Check for decimal separator - if (sprintf('%.1f',1.0)!='1.0') { - setlocale(LC_NUMERIC,'C'); - }; - } - - function _getfontpath() { - return CACHE_DIR; - } - - function _putpages() { - $nb=$this->page; - - if ($this->DefOrientation=='P') { - $wPt=$this->fwPt; - $hPt=$this->fhPt; - } else { - $wPt=$this->fhPt; - $hPt=$this->fwPt; - }; - - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - - $pages_start_obj_number = $this->n+1; - - for ($n=1; $n<=$nb; $n++) { - //Page - - $page = $this->_pages[$n-1]; - $this->offsets[$page->get_object_id()] = strlen($this->buffer); - $this->_out(sprintf("%u %u obj",$page->object_id, $page->generation_id)); - - $this->_out('<_out('/Parent 1 0 R'); - $this->_out("/Annots ".$this->_pages[$n-1]->_annotations($this)); - $this->_out('/Resources 2 0 R'); - - $this->_out('/Contents '.($this->n+1).' 0 R>>'); - $this->_out('endobj'); - //Page content - $p=($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n]; - $this->_newobj(); - $this->_out('<<'.$filter.'/Length '.strlen($p).'>>'); - $this->_putstream($p); - $this->_out('endobj'); - - // Output annotation object for this page - $annotations = $this->_pages[$n-1]->annotations; - $size = count($annotations); - - for ($j=0; $j<$size; $j++) { - $annotations[$j]->out($this); - }; - } - - //Pages root - $this->offsets[1] = strlen($this->buffer); - $this->_out('1 0 obj'); - $this->_out('<_out('/Kids '.$this->_reference_array($this->_pages)); - - $this->_out('/Count '.$nb); - $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt)); - $this->_out('>>'); - $this->_out('endobj'); - - return $pages_start_obj_number; - } - - function _putfonts() { - $nf=$this->n; - - $num_diffs = count($this->diffs); - for ($i=1; $i<=$num_diffs; $i++) { - $diff = $this->diffs[$i]; - $cmap = $this->cmaps[$i]; - - //Encodings - $this->_newobj(); - $this->_out($this->_dictionary(array("Type" => "/Encoding", - "BaseEncoding" => "/WinAnsiEncoding", - "Differences" => $this->_array($diff)))); - $this->_out('endobj'); - - $cmap->out($this); - } - - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - foreach ($this->FontFiles as $file=>$info) { - //Font file embedding - $this->_newobj(); - $this->FontFiles[$file]['n'] = $this->n; - $font=''; - $f=fopen($this->_getfontpath().$file,'rb',1); - if (!$f) { - $this->Error('Font file not found'); - }; - - while (!feof($f)) { $font.=fread($f,8192); }; - - fclose($f); - $compressed=(substr($file,-2)=='.z'); - if (!$compressed && isset($info['length2'])) { - $header=(ord($font{0})==128); - if($header) { - //Strip first binary header - $font=substr($font,6); - } - if($header && ord($font{$info['length1']})==128) { - //Strip second binary header - $font=substr($font,0,$info['length1']).substr($font,$info['length1']+6); - } - } - $this->_out('<_out('/Filter /FlateDecode'); - }; - - $this->_out('/Length1 '.$info['length1']); - if(isset($info['length2'])) { - $this->_out('/Length2 '.$info['length2'].' /Length3 0'); - }; - $this->_out('>>'); - $this->_putstream($font); - $this->_out('endobj'); - } - set_magic_quotes_runtime($mqr); - - foreach ($this->fonts as $k=>$font) { - //Font objects - $this->fonts[$k]['n'] = $this->n+1; - $type=$font['type']; - $name=$font['name']; - - if ($type=='Type1' || $type=='TrueType') { - //Additional Type1 or TrueType font - $this->_newobj(); - $this->_out('<_out('/BaseFont /'.$name); - $this->_out('/Subtype /'.$type); - $this->_out('/FirstChar 32 /LastChar 255'); - $this->_out('/Widths '.($this->n+1).' 0 R'); - $this->_out('/FontDescriptor '.($this->n+2).' 0 R'); - if ($font['enc']) { - if(isset($font['diff'])) { - $this->_out('/Encoding '.($nf+$font['diff']).' 0 R'); - $this->_out('/ToUnicode '.($this->_reference($this->cmaps[$font['diff']]))); - } else { - $this->_out('/Encoding /WinAnsiEncoding'); - }; - } - $this->_out('>>'); - $this->_out('endobj'); - - //Widths - $this->_newobj(); - $cw = &$font['cw']; - $s='['; - for ($i=32;$i<=255;$i++) { - $s.=$cw[chr($i)].' '; - }; - $this->_out($s.']'); - $this->_out('endobj'); - - /** - * Font descriptor - */ - $this->_newobj(); - $fontDescriptor = array('Type' => '/FontDescriptor', - 'FontName' => '/'.$name, - 'Flags' => $font['desc']['Flags'], - 'FontBBox' => $font['desc']['FontBBox'], - 'ItalicAngle' => $font['desc']['ItalicAngle'], - 'Ascent' => $font['desc']['Ascent'], - 'Descent' => $font['desc']['Descent'], - 'CapHeight' => $font['desc']['CapHeight'], - 'StemV' => $font['desc']['StemV'] - ); - if ($font['file'] != "") { - $fontDescriptor['FontFile'.($type=='Type1' ? '' : '2')] = - $this->FontFiles[$font['file']]['n'].' 0 R'; - }; - $this->_out($this->_dictionary($fontDescriptor)); - $this->_out('endobj'); - - } else { - //Allow for additional types - $mtd='_put'.strtolower($type); - if(!method_exists($this,$mtd)) - $this->Error('Unsupported font type: '.$type); - $this->$mtd($font); - } - } - } - - function _putimages() { - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->images); - while (list($file,$info) = each($this->images)) { - $this->_newobj(); - $this->images[$file]['n']=$this->n; - $this->_out('<_out('/Subtype /Image'); - $this->_out('/Width '.$info['w']); - $this->_out('/Height '.$info['h']); - if ($info['cs']=='Indexed') { - $this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]'); - } else { - $this->_out('/ColorSpace /'.$info['cs']); - if($info['cs']=='DeviceCMYK') { - $this->_out('/Decode [1 0 1 0 1 0 1 0]'); - }; - } - $this->_out('/BitsPerComponent '.$info['bpc']); - if (isset($info['f'])) { - $this->_out('/Filter /'.$info['f']); - }; - - if(isset($info['parms'])) { - $this->_out($info['parms']); - }; - - if(isset($info['trns']) && is_array($info['trns'])) { - $trns=''; - for ($i=0;$i_out('/Mask ['.$trns.']'); - }; - - $this->_out('/Length '.strlen($info['data']).'>>'); - $this->_putstream($info['data']); - unset($this->images[$file]['data']); - $this->_out('endobj'); - - // Palette - if ($info['cs']=='Indexed') { - $this->_newobj(); - $pal=($this->compress) ? gzcompress($info['pal']) : $info['pal']; - $this->_out('<<'.$filter.'/Length '.strlen($pal).'>>'); - $this->_putstream($pal); - $this->_out('endobj'); - }; - } - } - - function _putxobjectdict() { - foreach ($this->images as $image) { - $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); - }; - } - - function _putresourcedict() { - $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'); - $this->_out('/Font <<'); - foreach ($this->fonts as $font) { - $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); - }; - $this->_out('>>'); - $this->_out('/XObject <<'); - $this->_putxobjectdict(); - $this->_out('>>'); - } - - function _putresources() { - $this->_putfonts(); - $this->_putimages(); - - //Resource dictionary - $this->offsets[2]=strlen($this->buffer); - $this->_out('2 0 obj'); - $this->_out('<<'); - $this->_putresourcedict(); - $this->_out('>>'); - $this->_out('endobj'); - } - - function _putinfo() { - $this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION)); - - if (!empty($this->title)) { - $this->_out('/Title '.$this->_textstring($this->title)); - }; - - if (!empty($this->subject)) { - $this->_out('/Subject '.$this->_textstring($this->subject)); - }; - - if (!empty($this->author)) { - $this->_out('/Author '.$this->_textstring($this->author)); - }; - - if (!empty($this->keywords)) { - $this->_out('/Keywords '.$this->_textstring($this->keywords)); - }; - - if (!empty($this->creator)) { - $this->_out('/Creator '.$this->_textstring($this->creator)); - }; - - $this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis'))); - } - - // Generate the document catalog entry of PDF file - function _putcatalog($pages_start_obj_number) { - $this->_out('/Type /Catalog'); - - $this->_out('/Pages 1 0 R'); - if ($this->ZoomMode=='fullpage') { - $this->_out("/OpenAction [$pages_start_obj_number 0 R /Fit]"); - } elseif ($this->ZoomMode=='fullwidth') { - $this->_out("/OpenAction [$pages_start_obj_number 0 R /FitH null]"); - } elseif ($this->ZoomMode=='real') { - $this->_out("/OpenAction [$pages_start_obj_number 0 R /XYZ null null 1]"); - } elseif (!is_string($this->ZoomMode)) { - $this->_out("/OpenAction [$pages_start_obj_number 0 R /XYZ null null ".($this->ZoomMode/100).']'); - }; - - if ($this->LayoutMode=='single') { - $this->_out('/PageLayout /SinglePage'); - } elseif ($this->LayoutMode=='continuous') { - $this->_out('/PageLayout /OneColumn'); - } elseif ($this->LayoutMode=='two') { - $this->_out('/PageLayout /TwoColumnLeft'); - }; - - if (count($this->_forms) > 0) { - $this->_out('/AcroForm <<'); - $this->_out('/Fields '.$this->_reference_array($this->_forms)); - $this->_out('/DR 2 0 R'); - $this->_out('/NeedAppearances true'); - $this->_out('>>'); - }; - } - - function _putheader() { - $this->_out('%PDF-'.$this->PDFVersion); - } - - function _puttrailer() { - $this->_out('/Size '.($this->n+1)); - $this->_out('/Root '.$this->n.' 0 R'); - $this->_out('/Info '.($this->n-1).' 0 R'); - } - - function _enddoc() { - $this->_putheader(); - $pages_start_obj_number = $this->_putpages(); - - $this->_putresources(); - - //Info - $this->_newobj(); - $this->_out('<<'); - $this->_putinfo(); - $this->_out('>>'); - $this->_out('endobj'); - - // Form fields - for ($i=0; $i_forms); $i++) { - $form =& $this->_forms[$i]; - - $form->out($this); - }; - - //Catalog - $this->_newobj(); - $this->_out('<<'); - $this->_putcatalog($pages_start_obj_number); - $this->_out('>>'); - $this->_out('endobj'); - - //Cross-ref - $o=strlen($this->buffer); - $this->_out('xref'); - $this->_out('0 '.($this->n+1)); - $this->_out('0000000000 65535 f '); - - for ($i=1; $i<=$this->n; $i++) { - $this->_out(sprintf('%010d 00000 n ',$this->offsets[$i])); - }; - - //Trailer - $this->_out('trailer'); - $this->_out('<<'); - $this->_puttrailer(); - $this->_out('>>'); - $this->_out('startxref'); - $this->_out($o); - $this->_out('%%EOF'); - $this->state = FPDF_STATE_COMPLETED; - } - - function _beginpage() { - $this->page++; - $this->pages[$this->page]=''; - $this->state = FPDF_STATE_PAGE_STARTED; - $this->FontFamily=''; - } - - /** - * End of page contents - */ - function _endpage() { - $this->state = FPDF_STATE_DOCUMENT_STARTED; - } - - /** - * Start a new indirect object - */ - function _newobj() { - $num = $this->_generate_new_object_number(); - $this->offsets[$num]=strlen($this->buffer); - $this->_out($num.' 0 obj'); - } - - function _parsepng($file) { - //Extract info from a PNG file - $f=fopen($file,'rb'); - if (!$f) { - $this->Error('Can\'t open image file: '.$file); - }; - - //Check signature - if (fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) { - $this->Error('Not a PNG file: '.$file); - }; - - //Read header chunk - fread($f,4); - if (fread($f,4)!='IHDR') { - $this->Error('Incorrect PNG file: '.$file); - }; - - $w=$this->_freadint($f); - $h=$this->_freadint($f); - $bpc=ord(fread($f,1)); - - if ($bpc>8) { - $this->Error('16-bit depth not supported: '.$file); - }; - - $ct=ord(fread($f,1)); - if ($ct==0) { - $colspace='DeviceGray'; - } elseif($ct==2) { - $colspace='DeviceRGB'; - } elseif($ct==3) { - $colspace='Indexed'; - } else { - $this->Error('Alpha channel not supported: '.$file); - }; - - if (ord(fread($f,1))!=0) { - $this->Error('Unknown compression method: '.$file); - }; - - if (ord(fread($f,1))!=0) { - $this->Error('Unknown filter method: '.$file); - }; - - if (ord(fread($f,1))!=0) { - $this->Error('Interlacing not supported: '.$file); - }; - - fread($f,4); - $parms='/DecodeParms <>'; - - //Scan chunks looking for palette, transparency and image data - $pal=''; - $trns=''; - $data=''; - do { - $n=$this->_freadint($f); - $type=fread($f,4); - if ($type=='PLTE') { - //Read palette - $pal=fread($f,$n); - fread($f,4); - } elseif($type=='tRNS') { - //Read transparency info - $t=fread($f,$n); - if ($ct==0) { - $trns=array(ord(substr($t,1,1))); - } elseif($ct==2) { - $trns=array(ord(substr($t,1,1)),ord(substr($t,3,1)),ord(substr($t,5,1))); - } else { - $pos=strpos($t,chr(0)); - if ($pos!==false) { - $trns=array($pos); - } - } - fread($f,4); - } elseif ($type=='IDAT') { - //Read image data block - $data.=fread($f,$n); - fread($f,4); - } elseif ($type=='IEND') { - break; - } else { - fread($f,$n+4); - }; - } while($n); - - if ($colspace=='Indexed' && empty($pal)) { - $this->Error('Missing palette in '.$file); - }; - fclose($f); - return array('w' => $w, - 'h' => $h, - 'cs' => $colspace, - 'bpc' => $bpc, - 'f' => 'FlateDecode', - 'parms' => $parms, - 'pal' => $pal, - 'trns' => $trns, - 'data' => $data); - } - - /** - * Read a 4-byte integer from file - */ - function _freadint($f) { - $a=unpack('Ni',fread($f,4)); - return $a['i']; - } - - /** - * Format a text string - */ - function _textstring($s) { - return '('.$this->_escape($s).')'; - } - - /** - * Add \ before \, ( and ) - */ - function _escape($s) { - return str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$s))); - } - - function _putstream($s) { - $this->_out('stream'); - $this->_out($s); - $this->_out('endstream'); - } - - /** - * Add a line to the document - */ - function _out($s) { - if ($this->state == FPDF_STATE_PAGE_STARTED) { - $this->pages[$this->page].=$s."\n"; - } else { - $this->buffer.=$s."\n"; - } - } - } -} -?> diff --git a/thirdparty/html2ps_pdf/pipeline.class.php b/thirdparty/html2ps_pdf/pipeline.class.php deleted file mode 100644 index a8d26f64a..000000000 --- a/thirdparty/html2ps_pdf/pipeline.class.php +++ /dev/null @@ -1,1130 +0,0 @@ -_counters = array(); - $this->_footnotes = array(); - - $this->_base_url = array(""); - $this->_reset_page_at_rules(); - - $this->pre_tree_filters = array(); - - $this->_dispatcher =& new Dispatcher(); - - $this->_dispatcher->add_event("before-page"); - $this->_dispatcher->add_event("after-page"); - $this->_dispatcher->add_event("before-batch-item"); - $this->_dispatcher->add_event("after-batch-item"); - $this->_dispatcher->add_event("before-document"); - $this->_dispatcher->add_event("after-document"); - $this->_dispatcher->add_event("before-batch"); - $this->_dispatcher->add_event("after-batch"); - } - - function add_fetcher(&$fetcher) { - array_unshift($this->fetchers, $fetcher); - } - - function clear_box_id_map() { - $GLOBALS['__html_box_id_map'] = array(); - } - - function close() { - $this->_dispatcher->fire('after-batch', array('pipeline' => $this)); - - $this->output_driver->close(); - $this->_output(); - $this->output_driver->release(); - - // Non HTML-specific cleanup - // - Image::clear_cache(); - } - - function configure($options) { - $defaults = array( - 'debugbox' => 0, - 'draw_page_border' => false, - 'cssmedia' => 'screen', - 'scalepoints' => false, - 'renderimages' => true, - 'renderfields' => false, - 'renderforms' => false, - 'renderlinks' => false, - 'pagewidth' => 800, - 'landscape' => false, - 'mode' => 'html', - 'smartpagebreak' => true - ); - - // As a reminder: array_merge will not overwrite existing array keys - $GLOBALS['g_config'] = array_merge($options, $defaults); - } - - function _addFootnote(&$note_call) { - $this->_footnotes[] =& $note_call; - } - -// function _fillContent($content) { -// $filled = ""; - -// while (preg_match("/^.*?('.*?'|\".*?\"|counter\(.*?\))(.*)$/", $content, $matches)) { -// $data = $matches[1]; -// $content = $matches[2]; - -// if ($data{0} != '\'' && $data{0} != '"') { -// $filled .= $this->_fillContentCounter($data); -// } else { -// $filled .= $this->_fillContentString($data); -// }; -// }; - -// return $filled; -// } - -// function _fillContentString($content) { -// $unescaped_content = css_process_escapes($content); -// $unquoted_content = css_remove_value_quotes($unescaped_content); -// return $unquoted_content; -// } - -// function _fillContentCounter($content) { -// preg_match("/counter\((.*?)\)/", $content, $matches); -// return $this->_getCounter($matches[1]); -// } - - function &get_counters() { - $counter_collection =& new CSSCounterCollection(); - - foreach ($this->_counters as $counter_name => $counter_value) { - $counter =& new CSSCounter($counter_name); - $counter->set($counter_value); - $counter_collection->add($counter); - }; - - return $counter_collection; - } - - function _getCounter($counter) { - if (isset($this->_counters[$counter])) { - return $this->_counters[$counter]; - }; - - /** - * CSS 2.1: Counters that are not in the scope of any - * 'counter-reset', are assumed to have been reset to 0 by a - * 'counter-reset' on the root element. - */ - return 0; - } - - function _resetCounter($counter, $value) { - $this->_counters[$counter] = $value; - } - - function _incrementCounter($counter, $value) { - $this->_counters[$counter] += $value; - } - - function add_at_rule_page($at_rule) { - $selector =& $at_rule->getSelector(); - $type = $selector->get_type(); - $this->_page_at_rules[$type][] = $at_rule; - } - - function _reset_page_at_rules() { - $this->_page_at_rules = array(CSS_PAGE_SELECTOR_ALL => array(), - CSS_PAGE_SELECTOR_FIRST => array(), - CSS_PAGE_SELECTOR_LEFT => array(), - CSS_PAGE_SELECTOR_RIGHT => array(), - CSS_PAGE_SELECTOR_NAMED => array()); - } - - function &getDefaultCSS() { - return $this->_defaultCSS; - } - - function &getCurrentCSS() { - return $this->_css[0]; - } - - function &getCurrentCSSState() { - return $this->_cssState[0]; - } - - function pushCSS() { - array_unshift($this->_css, new CSSRuleset()); - } - - function popCSS() { - array_shift($this->_css); - } - - /** - * Note that different pages may define different margin boxes (for - * example, left and right pages may have different headers). In - * this case, we should process @page rules in order of their - * specificity (no selector < :left / :right < :first) and extract - * margin boxes to be drawn - * - * @param $page_no Integer current page index (1-based) - * @param $media - */ - function render_margin_boxes($page_no, &$media) { - $boxes =& $this->reflow_margin_boxes($page_no, $media); - - foreach ($boxes as $selector => $box) { - $boxes[$selector]->show($this->output_driver); - }; - - // Memleak fix - for ($i=0, $size = count($boxes); $i < $size; $i++) { - $boxes[$i]->destroy(); - }; - unset($boxes); - } - - function &get_page_rules($page_no, &$media) { - $collection =& new CSSPropertyCollection(); - - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_ALL] as $rule) { - $collection->merge($rule->css); - }; - - /** - * Check which one of :right/:left selector is applicable (assuming that first page matches :right) - */ - if ($page_no % 2 == 0) { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_LEFT] as $rule) { - $collection->merge($rule->css); - }; - } else { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_RIGHT] as $rule) { - $collection->merge($rule->css); - }; - }; - - if ($page_no == 1) { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_FIRST] as $rule) { - $collection->merge($rule->css); - }; - }; - - return $collection; - } - - function &reflow_page_box($page_no, &$media) { - $rules =& $this->get_page_rules($page_no, $media); - $box =& BoxPage::create($this, $rules); - $box->reflow($media); - return $box; - } - - function render_page_box($page_no, &$media) { - $box =& $this->reflow_page_box($page_no, $media); - $box->show($this->output_driver); - $box->destroy(); - unset($box); - } - - function &reflow_margin_boxes($page_no, &$media) { - $at_rules = $this->_getMarginBoxes($page_no, $media); - - $boxes = array(); - foreach ($at_rules as $at_rule) { - $selector = $at_rule->getSelector(); - $boxes[$selector] =& BoxPageMargin::create($this, $at_rule); - }; - - foreach ($boxes as $selector => $box) { - $linebox_started = false; - $previous_whitespace = false; - $boxes[$selector]->reflow_whitespace($linebox_started, $previous_whitespace); - $boxes[$selector]->reflow_text($this->output_driver); - }; - - foreach ($boxes as $selector => $box) { - $boxes[$selector]->reflow($this->output_driver, - $media, - $boxes); - }; - - return $boxes; - } - - /** - * Note that "+" operation on arrays will preserve existing elements; thus - * we need to process @page rules in order of decreasing specificity - * - */ - function _getMarginBoxes($page_no, $media) { - $applicable_margin_boxes = array(); - - /** - * Check if :first selector is applicable - */ - if ($page_no == 1) { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_FIRST] as $rule) { - $applicable_margin_boxes = $applicable_margin_boxes + $rule->getAtRuleMarginBoxes(); - }; - }; - - /** - * Check which one of :right/:left selector is applicable (assuming that first page matches :right) - */ - if ($page_no % 2 == 0) { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_LEFT] as $rule) { - $applicable_margin_boxes = $applicable_margin_boxes + $rule->getAtRuleMarginBoxes(); - }; - } else { - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_RIGHT] as $rule) { - $applicable_margin_boxes = $applicable_margin_boxes + $rule->getAtRuleMarginBoxes(); - }; - }; - - /** - * Extract margin boxes from plain @page rules - */ - foreach ($this->_page_at_rules[CSS_PAGE_SELECTOR_ALL] as $rule) { - $applicable_margin_boxes = $applicable_margin_boxes + $rule->getAtRuleMarginBoxes(); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP_LEFT,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP_CENTER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_TOP] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_LEFT_TOP,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_LEFT_MIDDLE,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_LEFT_BOTTOM,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_RIGHT_TOP,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_RIGHT_MIDDLE,$this); - }; - - if (!isset($applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM])) { - $applicable_margin_boxes[CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM] =& - new CSSAtRuleMarginBox(CSS_MARGIN_BOX_SELECTOR_RIGHT_BOTTOM,$this); - }; - - return $applicable_margin_boxes; - } - - function _process_item($data_id, &$media, $offset=0) { - $this->_dispatcher->fire('before-batch-item', array('pipeline' => $this)); - - $box =& $this->_layout_item($data_id, $media, $offset, $context, $postponed_filter); - - if (is_null($box)) { - error_log(sprintf(_('Could not fetch: %s'), (string)$data_id)); - return true; - }; - - $this->_show_item($box, $offset, $context, $media, $postponed_filter); - - // Clear CSS for this item - $this->popCSS(); - $this->_defaultCSS = null; - - // Memory leak fix: caused by circular references? - $box->destroy(); - - $this->_dispatcher->fire('after-batch-item', array('pipeline' => $this)); - return true; - } - - function _show_item(&$box, $offset, &$context, &$media, &$postponed_filter) { - $context->sort_absolute_positioned_by_z_index(); - - // Make batch-processing offset - $box->offset(0, $offset); - - /** - * Calculate page heights - */ - if ($GLOBALS['g_config']['smartpagebreak']) { - $page_heights = PageBreakLocator::getPages($box, - mm2pt($media->real_height()), - mm2pt($media->height() - $media->margins['top'])); - } else { - $num_pages = ceil($box->get_height() / mm2pt($media->real_height())); - $page_heights = array(); - for ($i=0; $i<$num_pages; $i++) { - $page_heights[] = mm2pt($media->real_height()); - }; - }; - - $expected_pages = count($page_heights); - $this->output_driver->set_expected_pages($expected_pages); - $this->_resetCounter('pages', $expected_pages); - $this->_resetCounter('page', 0); - - $this->_dispatcher->fire('before-document', array('pipeline' => $this, - 'document' => $box)); - - // Output PDF pages using chosen PDF driver - for ($i=0; $i<$expected_pages; $i++) { - $this->_resetCounter('footnote', 0); - $this->_incrementCounter('page', 1); - - $this->output_driver->save(); - - /** - * Note that margin boxes should be rendered before 'setup_clip', as it will trim all - * content rendered outside the 'main' page area - */ - $this->render_margin_boxes($i+1, $media); - $this->render_page_box($i+1, $media); - - $this->output_driver->setPageHeight($page_heights[$i]); - $this->output_driver->setup_clip(); - - $this->_dispatcher->fire('before-page', array('pipeline' => $this, - 'document' => $box, - 'pageno' => $i)); - - if (is_null($box->show($this->output_driver))) { - error_log("Pipeline::_process_item: output routine failed"); - return null; - }; - - /** - * Show postponed boxes - relative and floating boxes, as they should be - * shown over boxes on the same layer - */ - $this->output_driver->show_postponed(); - - $this->renderAbsolutePositioned($context); - $this->output_driver->restore(); - $this->renderFixedPositioned($context); - $this->renderFootnotes(); - - global $g_config; - if ($g_config['draw_page_border']) { - $this->output_driver->draw_page_border(); - }; - - $this->_dispatcher->fire('after-page', array('pipeline' => $this, - 'document' => $box, - 'pageno' => $i)); - - // Add page if currently rendered page is not last - if ($i < $expected_pages-1) { - $this->output_driver->next_page($page_heights[$i]); - }; - - // Restore postponed list for the next page - $postponed_filter->process($box, null, $this); - }; - - $this->_dispatcher->fire('after-document', array('pipeline' => $this, - 'document' => $box)); - } - - function _output() { - $temporary_output_filename = $this->output_driver->get_filename(); - - for ($i=0; $ioutput_filters); $i++) { - $temporary_output_filename = $this->output_filters[$i]->process($temporary_output_filename); - }; - - // Determine the content type of the result - $content_type = null; - $i = count($this->output_filters)-1; - while (($i >= 0) && (is_null($content_type))) { - $content_type = $this->output_filters[$i]->content_type(); - $i--; - }; - - if (is_null($content_type)) { - $content_type = $this->output_driver->content_type(); - }; - - $this->destination->process($temporary_output_filename, $content_type); - unlink($temporary_output_filename); - } - - function set_destination(&$destination) { - $this->destination =& $destination; - } - - function &fetch($data_id) { - if (count($this->fetchers) == 0) { - ob_start(); - include(HTML2PS_DIR.'/templates/error._no_fetchers.tpl'); - $this->error_message = ob_get_contents(); - ob_end_clean(); - - return null; - }; - - // Fetch data - for ($i=0; $ifetchers); $i++) { - $data = $this->fetchers[$i]->get_data($data_id); - - if ($data != null) { - $this->push_base_url($this->fetchers[$i]->get_base_url()); - return $data; - }; - }; - - if (defined('DEBUG_MODE')) { - error_log(sprintf('Could not fetch %s', $data_id)); - }; - - $null = null; - return $null; - } - - function process($data_id, &$media) { - return $this->process_batch(array($data_id), $media); - } - - function _setupScales(&$media) { - global $g_config; - global $g_px_scale; - global $g_pt_scale; - - $g_px_scale = floor(mm2pt($media->width() - $media->margins['left'] - $media->margins['right'])) / $media->pixels; - - if ($g_config['scalepoints']) { - $g_pt_scale = $g_px_scale * 1.33; // This is a magic number, just don't touch it, or everything will explode! - } else { - $g_pt_scale = 1.0; - }; - } - - /** - * Processes an set of URLs ot once; every URL is rendered on the separate page and - * merged to one PDF file. - * - * Note: to reduce peak memory requirement, URLs are processed one-after-one. - * - * @param Array $data_id_array Array of page identifiers to be processed (usually URLs or files paths) - * @param Media $media Object describing the media to render for (size, margins, orientaiton & resolution) - */ - function process_batch($data_id_array, &$media) { - $this->clear_box_id_map(); - - // Save and disable magic_quotes_runtime - $mq_runtime = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - - $this->_prepare($media); - - $this->_dispatcher->fire('before-batch', array('pipeline' => $this)); - - $i = 0; - $offset = 0; - foreach ($data_id_array as $data_id) { - $this->_process_item($data_id, $media, $offset); - - $i++; - if ($ireal_height()); - $this->output_driver->next_page(0); - $offset = $this->output_driver->offset; - }; - }; - - $this->close(); - - // Restore magic_quotes_runtime setting - set_magic_quotes_runtime($mq_runtime); - - return true; - } - - function error_message() { - $message = file_get_contents(HTML2PS_DIR.'/templates/error._header.tpl'); - - $message .= $this->error_message; - - for ($i=0; $ifetchers); $i++) { - $message .= $this->fetchers[$i]->error_message(); - }; - - $message .= $this->output_driver->error_message(); - - $message .= file_get_contents(HTML2PS_DIR.'/templates/error._footer.tpl'); - return $message; - } - - function push_base_url($url) { - array_unshift($this->_base_url, $url); - } - - function pop_base_url() { - array_shift($this->_base_url); - } - - function get_base_url() { - return $this->_base_url[0]; - } - - function guess_url($src) { - return guess_url($src, $this->get_base_url()); - } - - function renderFootnotes() { - /** - * Render every footnote defined (note-call element is visible) on a current page - */ - - $footnote_y = $this->output_driver->getFootnoteTop() - FOOTNOTE_LINE_TOP_GAP - FOOTNOTE_LINE_BOTTOM_GAP; - $footnote_x = $this->output_driver->getPageLeft(); - $footnotes_found = false; - - foreach ($this->_footnotes as $footnote) { - // Note that footnote area for current page have been already defined, - // as show_foonote is called after note-call boxes were placed. - if ($this->output_driver->contains($footnote->_note_call_box)) { - $footnotes_found = true; - $footnote_y = $footnote->show_footnote($this->output_driver, - $footnote_x, - $footnote_y); - $footnote_y -= FOOTNOTE_GAP; - }; - }; - - /** - * Draw thin line separating footnotes from page content - */ - if ($footnotes_found) { - $this->output_driver->setrgbcolor(0,0,0); - $this->output_driver->moveto($this->output_driver->getPageLeft(), - $this->output_driver->getFootnoteTop() - FOOTNOTE_LINE_TOP_GAP); - $this->output_driver->lineto($this->output_driver->getPageLeft() + $this->output_driver->getPageWidth()*FOOTNOTE_LINE_PERCENT/100, - $this->output_driver->getFootnoteTop() - FOOTNOTE_LINE_TOP_GAP); - $this->output_driver->stroke(); - }; - } - - function renderAbsolutePositioned(&$context) { - for ($j=0, $size = count($context->absolute_positioned); $j<$size; $j++) { - $current_box =& $context->absolute_positioned[$j]; - if ($current_box->getCSSProperty(CSS_VISIBILITY) === VISIBILITY_VISIBLE) { - $this->output_driver->save(); - $current_box->_setupClip($this->output_driver); - if (is_null($current_box->show($this->output_driver))) { - return null; - }; - $this->output_driver->restore(); - }; - }; - $this->output_driver->show_postponed_in_absolute(); - } - - function renderFixedPositioned(&$context) { - for ($j=0, $size = count($context->fixed_positioned); $j<$size; $j++) { - $current_box =& $context->fixed_positioned[$j]; - if ($current_box->getCSSProperty(CSS_VISIBILITY) === VISIBILITY_VISIBLE) { - $this->output_driver->save(); - $current_box->_setupClip($this->output_driver); - if (is_null($current_box->show_fixed($this->output_driver))) { - return null; - }; - $this->output_driver->restore(); - }; - }; - $this->output_driver->show_postponed_in_fixed(); - } - - function _prepare(&$media) { - $this->_setupScales($media); - $GLOBALS['g_media'] =& $media; - $this->output_driver->reset($media); - } - - function &_layout_item($data_id, &$media, $offset, &$context, &$postponed_filter) { - $this->_reset_page_at_rules(); - - $css_cache = CSSCache::get(); - $this->_defaultCSS = $css_cache->compile("resource://default.css", - file_get_contents(HTML2PS_DIR.'/default.css')); - $this->_css = array(); - $this->pushCSS(); - - $this->_cssState = array(new CSSState(CSS::get())); - - $font = $this->_cssState[0]->getProperty(CSS_FONT); - $font->units2pt(0); - $this->_cssState[0]->setProperty(CSS_FONT, $font); - - $data = $this->fetch($data_id); - if (is_null($data)) { - $dummy = null; - return $dummy; - }; - - // Run raw data filters - for ($i=0; $idata_filters); $i++) { - $data = $this->data_filters[$i]->process($data); - }; - - // Parse the raw data - $box =& $this->parser->process($data->get_content(), $this); - - /** - * Run obligatory tree filters - */ - - /** - * height-constraint processing filter; - */ - $filter = new PreTreeFilterHeightConstraint(); - $filter->process($box, $data, $this); - - /** - * Footnote support filter - */ - $filter = new PreTreeFilterFootnotes(); - $filter->process($box, $data, $this); - - // Run pre-layout tree filters - for ($i=0, $size = count($this->pre_tree_filters); $i < $size; $i++) { - $this->pre_tree_filters[$i]->process($box, $data, $this); - }; - - /** - * Auto-detect top/bottom margin size (only if both top and bottom margins have zero value) - */ - if ($media->margins['top'] == 0 && - $media->margins['bottom'] == 0) { - $boxes = $this->reflow_margin_boxes(0, $media); - - $media->margins['top'] = max($boxes[CSS_MARGIN_BOX_SELECTOR_TOP]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT_CORNER]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_LEFT]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_CENTER]->get_real_full_height(), - - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_TOP_RIGHT_CORNER]->get_real_full_height()) / mm2pt(1); - - $media->margins['bottom'] = max($boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT_CORNER]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_LEFT]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_CENTER]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT]->get_real_full_height(), - $boxes[CSS_MARGIN_BOX_SELECTOR_BOTTOM_RIGHT_CORNER]->get_real_full_height()) / mm2pt(1); - - $this->output_driver->update_media($media); - }; - - $context = new FlowContext; - - /** - * Extract absolute/fixed positioned boxes - */ - $positioned_filter = new PostTreeFilterPositioned($context); - $positioned_filter->process($box, null, $this); - - $postponed_filter = new PostTreeFilterPostponed($this->output_driver); - $postponed_filter->process($box, null, $this); - - $this->output_driver->prepare(); - - $status = $this->layout_engine->process($box, $media, $this->output_driver, $context); - if (is_null($status)) { - error_log("Pipeline::_process_item: layout routine failed"); - $dummy = null; - return $dummy; - }; - - // Run post-layout tree filters - for ($i=0; $ipost_tree_filters); $i++) { - $this->post_tree_filters[$i]->process($box); - }; - - return $box; - } - - function &getDispatcher() { - return $this->_dispatcher; - } - - function get_current_page_name() { - return $this->_current_page_name; - } - - function set_current_page_name($name) { - $this->_current_page_name = $name; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/pipeline.factory.class.php b/thirdparty/html2ps_pdf/pipeline.factory.class.php deleted file mode 100644 index 90d91b90e..000000000 --- a/thirdparty/html2ps_pdf/pipeline.factory.class.php +++ /dev/null @@ -1,32 +0,0 @@ -fetchers[] = new FetcherURLCurl(); -// } else { - require_once(HTML2PS_DIR.'fetcher.url.class.php'); - $pipeline->fetchers[] = new FetcherURL(); -// }; - - $pipeline->data_filters[] = new DataFilterDoctype(); - $pipeline->data_filters[] = new DataFilterUTF8($encoding); - $pipeline->data_filters[] = new DataFilterHTML2XHTML(); - $pipeline->parser = new ParserXHTML(); - $pipeline->pre_tree_filters = array(); - $pipeline->layout_engine = new LayoutEngineDefault(); - $pipeline->post_tree_filters = array(); - $pipeline->output_driver = new OutputDriverFPDF(); - $pipeline->output_filters = array(); - $pipeline->destination = new DestinationDownload($filename, ContentType::pdf()); - - return $pipeline; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/array.ps b/thirdparty/html2ps_pdf/postscript/array.ps deleted file mode 100644 index 680bf7807..000000000 --- a/thirdparty/html2ps_pdf/postscript/array.ps +++ /dev/null @@ -1,284 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/array.ps,v 1.1 2005/12/18 07:21:36 Konstantin Exp $ - -% Actually, array-append and array-prepend should have names exchanged; -% nevertheless, I don't want to track down renames all over ps files, so I've decided to -% keep this as is -% -% Prepends item to array -% -% @param Item item value -% @param Array source array -% @return A copy of source array with Item prepended as a first element -% -/array-append { % => Item Array - aload length - 1 add - array astore -} def - -/in-array-find { % => Array Value Pos - 2 index length 0 eq { - pop pop pop -1 - } { - 2 index 0 get % => Array Value Pos A0 - 2 index eq { % => Array Value Pos - 3 1 roll % => Pos Array Value - pop pop % => Pos - } { - 1 add % => Array Value Pos+1 - 2 index - array-pop-first % => Array Value Pos+1 Array' - 4 3 roll pop % => Value Pos+1 Array' - 3 1 roll % => Array' Value Pos+1 - in-array-find - } ifelse - } ifelse -} def - -/array-find { % => Array Value - 0 in-array-find -} def - -/array-insert { % => Index Value Data - aload length % => Index Value A1 .. AN N - 1 add % => Index Value A1 .. AN N+1 - dup 2 add % => Index Value A1 .. AN N+1 N+3 - dup index % => Index Value A1 .. AN N+1 N+3 Index - exch % => Index Value A1 .. AN N+1 Index N+3 - 1 sub % => Index Value A1 .. AN N+1 Index N+2 - index % => Index Value A1 .. AN N+1 Index Value - exch % => Index Value A1 .. AN N+1 Value Index - 2 index % => Index Value A1 .. AN N+1 Value Index N+1 - 1 add % => Index Value A1 .. AN N+1 Value Index N+2 - exch sub % => Index Value A1 .. AN N+1 Value N-Index+2 - 1 % => Index Value A1 .. AN N+1 Value N-Index+2 1 - roll % => Index Value A1 .. AINDEX-1 Value AINDEX .. AN N+1 - array astore % => Index Value Array - 3 1 roll % => Array Index Value - pop pop -} def % => Data' - -/array-last { % => Array - dup length % => Array Length - 1 sub % => Array Length-1 - get % => Last -} def - -/array-merge { % => A1 A2 - { % => A1 A2[i] - exch array-prepend % => A1' - } forall % => A1' -} def - -/array-pop-last { % => Array - aload length % => A1 .. AN N - 1 sub % => A1 .. AN N-1 - exch pop % => A1 .. AN-1 N-1 - array astore % => Array' -} def - -/array-pop-first { % => Array - aload length % => A1 .. AN N - 1 sub % => A1 .. AN N-1 - array astore % => A1 Array' - exch pop % => Array' -} def - -% Appends item to array -% -% @param Item item value -% @param Array source array -% @return A copy of source array with Item appended as a last element -% -/array-prepend { % => Item Array - aload length % => Item Item1 .. ItemN N - 1 add % => Item Item1 .. ItemN N+1 - dup 1 add % => Item Item1 .. ItemN N+1 N+2 - 1 index roll % => Item1 .. ItemN N+1 Item - exch % => Item1 .. ItemN Item N+1 - array astore % => Array -} def - -/array-remove { % => Array Index(ZeroBased) - exch % => Index Array - aload length % => Index A1 .. AN N - 1 sub % => Index A1 .. AN N-1 - dup 2 add % => Index A1 .. AN N-1 N+2 - index % => Index A1 .. AN N-1 Index - 1 index % => Index A1 .. AN N-1 Index N-1 - 2 add % => Index A1 .. AN N-1 Index N+1 - exch sub % => Index A1 .. AN N-1 N-Index+1 - dup 1 sub % => Index A1 .. AN N-1 N-Index+1 N-Index - roll % => Index A1 .. AINDEX-1 AINDEX+1 .. AN N-1 AINDEX - pop % => Index A1 .. AINDEX-1 AINDEX+1 .. AN N-1 - array astore % => Index Array - exch pop % => Array -} def - -% Basic insertions algorithm; we're working with small arrays -% and these arrays are have "good" natural order of elements, so -% more complicated algorithms are not needed here -% -/array-sort { % => Data GtFun - [] % => Data GtFun SortedData - array-sort-rec % => SortedData -} def - -/array-sort-rec { % => Data GtFun SortedData - 2 index length 0 gt { - 2 index 2 index - array-sort-rec-select-max % => Data GtFun SortedData Data' MaxValue - - 5 4 roll pop % => GtFun SortedData Data' MaxValue - 2 index array-prepend % => GtFun SortedData Data' SortedData' - - 3 2 roll pop % => GtFun Data' SortedData' - exch % => GtFun SortedData' Data' - 3 1 roll % => Data' GtFun SortedData' - array-sort-rec - } { - exch pop - exch pop % => SortedData - } ifelse -} def - -/array-sort-rec-select-max { % => Data GtFun - 1 index 0 get % => Data GtFun E0 - 0 1 % => Data GtFun EMax EMaxIndex ECurIndex - array-sort-rec-select-max-rec % => Data GtFun EMax EMaxIndex - -% remove element found from source array - 3 index exch array-remove % => Data GtFun EMax Data' - - 4 2 roll pop pop % => EMax Data - exch % => Data EMax -} def - -/array-sort-rec-select-max-rec { % => Data GtFun EMax EMaxIndex ECurIndex -% Check if we're out of source array bounds - 4 index length 1 index gt { % => Data GtFun EMax EMaxIndex ECurIndex - 4 index 1 index get % => Data GtFun EMax EMaxIndex ECurIndex ECur - 3 index % => Data GtFun EMax EMaxIndex ECurIndex ECur EMax - 5 index exec % => Data GtFun EMax EMaxIndex ECurIndex ECur>EMax - { % => Data GtFun EMax EMaxIndex ECurIndex - exch pop dup % => Data GtFun EMax EMaxIndex' ECurIndex - 4 index 1 index get % => Data GtFun EMax EMaxIndex' ECurIndex EMax' - 4 3 roll pop % => Data GtFun EMaxIndex' ECurIndex EMax' - 3 1 roll % => Data GtFun EMax' EMaxIndex' ECurIndex - } if % => Data GtFun EMax' EMaxIndex' ECurIndex - 1 add - array-sort-rec-select-max-rec - } { - pop - } ifelse -} def % => Data GtFun EMax EMaxIndex - -/expand-to { % => Size Array -% if array have no elements - return immediately - dup length 0 eq { - [] % => Size Array Flags [] - } { - dup sum % => Size Array ASize - dup 0 gt { % => Size Array ASize - dup % => Size Array ASize ASize - 3 index lt % => Size Array ASize - { % => Size Array ASize - 2 index % => Size Array ASize Size - exch div % => Size Array Size/ASize - map-scale % => Size Array' - exch pop % => Array' - } { % => Size Array ASize - pop exch % => Array Size - pop % => Array - } ifelse % => Array - } { % => Size Array ASize -% No content found in some colspan columns - pop % => Size Array - array-pop-first - array-append % => Array - } ifelse - } ifelse -} def - -/expand-to-with-flags { % => Size Array Flags -% if array have no elements - return immediately - 1 index length 0 eq { - [] % => Size Array Flags [] - } { -% Never decrease exising values - 1 index sum % => Size Array Flags ASum - 3 index % => Size Array Flags ASum Size - gt { - 1 index % => Size Array Flags Expanded - } { % => Size Array Flags -% Subtract non-modifiable values from target value - 2 copy { - dup not { pop } { pop pop 0 } ifelse - } zip-with - sum % => Size Array Flags Non-modSum - 4 3 roll exch sub 3 1 roll % => Size' Array Flags -% Check if there's any expandable columns - 2 copy { - dup { pop } { pop pop 0 } ifelse - } zip-with - sum % => Size Array Flags ModSum - - dup 0 eq { % => Size Array Flags ModSum - pop % => Size Array Flags - 1 index % => Size Array Flags Array - 0 get 3 index add % => Size Array Flags A0' - 2 index exch - 0 exch put % => Size Array Flags - 1 index - } { % => Size Array Flags ModSum -% Calculate scale koeff - 3 index exch div % => Size Array Flags Koeff -% Apply scale koeff - 0 1 4 index length 1 sub { % => Size Array Flags Koeff I - 2 index 1 index get { - 3 index - 1 index get % => Size Array Flags Koeff I A[i] - 2 index mul % => Size Array Flags Koeff I A[i]*Koeff - 4 index exch - 2 index exch put % => Size Array Flags Koeff I - } if - pop - } for % => Size Array Flags Koeff - pop % => Size Array Flags - 1 index - } ifelse % => Size Array Flags Expanded - } ifelse - } ifelse % => Size Array Flags Expanded - - exch pop - exch pop - exch pop -} def - -/in-reduce { % => A1 .. AN N Fun StartValue - 2 index 0 gt { - 4 3 roll % => A1 .. AN-1 N Fun StartValue AN - 2 index exec % => A1 .. AN-1 N Fun (StartValue Fun AN) - 3 2 roll % => A1 .. AN-1 Fun (StartValue Fun AN) N - 1 sub % => A1 .. AN-1 Fun (StartValue Fun AN) N-1 - 3 1 roll % => A1 .. AN-1 N-1 Fun (StartValue Fun AN) - in-reduce - } { % => N Fun Value - 3 1 roll % => Value N Fun - pop pop % => Value - } ifelse -} def - -/reduce { % => Fun StartValue Array - aload length % => Fun StartValue A1 .. AN N - dup 3 add % => Fun StartValue A1 .. AN N N+3 - 1 index 1 add % => Fun StartValue A1 .. AN N N+3 N+1 - roll % => A1 .. AN N Fun StartValue - in-reduce -} def - -/sum { % => Array - {add} 0 % => Array {add} 0 - 3 2 roll % => {add} 0 Array - reduce % => Sum -} def diff --git a/thirdparty/html2ps_pdf/postscript/background.image.ps b/thirdparty/html2ps_pdf/postscript/background.image.ps deleted file mode 100644 index b98a25d1b..000000000 --- a/thirdparty/html2ps_pdf/postscript/background.image.ps +++ /dev/null @@ -1,152 +0,0 @@ -/background-image-create { % => Data-or-/null - dup /null eq { % => /null - } { % => Mask Image Init SY SX - image-create - } ifelse -} def - -/background-image-show { % => Position Repeat Box Viewport Image - dup /null ne { -% Setup clipping region for padding area - gsave - - 2 index get-left-padding - 3 index get-bottom-padding - 4 index get-right-padding - 5 index get-left-padding sub - 5 index get-top-padding - 6 index get-bottom-padding sub - rectclip - -% Determine the vertical an horizontal offset for the image - 2 index /get-width call-method - 3 index get-padding-left add - 3 index get-padding-right add % => Position Repeat box viewport Image PaddingWidth - - 3 index get-height - 4 index get-padding-top add - 4 index get-padding-bottom add % => Position Repeat box viewport Image PaddingWidth PadingHeight - - 6 index /x get /percentage get { - 1 index % => Position Repeat box viewport Image PaddingWidth PadingHeight PaddingWidth - 3 index /SX get px sub % => Position Repeat box viewport Image PaddingWidth PadingHeight (PaddingWidth-ImageWidth*px) - 7 index /x get /value get mul 100 div - } { - 6 index /x get /value get - } ifelse % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset - - 7 index /y get /percentage get { - 1 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset PaddingHeight - 4 index /SY get px sub - 8 index /y get /value get mul 100 div - } { - 7 index /y get /value get - } ifelse % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - -% NOTE: px2pt(1) make a scaing factor for PDF output -% NOTE: background-image is positioned relative to PADDING corner and drawn in the PADDING area! - { % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - 7 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Repeat - - dup /no-repeat eq { - pop - - 1 px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Scale - 7 index get-top-padding - 6 index /SY get px sub - 1 index sub % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Scale Y - 8 index get-left-padding - 4 index add % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Scale Y X - 7 index - image-show-simple - - exit - } if - - dup /repeat-x eq { - pop - - 1 px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Scale - 1 index - 3 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset - 9 index get-right-padding % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX - 8 index /SX get px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX - 11 index get-top-padding - 10 index /SY get px sub - 4 index sub % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y - 12 index get-left-padding - 4 index add % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y X - 11 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y X Image - image-show-repeat-x - - exit - } if - - dup /repeat-y eq { - pop - - 1 px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset Scale - 1 index - 3 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset - 9 index get-bottom-padding % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX - 8 index /SY get px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX - 11 index get-top-padding - 10 index /SY get px sub - 4 index sub % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y - 12 index get-left-padding - 4 index add % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y X - 11 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TX SX Y X Image - image-show-repeat-y - - exit - } if - -% /repeat (default) - pop - - 1 px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale - 1 index 3 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset - 9 index get-bottom-padding % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY - 10 index get-right-padding % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX - 9 index /SY get px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX SY - 10 index /SX get px % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX SY SX - 13 index get-top-padding - 12 index /SY get px sub - 6 index add % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX SY SX Y - 14 index get-left-padding - 6 index add % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX SY SX Y X - 13 index % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - % Scale YOffset XOffset TY TX SY SX Y X - image-show-repeat-xy % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - - exit - } loop % => Position Repeat box viewport Image PaddingWidth PadingHeight XOffset YOffset - pop pop pop pop - -% return to the previous clipping area - grestore - - } if % => Position Repeat Box Viewport Image - - pop pop pop pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/background.ps b/thirdparty/html2ps_pdf/postscript/background.ps deleted file mode 100644 index 64eafc5db..000000000 --- a/thirdparty/html2ps_pdf/postscript/background.ps +++ /dev/null @@ -1,58 +0,0 @@ -/background-create { - << - /color 0 0 0 0 color-create - /image /null background-image-create - /position << - /x << - /percentage false - /value 0 - >> - /y << - /percentage false - /value 0 - >> - >> - /repeat /repeat - >> -} def - -/background-get-color { - /color get -} def - -/background-get-image { - /image get -} def - -/background-get-position { - /position get -} def - -/background-get-repeat { - /repeat get -} def - -/background-show { % => Box Viewport This - dup background-get-color % => Box Viewport This BackgroundColor - color-is-transparent not { % => Box Viewport This - dup background-get-color - color-apply - - 2 index get-left-padding - 3 index get-bottom-padding - 4 index get-right-padding - 5 index get-left-padding sub - 5 index get-top-padding - 6 index get-bottom-padding sub - rectfill - } if % => Box Viewport This - - dup background-get-position - 1 index background-get-repeat % => Box Viewport This Position Repeat - 4 index % => Box Viewport This Position Repeat Box - 4 index % => Box Viewport This Position Repeat Box Viewport - 4 index background-get-image - background-image-show % => Box Viewport This - - pop pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/border.ps b/thirdparty/html2ps_pdf/postscript/border.ps deleted file mode 100644 index 020dfdfb4..000000000 --- a/thirdparty/html2ps_pdf/postscript/border.ps +++ /dev/null @@ -1,291 +0,0 @@ -/hilight-color-alpha 0.6 def - -/border-create { - << - /left << - /width 2 px - /color 0 0 0 0 color-create - /style /none - >> - - /right << - /width 2 px - /color 0 0 0 0 color-create - /style /none - >> - - /top << - /width 2 px - /color 0 0 0 0 color-create - /style /none - >> - - /bottom << - /width 2 px - /color 0 0 0 0 color-create - /style /none - >> - >> -} def - -/border-show { % => Box Viewport Border - exch pop % => Box Border - -% LEFT - dup /left get /width get 0 gt - 1 index /left get /style get /none ne - and - { - dup /left get /style get - true - 2 index /left get /color get - 3 index /left get /width get - 5 index get-left-border - 6 index get-bottom-border - 7 index get-left-border - 8 index get-top-border - 9 index get-left-border 9 index /left get /width get add - 10 index get-top-border 10 index /top get /width get sub - 11 index get-left-border 11 index /left get /width get add - 12 index get-bottom-border 12 index /bottom get /width get add - edge-show - } if - -% RIGHT - dup /right get /width get 0 gt - 1 index /right get /style get /none ne - and - { - dup /right get /style get - false - 2 index /right get /color get - 3 index /right get /width get - 5 index get-right-border - 6 index get-bottom-border - 7 index get-right-border - 8 index get-top-border - 9 index get-right-border 9 index /right get /width get sub - 10 index get-top-border 10 index /top get /width get sub - 11 index get-right-border 11 index /right get /width get sub - 12 index get-bottom-border 12 index /bottom get /width get add - edge-show - } if - -% TOP - dup /top get /width get 0 gt - 1 index /top get /style get /none ne - and - { - dup /top get /style get - true - 2 index /top get /color get - 3 index /top get /width get - 5 index get-left-border - 6 index get-top-border - 7 index get-right-border - 8 index get-top-border - 9 index get-right-border 9 index /right get /width get sub - 10 index get-top-border 10 index /top get /width get sub - 11 index get-left-border 11 index /left get /width get add - 12 index get-top-border 12 index /top get /width get sub - edge-show - } if - -% BOTTOM - dup /bottom get /width get 0 gt - 1 index /bottom get /style get /none ne - and - { - dup /bottom get /style get - false - 2 index /bottom get /color get - 3 index /bottom get /width get - 5 index get-left-border - 6 index get-bottom-border - 7 index get-right-border - 8 index get-bottom-border - 9 index get-right-border 9 index /right get /width get sub - 10 index get-bottom-border 10 index /bottom get /width get add - 11 index get-left-border 11 index /left get /width get add - 12 index get-bottom-border 12 index /bottom get /width get add - edge-show - } if - - pop pop -} def - -/edge-get-width { % => Edge - dup /style get /none eq { - pop 0 - } { - /width get - } ifelse -} def - -/edge-show { -% If this border have 'transparent' color value, we just will not draw it - 9 index color-is-transparent { - pop pop pop - pop - pop pop pop pop pop pop pop pop - } { - edge-show-in - } ifelse -} def - -/edge-show-in { % => Style HI Color Width X1 Y1 X2 Y2 X3 Y3 X4 Y4 - newpath - 11 index /dashed eq { - 9 index color-apply - 8 index 4 mul 1 array astore 0 setdash - 8 index setlinewidth - - 7 index 2 index add 2 div - 7 index 2 index add 2 div - moveto - - 5 index 4 index add 2 div - 5 index 4 index add 2 div - lineto - - stroke - - [] 0 setdash - } if - - 11 index /dotted eq { - 9 index color-apply - 8 index 1 array astore 0 setdash - 8 index setlinewidth - - 7 index 2 index add 2 div - 7 index 2 index add 2 div - moveto - - 5 index 4 index add 2 div - 5 index 4 index add 2 div - lineto - - stroke - - [] 0 setdash - } if - - 11 index /solid eq { - 9 index color-apply - - 7 index 7 index moveto - 5 index 5 index lineto - 3 index 3 index lineto - 1 index 1 index lineto - closepath - fill - } if - - 11 index /double eq { - 9 index color-apply - 1 px setlinewidth - - 7 index 7 index moveto - 5 index 5 index lineto - stroke - - 3 index 3 index moveto - 1 index 1 index lineto - stroke - } if - - 11 index /inset eq { - 10 index { - 9 index color-apply - } { - 9 index - [1.0 1.0 1.0 1.0] hilight-color-alpha color-blend - color-apply - } ifelse - - 7 index 7 index moveto - 5 index 5 index lineto - 3 index 3 index lineto - 1 index 1 index lineto - closepath - fill - } if - - 11 index /outset eq { - 10 index not { - 9 index color-apply - } { - 9 index - [1.0 1.0 1.0 1.0] hilight-color-alpha color-blend - color-apply - } ifelse - - 7 index 7 index moveto - 5 index 5 index lineto - 3 index 3 index lineto - 1 index 1 index lineto - closepath - fill - } if - - 11 index /groove eq { - 9 index - [1.0 1.0 1.0 1.0] hilight-color-alpha color-blend - color-apply - - 7 index 7 index moveto - 5 index 5 index lineto - 3 index 3 index lineto - 1 index 1 index lineto - closepath - fill - - 9 index aload pop - setrgbcolor - - 1 px setlinewidth - - 10 index { - 7 index 7 index moveto - 5 index 5 index lineto - stroke - } { - 3 index 3 index moveto - 1 index 1 index lineto - stroke - } ifelse - } if - - 11 index /ridge eq { - 9 index aload pop - setrgbcolor - - 7 index 7 index moveto - 5 index 5 index lineto - 3 index 3 index lineto - 1 index 1 index lineto - closepath - fill - - 9 index aload pop - [1.0 1.0 1.0 1.0] hilight-color-alpha color-blend - color-apply - - 1 px setlinewidth - - 10 index { - 7 index 7 index moveto - 5 index 5 index lineto - stroke - } { - 3 index 3 index moveto - 1 index 1 index lineto - stroke - } ifelse - } if - - pop pop pop pop pop - pop pop pop pop pop - pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.block.inline.ps b/thirdparty/html2ps_pdf/postscript/box.block.inline.ps deleted file mode 100644 index 70d0c9c13..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.block.inline.ps +++ /dev/null @@ -1,57 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.block.inline.ps,v 1.1 2005/12/18 07:21:36 Konstantin Exp $ - -/box-inline-block-create { - box-container-create - dup box-inline-block-setup-methods - dup /box-inline-block add-type -} def - -/box-inline-block-reflow { % => Context Parent Box - 1 index /null ne { -% Calculate margin values if they have been set as a percentage - 2 copy - box-generic-calc-percentage-margins - -% Calculate width value if it had been set as a percentage - 3 copy - box-generic-calc-percentage-width - -% Calculate 'auto' values of width and margins - 2 copy - box-generic-calc-auto-width-margins - -% Add current box to the parent's line-box - dup 2 index - box-container-append-line - - 2 copy - box-generic-guess-corner - -% By default, child block box will fill all available parent width; -% note that actual width will be smaller because of non-zero padding, border and margins - 1 index /get-width call-method - 1 index put-full-width - } if - -% Reflow content - - 2 index 1 index box-container-reflow-content - - 1 index /null ne { -% Extend parent's height to fit current box - dup get-bottom-margin - 2 index box-generic-extend-height - -% Offset current x coordinate of parent box - dup get-right-margin - 2 index put-current-x - } if - - pop pop pop -} def - -/box-inline-block-setup-methods { - dup /Methods get - dup /reflow {box-inline-block-reflow} put - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.block.ps b/thirdparty/html2ps_pdf/postscript/box.block.ps deleted file mode 100644 index 9bfc0f15e..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.block.ps +++ /dev/null @@ -1,255 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.block.ps,v 1.1 2005/12/18 07:21:36 Konstantin Exp $ - -/box-block-create { - box-container-create - -% Setup method references - dup box-block-setup-methods - dup /box-block add-type -} def - -/box-block-reflow { % => Content Parent This - dup /position get-css-value - { - dup /static eq { pop 3 copy /reflow-static call-method exit } if - dup /relative eq { pop 3 copy /reflow-relative call-method exit } if - dup /absolute eq { pop dup 3 index context-add-absolute-positioned exit } if - dup /fixed eq { pop dup 3 index context-add-fixed-positioned exit } if - } loop - - pop pop pop % => -} def % => - -/box-block-reflow-absolute { % => Context This -% Calculate actual box position relative to the containing block - dup box-generic-get-containing-block - % => Context This CBlock - - dup containing-block-left % => Context This CBlock CBLeft - 2 index /left get-css-value add % => Context This CBlock Left - 2 index put-left % => COntext This CBlock - -% TODO: top percentage values - - dup containing-block-top - 2 index /top get-css-value - /value get sub % => Context This CBlock Top - 2 index get-extra-top sub % => Context This CBlock Top - 2 index put-top % => Context This CBlock - -% As sometimes left/right values may not be set, we need to use the "fit" width here -% if no width constraints been set, it will not be modified by the code below - - 2 index 2 index /get-max-width - call-method % => Context This CBlock MW - 2 index put-full-width % => Context This CBlock - -% Update the width, as it should be calculated based upon containing block width, not real parent - - dup containing-block-right - 1 index containing-block-left - sub % => Context This CBlock CBWidth - 2 index /get-width call-method % => Context This CBlock CBWidth W - 3 index get-width-constraint - wc-apply % => Context This CBlock W' - 2 index put-full-width % => Context This CBlock - -% And remove any width constraint after this, as they could refer to parent widths - wc-create-none % => Context This CBlock WCNone - 2 index put-width-constraint % => Context This CBlock - - 2 index 2 index - box-container-reflow-content % => Context This CBlock - - pop pop pop -} def - -/box-block-reflow-fixed { % => Context This - 0 1 index put-left - 0 1 index put-top - -% As sometimes left/right values may not be set, we need to use the "fit" width here -% if no width constraints been set, it will not be modified by the code below - - 1 index - 1 index /get-max-width - call-method - 1 index put-full-width % => Context This - - dup /get-width call-method - dup - 2 index get-width-constraint - wc-apply - 1 index put-full-width % => Context This - - wc-create-none 1 index - put-width-constraint % => Context This - - 2 copy - box-container-reflow-content - - pop pop -} def - -/box-block-reflow-relative { % => Context Parent This -% CSS 2.1: -% Once a box has been laid out according to the normal flow or floated, it may be shifted relative -% to this position. This is called relative positioning. Offsetting a box (B1) in this way has no -% effect on the box (B2) that follows: B2 is given a position as if B1 were not offset and B2 is -% not re-positioned after B1's offset is applied. This implies that relative positioning may cause boxes -% to overlap. However, if relative positioning causes an 'overflow:auto' box to have overflow, the UA must -% allow the user to access this content, which, through the creation of scrollbars, may affect layout. - - 3 copy - box-block-reflow-static - -% Note that percentage values are ignored for relative positioning - -% Check if top value is percentage - - dup /top get-css-value /percentage get { - 0 - } { - dup /top get-css-value /value get - } ifelse % => Context Parent This Top - neg - - 2 index /left get-css-value % => Context Parent This Top Left - 2 index /offset call-method % => Context Parent This - - pop pop pop -} def - -/box-block-reflow-static { % => Context Parent This - dup /float get-css-value - /none eq { - 3 copy /reflow-static-normal call-method - } { - 3 copy /reflow-static-float call-method - } ifelse - pop pop pop -} def - -/box-block-reflow-static-normal { % => Context Parent This - 1 index /null ne { -% By default, child block box will fill all available parent width; -% note that actual width will be smaller because of non-zero padding, border and margins - 1 index /get-width call-method - 1 index put-full-width - -% calculate margin values if thy have been set as a percentage - 1 index 1 index box-generic-calc-percentage-margins - -% calculate width value if it had been set as percentage - 2 index 2 index 2 index box-generic-calc-percentage-width - -% calculate 'auto' values of width and margins -% unline tables, DIV width is either constrained by some CSS rules or -% expanded to the parent width; thus, we can calculate 'auto' margin -% values immediately - 1 index 1 index box-generic-calc-auto-width-margins - - 3 copy box-generic-collapse-margin % => Context Parent This Y - -% At this moment we have top parent/child collapsed margin at the top of context object -% margin stack - -% Apply 'clear' property - - 3 index exch 2 index % => Context Parent This Context Y This - box-generic-apply-clear % => Context Parent This Y - -% Store calculated Y coordinate as current Y in the parent box - 2 index put-current-y % => Context Parent This - -% Terminate current parent line-box - 2 index - 2 index - box-container-close-line - -% And add current box to the parent's line-box (alone) - dup 2 index box-container-append-line - -% Note that top margin already used above during margin collapsing - 1 index get-current-y - 1 index get-border-top-width sub - 1 index get-padding-top sub % => Context Parent This Y - - 2 index get-left - 2 index get-extra-left add % => Context Parent This Y X - - 2 index box-generic-move-to % => Context Parent This - } if - -% Reflow contents - 2 index 1 index % => Context Parent This Context This - box-container-reflow-content % => Context Parent This - -% After reflow_content we should have the top stack value replaced by the value -% of last child bottom collapsed margin - - dup box-container-get-first /null ne { - 2 index context-get-collapsed-margin - } { - 0 - } ifelse - 1 index get-margin-bottom - max % => Context Parent This max(cm,bm) - - 3 index context-pop-collapsed-margin - 3 index context-pop-collapsed-margin - 3 index context-push-collapsed-margin - % => Context Parent This - - 1 index /null ne { -% Extend parent's height to fit current box - 1 index get-uid - 3 index context-container-uid eq { - dup get-bottom-margin - 2 index box-generic-extend-height - } { - dup get-bottom-border - 2 index box-generic-extend-height - } ifelse % => Context Parent This - - 2 index 2 index - box-container-close-line - -% Then shift current flow position to the current box margin edge - dup get-bottom-border - 3 index context-get-collapsed-margin sub - 2 index put-current-y - } if % => Context Parent This - - 3 copy - box-generic-check-page-break-after - - pop pop pop -} def - -/box-block-setup-methods { % => Box - dup get-box-dict /Methods get % => Box Methods - dup /reflow {box-block-reflow} put - dup /reflow-absolute {box-block-reflow-absolute} put - dup /reflow-relative {box-block-reflow-relative} put - dup /reflow-static {box-block-reflow-static} put - dup /reflow-static-normal {box-block-reflow-static-normal} put - pop pop -} def - -/box-block-show-fixed { % => Viewport Box - 1 index viewport-get-left - 1 index /left get-css-value add % => Viewport Box Left - - 2 index viewport-get-top - 2 index /top get-css-value - /value get sub % => Viewport Box Left Top - - exch - - 2 index box-generic-move-to % => Viewport Box - - 2 copy /show call-method - - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.break.ps b/thirdparty/html2ps_pdf/postscript/box.break.ps deleted file mode 100644 index f51351947..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.break.ps +++ /dev/null @@ -1,93 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.break.ps,v 1.1 2005/12/18 07:21:36 Konstantin Exp $ - -/box-br-create { - box-generic-create - dup box-br-setup-methods - dup /box-br add-type - - dup /display /block put-css-value -} def - -/box-br-get-max-width { % => Context This - pop pop 0 -} def - -/box-br-get-min-width { % => Context This - pop pop 0 -} def - -/box-br-reflow { % => Context Parent This - 1 index get-current-y % => Context Parent This PCY - -% CSS 'clear' property may be applied to BR tags! - - 3 index exch % => Context Pareht This Context PCY - 2 index box-generic-apply-clear % => Context Pareht This Y - -% Move current "box" to parent current coordinates. It is REQUIRED, -% as some other routines uses box coordinates. - - 2 index get-current-x - 2 index put-left % => Context Parent This Y - - 1 index put-top % => Context Parent This - -% If we have a sequence of BR tags (like

), we'll have an only one item in the parent's -% line box - whitespace; in this case we'll need to additionally offset current y coordinate by the font size - - 1 index get-line length 0 eq { % => Context Parent This - 2 index - 2 index - box-container-close-line % => Context Parent This - - 1 index get-current-y - 1 index /font-size get-css-value - sub - 1 index get-bottom - min - - 2 index put-current-y - } { - 1 index get-line length 1 gt - 2 index get-line 0 get - is-whitespace not or { % => Context Parent This - 2 index - 2 index box-container-close-line - } { - 1 index get-line length 0 gt { -% Restore height of whitespace (it had been reset in /flow-whitespace as a first whitespace in a line box) - 1 index get-line 0 get - /font-size get-css-value % => Context Parent This DH - 3 index - 3 index - box-container-close-line % => Context Parent This DH - 2 index get-current-y - exch sub % => Context Parent This CY' - 1 index get-bottom - min - 2 index put-current-y % => Context Pareht This - } if - } ifelse - } ifelse % => Context Parent This - -% We need to explicitly extend the parent's height, as we don't know if -% it have any children _after_ this BR box. - 1 index get-current-y - 2 index box-generic-extend-height - - pop pop pop - -} def - -/box-br-setup-methods { - dup /Methods get - dup /get-max-width {box-br-get-max-width} put - dup /get-min-width {box-br-get-min-width} put - dup /reflow {box-br-reflow} put - dup /show {box-br-show} put - pop pop -} def - -/box-br-show { % => Viewport Box - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.button.ps b/thirdparty/html2ps_pdf/postscript/box.button.ps deleted file mode 100644 index cbb8e4767..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.button.ps +++ /dev/null @@ -1,143 +0,0 @@ -/box-button-create { - box-inline-create % => Box - dup box-button-setup-methods - dup /box-button add-type -} def - -/box-button-get-max-width { % => Context Box - box-container-get-max-width -} def - -/box-button-get-min-width { % => Context Box - box-container-get-max-width -} def - -/box-button-line-break-allowed { % => Box - pop false -} def - -/box-button-reflow { -% Check if we need a line break here - - 3 copy /maybe-line-break call-method - pop - -% Append to parent line box - - dup 2 index box-container-append-line - -% Determine coordinates of upper-left corner - - 2 copy - box-generic-guess-corner % => Context Parent This - -% Determine the box width - - 2 index 1 index - /get-min-width call-method - 1 index put-full-width % => Context Parent This - - 2 index 1 index - box-container-reflow-content % => Context Parent This - -% center the button text vertically inside the button - - dup get-content 0 get % => Context Parent This Text - dup get-top - 1 index get-height 2 div sub % => Context Parent This Text TextMiddle - 2 index get-top - 3 index get-height 2 div sub % => Context Parent This Text TextMiddle ThisMiddle - sub - - neg 0 % => Context Parent This Text -Delta 0 - 2 index /offset call-method % => Context Parent This Text - pop % => Context Parent This - -% Now set the baseline of a button box to align it vertically when flowing isude the text line - - dup get-content 0 get - get-default-baseline - 1 index get-extra-top add - dup 2 index put-baseline - 1 index put-default-baseline - -% Offset parent curernt X coordinate - - 1 index get-current-x - 1 index get-full-width - add - 2 index put-current-x - -% Extend parent height - - dup get-bottom-margin - 1 index box-generic-extend-height - - pop pop pop -} def - -/box-button-reflow-obsolete { % => Context Parent This -% append to parent line box - - dup 2 index box-container-append-line - -% Determine coordinates of upper-left _margin_ corner - - 2 copy box-generic-guess-corner % => Context Parent This - -% Determine the box width - - 2 index 1 index - /get-min-width call-method - 1 index put-full-width % => Context Parent This - - 2 index 1 index - box-container-reflow-content % => Context Parent This - -% Offset content to align vertically in the button -% Make the text centered vertically - - dup get-content 0 get % => Context Parent This C0 - get-default-baseline 2 div % => - 1 index get-height 2 div add - - 1 index get-content 0 get - put-baseline - - 2 index context-pop-collapsed-margin - dup get-margin-bottom - 3 index context-push-collapsed-margin - % => Context Parent This - - dup get-content 0 get - get-baseline - 1 index get-extra-top add % => Context Parent This DB - 1 index put-default-baseline % => Context Parent This - -% offset parent current X coordinate - - dup get-full-width - 2 index get-current-x add - 2 index put-current-x - -% extends parents height - - dup get-bottom-margin - 2 index box-generic-extend-height - - pop pop pop -} def - -/box-button-setup-methods { - dup /Methods get - dup /get-max-width {box-button-get-max-width} put - dup /get-min-width {box-button-get-min-width} put - dup /line-break-allowed {box-button-line-break-allowed} put - dup /reflow {box-button-reflow} put - dup /show {box-button-show} put - pop pop -} def - -/box-button-show { % => Viewport This - box-container-show -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.checkbutton.ps b/thirdparty/html2ps_pdf/postscript/box.checkbutton.ps deleted file mode 100644 index 2992ea95d..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.checkbutton.ps +++ /dev/null @@ -1,117 +0,0 @@ -/checkbutton-size 15 px def - -/box-checkbutton-create { - box-generic-create - dup box-checkbutton-setup-methods - - dup /checked false put - checkbutton-size 1 index put-default-baseline - checkbutton-size 1 index put-height - checkbutton-size 1 index put-width - - dup /box-checkbutton add-type -} def - -/box-checkbutton-get-max-width { % => Context Box - dup get-full-width - exch pop - exch pop -} def - -/box-checkbutton-get-min-width { % => Context Box - dup get-full-width - exch pop - exch pop -} def - -/box-checkbutton-put-checked { % => Value Box - exch /checked exch put -} def - -/box-checkbutton-reflow { % => Context Parent Box -% Set default baseline - dup get-default-baseline - 1 index put-baseline - -% append to parent line box - dup 2 index box-container-append-line - -% Determine coordinates of upper-left _margin_ corner - 1 index 1 index box-generic-guess-corner - -% Offset parent current X coordinate - 1 index get-current-x - 1 index get-full-width - add - 2 index put-current-x - -% Extend parent height - dup get-bottom-margin - 2 index box-generic-extend-height - - pop pop pop -} def - -/box-checkbutton-setup-methods { - dup /Methods get - dup /get-max-width {box-checkbutton-get-max-width} put - dup /get-min-width {box-checkbutton-get-min-width} put - dup /reflow {box-checkbutton-reflow} put - dup /show {box-checkbutton-show} put - pop pop -} def - -/box-checkbutton-show { % => Viewport Box -% Get check center - dup get-left - 1 index get-right add - 2 div % => Viewport Box X - - 1 index get-top - 2 index get-bottom add - 2 div % => Viewport Box X Y - -% Calculate checkbox size - 2 index /get-width call-method - 3 div % => Viewport Box X Y Size - -% Draw checkbox - 0.25 setlinewidth - - 2 index 1 index sub - 2 index 2 index add moveto - - 2 index 1 index add - 2 index 2 index add lineto - - 2 index 1 index add - 2 index 2 index sub lineto - - 2 index 1 index sub - 2 index 2 index sub lineto - - closepath - stroke - -% Draw checkmark if needed - 3 index /checked get { - dup 2 div % => Viewport Box X Y Size CheckSize - - 3 index 1 index sub - 3 index 2 index add moveto - 3 index 1 index add - 3 index 2 index sub lineto - stroke - - 3 index 1 index add - 3 index 2 index add moveto - 3 index 1 index sub - 3 index 2 index sub lineto - stroke - - pop - } if % => Viewport Box X Y Size - - pop pop pop - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.container.ps b/thirdparty/html2ps_pdf/postscript/box.container.ps deleted file mode 100644 index 1ae955ec4..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.container.ps +++ /dev/null @@ -1,1023 +0,0 @@ -/add-child { - 1 index /add-child call-method -} def - -/box-container-add-child { % => Child This - dup 2 index put-parent % => Child This - - 1 index - 1 index get-content % => Child This Child Content - array-prepend % => Child This Content' - 1 index put-content - - pop pop -} def - -/box-container-add-deferred-float {% => Float This - dup /DeferredFloats get % => Float This DeferredFloats - 2 index exch array-prepend % => Float This Floats - 1 index exch - /DeferredFloats exch - put % => Float This - pop pop -} def - -/box-container-append-line { % => Child This - exch - 1 index get-line % => Parent Child PLine - array-prepend - exch put-line -} def - -/box-container-calculate-text-indent { - % => This - dup /text-indent get-css-value % => This TextIndent - - dup /Percentage get { - /Value get - 1 index /get-width call-method mul 100 div - } { - /Value get - } ifelse % => This Value - - exch pop -} def - -/box-container-clear-deferred-floats { - get-box-dict [] /DeferredFloats put -} def - -/box-container-clear-line { % => Box - [] exch put-line -} def - -/box-container-close-line { % => Context This - false 2 index 2 index - box-container-close-line-common % => Context This - pop pop -} def - -/box-container-close-last-line { % => Context This - true 2 index 2 index - box-container-close-line-common % => Context This - pop pop -} def - -/box-container-close-line-common { % => IsLastLine Context This -% Align line-box using 'text-align' property - -% Note that text-align should not be applied to the block boxes! -% As block boxes will be alone in the line-box, we can check -% if the very first box in the line is inline; if not - no justification should be made - dup get-line dup length 0 gt { % => IsLastLine Context This Line - 0 get is-inline { % => IsLastLine Context This - dup /text-align get-css-value - 3 index exch % => IsLastLine Context This IsLastLine AlignFun - 3 index exch % => IsLastLine Context This IsLastLine Context AlignFun - 3 index exch % => IsLastLine Context This IsLastLine Context This AlignFun - cvx exec % => IsLastLine Context This - } { % => IsLastLine Context This -% Nevertheless, CENTER tag and P/DIV with ALIGN attribute set should affect the -% position of non-inline children. - dup /pseudo-align get-css-value - 3 index exch % => IsLastLine Context This IsLastLine AlignFun - 3 index exch % => IsLastLine Context This IsLastLine Context AlignFun - 3 index exch % => IsLastLine Context This IsLastLine Context This AlignFun - cvx exec - } ifelse % => IsLastLine Context This - } { - pop - } ifelse % => IsLastLine Context This - -% Apply vertical align to all of the line content -% first, we need to aling all baseline-aligned boxes to determine the basic line-box height, top and bottom edges -% then, SUP and SUP positioned boxes (as they can extend the top and bottom edges, but not affected themselves) -% then, MIDDLE, BOTTOM and TOP positioned boxes in the given order - - 0 0 % => IsLastLine Context This 0(Baseline) 0(Height) - 2 index get-line { % => IsLastLine Context This 0(Baseline) 0(Height) Child - dup /vertical-align get-css-value - /baseline eq { % => IsLastLine Context This Baseline Height Child - dup get-default-baseline % => IsLastLine Context This Baseline Height Child DefaultDaseline - 4 3 roll % => IsLastLine Context This Height Child DefaultDaseline Baseline - max % => IsLastLine Context This Height Child Baseline' - 3 1 roll % => IsLastLine Context This Baseline' Height Child - } if - pop - } forall % => IsLastLine Context This Baseline' Height - - 2 index get-line { % => IsLastLine Context This Baseline' Height Child - dup /vertical-align get-css-value - /baseline eq { % => IsLastLine Context This Baseline Height Child - 2 index 1 index put-baseline % => IsLastLine Context This Baseline Height Child - - dup get-baseline-offset - 1 index get-full-height add % => IsLastLine Context This Baseline Height Child H+BO - 3 2 roll % => IsLastLine Context This Baseline Child Height H+BO - max % => IsLastLine Context This Baseline Child Height' - exch % => IsLastLine Context This Baseline Height' Child - } if - pop - } forall % => IsLastLine Context This Baseline Height - -% SUB vertical align - 2 index get-line { % => IsLastLine Context This Baseline' Height Child - dup /vertical-align get-css-value - /sub eq { % => IsLastLine Context This Baseline Height Child - 2 index - 1 index get-full-height - 2 div % => IsLastLine Context This Baseline Height Child - add - 1 index put-baseline - } if - pop - } forall % => IsLastLine Context This Baseline Height - -% SUPER vertical align - 2 index get-line { % => IsLastLine Context This Baseline' Height Child - dup /vertical-align get-css-value - /super eq { % => IsLastLine Context This Baseline Height Child - dup get-full-height 2 div % => IsLastLine Context This Baseline Height Child BL - 1 index put-baseline - } if - pop - } forall % => IsLastLine Context This Baseline Height - -% MIDDLE vertical align - 0 % => IsLastLine Context This Baseline Height 0 - 3 index get-line { % => IsLastLine Context This Baseline Height Middle Child - dup /vertical-align get-css-value - /middle eq { % => IsLastLine Context This Baseline Height Middle Child - dup get-full-height 2 div % => IsLastLine Context This Baseline Height Middle Child Middle - 3 2 roll % => IsLastLine Context This Baseline Height Child Middle Middle2 - max % => IsLastLine Context This Baseline Height Child Middle' - exch % => IsLastLine Context This Baseline Height Middle Child - } if - pop - } forall % => IsLastLine Context This Baseline Height Middle - - dup 2 mul 2 index gt { % => IsLastLine Context This Baseline Height Middle - dup 2 index 2 div sub % => IsLastLine Context This Baseline Height Middle Delta -% offset already aligned items - 4 index get-line { % => IsLastLine Context This Baseline Height Middle Delta Child - dup get-baseline - 2 index add - 1 index put-baseline - pop - } forall % => IsLastLine Context This Baseline Height Middle Delta - pop % => IsLastLine Context This Baseline Height Middle - 2 mul exch pop - } { - pop - } ifelse % => IsLastLine Context This Baseline Height - - 2 index get-line { % => IsLastLine Context This Baseline Height Child - dup /vertical-align get-css-value - /middle eq { % => IsLastLine Context This Baseline Height Child - dup get-default-baseline - 1 index get-full-height 2 div - sub - 2 index 2 div - add - 1 index put-baseline % => IsLastLine Context This Baseline Height Child - } if - pop - } forall - -% BOTTOM vertical align - 0 % => IsLastLine Context This Baseline Height 0 - 3 index get-line { % => IsLastLine Context This Baseline Height Bottom Child - dup /vertical-align get-css-value - /bottom eq { % => IsLastLine Context This Baseline Height Bottom Child - dup get-full-height % => IsLastLine Context This Baseline Height Bottom Child Bottom - 3 2 roll % => IsLastLine Context This Baseline Height Child Bottom Bottom2 - max % => IsLastLine Context This Baseline Height Child Bottom' - exch % => IsLastLine Context This Baseline Height Bottom Child - } if - pop - } forall % => IsLastLine Context This Baseline Height Bottom - - dup 2 index gt { % => IsLastLine Context This Baseline Height Bottom - dup 2 index sub % => IsLastLine Context This Baseline Height Bottom Delta -% offset already aligned items - 4 index get-line { % => IsLastLine Context This Baseline Height Bottom Delta Child - dup get-baseline - 2 index add - 1 index put-baseline - pop - } forall % => IsLastLine Context This Baseline Height Bottom Delta - pop % => IsLastLine Context This Baseline Height Bottom - exch pop - } { - pop - } ifelse % => IsLastLine Context This Baseline Height - - 2 index get-line { % => IsLastLine Context This Baseline Height Child - dup /vertical-align get-css-value - /bottom eq { % => IsLastLine Context This Baseline Height Child - dup get-default-baseline - 1 index get-full-height - sub - 2 index - add - 1 index put-baseline % => IsLastLine Context This Baseline Height Child - } if - pop - } forall - -% TOP vertical align - 0 % => IsLastLine Context This Baseline Height 0 - 3 index get-line { % => IsLastLine Context This Baseline Height Bottom Child - dup /vertical-align get-css-value - /top eq { % => IsLastLine Context This Baseline Height Bottom Child - dup get-full-height % => IsLastLine Context This Baseline Height Bottom Child Bottom - 3 2 roll % => IsLastLine Context This Baseline Height Child Bottom Bottom2 - max % => IsLastLine Context This Baseline Height Child Bottom' - exch % => IsLastLine Context This Baseline Height Bottom Child - } if - pop - } forall % => IsLastLine Context This Baseline Height Bottom - - dup 2 index gt { % => IsLastLine Context This Baseline Height Bottom - dup 2 index sub % => IsLastLine Context This Baseline Height Bottom Delta -% offset already aligned items - 4 index get-line { % => IsLastLine Context This Baseline Height Bottom Delta Child - dup get-baseline - 2 index add - 1 index put-baseline - pop - } forall % => IsLastLine Context This Baseline Height Bottom Delta - pop % => IsLastLine Context This Baseline Height Bottom - exch pop - } { - pop - } ifelse % => IsLastLine Context This Baseline Height - - 2 index get-line { % => IsLastLine Context This Baseline Height Child - dup /vertical-align get-css-value - /top eq { % => IsLastLine Context This Baseline Height Child - dup get-default-baseline - 1 index put-baseline % => IsLastLine Context This Baseline Height Child - } if - pop - } forall % => IsLastLine Context This Baseline Height - - pop pop % => IsLastLine Context This - -% Calculate the bottom Y coordinate of last line box - - dup get-current-y % => IsLastLine Context This BY - 1 index get-line { % => IsLastLine Context This BY Child -% This line is required; say, we have sequence of text and image inside the container, -% AND image have greater baseline than text; in out case, text will be offset to the bottom -% of the page and we lose the gap between text and container bottom edge, unless we'll re-extend -% containier height - -% Note that we're using the colapsed margin value to get the Y coordinate to extend height to, -% as bottom margin may be collapsed with parent - - dup get-bottom-margin - 4 index context-get-collapsed-margin add - 3 index box-generic-extend-height - - get-bottom-margin % => IsLastLine Context This BY BM - min % => IsLastLine Context This BY' - } forall - -% Clear the line box - 1 index box-container-clear-line - -% Reset current X coordinate to the far left - 1 index get-left - 2 index put-current-x - -% Extend Y coordinate - 1 index put-current-y % => IsLastLine Context This - -% Render the deferred floats - dup box-container-get-deferred-floats { - % => IsLastLine Context This Float - 3 copy % => IsLastLine Context This Float Context This Float - box-container-reflow-static-float - pop - } forall % => IsLastLine Context This - dup box-container-clear-deferred-floats - -% modify the current-x value, so that next inline box will not intersect any floating boxes - dup get-current-y - 1 index get-current-x % => IsLastLine Context This Y X - 3 index context-float-left-x % => IsLastLine Context This X - - 1 index put-current-x % => IsLastLine Context This - -% clear the stack - pop pop pop -} def - -/box-container-create { % => - box-generic-create - - dup /Content [] put - dup /Line [] put - - dup box-container-setup-methods - dup /box-container add-type -} def - -% Calculate the available widths - e.g. content width minus space occupied by floats; -% as floats may not fill the whole height of this box, this value depends on Y-coordinate. -% We use current_Y in calculations -% -/box-container-get-available-width { % => Context Box - dup get-current-y - 1 index get-left - 3 index context-float-left-x % => Context Box FL - 1 index get-left sub % => Context Box FloatLeftWidth - - 1 index get-right - 2 index get-current-y - 3 index get-right - 5 index context-float-right-x - sub % => Context Box FloatLeftWidth FloatRightWidth - - 2 index /get-width call-method - exch sub - exch sub - - exch pop - exch pop -} def - -% Get a list of floating boxes which shold be rendered -% at the end of current line box -% -/box-container-get-deferred-floats { - get-box-dict /DeferredFloats get -} def - -% Get first child of current box which actually will be drawn -% on the page. So, whitespace and null boxes will be ignored -% -% See description of is_null for null box definition. -% (not only NullBoxPDF is treated as null box) -% -% @return reference to the first visible child of current box -/box-container-get-first { % => This - /null - 1 index get-content { % => This /null Child - dup /is-whitespace call-method not - 1 index /is-null call-method not - and { % => This FC Child - exch pop % => This Child - exit - } if % => This FC Child - pop - } forall % => This FC - - exch pop % => FC -} def - -% Get first text or image child of current box which actually will be drawn -% on the page. So, whitespace and null boxes will be ignored -% -% See description of is_null for null box definition. -% (not only NullBoxPDF is treated as null box) -% -% @return reference to the first visible child of current box -/box-container-get-first-data { % => This - /null - 1 index get-content { % => This /null Child - dup /is-whitespace call-method not - 1 index /is-null call-method not - and { % => This FC Child - dup is-container { - box-container-get-first-data - dup /null ne { - exch pop exit - } if - } { - exch pop exit - } ifelse % => This FC Child - } if % => This FC Child - pop - } forall % => This FC - - exch pop % => FC -} def - -% Get last child of current box which actually will be drawn -% on the page. So, whitespace and null boxes will be ignored -% -% See description of is_null for null box definition. -% (not only NullBoxPDF is treated as null box) -% -% @return reference to the first visible child of current box -/box-container-get-last { % => This - /null - 1 index get-content % => This /null Content - dup length 1 sub -1 0 { % => This /null Content I - 2 copy get % => This /null Context I Element - - dup /is-whitespace call-method not - 1 index /is-null call-method not - and - { - 4 3 roll pop 3 1 roll % => This /null Context I - pop - exit - } { - pop - } ifelse % => This /null Context I - pop - } for % => This Last Content - pop exch pop -} def - - -/box-container-get-max-width { % => Context This - 0 % => Context This MaxW - -% We need to add text indent to the max width - 1 index - box-generic-calc-text-indent % => Context This MaxW CMaxW - - 2 index get-content { % => Context This MaxW CMaxW Item - dup is-inline - 1 index /float get-css-value - /none ne or { % => Context This MaxW CMaxW Item - 4 index - 1 index - /get-max-width call-method % => Context This MaxW CMaxW Item W - 3 2 roll add exch % => Context This MaxW CMaxW' Item - } { % => Context This MaxW CMaxW Item - 2 index 2 index max % => Context This MaxW CMaxW Item MaxW' - 4 3 roll pop % => Context This CMaxW Item MaxW' - 3 1 roll % => Context This MaxW CMaxW Item - - 4 index - 1 index /get-max-width - call-method % => Context This MaxW CMaxW Item CMaxW' - 3 2 roll pop exch % => Context This MaxW CMaxW' Item - -% Process special case with percentage constrained table - - dup get-width-constraint % => Context This MaxW CMaxW Item WC - - 1 index /box-table is-a - 1 index /type get - /fraction eq and { % => Context This MaxW CMaxW Item WC - 4 index - box-generic-get-expandable-width % => Context This MaxW CMaxW Item WC ExpandableWidth - - 5 index - /get-width call-method % => Context This MaxW CMaxW Item WC ExpandableWidth Width - - 2 index - dup /apply get exec % => Context This MaxW CMaxW Item WC CWidth - - 3 index max % => Context This MaxW CMaxW Item WC CMaxW' - - 4 3 roll pop 3 1 roll % => Context This MaxW CMaxW' Item WC - } if % => Context This MaxW CMaxW Item WC - pop % => Context This MaxW CMaxW Item - } ifelse % => Context This MaxW CMaxW Item - - pop - } forall % => Context This MaxW CMaxW - -% Check if last line have maximal width - - max % => Context This MaxW - -% Note that max width cannot differ drom constrained width, -% if any width constraints apply - - 1 index get-width-constraint % => Context This MaxW WC - dup /type get /none ne { - 2 index get-parent - /get-width call-method % => Context This MaxW WC PWidth - 2 index % => Context This MaxW WC PWidth MaxW - 2 index dup /apply get exec % => Context This MaxW WC MaxW' - exch pop % => Context This MaxW MaxW' - exch pop - } { - pop - } ifelse % => Context This MaxW - - 1 index get-hor-extra - add - - exch pop - exch pop -} def - -/box-container-get-min-nowrap-width { % => Context This - 0 % => Context This MaxW - -% We need to add text indent to the width - - 1 index - box-generic-calc-text-indent % => Context This MaxW CMaxW - - 2 index get-content { % => Context This MaxW CMaxW Child - dup is-inline { -% Inline boxes content will not be wrapped, so we may calculate its max width - 4 index exch - /get-max-width call-method % => Context This MaxW CMaxW CMW - add % => Context This MaxW CMaxW - } { % => Context This MaxW CMaxW Child - 3 1 roll % => Context This Child MaxW CMaxW - max % => Context This Child MaxW' - exch % => Context This MaxW' Child - 3 index exch % => Context This MaxW' Context Child - /get-min-width call-method % => Context This MaxW' CMaxW' - } ifelse % => Context This MaxW CMaxW - } forall % => Context This MaxW CMaxW - -% Check if last line have maximal width - max % => Context This MaxW - -% Apply width constraint to min width. Return maximal value - 1 index get-parent - /get-width call-method % => Context This MaxW ParentW - 1 index % => Context This MaxW ParentW W - 3 index get-width-constraint % => Context This MaxW ParentW W WC - dup /apply get exec % => Context This MaxW MaxW' - max % => Context This MaxW - - 1 index get-hor-extra add % => Context This MaxW - exch pop - exch pop -} def - -/box-container-get-min-width { % => Context This -% If box does not have any context, its minimal width is determined by extra horizontal space - dup get-content length 0 eq { % => Context This - dup get-hor-extra - } { % => Context This -% If we're in 'nowrap' mode, minimal and maximal width will be equal - dup /white-space get-css-value /nowrap eq - 1 index - /pseudo-nowrap get-css-value - /nowrap eq or { % => Context This - 2 copy box-container-get-min-nowrap-width - } { % => Context This -% We need to add text indent size to the with of the first item - dup - box-generic-calc-text-indent % => Context This TI - 2 index - 2 index % => Context This TI Context This - get-content 0 get -% box-container-get-first-data % => Context This TI Context First - /get-min-width call-method % => Context This TI WFirst - add % => Context This MinW - - 1 index get-content { % => Context This MinW Child - 3 index exch - /get-min-width call-method % => Context This MinW CMinW - max % => Context This MinW - } forall % => Context This MinW - - 1 index get-parent - /get-width call-method % => Context This MinW ParentW - 1 index % => Context This MinW ParentW MinW - 3 index get-width-constraint % => Context This MinW ParentW MinW WC - dup /apply get exec % => Context This MinW MinW' - max - - 1 index get-hor-extra add % => Context This MinW' - } ifelse % => Context This Width - } ifelse % => Context This Width - - exch pop - exch pop -} def - -% Get total height of this box content (including floats, if any) -% Note that floats can be contained inside children, so we'll need to use -% this function recusively -/box-container-get-real-full-height { % => This -% Treat items with overflow: hidden specifically, -% as floats flown out of this boxes will not be visible - dup /overflow get-css-value - /hidden eq { % => This - dup get-full-height % => This Height - } { % => This -% Check if this cell is totally empty - dup get-content length 0 eq { - 0 % => This Height - } { % => This -% Initialize the vertical extent taken by content using the -% very first child - dup get-content 0 get - dup get-top-margin % => This C0 Top - 1 index get-bottom-margin % => This C0 Top Bottom - 3 2 roll pop % => This Top Bottom - - 2 index get-content { % => This Top Bottom Child -% Check if top margin of current child is to the up -% of vertical extent top margin - dup get-top-margin % => This Top Bottom Child ChildTop - 4 3 roll max 3 1 roll % => This Top' Bottom Child - -% Check if current child bottom margin will extend -% the vertical space OR if it contains floats extending -% this, unless this child have overflow: hidden, because this -% will prevent additional content to be visible - dup /overflow get-css-value - /hidden eq { - dup get-bottom-margin - 3 2 roll min - exch % => This Top Bottom Child - } { - dup get-bottom-margin - 1 index get-top-margin - 2 index /get-real-full-height call-method - sub - min % => This Top Bottom Child ChildBM - 3 2 roll min exch % => This Top Bottom' Child - } ifelse % => This Top Bottom Child - pop - } forall % => This Top Bottom - sub 0 max % => This RH - 1 index get-vert-extra add % => This Height - } ifelse - } ifelse % => This Height - exch pop -} def - -/box-container-is-first { % => Box This - dup box-container-get-first % => Box This First - dup /null eq { - pop false - } { - get-uid - 2 index get-uid - eq - } ifelse - - exch pop - exch pop -} def - -% Line box should be treated as empty in following cases: -% 1. It is really empty (so, it contains 0 boxes) -% 2. It contains only whitespace boxes -% -/box-container-line-box-empty { % => This - dup get-line length 0 eq { - pop true % => true - } { - true 1 index get-line % => This true Line - { % => This Flag Child - /is-whitespace call-method - and - } forall - - exch pop - } ifelse -} def - -/box-container-offset { % => DY DX This - 3 copy box-generic-offset - - dup get-current-x - 2 index add - 1 index put-current-x - - dup get-current-y - 3 index add - 1 index put-current-y - - dup get-content { - 3 index exch - 3 index exch - /offset call-method - } forall - - pop pop pop -} def - -/box-container-offset-if-first { % => DY DX Box This - 2 copy box-container-is-first { - dup get-parent /null ne { - 3 index - 3 index - 3 index - 3 index get-parent % => DY DX Box This DY DX Box Parent - - box-container-offset-if-first - % => DY DX Box This ParentResult - - not { - 3 index - 3 index - 2 index /offset call-method % => DY DX Box This - true - } { false } ifelse - } { false } ifelse - } { false }ifelse - - exch pop - exch pop - exch pop - exch pop -} def - -/box-container-pre-reflow-images { % => This - dup get-content { - /pre-reflow-images call-method - } forall - pop -} def - -/box-container-setup-methods { % => Box - dup get-box-dict /Methods get % => Box Methods - dup /add-child { box-container-add-child } put - dup /get-max-width { box-container-get-max-width } put - dup /get-min-width { box-container-get-min-width } put - dup /get-real-full-height { box-container-get-real-full-height } put - dup /offset { box-container-offset } put - dup /pre-reflow-images { box-container-pre-reflow-images } put - dup /reflow-anchors { box-container-reflow-anchors } put - dup /reflow-content { box-container-reflow-content } put - dup /reflow-inline { box-container-reflow-inline } put - dup /reflow-static-float { box-container-reflow-static-float } put - dup /show { box-container-show } put - pop pop -} def - -/box-container-show { % => Viewport Box - 2 copy box-generic-show % => Viewport Box - -% Setup clipping path for non 'overflow: visible' boxes - dup /overflow get-css-value - /visible ne { -% Save clipping area state (of course, BEFORE the clipping area will be set) - gsave - - newpath - dup get-left-border - 1 index get-bottom-border % => Viewport Box X Y - 2 index get-right-border - 3 index get-left-border sub % => Viewport Box X Y W - 3 index get-top-border - 4 index get-bottom-border sub % => Viewport Box X Y W H - rectclip - - } if - -% draw content - dup get-content { % => Viewport Box ContentElement -% We'll check the visibility property here -% Reason: all boxes (except the top-level one) are contained in some other box, -% so every box will pass this check. The alternative is to add this check into every -% box class show member. - -% The only exception of absolute positioned block boxes which are drawn separately; -% their show method is called explicitly; the similar check should be performed there - - dup /visibility get-css-value /visible eq { - 2 index - 1 index - /show call-method - } if % => Viewport Box ContentElement - pop - } forall % => Viewport Box - - dup /overflow get-css-value /visible ne { -% restore previous clipping path - grestore - } if - - pop pop -} def % => - -/box-container-reflow-anchors { % => List Viewport Box - 3 copy box-generic-reflow-anchors - - dup get-content { % => List Viewport Box Child - 3 index exch - 3 index exch % => List Viewport Box List Viewport Child - /reflow-anchors call-method % => List' Viewport Box - } forall - - pop pop pop -} def - -/box-container-reflow-content { % => Context This - 2 copy box-container-close-line % => Context This - -% If first child is inline - apply text-indent - dup box-container-get-first - dup /null ne { - dup is-inline { % => Context This First - pop - dup box-container-calculate-text-indent - 1 index get-additional-text-indent - add - 1 index get-current-x - add - 1 index put-current-x % => Context This - } { - pop - } ifelse - } { - pop - } ifelse - - 0 1 index put-height - -% reset current Y value - dup get-top - 1 index put-current-y - - dup get-content { % => Context This Child - 2 index exch % => Context This Context Child - 2 index exch % => Context This Context This Child - /reflow call-method % => Context This - } forall % => Context This - - 1 index 1 index - box-container-close-last-line % => Context This - - pop pop % => -} def - -/box-container-reflow-inline { % => This - dup get-content { % => This Child - /reflow-inline call-method % => This - } forall - pop -} def - -/box-container-reflow-static-float { % => Context Parent Box -% Defer the float rendering till the next line box - 1 index get-line length 0 gt { - dup 2 index box-container-add-deferred-float - } { - -% Calculate margin values if they have been set as a percentage - - 2 copy - box-generic-calc-percentage-margins - -% Calculate width value if it have been set as a percentage - - 3 copy - box-generic-calc-percentage-width - -% Calculate margins and/or width is 'auto' values have been specified - - 2 copy - box-generic-calc-auto-width-margins - -% Determine the actual width of the floating box -% Note that get_max_width returns both content and extra width - - 2 index 1 index /get-max-width call-method - 1 index put-full-width - -% We need to call this function before determining the horizontal coordinate -% as after vertical offset the additional space to the left may apperar - % => Context Parent Box - 2 index - 2 index get-current-y - 2 index - box-generic-apply-clear % => Context Parent Box Y - -% determine the position of top-left floating box corner - 1 index /float get-css-value - /right eq { - 2 index - 2 index get-full-width - 2 index % => Context Parent Box Y Parent Width Y - 6 index - context-float-right-xy % => Context Parent Box Y X' Y' - - exch - 3 index get-full-width sub - exch - } { - 2 index - 2 index get-full-width - 2 index % => Context Parent Box Y Parent Width Y - 6 index - context-float-left-xy % => Context Parent Box Y X' Y' - } ifelse % => Context Parent Box Y X' Y' - - 3 index get-extra-top sub - exch - 3 index get-extra-left add - 3 index box-generic-move-to % => Context Parent Box Y - pop % => Context Parent Box - -% Reflow contents. -% Note that floating box creates a new float flow context for it children. - - 2 index context-push-floats - -% Floating box create a separate margin collapsing context - - 0 3 index context-push-collapsed-margin - - 2 index 1 index /reflow-content call-method - - 2 index context-pop-collapsed-margin - -% Float should completely enclose its child floats - - 2 index context-float-bottom % => Context Parent Box FB - dup /null ne { - 1 index box-generic-extend-height - } { - pop - } ifelse - - 2 index context-float-right % => Context Parent Box FR - dup /null ne { - 1 index box-generic-extend-width - } { - pop - } ifelse - -% restore old float flow context - - 2 index context-pop-floats - -% Add this box to the list of floats in current context - - dup 3 index context-add-float % => Context Parent Box - -% Now fix the value of _current_x for the parent box; it is required -% in the following case: -% some text -% in such situation floating image is flown immediately, but it the close_line call have been made before, -% so _current_x value of container box will be still equal to ots left content edge; by calling float_left_x again, -% we'll force "some text" to be offset to the right - - 1 index get-current-y - 2 index get-current-x - 4 index - context-float-left-x - 2 index put-current-x - - } ifelse % => Context Parent Box - pop pop pop -} def - -/get-content { - /Content get -} def - -/get-line { - /Line get -} def - -/line-length { % => Box - dup get-line 0 exch % => Box 0(CurrentLength) Line - { % => Box CurrentLength LineElement -% Note that the line length should include the inline boxes margin/padding -% as inline boxes are not directly included to the parent line box, -% we'll need to check the parent of current line box element, -% and, if it is an inline box, AND this element is last or first contained element -% add correcponsing padding value - dup get-full-width % => Box CurrentLength LineElement EWidth - 3 2 roll add exch % => Box CurrentLength LineElement - - dup get-parent % => Box CurrentLength LineElement EParent - dup /null ne { - dup box-container-get-first % => Box CurrentLength LineElement EParent First - 1 index - box-container-get-last % => Box CurrentLength LineElement EParent First Last - - 1 index /null ne { - 1 index get-uid - 4 index get-uid eq { - 2 index - /get-extra-line-left - call-method % => Box CurrentLength LineElement EParent First Last ELeft - 6 5 roll add 5 1 roll % => Box CurrentLength' LineElement EParent First Last - } if - } if - - dup /null ne { - dup get-uid - 4 index get-uid eq { - 2 index - /get-extra-line-right - call-method % => Box CurrentLength LineElement EParent First Last ELeft - 6 5 roll add 5 1 roll % => Box CurrentLength' LineElement EParent First Last - } if - } if - - pop pop % => Box CurrentLength LineELement EParent - } if % => Box CurrentLength LineElement EParent - pop pop - } forall % => Box CurrentLength - exch pop % => Length -} def - -/put-line { - exch /Line exch put -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.frame.ps b/thirdparty/html2ps_pdf/postscript/box.frame.ps deleted file mode 100644 index 3a6d6ee07..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.frame.ps +++ /dev/null @@ -1,236 +0,0 @@ -/box-frame-create { % => - box-container-create - dup box-frame-setup-methods - dup /box-frame add-type -} def - -/box-frame-reflow { % => Context Parent This -% If frame contains no boxes (for example, the src link is broken) -% we just return - no further processing will be done - dup get-content length 0 gt { - -% First box contained in a frame should always fill all its height - dup get-height - 1 index get-content 0 get put-full-height - - 0 3 index context-push-collapsed-margin - dup get-uid 3 index context-push-container-uid - - 2 index 1 index - box-container-reflow-content - - 2 index context-pop-collapsed-margin - 2 index context-pop-container-uid - } if - - pop pop pop -} def - -/box-frame-setup-methods { % => Box - dup /Methods get - dup /reflow {box-frame-reflow} put - pop pop -} def - -/box-frameset-create { - box-container-create - dup box-frameset-setup-methods - dup /rows 1 put - dup /cols 1 put - dup /box-frameset add-type -} def - -/box-frameset-guess-lengths { % => Height Lengths Frameset -% Initialization - [] % => Height Lengths Frameset Values - 2 index { % => Height Lengths Frameset Values Length - pop 0 exch array-append % => Height Lengths Frameset Values' - } forall - -% First pass: fixed-width columns - 0 1 2 index length 1 sub { % => Height Lengths Frameset Values I - 3 index 1 index get - dup /type get % => Height Lengths Frameset Values I Length Type - { - dup /percentage eq { - pop - /value get % => Height Lengths Frameset Values I Value - 5 index mul - 100 div % => Height Lengths Frameset Values I Value - - 2 index 2 index 2 index put - pop - - exit - } if - - dup /constant eq { - pop - - /value get px % => Height Lengths Frameset Values I Value - 2 index 2 index 2 index put - - pop - exit - } if - - pop pop exit - } loop % => Height Lengths Frameset Values I - pop % => Height Lengths Frameset Values - } for % => Height Lengths Frameset Values - -% Second pass: relative-width columns - - 3 index 1 index sum sub % => Height Lengths Frameset Values Rest - - 0 % => Height Lengths Frameset Values Rest Parts - 4 index - { % => Height Lengths Frameset Values Rest Parts Value - dup /type get /fraction eq { % => Height Lengths Frameset Values Rest Parts Value - /value get add % => Height Lengths Frameset Values Rest Parts - } { % => Height Lengths Frameset Values Rest Parts Value - pop - } ifelse % => Height Lengths Frameset Values Rest Parts - } forall - - dup 0 gt { - div % => Height Lengths Frameset Values PartSize - 0 1 5 index length 1 sub { % => Height Lengths Frameset Values PartSize I - 4 index 1 index get - dup /type get /fraction eq { % => Height Lengths Frameset Values PartSize I Length - /value get % => Height Lengths Frameset Values PartSize I Parts - 2 index mul % => Height Lengths Frameset Values PartSize I Len - 3 index exch - 2 index exch put % => Height Lengths Frameset Values PartSize I - } { - pop - } ifelse % => Height Lengths Frameset Values PartSize I - pop - } for % => Height Lengths Frameset Values PartSize - pop - } { pop pop } ifelse % => Height Lengths Frameset Values - -% Fix over/underconstrained framesets - dup sum % => Height Lengths Frameset Values Width - dup 0 gt { - 4 index exch div % => Height Lengths Frameset Values Koeff - 0 1 3 index length 1 sub { % => Height Lengths Frameset Values Koeff I - 2 index 1 index get - 2 index mul % => Height Lengths Frameset Values Koeff I Value' - 3 index exch - 2 index exch put % => Height Lengths Frameset Values Koeff I - pop - } for % => Height Lengths Frameset Values Koeff - pop - } { - pop - } ifelse - - exch pop - exch pop - exch pop -} def - -/box-frameset-put-cols { % => Value Box - exch /cols exch put -} def - -/box-frameset-put-rows { - exch /rows exch put -} def - -/box-frameset-reflow { % => Context Parent Box - 2 index context-get-viewport % => Context Parent Box Viewport - -% Frameset always fill all available space in viewport - - dup flow-viewport-get-left - 2 index get-extra-left add - 2 index put-left - - dup flow-viewport-get-top - 2 index get-extra-top sub - 2 index put-top - - dup flow-viewport-get-width - 2 index put-full-width - - dup flow-viewport-get-height - 2 index put-full-height - - pop % => Context Parent Box - -% Parse layout-colntrol values - dup get-height - 1 index /rows get - 2 index - box-frameset-guess-lengths % => Context Parent Box RowSizes - - 1 index /get-width call-method - 2 index /cols get - 3 index - box-frameset-guess-lengths % => Context Parent Box RowSizes ColSizes - -% Now reflow all frames in frameset - 0 0 % => Context Parent Box RowSizes ColSizes CurCol CurRow - 4 index get-content { % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame -% Had we run out of cols/rows ? - 1 index 5 index length ge { - pop - exit - } if % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - -% Guess frame size and position - 5 index get-left % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Left - 4 index 0 % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Left ColsSizes 0 - 5 index getinterval sum % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Left ColOfs - add - 1 index get-extra-left add % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Left - 1 index put-left % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - - 5 index get-top % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Top - 5 index 0 - 4 index getinterval sum % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Top RowOfs - sub - 1 index get-extra-top sub - 1 index put-top % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - - 3 index 3 index get - 1 index put-full-width % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - - dup /get-width call-method wc-create-constant - 1 index put-width-constraint - - 4 index 2 index get - 1 index put-full-height % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - -% Reflow frame contents - dup flow-viewport-create % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame Viewport' - 8 index context-push-viewport % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - - 7 index - 6 index - 2 index /reflow call-method % => Context Parent Box RowSizes ColSizes CurCol CurRow Frame - - 7 index context-pop-viewport - -% Move to the nex frame position - 3 2 roll 1 add 3 1 roll % => Context Parent Box RowSizes ColSizes CurCol' CurRow Frame - 2 index 4 index length ge { - 3 2 roll pop 0 3 1 roll - exch 1 add exch - } if - - pop - } forall % => Context Parent Box RowSizes ColSizes CurCol CurRow - - pop pop pop pop - pop pop pop -} def - -/box-frameset-setup-methods { - dup /Methods get - dup /reflow {box-frameset-reflow} put - pop pop -} def - diff --git a/thirdparty/html2ps_pdf/postscript/box.generic.inline.ps b/thirdparty/html2ps_pdf/postscript/box.generic.inline.ps deleted file mode 100644 index b6ed3c1d7..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.generic.inline.ps +++ /dev/null @@ -1,86 +0,0 @@ -/box-generic-inline-create { % => - box-container-create % => Box - dup box-generic-inline-setup-methods - dup /box-generic-inline add-type -} def % => Box - -/box-generic-inline-setup-methods {% => Box - dup box-container-setup-methods - - dup get-box-dict /Methods get % => Box Methods - dup /maybe-line-break {box-generic-inline-maybe-line-break} put - pop pop -} def - -% Checks if current inline box should cause a line break inside the parent box -% -% @param $parent reference to a parent box -% @param $content flow context -% @return true if line break occurred; false otherwise -% -/box-generic-inline-maybe-line-break { - % => Context Parent This - 1 index /line-break-allowed call-method { -% Calculate the x-coordinate of this box right edge - 1 index get-current-x - 1 index get-full-width - add % => Context Parent This RightX - - false % => Context Parent This RightX NeedBreak - -% Check for right-floating boxes -% If upper-right corner of this inline box is inside of some float, wrap the line - 3 index get-current-y - 2 index % => Context Parent This RightX NeedBreak CY X - 6 index - context-point-in-floats - /null ne % => Context Parent This RightX NeedBreak NeedBreak' - or % => Context Parent This RightX NeedBreak - -% No floats; check if we had run out the right edge of container - 3 index get-right - rounding-epsilon add % => Context Parent This RightX NeedBreak $parent->get_right()+EPSILON - 2 index le { % => Context Parent This RightX NeedBreak - -% Now check if parent line box contains any other boxes; -% if not, we should draw this box unless we have a floating box to the left - - 3 index - box-container-get-first % => Context Parent This RightX NeedBreak First - - 4 index - box-generic-calc-text-indent % => Context Parent This RightX NeedBreak First IndentOffset - - 5 index get-current-x % => Context Parent This RightX NeedBreak First IndentOffset CX - 6 index get-left % => Context Parent This RightX NeedBreak First IndentOffset CX L - 2 index add - rounding-epsilon add % => Context Parent This RightX NeedBreak First IndentOffset CX X - gt % => Context Parent This RightX NeedBreak First IndentOffset CX>X - exch pop - exch pop % => Context Parent This RightX NeedBreak CX>X - or % => Context Parent This RightX NeedBreak' - } if % => Context Parent This RightX NeedBreak - -% As close-line will not change the current-Y parent coordinate if no -% items were in the line box, we need to offset this explicitly in this case - - 3 index get-line length 0 eq - 1 index and { % => Context Parent This RightX NeedBreak - 3 index get-current-y - 3 index get-height sub - 5 index put-current-y - } if - - dup { - 4 index - 4 index box-container-close-line - } if % => Context Pareht This RightX NeedBreak - - exch pop - exch pop - exch pop - exch pop - } { - pop pop pop false - } ifelse -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.generic.ps b/thirdparty/html2ps_pdf/postscript/box.generic.ps deleted file mode 100644 index bd16c129c..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.generic.ps +++ /dev/null @@ -1,1273 +0,0 @@ -% Calculate the vertical offset of current box due the 'clear' CSS property -% -% @param $y initial Y coordinate to begin offset from -% @param $context flow context containing the list of floats to interact with -% @return updated value of Y coordinate -% -/box-generic-apply-clear { % => Context Y This -% Check if we need to offset box vertically due the 'clear' property - dup /clear get-css-value % => Context Y This Clear - - dup /both eq - 1 index /left eq or { % => Context Y This Clear - 3 index context-floats { % => Context Y This Clear FloatBox - dup /float get-css-value % => Context Y This Clear FloatBox FloatValue - /left eq { % => Context Y This Clear FloatBox -% Float vertical margins are never collapsed - get-bottom-margin % => Context Y This Clear FloatBottomMargin - 2 index get-margin-top % => Context Y This Clear FloatBottomMargin MarginTop - sub % => Context Y This Clear Y' - 3 index min % => Context Y This Clear Y - 4 3 roll % => Context This Clear Y' Y - pop % => Context This Clear Y - 3 1 roll % => Context Y This Clear - } { % => Context Y This Clear FloatBox - pop - } ifelse - } forall - } if % => Context Y This Clear - - dup /both eq - 1 index /right eq or { % => Context Y This Clear - 3 index context-floats { % => Context Y This Clear FloatBox - dup /float get-css-value % => Context Y This Clear FloatBox FloatValue - /right eq { % => Context Y This Clear FloatBox -% Float vertical margins are never collapsed - get-bottom-margin % => Context Y This Clear FloatBottomMargin - 2 index get-margin-top % => Context Y This Clear FloatBottomMargin MarginTop - sub % => Context Y This Clear Y' - 3 index min % => Context Y This Clear Y - 4 3 roll % => Context This Clear Y' Y - pop % => Context This Clear Y - 3 1 roll % => Context Y This Clear - } { % => Context Y This Clear FloatBox - pop - } ifelse - } forall - } if % => Context Y This Clear - - pop pop - exch pop % => Y -} def - -% Apply 'line-height' CSS property; modifies the default_baseline value -% (NOT baseline, as it is calculated - and is overwritten - in the close_line -% method of container box -% -% Note that underline position (or 'descender' in terms of PDFLIB) - -% so, simple that space of text box under the baseline - is scaled too -% when 'line-height' is applied -% -/box-generic-apply-line-height { % => Box - dup get-height % => Box Height - - 1 index /line-height get-css-value - dup /Percentage get { % => Box Height LineHeight - /Value get - 1 index mul 100 div % => Box Height NewHeight - } { - /Value get % => Box Height NewHeight - } ifelse - - 1 index - 3 index get-default-baseline sub % => Box Height NewHeight Under - - 2 index 0 gt { - 1 index 3 index div % => Box Height NewHeight Under Scale - } { - 0 - } ifelse % => Box Height NewHeight Under Scale - - 2 index 5 index put-height % => Box Height NewHeight Under Scale - mul sub % => Box Height NewHeight-Under*Scale - 2 index put-default-baseline % => Box Height - - pop pop -} def - -/box-generic-check-page-break-after { % => Context Parent This - 1 index /null ne { - dup /page-break-after - get-css-value % => Context Parent This CSS-pba - - dup /avoid ne - 1 index /auto ne and { % => Context Parent This CSS-pba - 3 index context-get-viewport % => Context Parent This CSS-pba Viewport - - dup flow-viewport-get-top % => Context Parent This CSS-pba Viewport VTop - 4 index get-current-y sub % => Context Parent This CSS-pba Viewport YOfs - 1 index - flow-viewport-get-height div % => Context Parent This CSS-pba Viewport PagesFraction - dup ceiling sub % => Context Parent This CSS-pba Viewport PageFraction - - 1 index flow-viewport-get-height - mul % => Context Parent This CSS-pba Viewport YDelta - 4 index get-current-y add - 4 index put-current-y % => Context Parent This CSS-pba Viewport - - pop - } if % => Context Parent This CSS-pba - - pop - } if % => Context Parent This - - pop pop pop -} def - -/box-generic-collapse-margin { % => Context Parent This -% do margin collapsing - -% Margin collapsing is done as follows: -% 1. If previous sibling was an inline element (so, parent line box was not empty), -% then no collapsing will take part -% 2. If NO previous element exists at all, then collapse current box top margin -% with parent's collapsed top margin. -% 2.1. If parent element was float, no collapsing should be -% 3. If there's previous block element, collapse current box top margin -% with previous elemenent's collapsed bottom margin - -% Check if current parent line box contains inline elements only. In this case the only -% margin will be current box margin - 1 index box-container-line-box-empty not { -% Case (1). Previous element was inline element; no collapsing - dup get-margin-top % => Context Parent This MT - 3 index % => Context Parent This MT Context - context-push-collapsed-margin - - 2 index 2 index box-container-close-line - - 1 index get-current-y % => Context Parent This Y - 1 index get-margin-top sub % => Context Parent This Y - } { -% Case (2). No previous block element at all; Collapse with parent margins -% Case (3). There's a previous block element -% We can process both cases at once, as context object collapsed margin stack -% allows us to track collapsed margins value - -% Calculate the value to offset current box vertically due margin -% note that we'll get non-negative value - the value to increate collapsed margin size, -% but we must offset box to the bottom - - dup get-margin-top - dup % => Context Parent This MT MT - 4 index - context-get-collapsed-margin % => Content Parent This MT MT CM - min - sub % => Context Parent This Y - - 1 index get-margin-top - 4 index context-get-collapsed-margin - max % => Context Parent This Y CM' - 4 index - context-push-collapsed-margin - % => Context Parent This Y - -% Offset parent, if current box is the first child, as we should not get -% vertical gaps before the first child during margin collapsing - - 2 index get-uid - 4 index context-container-uid ne - % => Context Parent This vmargin if_expr - - { % => Context Parent This $vmargin - dup neg 0 3 index % => Context Parent This $vmargin -$vmargin 0 This - 5 index - box-container-offset-if-first not { - % => Context Parent This vmargin - 2 index get-current-y - exch sub - 2 index put-current-y - } { pop } ifelse % => Context Parent This - - 1 index get-current-y % => Context Parent This Y - } { % => Context Parent This $vmargin - 2 index get-current-y - exch sub - } ifelse % => Context Parent This Y - } ifelse - - exch pop - exch pop - exch pop -} def - -/box-generic-contains-point-margin { % => Y X Box - dup get-left-margin rounding-epsilon sub 2 index le - 1 index get-right-margin rounding-epsilon add 3 index ge and - 1 index get-top-margin rounding-epsilon add 4 index ge and - 1 index get-bottom-margin 4 index lt and - - exch pop - exch pop - exch pop -} def - -/box-generic-create { % => - << - /AdditionalTextIndent 0 - - /Cache << >> - - /CSS << - /background background-create - - /border border-create - - /cellpadding 1 px - /cellspacing 1 px - /clear /none - /color 0 0 0 0 color-create - - /display /inline - - /float /none - /font-size 10 pt - /font-family default-font - - /height << - /percentage false - /auto true - /value 0 - >> - - /left 0 - - /line-height << - /Percentage true - /Value 110 - >> - - /list-style << - /position /outside - /type /disc - >> - - /margin << - /left << - /value 0 - /percentage /null - /auto false - >> - /right << - /value 0 - /percentage /null - /auto false - >> - /top << - /value 0 - /percentage /null - /auto false - >> - /bottom << - /value 0 - /percentage /null - /auto false - >> - >> - - /overflow /visible - - /padding << - /left << - /value 0 - /percentage /null - /auto false - >> - /right << - /value 0 - /percentage /null - /auto false - >> - /top << - /value 0 - /percentage /null - /auto false - >> - /bottom << - /value 0 - /percentage /null - /auto false - >> - >> - /page-break-after /auto - /position /static - /pseudo-align {text-align-left} - /pseudo-nowrap /normal - /pseudo-link-destination () - /pseudo-link-target << /type /none >> - - /text-align {text-align-left} - /text-decoration << - /overline false - /underline false - /line-through false - >> - /text-indent << - /Percentage false - /Value 0 - >> - /top << /value 0 /percentage false >> - - /vertical-align /baseline - /visibility /visible - - /white-space /normal - >> - - /CurrentX 0 - /CurrentY 0 - - /DeferredFloats [] - - /HeightConstraint /null /null /null hc-create - - /Methods << - >> - - /Parent /null - - /Position << - /left 0 - /top 0 - /width 0 - /height 0 - /baseline 0 - /default-baseline 0 - >> - - /UID 0 - - /WidthConstraint wc-create-none - >> - - dup box-generic-setup-methods - dup /box-generic add-type -} def % => Box - -/box-generic-calc-auto-width-margins { - % => Parent This - dup /float get-css-value - /none ne { - 2 copy box-generic-calc-auto-width-margins-float - } { - 2 copy box-generic-calc-auto-width-margins-normal - } ifelse - pop pop -} def - -/box-generic-calc-auto-width-margins-float { % Parent This - dup is-margin-auto-left { - 0 1 index put-margin-left - } if - - dup is-margin-auto-right { - 0 1 index put-margin-right - } if - - pop pop -} def - -% 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = width of containing block -% -/box-generic-calc-auto-width-margins-normal { - % => Parent This -% If both 'margin-left' and 'margin-right' are 'auto', their used values are equal. -% This horizontally centers the element with respect to the edges of the containing block. - dup is-margin-auto-left - 1 index is-margin-auto-right and { - 1 index /get-width call-method % => Parent This PW - 1 index get-full-width % => Parent This PW W - sub 2 div % => Parent This M - - dup 2 index put-margin-left - dup 2 index put-margin-right % => Parent This M - - pop - } { % => Parent This -% If there is exactly one value specified as 'auto', its used value follows from the equality. - dup is-margin-auto-left { - 1 index /get-width call-method - 1 index get-full-width - sub - - 1 index put-margin-left - } if - - dup is-margin-auto-right { - 1 index /get-width call-method - 1 index get-full-width - sub - - 1 index put-margin-right - } if - } ifelse % => Parent This - - pop pop -} def - -/box-generic-calc-percentage-margins { - % => Parent This - dup get-margin-percentage-left % => Parent This LMP - dup /null ne { - 2 index /get-width call-method % => Parent This LMP PW - mul 100 div % => Parent This LM - 1 index put-margin-left % => Parent This - } { - pop - } ifelse - - dup get-margin-percentage-right % => Parent This LMP - dup /null ne { - 2 index /get-width call-method % => Parent This LMP PW - mul 100 div % => Parent This LM - 1 index put-margin-right % => Parent This - } { - pop - } ifelse % => Parent This - - pop pop -} def - -% If the containing block's width depends on this element's width, -% then the resulting layout is undefined in CSS 2.1. -% -/box-generic-calc-percentage-width { - % => Context Parent This - dup get-width-constraint - dup wc-is-fraction % => Context Parent This WC IsFraction - { % => Context Parent This WC -% Calculate actual width - 2 index /get-width call-method - exch % => Context Parent This PW WC - 2 index /get-width call-method - exch % => Context Parent This PW CW WC - wc-apply % => Context Parent This W - -% Check if calculated width is less than minimal width -% Note that get_min_width will return the width including the extra horizontal space! - 3 index 2 index - /get-min-width call-method % => Context Parent This W MinW - - 2 index get-hor-extra sub % => Context Parent This W MinW' - - max % => Context Parent This W - -% Assign calculated width - dup 2 index put-width % => Context Parent This W - -% Remove any width constraint - wc-create-constant % => Context Parent This WC - 1 index put-width-constraint % => Context Parent This - } { - pop - } ifelse - - pop pop pop -} def - -/box-generic-calc-text-indent { % => Box - dup /text-indent get-css-value % => Box TextIndent - dup /Percentage get { % => Box TextIndent - 1 index /get-width call-method % => Box TextIndent W - 1 index /Value get % => Box TextIndent W Percent - mul 100 div % => Box TextIndent TIValue - } { % => Box TextIndent - dup /Value get % => Box TextIndent TIValue - } ifelse - - exch pop - exch pop -} def - -% Extends the box height to cover the given Y coordinate -% If box height is already big enough, no changes will be made -% -% @param $y_coord Y coordinate should be covered by the box -% -/box-generic-extend-height { % => Y This - dup get-height % => Y This H - 1 index get-top % => Y This H Top - 3 index sub % => Y This H Top-Y - max - 1 index put-height - pop pop -} def - -/box-generic-extend-width { % => X This - dup /get-width call-method % => X This Width - 2 index - 2 index get-left sub % => X This Width NewWidth - max - 1 index put-width % => X This - pop pop -} def - -% Get the position and size of containing block for current -% ABSOLUTE POSITIONED element. It is assumed that this function -% is called for ABSOLUTE positioned boxes ONLY -% -% @return associative array with 'top', 'bottom', 'right' and 'left' -% indices in data space describing the position of containing block -% -/box-generic-get-containing-block {% => Box - dup get-parent % => Box Parent - -% No containing block at all... -% How could we get here? - dup /null eq { - (Error: No containing block found for absolute-positioned element) print - quit - } if - -% CSS 2.1: -% If the element has 'position: absolute', the containing block is established by the -% nearest ancestor with a 'position' of 'absolute', 'relative' or 'fixed', in the following way: -% - In the case that the ancestor is inline-level, the containing block depends on -% the 'direction' property of the ancestor: -% 1. If the 'direction' is 'ltr', the top and left of the containing block are the top and left -% content edges of the first box generated by the ancestor, and the bottom and right are the -% bottom and right content edges of the last box of the ancestor. -% 2. If the 'direction' is 'rtl', the top and right are the top and right edges of the first -% box generated by the ancestor, and the bottom and left are the bottom and left content -% edges of the last box of the ancestor. -% - Otherwise, the containing block is formed by the padding edge of the ancestor. -% TODO: inline-level ancestors - { % => Box Parent - dup get-parent % => Box Parent Parent2 - /null eq { exit } if % => Box Parent - dup /position get-css-value - /static ne { exit } if % => Box Parent - get-parent % => Box Parent2 - } loop % => Box ContainingBox - -% Note that initial containg block (containig BODY element) will be formed by BODY margin edge, -% unlike other blocks which are formed by content edges - << >> % => Box ContainingBox CB - 1 index get-parent /null ne { -% Normal containing block - dup /left 3 index get-left put - dup /right 3 index get-right put - dup /top 3 index get-top put - dup /bottom 3 index get-bottom put - } { -% Initial containing block - dup /left 3 index get-left-margin put - dup /right 3 index get-right-margin put - dup /top 3 index get-top-margin put - dup /bottom 3 index get-bottom-margin put - } ifelse % => Box ContainingBox CB - - exch pop - exch pop -} def - -/box-generic-get-expandable-width {% => Box - dup get-parent /null ne - 1 index get-width-constraint - /type get /none eq and { - get-parent box-generic-get-expandable-width - } { - /get-width call-method - } ifelse -} def - -/box-generic-get-extra-line-left { % => Box - pop 0 -} def - -/box-generic-get-extra-line-right {% => Box - pop 0 -} def - -/box-generic-get-real-full-height { - get-full-height -} def - -/box-generic-get-width { % => Box - dup get-parent /null ne { - dup get-parent % => Box Parent - /get-width call-method % => Box ParentWidth - } { - dup /Position get - /width get - } ifelse - - 1 index /Position get - /width get % => Box ParentWidth Width - 2 index get-width-constraint % => Box ParentWidth Width WC - dup /apply get exec % => Box W - exch pop -} def - -% Calculate the content upper-left corner position in curent flow -/box-generic-guess-corner { % => Parent This - 1 index get-current-x - 1 index get-extra-left add - 1 index put-left - - 1 index get-current-y - 1 index get-extra-top sub - 1 index put-top - - pop pop -} def - -/box-generic-is-null { - pop false -} def - -/box-generic-is-whitespace { - pop false -} def - -/box-generic-line-break-allowed { % => This - dup /white-space get-css-value /normal eq - 1 index /pseudo-nowrap get-css-value /normal eq - and % => This Flag - exch pop -} def - -/box-generic-move-to { % => Y X This - 2 index 1 index get-top sub % => Y X This DY - 2 index 2 index get-left sub % => Y X This DY DX - 2 index - /offset call-method % => Y X This - pop pop pop -} def - -/box-generic-offset { % => DY DX This - 2 index 1 index get-top add - 1 index put-top - - 1 index 1 index get-left add - 1 index put-left - - pop pop pop -} def - -/box-generic-pre-reflow-images { - pop -} def - -/box-generic-reflow { % => Context Parent This - pop pop pop % => - - (Unimplemented /reflow method) print - quit -} def % => - -/box-generic-reflow-anchors { % => List Viewport Box -% make local link anchor - dup /pseudo-link-destination - get-css-value - dup () ne { % => List Viewport Box Destination - << - /page - 3 index get-top bmargin sub - real-page-height - -% NOTE: the coordinate system begins at the bottom of the very first page and directed to the top! - - div 0.5 add floor neg 2 add % => List Viewport Box Destination << /page - - /x 5 index get-left % => List Viewport Box Destination << /page /x - -% As in most cases we'll use an empty with fake zero-height whitespace inside, -% we can determine only the bottom edge of the linked area - /y - 7 index get-bottom bmargin sub - 4 index 1 sub real-page-height mul - add floor bmargin add -% now add some small vertical offset to make text in linked area visible - 20 pt add - >> % => List Viewport Box Destination Anchor - 4 index 3 1 roll % => List Viewport Box List Destination Anchor - put % => List Viewport Box - } { - pop - } ifelse % => List Viewport Box - - pop pop pop -} def - -/box-generic-reflow-inline { - pop -} def - -/box-generic-setup-methods { % => Box - dup get-box-dict /Methods get % => Box Methods - dup /get-extra-line-left { box-generic-get-extra-line-left } put - dup /get-extra-line-right { box-generic-get-extra-line-right } put - dup /get-real-full-height { box-generic-get-real-full-height } put - dup /get-width { box-generic-get-width } put - dup /is-null { box-generic-is-null } put - dup /is-whitespace { box-generic-is-whitespace } put - dup /line-break-allowed { box-generic-line-break-allowed } put - dup /offset { box-generic-offset } put - dup /pre-reflow-images { box-generic-pre-reflow-images } put - dup /reflow { box-generic-reflow } put - dup /reflow-inline { box-generic-reflow-inline } put - dup /reflow-anchors { box-generic-reflow-anchors } put - dup /show { box-generic-show } put - pop pop -} def - -/box-generic-show { % => Viewport This -% make a external/local link using pdfmark operator, if needed - dup /pseudo-link-target - get-css-value % => Viewport This Linktarget - dup /type get /uri eq { - [ /Rect [ 4 index get-left - 5 index get-bottom - 6 index get-right - 7 index get-top ] - /Action << /Subtype /URI /URI 8 index /value get >> - /Border [0 0 0] - /Subtype /Link - /ANN pdfmark - } if - - dup /type get /local eq { % => Viewport This Linktarget - 2 index exch /value get % => Viewport This Viewport Linktarget - viewport-get-anchor % => Viewport This AnchorData - dup /null ne { - [ /Rect [ 4 index get-left - 5 index get-bottom - 6 index get-right - 7 index get-top ] - /Page 4 index /page get - /View [ /XYZ null 9 index /y get null ] - /Border [0 0 0] - /Subtype /Link - /ANN pdfmark - } if - } if - - pop - - dup - 2 index - 2 index get-border - border-show - - dup - 2 index - 2 index get-background - background-show - - setting-debug-box { - 0 0 0 setrgbcolor - 0.1 setlinewidth - dup get-left 1 index get-top moveto - dup get-right 1 index get-top lineto - dup get-right 1 index get-bottom lineto - dup get-left 1 index get-bottom lineto - closepath - stroke - } if - -% Set the text color -% Note that text color is used not only for text drawing (for example, list item markers -% are drawn with text color) - dup /color get-css-value - color-apply - - pop pop -} def - -% Common - -/get-additional-text-indent { - /AdditionalTextIndent get -} def - -/get-background { - /background get-css-value -} def - -/get-baseline { - /Position get - /baseline get -} def - -/get-baseline-offset { % => Box - dup get-baseline - 1 index get-default-baseline sub - exch pop -} def - -/get-border { - /border get-css-value -} def - -/get-border-bottom { - /border get-css-value - /bottom get -} def - -/get-border-bottom-width { - get-border-bottom - edge-get-width -} def - -/get-border-left { - /border get-css-value - /left get -} def - -/get-border-left-width { - get-border-left - edge-get-width -} def - -/get-border-right { - /border get-css-value - /right get -} def - -/get-border-right-width { - get-border-right - edge-get-width -} def - -/get-border-top { - /border get-css-value - /top get -} def - -/get-border-top-width { - get-border-top - edge-get-width -} def - -/get-bottom { - dup get-top - 1 index get-height sub - exch pop -} def - -/get-bottom-border { - dup get-bottom-padding - 1 index get-border-bottom-width - sub - exch pop -} def - -/get-bottom-margin { - dup get-bottom-border - 1 index get-margin-bottom - sub - exch pop -} def - -/get-bottom-padding { - dup get-bottom - 1 index get-padding-bottom - sub exch pop -} def - -/get-box-dict {} def - -% Get the calculated value of a CSS property for this box -% -% @param Box reference to a box object -% @param Name name of a CSS property -% -/get-css-value { % => Box Name - 1 index get-box-dict - /CSS get % => Box Name CSS - -% Check if this value is known - dup 2 index known not { - (Value is not known:) print - 1 index == - quit - } if - -% Get the value - 1 index get % => Box Name CSSValue - -% clear the stack - exch pop - exch pop -} def - -/get-current-x { - /CurrentX get -} def - -/get-current-y { - /CurrentY get -} def - -/get-default-baseline { - /Position get - /default-baseline get -} def - -/get-extra-bottom { - dup get-padding-bottom exch - dup get-margin-bottom exch - dup get-border-bottom-width exch - pop - add add -} def - -/get-extra-left { - dup get-padding-left exch - dup get-margin-left exch - dup get-border-left-width exch - pop - add add -} def - -/get-extra-right { - dup get-padding-right exch - dup get-margin-right exch - dup get-border-right-width exch - pop - add add -} def - -/get-extra-top { - dup get-padding-top exch - dup get-margin-top exch - dup get-border-top-width exch - pop - add add -} def - -/get-full-width { - dup /get-width call-method - exch get-hor-extra - add -} def - -/get-full-height { - dup get-height - exch get-vert-extra - add -} def - -/get-height { % => Box - dup % => Box Box - dup /Position get - /height get % => Box Box RawHeight - 1 index get-height-constraint % => Box Box RawHeight HC - hc-apply - exch pop % => H -} def - -/get-height-constraint { % => Box - /HeightConstraint get -} def - -/get-hor-extra { % => Box - dup get-extra-left - 1 index get-extra-right - add - - exch pop -} def - -/get-left { - get-box-dict /Position get /left get -} def - -/get-left-border { - dup get-left-padding - 1 index get-border-left-width - sub - exch pop -} def - -/get-left-padding { - dup get-left - 1 index get-padding-left - sub - exch pop -} def - -/get-left-margin { - dup get-left-border - 1 index get-margin-left - sub - exch pop -} def - -/get-margin-bottom { % => Box - /margin get-css-value - /bottom get - /value get -} def - -/get-margin-left { % => Box - /margin get-css-value - /left get - /value get -} def - -/get-margin-percentage-left { % => Box - /margin get-css-value - /left get - /percentage get -} def - -/get-margin-percentage-right { % => Box - /margin get-css-value - /right get - /percentage get -} def - -/get-margin-right { % => Box - /margin get-css-value - /right get - /value get -} def - -/get-margin-top { % => Box - /margin get-css-value - /top get - /value get -} def - -/get-padding { % => Box - /padding get-css-value -} def - -/get-padding-bottom { % => Box - /padding get-css-value - /bottom get - /value get -} def - -/get-padding-left { % => Box - /padding get-css-value - /left get - /value get -} def - -/get-padding-right { % => Box - /padding get-css-value - /right get - /value get -} def - -/get-padding-top { % => Box - /padding get-css-value - /top get - /value get -} def - -/get-parent { - /Parent get -} def - -/get-right { - dup get-left % => Box Left - 1 index /get-width call-method add - exch pop -} def - -/get-right-border { - dup get-right-padding - 1 index get-border-right-width - add - exch pop -} def - -/get-right-margin { - dup get-right-border - 1 index get-margin-right - add - exch pop -} def - -/get-right-padding { - dup get-right - 1 index get-padding-right - add - exch pop -} def - -/get-top { - dup /Position get /top get % => Box top - 1 index get-baseline-offset sub % => Box Top' - exch pop -} def - -/get-top-border { - dup get-top-padding - 1 index get-border-top-width - add - exch pop -} def - -/get-top-margin { - dup get-top-border - 1 index get-margin-top - add - exch pop -} def - -/get-top-padding { - dup get-top - 1 index get-padding-top - add - exch pop -} def - -/get-uid { % => Box - get-box-dict - /UID get -} def - -/get-vert-extra { % => Box - dup get-extra-top - 1 index get-extra-bottom - add - - exch pop -} def - -/get-width-constraint { % => Box - get-box-dict - /WidthConstraint get -} def - -/is-margin-auto-left { % => Box - /margin get-css-value - /left get - /auto get -} def - -/is-margin-auto-right { % => Box - /margin get-css-value - /right get - /auto get -} def - -/put-additional-text-indent { % => Value Box - exch /AdditionalTextIndent exch put -} def - -/put-baseline { - /Position get - exch - /baseline - exch - put -} def - -/put-border { - exch /border exch put-css-value -} def - -/put-content { - exch - /Content exch % => Box /CurrentX Value - put -} def - -/put-css-value { % => Box Property Value - 2 index /CSS get % => Box Property Value CSS - 3 1 roll % => Box CSS Property Value - put pop -} def - -/put-current-x { % => Value Box - exch - /CurrentX exch % => Box /CurrentX Value - put -} def - -/put-current-y { % => Value Box - exch - /CurrentY exch % => Box /CurrentY Value - put -} def - -/put-default-baseline { - /Position get - exch - /default-baseline - exch - put -} def - -/put-full-width { % => Value Box - dup get-hor-extra % => Value Box HE - 2 index exch sub % => Value Box Value-HE - 1 index put-width % => Value Box - pop pop -} def - -/put-height { - /Position get - exch /height exch put -} def - -/put-height-constraint { % => Value box - exch /HeightConstraint exch put -} def - -/put-left { % => Value Box - get-box-dict - /Position get - exch /left exch put -} def - -/put-margin-bottom { % => Value Box - /margin get-css-value % => Value Margins - /bottom get % => Value MarginsValues - exch /value exch put -} def - -/put-margin-left { % => Value Box - /margin get-css-value % => Value Margins - /left get % => Value MarginsValues - exch /value exch put -} def - -/put-margin-right { % => Value Box - /margin get-css-value % => Value Margins - /right get % => Value MarginsValues - exch /value exch put -} def - -/put-margin-top { % => Value Box - /margin get-css-value % => Value Margins - /top get % => Value MarginsValues - exch /value exch put -} def - -/put-padding { % => Value Box - exch /padding exch put-css-value -} def - -/put-parent { - exch /Parent exch put -} def - -/put-top { % => Value Box - exch - 1 index get-baseline-offset - add exch - - /Position get - exch /top exch put -} def - -/put-uid { - exch /UID exch put -} def - -/put-width { - /Position get - exch /width exch put -} def - -/put-width-constraint { % => Value Box - exch /WidthConstraint exch put -} def - diff --git a/thirdparty/html2ps_pdf/postscript/box.iframe.ps b/thirdparty/html2ps_pdf/postscript/box.iframe.ps deleted file mode 100644 index 640513d3d..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.iframe.ps +++ /dev/null @@ -1,4 +0,0 @@ -/box-iframe-create { - box-inline-block-create - dup /box-iframe add-type -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.image.ps b/thirdparty/html2ps_pdf/postscript/box.image.ps deleted file mode 100644 index 248354f8a..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.image.ps +++ /dev/null @@ -1,199 +0,0 @@ -/box-image-broken-create { % => - box-image-generic-create - dup box-image-broken-setup-methods - dup /box-image-broken add-type -} def - -/box-image-broken-setup-methods { - dup /Methods get - dup /show {box-image-broken-show} put - pop pop -} def - -/box-image-broken-show { % => Viewport This - gsave - - 0.1 setlinewidth - - dup get-left 1 index get-top moveto - dup get-right 1 index get-top lineto - dup get-right 1 index get-bottom lineto - dup get-left 1 index get-bottom lineto - closepath - stroke - - dup get-left 1 index get-top moveto - dup get-right 1 index get-top lineto - dup get-right 1 index get-bottom lineto - dup get-left 1 index get-bottom lineto - closepath - clip - - % TODO: output ALT attribute - - grestore - pop pop -} def - -/box-image-create { % => Mask Image Init SY SX - image-create - box-image-generic-create - dup box-image-setup-methods - dup /box-image add-type % => Image Box - - dup /Image 3 index put - exch pop -} def - -/box-image-setup-methods { % => - dup /Methods get - dup /show {box-image-show} put - pop pop -} def - -/box-image-show { % => Viewport Box - 2 copy box-generic-show - -% Check if "designer" set the height or width of this image to zero; in this there will be no reason -% in drawing the image at all - dup /get-width call-method 1 lt - 1 index get-height 1 lt or { - } { - dup /Image get % => Viewport Box Image - 1 index get-left - 2 index get-bottom moveto % => Viewport Box Image - 1 index /get-width call-method - 2 index get-height % => Viewport Box Image W H - 3 2 roll - image-show % => Viewport Box - } ifelse % => Viewport Box - pop pop -} def - -/box-image-generic-create { % => - box-generic-inline-create - dup box-image-generic-setup-methods - dup /box-image-generic add-type - - dup /scale /none put - dup /src-width 1 put - dup /src-height 1 put -} def - -/box-image-generic-get-max-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-image-generic-get-min-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-image-generic-get-scale { % => This - /scale get -} def - -/box-image-generic-get-src-height { - /src-height get -} def - -/box-image-generic-get-src-width { - /src-width get -} def - -/box-image-generic-pre-reflow-images { % => This - dup box-image-generic-get-scale % => This Scale - - dup /width eq { % => This Scale - 1 index box-image-generic-get-src-width - 2 index box-image-generic-get-src-height div - 2 index /get-width - call-method mul % => This Scale Size - - dup 3 index put-height % => This Scale Size - 2 index put-default-baseline % => This Scale - } if - - dup /height eq { % => This Scale - 1 index box-image-generic-get-src-height - 2 index box-image-generic-get-src-width div - 2 index get-height mul % => This Scale Size - - dup 3 index put-width % => This Scale Size - - dup wc-create-constant - 3 index put-width-constraint % => This Scale Size - - 2 index put-default-baseline % => This Scale - } if - - pop pop -} def - -/box-image-generic-put-scale { % => Scale This - exch % => This Scale - /scale exch % => This /scale Scale - put -} def - -/box-image-generic-put-src-height {% => Scale This - exch % => This Scale - /src-height exch % => This /src-height Scale - put -} def - -/box-image-generic-put-src-width { % => Scale This - exch % => This Scale - /src-width exch % => This /src-width Scale - put -} def - -/box-image-generic-reflow { % => Context Parent This - dup box-image-generic-pre-reflow-images - % => Context Parent This - -% Check if we need a line break here - 2 index - 2 index - 2 index - /maybe-line-break call-method - pop - -% set default baseline - dup get-default-baseline - 1 index put-baseline - -% append to parent line box - dup 2 index - box-container-append-line - -% Move box to the parent current point - 1 index - 1 index - box-generic-guess-corner % => Context Parent This - -% Move parent's X coordinate - 1 index get-current-x - 1 index get-full-width - add - 2 index put-current-x % => Context Parent This - -% Extend parent height - dup get-bottom-margin - 2 index - box-generic-extend-height % => Context Parent This - - pop pop pop -} def - -/box-image-generic-setup-methods { - dup /Methods get - dup /get-max-width { box-image-generic-get-max-width } put - dup /get-min-width { box-image-generic-get-min-width } put - dup /pre-reflow-images { box-image-generic-pre-reflow-images } put - dup /reflow { box-image-generic-reflow } put - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.inline.ps b/thirdparty/html2ps_pdf/postscript/box.inline.ps deleted file mode 100644 index 528cc8947..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.inline.ps +++ /dev/null @@ -1,357 +0,0 @@ -/box-inline-create { % => - box-generic-inline-create - - dup /Lines [] put - - dup box-inline-setup-methods - dup /box-inline add-type -} def % => Box - -% Extends the existing line box to include the given child -% OR starts new line box, if current child is to the left of the box right edge -% (which should not happen white the line box is filled) -% -% @param $box child box which will be first in this line box -% @param $line_no number of line box -% -/box-inline-extend-line { % => LineNo Box This - dup box-inline-get-lines - length % => LineNo Box This NumLines - 3 index le { % => LineNo Box This -% New line box started - 2 index - 2 index - 2 index - box-inline-init-line % => LineNo Box This - 2 index % => LineNo Box This LineNo - } { % => LineNo Box This - 1 index get-left % => LineNo Box This BoxLeft - 1 index box-inline-get-lines % => LineNo Box This BoxLeft Lines - 4 index get % => LineNo Box This BoxLeft Line - line-get-right % => LineNo Box This BoxLeft LineRight - lt { % => LineNo Box This - 2 index 1 add % => LineNo Box This LineNo' - dup - 3 index - 3 index % => LineNo Box This LineNo' LineNo' Box This - box-inline-init-line % => LineNo Box This LineNo' - } { - dup box-inline-get-lines % => LineNo Box This Lines - 3 index get % => LineNo Box This Line - 2 index exch line-extend % => LineNo Box This - 2 index % => LineNo Box This LineNo - } ifelse % => - } ifelse % => LineNo Box This LineNo' - - exch pop - exch pop - exch pop -} def - -/box-inline-get-extra-line-left { % => This - dup get-extra-left % => This EL - 1 index get-parent /null ne { % => This EL - 1 index get-parent - /get-extra-line-left - call-method % => This EL ParentEL - add - } if - - exch pop -} def - -/box-inline-get-extra-line-right { - dup get-extra-right % => This EL - 1 index get-parent /null ne { % => This EL - 1 index get-parent - /get-extra-line-right - call-method % => This EL ParentEL - add - } if - - exch pop -} def - -/box-inline-get-lines { - /Lines get -} def - -% Initialize next line box inside this inline -% -% Adds the next element to _lines array inside the current object and initializes it with the -% $box parameters -% -% @param $box child box which will be first in this line box -% @param $line_no number of line box -% -/box-inline-init-line { % => LineNo Box This - 1 index - line-create % => LinoNo Box This Line - - 1 index box-inline-get-lines - array-prepend - 1 index box-inline-put-lines % => LineNo Box This - - pop pop pop -} def - -/box-inline-merge-line { % => LineNo Box This - 1 index box-inline-get-lines { % => LineNo Box This Line - 1 index box-inline-get-lines % => LineNo Box This Line Lines - array-prepend % => LineNo Box This Lines' - 1 index box-inline-put-lines % => LineNo Box This - } forall % => LineNo Box This - - exch pop - exch pop - box-inline-get-lines length % => LineNo' -} def - -/box-inline-offset { % => DY DX This - 3 copy - box-container-offset % => DY DX This - - dup box-inline-get-lines { % => DY DX This Line - 3 index exch - 3 index exch - line-offset % => DY DX This - } forall - - pop pop pop -} def - -/box-inline-put-lines { % => Value This - exch /Lines exch put -} def - -/box-inline-reflow { % => Context Parent This -% Note that inline boxes (actually SPANS) -% are never added to the parent's line boxes - -% Move current box to the parent's current coordinates -% Note that span box will start at the far left of the parent, NOT on its current X! -% Also, note that inline box can have margins, padding and borders! - - 1 index get-left - 1 index put-left - - 1 index get-top - 1 index get-extra-top sub - 1 index put-top % => Context Parent This - -% first line of the SPAN will be offset to its parent current-x PLUS the left padding of current span! - 1 index get-current-x - 1 index get-extra-left - add % => Context Parent This CX - - dup 3 index put-current-x % => Context Parent This CX - 1 index put-current-x % => Context Pareht This - -% Note that the same operation IS NOT applied to parent current-y! -% The padding space is just extended to the top possibly OVERLAPPING the above boxes. - - 0 1 index put-width - -% Reflow contents - - 0 % => Context Parent This LineNo - 1 index get-content { % => Context Parent This LineNo Child -% Add current element into _parent_ line box and reflow it - 4 index - 4 index % => Context Parent This LineNo Child Context Parent - 2 index - /reflow call-method % => Context Parent This LineNo Child - -% Track the real height of the inline box; it will be used by other functions -% (say, functions calculating content height) - dup get-bottom-margin % => Context Parent This LineNo' Child BM - 3 index - box-generic-extend-height % => Context Parent This LineNo Child - - pop - } forall % => Context Parent This LineNo - pop % => Context Parent This - -% Extend parent height to fit this inline box -% TODO: Is it really required? Seems that it will be accomplished by child reflow functions -% dup get-bottom-margin % => Context Parent This GBM -% 2 index -% box-generic-extend-height % => Context Parent This - -% Apply right extra space value (padding + border + margin) - 1 index get-current-x - 1 index get-extra-right - add - 2 index put-current-x - -% After reflow_content we should have the top stack value replace by the value -% of last child bottom collapsed margin - - dup box-container-get-first-data /null ne { - 2 index context-pop-collapsed-margin - 0 3 index context-push-collapsed-margin - } if - - pop pop pop -} def - -/box-inline-reflow-inline { % => This - 0 % => This LineNo - 1 index get-content { % => This LineNo Child - dup /reflow-inline call-method - - dup /box-inline is-a { - 1 index % => This LineNo Child LineNo - 1 index % => This LineNo Child LineNo Child - 4 index % => This LineNo Child LineNo Child This - box-inline-merge-line % => This LineNo Child LineNo' - - 3 2 roll % => This Child LineNo' LineNo - pop - exch % => This LineNo' Child - } { - 1 index % => This LineNo Child LineNo - 1 index % => This LineNo Child LineNo Child - 4 index % => This LineNo Child LineNo Child This - box-inline-extend-line % => This LineNo Child LineNo' - 3 2 roll % => This Child LineNo' LineNo - pop - exch % => This LineNo' Child - } ifelse % => This LineNo' Child - - pop - } forall - - pop pop -} def - -/box-inline-setup-methods { % => Box - dup get-box-dict /Methods get % => Box Methods - dup /get-extra-line-left {box-inline-get-extra-line-left} put - dup /get-extra-line-right {box-inline-get-extra-line-right} put - dup /offset {box-inline-offset} put - dup /reflow {box-inline-reflow} put - dup /reflow-inline {box-inline-reflow-inline} put - dup /show {box-inline-show} put - pop pop -} def - -/box-inline-show { % => Viewport This -% Show line boxes background and borders - dup box-inline-get-lines { % => Viewport This Line - 1 index 1 index line-fake-box % => Viewport This Line FakeBox - - dup - 4 index % => Viewport This Line FakeBox FakeBox Viewport - 4 index get-background - background-show % => Viewport This Line FakeBox - - dup - 4 index - 4 index get-border - border-show % => Viewport This Line FakeBox - - pop pop - } forall - -% Show content - dup get-content { % => Viewport This Child - 2 index exch - /show call-method % => Viewport This - } forall - - pop pop -} def - -/line-create { % => Box - << >> - dup /right 3 index get-right put - dup /left 3 index get-left put - dup /top 3 index get-top put - dup /bottom 3 index get-bottom put - exch pop -} def - -/line-extend { % => Box This - dup /top get % => Box This V1 - 2 index get-top % => Box This V1 V2 - max - 1 index exch /top exch put - - dup /right get % => Box This V1 - 2 index get-right % => Box This V1 V2 - max - 1 index exch /right exch put - - dup /bottom get % => Box This V1 - 2 index get-bottom % => Box This V1 V2 - min - 1 index exch /bottom exch put - -% Left edge of the line box should never be modified - - pop pop -} def - -/line-get-right { - /right get -} def - -/line-fake-box { % => Box This -% Create the fake box object - box-block-create % => Box This FakeBox - -% Setup fake box size - 1 index /left get - 1 index put-left - - 1 index /right get - 2 index /left get sub - 1 index put-width - - 1 index /top get - 1 index get-baseline sub - 1 index put-top - - 1 index /top get - 2 index /bottom get sub - 1 index put-height - -% Setup padding value - 2 index get-padding - 1 index put-padding - -% Setup fake box border and background - 2 index get-background - 1 index put-background - - 2 index get-border - 1 index put-border - - exch pop - exch pop -} def - -/line-offset { % => DY DX This - dup /top get % => DY DX This Top - 3 index add % => DY DX This Top' - 1 index exch % => DY DX This This Top' - /top exch put % => DY DX This - - dup /bottom get % => DY DX This Bottom - 3 index add % => DY DX This Bottom' - 1 index exch % => DY DX This This Bottom' - /bottom exch put % => DY DX This - - dup /left get % => DY DX This Left - 2 index add % => DY DX This Left' - 1 index exch % => DY DX This This Left' - /left exch put % => DY DX This - - dup /right get % => DY DX This Right - 2 index add % => DY DX This Right' - 1 index exch % => DY DX This This Right' - /right exch put % => DY DX This - - pop pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.inline.whitespace.ps b/thirdparty/html2ps_pdf/postscript/box.inline.whitespace.ps deleted file mode 100644 index 99b4c199d..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.inline.whitespace.ps +++ /dev/null @@ -1,76 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.inline.whitespace.ps,v 1.1 2005/12/18 07:21:36 Konstantin Exp $ - -% Whitespace flow control function. Do nothing if whitespace is at the beginning of the line box -% make a inline box containining space symbol otherwise. -/flow-whitespace { % => Parent Child - 1 index get-current-x - 2 index get-current-y % => Parent Child X Y - 2 index - move-to-box % => Parent Child - -% Check if there are any boxes in parent's line box - 1 index - get-line - length 0 gt { - % there's some boxes in the parent's line box already - % just make a space (if previous inline box wasn't a whitespace!) - 1 index get-line - dup length 1 sub get % => Parent Child LastInlineBox - - get-box-dict - /Display get - /inline-whitespace ne { - dup get-default-baseline - 1 index put-baseline - - apply-line-height - - dup get-vertical-align exec - - dup /get-width call-method - 2 index get-current-x - add - 2 index put-current-x - } { -% Duplicate whitespace boxes should not offset further content and affect the line box length - 0 1 index put-width -% Make whitespace correctly aligned relative to the baseline - dup get-vertical-align exec - } ifelse - } { -% The very first whitespace in the line box should not affect neither height nor baseline of the line box; -% because following boxes can be smaller that assumed whitespace height -% Example:
[whitespace]
; whitespace can overextend this line - 0 1 index put-height -% Aslo, the very first whitespace should not offset further content and affect the line box length - 0 1 index put-width - } ifelse - - dup 2 index append-line - -% dup get-baseline -% 1 index get-default-baseline -% sub -% 1 index get-full-height -% add - dup get-full-height - exch pop - extend-height % => Parent - - pop -} def - -/make-whitespace-box { % => FontSize FontName - ( ) - 2 index 2 index - make-text-box % => FontSize FontName Box - - {flow-whitespace} - 1 index put-flow-fun % => FontSize FontName Box - dup get-box-dict - /Display /inline-whitespace put - - 3 1 roll - pop pop -} def - diff --git a/thirdparty/html2ps_pdf/postscript/box.input.check.ps b/thirdparty/html2ps_pdf/postscript/box.input.check.ps deleted file mode 100644 index 9bbc62952..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.input.check.ps +++ /dev/null @@ -1,63 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.input.check.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/show-checked-check-box { -% render empty (unchecked) radio button - show-check-box - -% Get check center coordinates - dup get-left - 1 index get-right - add 2 div - - 1 index get-top - 2 index get-bottom - add 2 div % => CX CY - -% calculate check box size - 2 index get-width - 6 div % => CX CY R - - 2 index 1 index sub % => CX CY R L - 2 index 2 index sub % => CX CY R L T - 2 index 2 mul dup % => CX CY R L T H W - -% render the checkmark (cross) - 0.5 setlinewidth - -% / cross part - 4 copy - 4 2 roll - newpath moveto rlineto stroke - -% \ cross part - neg - 4 2 roll 2 index sub - newpath moveto rlineto stroke - - pop pop pop -} def - -/show-check-box { -% Get check center coordinates - dup get-left - 1 index get-right - add 2 div - - 1 index get-top - 2 index get-bottom - add 2 div % => CX CY - -% calculate check box size - 2 index get-width - 3 div % => CX CY R - - 2 index 1 index sub % => CX CY R L - 2 index 2 index sub % => CX CY R L T - 2 index 2 mul dup % => CX CY R L T H W - -% render the empty (unchecked) radio button - 0.25 setlinewidth - rectstroke - - pop pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.input.radio.ps b/thirdparty/html2ps_pdf/postscript/box.input.radio.ps deleted file mode 100644 index 0ec54db7d..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.input.radio.ps +++ /dev/null @@ -1,50 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.input.radio.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/show-checked-circle-box { -% render empty (unchecked) radio button - show-circle-box - -% Get circle center coordinates - dup get-left - 1 index get-right - add 2 div - - 1 index get-top - 2 index get-bottom - add 2 div % => CX CY - -% Calculate circle radius - 2 index get-width - 6 div - - 0 360 - 0.25 setlinewidth - -% render the black point in the button's center - newpath - arc - fill -} def - -/show-circle-box { -% Get circle center coordinates - dup get-left - 1 index get-right - add 2 div - - 1 index get-top - 2 index get-bottom - add 2 div - -% calculate circle radius - 2 index get-width - 3 div - - 0 360 - 0.25 setlinewidth - -% render the empty (unchecked) radio button - newpath - arc - stroke -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.input.text.ps b/thirdparty/html2ps_pdf/postscript/box.input.text.ps deleted file mode 100644 index 27b91e551..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.input.text.ps +++ /dev/null @@ -1,76 +0,0 @@ -/box-input-text-create { % => - box-inline-create - dup box-input-text-setup-methods - dup /box-input-text add-type -} def - -/box-input-text-get-min-width { % => Context This - 2 copy /get-max-width call-method - exch pop - exch pop -} def - -/box-input-text-line-break-allowed { % => This - pop false -} def - -/box-input-text-reflow { % => Context Parent This -% Check if we need a line break here - - 3 copy /maybe-line-break call-method - pop - -% Append to parent line box - - dup 2 index box-container-append-line - -% Determine coordinates of upper-left corner - - 2 copy - box-generic-guess-corner % => Context Parent This - -% Determine the box width - - 2 index 1 index - /get-min-width call-method - 1 index put-full-width % => Context Parent This - - 2 index 1 index - box-container-reflow-content - -% vertical-align - - dup get-content 0 get - get-default-baseline - 1 index get-extra-top add - dup 2 index put-baseline - 1 index put-default-baseline - -% Offset parent curernt X coordinate - - 1 index get-current-x - 1 index get-full-width - add - 2 index put-current-x - -% Extend parent height - - dup get-bottom-margin - 1 index box-generic-extend-height - - pop pop pop -} def - -/box-input-text-setup-methods { - dup /Methods get - dup /get-min-width { box-input-text-get-min-width } put - dup /line-break-allowed { box-input-text-line-break-allowed } put - dup /reflow { box-input-text-reflow } put - dup /show { box-input-text-show } put - pop pop -} def - -/box-input-text-show { % => Viewport This - box-container-show -} def - diff --git a/thirdparty/html2ps_pdf/postscript/box.list-item.ps b/thirdparty/html2ps_pdf/postscript/box.list-item.ps deleted file mode 100644 index bc8090dfd..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.list-item.ps +++ /dev/null @@ -1,246 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.list-item.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/box-list-item-height-koeff 0.7 def -/box-list-item-bullet-size-koeff 0.15 def - -/box-list-item-create { - box-block-create - - dup /MarkerImage /null put - dup /MarkerString ( ) put - - dup box-list-item-setup-methods - dup /box-list-item add-type -} def - -/box-list-item-get-marker-box-width { % => ListItem - dup /list-style get-css-value - /type get { % => ListItem Type - dup /none eq { pop 0 exit } if - - dup /disc eq - 1 index /circle eq or - 1 index /square eq or { pop dup /font-size get-css-value exit } if - - pop - - dup /font-family get-css-value - 1 index /font-size get-css-value - scalefont - setfont - - dup box-list-item-get-string - stringwidth pop % => ListItem Width - } loop % => ListItem Width - exch pop % => Width -} def - -/box-list-item-get-marker-image { - /MarkerImage get -} def - -/box-list-item-get-string { - /MarkerString get -} def - -/box-list-item-put-marker-image { % => Image This - exch /MarkerImage exch put -} def - -/box-list-item-put-string { - exch /MarkerString exch put -} def - -/box-list-item-reflow { % => Context Parent Box -% If list-style-position is inside, we'll need to move marker box inside the -% list-item box and offset all content by its size; - dup /list-style get-css-value /position get - /inside eq { -% Add marker box width to text-indent value - dup box-list-item-get-marker-box-width - 1 index put-additional-text-indent - } if - - 3 copy box-block-reflow - pop pop pop -} def - -/box-list-item-show { % => Viewport This -% Draw generic block box - 2 copy box-container-show - -% Draw marker -% Determine the marker box base X coordinate - dup get-left % => Viewport This MX - -% Determine the base Y coordinate of marker box - 1 index box-container-get-first-data - dup /null ne { % => Viewport This MX Element - dup get-top - 1 index get-default-baseline sub - exch pop - } { % => Viewport This MX /null - pop - 1 index get-top - } ifelse % => Viewport This MX MY - -% If list-style-position is inside, we'll need to move marker box inside the -% list-item box and offset all content by its size; - 2 index /list-style get-css-value /position get - /inside eq { - 2 index box-list-item-get-marker-box-width - 2 index add % => Viewport This MX MY MX' - 3 2 roll pop - exch - } if - - 2 index box-list-item-get-marker-image - /null ne { % => Viewport This MX MY - exch 3 index 3 index - box-list-item-show-image - } { % => Viewport This MX MY - exch - 3 index 3 index % => Viewport This MY MX Viewport This - dup /list-style get-css-value /type get - { - dup /none eq { pop pop pop pop pop exit } if - dup /disc eq { pop box-list-item-show-disc exit } if - dup /circle eq { pop box-list-item-show-circle exit } if - dup /square eq { pop box-list-item-show-square exit } if - pop box-list-item-show-string exit - } loop - } ifelse % => Viewport This - - pop pop -} def - -/box-list-item-setup-methods { % => Box - dup /Methods get - dup /reflow {box-list-item-reflow} put - dup /show {box-list-item-show} put - pop pop -} def - -/box-list-item-show-circle { % => MY MX Viewport This - dup /color get-css-value - color-apply - - 0.1 setlinewidth - - dup /font-size get-css-value - 2 div neg - 3 index add % => MY MX Viewport This X - - 1 index /font-size get-css-value - 0.4 mul - box-list-item-height-koeff mul - 5 index add % => MY MX Viewport This X Y - - 2 copy newpath moveto - - 2 index /font-size get-css-value - box-list-item-bullet-size-koeff mul - % => MY MX Viewport This X Y R - - 0 360 arc closepath stroke - - pop pop pop pop -} def - -/box-list-item-show-disc { % => MY MX Viewport This - dup /color get-css-value - color-apply - - dup /font-size get-css-value - 2 div neg - 3 index add % => MY MX Viewport This X - - 1 index /font-size get-css-value - 0.4 mul - box-list-item-height-koeff mul - 5 index add % => MY MX Viewport This X Y - - 2 copy newpath moveto - - 2 index /font-size get-css-value - box-list-item-bullet-size-koeff mul - % => MY MX Viewport This X Y R - - 0 360 arc closepath fill - - pop pop pop pop -} def - -/box-list-item-show-image { % => MY MX Viewport This - dup box-list-item-get-marker-image - % => MY MX Viewport This Image - 3 index - 5 index moveto % => MY MX Viewport This Image - - dup /SX get px - 1 index /SY get px - 2 index - image-show % => MY MX Viewport This Image - - pop pop pop pop pop -} def - -/box-list-item-show-square { % => MY MX Viewport This - dup /color get-css-value - color-apply - - 2 index - 1 index /font-size get-css-value - 0.512 mul sub - - 4 index - 2 index /font-size get-css-value - 0.3 mul - box-list-item-height-koeff mul add - - 2 index /font-size get-css-value 0.25 mul - 3 index /font-size get-css-value 0.25 mul - - rectfill - - pop pop pop pop -} def - -/box-list-item-show-string { % => MY MX Viewport This - box-text-create % => MY MX Viewport This TextBox - - 1 index box-list-item-get-string % => MY MX Viewport This TextBox String - 1 index put-text % => MY MX Viewport This TextBox - - 1 index - /font-family get-css-value % => MY MX Viewport This TextBox Font - 1 index exch - /font-family exch put-css-value % => MY MX Viewport This TextBox - - 1 index - /font-size get-css-value % => MY MX Viewport This TextBox FontSize - 1 index exch - /font-size exch put-css-value % => MY MX Viewport This TextBox - - 1 index - /color get-css-value % => MY MX Viewport This TextBox Color - 1 index exch - /color exch put-css-value % => MY MX Viewport This TextBox - - dup box-text-setup % => MY MX Viewport This TextBox - - dup get-default-baseline - 1 index put-baseline - - 4 index - 1 index get-baseline add - 4 index - 2 index get-full-width sub % => MY MX Viewport This TextBox MY MX - 2 index - box-generic-move-to % => MY MX Viewport This TextBox - - 2 index exch - box-text-show - - pop pop pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.ps b/thirdparty/html2ps_pdf/postscript/box.ps deleted file mode 100644 index d406a232c..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.ps +++ /dev/null @@ -1,2 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - diff --git a/thirdparty/html2ps_pdf/postscript/box.radiobutton.ps b/thirdparty/html2ps_pdf/postscript/box.radiobutton.ps deleted file mode 100644 index 410bf50d8..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.radiobutton.ps +++ /dev/null @@ -1,97 +0,0 @@ -/radiobutton-size 15 px def - -/box-radiobutton-create { - box-generic-create - dup box-radiobutton-setup-methods - - dup /checked false put - radiobutton-size 1 index put-default-baseline - radiobutton-size 1 index put-height - radiobutton-size 1 index put-width - - dup /box-radionbutton add-type -} def - -/box-radiobutton-get-min-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-radiobutton-get-max-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-radiobutton-put-checked { % => Value Box - exch /checked exch put -} def - -/box-radiobutton-reflow { % => Context Parent This -% Set default baseline - dup get-default-baseline - 1 index put-baseline - -% Append to parent line box - dup 2 index box-container-append-line - -% Deterine coordinates of upper-left _margin_ corner - 2 copy - box-generic-guess-corner % => Context Parent This - -% Offset parent current X coordinate - 1 index get-current-x - 1 index get-full-width add - 2 index put-current-x - -% Extend parent height - dup get-bottom-margin - 2 index box-generic-extend-height - - pop pop pop -} def - -/box-radiobutton-setup-methods { - dup /Methods get - dup /get-min-width {box-radiobutton-get-min-width} put - dup /get-max-width {box-radiobutton-get-max-width} put - dup /reflow {box-radiobutton-reflow} put - dup /show {box-radiobutton-show} put - pop pop -} def - -/box-radiobutton-show { % => Viewport This -% Get check center - dup get-left - 1 index get-right add 2 div - - 1 index get-top - 2 index get-bottom add 2 div % => Viewport This X Y - -% Calculate checkbox size - 2 index /get-width call-method - 3 div % => Viewport This X Y Size - - 2 index exch - 2 index exch % => Viewport This X Y X Y Size - - 0 360 - -% Draw checkbox - newpath - 0.25 setlinewidth - arc stroke % => Viewport This X Y - -% Draw checkmark if needed - 2 index /checked get { - 2 index /get-width call-method - 6 div % => Viewport This X Y CheckSize - - 0 360 - newpath - arc fill % => Viewport This - } { pop pop } ifelse - - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.select.ps b/thirdparty/html2ps_pdf/postscript/box.select.ps deleted file mode 100644 index 1a218f58a..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.select.ps +++ /dev/null @@ -1,101 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.select.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/box-select-button-triangle-padding 1.5 def - -/box-select-create { - box-container-create % => Box - dup box-select-setup-methods - dup /box-select add-type -} def - -/box-select-reflow { % => Context Parent This -% append to parent line box - dup 2 index box-container-append-line - -% Determine coordinates of upper-left _margin_ corner - 1 index 1 index box-generic-guess-corner - -% Determine the box width - 2 index 1 index /get-max-width call-method - 1 index put-full-width - - 2 index 1 index - box-container-reflow-content - - 2 index context-pop-collapsed-margin - 0 3 index - context-push-collapsed-margin % => Context Parent This - - dup get-content 0 get get-baseline - 1 index get-extra-top add - 1 index put-baseline % => Context Parent This - - dup get-baseline - 1 index put-default-baseline - -% Offset parent current X coordinate - 1 index get-current-x - 1 index get-full-width add - 2 index put-current-x - -% Extend parent height - dup get-bottom-margin - 2 index box-generic-extend-height - - pop pop pop -} def - -/box-select-setup-methods { % => Box - dup /Methods get - dup /reflow {box-select-reflow} put - dup /show {box-select-show} put - pop pop -} def - -/box-select-show { % => Viewport Box - 2 copy box-container-show - - dup get-height - 1 index get-padding-top add - 1 index get-padding-bottom add % => Viewport Box ButtonHeight - -% Show arrow button box - 0.93 0.93 0.93 setrgbcolor - 1 index get-right-padding - 1 index sub % => Viewport Box ButtonHeight X - 2 index get-bottom-padding % => Viewport Box ButtonHeight X Y - 2 index dup % => Viewport Box ButtonHeight X Y W H - rectfill % => Viewport Box ButtonHeight - -% Show box boundary - 0 0 0 setrgbcolor - 1 index get-right-padding - 1 index sub % => Viewport Box ButtonHeight X - 2 index get-bottom-padding % => Viewport Box ButtonHeight X Y - 2 index dup % => Viewport Box ButtonHeight X Y W H - rectstroke % => Viewport Box ButtonHeight - -% Show arrow - 0 0 0 setrgbcolor - - 1 index get-right-padding - box-select-button-triangle-padding sub - 2 index get-top-padding - box-select-button-triangle-padding sub moveto - - 1 index get-right-padding - 1 index sub - box-select-button-triangle-padding add - 2 index get-top-padding - box-select-button-triangle-padding sub lineto - - 1 index get-right-padding - 1 index 2 div sub - 2 index get-bottom-padding - box-select-button-triangle-padding add lineto - - closepath - fill - - pop pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.span.ps b/thirdparty/html2ps_pdf/postscript/box.span.ps deleted file mode 100644 index 3738b7985..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.span.ps +++ /dev/null @@ -1,2 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.span.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - diff --git a/thirdparty/html2ps_pdf/postscript/box.table.cell.fake.ps b/thirdparty/html2ps_pdf/postscript/box.table.cell.fake.ps deleted file mode 100644 index 66e957d50..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.table.cell.fake.ps +++ /dev/null @@ -1,15 +0,0 @@ -/box-table-cell-fake-create { - box-table-cell-create - dup box-table-cell-fake-setup-methods - dup /box-table-cell-fake add-type -} def - -/box-table-cell-fake-setup-methods { - dup /Methods get - dup /show {box-table-cell-fake-show} put - pop pop -} def - -/box-table-cell-fake-show { % => Viewport Cell - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.table.cell.ps b/thirdparty/html2ps_pdf/postscript/box.table.cell.ps deleted file mode 100644 index 14e107fc9..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.table.cell.ps +++ /dev/null @@ -1,166 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.table.cell.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/box-table-cell-apply-vertical-align { % => Baseline Height Cell - dup /vertical-align - get-css-value % => Baseline Height Cell Valign - { % => Baseline Height Cell Valign - dup /baseline eq { - pop % => Baseline Height Cell - - 2 index - 1 index box-table-cell-get-baseline - sub % => Baseline Height Cell Delta - - 1 index get-top % => Baseline Height Cell Delta OldTop - 1 index neg - 0 - 4 index /offset call-method % => Baseline Height Cell Delta OldTop - 2 index put-top % => Baseline Height Cell Delta - - pop - - exit - } if - dup /bottom eq { - pop % => Baseline Height Cell - - 1 index - 1 index box-container-get-real-full-height - sub % => Baseline Height Cell Delta - - 1 index get-top % => Baseline Height Cell Delta OldTop - - 1 index neg 0 - 4 index - /offset call-method % => Baseline Height Cell Delta OldTop - - 2 index put-top % => Baseline Height Cell Delta - pop - exit - } if - dup /middle eq { - pop % => Baseline Height Cell - - 1 index - 1 index box-container-get-real-full-height - sub 2 div - 0 max % => Baseline Height Cell Delta - - 1 index get-top % => Baseline Height Cell Delta OldTop - - 1 index neg 0 - 4 index - /offset call-method % => Baseline Height Cell Delta OldTop - - 2 index put-top % => Baseline Height Cell Delta - pop - exit - } if - dup /super eq { pop exit } if - dup /sub eq { pop exit } if - dup /text-top eq { pop exit } if - dup /text-bottom eq { - pop % => Baseline Height Cell - - 2 index - 1 index box-table-cell-get-baseline - sub % => Baseline Height Cell Delta - - 1 index get-top % => Baseline Height Cell Delta OldTop - 1 index neg - 0 - 4 index /offset call-method % => Baseline Height Cell Delta OldTop - 2 index put-top % => Baseline Height Cell Delta - - pop - - exit - } if - dup /top eq { pop exit } if - pop exit - } loop - - pop pop pop -} def - -/box-table-cell-create { - box-container-create - dup box-table-cell-setup-methods - dup /box-table-cell add-type - - dup /Colspan 1 put - dup /Rowspan 1 put - dup /column 0 put - dup /row 0 put -} def - -/box-table-cell-get-baseline { % => Cell - dup box-container-get-first-data % => Cell First - dup /null eq { - pop pop 0 - } { - get-baseline exch pop - } ifelse -} def - -/box-table-cell-get-colspan { - /Colspan get -} def - -/box-table-cell-get-rowspan { - /Rowspan get -} def - -/box-table-cell-put-colspan { - exch /Colspan exch put -} def - -/box-table-cell-put-rowspan { - exch /Rowspan exch put -} def - -/box-table-cell-reflow { % => Context Parent Cell -% Determine upper-left _content_ corner position of current box - 1 index get-current-x - 1 index get-extra-left add - 1 index put-left % => Content Parent Cell - -% NOTE: Table cell margin is used as a cell-spacing value - 1 index get-current-y - 1 index get-border-top-width sub - 1 index get-padding-top sub - 1 index put-top % => Content Parent Cell - -% CSS 2.1: -% Floats, absolutely positioned elements, inline-blocks, table-cells, and elements with 'overflow' other than -% 'visible' establish new block formatting contexts. - 2 index context-push - dup get-uid - 3 index context-push-container-uid - -% Reflow cell content - 2 index 1 index - box-container-reflow-content % => Content Parent Cell - -% Extend the table cell height to fit all contained floats -% Determine the bottom edge corrdinate of the bottommost float - 2 index context-float-bottom % => Content Parent Cell FloatBottom - dup /null ne { - 1 index box-generic-extend-height - } { - pop - } ifelse % => Content Parent Cell - -% Restore old context - 2 index context-pop-container-uid - 2 index context-pop - - pop pop pop -} def - -/box-table-cell-setup-methods { - dup /Methods get - dup /reflow {box-table-cell-reflow} put - pop pop -} def - diff --git a/thirdparty/html2ps_pdf/postscript/box.table.ps b/thirdparty/html2ps_pdf/postscript/box.table.ps deleted file mode 100644 index d5be065c1..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.table.ps +++ /dev/null @@ -1,1272 +0,0 @@ -/box-table-apply-colspans { % => MaxWC MinWC WidthFun Context Widths This - dup box-table-get-colspans { % => MaxWC MinWC WidthFun Context Widths This Colspan - dup cellspan-get-row - 1 index cellspan-get-column - 3 index box-table-get-cell % => MaxWC MinWC WidthFun Context Widths This Colspan Cell - -% apply colspans to the corresponsing colspanned-cell dimension - 4 index 1 index - 7 index call-method % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth - -% Apply cell constraint width, if any AND if table width is constrained -% if table width is not constrained, we should not do this, as current value -% of $table->get_width is maximal width (parent width), not the actual -% width of the table - 1 index get-width-constraint - dup /type get /none ne { % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth WC - 4 index /get-width call-method - 2 index - 2 index - dup /apply get exec % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth WC CellWidth' - exch pop - exch pop - } { pop } ifelse % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - -% now select the pre-calculated widths of columns covered by this cell -% select the list of resizable columns covered by this cell - [] [] % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' SpannedWidth SpannedRezisable - - 4 index cellspan-get-column - 1 - 6 index cellspan-get-column - 7 index cellspan-get-size add - 1 sub { % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth SpannedRezisable I - 7 index 1 index get % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth SpannedRezisable I Widths[i] - 4 3 roll array-prepend - 3 1 roll % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable I - 11 index 1 index get % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable I MaxWC[i] - 11 index 2 index get % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable I MaxWC[i] MinWC[i] - ne % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable I MaxWC[i]<>MinWC[i] - exch pop - exch array-prepend % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' - } for % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' - -% Sometimes we may encounter the colspan over the empty columns (I mean ALL columns are empty); in this case -% we need to make these columns reizable in order to fit colspanned cell contents - - 1 index sum 0 eq { % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' - 0 1 2 index length 1 sub { % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' I - 2 index 1 index rounding-epsilon put - 1 index 1 index true put - pop - } for - } if % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' - -% The same problem may arise when all colspanned columns are not resizable; in this case we'll force all -% of them to be resized - { or } false 2 index reduce % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' AnyResizable - not { - 0 1 2 index length 1 sub { % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' I - 1 index 1 index true put - pop - } for - } if % => MaxWC MinWC WidthFun Context Widths This Colspan Cell CellWidth' - % SpannedWidth' SpannedRezisable' - -% Expand resizable columns - expand-to-with-flags % => MaxWC MinWC WidthFun Context Widths This Colspan Cell SpannedWidths' - -% Store modified widths - 4 index - 3 index cellspan-get-column - 2 index - putinterval % => MaxWC MinWC WidthFun Context Widths This Colspan Cell SpannedWidths' - - pop pop pop - } forall % => MaxWC MinWC WidthFun Context Widths' This - - pop - exch pop - exch pop - exch pop - exch pop -} def % => Widths - -/box-table-columns-fit { % => Context Width Table - 2 index - 1 index - box-table-get-table-columns-min-widths % => Context Width Table MinW - - 3 index - 2 index - box-table-get-table-columns-max-widths % => Context Width Table MinW MaxW - -% Store number of columns - - dup length % => Context Width Table MinW MaxW Columns - -% Apply column width constraints - - [] [] % => Context Width Table MinW MaxW Columns MinWC MaxWC - 0 1 4 index 1 sub { % => Context Width Table MinW MaxW Columns MinWC MaxWC I - dup 7 index - box-table-get-cwc % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC - -% Do not allow constrained max width be less than min width -% Do not allow constrained min width be less than min width - - 7 index /get-width call-method % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth - 8 index /cellpadding get-css-value 2 mul - 9 index /cellspacing get-css-value add - % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra - - - 8 index 4 index get % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MinW[i] - 1 index sub - 2 index 1 index 5 index - dup /apply get exec % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MinW[i] MinW[i]' - 2 index add - max % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MinW[i]'' - 7 6 roll array-prepend - 6 1 roll % => Context Width Table MinW MaxW Columns MinWC' MaxWC I CWC ThisWidth Extra - - 8 index 4 index get % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MinW[i] - 1 index sub - 2 index 1 index 5 index - dup /apply get exec % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MinW[i] MaxW[i]' - 2 index add - max % => Context Width Table MinW MaxW Columns MinWC MaxWC I CWC ThisWidth Extra MaxW[i]'' - 6 5 roll array-prepend - 5 1 roll % => Context Width Table MinW MaxW Columns MinWC MaxWC' I CWC ThisWidth Extra - - pop pop pop pop % => Context Width Table MinW MaxW Columns MinWC MaxWC - } for - - 1 index 5 index 8 index 8 index - box-table-normalize-min-widths % => Context Width Table MinW MaxW Columns MinWC MaxWC MinWC' - 3 2 roll pop exch % => Context Width Table MinW MaxW Columns MinWC' MaxWC - - dup - 2 index - /get-min-width - 10 index - 5 index - 10 index - box-table-apply-colspans % => Context Width Table MinW MaxW Columns MinWC MaxWC MinWC' - 3 2 roll pop exch % => Context Width Table MinW MaxW Columns MinWC' MaxWC - -% We need to normalize widths for the case of colspans width is too much; for example: -%
-%
TEXTTEXT
-% in this case table SHOULD NOT be expanded over the 100px! - - 1 index - 5 index - 8 index - 8 index - box-table-normalize-min-widths % => Context Width Table MinW MaxW Columns MinWC' MaxWC MinWC' - 3 2 roll pop exch - - dup - 2 index - /get-max-width - 10 index - 4 index - 10 index - box-table-apply-colspans % => Context Width Table MinW MaxW Columns MinWC MaxWC MaxWC' - exch pop % => Context Width Table MinW MaxW Columns MinWC' MaxWC - -% Calculate actual widths -% Calculate widths for all constrained columns - - [] - 0 1 5 index 1 sub { % => Context Width Table MinW MaxW Columns MinWC' MaxWC Widths I - dup 8 index - box-table-is-constrained-column { - 3 index exch get - exch array-prepend % => Context Width Table MinW MaxW Columns MinWC' MaxWC Widths' - } { % => Context Width Table MinW MaxW Columns MinWC' MaxWC Widths I - pop 0 exch array-prepend % => Context Width Table MinW MaxW Columns MinWC' MaxWC Widths' - } ifelse - } for % => Context Width Table MinW MaxW Columns MinWC' MaxWC Widths' - -% Quick fix for overconstrained tables: if table have width attribute AND its value is less than sum -% of constrained columns widths plus minimal widths of uncostrained columns, then we'll expand the width of table -% to fit all columns -% 1. calculate sum of constrained column widths -% 2. calculate sum of unconstrained column minimal widths - - 0 0 % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW - 0 1 7 index 1 sub { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW I - dup 10 index box-table-is-constrained-column { - 3 index 1 index get % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW I W - 4 3 roll add 3 1 roll % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW' SumUCW I - } { - 5 index 1 index get % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW I CW - 3 2 roll add exch % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW' I - } ifelse - pop - } for % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths SumCW SumUCW - -% 3. compare these widths with the table width and choose the maximal value - - add - 8 index max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths Width' - 9 8 roll pop 8 1 roll % => Context Width' Table MinW MaxW Columns MinWC MaxWC Widths - -% Second pass - disctribute the rest of the width - -% Explanation of the stuff below (I've really had problems with this small piece of code, especially -% when I was trying to fix "bugs" inside it) -% -% First of all, no column can be narrower than it minimal width (determined by its content) -% Note that constrained columns have their widths distributed above, so we can exclude them for now -% (just throw them out and imagine that table does not contain any width-constrained cols) -% -% Second, the relative widths of columns will have _appoximately_ the same ratio as -% their maximal content widths. (In exception of cases where the first rule will take place - -% say for the table containing two columns with the VERY long text in the first and one or two words -% in the second) -% -% In general, this approach can be inoptimal in case of _very_ different font sizes -% inside the cells, of, say big images; nevertheless, it will give a good approximate -% AND still fast enough (unlike fully correct methods involving evaluation of the content height of the cell) -% -% Thus, we do the following: -% - calculate the ratio of current column MAXIMAL ($current_max) width to the sum of MAXIMAL widths of all columns left -% (inluding current) second rule applied. Note that we need remember about column spans and select -% maxw or maxwc in order. -% - then check if the rest of width will be too small for other columns to fit and decrease current columns -% width (see MIN function call) -% - then check again if our width will be too small for current column to fit (and expand if nesessary) - -% MAX function call - % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths - - 0 1 5 index 1 sub { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I - dup 8 index - box-table-is-constrained-column not { - -% Get undistributed width (total table width - width of constrained columns) - - 8 index 2 index sum sub % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest - -% get max width of column being processed -% If width is equal to zero, use max constrained width, as this column could be covered by colspan; -% If not, we lose nothing, because all constrained columns are already processed earlier, and no more -% columns except these two types can have different constrained and raw widths - - 6 index 2 index get - 4 index 3 index get max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - -% Get sum of maximal constrained widths of unplaced columns - 0 0 % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW - - 0 1 10 index 1 sub { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW J - 6 index 1 index get 0 eq { - 10 index 1 index get - 8 index 2 index get - max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW J DSumMaxCW - 4 3 roll add 3 1 roll % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW' SumMinCW J - - 11 index 1 index get - 9 index 2 index get - max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW J DSumMinCW - 3 2 roll add exch % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW' J - } if % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW J - pop - } for % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW - -% If some unplaced columns have maximal (constrained width) greater zero - 1 index 0 gt { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW - 10 index 5 index get - 8 index 6 index get max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW max($minwc[$i],$minw[$i])) - 1 index sub - 4 index add % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW ($rest-$sum_min_cw+max($minwc[$i],$minw[$i])) - 3 index - 5 index mul - 3 index div - - min % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I Rest CurrentMax - % SumMaxCW SumMinCW CurrentMax' - exch pop - exch pop - exch pop - exch pop % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I CurrentMax' - } { - pop pop exch pop - } ifelse % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I CurrentMax - -% Check for minimal width (either unconstrained or constrained) of current column - - 7 index 2 index get 0 eq { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I CurrentMax - 4 index 2 index get - } { - 7 index 2 index get - } ifelse - max % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I CurrentMax' - -% Store calculated width - - 2 index exch - 2 index exch - put % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths' I - - } if % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I CurrentMax - - pop - } for % => Context Width' Table MinW MaxW Columns MinWC MaxWC Widths - -% Process the case of a lone empty table cell (used, for example, for its background color) -% as we're using floating point numbers, we cannot use equals sign - - dup sum rounding-epsilon lt { - 0 1 2 index length 1 sub { % => Context Width' Table MinW MaxW Columns MinWC MaxWC Widths I - 1 index exch % => Context Width' Table MinW MaxW Columns MinWC MaxWC I Widths - rounding-epsilon - put % => Context Width' Table MinW MaxW Columns MinWC MaxWC Widths - } for - } if % => Context Width' Table MinW MaxW Columns MinWC MaxWC Widths - -% now - the last attempt; if total width is less than box width, then we have a situation when either -% all columns AND table are width constrained or the HTML similer to the following: -% -% -% -%
TEXT -% -% e.g. empty column (with zero width) and fixed-width column. - - dup sum 8 index lt { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths -% Let's make zero-width columns -% non-zero width (so that they columb expanded) and re-try expanding columns - - 0 1 2 index length 1 sub { % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths I - 1 index 1 index get 0 eq { - 1 index 1 index rounding-epsilon put - } if - pop - } for % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths - - 7 index - 1 index - 8 index box-table-get-non-constrained-width-flags - expand-to-with-flags % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths Widths' - exch pop - } if % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths - -% in case of overconstrained table (e.g. two columns with 20% widths), expand them - 7 index - 1 index expand-to - exch pop % => Context Width Table MinW MaxW Columns MinWC MaxWC Widths' - - exch pop - exch pop - exch pop - exch pop - exch pop - exch pop - exch pop - exch pop -} def - -/box-table-column-widths { % => Context Table - 1 index - 1 index /get-width call-method - 2 index box-table-columns-fit % => Context Table Widths - exch pop - exch pop -} def - -/box-table-count-cols { - get-content 0 get - get-content length -} def - -/box-table-count-rows { - get-content length -} def - -/box-table-create { % => - box-container-create % => Box - dup box-table-setup-methods - dup /box-table add-type - -% List of column width constraints - dup [] box-table-put-cwc-list - dup [] box-table-put-rhc-list - -} def - -/box-table-fit-rowspans { % => Heights Table -% Scan all cells spanning several rows - dup box-table-get-rowspans % => Heights Table Rowspans - { % => Heights Table Rowspan - dup cellspan-get-row - 1 index cellspan-get-column % => Heights Table Rowspan RsRow RsCol - 3 index box-table-get-cell % => Heights Table Rowspan Cell - -% now check if cell height is less than sum of spanned rows heights - 3 index - 2 index cellspan-get-row - 3 index cellspan-get-size - getinterval % => Heights Table Rowspan Cell RowHeights - sum % => Heights Table Rowspan Cell RowHeightsSum - - dup 2 index get-full-height gt { -% Vertical-align current cell -% calculate (approximate) row baseline - 3 index get-content % => Heights Table Rowspan Cell RowHeightsSum Rows - 3 index cellspan-get-row get % => Heights Table Rowspan Cell RowHeightsSum Row - box-table-row-get-baseline % => Heights Table Rowspan Cell RowHeightsSum RowBaseline - - -% apply vertical-align - 1 index 3 index % => Heights Tablw Rowspan Cell RowHeightsSum Baseline RowHeightsSum Cell - box-table-cell-apply-vertical-align - % => Heights Tablw Rowspan Cell RowHeightsSum - -% Make cell fill all available vertical space - dup 2 index put-full-height % => Heights Tablw Rowspan Cell RowHeightsSum - } if % => Heights Table Rowspan Cell RowHeightsSum - pop pop pop - } forall % => Heights Table - - pop pop -} def - -/box-table-get-cell { % => Y X Table - dup get-content - 3 index get % => Y X Table Row - get-content - 2 index get % => Y X Table Cell - exch pop - exch pop - exch pop -} def - -/box-table-get-colspans { % => Table - [] - 0 - 2 index get-content % => Table RS I Rows - { % => Table RS I Row - 1 index exch - box-table-row-get-colspans % => Table RS I RowColSpans - 3 2 roll exch % => Table I RS RowColSpans - array-merge % => Table I RS' - exch % => Table RS' I - - 1 add - } forall - pop - - exch pop -} def - -/box-table-get-cwc { % => Index Table - /CWC get exch get -} def - -% Note that if table have no width constraint AND some columns are percentage constrained, -% then the width of the table can be determined based on the minimal column width; -% e.g. if some column have minimal width of 10px and 10% width constraint, -% then table will have minimal width of 100px. If there's several percentage-constrained columns, -% then we choose from the generated values the maximal one -% -% Of course, all of the above can be applied ONLY to table without width constraint; -% of theres any w.c. applied to the table, it will have greater than column constraints -% -% We must take constrained table width into account; if there's a width constraint, -% then we must choose the maximal value between the constrained width and sum of minimal -% columns widths - so, expanding the constrained width in case it is not enough to fit -% the table contents -% -% @param $context referene to a flow context object -% @return minimal box width (including the padding/margin/border width! NOT content width) -% -/box-table-get-min-width { % => Context Table - 1 index 1 index - box-table-get-table-columns-min-widths - % => Context Table Widths - dup sum % => Context Table Widths Width - dup % => Context Table Widths Width BaseWidth - - 3 index get-width-constraint - /type get /none ne { % => Context Table Widths Width BaseWidth -% Check if constrained table width should be expanded to fit the table contents - - 1 index % => Context Table Widths Width BaseWidth Width - 5 index - 5 index get-parent - box-container-get-available-width - % => Context Table Widths Width BaseWidth Width AvailWidth - 0 - 6 index get-width-constraint - dup /apply get exec % => Context Table Widths Width BaseWidth Width CWidth - max % => Context Table Widths Width BaseWidth Width' - - 3 2 roll pop exch % => Context Table Widths Width' BaseWidth - } { % => Context Table Widths Width BaseWidth -% Now check if there's any percentage column width constraints (note that -% if we've get here, than the table width is not constrained). Calculate -% the table width basing on these values and select the maximal value - - 0 % => Context Table Widths Width BaseWidth I - 3 index { % => Context Table Widths Width BaseWidth I Widths[i] - 1 index - 6 index box-table-get-cwc % => Context Table Widths Width BaseWidth I Widths[i] CWC - - 3 index exch % => Context Table Widths Width BaseWidth I Widths[i] BaseWidth CWC - 2 index exch % => Context Table Widths Width BaseWidth I Widths[i] BaseWidth Width[i] CWC - dup /apply-inverse get exec % => Context Table Widths Width BaseWidth I Widths[i] ICW - - 7 index - 7 index get-parent - box-container-get-available-width - % => Context Table Widths Width BaseWidth I Widths[i] ICW AW - 7 index get-hor-extra sub % => Context Table Widths Width BaseWidth I Widths[i] ICW AW-HE - min % => Context Table Widths Width BaseWidth I Widths[i] min(ICW,AW-HE) - - 4 index max % => Context Table Widths Width BaseWidth I Widths[i] W - 5 4 roll pop 4 1 roll % => Context Table Widths Width' BaseWidth I Widths[i] - - pop 1 add - } forall % => Context Table Widths Width BaseWidth I - pop - } ifelse - - pop % => Context Table Widths Width - 2 index get-hor-extra add % => Context Table Widths Width' - exch pop - exch pop - exch pop -} def - -/box-table-get-max-width { % => Context Table - dup get-width-constraint - /type get /none ne { % => Context Table -% Check if constrained table width should be expanded to fit the table contents - 1 index - 1 index - box-container-get-available-width - % => COntext Table AvailableWidth - 0 % => Context Table AvailableWidth 0 - 2 index get-width-constraint % => Context Table AvailableWidth 0 WC - dup /apply get exec % => Context Table WC - } { % => Context Table - 2 copy - box-table-get-table-columns-max-widths - % => Context Table CMaxW - 2 index - 2 index - box-table-get-table-columns-min-widths - % => Context Table CMaxWs CMinWs - 1 index - 1 index - /get-max-width % => Context Table CMaxWs CMinWs CMaxWs CMinWs /get-max-width - 6 index % => Context Table CMaxWs CMinWs CMaxWs CMinWs /get-max-width Context - 3 index % => Context Table CMaxWs CMinWs CMaxWs CMinWs /get-max-width Context CMaxWs - 7 index - box-table-apply-colspans % => Context Table CMaxWs CMinWs CMaxWs' - exch pop exch pop % => Context Table Widths - - dup sum dup % => COntext Table Widths W BaseW - -% Now check if there's any percentage column width constraints (note that -% if we've get here, than the table width is not constrained). Calculate -% the table width basing on these values and select the maximal value - - 0 % => Context Table Widths Width BaseWidth I - 3 index { % => Context Table Widths Width BaseWidth I Widths[i] - 1 index - 6 index box-table-get-cwc % => Context Table Widths Width BaseWidth I Widths[i] CWC - - 3 index exch % => Context Table Widths Width BaseWidth I Widths[i] BaseWidth CWC - 2 index exch % => Context Table Widths Width BaseWidth I Widths[i] BaseWidth Width[i] CWC - dup /apply-inverse get exec % => Context Table Widths Width BaseWidth I Widths[i] ICW - - 7 index - 7 index get-parent - box-container-get-available-width - % => Context Table Widths Width BaseWidth I Widths[i] ICW AW - 7 index get-hor-extra sub % => Context Table Widths Width BaseWidth I Widths[i] ICW AW-HE - min % => Context Table Widths Width BaseWidth I Widths[i] min(ICW,AW-HE) - - 4 index max % => Context Table Widths Width BaseWidth I Widths[i] W - 5 4 roll pop 4 1 roll % => Context Table Widths Width' BaseWidth I Widths[i] - - pop 1 add - } forall % => Context Table Widths Width BaseWidth I - pop pop exch pop % => Context Table Width - } ifelse - - 1 index get-hor-extra add % => Context Table Width' - exch pop - exch pop -} def - -% Get a list of boolean values indicating if table rows are NOT constant constrained -% -% @return array containing 'true' value at index I if I-th row is height-constrained -% and 'false' otherwise -% -/box-table-get-non-constant-constrained-height-flags { - [] % => Table Flags - 0 1 3 index - box-table-count-rows - 1 sub { % => Table Flags I - 2 index box-table-get-rhc % => Table Flags RHC - hc-is-constant not % => Table Flags Flag - exch array-prepend % => Table Flags' - } for % => Table Flags - - exch pop % => Flags -} def - -% Get a list of boolean values indicating if table rows are height constrained -% -% @return array containing 'true' value at index I if I-th row is not height-constrained -% and 'false' otherwise -% -/box-table-get-non-constrained-flags { % => Table - [] % => Table Flags - 0 1 3 index - box-table-count-rows - 1 sub { % => Table Flags I - 2 index box-table-get-rhc % => Table Flags RHC - hc-is-null % => Table Flags Flag - exch array-prepend % => Table Flags' - } for % => Table Flags - - exch pop % => Flags -} def - -% Get a list of boolean values indicating if table columns are height constrained -% -% @return array containing 'true' value at index I if I-th columns is not width-constrained -% and 'false' otherwise -% -/box-table-get-non-constrained-width-flags { - [] % => Table Flags - 0 1 3 index - box-table-count-cols - 1 sub { % => Table Flags I - 2 index box-table-get-cwc % => Table Flags CWC - /type get /none eq - exch array-prepend % => Table Flags' - } for % => Table Flags - - exch pop % => Flags -} def - -% Get a list of boolean values indicating if table rows are height constrained using percentage values -% -% @return array containing 'true' value at index I if I-th row is not height-constrained -% and 'false' otherwise -% -/box-table-get-non-percentage-constrained-height-flags { - [] % => Table Flags - 0 1 3 index - box-table-count-rows - 1 sub { % => Table Flags I - 2 index box-table-get-rhc % => Table Flags RHC - hc-is-percentage not % => Table Flags Flag - exch array-prepend % => Table Flags' - } for % => Table Flags - - exch pop % => Flags -} def - -/box-table-get-rhc { % => Index Table - /RHC get exch get -} def - -/box-table-get-rowspans { % => Table - [] - 0 - 2 index get-content % => Table RS I Rows - { % => Table RS I Row - 1 index exch - box-table-row-get-rowspans % => Table RS I RowColSpans - 3 2 roll exch % => Table I RS RowColSpans - array-merge % => Table I RS' - exch % => Table RS' I - - 1 add - } forall % => Table RS I - pop - - exch pop -} def - -/box-table-get-table-columns-min-widths { % => Context Table - [] % => Context Table Widths - 1 index get-content 0 get get-content { % => Context Table Widths Cell - pop 0 exch array-append - } forall % => Context Table Widths - - 1 index get-content { % => Context Table Widths Row - 3 index exch - box-table-row-get-table-columns-min-widths - { max } zip-with % => Context Table Widths' - } forall % => Context Table Widths - - exch pop - exch pop -} def - -/box-table-get-table-columns-max-widths { % => Context Table - [] % => Context Table Widths - 1 index get-content 0 get get-content { % => Context Table Widths Cell - pop 0 exch array-append - } forall % => Context Table Widths - - 1 index get-content { % => Context Table Widths Row - 3 index exch - box-table-row-get-table-columns-max-widths - { max } zip-with % => Context Table Widths' - } forall % => Context Table Widths - -% Use column width constraints - column should not be wider its constrained width - 0 1 2 index length 1 sub { % => Context Table Widths I - dup 3 index box-table-get-cwc % => Context Table Widths I CWC - -% Newertheless, percentage constraints should not be applied IF table -% does not have constrained width - - dup /type get - /fraction eq not { % => Context Table Widths I CWC - 3 index /get-width call-method - 3 index 3 index get - 2 index dup /apply get exec % => Context Table Widths I CWC W - 3 index exch - 3 index exch put % => Context Table Widths I CWC - } if - pop - pop - } for - - exch pop - exch pop -} def - -/box-table-get-width { % => Table - dup get-parent - /box-table-cell is-a not % => Table C1 - 1 index get-parent - get-width-constraint /type get - /none eq not % => Table C1 C2 - 2 index get-width-constraint - /type get /fraction eq not % => Table C1 C2 C3 - or or { - dup get-parent /Position get /width get - 1 index /Position get /width get - 2 index get-width-constraint - wc-apply % => Table W - } { - dup /Position get /width get - } ifelse - - exch pop -} def - -/box-table-have-colspan { % => Y X Table - 3 copy box-table-get-cell % => Y X Table Cell - box-table-cell-get-colspan - - exch pop - exch pop - exch pop -} def - -/box-table-have-rowspan { % => Y X Table - dup get-content % => Y X Table Rows - 3 index get % => Y X Table Row - 2 index get % => Y X Table Cell - box-table-cell-get-rowspan - - exch pop - exch pop - exch pop -} def - -/box-table-is-constrained-column { % => Index Table - 2 copy box-table-get-cwc - /type get /none ne - - exch pop - exch pop -} def - -% Tries to change minimal constrained width so that columns will fit into the given -% table width -% -% Note that every width constraint have its own priority; first, the unconstrained columns are collapsed, -% then - percentage constrained and after all - columns having fixed width -% -% @param $width table width -% @param $minw array of unconstrained minimal widths -% @param $minwc array of constrained minimal widths -% @return list of normalized minimal constrained widths -% -/box-table-normalize-min-widths { % => MinWC MinW Width Table -% Check if sum of constrained widths is too big -% Note that we compare sum of constrained width with the MAXIMAL value of table width and -% sum of uncostrained minimal width; it will prevent from unneeded collapsing of table cells -% if table content will expand its width anyway - - 2 index sum - 2 index max % => MinWC MinW Width Table TWidth - -% compare with sum of minimal constrained widths - - 4 index sum 1 index gt { - 4 index sum 1 index sub % => MinWC MinW Width Table TWidth Delta - -% Calculate the amount of difference between minimal and constrained minimal width for each columns - 5 index - 5 index - { sub } zip-with % => MinWC MinW Width Table TWidth Delta Diff - -% If no difference is found, we can collapse no columns -% otherwise scale some columns... - - dup sum % => MinWC MinW Width Table TWidth Delta Diff CWDelta - - dup 0 gt { % => MinWC MinW Width Table TWidth Delta Diff CWDelta - 0 1 3 index length 1 sub { % => MinWC MinW Width Table TWidth Delta Diff CWDelta I - 2 index 1 index get neg % => MinWC MinW Width Table TWidth Delta Diff CWDelta I -diff[i] - 2 index div % => MinWC MinW Width Table TWidth Delta Diff CWDelta I -diff[i]/cwdelta - 4 index mul % => MinWC MinW Width Table TWidth Delta Diff CWDelta I -diff[i]/cwdelta*delta - 9 index 2 index get add % => MinWC MinW Width Table TWidth Delta Diff CWDelta I MinWC[i]' - 9 index exch - 2 index exch put % => MinWC MinW Width Table TWidth Delta Diff CWDelta I - pop % => MinWC MinW Width Table TWidth Delta Diff CWDelta - } for - } if % => MinWC MinW Width Table TWidth Delta Diff CWDelta - pop pop pop - } if % => MinWC MinW Width Table TWidth - pop pop pop pop % => MinWC -} def - -/box-table-put-cwc-list { % => Box List - /CWC exch put -} def - -/box-table-put-rhc-list { % => Box List - /RHC exch put - -} def - -/box-table-reflow { % => Context Parent This - dup /float get-css-value /none eq { - 3 copy - box-table-reflow-static-normal - } { - 3 copy - box-container-reflow-static-float - } ifelse - - pop pop pop -} def - -/box-table-reflow-content { % => Context This -% Reset current Y value - - dup get-top - 1 index put-current-y - -% Determine the base table width -% if width constraint exists, the actual table width will not be changed anyway - - dup /get-width call-method - 2 index 2 index /get-max-width call-method - min - 1 index put-width - -% calculate width of table columns - - 2 copy box-table-column-widths % => Context This ColWidths - -% Collapse table to minimum width (if width is not constrained - - dup sum 2 index put-width % => Context This ColWidths - -% Flow cells horizontally in each table row - - 0 1 - 3 index box-table-count-rows - 1 sub { % => Context This ColWidths I - -% Row flow started -% Reset current X coordinate to the far left of the table - - 2 index get-left - 3 index put-current-x - -% Flow each cell in the row - - 0 % => Context This ColWidths I Span - 0 1 - 5 index box-table-count-cols - 1 sub { % => Context This ColWidths I Span J -% Skip cells covered by colspans (fake cells, anyway) - 1 index 0 eq { % => Context This ColWidths I Span J -% Flow current cell -% Any colspans here? - 2 index 1 index 6 index - box-table-have-colspan % => COntext This ColWidths I Span J Span' - 3 2 roll pop exch % => COntext This ColWidths I Span' J - -% Get sum of width for the current cell (or several cells in colspan) -% In most cases, $span == 1 here (just a single cell) - - 3 index 1 index 3 index - getinterval sum % => COntext This ColWidths I Span' J CW - -% store calculated width of the current cell - - 3 index 2 index % => Context This ColWidths I Span J CW I(Row) J(Col) - 7 index - box-table-get-cell % => COntext This ColWidths I Span J CW Cell - - 1 index 1 index - put-full-width % => COntext This ColWidths I Span J CW Cell - - 1 index 1 index get-hor-extra sub - wc-create-constant - 1 index put-width-constraint % => COntext This ColWidths I Span' J CW Cell - -% Flow cell - - 7 index 7 index 2 index - /reflow call-method % => COntext This ColWidths I Span' J CW Cell - - 6 index get-current-x - 2 index add - 7 index put-current-x % => COntext This ColWidths I Span' J CW Cell - - pop pop - } if % => Context This ColWidths I SPan J - pop % => Context This ColWidths I SPan - -% Current cell have been processed or skipped - 1 sub 0 max - } for % => Context This ColWidths I SPan - - pop % => Context This ColWidths I - -% row height calculation offset current Y coordinate by the row height calculated - 2 index get-content - 1 index get % => Context This ColWidth I Row - box-table-row-height % => Context This ColWidth I RH - 3 index get-current-y - exch sub - 3 index put-current-y % => Context This ColWidth I - - pop - } for % => Context This ColWidths - - pop % => Context This - -% Calculate (and possibly adjust height of table rows) - 0.1 1 index box-table-row-heights % => Context This RowHeights - -% adjust row heights to fit cells spanning several rows - 1 index box-table-get-rowspans { % => Context This RowHeights Rowspan - % Get height of the cell - dup cellspan-get-row - 1 index cellspan-get-column - 4 index - box-table-get-cell - get-full-height % => Context This RowHeights Rowspan CellHeight - -% Get calculated height of the spanned-over rows - 2 index - 2 index cellspan-get-row - 3 index cellspan-get-size - getinterval % => Context This RowHeights Rowspan CellHeight CellRowHeights - -% Get list of non-constrained columns - 4 index box-table-get-non-constrained-flags - 3 index cellspan-get-row - 4 index cellspan-get-size - getinterval % => Context This RowHeights Rowspan CellHeight CellRowHeights Flags - -% Expand row heights (only for non-constrained columns) - 3 copy - expand-to-with-flags % => Context This RowHeights Rowspan CellHeight CellRowHeights Flags NewHeights - exch pop % => Context This RowHeights Rowspan CellHeight CellRowHeights NewHeights - -% Check if rows could not be expanded - - dup sum 3 index rounding-epsilon sub lt { % => Context This RowHeights Rowspan CellHeight CellRowHeights NewHeights - pop - -% Get list of non-constant-constrained columns - - 4 index box-table-get-non-constant-constrained-flags - 3 index cellspan-get-row - 4 index cellspan-get-size - getinterval % => Context This RowHeights Rowspan CellHeight CellRowHeights Flags - - 3 copy - expand-to-with-flags % => Context This RowHeights Rowspan CellHeight CellRowHeights Flags NewHeights - exch pop % => Context This RowHeights Rowspan CellHeight CellRowHeights NewHeights - } if % => Context This RowHeights Rowspan CellHeight CellRowHeights NewHeights - -% Update the rows heights - 4 index - 4 index cellspan-get-row - 2 index - putinterval % => Context This RowHeights Rowspan CellHeight CellRowHeights NewHeights - - pop pop pop pop - } forall % => Context This RowHeights - -% Now expand rows to full table height - dup sum - 2 index get-height - max % => Context This RowHeights TableHeight - -% Get list of non-constrained coluns - 2 index box-table-get-non-constrained-flags - 1 index exch - 3 index exch - expand-to-with-flags % => Context This RowHeights TableHeight RowHeights' - 3 2 roll pop exch % => Context This RowHeights' TableHeight - -% Check if rows could not be expanded - 1 index sum - 1 index rounding-epsilon sub % => Context This RowHeights' TableHeight - lt { -% Get list of non-constant-constrained columns - 2 index box-table-get-non-constant-constrained-flags -% use non-constant-constrained rows - 2 index exch - expand-to-with-flags % => Context This RowHeights' TableHeight - } if % => Context This RowHeights' TableHeight - pop - -% Now we calculated row heights, time to actually resize them - dup 2 index box-table-resize-rows % => Context This RowHeights - -% Update size of cells spanning several rows - dup 2 index - box-table-fit-rowspans % => Context This Rowheights - - pop pop pop -} def - -/box-table-reflow-static-normal { % => Context Parent This -% Calculate margin values if they have been set as a percentage - 1 index 1 index - box-generic-calc-percentage-margins - -% Calculate width value if it had been set as a percentage - 3 copy - box-generic-calc-percentage-width - -% As table width can be deterimined by its contents, we may calculate auto values -% only AFTER the contents have been reflown; thus, we'll offset the table -% as a whole by a value of left margin AFTER the content reflow - -% Do margin collapsing - - 3 copy box-generic-collapse-margin % => Context Parent This Y - -% At this moment we have top parent/child collapsed margin at the top of context object -% margin stack - - 3 index exch 2 index box-generic-apply-clear - -% Store calculated Y coordinate as current Y in the parent box - - 2 index put-current-y % => Context Parent This - -% Terminate current parent line-box - - 2 index 2 index - box-container-close-line - -% And add current box to the parent's line-box (alone) - - dup 2 index - box-container-append-line % => Context Parent This - -% Determine upper-left _content_ corner position of current box -% Also see note above regarding margins - - 1 index get-current-x - 1 index get-border-left-width add - 1 index get-padding-left add - 1 index put-left % => Context Pareht This - -% Note that top margin already used above during maring collapsing - - 1 index get-current-y - 1 index get-border-top-width sub - 1 index get-padding-top sub - 1 index put-top % => Context Parent This - -% By default, child block box will fill all available parent width; -% note that actual width will be smaller because of non-zero padding, border and margins - - 2 index - 2 index box-container-get-available-width - 1 index put-full-width % => Context Parent This - -% reflow contents - - 2 index 1 index - box-table-reflow-content % => Context Parent This - -% Update the collapsed margin value with current box bottom margin - - 2 index context-pop-collapsed-margin - 2 index context-pop-collapsed-margin - dup get-margin-bottom - 3 index context-push-collapsed-margin - -% Calculate margins and/or width is 'auto' values have been specified - - 2 copy box-generic-calc-auto-width-margins - 0 1 index get-margin-left 2 index - /offset call-method - -% Extend parent's height to fit current box - dup get-bottom-margin - 2 index box-generic-extend-height - -% terminate parent's line box - - 2 index - 2 index box-container-close-line % => Context Parent This - - pop pop pop -} def - -/box-table-resize-rows { % => Heights Table - dup get-top % => Heights Table RowTop - 0 % => Heights Table RowTop I - 2 index get-content { % => Heights Table RowTop I Row - 4 index 2 index get % => Heights Table RowTop I Row H[I] - 3 index % => Heights Table RowTop I Row H[I] RowTop - 1 index % => Heights Table RowTop I Row H[I] RowTop H[I] - 3 index % => Heights Table RowTop I Row H[i] RowTop H[I] Row - box-table-row-resize % => Heights Table RowTop I Row H[i] - - exch pop % => Heights Table RowTop I H[i] - 3 2 roll exch sub exch % => Heights Table RowTop' I - - 1 add % => Heights Table RowTop I+1 - } forall % => Heights Table RowTop I - pop pop - - 1 index sum - 1 index put-height - - pop pop % => -} def - -% Calculate set of row heights -% -% @param $minheight the minimal allowed height of the row; as we'll need to expand rows later -% and rows containing totally empty cells will have zero height -% @return array of row heights in media points -% -/box-table-row-heights { % => Minheight Box - [] [] 0 % => Minheight Box Heights CHeights I - 3 index get-content { % => Minheight Box Heights CHeights I Row - box-table-row-height % => Minheight Box Heights CHeights I RowHeight - 5 index max % => Minheight Box Heights CHeights I RowHeight' - - dup % => Minheight Box Heights CHeights I RowHeight RowHeight - 5 4 roll % => Minheight Box CHeights I RowHeight RowHeight Heights - array-prepend % => Minheight Box CHeights I RowHeight Heights' - 4 1 roll % => Minheight Box Heights' CHeights I RowHeight - - 1 index 5 index - box-table-get-rhc % => Minheight Box Heights' CHeights I RowHeight RHC - - 5 index get-content - 3 index get exch % => Minheight Box Heights' CHeights I RowHeight RHC Cell - 2 index exch - hc-apply % => Minheight Box Heights' CHeights I RowHeight RowHeightC - - 4 3 roll % => Minheight Box Heights' I RowHeight RowHeightC CHeights - array-prepend % => Minheight Box Heights' I RowHeight CHeights' - 3 1 roll % => Minheight Box Heights' CHeights' I RowHeight - - pop 1 add % => Minheight Box Heights' CHeights' I+1 - } forall pop % => Minheight Box Heights' CHeights' - -% Now adjust percentage-constrained rows; - 2 index box-table-get-non-percentage-constrained-height-flags - % => Minheight Box Heights CHeights Flags - - 3 index get-height % => Minheight Box Heights CHeights Flags H CH - 0 - 0 % => Minheight Box Heights CHeights Flags H CH I - - 3 index { % => Minheight Box Heights CHeights Flags H CH I Flag - { % => Minheight Box Heights CHeights Flags H CH I - 4 index 1 index get % => Minheight Box Heights CHeights Flags H CH I CH[i] - 4 3 roll exch sub % => Minheight Box Heights CHeights Flags CH I H' - 3 1 roll % => Minheight Box Heights CHeights Flags H' CH I - } { % => Minheight Box Heights CHeights Flags H CH I - 4 index 1 index get % => Minheight Box Heights CHeights Flags H CH I CH[i] - 3 2 roll add % => Minheight Box Heights CHeights Flags H I CH' - exch % => Minheight Box Heights CHeights Flags H CH' I - } ifelse - 1 add - } forall pop % => Minheight Box Heights CHeights Flags H CH' - - dup 0 gt { - div % => Minheight Box Heights CHeights Flags Scale - 0 % => Minheight Box Heights CHeights Flags Scale I - 2 index % => Minheight Box Heights CHeights Flags Scale I Flags - { % => Minheight Box Heights CHeights Flags Scale I Flag - { % => Minheight Box Heights CHeights Flags Scale I - 3 index 1 index get % => Minheight Box Heights CHeights Flags Scale I CH[i] - 2 index mul % => Minheight Box Heights CHeights Flags Scale I CH[i]' - 4 index exch % => Minheight Box Heights CHeights Flags Scale I CH CH[i]' - 2 index exch % => Minheight Box Heights CHeights Flags Scale I CH I CH[i]' - put % => Minheight Box Heights CHeights Flags Scale I - } if - 1 add % => Minheight Box Heights CHeights Flags Scale I+1 - } forall - - pop pop pop - } { - pop pop pop - } ifelse % => Minheight Box Heights CHeights - - { max } zip-with % => Minheight Box Heights' - - exch pop - exch pop -} def - -/box-table-setup-methods { % => Box - dup get-box-dict /Methods get - dup /reflow {box-table-reflow} put - dup /get-min-width {box-table-get-min-width} put - dup /get-max-width {box-table-get-max-width} put - dup /get-width {box-table-get-width} put - dup /reflow-content {box-table-reflow-content} put - pop pop -} def % => \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.table.row.ps b/thirdparty/html2ps_pdf/postscript/box.table.row.ps deleted file mode 100644 index 91386ba01..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.table.row.ps +++ /dev/null @@ -1,165 +0,0 @@ -/box-table-row-create { % => - box-container-create % => Box - dup box-table-row-setup-methods % => Box - dup /box-table-row add-type % => Box -} def - -/box-table-row-get-baseline { % => Row - { box-table-cell-get-baseline max } - 0 - 2 index get-content - reduce % => Row RowBaseline - exch pop -} def - -/box-table-row-get-colspans { % => RowIndex Row - [] 0 % => RowIndex Row Spans I - 2 index get-content { % => RowIndex Row Spans I Cell - dup box-table-cell-get-colspan - 1 gt { - 4 index % => RowIndex Row Spans I Cell Row - 2 index % => RowIndex Row Spans I Cell Row Col - 2 index - box-table-cell-get-colspan % => RowIndex Row Spans I Cell Row Col Size - cellspan-create % => RowIndex Row Spans I Cell Span - - exch pop % => RowIndex Row Spans I Span - 3 2 roll - array-prepend - exch % => RowIndex Row Spans' I - } { pop } ifelse - - 1 add - } forall % => RowIndex Row Spans I - pop % => RowIndex Row Spans - - exch pop - exch pop -} def - -/box-table-row-get-rowspans { % => RowIndex Row - [] 0 % => RowIndex Row Spans I - 2 index get-content { % => RowIndex Row Spans I Cell - dup box-table-cell-get-rowspan - 1 gt { - 4 index % => RowIndex Row Spans I Cell Row - 2 index % => RowIndex Row Spans I Cell Row Col - 2 index - box-table-cell-get-rowspan % => RowIndex Row Spans I Cell Row Col Size - cellspan-create % => RowIndex Row Spans I Cell Span - - exch pop % => RowIndex Row Spans I Span - 3 2 roll - array-prepend - exch % => RowIndex Row Spans' I - } { pop } ifelse - - 1 add - } forall % => RowIndex Row Spans I - pop % => RowIndex Row Spans - - exch pop - exch pop -} def - -/box-table-row-get-table-columns-max-widths { - 2 copy /get-max-width box-table-row-get-table-columns-xxx-widths - exch pop - exch pop -} def - -/box-table-row-get-table-columns-min-widths { - 2 copy /get-min-width box-table-row-get-table-columns-xxx-widths - exch pop - exch pop -} def - -/box-table-row-get-table-columns-xxx-widths { % => Context Row Method - [] % => Context Row Method Widths - 2 index get-content { % => Context Row Method Widths Cell - dup box-table-cell-get-colspan - 1 gt { % => Context Row Method Widths Cell - pop 0 % => Context Row Method Widths 0 - } { % => Context Row Method Widths Cell - 4 index exch % => Context Row Method Widths Context Cell - 3 index call-method % => Context Row Method Widths W - } ifelse - - exch array-prepend % => Context Row Method Widths' - } forall % => Context Row Method Widths' - - exch pop - exch pop - exch pop -} def - -/box-table-row-height { % => Row - 0 - 1 index get-content { % => Row Height Cell - dup box-table-cell-get-rowspan - 1 le { - get-full-height - max % => Row Height - } { - pop - } ifelse - } forall % => Row Height - exch pop -} def - -/box-table-row-resize { % => Top Height Row -% Do cell vertical-align -% Calculate row baseline - dup box-table-row-get-baseline % => Top Height Row Baseline - -% Process cells contained in current row - 1 index get-content { % => Top Height Row Baseline Cell -% Offset cell if needed - 4 index - 1 index get-top-margin sub - 0 - 2 index /offset call-method % => Top Height Row Baseline Cell - -% Vertical-align cell (do not apply to rowspans) - - dup box-table-cell-get-rowspan 1 eq { - 1 index - 4 index - 2 index % => Top Height Row Baseline Cell Baseline Height Cell - box-table-cell-apply-vertical-align - % => Top Height Row Baseline Cell - -% Expand cell to full row height - 3 index - 1 index - put-full-height % => Top Height Row Baseline Cell - - } if % => Top Height Row Baseline Cell - - pop % => Top Height Row Baseline - } forall % => Top Height Row Baseline - - pop pop pop pop -} def - -/box-table-row-setup-methods { % => Box - dup /Methods get - dup /show {box-table-row-show} put - pop pop -} def - -% Note that we SHOULD owerride the show method inherited from GenericContainerBox, -% as it MAY draw row background in case it was set via CSS rules. As row box -% is a "fake" box and will never have reasonable size and/or position in the layout, -% we should prevent this -/box-table-row-show { % => Viewport Box - dup get-content { % => Viewport Box Element - dup /visibility get-css-value - /visible eq { - 2 index 1 index - /show call-method - } if % => Viewport Box Element - pop - } forall - pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/box.text.ps b/thirdparty/html2ps_pdf/postscript/box.text.ps deleted file mode 100644 index 7f54b66e0..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.text.ps +++ /dev/null @@ -1,379 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/box.text.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ - -/box-text-create { % => - box-generic-inline-create - -% setup box-specific properties - dup /Text () put - dup /Encoding ISOLatin1Encoding put - -% setup inherited method references - dup box-text-setup-methods - dup /box-text add-type -} def - -/box-text-draw-overline { % => Text Box - newpath - -% Get the thickness of the font underline - 0 - currentfont - font-underline-thick % => Text Box UThick - setlinewidth % => Text Box - -% Get the position of the font underline - currentfont - font-overline-pos % => Text Box UPos - - 1 index get-left - 2 index get-top - 3 index get-default-baseline - sub % => Text Box UPos X Y' -% Note that UPos is negative - 2 index add % => Text Box UPos X Y' - - moveto - - 1 index /get-width call-method - 0 - rlineto - stroke % => Text Box UPos - - pop pop pop -} def - -/box-text-draw-line-through { % => Text Box - newpath - -% Get the line thickness - 0 - currentfont - font-underline-thick % => Text Box UThick - setlinewidth % => Text Box - -% Get the position of the font underline - currentfont - font-line-through-pos % => Text Box UPos - - 1 index get-left - 2 index get-top - 3 index get-default-baseline - sub % => Text Box UPos X Y' -% Note that UPos is negative - 2 index add % => Text Box UPos X Y' - - moveto - - 1 index /get-width call-method - 0 - rlineto - stroke % => Text Box UPos - - pop pop pop -} def - -/box-text-draw-underline { % => Text Box - newpath - -% Get the line thickness - 0 - currentfont - font-underline-thick % => Text Box UThick - setlinewidth % => Text Box - -% Get the position of the font underline - currentfont - font-underline-pos % => Text Box UPos - - 1 index get-left - 2 index get-top - 3 index get-default-baseline - sub % => Text Box UPos X Y' -% Note that UPos is negative - 2 index add % => Text Box UPos X Y' - - moveto - - 1 index /get-width call-method - 0 - rlineto - stroke % => Text Box UPos - - pop pop pop -} def - -/box-text-find-font { % => Box - dup /font-size get-css-value - - 1 index - /font-family get-css-value % => Box FontSize FontFamily - exch scalefont % => Box <> - - exch pop % => <> -} def - -/box-text-get-min-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-text-get-max-width { % => Context This - dup get-full-width - exch pop - exch pop -} def - -/box-text-reflow { % => Context Parent This -% Check if we need a line break here (possilble several times in a row, if we -% have a long word and a floating box intersecting with this word - -% To prevent infinite loop, we'll use a limit of 100 sequental line feeds - - 0 % => Content Parent This 0(LFs) - { - 1 add % => Context Parent This LFs' - - 3 index - 3 index - 3 index - /maybe-line-break - call-method % => Context Parent This LFs Flag - - 1 index 100 ge - or { - exit - } if - } loop % => Context Parent This LFs - pop % => Context Parent This - -% Determine the baseline position and height of the text-box using line-height CSS property - dup box-generic-apply-line-height - -% set default baseline - dup get-default-baseline - 1 index put-baseline - -% append current box to parent line box - dup 2 index - box-container-append-line % => Context Parent This - -% Determine coordinates of upper-left _margin_ corner - 1 index 1 index - box-generic-guess-corner % => Context Parent This - -% Offset parent current X coordinate - dup get-full-width - 2 index get-current-x - add % => Context Parent This CX' - 2 index put-current-x % => Context Parent This - -% Extends parents height - dup get-bottom-margin % => Context Parent This BM - 2 index - box-generic-extend-height % => Context Parent This - -% Update the value of current collapsed margin; pure text (non-span) -% boxes always have zero margin - - 2 index context-pop-collapsed-margin - 0 3 index context-push-collapsed-margin - -% Clear the stack - pop pop pop -} def - -/box-text-setup { % => Box -% select the font used to render current text box - dup box-text-find-font % => Box <> - - dup font-ascender % => Box <> Ascender - 1 index font-descender % => Box <> Ascender Descender - - 3 2 roll - setfont % => Box Ascender Descender - - 1 index 3 index put-default-baseline - - add -% 1 index /font-size get-css-value min - 1 index put-height % => Box - -% determine the width of the current text box - dup get-text stringwidth % => Box SX __ - pop % => Box SX - 1 index put-width % => Box - - pop -} def - -/box-text-setup-methods { % => Box -% Setup method references - dup get-box-dict /Methods get % => Box Methods - dup /get-min-width {box-text-get-min-width} put - dup /get-max-width {box-text-get-max-width} put - dup /reflow {box-text-reflow} put - dup /show {box-text-show} put - pop pop -} def - -/box-text-show { % => Viewport Box -% Check if current text box will be cut-off by the page edge -% Get Y coordinate of the top edge of the box - dup get-top-margin % => Viewport Box Top - -% Get Y coordinate of the bottom edge of the box - 1 index get-bottom-margin % => Viewport Box Top Bottom - - 1 index - 4 index viewport-get-bottom - gt % => Viewport Box Top Bottom TopInside - - 1 index - 5 index viewport-get-bottom - gt % => Viewport Box Top Bottom TopInside BottomInside - - 2 copy - not and % => Viewport Box Top Bottom TopInside BottomInside TopInside&&!BottomInside - { % => Viewport Box Top Bottom TopInside BottomInside -% If yes, do not draw current text box at all; add an required value -% to the viewport page offset to make the text box fully visible on the next page - 5 index - viewport-get-offset-delta % => Viewport Box Top Bottom TopInside BottomInside OD - - 4 index - 7 index viewport-get-bottom - sub % => Viewport Box Top Bottom TopInside BottomInside OD ODNew - max % => Viewport Box Top Bottom TopInside BottomInside OD' - - 6 index - viewport-put-offset-delta % => Viewport Box Top Bottom TopInside BottomInside - - pop pop - } { % => Viewport Box Top Bottom TopInside BottomInside - or not { % => Viewport Box Top Bottom - } { % => Viewport Box Top Bottom -% draw generic box - 3 index 3 index - box-generic-show - - 2 index get-left - 3 index get-top - 4 index get-default-baseline - sub - moveto - - 2 index get-text % => Viewport Box Top Bottom Text - - 3 index - box-text-find-font % => Viewport Box Top Bottom Text <> - setfont - show % => Viewport Box Top Bottom - -% draw text decoration - 2 index /text-decoration get-css-value - 3 index get-text % => Viewport Box Top Bottom Decoration Text -% underline - 1 index /underline get { % => Viewport Box Top Bottom Decoration Text - dup - 5 index % => Viewport Box Top Bottom Decoration Text Text Box - box-text-draw-underline % => Viewport Box Top Bottom Decoration Text - } if - -% overline - 1 index /overline get { % => Viewport Box Top Bottom Decoration Text - dup - 5 index % => Viewport Box Top Bottom Decoration Text Text Box - box-text-draw-overline % => Viewport Box Top Bottom Decoration Text - } if - -% line-through - 1 index /line-through get { % => Viewport Box Top Bottom Decoration Text - dup - 5 index % => Viewport Box Top Bottom Decoration Text Text Box - box-text-draw-line-through % => Viewport Box Top Bottom Decoration Text - } if - - pop pop - } ifelse - } ifelse % => Viewport Box Top Bottom - - pop pop pop pop -} def - -/get-encoding { - /Encoding get -} def - -/get-text { % => Box - /Text get -} def - -/put-encoding { % => Encoding Box - exch - /Encoding - exch - put -} def - -/put-text { % => Text Box - exch - /Text - exch - put -} def - -%%%%%%%%%%%%%%%%%%%% - -/show-enc-text-box { -% Check if this box will be cut on the bottom edge of the page (i.e. bottom < 0) - dup get-bottom bmargin gt { - show-enc-text-box-force - } { -% do not display this box; also, store the additional offset to show this text on the next page - /vdelta vdelta 2 index get-top bmargin sub max def - pop - } ifelse -} def - -/show-enc-text-box-force { % => Box - show-generic-box % => Box - currentpoint - 2 index get-content % => Box X Y Content - aload pop - show-enc-text - moveto - - dup get-text-decoration % => Box Decor - dup /Underline known { - currentpoint - 3 index get-content % => Box Decor X Y [Text <>] - aload pop pop - draw-underline - moveto - } if - - dup /Overline known { - currentpoint - 3 index get-content - aload pop pop - draw-overline - moveto - } if - - dup /Line-Through known { - currentpoint - 3 index get-content - aload pop pop - draw-line-through - moveto - } if - - pop % => Box - -} def - -/show-enc-text { % => Text <> - setfont % => Text - show % => -} def diff --git a/thirdparty/html2ps_pdf/postscript/box.whitespace.ps b/thirdparty/html2ps_pdf/postscript/box.whitespace.ps deleted file mode 100644 index b9aca483a..000000000 --- a/thirdparty/html2ps_pdf/postscript/box.whitespace.ps +++ /dev/null @@ -1,74 +0,0 @@ -/box-whitespace-create { % => - box-text-create - - dup get-box-dict - /Methods get - dup /reflow {box-whitespace-reflow} put - dup /is-whitespace {box-whitespace-is-whitespace} put - pop - - dup /box-whitespace add-type - - ( ) 1 index put-text -} def - -/box-whitespace-is-whitespace { % => Box - pop true -} def - -/box-whitespace-reflow { % => Context Parent Box -% Check if there are any boxes in parent's line box - 1 index % => Context Parent Box Parent - box-container-line-box-empty { % => Context Parent Box -% The very first whitespace in the line box should not affect neither height nor baseline of the line box; -% because following boxes can be smaller that assumed whitespace height -% Example:
[whitespace]
; whitespace can overextend this line - 0 1 index put-height - 0 1 index put-width - 0 1 index put-default-baseline - } { % => Context Parent Box -% Duplicate whitespace boxes should not offset further content and affect the line box length - 1 index - get-line % => Context Parent Box Line - array-last - /box-whitespace is-a { % => Context Parent Box - 0 1 index put-height - 0 1 index put-width - 0 1 index put-default-baseline - } if - } ifelse - -% Determine the baseline position and height of the text-box using line-height CSS property - dup box-generic-apply-line-height - -% set default baseline - dup get-default-baseline - 1 index put-baseline - -% append current box to parent line box - dup 2 index - box-container-append-line % => Context Parent This - -% Determine coordinates of upper-left _margin_ corner - 1 index 1 index - box-generic-guess-corner % => Context Parent This - -% Offset parent current X coordinate - dup get-full-width - 2 index get-current-x - add % => Context Parent This CX' - 2 index put-current-x % => Context Parent This - -% Extends parents height - dup get-bottom-margin % => Context Parent This BM - 2 index - box-generic-extend-height % => Context Parent This - -% Update the value of current collapsed margin; pure text (non-span) -% boxes always have zero margin - - 2 index context-pop-collapsed-margin - 0 3 index context-push-collapsed-margin - - pop pop pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/cellspan.ps b/thirdparty/html2ps_pdf/postscript/cellspan.ps deleted file mode 100644 index a5b056cfb..000000000 --- a/thirdparty/html2ps_pdf/postscript/cellspan.ps +++ /dev/null @@ -1,21 +0,0 @@ -/cellspan-create { % => Row Col Size - << >> - dup /Size 3 index put - dup /Column 4 index put - dup /Row 5 index put - exch pop - exch pop - exch pop -} def - -/cellspan-get-row { - /Row get -} def - -/cellspan-get-column { - /Column get -} def - -/cellspan-get-size { - /Size get -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/class.ps b/thirdparty/html2ps_pdf/postscript/class.ps deleted file mode 100644 index df7b68ca8..000000000 --- a/thirdparty/html2ps_pdf/postscript/class.ps +++ /dev/null @@ -1,35 +0,0 @@ -/add-type { % => Object Class - 1 index get-types % => Object Class Types - array-append % => Object Types' - /Types exch put -} def - -/call-method { % => ...Params... Box Method - 1 index get-box-dict % => ...Params... Box Method Dict - /Methods get % => ...Params... Box Method MethodList - -% Check if method have been defined - dup 2 index known not { - (Method is not known:) print - 1 index == - quit - } if - - exch get exec % => -} def - -/get-types { - dup /Types known { - dup /Types get - } { - [] - } ifelse - - exch pop -} def - -/is-a { % => Object Class - 1 index get-types % => Object Class Types - exch array-find -1 ne - exch pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/color.ps b/thirdparty/html2ps_pdf/postscript/color.ps deleted file mode 100644 index 12e45711e..000000000 --- a/thirdparty/html2ps_pdf/postscript/color.ps +++ /dev/null @@ -1,29 +0,0 @@ -/color-apply { - aload pop pop - setrgbcolor -} def - -/color-blend { % => C1 C2 A - [0 0 0 0] exch % => C1 C2 C3 A - 0 1 3 { % => C1 C2 C3 A I - 4 index 1 index get % => C1 C2 C3 A I C1[i] - 4 index 2 index get % => C1 C2 C3 A I C1[i] C2[i] - 1 index sub % => C1 C2 C3 A I C1[i] C2[i]-C1[i] - 3 index mul - add % => C1 C2 C3 A I C3[i] - 3 index 2 index 2 index put % => C1 C2 C3 A I C3[i] - pop pop - } for % => C1 C2 C3 A - - pop - exch pop - exch pop -} def - -/color-create { % => R G B A - 4 array astore -} def - -/color-is-transparent { - 3 get 0 eq -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/containing_block.ps b/thirdparty/html2ps_pdf/postscript/containing_block.ps deleted file mode 100644 index 23707cea2..000000000 --- a/thirdparty/html2ps_pdf/postscript/containing_block.ps +++ /dev/null @@ -1,4 +0,0 @@ -/containing-block-bottom { /bottom get } def -/containing-block-left { /left get } def -/containing-block-top { /top get } def -/containing-block-right { /right get } def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/context.ps b/thirdparty/html2ps_pdf/postscript/context.ps deleted file mode 100644 index f9c2d2ec0..000000000 --- a/thirdparty/html2ps_pdf/postscript/context.ps +++ /dev/null @@ -1,472 +0,0 @@ -% Definition of float context "class" - -/context-add-absolute-positioned { % => Box Context - dup /AbsolutePositioned get % => Box Context AB - 2 index exch - array-prepend % => Box Context AB' - /AbsolutePositioned exch put % => Box - pop -} def - -/context-add-fixed-positioned { % => Box Context - dup /FixedPositioned get % => Box Context AB - 2 index exch - array-prepend % => Box Context AB' - /FixedPositioned exch put % => Box - pop -} def - -/context-add-float { % => Float Context - dup /Floats get % => Float Context Floats - dup 0 get % => Float Context Floats Floats[0] - 3 index exch array-prepend % => Float Context Floats Floats[0]' - 0 exch put % => Float Context - pop pop -} def - -/context-container-uid { % => Context - /ContainerUID get 0 get -} def - -/context-create { % => - << - /ContainerUID [1] - /AbsolutePositioned [] - /FixedPositioned [] - /Floats [[]] - /Margin [0 0] - /Viewport [] - >> -} def - -% Find the minimal X at the given Y coordinate suitable for float placement -% -/context-float-left-x { % => Y X Context - 3 copy dup - context-floats % => Y X Context Y X Context Floats - context-float-left-x-rec % => Y X Context X - -% Clear the stack - exch pop - exch pop - exch pop -} def - -/context-float-left-x-rec { % => Y X Context Floats - dup length 0 gt { - dup 0 get % => Y X Context Floats Float - - dup /float get-css-value - /left eq { - -% Check if this float contains given Y-coordinate -% -% Note that top margin coordinate is inclusive but -% bottom margin coordinate is exclusive! The cause is following: -% - if we have several floats in one line, their top margin edge Y coordinates will be equal, -% so we must use agreater or equal sign to avod placing all floats at one X coordinate -% - on the other side, if we place one float under the other, the top margin Y coordinate -% of bottom float will be equal to bottom margin Y coordinate of the top float and -% we should NOT offset tho bottom float in this case - - dup get-top-margin % => Y X Context Floats Float FTM - rounding-epsilon add - 5 index % => Y X Context Floats Float FTM Y - ge % => Y X Context Floats Float FTM>=Y - - 1 index get-bottom-margin % => Y X Context Floats Float FTM>=Y FBM - 6 index % => Y X Context Floats Float FTM>=Y FBM Y - lt % => Y X Context Floats Float FTM>=Y FBM Y X Context Floats Float - dup get-right-margin % => Y X Context Floats Float FRM - 4 index max % => Y X Context Floats Float X'=MAX(FRM,X) - exch pop % => Y X Context Floats X' - 4 3 roll pop % => Y Context Floats X' - 3 1 roll % => Y X' Context Floats - array-pop-first - context-float-left-x-rec % => X - } { - pop - array-pop-first - context-float-left-x-rec - } ifelse - } { - pop - array-pop-first - context-float-left-x-rec - } ifelse - } { -% no more floats - pop pop exch pop - } ifelse -} def % => X - -% Calculates position of left floating box (taking into account the possibility -% of "wrapping" float to next line in case we have not enough space at current level (Y coordinate) -% -% @param parent reference to a parent box -% @param width width of float being placed. Full width! so, extra horizontal space (padding, margins and borders) is added here too -% @param $y Starting Y-coordinate -% @return X X coordinate of float upper-left corner -% @return Y Y coordinate of float upper-left corner -% -/context-float-left-xy { % => Parent Width Y Context -% Prepare information about the float bottom corrdinates - dup context-floats % => Parent Width Y Context Floats - make-sorted-bottom-y-list % => Parent Width Y Context FloatBottoms - - context-float-left-xy-rec % => Y X -} def % => Y X - -/context-float-left-xy-rec { % => Parent Width Y Context FloatBottoms - 4 index get-left - 3 index % => Parent Width Y Context FloatBottoms X Y - exch % => Parent Width Y Context FloatBottoms Y X - 3 index - context-float-left-x % => Parent Width Y Context FloatBottoms X - -% Check if current float will fit into the parent box - dup 5 index add % => Parent Width Y Context FloatBottoms X FloatRight - 6 index get-right - rounding-epsilon add - le { % => Parent Width Y Context FloatBottoms X -% will fit - exch pop % => Parent Width Y Context X - exch pop % => Parent Width Y X - 4 2 roll % => Y X Parent Width - pop pop exch % => X Y - } { - pop % => Parent Width Y Context FloatBottoms -% Check if all floats have been already cleared - dup length 0 eq { -% All floats are cleared; fall back to the leftmost X coordinate - pop pop exch pop % => Parent Y - exch % => Y Parent - get-left exch % => X Y - } { -% No, float does not fit at current level, let's try to 'clear' some previous floats - dup 0 get % => Parent Width Y Context FloatBottoms Bottom0 - 3 index min % => Parent Width Y Context FloatBottoms Y' - 4 3 roll pop % => Parent Width Context FloatBottoms Y' - 3 1 roll - array-pop-first % => Parent Width Y' Context FloatBottoms' - context-float-left-xy-rec % => X Y - } ifelse - } ifelse -} def % => X Y - -% Find the minimal X at the given Y coordinate suitable for float placement -% -/context-float-right-x { % => Y X Context - 3 copy dup - context-floats % => Y X Context Y X Context Floats - context-float-right-x-rec % => Y X Context X - -% Clear the stack - exch pop - exch pop - exch pop -} def - -/context-float-right-x-rec { % => Y X Context Floats - dup length 0 gt { - dup 0 get % => Y X Context Floats Float - - dup /float get-css-value - /right eq { - -% Check if this float contains given Y-coordinate -% -% Note that top margin coordinate is inclusive but -% bottom margin coordinate is exclusive! The cause is following: -% - if we have several floats in one line, their top margin edge Y coordinates will be equal, -% so we must use agreater or equal sign to avod placing all floats at one X coordinate -% - on the other side, if we place one float under the other, the top margin Y coordinate -% of bottom float will be equal to bottom margin Y coordinate of the top float and -% we should NOT offset tho bottom float in this case - - dup get-top-margin % => Y X Context Floats Float FTM - rounding-epsilon add - 5 index % => Y X Context Floats Float FTM Y - ge % => Y X Context Floats Float FTM>=Y - - 1 index get-bottom-margin % => Y X Context Floats Float FTM>=Y FBM - 6 index % => Y X Context Floats Float FTM>=Y FBM Y - lt % => Y X Context Floats Float FTM>=Y FBM Y X Context Floats Float - dup get-left-margin % => Y X Context Floats Float FRM - 4 index min % => Y X Context Floats Float X'=MAX(FRM,X) - exch pop % => Y X Context Floats X' - 4 3 roll pop % => Y Context Floats X' - 3 1 roll % => Y X' Context Floats - array-pop-first - context-float-right-x-rec % => X - } { % => Y X Context Floats Float - pop % => Y X Context Floats - array-pop-first - context-float-right-x-rec % => X - } ifelse - } { - pop - array-pop-first - context-float-right-x-rec - } ifelse - } { -% no more floats - pop pop exch pop - } ifelse -} def % => X - -% Calculates position of left floating box (taking into account the possibility -% of "wrapping" float to next line in case we have not enough space at current level (Y coordinate) -% -% @param parent reference to a parent box -% @param width width of float being placed. Full width! so, extra horizontal space (padding, margins and borders) is added here too -% @param $y Starting Y-coordinate -% @return X X coordinate of float upper-left corner -% @return Y Y coordinate of float upper-left corner -% -/context-float-right-xy { % => Parent Width Y Context -% Prepare information about the float bottom corrdinates - dup context-floats % => Parent Width Y Context Floats - make-sorted-bottom-y-list % => Parent Width Y Context FloatBottoms - - context-float-right-xy-rec % => X Y -} def % => X Y - -/context-float-right-xy-rec { % => Parent Width Y Context FloatBottoms - 4 index get-right - 3 index % => Parent Width Y Context FloatBottoms X Y - exch - 3 index - context-float-right-x % => Parent Width Y Context FloatBottoms X - -% Check if current float will fit into the parent box - dup % => Parent Width Y Context FloatBottoms X X - 6 index get-right - rounding-epsilon add % => Parent Width Y Context FloatBottoms X X FRight - le { % => Parent Width Y Context FloatBottoms X -% will fit - exch pop exch pop % => Parent Width Y X - 4 2 roll % => Y X Parent Width - pop pop exch % => X Y - } { - pop % => Parent Width Y Context FloatBottoms -% Check if all floats have been already cleared - dup length 0 eq { -% All floats are cleared; fall back to the leftmost X coordinate - pop pop exch pop % => Parent Y - exch % => Y Parent - get-left exch % => X Y - } { -% No, float does not fit at current level, let's try to 'clear' some previous floats - dup 0 get % => Parent Width Y Context FloatBottoms Bottom0 - 3 index min % => Parent Width Y Context FloatBottoms Y' - 4 3 roll pop % => Parent Width Context FloatBottoms Y' - 3 1 roll - array-pop-first % => Parent Width Y' Context FloatBottoms' - context-float-left-xy-rec % => X Y - } ifelse - } ifelse -} def % => X Y - -/context-floats { % => Context - /Floats get 0 get -} def - -/context-get-absolute-positioned { % => Context - /AbsolutePositioned get -} def - -/context-get-collapsed-margin { % => Context - /Margin get 0 get -} def - -/context-get-fixed-positioned { % => Context - /FixedPositioned get -} def - -/context-get-viewport { % => Context - /Viewport get 0 get -} def - -/context-point-in-floats { % => Y X Context - /null % => Y X Context /null - 1 index context-floats % => Y X Context /null Floats - { % => Y X Context /null Float - 4 index - 4 index - 2 index - box-generic-contains-point-margin { % => Y X Context /null Float - exch pop - exit % => Y X Context Float - } if - pop - } forall % => Y X Context Float - - exch pop - exch pop - exch pop -} def - -/context-pop { % => Context - dup context-pop-collapsed-margin - dup context-pop-floats - pop -} def - -/context-pop-collapsed-margin { % => Context - dup /Margin get % => Context CMT - array-pop-first % => Context CMT' - /Margin exch put % => -} def - -/context-pop-container-uid { % => Context - dup /ContainerUID get - array-pop-first - /ContainerUID exch put -} def - -/context-pop-floats { % => Context - dup /Floats get - array-pop-first - /Floats exch put -} def - -/context-pop-viewport { % => Context - dup /Viewport get - array-pop-first % => Context Viewports - /Viewport exch put % => -} def - -/context-push { % => Context - 0 1 index context-push-collapsed-margin - dup context-push-floats - pop -} def - -/context-push-collapsed-margin { % => Value Context - dup /Margin get % => Value Context CMT - 2 index exch % => Value Content Value CMT - array-append % => Value Context CMT' - /Margin exch put % => Value - pop -} def - -/context-push-container-uid { % => Uid Context - dup /ContainerUID get % => Uid Context UIDStack - 2 index exch array-append % => Uid Context UIDStack' - 1 index exch - /ContainerUID exch put - pop pop -} def - -/context-push-floats { % => Context - dup /Floats get - [] exch array-append % => Context Floats' - /Floats exch % => Context /Floats Floats' - put % => -} def - -/context-push-viewport { % => Viewport Context - dup /Viewport get % => Viewport Context Viewports - 2 index exch array-append % => Viewport Context Viewports' - 1 index exch /Viewport exch put % => Viewport Context - pop pop -} def - -% helper utility -/make-sorted-bottom-y-list { % => Boxes - { - get-bottom-margin - exch array-prepend - } exch - [] exch - reduce % => UnsortedBottomsYs - - { gt } % => UnsortedBottomsYs GtFun - array-sort % => SortedBottomYs -} def - -%%%%%%%%%%%%%%%%%%%%% - -/empty-context { - << /Floats [] /CollapsedMarginTop [0] >> -} def - -/context-stack [ empty-context ] def - -/push-context { - empty-context - context-stack - array-append - - /context-stack exch def -} def - -/pop-context { - context-stack - array-pop-first - - /context-stack exch def -} def - -/context-current { - context-stack 0 get -} def - -/context-floats-bottom { % => MaxValue - { get-bottom-margin min } exch - context-floats reduce -} def - -/context-save-float { % => Float - context-current - /Floats get - - array-append - - context-current exch - /Floats exch - put -} def - -% Get the bottom edge coordinate of the bottommost float in -% current formatting context -% -% @return /null in case of no floats exists in current context -% numeric coordinate value otherwise -% -/context-float-bottom { % => - context-floats - dup length 0 gt { - { get-bottom-margin min } - exch - dup 0 get get-bottom-margin - exch - reduce - } { - pop /null - } ifelse -} def - -% Get the right edge coordinate of the rightmost float in -% current formatting context -% -% @return null in case of no floats exists in current context -% numeric coordinate value otherwise -% -/context-float-right { % => - context-floats - dup length 0 gt { - { get-right-margin min } - exch - dup 0 get get-right-margin - exch - reduce - } { - pop /null - } ifelse -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.dingbats.ps b/thirdparty/html2ps_pdf/postscript/encoding.dingbats.ps deleted file mode 100644 index 2fd2bdf0f..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.dingbats.ps +++ /dev/null @@ -1,104 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.dingbats.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/Dingbats-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef -% \040 - /space - /a1 - /a2 - /a202 - /a3 - /a4 - /a5 /a119 - /a118 /a117 /a11 /a12 /a13 /a14 /a15 /a16 - /a105 /a17 /a18 /a19 /a20 /a21 /a22 /a23 - /a24 /a25 /a26 /a27 /a28 /a6 /a7 /a8 -% \100 - /a9 /a10 /a29 /a30 /a31 /a32 /a33 /a34 - /a35 /a36 /a37 /a38 /a39 /a40 /a41 /a42 - /a43 /a44 /a45 /a46 /a47 /a48 /a49 /a50 - /a51 /a52 /a53 /a54 /a55 /a56 /a57 /a58 -% \140 - /a59 /a60 /a61 /a62 /a63 /a64 /a65 /a66 - /a67 /a68 /a69 /a70 /a71 /a72 /a73 /a74 - /a203 /a75 /a204 /a76 /a77 /a78 /a79 /a81 - /a82 /a83 /a84 /a97 /a98 /a99 /a100 /.notdef -% \200 - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef -% \240 - /.notdef /a101 /a102 /a103 /a104 /a106 /a107 /a108 - /a112 /a111 /a110 /a109 /a120 /a121 /a122 /a123 - /a124 /a125 /a126 /a127 /a128 /a129 /a130 /a131 - /a132 /a133 /a134 /a135 /a136 /a137 /a138 /a139 -% \300 - /a140 /a141 /a142 /a143 /a144 /a145 /a146 /a147 - /a148 /a149 /a150 /a151 /a152 /a153 /a154 /a155 - /a156 /a157 /a158 /a159 /a160 /a161 /a163 /a164 - /a196 /a165 /a192 /a166 /a167 /a168 /a169 /a170 -% \340 - /a171 /a172 /a173 /a162 /a174 /a175 /a176 /a177 - /a178 /a179 /a193 /a180 /a199 /a181 /a200 /a182 - /.notdef /a201 /a183 /a184 /a197 /a185 /a194 /a198 - /a186 /a195 /a187 /a188 /a189 /a190 /a191 /.notdef -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-10.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-10.ps deleted file mode 100644 index 71e441fbc..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-10.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-10.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-10-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /Aogonek - /Emacron - /Gcommaaccent - /Imacron - /Itilde - /Kcommaaccent - /section - /Lcommaaccent - /Dcroat - /Scaron - /Tbar - /Zcaron - /uni00AD - /Umacron - /Eng - /degree - /aogonek - /emacron - /gcommaaccent - /imacron - /itilde - /kcommaaccent - /periodcentered - /lcommaaccent - /dcroat - /scaron - /tbar - /zcaron - /macron - /umacron - /eng - /Amacron - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Iogonek - /Ccaron - /Eacute - /Eogonek - /Edieresis - /Emacron - /Iacute - /Icircumflex - /Idieresis - /Eth - /Ncommaaccent - /Omacron - /Oacute - /Ocircumflex - /Otilde - /Odieresis - /Utilde - /Oslash - /Uogonek - /Uacute - /Ucircumflex - /Udieresis - /Yacute - /Thorn - /germandbls - /amacron - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /iogonek - /ccaron - /eacute - /eogonek - /edieresis - /emacron - /iacute - /icircumflex - /idieresis - /eth - /ncommaaccent - /omacron - /oacute - /ocircumflex - /otilde - /odieresis - /utilde - /oslash - /uogonek - /uacute - /ucircumflex - /udieresis - /yacute - /thorn - /kgreenlandic -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-11.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-11.ps deleted file mode 100644 index 88d27a8b5..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-11.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-11.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-11-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /uni0E01 - /uni0E02 - /uni0E03 - /uni0E04 - /uni0E05 - /uni0E06 - /uni0E07 - /uni0E08 - /uni0E09 - /uni0E0A - /uni0E0B - /uni0E0C - /uni0E0D - /uni0E0E - /uni0E0F - /uni0E10 - /uni0E11 - /uni0E12 - /uni0E13 - /uni0E14 - /uni0E15 - /uni0E16 - /uni0E17 - /uni0E18 - /uni0E19 - /uni0E1A - /uni0E1B - /uni0E1C - /uni0E1D - /uni0E1E - /uni0E1F - /uni0E20 - /uni0E21 - /uni0E22 - /uni0E23 - /uni0E24 - /uni0E25 - /uni0E26 - /uni0E27 - /uni0E28 - /uni0E29 - /uni0E2A - /uni0E2B - /uni0E2C - /uni0E2D - /uni0E2E - /uni0E2F - /uni0E30 - /uni0E31 - /uni0E32 - /uni0E33 - /uni0E34 - /uni0E35 - /uni0E36 - /uni0E37 - /uni0E38 - /uni0E39 - /uni0E3A - /.notdef - /space - /.notdef - /.notdef - /uni0E3F - /uni0E40 - /uni0E41 - /uni0E42 - /uni0E43 - /uni0E44 - /uni0E45 - /uni0E46 - /uni0E47 - /uni0E48 - /uni0E49 - /uni0E4A - /uni0E4B - /uni0E4C - /uni0E4D - /uni0E4E - /uni0E4F - /uni0E50 - /uni0E51 - /uni0E52 - /uni0E53 - /uni0E54 - /uni0E55 - /uni0E56 - /uni0E57 - /uni0E58 - /uni0E59 - /uni0E5A - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-13.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-13.ps deleted file mode 100644 index 02670d532..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-13.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-13.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-13-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /quotedblright - /cent - /sterling - /currency - /quotedblbase - /brokenbar - /section - /Oslash - /copyright - /rcommaaccent - /guillemotleft - /logicalnot - /uni00AD - /registered - /AE - /degree - /plusminus - /twosuperior - /threesuperior - /quotedblleft - /mu - /paragraph - /periodcentered - /oslash - /onesuperior - /.notdef - /guillemotright - /onequarter - /onehalf - /threequarters - /ae - /Aogonek - /Iogonek - /Amacron - /Cacute - /Adieresis - /Aring - /Eogonek - /Emacron - /Ccaron - /Eacute - /Zacute - /Edotaccent - /Gcommaaccent - /Kcommaaccent - /Imacron - /Lcommaaccent - /Scaron - /Nacute - /Ncommaaccent - /Oacute - /Omacron - /Otilde - /Odieresis - /multiply - /Uogonek - /Lslash - /Uacute - /Ucircumflex - /Udieresis - /Zdotaccent - /Zcaron - /germandbls - /aogonek - /Iogonek - /amacron - /cacute - /adieresis - /aring - /eogonek - /emacron - /ccaron - /eacute - /zacute - /edotaccent - /gcommaaccent - /kcommaaccent - /imacron - /lcommaaccent - /scaron - /nacute - /ncommaaccent - /oacute - /omacron - /otilde - /odieresis - /divide - /uogonek - /lslash - /uacute - /ucircumflex - /udieresis - /zdotaccent - /zcaron - /quoteright -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-14.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-14.ps deleted file mode 100644 index 64240cae3..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-14.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-14.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-14-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /uni1E02 - /uni1E03 - /sterling - /Cdotaccent - /cdotaccent - /uni1E0A - /section - /Wgrave - /copyright - /Wacute - /uni1E0B - /Ygrave - /uni00AD - /registered - /Ydieresis - /uni1E1E - /uni1E1F - /Gdotaccent - /gdotaccent - /uni1E40 - /uni1E41 - /paragraph - /uni1E56 - /wgrave - /uni1E57 - /wacute - /uni1E60 - /ygrave - /Wdieresis - /wdieresis - /uni1E61 - /Agrave - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Ccedilla - /Egrave - /Eacute - /Ecircumflex - /Edieresis - /Igrave - /Iacute - /Icircumflex - /Idieresis - /Wcircumflex - /Ntilde - /Ograve - /Oacute - /Ocircumflex - /Otilde - /Odieresis - /uni1E6A - /Oslash - /Ugrave - /Uacute - /Ucircumflex - /Udieresis - /Yacute - /Ycircumflex - /germandbls - /agrave - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /ccedilla - /egrave - /eacute - /ecircumflex - /edieresis - /igrave - /iacute - /icircumflex - /idieresis - /wcircumflex - /ntilde - /ograve - /oacute - /ocircumflex - /otilde - /odieresis - /uni1E6B - /oslash - /ugrave - /uacute - /ucircumflex - /udieresis - /yacute - /ycircumflex - /ydieresis -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-15.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-15.ps deleted file mode 100644 index 6469fc197..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-15.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-15.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-15-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /exclamdown - /cent - /sterling - /Euro - /yen - /Scaron - /section - /scaron - /copyright - /ordfeminine - /guillemotleft - /logicalnot - /uni00AD - /registered - /macron - /degree - /plusminus - /twosuperior - /threesuperior - /Zcaron - /mu - /paragraph - /periodcentered - /zcaron - /onesuperior - /ordmasculine - /guillemotright - /OE - /oe - /Ydieresis - /questiondown - /Agrave - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Ccedilla - /Egrave - /Eacute - /Ecircumflex - /Edieresis - /Igrave - /Iacute - /Icircumflex - /Idieresis - /Eth - /Ntilde - /Ograve - /Oacute - /Ocircumflex - /Otilde - /Odieresis - /multiply - /Oslash - /Ugrave - /Uacute - /Ucircumflex - /Udieresis - /Yacute - /Thorn - /germandbls - /agrave - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /ccedilla - /egrave - /eacute - /ecircumflex - /edieresis - /igrave - /iacute - /icircumflex - /idieresis - /eth - /ntilde - /ograve - /oacute - /ocircumflex - /otilde - /odieresis - /divide - /oslash - /ugrave - /uacute - /ucircumflex - /udieresis - /yacute - /thorn - /ydieresis -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-2.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-2.ps deleted file mode 100644 index dbc0f1236..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-2.ps +++ /dev/null @@ -1,2 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-2.ps,v 1.2 2006/01/13 20:18:51 Konstantin Exp $ -/ISO-8859-1-Encoding ISOLatin1Encoding def diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-3.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-3.ps deleted file mode 100644 index e65becf9d..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-3.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-3.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-3-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /Hbar - /breve - /sterling - /currency - /yen - /Hcircumflex - /section - /dieresis - /Idotaccent - /Scedilla - /Gbreve - /Jcircumflex - /uni00AD - /registered - /Zdotaccent - /degree - /hbar - /twosuperior - /threesuperior - /acute - /mu - /hcircumflex - /periodcentered - /cedilla - /dotlessi - /scedilla - /gbreve - /jcircumflex - /onehalf - /threequarters - /zdotaccent - /Agrave - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Cdotaccent - /Ccircumflex - /Ccedilla - /Egrave - /Eacute - /Ecircumflex - /Edieresis - /Igrave - /Iacute - /Icircumflex - /Idieresis - /Eth - /Ntilde - /Ograve - /Oacute - /Ocircumflex - /Gdotaccent - /Odieresis - /multiply - /Gcircumflex - /Ugrave - /Uacute - /Ucircumflex - /Udieresis - /Ubreve - /Scircumflex - /germandbls - /agrave - /aacute - /acircumflex - /atilde - /adieresis - /cdotaccent - /ccircumflex - /ccedilla - /egrave - /eacute - /ecircumflex - /edieresis - /igrave - /iacute - /icircumflex - /idieresis - /eth - /ntilde - /ograve - /oacute - /ocircumflex - /gdotaccent - /odieresis - /divide - /gcircumflex - /ugrave - /uacute - /ucircumflex - /udieresis - /ubreve - /scircumflex - /dotaccent -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-4.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-4.ps deleted file mode 100644 index d309604a0..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-4.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-4.ps,v 1.1 2005/12/18 07:21:37 Konstantin Exp $ -/ISO-8859-4-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /Aogonek - /kgreenlandic - /Rcommaaccent - /currency - /Itilde - /Lcommaaccent - /section - /dieresis - /Scaron - /Emacron - /Gcommaaccent - /Tbar - /uni00AD - /Zcaron - /macron - /degree - /aogonek - /ogonek - /rcommaaccent - /acute - /itilde - /lcommaaccent - /caron - /cedilla - /scaron - /emacron - /gcommaaccent - /tbar - /Eng - /zcaron - /eng - /Amacron - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Iogonek - /Ccaron - /Eacute - /Eogonek - /Edieresis - /Edotaccent - /Iacute - /Icircumflex - /Imacron - /Dcroat - /Ncommaaccent - /Omacron - /Kcommaaccent - /Ocircumflex - /Otilde - /Odieresis - /multiply - /Oslash - /Uogonek - /Uacute - /Ucircumflex - /Udieresis - /Utilde - /Umacron - /germandbls - /amacron - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /iogonek - /ccaron - /eacute - /eogonek - /edieresis - /edotaccent - /iacute - /icircumflex - /imacron - /dcroat - /ncommaaccent - /omacron - /kcommaaccent - /ocircumflex - /otilde - /odieresis - /divide - /oslash - /uogonek - /uacute - /ucircumflex - /udieresis - /utilde - /umacron - /dotaccent -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-5.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-5.ps deleted file mode 100644 index 837dfc839..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-5.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-5.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/ISO-8859-5-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /afii10023 - /afii10051 - /afii10052 - /afii10053 - /afii10054 - /afii10055 - /afii10056 - /afii10057 - /afii10058 - /afii10059 - /afii10060 - /afii10061 - /uni00AD - /afii10062 - /afii10145 - /afii10017 - /afii10018 - /afii10019 - /afii10020 - /afii10021 - /afii10022 - /afii10024 - /afii10025 - /afii10026 - /afii10027 - /afii10028 - /afii10029 - /afii10030 - /afii10031 - /afii10032 - /afii10033 - /afii10034 - /afii10035 - /afii10036 - /afii10037 - /afii10038 - /afii10039 - /afii10040 - /afii10041 - /afii10042 - /afii10043 - /afii10044 - /afii10045 - /afii10046 - /afii10047 - /afii10048 - /afii10049 - /afii10065 - /afii10066 - /afii10067 - /afii10068 - /afii10069 - /afii10070 - /afii10072 - /afii10073 - /afii10074 - /afii10075 - /afii10076 - /afii10077 - /afii10078 - /afii10079 - /afii10080 - /afii10081 - /afii10082 - /afii10083 - /afii10084 - /afii10085 - /afii10086 - /afii10087 - /afii10088 - /afii10089 - /afii10090 - /afii10091 - /afii10092 - /afii10093 - /afii10094 - /afii10095 - /afii10096 - /afii10097 - /afii61352 - /afii10071 - /afii10099 - /afii10100 - /afii10101 - /afii10102 - /afii10103 - /afii10104 - /afii10105 - /afii10106 - /afii10107 - /afii10108 - /afii10109 - /section - /afii10110 - /afii10193 -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-7.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-7.ps deleted file mode 100644 index 2e1eb821b..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-7.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-7.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/ISO-8859-7-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /afii64937 - /afii57929 - /sterling - /currency - /yen - /brokenbar - /section - /dieresis - /copyright - /ordfeminine - /guillemotleft - /logicalnot - /uni00AD - /registered - /afii00208 - /degree - /plusminus - /twosuperior - /threesuperior - /tonos - /dieresistonos - /Alphatonos - /periodcentered - /Epsilontonos - /Etatonos - /Iotatonos - /guillemotright - /Omicrontonos - /onehalf - /Upsilontonos - /Omegatonos - /iotadieresistonos - /Alpha - /Beta - /Gamma - /Delta - /Epsilon - /Zeta - /Eta - /Theta - /Iota - /Kappa - /Lambda - /Mu - /Nu - /Xi - /Omicron - /Pi - /Rho - /Ograve - /Sigma - /Tau - /Upsilon - /Phi - /Chi - /Psi - /Omega - /Iotadieresis - /Upsilondieresis - /alphatonos - /epsilontonos - /etatonos - /iotatonos - /upsilondieresistonos - /alpha - /beta - /gamma - /delta - /epsilon - /zeta - /eta - /theta - /iota - /kappa - /lambda - /uni03BC - /nu - /xi - /omicron - /pi - /rho - /sigma1 - /sigma - /tau - /upsilon - /phi - /chi - /psi - /omega - /iotadieresis - /upsilondieresis - /omicrontonos - /upsilontonos - /omegatonos - /ydieresis -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-9.ps b/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-9.ps deleted file mode 100644 index 5ae27ec1a..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.iso-8859-9.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.iso-8859-9.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/ISO-8859-9-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /uni00A0 - /exclamdown - /cent - /sterling - /currency - /yen - /brokenbar - /section - /dieresis - /copyright - /ordfeminine - /guillemotleft - /logicalnot - /uni00AD - /registered - /macron - /degree - /plusminus - /twosuperior - /threesuperior - /acute - /mu - /paragraph - /periodcentered - /cedilla - /onesuperior - /ordmasculine - /guillemotright - /onequarter - /onehalf - /threequarters - /questiondown - /Agrave - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Ccedilla - /Egrave - /Eacute - /Ecircumflex - /Edieresis - /Igrave - /Iacute - /Icircumflex - /Idieresis - /Gbreve - /Ntilde - /Ograve - /Oacute - /Ocircumflex - /Otilde - /Odieresis - /multiply - /Oslash - /Ugrave - /Uacute - /Ucircumflex - /Udieresis - /Idotaccent - /Scedilla - /germandbls - /agrave - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /ccedilla - /egrave - /eacute - /ecircumflex - /edieresis - /igrave - /iacute - /icircumflex - /idieresis - /gbreve - /ntilde - /ograve - /oacute - /ocircumflex - /otilde - /odieresis - /divide - /oslash - /ugrave - /uacute - /ucircumflex - /udieresis - /dotlessi - /scedilla - /ydieresis -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.koi8-r.ps b/thirdparty/html2ps_pdf/postscript/encoding.koi8-r.ps deleted file mode 100644 index 41a436464..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.koi8-r.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.koi8-r.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/KOI8-R-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /SF100000 - /SF110000 - /SF010000 - /SF030000 - /SF020000 - /SF040000 - /SF080000 - /SF090000 - /SF060000 - /SF070000 - /SF050000 - /upblock - /dnblock - /block - /lfblock - /rtblock - /ltshade - /shade - /dkshade - /integraltp - /filledbox - /uni2219 - /radical - /approxequal - /lessequal - /greaterequal - /uni00A0 - /integralbt - /degree - /twosuperior - /periodcentered - /divide - /SF430000 - /SF240000 - /SF510000 - /afii10071 - /SF520000 - /SF390000 - /SF220000 - /SF210000 - /SF250000 - /SF500000 - /SF490000 - /SF380000 - /SF280000 - /SF270000 - /SF260000 - /SF360000 - /SF370000 - /SF420000 - /SF190000 - /afii10023 - /SF200000 - /SF230000 - /SF470000 - /SF480000 - /SF410000 - /SF450000 - /SF460000 - /SF400000 - /SF540000 - /SF530000 - /SF440000 - /copyright - /afii10096 - /afii10065 - /afii10066 - /afii10088 - /afii10069 - /afii10070 - /afii10086 - /afii10068 - /afii10087 - /afii10074 - /afii10075 - /afii10076 - /afii10077 - /afii10078 - /afii10079 - /afii10080 - /afii10081 - /afii10097 - /afii10082 - /afii10083 - /afii10084 - /afii10085 - /afii10072 - /afii10067 - /afii10094 - /afii10093 - /afii10073 - /afii10090 - /afii10095 - /afii10091 - /afii10089 - /afii10092 - /afii10048 - /afii10017 - /afii10018 - /afii10040 - /afii10021 - /afii10022 - /afii10038 - /afii10020 - /afii10039 - /afii10026 - /afii10027 - /afii10028 - /afii10029 - /afii10030 - /afii10031 - /afii10032 - /afii10033 - /afii10049 - /afii10034 - /afii10035 - /afii10036 - /afii10037 - /afii10024 - /afii10019 - /afii10046 - /afii10045 - /afii10025 - /afii10042 - /afii10047 - /afii10043 - /afii10041 - /afii10044 -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.symbol.ps b/thirdparty/html2ps_pdf/postscript/encoding.symbol.ps deleted file mode 100644 index dc4b4aad0..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.symbol.ps +++ /dev/null @@ -1,122 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.symbol.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/Symbol-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef -% \040 - /space /exclam /universal /numbersign - /existential /percent /ampersand /suchthat - /parenleft /parenright /asteriskmath /plus - /comma /minus /period /slash - /zero /one /two /three - /four /five /six /seven - /eight /nine /colon /semicolon - /less /equal /greater /question -% \100 - /congruent /Alpha /Beta /Chi - /Delta /Epsilon /Phi /Gamma - /Eta /Iota /theta1 /Kappa - /Lambda /Mu /Nu /Omicron - /Pi /Theta /Rho /Sigma - /Tau /Upsilon /sigma1 /Omega - /Xi /Psi /Zeta /bracketleft - /therefore /bracketright /perpendicular /underscore -% \140 - /radicalex /alpha /beta /chi - /delta /epsilon /phi /gamma - /eta /iota /phi1 /kappa - /lambda /mu /nu /omicron - /pi /theta /rho /sigma - /tau /upsilon /omega1 /omega - /xi /psi /zeta /braceleft - /bar /braceright /similar /.notdef -% \200 - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef -% \240 - /Euro /Upsilon1 /minute /lessequal - /fraction /infinity /florin /club - /diamond /heart /spade /arrowboth - /arrowleft /arrowup /arrowright /arrowdown - /degree /plusminus /second /greaterequal - /multiply /proportional /partialdiff /bullet - /divide /notequal /equivalence /approxequal - /ellipsis /arrowvertex /arrowhorizex /carriagereturn -% \300 - /aleph /Ifraktur /Rfraktur /weierstrass - /circlemultiply /circleplus /emptyset /intersection - /union /propersuperset /reflexsuperset /notsubset - /propersubset /reflexsubset /element /notelement - /angle /gradient /registerserif /copyrightserif - /trademarkserif /product /radical /dotmath - /logicalnot /logicaland /logicalor /arrowdblboth - /arrowdblleft /arrowdblup /arrowdblright /arrowdbldown -% \340 - /lozenge /angleleft /registersans /copyrightsans - /trademarksans /summation /parenlefttp /parenleftex - /parenleftbt /bracketlefttp /bracketleftex /bracketleftbt - /bracelefttp /braceleftmid /braceleftbt /braceex - /.notdef /angleright /integral /integraltp - /integralex /integralbt /parenrighttp /parenrightex - /parenrightbt /bracketrighttp /bracketrightex /bracketrightbt - /bracerighttp /bracerightmid /bracerightbt /.notdef -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.windows-1250.ps b/thirdparty/html2ps_pdf/postscript/encoding.windows-1250.ps deleted file mode 100644 index 099dc0c10..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.windows-1250.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.windows-1250.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/Windows-1250-Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quotesingle - /parenleft - /parenright - /asterisk - /plus - /comma - /hyphen - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /grave - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /Euro - /.notdef - /uni201A - /.notdef - /uni201E - /uni2026 -/uni2020 % DAGGER -/uni2021 % DOUBLE DAGGER -/.notdef -/uni2030 % PER MILLE SIGN -/uni0160 % LATIN CAPITAL LETTER S WITH CARON -/uni2039 % SINGLE LEFT-POINTING ANGLE QUOTATION MARK -/uni015A % LATIN CAPITAL LETTER S WITH ACUTE -/uni0164 % LATIN CAPITAL LETTER T WITH CARON -/uni017D % LATIN CAPITAL LETTER Z WITH CARON -/uni0179 % LATIN CAPITAL LETTER Z WITH ACUTE -/.notdef -/uni2018 % LEFT SINGLE QUOTATION MARK -/uni2019 % RIGHT SINGLE QUOTATION MARK -/uni201C % LEFT DOUBLE QUOTATION MARK -/uni201D % RIGHT DOUBLE QUOTATION MARK -/uni2022 % BULLET -/uni2013 % EN DASH -/uni2014 % EM DASH -/.notdef -/uni2122 % TRADE MARK SIGN -/uni0161 % LATIN SMALL LETTER S WITH CARON -/uni203A % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -/uni015B % LATIN SMALL LETTER S WITH ACUTE -/uni0165 % LATIN SMALL LETTER T WITH CARON -/uni017E % LATIN SMALL LETTER Z WITH CARON -/uni017A % LATIN SMALL LETTER Z WITH ACUTE -/uni00A0 % NO-BREAK SPACE -/uni02C7 % CARON -/uni02D8 % BREVE -/uni0141 % LATIN CAPITAL LETTER L WITH STROKE -/uni00A4 % CURRENCY SIGN -/uni0104 % LATIN CAPITAL LETTER A WITH OGONEK -/uni00A6 % BROKEN BAR -/uni00A7 % SECTION SIGN -/uni00A8 % DIAERESIS -/uni00A9 % COPYRIGHT SIGN -/uni015E % LATIN CAPITAL LETTER S WITH CEDILLA -/uni00AB % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni00AC % NOT SIGN -/uni00AD % SOFT HYPHEN -/uni00AE % REGISTERED SIGN -/uni017B % LATIN CAPITAL LETTER Z WITH DOT ABOVE -/uni00B0 % DEGREE SIGN -/uni00B1 % PLUS-MINUS SIGN -/uni02DB % OGONEK -/uni0142 % LATIN SMALL LETTER L WITH STROKE -/uni00B4 % ACUTE ACCENT -/uni00B5 % MICRO SIGN -/uni00B6 % PILCROW SIGN -/uni00B7 % MIDDLE DOT -/uni00B8 % CEDILLA -/uni0105 % LATIN SMALL LETTER A WITH OGONEK -/uni015F % LATIN SMALL LETTER S WITH CEDILLA -/uni00BB % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni013D % LATIN CAPITAL LETTER L WITH CARON -/uni02DD % DOUBLE ACUTE ACCENT -/uni013E % LATIN SMALL LETTER L WITH CARON -/uni017C % LATIN SMALL LETTER Z WITH DOT ABOVE -/uni0154 % LATIN CAPITAL LETTER R WITH ACUTE -/uni00C1 % LATIN CAPITAL LETTER A WITH ACUTE -/uni00C2 % LATIN CAPITAL LETTER A WITH CIRCUMFLEX -/uni0102 % LATIN CAPITAL LETTER A WITH BREVE -/uni00C4 % LATIN CAPITAL LETTER A WITH DIAERESIS -/uni0139 % LATIN CAPITAL LETTER L WITH ACUTE -/uni0106 % LATIN CAPITAL LETTER C WITH ACUTE -/uni00C7 % LATIN CAPITAL LETTER C WITH CEDILLA -/uni010C % LATIN CAPITAL LETTER C WITH CARON -/uni00C9 % LATIN CAPITAL LETTER E WITH ACUTE -/uni0118 % LATIN CAPITAL LETTER E WITH OGONEK -/uni00CB % LATIN CAPITAL LETTER E WITH DIAERESIS -/uni011A % LATIN CAPITAL LETTER E WITH CARON -/uni00CD % LATIN CAPITAL LETTER I WITH ACUTE -/uni00CE % LATIN CAPITAL LETTER I WITH CIRCUMFLEX -/uni010E % LATIN CAPITAL LETTER D WITH CARON -/uni0110 % LATIN CAPITAL LETTER D WITH STROKE -/uni0143 % LATIN CAPITAL LETTER N WITH ACUTE -/uni0147 % LATIN CAPITAL LETTER N WITH CARON -/uni00D3 % LATIN CAPITAL LETTER O WITH ACUTE -/uni00D4 % LATIN CAPITAL LETTER O WITH CIRCUMFLEX -/uni0150 % LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -/uni00D6 % LATIN CAPITAL LETTER O WITH DIAERESIS -/uni00D7 % MULTIPLICATION SIGN -/uni0158 % LATIN CAPITAL LETTER R WITH CARON -/uni016E % LATIN CAPITAL LETTER U WITH RING ABOVE -/uni00DA % LATIN CAPITAL LETTER U WITH ACUTE -/uni0170 % LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -/uni00DC % LATIN CAPITAL LETTER U WITH DIAERESIS -/uni00DD % LATIN CAPITAL LETTER Y WITH ACUTE -/uni0162 % LATIN CAPITAL LETTER T WITH CEDILLA -/uni00DF % LATIN SMALL LETTER SHARP S -/uni0155 % LATIN SMALL LETTER R WITH ACUTE -/uni00E1 % LATIN SMALL LETTER A WITH ACUTE -/uni00E2 % LATIN SMALL LETTER A WITH CIRCUMFLEX -/uni0103 % LATIN SMALL LETTER A WITH BREVE -/uni00E4 % LATIN SMALL LETTER A WITH DIAERESIS -/uni013A % LATIN SMALL LETTER L WITH ACUTE -/uni0107 % LATIN SMALL LETTER C WITH ACUTE -/uni00E7 % LATIN SMALL LETTER C WITH CEDILLA -/uni010D % LATIN SMALL LETTER C WITH CARON -/uni00E9 % LATIN SMALL LETTER E WITH ACUTE -/uni0119 % LATIN SMALL LETTER E WITH OGONEK -/uni00EB % LATIN SMALL LETTER E WITH DIAERESIS -/uni011B % LATIN SMALL LETTER E WITH CARON -/uni00ED % LATIN SMALL LETTER I WITH ACUTE -/uni00EE % LATIN SMALL LETTER I WITH CIRCUMFLEX -/uni010F % LATIN SMALL LETTER D WITH CARON -/uni0111 % LATIN SMALL LETTER D WITH STROKE -/uni0144 % LATIN SMALL LETTER N WITH ACUTE -/uni0148 % LATIN SMALL LETTER N WITH CARON -/uni00F3 % LATIN SMALL LETTER O WITH ACUTE -/uni00F4 % LATIN SMALL LETTER O WITH CIRCUMFLEX -/uni0151 % LATIN SMALL LETTER O WITH DOUBLE ACUTE -/uni00F6 % LATIN SMALL LETTER O WITH DIAERESIS -/uni00F7 % DIVISION SIGN -/uni0159 % LATIN SMALL LETTER R WITH CARON -/uni016F % LATIN SMALL LETTER U WITH RING ABOVE -/uni00FA % LATIN SMALL LETTER U WITH ACUTE -/uni0171 % LATIN SMALL LETTER U WITH DOUBLE ACUTE -/uni00FC % LATIN SMALL LETTER U WITH DIAERESIS -/uni00FD % LATIN SMALL LETTER Y WITH ACUTE -/uni0163 % LATIN SMALL LETTER T WITH CEDILLA -/uni02D9 % DOT ABOVE -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.windows-1251.ps b/thirdparty/html2ps_pdf/postscript/encoding.windows-1251.ps deleted file mode 100644 index 1baa187ab..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.windows-1251.ps +++ /dev/null @@ -1,258 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.windows-1251.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/Windows-1251-Encoding [ -/uni0000 % NULL -/uni0001 % START OF HEADING -/uni0002 % START OF TEXT -/uni0003 % END OF TEXT -/uni0004 % END OF TRANSMISSION -/uni0005 % ENQUIRY -/uni0006 % ACKNOWLEDGE -/uni0007 % BELL -/uni0008 % BACKSPACE -/uni0009 % HORIZONTAL TABULATION -/uni000A % LINE FEED -/uni000B % VERTICAL TABULATION -/uni000C % FORM FEED -/uni000D % CARRIAGE RETURN -/uni000E % SHIFT OUT -/uni000F % SHIFT IN -/uni0010 % DATA LINK ESCAPE -/uni0011 % DEVICE CONTROL ONE -/uni0012 % DEVICE CONTROL TWO -/uni0013 % DEVICE CONTROL THREE -/uni0014 % DEVICE CONTROL FOUR -/uni0015 % NEGATIVE ACKNOWLEDGE -/uni0016 % SYNCHRONOUS IDLE -/uni0017 % END OF TRANSMISSION BLOCK -/uni0018 % CANCEL -/uni0019 % END OF MEDIUM -/uni001A % SUBSTITUTE -/uni001B % ESCAPE -/uni001C % FILE SEPARATOR -/uni001D % GROUP SEPARATOR -/uni001E % RECORD SEPARATOR -/uni001F % UNIT SEPARATOR -/uni0020 % SPACE -/uni0021 % EXCLAMATION MARK -/uni0022 % QUOTATION MARK -/uni0023 % NUMBER SIGN -/uni0024 % DOLLAR SIGN -/uni0025 % PERCENT SIGN -/uni0026 % AMPERSAND -/uni0027 % APOSTROPHE -/uni0028 % LEFT PARENTHESIS -/uni0029 % RIGHT PARENTHESIS -/uni002A % ASTERISK -/uni002B % PLUS SIGN -/uni002C % COMMA -/uni002D % HYPHEN-MINUS -/uni002E % FULL STOP -/uni002F % SOLIDUS -/uni0030 % DIGIT ZERO -/uni0031 % DIGIT ONE -/uni0032 % DIGIT TWO -/uni0033 % DIGIT THREE -/uni0034 % DIGIT FOUR -/uni0035 % DIGIT FIVE -/uni0036 % DIGIT SIX -/uni0037 % DIGIT SEVEN -/uni0038 % DIGIT EIGHT -/uni0039 % DIGIT NINE -/uni003A % COLON -/uni003B % SEMICOLON -/uni003C % LESS-THAN SIGN -/uni003D % EQUALS SIGN -/uni003E % GREATER-THAN SIGN -/uni003F % QUESTION MARK -/uni0040 % COMMERCIAL AT -/uni0041 % LATIN CAPITAL LETTER A -/uni0042 % LATIN CAPITAL LETTER B -/uni0043 % LATIN CAPITAL LETTER C -/uni0044 % LATIN CAPITAL LETTER D -/uni0045 % LATIN CAPITAL LETTER E -/uni0046 % LATIN CAPITAL LETTER F -/uni0047 % LATIN CAPITAL LETTER G -/uni0048 % LATIN CAPITAL LETTER H -/uni0049 % LATIN CAPITAL LETTER I -/uni004A % LATIN CAPITAL LETTER J -/uni004B % LATIN CAPITAL LETTER K -/uni004C % LATIN CAPITAL LETTER L -/uni004D % LATIN CAPITAL LETTER M -/uni004E % LATIN CAPITAL LETTER N -/uni004F % LATIN CAPITAL LETTER O -/uni0050 % LATIN CAPITAL LETTER P -/uni0051 % LATIN CAPITAL LETTER Q -/uni0052 % LATIN CAPITAL LETTER R -/uni0053 % LATIN CAPITAL LETTER S -/uni0054 % LATIN CAPITAL LETTER T -/uni0055 % LATIN CAPITAL LETTER U -/uni0056 % LATIN CAPITAL LETTER V -/uni0057 % LATIN CAPITAL LETTER W -/uni0058 % LATIN CAPITAL LETTER X -/uni0059 % LATIN CAPITAL LETTER Y -/uni005A % LATIN CAPITAL LETTER Z -/uni005B % LEFT SQUARE BRACKET -/uni005C % REVERSE SOLIDUS -/uni005D % RIGHT SQUARE BRACKET -/uni005E % CIRCUMFLEX ACCENT -/uni005F % LOW LINE -/uni0060 % GRAVE ACCENT -/uni0061 % LATIN SMALL LETTER A -/uni0062 % LATIN SMALL LETTER B -/uni0063 % LATIN SMALL LETTER C -/uni0064 % LATIN SMALL LETTER D -/uni0065 % LATIN SMALL LETTER E -/uni0066 % LATIN SMALL LETTER F -/uni0067 % LATIN SMALL LETTER G -/uni0068 % LATIN SMALL LETTER H -/uni0069 % LATIN SMALL LETTER I -/uni006A % LATIN SMALL LETTER J -/uni006B % LATIN SMALL LETTER K -/uni006C % LATIN SMALL LETTER L -/uni006D % LATIN SMALL LETTER M -/uni006E % LATIN SMALL LETTER N -/uni006F % LATIN SMALL LETTER O -/uni0070 % LATIN SMALL LETTER P -/uni0071 % LATIN SMALL LETTER Q -/uni0072 % LATIN SMALL LETTER R -/uni0073 % LATIN SMALL LETTER S -/uni0074 % LATIN SMALL LETTER T -/uni0075 % LATIN SMALL LETTER U -/uni0076 % LATIN SMALL LETTER V -/uni0077 % LATIN SMALL LETTER W -/uni0078 % LATIN SMALL LETTER X -/uni0079 % LATIN SMALL LETTER Y -/uni007A % LATIN SMALL LETTER Z -/uni007B % LEFT CURLY BRACKET -/uni007C % VERTICAL LINE -/uni007D % RIGHT CURLY BRACKET -/uni007E % TILDE -/uni007F % DELETE -/uni0402 % CYRILLIC CAPITAL LETTER DJE -/uni0403 % CYRILLIC CAPITAL LETTER GJE -/uni201A % SINGLE LOW-9 QUOTATION MARK -/uni0453 % CYRILLIC SMALL LETTER GJE -/uni201E % DOUBLE LOW-9 QUOTATION MARK -/uni2026 % HORIZONTAL ELLIPSIS -/uni2020 % DAGGER -/uni2021 % DOUBLE DAGGER -/uni20AC % EURO SIGN -/uni2030 % PER MILLE SIGN -/uni0409 % CYRILLIC CAPITAL LETTER LJE -/uni2039 % SINGLE LEFT-POINTING ANGLE QUOTATION MARK -/uni040A % CYRILLIC CAPITAL LETTER NJE -/uni040C % CYRILLIC CAPITAL LETTER KJE -/uni040B % CYRILLIC CAPITAL LETTER TSHE -/uni040F % CYRILLIC CAPITAL LETTER DZHE -/uni0452 % CYRILLIC SMALL LETTER DJE -/uni2018 % LEFT SINGLE QUOTATION MARK -/uni2019 % RIGHT SINGLE QUOTATION MARK -/uni201C % LEFT DOUBLE QUOTATION MARK -/uni201D % RIGHT DOUBLE QUOTATION MARK -/uni2022 % BULLET -/uni2013 % EN DASH -/uni2014 % EM DASH -/uni2122 % TRADE MARK SIGN -/uni0459 % CYRILLIC SMALL LETTER LJE -/uni203A % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -/uni045A % CYRILLIC SMALL LETTER NJE -/uni045C % CYRILLIC SMALL LETTER KJE -/uni045B % CYRILLIC SMALL LETTER TSHE -/uni045F % CYRILLIC SMALL LETTER DZHE -/uni00A0 % NO-BREAK SPACE -/uni040E % CYRILLIC CAPITAL LETTER SHORT U -/uni045E % CYRILLIC SMALL LETTER SHORT U -/uni0408 % CYRILLIC CAPITAL LETTER JE -/uni00A4 % CURRENCY SIGN -/uni0490 % CYRILLIC CAPITAL LETTER GHE WITH UPTURN -/uni00A6 % BROKEN BAR -/uni00A7 % SECTION SIGN -/uni0401 % CYRILLIC CAPITAL LETTER IO -/uni00A9 % COPYRIGHT SIGN -/uni0404 % CYRILLIC CAPITAL LETTER UKRAINIAN IE -/uni00AB % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni00AC % NOT SIGN -/uni00AD % SOFT HYPHEN -/uni00AE % REGISTERED SIGN -/uni0407 % CYRILLIC CAPITAL LETTER YI -/uni00B0 % DEGREE SIGN -/uni00B1 % PLUS-MINUS SIGN -/uni0406 % CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -/uni0456 % CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -/uni0491 % CYRILLIC SMALL LETTER GHE WITH UPTURN -/uni00B5 % MICRO SIGN -/uni00B6 % PILCROW SIGN -/uni00B7 % MIDDLE DOT -/uni0451 % CYRILLIC SMALL LETTER IO -/uni2116 % NUMERO SIGN -/uni0454 % CYRILLIC SMALL LETTER UKRAINIAN IE -/uni00BB % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni0458 % CYRILLIC SMALL LETTER JE -/uni0405 % CYRILLIC CAPITAL LETTER DZE -/uni0455 % CYRILLIC SMALL LETTER DZE -/uni0457 % CYRILLIC SMALL LETTER YI -/uni0410 % CYRILLIC CAPITAL LETTER A -/uni0411 % CYRILLIC CAPITAL LETTER BE -/uni0412 % CYRILLIC CAPITAL LETTER VE -/uni0413 % CYRILLIC CAPITAL LETTER GHE -/uni0414 % CYRILLIC CAPITAL LETTER DE -/uni0415 % CYRILLIC CAPITAL LETTER IE -/uni0416 % CYRILLIC CAPITAL LETTER ZHE -/uni0417 % CYRILLIC CAPITAL LETTER ZE -/uni0418 % CYRILLIC CAPITAL LETTER I -/uni0419 % CYRILLIC CAPITAL LETTER SHORT I -/uni041A % CYRILLIC CAPITAL LETTER KA -/uni041B % CYRILLIC CAPITAL LETTER EL -/uni041C % CYRILLIC CAPITAL LETTER EM -/uni041D % CYRILLIC CAPITAL LETTER EN -/uni041E % CYRILLIC CAPITAL LETTER O -/uni041F % CYRILLIC CAPITAL LETTER PE -/uni0420 % CYRILLIC CAPITAL LETTER ER -/uni0421 % CYRILLIC CAPITAL LETTER ES -/uni0422 % CYRILLIC CAPITAL LETTER TE -/uni0423 % CYRILLIC CAPITAL LETTER U -/uni0424 % CYRILLIC CAPITAL LETTER EF -/uni0425 % CYRILLIC CAPITAL LETTER HA -/uni0426 % CYRILLIC CAPITAL LETTER TSE -/uni0427 % CYRILLIC CAPITAL LETTER CHE -/uni0428 % CYRILLIC CAPITAL LETTER SHA -/uni0429 % CYRILLIC CAPITAL LETTER SHCHA -/uni042A % CYRILLIC CAPITAL LETTER HARD SIGN -/uni042B % CYRILLIC CAPITAL LETTER YERU -/uni042C % CYRILLIC CAPITAL LETTER SOFT SIGN -/uni042D % CYRILLIC CAPITAL LETTER E -/uni042E % CYRILLIC CAPITAL LETTER YU -/uni042F % CYRILLIC CAPITAL LETTER YA -/uni0430 % CYRILLIC SMALL LETTER A -/uni0431 % CYRILLIC SMALL LETTER BE -/uni0432 % CYRILLIC SMALL LETTER VE -/uni0433 % CYRILLIC SMALL LETTER GHE -/uni0434 % CYRILLIC SMALL LETTER DE -/uni0435 % CYRILLIC SMALL LETTER IE -/uni0436 % CYRILLIC SMALL LETTER ZHE -/uni0437 % CYRILLIC SMALL LETTER ZE -/uni0438 % CYRILLIC SMALL LETTER I -/uni0439 % CYRILLIC SMALL LETTER SHORT I -/uni043A % CYRILLIC SMALL LETTER KA -/uni043B % CYRILLIC SMALL LETTER EL -/uni043C % CYRILLIC SMALL LETTER EM -/uni043D % CYRILLIC SMALL LETTER EN -/uni043E % CYRILLIC SMALL LETTER O -/uni043F % CYRILLIC SMALL LETTER PE -/uni0440 % CYRILLIC SMALL LETTER ER -/uni0441 % CYRILLIC SMALL LETTER ES -/uni0442 % CYRILLIC SMALL LETTER TE -/uni0443 % CYRILLIC SMALL LETTER U -/uni0444 % CYRILLIC SMALL LETTER EF -/uni0445 % CYRILLIC SMALL LETTER HA -/uni0446 % CYRILLIC SMALL LETTER TSE -/uni0447 % CYRILLIC SMALL LETTER CHE -/uni0448 % CYRILLIC SMALL LETTER SHA -/uni0449 % CYRILLIC SMALL LETTER SHCHA -/uni044A % CYRILLIC SMALL LETTER HARD SIGN -/uni044B % CYRILLIC SMALL LETTER YERU -/uni044C % CYRILLIC SMALL LETTER SOFT SIGN -/uni044D % CYRILLIC SMALL LETTER E -/uni044E % CYRILLIC SMALL LETTER YU -/uni044F % CYRILLIC SMALL LETTER YA -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/encoding.windows-1252.ps b/thirdparty/html2ps_pdf/postscript/encoding.windows-1252.ps deleted file mode 100644 index 8ba1c9649..000000000 --- a/thirdparty/html2ps_pdf/postscript/encoding.windows-1252.ps +++ /dev/null @@ -1,259 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/encoding.windows-1252.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ -/Windows-1252-Encoding [ -/uni0000 % NULL -/uni0001 % START OF HEADING -/uni0002 % START OF TEXT -/uni0003 % END OF TEXT -/uni0004 % END OF TRANSMISSION -/uni0005 % ENQUIRY -/uni0006 % ACKNOWLEDGE -/uni0007 % BELL -/uni0008 % BACKSPACE -/uni0009 % HORIZONTAL TABULATION -/uni000A % LINE FEED -/uni000B % VERTICAL TABULATION -/uni000C % FORM FEED -/uni000D % CARRIAGE RETURN -/uni000E % SHIFT OUT -/uni000F % SHIFT IN -/uni0010 % DATA LINK ESCAPE -/uni0011 % DEVICE CONTROL ONE -/uni0012 % DEVICE CONTROL TWO -/uni0013 % DEVICE CONTROL THREE -/uni0014 % DEVICE CONTROL FOUR -/uni0015 % NEGATIVE ACKNOWLEDGE -/uni0016 % SYNCHRONOUS IDLE -/uni0017 % END OF TRANSMISSION BLOCK -/uni0018 % CANCEL -/uni0019 % END OF MEDIUM -/uni001A % SUBSTITUTE -/uni001B % ESCAPE -/uni001C % FILE SEPARATOR -/uni001D % GROUP SEPARATOR -/uni001E % RECORD SEPARATOR -/uni001F % UNIT SEPARATOR -/uni0020 % SPACE -/uni0021 % EXCLAMATION MARK -/uni0022 % QUOTATION MARK -/uni0023 % NUMBER SIGN -/uni0024 % DOLLAR SIGN -/uni0025 % PERCENT SIGN -/uni0026 % AMPERSAND -/uni0027 % APOSTROPHE -/uni0028 % LEFT PARENTHESIS -/uni0029 % RIGHT PARENTHESIS -/uni002A % ASTERISK -/uni002B % PLUS SIGN -/uni002C % COMMA -/uni002D % HYPHEN-MINUS -/uni002E % FULL STOP -/uni002F % SOLIDUS -/uni0030 % DIGIT ZERO -/uni0031 % DIGIT ONE -/uni0032 % DIGIT TWO -/uni0033 % DIGIT THREE -/uni0034 % DIGIT FOUR -/uni0035 % DIGIT FIVE -/uni0036 % DIGIT SIX -/uni0037 % DIGIT SEVEN -/uni0038 % DIGIT EIGHT -/uni0039 % DIGIT NINE -/uni003A % COLON -/uni003B % SEMICOLON -/uni003C % LESS-THAN SIGN -/uni003D % EQUALS SIGN -/uni003E % GREATER-THAN SIGN -/uni003F % QUESTION MARK -/uni0040 % COMMERCIAL AT -/uni0041 % LATIN CAPITAL LETTER A -/uni0042 % LATIN CAPITAL LETTER B -/uni0043 % LATIN CAPITAL LETTER C -/uni0044 % LATIN CAPITAL LETTER D -/uni0045 % LATIN CAPITAL LETTER E -/uni0046 % LATIN CAPITAL LETTER F -/uni0047 % LATIN CAPITAL LETTER G -/uni0048 % LATIN CAPITAL LETTER H -/uni0049 % LATIN CAPITAL LETTER I -/uni004A % LATIN CAPITAL LETTER J -/uni004B % LATIN CAPITAL LETTER K -/uni004C % LATIN CAPITAL LETTER L -/uni004D % LATIN CAPITAL LETTER M -/uni004E % LATIN CAPITAL LETTER N -/uni004F % LATIN CAPITAL LETTER O -/uni0050 % LATIN CAPITAL LETTER P -/uni0051 % LATIN CAPITAL LETTER Q -/uni0052 % LATIN CAPITAL LETTER R -/uni0053 % LATIN CAPITAL LETTER S -/uni0054 % LATIN CAPITAL LETTER T -/uni0055 % LATIN CAPITAL LETTER U -/uni0056 % LATIN CAPITAL LETTER V -/uni0057 % LATIN CAPITAL LETTER W -/uni0058 % LATIN CAPITAL LETTER X -/uni0059 % LATIN CAPITAL LETTER Y -/uni005A % LATIN CAPITAL LETTER Z -/uni005B % LEFT SQUARE BRACKET -/uni005C % REVERSE SOLIDUS -/uni005D % RIGHT SQUARE BRACKET -/uni005E % CIRCUMFLEX ACCENT -/uni005F % LOW LINE -/uni0060 % GRAVE ACCENT -/uni0061 % LATIN SMALL LETTER A -/uni0062 % LATIN SMALL LETTER B -/uni0063 % LATIN SMALL LETTER C -/uni0064 % LATIN SMALL LETTER D -/uni0065 % LATIN SMALL LETTER E -/uni0066 % LATIN SMALL LETTER F -/uni0067 % LATIN SMALL LETTER G -/uni0068 % LATIN SMALL LETTER H -/uni0069 % LATIN SMALL LETTER I -/uni006A % LATIN SMALL LETTER J -/uni006B % LATIN SMALL LETTER K -/uni006C % LATIN SMALL LETTER L -/uni006D % LATIN SMALL LETTER M -/uni006E % LATIN SMALL LETTER N -/uni006F % LATIN SMALL LETTER O -/uni0070 % LATIN SMALL LETTER P -/uni0071 % LATIN SMALL LETTER Q -/uni0072 % LATIN SMALL LETTER R -/uni0073 % LATIN SMALL LETTER S -/uni0074 % LATIN SMALL LETTER T -/uni0075 % LATIN SMALL LETTER U -/uni0076 % LATIN SMALL LETTER V -/uni0077 % LATIN SMALL LETTER W -/uni0078 % LATIN SMALL LETTER X -/uni0079 % LATIN SMALL LETTER Y -/uni007A % LATIN SMALL LETTER Z -/uni007B % LEFT CURLY BRACKET -/uni007C % VERTICAL LINE -/uni007D % RIGHT CURLY BRACKET -/uni007E % TILDE -/uni007F % DELETE -/uni20AC % EURO SIGN -/.undef -/uni201A % SINGLE LOW-9 QUOTATION MARK -/uni0192 % LATIN SMALL LETTER F WITH HOOK -/uni201E % DOUBLE LOW-9 QUOTATION MARK -/uni2026 % HORIZONTAL ELLIPSIS -/uni2020 % DAGGER -/uni2021 % DOUBLE DAGGER -/uni02C6 % MODIFIER LETTER CIRCUMFLEX ACCENT -/uni2030 % PER MILLE SIGN -/uni0160 % LATIN CAPITAL LETTER S WITH CARON -/uni2039 % SINGLE LEFT-POINTING ANGLE QUOTATION MARK -/uni0152 % LATIN CAPITAL LIGATURE OE -/.undef -/uni017D % LATIN CAPITAL LETTER Z WITH CARON -/.undef -/.undef -/uni2018 % LEFT SINGLE QUOTATION MARK -/uni2019 % RIGHT SINGLE QUOTATION MARK -/uni201C % LEFT DOUBLE QUOTATION MARK -/uni201D % RIGHT DOUBLE QUOTATION MARK -/uni2022 % BULLET -/uni2013 % EN DASH -/uni2014 % EM DASH -/uni02DC % SMALL TILDE -/uni2122 % TRADE MARK SIGN -/uni0161 % LATIN SMALL LETTER S WITH CARON -/uni203A % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -/uni0153 % LATIN SMALL LIGATURE OE -/.undef -/uni017E % LATIN SMALL LETTER Z WITH CARON -/uni0178 % LATIN CAPITAL LETTER Y WITH DIAERESIS -/uni00A0 % NO-BREAK SPACE -/uni00A1 % INVERTED EXCLAMATION MARK -/uni00A2 % CENT SIGN -/uni00A3 % POUND SIGN -/uni00A4 % CURRENCY SIGN -/uni00A5 % YEN SIGN -/uni00A6 % BROKEN BAR -/uni00A7 % SECTION SIGN -/uni00A8 % DIAERESIS -/uni00A9 % COPYRIGHT SIGN -/uni00AA % FEMININE ORDINAL INDICATOR -/uni00AB % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni00AC % NOT SIGN -/uni00AD % SOFT HYPHEN -/uni00AE % REGISTERED SIGN -/uni00AF % MACRON -/uni00B0 % DEGREE SIGN -/uni00B1 % PLUS-MINUS SIGN -/uni00B2 % SUPERSCRIPT TWO -/uni00B3 % SUPERSCRIPT THREE -/uni00B4 % ACUTE ACCENT -/uni00B5 % MICRO SIGN -/uni00B6 % PILCROW SIGN -/uni00B7 % MIDDLE DOT -/uni00B8 % CEDILLA -/uni00B9 % SUPERSCRIPT ONE -/uni00BA % MASCULINE ORDINAL INDICATOR -/uni00BB % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -/uni00BC % VULGAR FRACTION ONE QUARTER -/uni00BD % VULGAR FRACTION ONE HALF -/uni00BE % VULGAR FRACTION THREE QUARTERS -/uni00BF % INVERTED QUESTION MARK -/uni00C0 % LATIN CAPITAL LETTER A WITH GRAVE -/uni00C1 % LATIN CAPITAL LETTER A WITH ACUTE -/uni00C2 % LATIN CAPITAL LETTER A WITH CIRCUMFLEX -/uni00C3 % LATIN CAPITAL LETTER A WITH TILDE -/uni00C4 % LATIN CAPITAL LETTER A WITH DIAERESIS -/uni00C5 % LATIN CAPITAL LETTER A WITH RING ABOVE -/uni00C6 % LATIN CAPITAL LETTER AE -/uni00C7 % LATIN CAPITAL LETTER C WITH CEDILLA -/uni00C8 % LATIN CAPITAL LETTER E WITH GRAVE -/uni00C9 % LATIN CAPITAL LETTER E WITH ACUTE -/uni00CA % LATIN CAPITAL LETTER E WITH CIRCUMFLEX -/uni00CB % LATIN CAPITAL LETTER E WITH DIAERESIS -/uni00CC % LATIN CAPITAL LETTER I WITH GRAVE -/uni00CD % LATIN CAPITAL LETTER I WITH ACUTE -/uni00CE % LATIN CAPITAL LETTER I WITH CIRCUMFLEX -/uni00CF % LATIN CAPITAL LETTER I WITH DIAERESIS -/uni00D0 % LATIN CAPITAL LETTER ETH -/uni00D1 % LATIN CAPITAL LETTER N WITH TILDE -/uni00D2 % LATIN CAPITAL LETTER O WITH GRAVE -/uni00D3 % LATIN CAPITAL LETTER O WITH ACUTE -/uni00D4 % LATIN CAPITAL LETTER O WITH CIRCUMFLEX -/uni00D5 % LATIN CAPITAL LETTER O WITH TILDE -/uni00D6 % LATIN CAPITAL LETTER O WITH DIAERESIS -/uni00D7 % MULTIPLICATION SIGN -/uni00D8 % LATIN CAPITAL LETTER O WITH STROKE -/uni00D9 % LATIN CAPITAL LETTER U WITH GRAVE -/uni00DA % LATIN CAPITAL LETTER U WITH ACUTE -/uni00DB % LATIN CAPITAL LETTER U WITH CIRCUMFLEX -/uni00DC % LATIN CAPITAL LETTER U WITH DIAERESIS -/uni00DD % LATIN CAPITAL LETTER Y WITH ACUTE -/uni00DE % LATIN CAPITAL LETTER THORN -/uni00DF % LATIN SMALL LETTER SHARP S -/uni00E0 % LATIN SMALL LETTER A WITH GRAVE -/uni00E1 % LATIN SMALL LETTER A WITH ACUTE -/uni00E2 % LATIN SMALL LETTER A WITH CIRCUMFLEX -/uni00E3 % LATIN SMALL LETTER A WITH TILDE -/uni00E4 % LATIN SMALL LETTER A WITH DIAERESIS -/uni00E5 % LATIN SMALL LETTER A WITH RING ABOVE -/uni00E6 % LATIN SMALL LETTER AE -/uni00E7 % LATIN SMALL LETTER C WITH CEDILLA -/uni00E8 % LATIN SMALL LETTER E WITH GRAVE -/uni00E9 % LATIN SMALL LETTER E WITH ACUTE -/uni00EA % LATIN SMALL LETTER E WITH CIRCUMFLEX -/uni00EB % LATIN SMALL LETTER E WITH DIAERESIS -/uni00EC % LATIN SMALL LETTER I WITH GRAVE -/uni00ED % LATIN SMALL LETTER I WITH ACUTE -/uni00EE % LATIN SMALL LETTER I WITH CIRCUMFLEX -/uni00EF % LATIN SMALL LETTER I WITH DIAERESIS -/uni00F0 % LATIN SMALL LETTER ETH -/uni00F1 % LATIN SMALL LETTER N WITH TILDE -/uni00F2 % LATIN SMALL LETTER O WITH GRAVE -/uni00F3 % LATIN SMALL LETTER O WITH ACUTE -/uni00F4 % LATIN SMALL LETTER O WITH CIRCUMFLEX -/uni00F5 % LATIN SMALL LETTER O WITH TILDE -/uni00F6 % LATIN SMALL LETTER O WITH DIAERESIS -/uni00F7 % DIVISION SIGN -/uni00F8 % LATIN SMALL LETTER O WITH STROKE -/uni00F9 % LATIN SMALL LETTER U WITH GRAVE -/uni00FA % LATIN SMALL LETTER U WITH ACUTE -/uni00FB % LATIN SMALL LETTER U WITH CIRCUMFLEX -/uni00FC % LATIN SMALL LETTER U WITH DIAERESIS -/uni00FD % LATIN SMALL LETTER Y WITH ACUTE -/uni00FE % LATIN SMALL LETTER THORN -/uni00FF % LATIN SMALL LETTER Y WITH DIAERESIS -] readonly def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/fastps.footer.ps b/thirdparty/html2ps_pdf/postscript/fastps.footer.ps deleted file mode 100644 index e812e43a6..000000000 --- a/thirdparty/html2ps_pdf/postscript/fastps.footer.ps +++ /dev/null @@ -1,3 +0,0 @@ -showpage -%%Trailer -%%EOF \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/fastps.header.ps b/thirdparty/html2ps_pdf/postscript/fastps.header.ps deleted file mode 100644 index 606403267..000000000 --- a/thirdparty/html2ps_pdf/postscript/fastps.header.ps +++ /dev/null @@ -1,381 +0,0 @@ -%!PS-Adobe-3.0 -%%Pages: ##PAGES## -%%BoundingBox: ##BBOX## -%%EndComments -%%BeginProlog -/cm {28.34 mul} def -/mm {2.834 mul} def - -##PS2PDF## -##TRANSPARENCY## - -/findfont-enc { % => FontName Encoding - exch - findfont % => FontSize - dup length dict begin { - 1 index /FID ne { - def - } { - pop pop - } ifelse - } forall - /Encoding 1 index def - currentdict - end - - /Font-Enc exch definefont % => - exch pop -} def - -/image-create { % => Mask Image Init SY SX - << >> - dup /SX 3 index put - dup /SY 4 index put - dup /Init 5 index put - dup /Image 6 index put - dup /Mask 7 index put - - exch pop - exch pop - exch pop - exch pop - exch pop -} def - -/image-show { % => W H Image -% Check if image is transparent - dup /Mask get /null eq { % => W H Image - 2 index - 2 index % => W H Image W H - 2 index /SX get - 3 index /SY get - 4 index /Image get - 5 index /Init get % => W H Image W H SX SY Image Init - show-image % => W H Image - } { - 2 index - 2 index % => W H Image W H - 2 index /SX get - 3 index /SY get - 4 index /Mask get - 5 index /Image get - 6 index /Init get % => W H Image W H SX SY Mask Image Init - show-transparent-image - } ifelse % => W H Image - pop pop pop -} def - -/image-show-simple { % => Scale Y X Image - 1 index - 3 index moveto % => Scale Y X Image - - dup /SX get 4 index mul - 1 index /SY get 5 index mul % => Scale Y X Image W H - 2 index image-show % => Scale Y X Image - - pop pop pop pop -} def - -/image-show-repeat-x { % => Scale YOffset XOffset Right Width Y X Image - dup /SX get 8 index mul - 1 index /SY get 9 index mul % => Scale YOffset XOffset Right width Y X Image W H - -% Fill part to the right - - 3 index % => Scale YOffset XOffset Right width Y X Image W H CX - { % => Scale YOffset XOffset Right width Y X Image W H CX - dup - 8 index ge { exit } if - - dup 6 index moveto % => Scale YOffset XOffset Right width Y X Image W H CX - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Right width Y X Image W H CY - 6 index add % => Scale YOffset XOffset Right width Y X Image W H CY - } loop - pop -% Fill part to the left - - 3 index - { % => Scale YOffset XOffset Right width Y X Image W H CX - dup 7 index add - 5 index 10 index sub - lt { exit } if - - dup 7 index sub - 6 index moveto % => Scale YOffset XOffset Right width Y X Image W H CX - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Right width Y X Image W H CX - - 6 index sub % => Scale YOffset XOffset Right width Y X Image W H CX - } loop - pop - pop pop - - pop pop pop - pop pop pop - pop pop -} def - -/image-show-repeat-y { % => Scale YOffset XOffset Bottom height Y X Image - dup /SX get 8 index mul - 1 index /SY get 9 index mul % => Scale YOffset XOffset Bottom height Y X Image W H - -% Fill part to the bottom - - 4 index % => Scale YOffset XOffset Bottom height Y X Image W H CY - { % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index 1 index add - 8 index le { exit } if - - 4 index 1 index moveto % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index sub % => Scale YOffset XOffset Bottom height Y X Image W H CY - } loop - pop - -% Fill part to the top - - 4 index - { % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index 1 index exch sub - 10 index 7 index add - ge { exit } if - - 4 index 1 index moveto % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 6 index add % => Scale YOffset XOffset Bottom height Y X Image W H CY - } loop - pop - pop pop - - pop pop pop - pop pop pop - pop pop -} def - -/image-show-repeat-xy { % => Scale YOffset XOffset Bottom Right Height Width Y X Image - dup /SX get 10 index mul - 1 index /SY get 11 index mul % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H - -% Fill bottom-right quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup 8 index add - 10 index le { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 10 index ge { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill bottom-left quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup 8 index add - 10 index le { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 8 index add - 6 index 13 index sub - le { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill top-right quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup - 6 index 13 index add - gt { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 10 index gt { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill top-left quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup - 6 index 13 index add - ge { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 8 index add - 6 index 13 index sub - le { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - - pop pop - - pop pop pop - pop pop pop - pop pop pop - pop -} def - -/show-image { % => W H W H Samples InitFunc - exec % => W H W H Samples - - gsave - - matrix % => W H W H Samples Matr - currentpoint % => W H W H Samples Matr X Y - translate % => W H W H Samples Matr' - 5 index - 4 index div % => W H W H Samples Matr' KX - 5 index - 4 index div neg % => W H W H Samples Matr' KX KY - scale % => W H W H Samples Matr'' - 0 3 index neg % => W H W H Samples Matr'' 0 -H(px) - translate % => W H W H Samples Matr - - << - /ImageType 1 - /Width 7 index - /Height 8 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 12 index - /DataSource 15 index - >> - - image - - grestore - - pop pop pop - pop pop pop -} def - -/show-transparent-image { % => W H W H Mask Samples InitFunc - exec % => W H W H Mask Samples - - gsave - - matrix % => W H W H Mask Samples Matr - currentpoint % => W H W H Mask Samples Matr X Y - translate % => W H W H Mask Samples Matr' - 6 index - 5 index div % => W H W H Mask Samples Matr' KX - 6 index - 5 index div neg % => W H W H Mask Samples Matr' KX KY - scale % => W H W H Mask Samples Matr'' - 0 4 index neg % => W H W H Mask Samples Matr'' 0 -H(px) - translate % => W H W H Mask Samples Matr - -% As support of type 3 images in ps2pdf is bad, we'll use this workaround - ps2pdf-transparency-hack { - << - /ImageType no-transparency-output { 1 } { 4 } ifelse - /Width 8 index - /Height 9 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 12 index - /DataSource 15 index - /MaskColor [0 0 0] - >> - } { - << - /ImageType 3 - /InterleaveType 3 - /DataDict - << - /ImageType 1 - /Width 14 index - /Height 15 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 18 index - /DataSource 21 index - >> - /MaskDict - << - /ImageType 1 - /Width 16 index - /Height 17 index - /BitsPerComponent 1 - /Decode [0 1] - /ImageMatrix 20 index - /DataSource 24 index - >> - >> - } ifelse - - image - - grestore - - pop pop pop pop - pop pop pop -} def - -/IL1 { % => Width Matrix Source - << /ImageType 1 /Width 6 index /Height 1 /BitsPerComponent 8 /Decode [0 1 0 1 0 1] /ImageMatrix 13 index /DataSource 14 index >> image -} def - -##MEDIA## - -##PROLOG## -%%EndProlog -%%BeginSetup -%%EndSetup - -%%Page: 1 1 -%%BeginPageSetup -initpage -0 0 0 setrgbcolor -%%EndPageSetup \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/flow.block.ps b/thirdparty/html2ps_pdf/postscript/flow.block.ps deleted file mode 100644 index 727c3a226..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.block.ps +++ /dev/null @@ -1,96 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.block.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% Shorthand for -% $this->_current_x = $context->float_left_x($this->_current_x, $this->_current_y); -% in PHP -% -/offset-x-floats { % => Box - dup get-current-x - 1 index get-current-y % => Box X Y - float-left-x % => Box X - 1 index - put-current-x - pop -} def - -% Close line subroutine; checks if text justification -% is needed and applies it to the line-box content -/close-line-justify { % => Box - dup get-line dup length 1 gt { % => Box Line - pop - dup get-text-align % => Box AlignFunction - 1 index exch % => Box Box AlignFunction - exec % => Box - } { - dup length 0 gt { - 0 get % => Box L0 - get-local-align % => Box LA - 1 index exch % => Box Box LA - exec % => Box - } { - pop - dup get-text-align % => Box AlignFunction - 1 index exch % => Box Box AlignFunction - exec % => Box - } ifelse - } ifelse -} def - -/close-line { % => Box -% make line justification - -% Note that text-align should not be applied to the block boxes! -% As block boxes will be alone in the line-box, we can check -% if the very first box in the line is inline; if not - no justification should be made - dup get-line length 0 gt { - dup get-line 0 get is-inline { - close-line-justify - } { -% Nevertheless, CENTER tag and P/DIV with ALIGN attribute set should affect the -% position of non-inline children. - dup get-box-dict - /PseudoAlign get - 1 index exch % => Box Box PA - exec % => Box - } ifelse - } if - - - dup get-line % => Box Line - 0 exch % => Box 0(LH) Line - { % => Box LH LineElement - get-full-height - max - } forall % => Box LH - - % Clear line - [] 2 index put-line % => Box LH - % Reset X coordinate - 1 index get-left-internal % => Box LH LeftI - 2 index put-current-x % => Box LH - % Extend Y coordinate - 1 index get-current-y % => Box LH CY - exch sub % => Box CY-LH - 1 index put-current-y % => Box - - % Reset information about the line baseline - 0 1 index put-line-baseline - -% Line box completed, render the deferred floats - dup get-box-dict - /Flow get /DeferredFloats get - { - flow-float - } forall - - dup get-box-dict - /Flow get /DeferredFloats [] put - -% modify the current-x value, so that next inline box will not intersect any floating boxes - dup offset-x-floats - -% Clear the stack - pop - /no-justify {false} def -} def - diff --git a/thirdparty/html2ps_pdf/postscript/flow.box.ps b/thirdparty/html2ps_pdf/postscript/flow.box.ps deleted file mode 100644 index b5aff9a69..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.box.ps +++ /dev/null @@ -1,53 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.box.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/flow-box { % => Child Parent - exch % => Parent Child - -% in case we're working with floated box, -% set 'display' property to 'block' value (FIXME: make this more compatible with CSS spec. 9.7) - dup get-box-dict /Float get - /none ne { -% if line box already have content, the flow this float _after_ the line box -% otherwise flow it immediately. - 1 index get-line length 0 gt { - 1 index exch add-deferred-float - pop - } { - flow-float % => Parent -% Fix parent's current-x value -% in case this float had 'float: left' style first inline box should be shifted to the right - offset-x-floats % => - } ifelse - } { - dup get-flow-fun - exec - } ifelse -} def - -/apply-clear { % => Box Y - 1 index get-box-dict /Clear get - dup /left eq exch /both eq - or { - { - dup get-box-dict /Float get /left eq { - get-bottom min - } { - pop - } ifelse - } 1 index context-floats reduce % => Parent Child DY FY1 - min - } if - - 1 index get-box-dict /Clear get - dup /right eq exch /both eq - or { - { - dup get-box-dict /Float get /right eq { - get-bottom min - } { - pop - } ifelse - } 1 index context-floats reduce % => Parent Child DY FY1 - min - } if -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/flow.float.ps b/thirdparty/html2ps_pdf/postscript/flow.float.ps deleted file mode 100644 index e75ed1629..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.float.ps +++ /dev/null @@ -1,36 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.float.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/add-deferred-float { % => Parent Float - 1 index get-box-dict - /Flow get - /DeferredFloats get % => Parent Float DefFList -% see comments on array-append/array-prepend - array-prepend % => Parent DefFList' - 1 index get-box-dict - /Flow get % => Parent DefFList' FlowDict - /DeferredFloats 2 index put - pop pop -} def - -% Find the maximal X at the given Y coordinate suitable for float placement -/float-right-x { % => Parent Float W X0 - context-floats - 1 index % => Parent Float W X0 Floats X0 - 5 index get-current-y % => Parent Float W X0 Floats X0 Y0 -% The following line is a dirty hack; it is required, as due some rounding errors -% the right corner, lying on the right float box edge, is not treated by point-in-floats -% correctly - exch 0.0001 sub exch - - point-in-floats dup false ne { % => Parent Float W X0 Float - get-left 1 sub % => Parent Float W X0 X1 - exch pop % => Parent Float W X1 - float-right-x % => X - } { - pop % => Parent Float W X0 - exch pop % => Parent Float X0 - exch pop % => Parent X - exch pop % => X - } ifelse % => X -} def - diff --git a/thirdparty/html2ps_pdf/postscript/flow.inline.block.ps b/thirdparty/html2ps_pdf/postscript/flow.inline.block.ps deleted file mode 100644 index 4bee60460..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.inline.block.ps +++ /dev/null @@ -1,57 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.inline.block.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/flow-inline-block { -% inline-block margins are never collapsed -% While drawing, we need position of margin edge, not border edge. - 1 index get-current-x - 2 index get-current-y % => Parent Child X Y - 2 index - move-to-box % => Parent Child - - 2 copy inline-block-calc-width - -% we're now interested in last content y, not the bottom border of the containing -% block, because, due the min-height, bottom border can contain lesser (lower on the page) -% value than current y - dup get-right - 2 index put-current-x - -% determine the baseline of inline-block box - { - get-baseline max - } - 0 - 2 index get-content - reduce -% now we have text baseline counted from the padding edge; -% add padding, margin and border size on the top size of inline-block box to -% calculate its own baseline - 1 index get-margin-top add - 1 index get-padding-top add - 1 index get-border-top-width add - - 1 index put-baseline - - dup get-vertical-align exec - -% do horizontal align -% treat inline-block content as one long line box - dup get-content { % => Parent Box ContentElement - 1 index append-line - } forall - - dup get-text-align - 1 index exch - exec - -% append current box to the parent's line box - dup 2 index append-line - - dup get-full-height - 2 index exch - extend-height % => Parent - pop - -% clear the stack - pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/flow.inline.ps b/thirdparty/html2ps_pdf/postscript/flow.inline.ps deleted file mode 100644 index aba80fb16..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.inline.ps +++ /dev/null @@ -1,116 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.inline.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% Check if given point is inside some alredy-layout floating box -/maybe-line-break-1 { % => Parent Child -% Check for right-floating boxes -% If upper-right corner of this inline box is inside of some float, wrap the line - context-floats % => Parent Child Floats - 1 index get-full-width - 3 index get-current-x add % => Parent Child Floats X - 3 index get-current-y % => Parent Child Floats X Y - point-in-floats % => Parent Child Float/false - false ne % => Parent Chils true/false - exch pop - exch pop -} def % => true/false - -/maybe-line-break-2 { % => Parent Child - dup get-full-width - 2 index get-current-x add % => Parent Child X - - 2 index get-right-internal - rounding-epsilon add % => Parent Child X R - - 3 index get-current-x % => Parent Child X R CX - 4 index get-left-internal % => Parent Child X R CX Left - - gt 3 1 roll gt and % => Parent Child (X>R)&&(CX>Left) - - exch pop - exch pop % => true/false -} def - -/maybe-line-break-in { % => Parent Child - 2 copy maybe-line-break-1 { - pop pop true - } { - 2 copy maybe-line-break-2 { - pop pop true - } { - pop pop false - } ifelse - } ifelse -} def - -/maybe-line-break { % => Parent Child - 2 copy maybe-line-break-in dup { % => Parent Child Break -% break is needed -% check if parent line box containg any boxes - 2 index get-line length 0 eq { - 1 index get-height - 3 index get-current-y - exch sub % => Parent Child Break CY' - 3 index put-current-y - } if % => Parent Child Break - - 2 index close-line - } if % => Parent Child Break - - exch pop - exch pop % => Break -} def - -/line-break-allowed { % => Box - dup get-box-dict /Display get - dup /-text ne - exch pop - exch pop -} def % => true/false - -/flow-inline { % => Parent Child - 1 index line-break-allowed { - { - 2 copy maybe-line-break not - { exit } if - } loop - } if - -% set default baseline - dup get-default-baseline - 1 index put-baseline - -% Determine the baseline position and height of the text-box using line-height CSS property - dup get-box-dict - /Display get - /inline-text eq { - apply-line-height - } if - - dup get-vertical-align exec - - dup 2 index append-line - - % Determine coordinates of upper-left corner - 1 index get-current-x - 2 index get-current-y % => Parent Child X Y - 2 index - move-to-box % => Parent Child - - % ??? - dup - 0 1 index get-margin-top - offset-box - - % Offset parent current X value - 1 index get-current-x % => Parent Child PCX - 1 index get-full-width % => Parent Child PCX CW - add % => Parent Child PCX+CW - 2 index put-current-x % => Parent Child - - % extend parent's height - dup get-full-height - exch pop - extend-height % => Parent - - pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/flow.legend.ps b/thirdparty/html2ps_pdf/postscript/flow.legend.ps deleted file mode 100644 index 2dd17de58..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.legend.ps +++ /dev/null @@ -1,49 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/flow.legend.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% Flow the LEGEND-generated box -/flow-legend { % => Parent Child -% calculate size of the legend - 2 copy inline-block-calc-width - - reflow % => Parent Child - -% If legend is presend, FIELDSET margin is counted from the LEGEND top edge, -% not the actual border edge -% We need to offset the containing FIELDSET by the 1/2 of LEGEND height - dup get-full-height 2 div - 2 index get-margin-top - add % => Parent Child NewTopPaddingValue - 2 index get-margin - exch 0 exch put % => Parent Child NewPaddingArray - -% If legend is present, FIELDSET padding is counted from the LEGEND bottom edge, -% not the actual border edge - dup get-full-height 2 div % => Parent Child (PaddingOffsetValue = H/2) - 2 index get-padding-top - add % => Parent Child NewTopPaddingValue - 2 index get-padding - exch 0 exch put % => Parent Child NewPaddingArray - -% also, note that we'll need to modify current-y, as the flow is already in progress - 1 index get-top-internal - 2 index put-current-y - -% determine the position of top-left legend box corner -% X-coordinate - 1 index get-left-padded -% Y-coordinate - 2 index get-top-padded % => Parent Child X Y - - 2 index - move-to-box-force % => Parent Child - -% Do legend offset - dup % => Parent Child Child - dup get-full-height % => Parent Child Child H - 2 div % => Parent Child Child H/2 - dup - offset-box % => Parent Child - -% clear the stack - pop pop % => -} def diff --git a/thirdparty/html2ps_pdf/postscript/flow.table.ps b/thirdparty/html2ps_pdf/postscript/flow.table.ps deleted file mode 100644 index 106132db9..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow.table.ps +++ /dev/null @@ -1,163 +0,0 @@ -/flow-table { % => Parent Child -% Calculate margin values if they have been set as a percentage - 2 copy - calc-percentage-margins - -% Calculate width value if it have been set as a percentage - 2 copy - calc-percentage-width - -% dup get-box-dict -% /Parent known { -% dup calc-auto-width-margins -% } if % => Parent Child - -% As table width can be deterimined by its contents, we may calculate auto values -% only AFTER the contents have been reflown; thus, we'll offset the table -% as a whole by a value of left margin AFTER the content reflow - -% suppress top/bottom margin for the first block box inside the table cell -% check if parent of this block is the table cell - 1 index get-box-dict /Display get - /table-cell eq { -% check if current box is the first child - 1 index get-content 0 get 1 index eq { - 0 1 index put-margin-top - } if -% check if current box is the last child - 1 index get-content array-last 1 index eq { - 0 1 index put-margin-bottom - } if - } if - -% DO MARGIN COLLAPSING - 1 index get-line % => Parent Child Line - length % => Parent Child LL - - 0 gt { % => Parent Child - dup get-margin-top - context-push-collapsed-margin-top - - dup get-margin-top - neg - } { - 1 index get-last % => Parent Child Last -% Check if current element if the first child - dup () eq { true } - { 1 index is-container not } ifelse - { - pop % => Parent Child -% If parent is a table-cell, suppress top-margin - 1 index get-display - /table-cell eq { - 0 - - 1 index get-margin-top - context-push-collapsed-margin-top - } { -% Collapse with parent margins - dup get-margin-top % => Parent Child ChildMT - context-get-collapsed-margin-top - min % => Parent Child min(ChildMT, ParentCMT) - 1 index get-margin-top - sub - - 1 index get-margin-top - context-get-collapsed-margin-top - max - context-push-collapsed-margin-top - } ifelse - } { % => Parent Child Last -% Collapse with sibling margins - dup get-margin-bottom - 2 index get-margin-top - max - context-push-collapsed-margin-top - - get-margin-bottom % => Parent Child M - 1 index get-margin-top - exch sub 0 max neg - } ifelse - } ifelse - 2 index get-current-y % => Parent Child M CY - add % => Parent Child M+CY - -% While drawing, we need position of margin edge, not border edge. - 1 index get-margin-top - add % => Parent Child DY - -% Check if we need to offset box vertically due the 'clear' property - apply-clear - -% Set the calculated value as the outer edge of this box - 2 index put-current-y % => Parent Child - - 1 index close-line % => - dup 2 index append-line - -% Set position of upper-left child corner - 1 index get-current-x - 2 index get-current-y % => Parent Child X Y - - 2 index - move-to-box % => Parent Child - -% By default, child block box will fill all available parent width; -% note that actual width will be smaller because of non-zero padding, border and margins - 1 index get-width % => Parent Child PW - 1 index put-full-width % => Parent Child - -% reflow contents - reflow % => Parent Child - -% Update the collapsed margin value, with current box bottom margin - context-pop-collapsed-margin-top - - dup get-margin-bottom - context-push-collapsed-margin-top - -% Calculate margins and/or width is 'auto' values have been specified - dup get-box-dict - /Parent known { - dup calc-auto-width-margins - } if % => Parent Child - -% if left margin had 'auto' value, we need to offeset the box content by it value, -% as it changed; if margin had fixed value, we weill not offset content - dup get-box-dict - /Margin get - /Auto get - /Left get { - dup get-margin-left 0 % => Parent Child LM 0 - 2 index get-table-content % => Parent Child LM 0 Content - { - 2 index 2 index - offset-box - } forall - pop pop % => Parent Child - } if - -% dup -% dup get-margin-left -% 0 offset-box % => Parent Child - -% we're now interested in last content y, not the bottom border of the containing -% block, because, due the min-height, bottom border can contain lesser (lower on the page) -% value than current y -% 1 index get-bottom-internal - 1 index get-current-y - 1 index get-bottom - sub - - 2 index exch % => Parent Child Parent CH - extend-height pop % => Parent Child - - 1 index get-right-internal - 2 index put-current-x - -% terminate current line box - 1 index close-line - -% clear the stack - pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/flow_viewport.ps b/thirdparty/html2ps_pdf/postscript/flow_viewport.ps deleted file mode 100644 index 242fbbaee..000000000 --- a/thirdparty/html2ps_pdf/postscript/flow_viewport.ps +++ /dev/null @@ -1,35 +0,0 @@ -/flow-viewport-create { % => Box - << >> - dup /left 3 index get-left-padding put - dup /top 3 index get-top-padding put - - dup /width - 3 index /get-width call-method - 4 index get-padding-left add - 4 index get-padding-right add - put - - dup /height - 3 index get-height - 4 index get-padding-top add - 4 index get-padding-bottom add - put - - exch pop % => Viewport -} def - -/flow-viewport-get-left { - /left get -} def - -/flow-viewport-get-top { - /top get -} def - -/flow-viewport-get-height { - /height get -} def - -/flow-viewport-get-width { - /width get -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/font.ps b/thirdparty/html2ps_pdf/postscript/font.ps deleted file mode 100644 index c5f7e090c..000000000 --- a/thirdparty/html2ps_pdf/postscript/font.ps +++ /dev/null @@ -1,71 +0,0 @@ -/findfont-enc { % => FontName Encoding - exch - findfont % => FontSize - dup length dict begin { - 1 index /FID ne { - def - } { - pop pop - } ifelse - } forall - /Encoding 1 index def - currentdict - end - - /Font-Enc exch definefont % => - exch pop -} def - -/font-ascender { % => <> - dup /FontBBox get 3 get 0 - 2 index /FontMatrix get transform - pop % => <> Ascender - %1 index font-descender sub % => <> Ascender' - exch pop -} def - -/font-descender { % => <> - dup /FontBBox get 1 get 0 - 2 index /FontMatrix get transform - pop - exch pop - neg -} def - -/font-underline-pos { % => <> - dup /FontInfo get % => <> <> -% some fonts (especially when you're using Adobe Distiller) do not contain /UnderlinePosition. - dup /UnderlinePosition known { - /UnderlinePosition get - } { - pop 2 px - } ifelse % => <> UP - - 0 exch % => <> O UP - - 3 2 roll /FontMatrix get % => <> O UP - transform % => 0 UPos - exch pop -} def - -/font-overline-pos { % => <> - dup /FontBBox get 3 get % => <> Top - 0.8 mul - - 0 exch - 2 index /FontMatrix get - transform - exch pop - exch pop -} def - -/font-line-through-pos { % => <> - dup /FontBBox get 3 get % => <> Top - 0.25 mul - - 0 exch - 2 index /FontMatrix get - transform - exch pop - exch pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/footer.ps b/thirdparty/html2ps_pdf/postscript/footer.ps deleted file mode 100644 index d54f07b28..000000000 --- a/thirdparty/html2ps_pdf/postscript/footer.ps +++ /dev/null @@ -1,154 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/footer.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% As BODY generated box have zero calculated width at the very moment, -% and we need some box to use as a parameter to _calc_percentage_margins, -% we'll create a fake box having with equal to the viewport width. - - % => BODY - dup /pre-reflow-images - call-method % => BODY - - box-block-create % => BODY MediaBox - pagewidth - lmargin sub - rmargin sub % => BODY MediaBox PW - 1 index put-width % => BODY MediaBox - -% Calculate actual margin values - 1 index box-generic-calc-percentage-margins - % => BODY - - pagewidth - lmargin sub - rmargin sub - 1 index get-hor-extra sub - 1 index put-width % => BODY - - pageheight - tmargin sub - bmargin sub - 1 index get-vert-extra sub - 1 index put-height - - pageheight tmargin sub - 1 index get-extra-top sub - 1 index put-top - - lmargin - 1 index get-extra-left add - 1 index put-left - -% create the initial context - % => Box - context-create % => Box Context - 1 index flow-viewport-create % => Box Context Viewport - 1 index context-push-viewport % => Box Context - - - exch 1 index % => Context Box Context - /null % => Context Box Context FakeParent - 2 index /reflow call-method % => Context Box - dup /reflow-inline call-method - -% flow absolute-positioned boxes - 1 index - context-get-absolute-positioned {% => Context Box AbsoluteBox - 2 index context-push - - 2 index exch - /reflow-absolute call-method - - 1 index context-pop - } forall - -% flow fixed-positioned boxes - 1 index - context-get-fixed-positioned {% => Context Box AbsoluteBox - 2 index context-push - - 2 index exch - box-block-reflow-fixed - - 1 index context-pop - } forall - -% Make the top-level box competely fill the last page - /pages 1 index get-full-height real-page-height div ceiling 1 max def - -% Note we cannot have less than 1 page in our doc; max() call -% is required as we, in general, CAN have the content height strictly equal to 0. -% In this case wi still render the very first page - - pages real-page-height mul - 1 index get-top - pageheight tmargin sub - sub - add % => Context Box H - dup 2 index put-height % => Context Box H - 1 index get-content 0 get put-height - - dup viewport-create % => Context Box Viewport - -% generate a list of anchors - << >> % => Context Box Viewport List - dup - 2 index % => Context Box Viewport List List Viewport - 4 index % => Context Box Viewport List List Viewport Box - /reflow-anchors - call-method % => Context Box Viewport Anchors - - 1 index viewport-put-anchors % => Context Box Viewport - exch % => Context Viewport Box - 1 index /page-offset bmargin put - 1 index /height real-page-height put - - 1 1 pages { % => Context Viewport Box I - 0 0 moveto - - 2 index viewport-init-page - - gsave - 2 index viewport-setup-clip - - 2 index % => Context Viewport Box I Viewport - 2 index /show call-method % => Context Viewport Box I - -% Absolute positioned boxes should be shown after all other boxes, because -% they're placed higher in the stack-order - 3 index - context-get-absolute-positioned { - % => Context Viewport Box I AbsoluteBox - dup /visibility get-css-value /visible eq { - 3 index % => Context Viewport Box I AbsoluteBox Viewport - 1 index % => Context Viewport Box I AbsoluteBox ViewportAbsoluteBox - /show call-method % => Context Viewport Box I AbsoluteBox - } if - - pop - } forall % => Context Viewport Box I - - grestore - - 3 index - context-get-fixed-positioned { - % => Context Viewport Box I AbsoluteBox - dup /visibility get-css-value /visible eq { - 3 index % => Context Viewport Box I AbsoluteBox Viewport - 1 index % => Context Viewport Box I AbsoluteBox ViewportAbsoluteBox - box-block-show-fixed - } if - - pop - } forall % => Context Viewport Box I - - setting-draw-page-border { - 2 index viewport-draw-page-border - } if - -% Add page if currently rendered page is not last - 2 index viewport-next-page - - showpage - pop - initpage - } for \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/geometry.ps b/thirdparty/html2ps_pdf/postscript/geometry.ps deleted file mode 100644 index c129baa51..000000000 --- a/thirdparty/html2ps_pdf/postscript/geometry.ps +++ /dev/null @@ -1,27 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/geometry.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/inside-rectangle { % => X Y L T W H - 5 index 4 index sub % => X Y L T W H X-L - dup 0 gt % => X Y L T W H X-L X-L>0 - exch 3 index lt and % => X Y L T W H (X-L0) - 5 index 4 index sub neg % => X Y L T W H (X-L0) -(Y-T) - dup 0 gt % => X Y L T W H (X-L0) -(Y-T) -(Y-T)>0 - exch 3 index lt and % => X Y L T W H (X-L0) (-(Y-T)>0 & -(Y-T) X Y L T W H (X-L0) & (-(Y-T)>0 & -(Y-T) X Y L T W H - 5 index 4 index sub % => X Y L T W H X-L - dup 0 ge % => X Y L T W H X-L X-L>0 - exch 3 index le and % => X Y L T W H (X-L0) - 5 index 4 index sub neg % => X Y L T W H (X-L0) -(Y-T) - dup 0 ge % => X Y L T W H (X-L0) -(Y-T) -(Y-T)>0 - exch 3 index le and % => X Y L T W H (X-L0) (-(Y-T)>0 & -(Y-T) X Y L T W H (X-L0) & (-(Y-T)>0 & -(Y-T) Array - dup sum - 1 exch div - map-scale -} def - -/map-scale { % => Array Scale - /mul cvx - /exch cvx - /array-append - cvx % => Array Scale mul exch array-prepend - 4 array astore - cvx % => Array {Scale mul array-prepend} - [] % => Array {Scale mul array-prepend} [] - 3 2 roll % => {Scale mul array-prepend} [] Array - reduce -} def - -/reduce-max { - {max} 0 % => Array {max} 0 - 3 2 roll % => {max} 0 Array - reduce % => Max -} def - -/in-zip-with { % => Data A B Fun - 1 index length 0 gt { - 2 index 0 get % => Data A B Fun A0 - 2 index 0 get % => Data A B Fun A0 B0 - 2 index exec % => Data A B Fun (A0 Fun B0) - 5 2 roll array-pop-first % => Fun (A0 Fun B0) Data A B' - 5 1 roll array-pop-first % => B' Fun (A0 Fun B0) Data A' - 5 1 roll array-prepend % => A' B' Fun Data' - 4 1 roll % => Data' A' B' Fun - in-zip-with - } { - pop pop pop - } ifelse -} def -/zip-with { % => A B Fun - [] 4 1 roll % => [] A B Fun - in-zip-with -} def - -/font-underline-thick { % => <> - dup /FontInfo get -% some fonts (especially when you're using Adobe Distiller) do not contain /UnderlinePosition. - dup /UnderlineThickness known { - /UnderlineThickness get - } { - pop 1 px - } ifelse % => <> UT - - exch /FontMatrix get - transform - exch pop % => UT -} def - -% Table helpers -/in-array-extend { % => Left Value Array - 2 index 0 gt { - 2 copy % => Left Value Array Value Array - array-prepend % => Left Value Array Array' - exch pop % => Left Value Array' - 3 2 roll % => Value Array' Left - 1 sub % => Value Array' Left-1 - 3 1 roll % => Left Value Array' - in-array-extend % => Array' - } { - 3 1 roll % => Array Left Value - pop pop % => Array - } ifelse -} def - -/array-extend { % => Array Size DefValue - 2 index length % => Array Size DefValue ALen - 2 index exch sub % => Array Size DefValue Size-ALen - 1 index % => Array Size DefValue Size-ALen DefValue - 4 index % => Array Size DefValue Size-ALen DefValue Array - in-array-extend % => Array Size DefValue Array' - 4 1 roll % => Array' Array Size DefValue - pop pop pop % => Array' -} def - -% height constraint priority -/hc-lt { % => C1 C2 - 1 index - array-last - /wc-none cvx eq { - pop pop true - } { - 1 index array-last - /hc-constant cvx eq { - dup array-last - /wc-none cvx ne - exch pop - exch pop - } { - dup array-last - /wc-fraction cvx eq - exch pop - exch pop - } ifelse - } ifelse -} def - -% priority: percentage, absolute, no-constraint -/row-get-height-constraint { % => Row - { % => - get-height-constraint - exch - array-append - } - [] - 2 index - reduce - exch pop % => CellHCs - - { - 2 copy - hc-lt { - exch pop - } { - pop - } ifelse - } - {wc-none} - 2 index - reduce - exch pop % => HCWithMostPriority -} def -/table-get-colspans { % => Table - get-content % => Content - 3 get % => Colspans -} def -/table-get-rowspans { % => Table - get-content % => Content - 4 get % => Rowspans -} def -/table-put-colspans { % => Colspans Table - get-content % => Colspans Content - 3 % => Colspans Content 3 - 3 2 roll % => Content 3 Colspans - put % => -} def -/table-put-rowspans { % => Rowspans Table - get-content % => Colspans Content - 4 % => Colspans Content 3 - 3 2 roll % => Content 3 Rowspans - put % => -} def -/table-add-colspan { % => SpanSize CurRow CurColumn Table - 4 1 roll % => Table SpanSize CurRow CurColumn - 3 array astore % => Table NewSpan - 1 index % => Table NewSpan Table - table-get-colspans % => Table NewSpan Colspans - array-append % => Table Colspans' - exch - table-put-colspans % => -} def -/table-add-rowspan { % => SpanSize CurRow CurColumn Table - 4 1 roll % => Table SpanSize CurRow CurColumn - 3 array astore % => Table NewSpan - 1 index % => Table NewSpan Table - table-get-rowspans % => Table NewSpan Colspans - -% determine index to place new rowspan to - { % => ... [CColumn Index] [Sz Row Col] - 1 index 0 get % => ... [CColumn Index] [Sz Row Col] CColumn - 1 index 2 get % => ... [CColumn Index] [Sz Row Col] CColumn Col - ge { - pop - dup 1 get % => ... [CColumn Index] Index - 1 add - 1 index exch - 1 exch put % => ... [CColumn Index+1] - } { - pop % => ... [CColumn Index] - } ifelse - } - 2 index 2 get - 0 - 2 array astore % => Table NewSpan Colspans [CColumn 0] - 2 index - - reduce % => Table NewSpan Colspans [CColumn Index] - - 1 get % => Table NewSpan Colspans Index - 3 1 roll % => Table Index NewSpan Rowspans - array-insert % => Table Rowspans' - - exch - table-put-rowspans % => -} def -/replicate-row { % => Length Length - dup 0 gt { -% make 'fake' cells to pad table row to the desired length - box-block-create - % => Length Length [] - 3 1 roll % => [] Length Length - 1 sub % => [] Length Length-1 - replicate-row - } if -} def -/render-background-image-transparent { - 2 index /Mask get % => Box ImageDict W H Mask - 3 index /Samples get % => Box ImageDict W H Mask Samples - - 4 index /XRepeat known - { - 5 index get-width-padded % => Box ImageDict W H Mask Sample WP - 4 index px div ceiling cvi % => Box ImageDict W H Mask Sample HRepeats - } { - 1 - } ifelse % => Box ImageDict W H Mask Sample HRepeats - - 5 index /YRepeat known - { - 6 index get-height-padded % => Box ImageDict W H Mask Sample HRepeats HP - 4 index px div ceiling cvi % => Box ImageDict W H Mask Sample HRepeats VRepeats - } { - 1 - } ifelse % => Box ImageDict W H Mask Sample HRepeats VRepeats - - { % => Box ImageDict W H Mask Samples HRepeats - currentpoint % => Box ImageDict W H Mask Samples HRepeats X Y - exch pop % => Box ImageDict W H Mask Samples HRepeats Y - 7 index get-left-padded % => Box ImageDict W H Mask Samples HRepeats Y X - exch moveto % => Box ImageDict W H Mask Samples HRepeats - - 0 4 index px neg rmoveto - dup - { % => Box ImageDict W H Mask Samples HRepeats - 5 1 roll % => Box ImageDict HRepeats W H Mask Samples - 4 copy % => Box ImageDict HRepeats W H Mask Samples W H Mask Samples - 4 2 roll % => Box ImageDict HRepeats W H Mask Samples Mask Samples W H - 2 copy % => Box ImageDict HRepeats W H Mask Samples Mask Samples W H W H - 6 2 roll px 6 1 roll px - 6 1 roll % => Box Image Dict HRepeats W H Mask Samples W H W H Mask Samples - 11 index /Init get - show-transparent-image % => Box Image Dict HRepeats W H Mask Samples - 5 4 roll % => Box Image Dict W H Mask Samples HRepeats - - 4 index px 0 rmoveto - } repeat - } repeat - - pop pop pop pop pop pop -} def -/render-background-image { - 2 index /Samples get % => Box ImageDict W H Samples - - 3 index /XRepeat known - { - 4 index get-width-padded % => Box ImageDict W H Sample WP - 3 index px div ceiling cvi % => Box ImageDict W H Sample HRepeats - } { - 1 - } ifelse % => Box ImageDict W H Sample HRepeats - - 4 index /YRepeat known - { - 5 index get-height-padded % => Box ImageDict W H Sample HRepeats HP - 3 index px div ceiling cvi % => Box ImageDict W H Sample HRepeats VRepeats - } { - 1 - } ifelse % => Box ImageDict W H Sample HRepeats VRepeats - - { % => Box ImageDict W H Samples HRepeats - currentpoint % => Box ImageDict W H Samples HRepeats X Y - exch pop % => Box ImageDict W H Samples HRepeats Y - 6 index get-left-padded % => Box ImageDict W H Samples HRepeats Y X - exch moveto % => Box ImageDict W H Samples HRepeats - - 0 3 index px neg rmoveto - dup - { % => Box ImageDict W H Samples HRepeats - 4 1 roll % => Box ImageDict HRepeats W H Samples - 3 copy % => Box ImageDict HRepeats W H Samples W H Samples - 3 1 roll % => Box ImageDict HRepeats W H Samples Samples W H - 2 copy % => Box ImageDict HRepeats W H Samples Samples W H W H - 5 2 roll px 5 1 roll px - 5 1 roll % => Box Image Dict HRepeats W H Samples W H W H Samples - 9 index /Init get - show-image % => Box Image Dict HRepeats W H Samples - 4 3 roll % => Box Image Dict W H Samples HRepeats - - 3 index px 0 rmoveto - } repeat - } repeat - - pop pop pop pop pop -} def - -% Show absolute positioned boxes layer -/show-box-absolute { - dup is-static not { - show-box-force - } if -} def - -% Displaying data - -/show-text { % => Text FontSize FontName - findfont - exch % => Text FontSize - - scalefont % => Text - setfont % => Text - show % => -} def - -/in-add-table-row { % => Box - dup get-content % => Box [Cols Rows Content](RawContent) - dup 1 get 1 add % => Box [Cols Rows Content](RawContent) Rows+1 - 1 index exch - 1 exch put % => Box [Cols Rows+1 Content](RawContent) - dup 2 get % => Box [Cols Rows+1 Content](RawContent) Content - aload length % => Box [Cols Rows+1 Content](RawContent) Row1 .. RowN N - 1 add % => Box [Cols Rows+1 Content](RawContent) Row1 .. RowN N+1 - [] % => Box [Cols Rows+1 Content](RawContent) Row1 .. RowN N+1 [] - exch % => Box [Cols Rows+1 Content](RawContent) Row1 .. RowN [] N+1 - array astore % => Box [Cols Rows+1 Content](RawContent) NewContent - 2 exch put -} def - -/add-table-row { % => Box - dup is-table { - in-add-table-row - } if -} def - -% BOX getters -/get-real-height { 1 get } def -/get-parent-height-fraction { % => Box Fraction - 1 index get-box-dict - /Parent known { - 1 index get-box-dict /Parent get - get-height - mul - exch pop - } { -% if it is the top-level box, just return its own height - pop get-height - } ifelse -} def -/get-max-height { - dup get-box-dict % => Box HB - /Height get - dup /MaxPercentage get { - /Max get - 1 index exch - get-parent-height-fraction - } { - /Max get - } ifelse - - exch pop -} def - -% Compatibility with old code function; -% generates old-fashined height-constraint function using min-height data -/get-color { get-color-array aload pop } def -/get-background-color { get-background aload pop } def - -% BOX setters -/put-td-dict { exch 26 exch put } def -/put-vertical-align { exch 25 exch put } def -/put-local-align { exch 24 exch put } def -%/put-valign { exch 22 exch put } def -/put-z-index { exch 21 exch put } def -/put-background-image-transparent { - % => [W H Mask Samples Init] Box - get-background-image % => [W H Mask Samples Init] Dict - dup /W 3 index 0 get put % => [W H Mask Samples Init] Dict(W) - dup /H 3 index 1 get put % => [W H Mask Samples Init] Dict(W H) - dup /Mask 3 index 2 get put % => [W H Mask Samples Init] Dict(W H Mask) - dup /Samples 3 index 3 get put % => [W H Mask Samples Init] Dict(W H Mask Samples) - dup /Init 3 index 4 get put - pop pop -} def -/put-background-image { % => [W H Samples Init] Box - get-background-image % => [W H Samples Init] Dict - dup /W 3 index 0 get put % => [W H Samples Init] Dict(W) - dup /H 3 index 1 get put % => [W H Samples Init] Dict(W H) - dup /Samples 3 index 2 get put % => [W H Samples Init] Dict(W H Samples) - dup /Init 3 index 3 get put - pop pop -} def -/put-position { exch 18 exch put } def -/put-color-array { exch 14 exch put } def -/put-text-align { exch 13 exch put } def -/put-background { exch 12 exch put } def -/put-display { exch 8 exch put } def -/put-color { 4 1 roll 3 array astore exch put-color-array } def -/put-background-color { 4 1 roll 3 array astore exch put-background } def -/put-full-width-force { % => Width Element - dup get-hor-extra % => Width Element Padding+Margin+Border - 3 2 roll % => Element Padding+Margin+Border Width - exch sub % => Element Width - exch % => Width Element - put-width -} def -/put-full-height { % => Height Element - dup get-vert-extra % => Height Element Padding+Margin+Border - 3 2 roll % => Element Padding+Margin+Border Height - exch sub % => Element Height' - - exch % => Height'' Element - put-height -} def -/in-get-table-content { % => Data Content Rows - dup 0 gt { - 2 copy % => Data Content Rows Content Rows - 1 sub get % => Data Content Rows Row - aload length % => Data Content Rows Cell1 .. CellN N - dup 3 add % => Data Content Rows Cell1 .. CellN N N+4 - index % => Data Content Rows Cell1 .. CellN N Data - aload length % => Data Content Rows Cell1 .. CellN N Data1 .. DataM M - dup 2 add % => Data Content Rows Cell1 .. CellN N Data1 .. DataM M M+2 - dup 1 sub % => Data Content Rows Cell1 .. CellN N Data1 .. DataM M M+2 M+1 - roll % => Data Content Rows Cell1 .. CellN Data1 .. DataM M N - add % => Data Content Rows Cell1 .. CellN Data1 .. DataM M+N - array astore % => Data Content Rows NewData - 4 3 roll pop % => Content Rows NewData - 3 1 roll % => NewData Content Rows - 1 sub - in-get-table-content - } { - pop pop - } ifelse -} def -/get-table-content { % => Box - dup - get-table-content-rows % => Box Content - 1 index get-content % => Box Content RawContent - 1 get % => Box Content Rows - [] % => Box Content Rows [] - 4 3 roll pop % => Content Rows [] - 3 1 roll % => [] Content Rows - in-get-table-content -} def -/get-table-content-rows { % => Box - get-content % => RawContent - 2 get % => Content -} def -/get-table-content-column { % => Box ColumnNo - exch get-content % => ColumnNo Content - dup 1 get exch % => ColumnNo RowsNum Content - 2 get % => ColumnNo RowsNum Rows - { % => ColumnNo RowsNum Row - 2 index get % => ColumnNo RowsNum Cell - 3 1 roll % => Cell ColumnNo RowsNum - } forall % => Cell1 .. CellN ColumnNo N - exch pop % => Cell1 .. CellN N - array astore % => Column -} def -/get-table-content-columns { % => Box - dup get-content % => Box [Cols Rows Content] - 0 get 1 sub % => Box Cols-1 - [] % => Box Cols [] - in-get-table-content-columns % => ColsList -} def -/in-get-table-content-columns { % => Box ColsIndex ColsList - 1 index 0 ge { - 3 1 roll % => ColsList Box ColsIndex - 2 copy % => ColsList Box ColsIndex Box ColsIndex - get-table-content-column % => ColsList Box ColsIndex Column - 4 1 roll % => Column ColsList Box ColsIndex - 1 sub % => Column ColsList Box ColsIndex-1 - 4 2 roll % => Box ColsIndex-1 Column ColsList - array-append % => Box ColsIndex-1 ColsList' - in-get-table-content-columns - } { - 3 1 roll - pop pop - } ifelse -} def -/table-get-cell-content { % => R C Box -% One based idices are passed - get-table-content-rows % => R C Rows - 2 index 1 sub get % => R C Row - 1 index 1 sub get % => R C Cell - 3 1 roll pop pop % => Cell -} def - -/rmove-current-point { % => Box DX DY - 2 index get-current-y add % => Box DX DY' - 2 index put-current-y % => Box' DX - 1 index get-current-x add % => Box' DX' - 1 index put-current-x % => Box'' -} def -/safe-div { % => A B - dup 0 % => A B B 0 - eq { % => A B - pop 1 % => A 1 - } if - div -} def -/find-best-column { % => Width MinWidths MaxWidths - dup sum % => Width MinWidths MaxWidths MaxWidth - 3 index % => Width MinWidths MaxWidths MaxWidth Width - exch safe-div % => Width MinWidths MaxWidths Width/MaxWidth(WK) - - 3 1 roll % => Width WK MinWidths MaxWidths - 2 copy {safe-div} zip-with % => Width WK MinWidths MaxWidths [MinI/MaxI] - dup reduce-max % => Width WK MinWidths MaxWidths [MinI/MaxI] MAX[MinI/MaxI] - 4 index gt { % => Width WK MinWidths MaxWidths [MinI/MaxI] - dup reduce-max % => Width WK MinWidths MaxWidths [MinI/MaxI] MaxKoeff - array-find % => Width WK MinWidths MaxWidths MaxKoeffIndex - 2 index 1 index get % => Width WK MinWidths MaxWidths MaxKoeffIndex SW - 6 2 roll % => MaxKoeffIndex SW Width WK MinWidths MaxWidths - pop pop pop pop % => MaxKoeffIndex SW - } { % => Width WK MinWidths MaxWidths [MinI/MaxI] - pop % => Width WK MinWidths MaxWidths - 3 2 roll % => Width MinWidths MaxWidths WK - - 1 index 0 get mul % => Width MinWidths MaxWidths W*WidthKoeff - 2 index 0 get % => Width MinWidths MaxWidths W*WidthKoeff MinW - max % => Width MinWidths MaxWidths SelectedWidth - 0 exch % => Width MinWidths MaxWidths 0 SelectedWidth - 5 2 roll % => 0 SelectedWidth Width MinWidths MaxWidths - pop pop pop - } ifelse -} def -/is-fraction { % => WC - aload % => X ... X WC - 1 index /wc-fraction eq - 2 index /hc-fraction eq or { - astore pop true - } { - astore pop false - } ifelse -} def -/array-reverse { - { - exch array-prepend - } [] 2 index reduce - exch pop -} def -/table-normalize-cwc { % => Box - /temp-table-normalize-cwc 1 def - - { % => ... CVal Val - dup is-fraction { % => ... CVal Val - aload pop pop % => ... CVal Fraction - temp-table-normalize-cwc - min % => ... CVal Fraction' - temp-table-normalize-cwc - 1 index sub % => ... CVal Fraction' Rest - /temp-table-normalize-cwc - exch def % => ... CVal Fraction' - /wc-fraction cvx - 2 array astore cvx % => ... CVal WC' - } if - exch array-prepend % => ... CVal - } [] 2 index table-get-cwc array-reverse - - reduce % => Box CWC' - - exch pop -} def - -/calc-text-indent { % => Box - dup get-box-dict - /Text-Indent get - dup /Relative get { % => Box TIDict - /Value get - 1 index get-width - mul - } { - /Value get - } ifelse % => Box Indent - -% add special offset (for example, if we have marker box with position: inside) - 1 index get-box-dict - /AdditionalTextIndent get - add - - exch pop -} def - -/flow-page-break { % => Parent Child - 1 index get-current-x - 2 index get-current-y % => Parent Child X Y - - 2 index - move-to-box % => Parent Child - - 1 index get-width % => Parent Child PW - 1 index put-full-width % => Parent Child - -% Setup height for the "fake" box - 1 index get-current-y % => Parent Child PCY - - bmargin sub - real-page-height sub neg - real-page-height div - ceiling % => Parent Child Pages - real-page-height mul - neg % => Parent Child EndOfLastPage0 - real-page-height add % => Parent Child EndOfLastPage - - 2 index get-current-y - bmargin sub - exch sub - 1 index put-height - -% we're now interested in last content y, not the bottom border of the containing -% block, because, due the min-height, bottom border can contain lesser (lower on the page) -% value than current y -% 1 index get-bottom-internal - dup get-height - 2 index exch % => Parent Child Parent CH - extend-height pop % => Parent Child - - dup get-top - 1 index get-height - sub - - 2 index - put-current-y - pop - - dup get-right-internal - 1 index put-current-x - - dup close-line - - pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/height.ps b/thirdparty/html2ps_pdf/postscript/height.ps deleted file mode 100644 index b63aa925c..000000000 --- a/thirdparty/html2ps_pdf/postscript/height.ps +++ /dev/null @@ -1,231 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/height.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/hc-apply { % => Box RawHeight HC - dup /constant get /null ne { - 1 index % => Box RawHeight HC RawHeight - 3 index % => Box RawHeight HC RawHeight Box - 2 index /constant get % => Box RawHeight HC RawHeight Box Constant - hc-fix-value % => Box RawHeight HC H - } { - 2 index % => Box RawHeight HC Box - 2 index % => Box RawHeight HC Box RawHeight - 2 index % => Box RawHeight HC Box RawHeight HC - hc-apply-max % => Box RawHeight HC H0 - - 3 index exch % => Box RawHeight HC Box H0 - 2 index - hc-apply-min % => Box RawHeight HC H1 - } ifelse % => Box RawHeight HC H - - exch pop - exch pop - exch pop -} def - -/hc-apply-max { % => Box Value HC - dup /max get /null eq { - 1 index - } { - 1 index - 3 index % => Box Value HC Value Box - 2 index /max get % => Box Value HC Value Box HC - hc-fix-value % => Box Value HC H - - 2 index min % => Box Value HC H - } ifelse % => Box Value HC H - - exch pop - exch pop - exch pop -} def - -/hc-apply-min { % => Box Value HC - dup /min get /null eq { - 1 index - } { - 1 index - 3 index % => Box Value HC Value Box - 2 index /min get % => Box Value HC Value Box HC - hc-fix-value % => Box Value HC H - - 2 index max % => Box Value HC H - } ifelse % => Box Value HC H - - exch pop - exch pop - exch pop -} def - -/hc-create { % => Max Min Constant - << >> - dup /max 5 index put - dup /min 4 index put - dup /constant 3 index put - - exch pop - exch pop - exch pop -} def - -/hc-fix-value { % => Default Box Value -% A percentage or immediate value? - dup /percentage get { % => Default Box Value - -% CSS 2.1: The percentage is calculated with respect to the height of the generated box's containing block. -% If the height of the containing block is not specified explicitly (i.e., it depends on content height), -% and this element is not absolutely positioned, the value is interpreted like 'auto'. - -% Check if parent exists - - 1 index get-parent dup - /null ne { % => Default Box Value Parent - dup get-height-constraint % => Default Box Value Parent ParentHC - 3 index get-parent /box-table-cell is-a not - 1 index /constant get /null eq and - 1 index /min get /null eq and - 1 index /max get /null eq and { -% if parent does not constrained height, return null - no height constraint can be applied - pop pop 2 index - } { % => Default Box Value Parent ParentHC - 3 index get-parent /box-table-cell is-a { - 3 index get-parent - /row get % => Default Box Value Parent ParentHC Row - -% Note that unlike pure PHP DOM tree, we have box-table-row as a direct parent of the cell here - 4 index get-parent - get-parent - get-parent % => Default Box Value Parent ParentHC Row Table - - box-table-get-rhc % => Default Box Value Parent ParentHC RHC - - dup hc-is-null { - pop 4 index - } { - 4 index exch % => Default Box Value Parent ParentHC Box RHC - 1 index get-parent - get-height exch % => Default Box Value Parent ParentHC Box BaseHeight RHC - hc-apply % => Default Box Value Parent ParentHC H - } ifelse - - exch pop - exch pop % => Default Box Value H - } { - pop - get-height % => Default Box Value ParentH - 1 index /value get - mul 100 div % => Default Box Value H - } ifelse - } ifelse - } { % => Default Box Value - /null - } ifelse % => Default Box Value H - } { % => Default Box Value - dup /value get - } ifelse % => Default Box Value H - - exch pop - exch pop - exch pop -} def - -/hc-is-constant { % => HC - /constant get /null ne -} def - -/hc-is-null { % => HC - dup /min get /null eq - 1 index /max get /null eq and - 1 index /constant get /null eq and - exch pop -} def - -/hc-is-percentage { % => HC - dup /min get /null ne { - dup /min get /percentage get not - } { true } ifelse - - 1 index /max get /null ne { - 1 index /max get /percentage get not - } { true } ifelse and - - 1 index /constant get /null ne { - 1 index /constant get /percentage get not - } { true } ifelse and - - not - exch pop -} def - -%%%%%%%%%%%%% - -/is-height-constrained { % => Box - dup get-box-dict % => Box Dict - /Height get - dup /Constrained get % => Box HDict /Constrained - 1 index /Min get 0 gt % => Box HDict /Constrained /ConstrainedMin - or - exch pop - exch pop -} def - -/get-min-height { - dup get-box-dict % => Box Dict - /Height get - dup /MinPercentage get { % => Box HeightDict -% Percentage height can be applied only if parent's height is explicitly height to the constant length - 1 index get-box-dict - /Parent get % => Box HeightDict Parent - get-box-dict - /Height get % => Box HeightDict ParentHeightDict - dup /Constrained get { % => Box HeightDict ParentHeightDict - /ConstraintPercentage - get not { % => Box HeightDict - /Min get - 1 index exch - get-parent-height-fraction - } { % => Box HeightDict - pop 0 - } ifelse - } { % => Box HeightDict ParentHeightDict - pop pop 0 - } ifelse - } { - /Min get - } ifelse - - exch pop -} def - -/find-containing-block-height { % => Box -% Check if the parent box have constrained height - dup get-box-dict % => Box Dict - dup /Parent known { - /Parent get % => Box Parent - get-box-dict % => Box ParentDict - /Height get % => Box ParentHeightDict - dup /Constrained get % => Box ParentHeightDict ParentConstrained - exch % => Box ParentConstrained ParentHeightDict - /ConstraintPercentage get - not % => Box ParentConstrained !ParentPercentageConstrained - and - { - get-box-dict /Parent get - get-height - } { - % Box parent is not height-constrained, proceed to its parent - get-box-dict /Parent get - find-containing-block-height - } ifelse - } { - pop pop 0 - } ifelse -} def - -/calc-auto-height-margins { % => Box - dup get-real-height % => Box RH - 1 index get-min-height % => Box RH MH - max % => Box H1 - 1 index get-max-height - min % => Box H - exch pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/image.ps b/thirdparty/html2ps_pdf/postscript/image.ps deleted file mode 100644 index b8fb62fb3..000000000 --- a/thirdparty/html2ps_pdf/postscript/image.ps +++ /dev/null @@ -1,338 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/image.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/image-create { % => Mask Image Init SY SX - << >> - dup /SX 3 index put - dup /SY 4 index put - dup /Init 5 index put - dup /Image 6 index put - dup /Mask 7 index put - - exch pop - exch pop - exch pop - exch pop - exch pop -} def - -/image-show { % => W H Image -% Check if image is transparent - dup /Mask get /null eq { % => W H Image - 2 index - 2 index % => W H Image W H - 2 index /SX get - 3 index /SY get - 4 index /Image get - 5 index /Init get % => W H Image W H SX SY Image Init - show-image % => W H Image - } { - 2 index - 2 index % => W H Image W H - 2 index /SX get - 3 index /SY get - 4 index /Mask get - 5 index /Image get - 6 index /Init get % => W H Image W H SX SY Mask Image Init - show-transparent-image - } ifelse % => W H Image - pop pop pop -} def - -/image-show-simple { % => Scale Y X Image - 1 index - 3 index moveto % => Scale Y X Image - - dup /SX get 4 index mul - 1 index /SY get 5 index mul % => Scale Y X Image W H - 2 index image-show % => Scale Y X Image - - pop pop pop pop -} def - -/image-show-repeat-x { % => Scale YOffset XOffset Right Width Y X Image - dup /SX get 8 index mul - 1 index /SY get 9 index mul % => Scale YOffset XOffset Right width Y X Image W H - -% Fill part to the right - - 3 index % => Scale YOffset XOffset Right width Y X Image W H CX - { % => Scale YOffset XOffset Right width Y X Image W H CX - dup - 8 index ge { exit } if - - dup 6 index moveto % => Scale YOffset XOffset Right width Y X Image W H CX - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Right width Y X Image W H CY - 6 index add % => Scale YOffset XOffset Right width Y X Image W H CY - } loop - pop -% Fill part to the left - - 3 index - { % => Scale YOffset XOffset Right width Y X Image W H CX - dup 7 index add - 5 index 10 index sub - lt { exit } if - - dup 7 index sub - 6 index moveto % => Scale YOffset XOffset Right width Y X Image W H CX - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Right width Y X Image W H CX - - 6 index sub % => Scale YOffset XOffset Right width Y X Image W H CX - } loop - pop - pop pop - - pop pop pop - pop pop pop - pop pop -} def - -/image-show-repeat-y { % => Scale YOffset XOffset Bottom height Y X Image - dup /SX get 8 index mul - 1 index /SY get 9 index mul % => Scale YOffset XOffset Bottom height Y X Image W H - -% Fill part to the bottom - - 4 index % => Scale YOffset XOffset Bottom height Y X Image W H CY - { % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index 1 index add - 8 index le { exit } if - - 4 index 1 index moveto % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index sub % => Scale YOffset XOffset Bottom height Y X Image W H CY - } loop - pop - -% Fill part to the top - - 4 index - { % => Scale YOffset XOffset Bottom height Y X Image W H CY - 6 index 1 index exch sub - 10 index 7 index add - ge { exit } if - - 4 index 1 index moveto % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 2 index 2 index 5 index - image-show % => Scale YOffset XOffset Bottom height Y X Image W H CY - - 6 index add % => Scale YOffset XOffset Bottom height Y X Image W H CY - } loop - pop - pop pop - - pop pop pop - pop pop pop - pop pop -} def - -/image-show-repeat-xy { % => Scale YOffset XOffset Bottom Right Height Width Y X Image - dup /SX get 10 index mul - 1 index /SY get 11 index mul % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H - -% Fill bottom-right quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup 8 index add - 10 index le { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 10 index ge { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill bottom-left quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup 8 index add - 10 index le { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 8 index add - 6 index 13 index sub - le { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill top-right quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup - 6 index 13 index add - gt { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 10 index gt { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - -% Fill top-left quadrant - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - { - dup - 6 index 13 index add - ge { exit } if % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - - 4 index % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - { - dup 8 index add - 6 index 13 index sub - le { exit } if - - dup 2 index moveto - 3 index 3 index 6 index - image-show - - 7 index sub - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY CX - pop - - 7 index add - } loop % => Scale YOffset XOffset Bottom Right Height Width Y X Image W H CY - pop - - pop pop - - pop pop pop - pop pop pop - pop pop pop - pop -} def - -/show-image { % => W H W H Samples InitFunc - exec % => W H W H Samples - - gsave - - matrix % => W H W H Samples Matr - currentpoint % => W H W H Samples Matr X Y - translate % => W H W H Samples Matr' - 5 index - 4 index div % => W H W H Samples Matr' KX - 5 index - 4 index div neg % => W H W H Samples Matr' KX KY - scale % => W H W H Samples Matr'' - 0 3 index neg % => W H W H Samples Matr'' 0 -H(px) - translate % => W H W H Samples Matr - - << - /ImageType 1 - /Width 7 index - /Height 8 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 12 index - /DataSource 15 index - >> - - image - - grestore - - pop pop pop - pop pop pop -} def - -/show-transparent-image { % => W H W H Mask Samples InitFunc - exec % => W H W H Mask Samples - - gsave - - matrix % => W H W H Mask Samples Matr - currentpoint % => W H W H Mask Samples Matr X Y - translate % => W H W H Mask Samples Matr' - 6 index - 5 index div % => W H W H Mask Samples Matr' KX - 6 index - 5 index div neg % => W H W H Mask Samples Matr' KX KY - scale % => W H W H Mask Samples Matr'' - 0 4 index neg % => W H W H Mask Samples Matr'' 0 -H(px) - translate % => W H W H Mask Samples Matr - -% As support of type 3 images in ps2pdf is bad, we'll use this workaround - ps2pdf-transparency-hack { - << - /ImageType no-transparency-output { 1 } { 4 } ifelse - /Width 8 index - /Height 9 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 12 index - /DataSource 15 index - /MaskColor [0 0 0] - >> - } { - << - /ImageType 3 - /InterleaveType 3 - /DataDict - << - /ImageType 1 - /Width 14 index - /Height 15 index - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /ImageMatrix 18 index - /DataSource 21 index - >> - /MaskDict - << - /ImageType 1 - /Width 16 index - /Height 17 index - /BitsPerComponent 1 - /Decode [0 1] - /ImageMatrix 20 index - /DataSource 24 index - >> - >> - } ifelse - - image - - grestore - - pop pop pop pop - pop pop pop -} def - diff --git a/thirdparty/html2ps_pdf/postscript/init.ps b/thirdparty/html2ps_pdf/postscript/init.ps deleted file mode 100644 index 29997f76b..000000000 --- a/thirdparty/html2ps_pdf/postscript/init.ps +++ /dev/null @@ -1,11 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/init.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% move to top of the page -% -lmargin -pageheight tmargin sub -moveto - -% define the "page-box" -% -box-block-create \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/position.ps b/thirdparty/html2ps_pdf/postscript/position.ps deleted file mode 100644 index e5a36f101..000000000 --- a/thirdparty/html2ps_pdf/postscript/position.ps +++ /dev/null @@ -1,4 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/position.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/position-float { % Parent Child -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/predicates.ps b/thirdparty/html2ps_pdf/postscript/predicates.ps deleted file mode 100644 index 6941b12d8..000000000 --- a/thirdparty/html2ps_pdf/postscript/predicates.ps +++ /dev/null @@ -1,28 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/predicates.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/is-inline { - /display get-css-value - dup /-button eq - 1 index /-checkbox eq or - 1 index /-image eq or - 1 index /inline eq or - 1 index /inline-block eq or - 1 index /none eq or - 1 index /-radio eq or - 1 index /-select eq or - 1 index /-text eq or - exch pop -} def - -/is-whitespace { - dup /box-whitespace is-a - 1 index /box-null is-a or - exch pop -} def - -/is-container { - dup /box-container is-a - 1 index /box-generic-inline is-a not and - 1 index /box-inline is-a or - exch pop -} def \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/postscript/table.ps b/thirdparty/html2ps_pdf/postscript/table.ps deleted file mode 100644 index e3528c179..000000000 --- a/thirdparty/html2ps_pdf/postscript/table.ps +++ /dev/null @@ -1,1256 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/table.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/table-get-row-height-constraints {% => Box - get-table-content-rows % => Rows - { - row-get-height-constraint - exch - array-append - } - [] - 2 index - reduce % => Rows RHCs - - exch pop % => RHCs -} def - -/put-table-column-width-constraint % => WC Box -{ - dup is-table { - dup table-get-cwc-raw % => WC Box CWC - 1 index get-current-column - 1 add % => WC Box CWC CC(1-based) - 2 index get-table-content-rows % => WC Box CWC CC Rows - length % => WC Box CWC CC CR - 4 index % => WC Box CWC CC CR WC - 3 array astore % => WC Box CWC [CC CR WC] - exch array-prepend % => WC Box CWC' - 1 index table-put-cwc-raw % => WC Box - } if - pop pop - -} def -/table-get-cwc { % => Table - [] % => Table [](CWC) - - 1 index get-current-column - dup 0 ge { - 1 add - - {wc-none} - array-extend - - 1 index table-get-cwc-raw % => Table CWC RawCWCS - { % => Table CWC RawCWC[CC CR WC] - aload pop % => Table CWC CC CR WC - -% Ignore column-width constraints for colspanned columns - 1 index - 3 index - 6 index - table-have-colspan 1 eq { - exch pop % => Table CWC CC WC - exch 1 sub exch % => Table CWC CC(0-based) WC - 2 index length 2 index 1 add lt { - 3 1 roll {wc-none} - array-extend % => Table WC CWC' - array-prepend % => Table CWC'' - } { - 2 index - 3 1 roll - put - } ifelse - } { - pop pop pop - } ifelse - } forall - exch pop - } { - pop pop pop [] - } ifelse -} def - -% Get the cell-width constraint -% @param R row number (zero based) -% @param C column number (zero based) -% @param Table table being processed -% returns false if no constraint; WC function if constraint have been found -/table-get-cwc-raw-at { % => R C Table - [] % => R C Table [] - 1 index table-get-cwc-raw { % => R C Table [] CurrentWC - aload pop % => R C Table [] C' R' WC - - 6 index 2 index eq - 6 index 4 index eq and { % => R C Table [] C' R' WC - exch pop - exch pop - exch array-append % => R C Table [WC] - - } { - pop pop pop - } ifelse % => R C Table [WC] - } forall - - 4 1 roll - pop pop pop - - dup length 0 gt { - 0 get - } { - pop false - } ifelse -} def - -/table-get-cwc-raw { % => Table - get-content % => Content - 5 get % => CWC -} def -/table-put-cwc-raw { % => CWC Table - get-content % => CWC Content - 5 % => CWC Content 5 - 3 2 roll % => Content 5 CWC - put % => -} def -/make-table-box { % => W Cols Rows - 0 3 1 roll % => W 0(H) Cols Rows - 2 copy make-table - [] [] % => W 0(H) Cols Rows [] [](ColSpans) [](RowSpans) - [] % => W 0(H) Cols Rows [] [](ColSpans) [](RowSpans) [](ColumnWidthConstraints) - 6 array astore % => W 0(H) [Cols Rows [] [](ColSpans) [](RowSpans)](Content) - 0 0 0 0 - 5 4 roll % => W H 0 0 0 0 Content - 0 % => W H 0 0 0 0 Content 0(Baseline) - /show-table-box % => W H 0 0 0 0 Content 0(Baseline) DisplayFun - 0 % => W H 0 0 0 0 Content 0(Baseline) DisplayFun 0(DefaultBaseline) - [0 0 0 0] - make-box - {flow-table} 1 index put-flow-fun -% Mark box as table - dup get-box-dict - /Display /table put -} def -/make-default-table-box { % => W - 0 0 make-table-box - dup get-box-dict - /Width get - /Auto false put -} def - -% PREDICATES -/is-constrained-column { % => WC - 0 get /wc-none cvx ne -} def % => Flag - -% ROW-RELATED -/table-fit-row { % => R Row Box ColsWidth -% Get total height of current row - 3 2 roll % => R Box ColsWidth Row - - 2 index -% table-row-height accepts 1-based row indices - 4 index 1 add - 2 index - table-row-height % => R Box ColsWidth Row RH - -% Get current Y coordinate (indicated the bottom edge of current row) - dup 2 div - 4 index get-current-y -% Calculate middle Y coordinate of this row - exch sub % => R Box ColsWidth Row RH Middle - -% Row baseline information - 2 index get-row-baseline % => R Box ColsWidth Row RH Middle RBaseline - exch - 4 3 roll % => R Box ColsWidth RH RBaseline Middle Row - - { % => R Box ColsWidth RH RBaseline Middle Cell - 4 copy - apply-valign % => R Box ColsWidth RH RBaseline Middle Cell - -% extend cell height to fit the row vertically - 1 index % => R Box ColsWidth RH RBaseline Middle Cell Middle - 6 index get-current-y % => R Box ColsWidth RH RBaseline Middle Cell Middle CY - - exch sub % => R Box ColsWidth RH RBaseline Middle Cell H/2 - 2 mul % => R Box ColsWidth RH RBaseline Middle Cell H - dup 2 index - get-full-height % => R Box ColsWidth RH RBaseline Middle Cell H H CellH - gt { % => R Box ColsWidth RH RBaseline Middle Cell H - 2 copy exch - put-full-height % => R Box ColsWidth RH RBaseline Middle Cell H - } if -% align the top edge of extended cell with the row top edge - 2 div 2 index exch - add % => R Box ColsWidth RH RBaseline Middle Cell TY - 1 index put-top - pop - } forall % => R Box ColsWidth RH RBaseline Middle - - pop pop pop pop pop pop % => -} def -/table-row-height { % => Box R Row - 1 exch % => Box R 1(C) Row - 0 exch % => Box R 1(C) 0(H) Row - { % => Box R C H Cell - 3 index - 3 index % => Box R C H Cell R C - 6 index % => Box R C H Cell R C Box - table-have-rowspan % => Box R C H Cell Span - 1 le { - get-full-height - max % => Box R C H - } { - pop - } ifelse % => Box R C H - exch 1 add exch % => Box R C+1 H - } forall % => Box R C+1 H - 4 1 roll - pop pop pop % => H -} def -/in-table-resize-rows { % => Box R OY RHs Rows - dup length 0 gt { % => Box R OY RHs Rows - 1 index 0 get % => Box R OY RHs Rows H - - 1 index 0 get % => Box R OY RHs Rows H Row - 5 index % => Box R OY RHs Rows H Row R - 7 index % => Box R OY RHs Rows H Row R Box - exch % => Box R OY RHs Rows H Row Box R - 3 2 roll % => Box R OY RHs Rows H Box R Row - table-row-height % => Box R OY RHs Rows H OldH - 7 1 roll % => OldH Box R OY RHs Rows H - - 1 index 0 get % => OldH Box R OY RHs Rows H Row - - dup get-row-baseline - exch % => OldH Box R OY RHs Rows H RowBaseLine Row - - { % => OldH Box R OY RHs Rows H RowBaseLine Cell -% align top edge of the expanded cell and the top edge of row -% note that table content already have vertical alignment, so it should not -% be affected by this action - dup get-left % => OldH Box R OY RHs Rows H RowBaseLine Cell X - 8 index get-top-internal - 7 index sub % => OldH Box R OY RHs Rows H RowBaseLine Cell X Y - 2 index - move-to-box % => OldH Box R OY RHs Rows H RowBaseLine Cell - -% re-try to vertical align the cell contents using new row height - 1 index % => OldH Box R OY RHs Rows H RowBaseLine Cell RowBaseline - 8 index get-top - 7 index sub - 4 index 2 div - sub % => OldH Box R OY RHs Rows H RowBaseLine Cell Baseline Middle - 2 index % => OldH Box R OY RHs Rows H RowBaseLine Cell Baseline Middle Cell - 5 index 4 1 roll % => OldH Box R OY RHs Rows H RowBaseLine Cell H Baseline Middle Cell - - apply-valign % => OldH Box R OY RHs Rows H RowBaseLine Cell - -% expand cell to the row height - 2 index - 1 index % => OldH Box R OY RHs Rows H RowBaseLine Cell H Cell - put-full-height % => OldH Box R OY RHs Rows H RowBaseLine Cell - - pop - } forall % => OldH Box R OY RHs Rows H RowBaseLine - pop % => OldH Box R OY RHs Rows H - -% Calculate new offset from the table top (old offset+current row height) - 7 6 roll % => Box R OY RHs Rows H OldH - pop % => Box R OY RHs Rows H - 4 3 roll % => Box R RHs Rows H OY - add % => Box R RHs Rows OY' -% remove processed element for row array - 3 1 roll % => Box R OY' RHs Rows - array-pop-first % => Box R OY RHs Rows' -% remove processed element for row heights array - 4 1 roll - array-pop-first % => Box Rows' R OY RHs' -% increase row index - 4 2 roll - 1 add % => Box OY RHs' Rows' R+1 -% process next row recusively - 4 1 roll % => Box R+1 OY RHs' Rows' - - in-table-resize-rows - } if -} def -/table-resize-rows { % => Box RHs - dup sum % => Box RHs FH - 2 index put-height % => Box RHs - 1 exch % => Box 1(R) RHs - 0 exch % => Box 1(R) 0(Ofs) RHs - 3 index - get-table-content-rows % => Box 1(R) 0(Ofs) RHs Rows - in-table-resize-rows % => Box 1(R) OY [] [] - pop pop pop pop pop -} def -/table-rows-heights { % => Box - dup get-table-content-rows % => Box Rows - [] exch % => Box [](Heights) Rows - 1 exch % => Box [](Heights) 1(R) Rows - { % => Box Heights R Row - 1 index exch % => Box Heights R R Row - 4 index 3 1 roll % => Box Heights R Box R Row - table-row-height % => Box Heights R H - 2 index array-prepend % => Box Heights R Heights' - 3 1 roll % => Box Heights' Heights R - exch pop % => Box Heights R - 1 add % => Box Heights R+1 - } forall % => Box Heights R - pop - exch pop % => Heights -} def - -% Modify minimal column width using column span information -/get-max-width-table-column { % => Box C Column - 1 exch - 0 exch { % => Box C 1(R) 0(ColumnMinWidth) ColumnElement - 2 index % => Box C 1(R) 0(ColumnMinWidth) ColumnElement R - 4 index % => Box C 1(R) 0(ColumnMinWidth) ColumnElement R C - 6 index - table-have-colspan 1 gt { % => Box C R Width Element - pop % => Box C R Width - } { - get-max-width % => Box C R Width CWidth - max % => Box C R Width' - } ifelse - exch 1 add exch % => Box C R+1 Width' - } forall % => Box C RL Width' - - exch pop % => Box C Width' - 2 index get-hor-extra - sub - - 3 1 roll pop pop % => Width -} def -/get-min-width-table-column { % => Box C Column - 1 exch - 0 exch { % => Box C 1(R) 0(ColumnMinWidth) ColumnElement - 2 index % => Box C 1(R) 0(ColumnMinWidth) ColumnElement R - 4 index % => Box C 1(R) 0(ColumnMinWidth) ColumnElement R C - 6 index % => Box C 1(R) 0(ColumnMinWidth) ColumnElement R C Box - - table-have-colspan 1 gt { % => Box C R Width Element - pop % => Box C R Width - } { -% dup get-td-dict -% /NoWrap get { -% dup get-max-width -% 1 index get-min-width -% max exch pop -% } { - get-min-width % => Box C R Width CWidth -% } ifelse - max % => Box C R Width' - } ifelse - exch 1 add exch % => Box C R+1 Width' - } forall % => Box C RL Width' - - exch pop % => Box C Width' - 2 index get-hor-extra - sub - - 3 1 roll pop pop % => Width -} def -/get-table-columns-min-widths { % => Box - dup get-table-content-columns % => Box ColumnsList - 1 exch - [] exch % => Box 1(C) [] ColumnsList - { % => Box C [](Widths) Column - 3 index % => Box C Widths Column Box - 3 index % => Box C Widths Column Box C - 3 2 roll % => Box C Widths Box C Column - - get-min-width-table-column % => Box C Widths ColW - exch array-prepend % => Box C Widths - - exch 1 add exch % => Box C+1 TotalMinWidth - } forall % => Box C MinWidth - exch pop % => Box MinWidths - exch pop % => MinWidths -} def -/get-table-columns-max-widths { % => Box - dup get-table-content-columns % => Box ColumnsList - 1 exch - [] exch % => Box 1(C) [] ColumnsList - { % => Box C [](Widths) Column - 3 index % => Box C Widths Column Box - 3 index % => Box C Widths Column Box C - 3 2 roll % => Box C Widths Box C Column - - get-max-width-table-column % => Box C Widths ColW - exch array-prepend % => Box C Widths - - exch 1 add exch % => Box C+1 TotalMinWidth - } forall % => Box C MaxWidth - exch pop % => Box MaxWidths - - % Use column width constraints - column should not be wider its constrained width - 1 index get-width % => Box MaxWidths BW - 2 index table-normalize-cwc % => Box MaxWidths BW CWCs - 2 index % => Box MaxWidths BW CWCs MaxWidths - { 1 index is-fraction - { - 6 index false 3 index exec 3 1 roll pop pop - } - { exch false exch exec } ifelse } - zip-with - exch pop exch pop % => Box MaxWidhts - - exch pop % => MinWidths -} def - -/table-apply-colspans-minw { % => Flags Widths Fun Box - dup table-get-colspans % => Flags Widths Fun Box Colspans - { % => Flags Widths Fun Box Colspan[Size R C] - dup 0 get % => Flags Widths Fun Box Colspan[Size R C] Size - 1 index 1 get % => Flags Widths Fun Box Colspan[Size R C] Size R - 2 index 2 get % => Flags Widths Fun Box Colspan[Size R C] Size R C -% Calculate colspanned cell width (using appropriate function passed in the stack when -% calling this function) - 4 index % => Flags Widths Fun Box Colspan[Size R C] Size R C Box - table-get-cell-content % => Flags Widths Fun Box Colspan[Size R C] Size Cell - 4 index exec % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth -% apply cell width constraint, if any - 2 index aload pop - 3 2 roll pop % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth R C - 5 index table-get-cwc-raw-at % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth WC - dup false ne { - dup is-fraction { - 4 index no-width-constraint not { - 4 index get-width exch - false exch exec - max - } { - pop - } ifelse - } { - false exch exec - } ifelse - } { - pop - } ifelse % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth' -% now select the pre-calculated widths of columns covered by this cell - 2 index 2 get % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth C - 1 sub % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth C(ZeroBased) - 3 2 roll % => Flags Widths Fun Box Colspan[Size R C] CellWidth C(ZeroBased) Size - 1 index % => Flags Widths Fun Box Colspan[Size R C] CellWidth C Size C - exch % => Flags Widths Fun Box Colspan[Size R C] CellWidth C C Size - 7 index % => Flags Widths Fun Box Colspan[Size R C] CellWidth C C Size Widths - 3 1 roll % => Flags Widths Fun Box Colspan[Size R C] CellWidth C Widths C Size - getinterval % => Flags Widths Fun Box Colspan[Size R C] CellWidth C SWidths -% select the list of resizable columns covered by this cell - 3 2 roll exch % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths - 7 index % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths Flags - 3 index % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths Flags C - 5 index 0 get % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths Flags C Size - getinterval % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths SFlags -% Subtract sum width of non-resizable columns this cell spans over from the cell width -% Non-resizable columns are marked as 'false' in SFlags - 2 copy { - { pop 0 } if - } zip-with sum % => Flags Widths Fun Box Colspan[Size R C] C CellWidth SWidths SFlags Non-resizable-width - 4 3 roll - exch sub -% do not allow target width drop below zero - 0 max - 3 1 roll -% Expand resizable columns to - expand-to-with-flags % => Flags Widths Fun Box Colspan[Size R C] C SWidths' -% store modified widths - 5 index % => Flags Widths Fun Box Colspan[Size R C] C SWidths' Widths - 3 1 roll % => Flags Widths Fun Box Colspan[Size R C] Widths C SWidths' - putinterval % => Flags Widths' Fun Box Colspan[Size R C] - pop % => Flags Widths' Fun Box - } forall % => Flags Widths' Fun Box - pop pop % => Widths' - exch pop -} def - -/table-apply-colspans { % => Widths Fun Box - dup table-get-colspans % => Widths Fun Box Colspans -% Scan all cell spanning several columns - { % => Widths Fun Box Colspan[Size R C] -% Get current colspan contents - dup 0 get % => Widths Fun Box Colspan[Size R C] Size - 1 index 1 get % => Widths Fun Box Colspan[Size R C] Size R - 2 index 2 get % => Widths Fun Box Colspan[Size R C] Size R C - 4 index % => Widths Fun Box Colspan[Size R C] Size R C Box - table-get-cell-content % => Widths Fun Box Colspan[Size R C] Size Cell -% Calculate its width (by calling the appropriate function passed; usually it will be -% get-min-width or get-max-width) - 4 index exec % => Widths Fun Box Colspan[Size R C] Size CellWidth -% apply cell width constraint, if any - 2 index aload pop - 3 2 roll pop % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth R C - 5 index table-get-cwc-raw-at % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth WC - dup false ne { - dup is-fraction { - 4 index no-width-constraint not { - 4 index get-width exch - false exch exec - max - } { - pop - } ifelse - } { - false exch exec - } ifelse - } { - pop - } ifelse % => Flags Widths Fun Box Colspan[Size R C] Size CellWidth' -% Get the width list of columns covered by current column span - 2 index 2 get % => Widths Fun Box Colspan[Size R C] Size CellWidth C - 1 sub % => Widths Fun Box Colspan[Size R C] Size CellWidth C(ZeroBased) - 3 2 roll % => Widths Fun Box Colspan[Size R C] CellWidth C(ZeroBased) Size - 1 index % => Widths Fun Box Colspan[Size R C] CellWidth C Size C - exch % => Widths Fun Box Colspan[Size R C] CellWidth C C Size - 7 index % => Widths Fun Box Colspan[Size R C] CellWidth C C Size Widths - 3 1 roll % => Widths Fun Box Colspan[Size R C] CellWidth C Widths C Size - getinterval % => Widths Fun Box Colspan[Size R C] CellWidth C SWidths -% expand these columns to fit spanned data - 3 2 roll exch % => Widths Fun Box Colspan[Size R C] C CellWidth SWidths - expand-to % => Widths Fun Box Colspan[Size R C] C SWidths' -% Store changed widths - 5 index % => Widths Fun Box Colspan[Size R C] C SWidths' Widths - 3 1 roll % => Widths Fun Box Colspan[Size R C] Widths C SWidths' - putinterval % => Widths' Fun Box Colspan[Size R C] - pop % => Widths' Fun Box - } forall % => Widths' Fun Box - pop pop % => Widths' -} def -/table-column-widths { % => Box - dup get-width % => Box Width - table-columns-fit -} def -/table-columns-fit { % => Box Widht -% Check if there's any columns in table - 1 index get-table-content-columns - length 0 gt { - in-table-columns-fit - } { - pop pop [] - } ifelse -} def - -% columns-fit helper function -/fit-cwidth { % => MW MCW TW-TCW TMCW-TMW - 2 index - 4 index - sub % => MW MCW TW-TCW TMCW-TMW MCW-MW - exch div % => MW MCW TW-TCW MCW-MW/TMCW-TMW - mul - add -% to avoid problems with negative cell widths - 0 max - exch pop -} def -/in-table-columns-fit { % => Box Width - 1 index - get-table-content-columns % => Box Width Columns - - 2 index % => Box Width Columns Box - get-table-columns-min-widths % => Box Width Columns MinWidths - - 3 index - get-table-columns-max-widths % => Box Width Columns MinWidths MaxWidths - - 1 index - { max } - zip-with - -% Use data on the spanned cells -% exch % => Box Width Columns MaxWidths MinWidths -% 2 copy { ne } zip-with % => Box Width Columns MaxWidths MaxWidths [MaxWidthsCi<>MinWidthsCi] -% exch % => Box Width Columns MaxWidths ResizableFlags MinWidths - -% { get-min-width } 6 index % => Box Width Columns ManWidths ResizableFlags MinWidths Fun Box -% table-apply-colspans-minw % => Box Width Columns MaxWidths MinWidth -% exch % => Box Width Columns MinWidth MaxWidths -% { get-max-width } 5 index % => Box Width Columns MinWidth MaxWidths Fun Box -% table-apply-colspans % => Box Width Columns MinWidth MaxWidths - - 3 2 roll - pop % => Box Width MinWidths MaxWidths - -% Apply column width constraints to minimum widths - 2 index % => Box Width MinWidths MaxWidths BW - 4 index table-normalize-cwc % => Box Width MinWidths MaxWidths BW CWCs - 3 index % => Box Width MinWidths MaxWidths BW CWCs MinWidths - { 1 index is-fraction - { - 6 index false 3 index exec 3 1 roll pop pop - } - { exch false exch exec } ifelse } - zip-with - exch pop - -% Apply column width constraints to maximum widths - 3 index % => Box Width MinWidths MaxWidths MinWidthsC BW - 5 index table-normalize-cwc % => Box Width MinWidths MaxWidths MinWidthsC BW CWCs - 3 index % => Box Width MinWidths MaxWidths MinWidthsC BW CWCs maxWidth - { 1 index is-fraction - { - % 6 index = BW - 6 index false 3 index exec 3 1 roll pop pop - } - { exch false exch exec } ifelse } - zip-with - exch pop % => ox Width MinWidths MaxWidths MinWidthsC MaxWidths - -% Do not allow constrained max width be less than min width - 3 index - { max } - zip-with % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC - -% Do not allow constrained min width be less than min width - 3 index - 2 index - { max } - zip-with % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC W' - - 3 2 roll % => Box Width MinWidths MaxWidths MaxWidthsC W' MinWidthsC - pop % => Box Width MinWidths MaxWidths MaxWidthsC W' - exch % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC - -% Check if sum of constrained widths is too big -% Note that we compare sum of constrained width with the MAXIMAL value of table width and -% sum of uncostrained minimal width; it will prevent from unneeded collapsing of table cells -% if table content will expand its width anyway - 1 index sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC SUM(MinWidthsC') -% find the "template" value - 5 index - 5 index sum - max -% compare - gt { -% now we should scale columns to fit table width - 1 index sum -% find template value - 5 index - 5 index sum - max - -% Calculate the amount if difference between minimal and constrained minimal width for each columns - exch sub % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC - 4 index % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC MinWidth - 3 index % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC MinWidth MinWidthC - {exch sub} zip-with sum % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC CWDelta - dup 0 gt { - 5 index % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC CWDelta MinW - 4 index % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC Width-MinWC CWDelta MinW MinWC - 4 2 roll % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC MinW MinWC Width-MinWC CWDelta - /fit-cwidth cvx % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC MinW MinWC Width-MinWC CWDelta cit-cwidth - 3 array astore cvx % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC MinW MinWC {Width-MinWC CWDelta cit-cwidth} - zip-with % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC MinWC' - exch 3 2 roll pop % => Box Width MinWidths MaxWidths MinWC' MaxWidthsC - } { -% if no difference is found, we can collapse no columns - pop pop % => Box Width MinWidths MaxWidths MinWidthsC MaxWidthsC - } ifelse - } if - -% Use data on the spanned cells (again) - exch % => Box Width MinWidths MaxWidths MaxWidthsC MinWidthsC - 2 copy { ne } zip-with % => Box Width MinWidths MaxWidths MaxWidthsC MinWidthsC [MaxWidthsCi<>MinWidthsCi] - exch % => Box Width MinWidths MaxWidths MaxWidthsC ResizableFlags MinWidthsC - - { get-min-width } 7 index % => Box Width MinWidths MaxWidths MaxWidthsC ResizableFlags MinWidthsC Fun Box - table-apply-colspans-minw % => Box Width MinWidths MaxWidths MaxWidthsC MinWidthC - exch % => Box Width MinWidths MaxWidths MinWidthC MaxWidthsC - { get-max-width } 6 index % => Box Width MinWidths MaxWidths MinWidthC MaxWidthsC Fun Box - table-apply-colspans % => Box Width MinWidths MaxWidths MinWidthC MaxWidthsC - -% Calculate actual widths -% Prepare width array - [] - 1 index length 0 - array-extend % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths - -% First pass - calculate widths for all constrained columns - 6 index table-normalize-cwc % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs - - 0 1 2 index length 1 sub { % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I - 2 copy get - is-constrained-column { - 2 index - 1 index - 6 index 3 index get - put - } if - - pop - } for - -% Quick fix for overconstrained tables: if table have width attribute AND its value is less than sum -% of constrained columns widths plus minimal widths of uncostrained columns, then we'll expand the width of table -% to fit all columns -% 1. calculate sum of constrained column widths - 1 index sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs SumConW -% 2. calculate sum of unconstrained column minimal widths - 2 index - 7 index - { 1 index 0 gt { pop pop 0 } { exch pop } ifelse } - zip-with sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs SumConW SumUnconW -% 3. compare these widths with the table width - add - dup 8 index gt { % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs SumConW+SumUnconW - 8 7 roll pop - 7 1 roll - } { - pop - } ifelse - -% Second pass - distribute the rest of the width - -% Explanation of the stuff below (I've really had problems with this small piece of code, especially -% when I was trying to fix "bugs" inside it) -% -% First of all, no column can be narrower than it minimal width (determined by its content) -% Note that constrained columns have their widths distributed above, so we can exclude them for now -% (just throw them out and imagine that table does not contain any width-constrained cols) -% -% Second, the relative widths of columns will have _appoximately_ the same ratio as -% their maximal content widths. (In exception of cases where the first rule will take place - -% say for the table containing two columns with the VERY long text in the first and one or two words -% in the second) -% -% In general, this approach can be inoptimal in case of _very_ different font sizes -% inside the cells, of, say big images; nevertheless, it will give a good approximate -% AND still fast enough (unlike fully correct methods involving evaluation of the content height of the cell) -% -% Thus, we do the following: -% - calculate the ratio of current column MAXIMAL ($current_max) width to the sum of MAXIMAL widths of all columns left -% (inluding current) second rule applied. Note that we need remember about column spans and select -% maxw or maxwc in order. -% - then check if the rest of width will be too small for other columns to fit and decrease current columns -% width (see MIN function call) -% - then check again if our width will be too small for current column to fit (and expand if nesessary) - -% MAX function call - - 0 1 2 index length 1 sub { % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I - 2 copy get -% Process only uncostrained columns - is-constrained-column not { - 2 index - 1 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I -% Get undistibuted width (total table width - width of constrained columns) - 9 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I Width - 2 index sum sub % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest -% Get max width of column being processed - 8 index 2 index get % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW - 7 index 3 index get max % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW -% If width is equal to zero, use max constrained width, as this column could be covered by colspan; -% If not, we lose nothing, because all constrained columns are already processed earlier, and no more -% columns except these two types can have different constrained and raw widths - dup 0 eq { - pop - 6 index 2 index get - } if -% Get sum of maximal constrained widths of unplaced columns - 3 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW Widths - 8 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW Widths MaxWidthsC - { 1 index 0 eq {exch pop} {pop pop 0} ifelse } - zip-with - sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MW MWR -% Get sum of minimal constrained widths of unplaced columns - 4 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW MaxWR Widths - 10 index % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW MaxWR Widths MaxWidthsC - { 1 index 0 eq {exch pop} {pop pop 0} ifelse } - zip-with - sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW MaxWR MinWR - 3 index exch sub % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest MaxW MaxWR WidthRest-MinWR -% add current columns min width - 12 index 5 index get - 11 index 6 index get max - add - 4 1 roll % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest-MinWR WidthRest MaxW MaxWR -% If some unplaced columns have maximal (constrained width) greater zero - dup 0 gt { -% Calculate the appropriate fraction of free table width for the current column - div % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest-MinWR WidthRest MinWE MaxW MaxWR - mul % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I WidthRest-MinWR W(WidthRest*MW/MWR) - min -% Remove minimal width of current column; -% 9 index 2 index get -% sub -% This will make calculated width not less than raw minimal column with. See also line marked with (*) -% 0 max - } { - pop pop pop pop 0 - } ifelse -% (*) Add the minimal width of current column - 9 index 2 index get - dup 0 eq { - pop - 7 index 2 index get - } if - max % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths CWCs I Widths I W - - put - } if - - pop - } for - pop % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths - -% in case of overconstrained table (e.g. two columns with 20% widths), expand them - dup sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths SumWidth - dup 0 gt { - 6 index - exch div - dup 1 gt { - map-scale - } { pop } ifelse - } { - pop - } ifelse % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths - -% now - the last attempt; if total width is less than box width, just expand the very first column to fit - dup sum 6 index lt { - dup sum % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths SumWidth - 6 index - exch sub % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths Delta - 1 index 0 get % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths Delta W0 - add % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths W0' - 1 index exch - 0 exch put % => Box Width MinWidths MaxWidths MinWidthsC' MaxWidthsC Widths - } if - - 7 1 roll - pop pop pop - pop pop pop -} def - -% Modify heights of table cells spanning several rows -/table-fit-rowspans { % => Table - dup table-rows-heights % => Table RHs - 1 index table-get-rowspans % => Table RHs RS -% scan all cells spanning several rows - { % => Table RHs RowSpan -% calculate the bottom edge of current cell - aload pop % => Box RHs Span R C - 2 copy % => Box RHs Span R C R C - 6 index % => Box RHs Span R C R C Box - table-get-cell-content % => Box RHs Span R C Cell - { - get-bottom - min - } - 1 index get-top - 2 index get-content - reduce -% reset the height of the cell to its content height (as it have been probably fitted to the top row spanned-over) - 1 index get-top - sub neg - 1 index put-height - -% now check if cell height is less than sum spanned rows height - dup get-full-height % => Box RHs Span R C Cell CellFH - 5 index % => Box RHs Span R C Cell CellFH RHs - 4 index 1 sub % => Box RHs Span R C Cell CellFH RHs R - 6 index % => Box RHs Span R C Cell CellFH RHs R Span - getinterval sum % => Box RHs Span R C Cell CellFH RowH - - 2 copy lt { -% vertical-align current cell -% calculate (approximate) row baseline - 6 index % => Box RHs Span R C Cell CellFH RowH RHs - 0 6 index 1 sub % => Box RHs Span R C Cell CellFH RowH RHs 0 R(ZeroBased) - getinterval sum neg % => Box RHs Span R C Cell CellFH RowH -SpannedRHs - 8 index get-top-internal - add % => Box RHs Span R C Cell CellFH RowH RBaseline -% calculate row middle coordinate - dup 2 index 2 div sub % => Box RHs Span R C Cell CellFH RowH RBaseline Middle - - 2 index - 2 index - 2 index - 7 index - - apply-valign - - pop pop - -% Make cell fill all available vertical space - dup % => Box RHs Span R C Cell CellFH RowH RowH - 3 index - put-full-height % => Box RHs Span R C Cell CellFH RowH - - pop pop pop - } { - pop pop pop - } ifelse % => Box RHs Span R C - pop pop pop - } forall - pop pop -} def - -/table-have-colspan { % => Row Col Table - table-get-colspans - 1 % => Row Col Spans 1 - exch % => Row Col 1 Spans - { % => Row Col CS Span - dup 1 get % => Row Col CS Span Row - 1 index 2 get % => Row Col CS Span Row Col - 4 index eq % => Row Col CS Span Row CEq - exch % => Row Col CS Span CEq Row - 5 index eq % => Row Col CS Span CEq REq - and % => Row Col CS Span Match - { - 0 get exch pop - } { - pop - } ifelse - } forall % => Row Col CS - 3 1 roll % => CS Row Col - pop pop % => CS -} def - -/table-have-rowspan { % => Row Col Table - table-get-rowspans - 1 % => Row Col Spans 1 - exch % => Row Col 1 Spans - { % => Row Col CS Span - dup 1 get % => Row Col CS Span Row - 1 index 2 get % => Row Col CS Span Row Col - 4 index eq % => Row Col CS Span Row CEq - exch % => Row Col CS Span CEq Row - 5 index eq % => Row Col CS Span CEq REq - and % => Row Col CS Span Match - { - 0 get exch pop - } { - pop - } ifelse - } forall % => Row Col CS - 3 1 roll % => CS Row Col - pop pop % => CS -} def - -/table-mark-rowspan { % => Table SpanSize - 1 index - get-table-content-rows % => Table SpanSize Rows - dup length % => Table SpanSize Rows CurRow - 1 index array-last % => Table SpanSize Rows CurRow LastRow - length % => Table SpanSize Rows CurRow CurColumn - 3 2 roll pop % => Table SpanSize CurRow CurColumn - 3 index % => Table SpanSize CurRow CurColumn Table - table-add-rowspan % => Table -} def - -/table-mark-colspan { % => Table SpanSize - 1 index - get-table-content-rows % => Table SpanSize Rows - dup length % => Table SpanSize Rows CurRow - 1 index array-last % => Table SpanSize Rows CurRow LastRow - length % => Table SpanSize Rows CurRow CurColumn - 3 2 roll pop % => Table SpanSize CurRow CurColumn - 3 index % => Table SpanSize CurRow CurColumn Table - table-add-colspan % => Table -} def - -/normalize-row { % => Length Row - aload length % => Length R1 .. RN N - dup % => Length R1 .. RN N N - dup 2 add % => Length R1 .. RN N N N+2 - index % => Length R1 .. RN N N Length - exch sub dup % => Length R1 .. RN N Delta Delta - replicate-row % => Length R1 .. RN N []..[] Delta 0 - pop % => Length R1 .. RN N []..[] Delta - dup 2 add % => Length R1 .. RN N []..[] Delta Delta+2 - dup 1 sub % => Length R1 .. RN N []..[] Delta Delta+2 Delta+1 - roll % => Length R1 .. RN []..[] Delta N - add % => Length R1 .. RN []..[] Delta+N - array astore % => Length Row' - exch pop % => Row' -} def - -/table-slide-cw { % => R C Box - dup table-get-cwc-raw % => R C Box RawCWCS - { % => R C Box RawCWC - aload % => R C Box !C !R WC [!C !R WC] - 2 index 7 index eq { - 3 index 6 index ge { - dup - 0 5 index 1 add put % => R C Box !C !R WC [!C+1 !R WC] - } if - } if % => R C Box !C !R WC [!C !R WC] - pop pop pop pop - } forall - - pop pop pop -} def - -/do-slide-rs { % => ... RS' [SS SR SC] R C - 2 index 1 get % => ... RS' [SS SR SC] R C SR - 2 index eq { % => ... RS' [SS SR SC] R C - 2 index 2 get % => ... RS' [SS SR SC] R C SC - 1 index ge { % => ... RS' [SS SR SC] R C - 2 index 2 get % => ... RS' [SS SR SC] R C SC - 1 add % => ... RS' [SS SR SC] R C SC+1 - 3 index exch - 2 exch % => ... RS' [SS SR SC] R C [..] 2 SC+1 - put % => ... RS' [SS SR SC+1] R C -% FIXME: reorder rowspans after this operation? - } if - } if - - pop pop - exch array-prepend -} def - -/table-slide-rs { % => R C Box - 2 index 2 index /do-slide-rs % => R C Box {fun} - cvx 3 array astore cvx - [] - 2 index table-get-rowspans - reduce - - 1 index table-put-rowspans % => R C Box - - pop pop pop % => -} def - -/do-slide-cs { % => ... RS' [SS SR SC] R C - 2 index 1 get % => ... RS' [SS SR SC] R C SR - 2 index eq { % => ... RS' [SS SR SC] R C - 2 index 2 get % => ... RS' [SS SR SC] R C SC - 1 index ge { % => ... RS' [SS SR SC] R C - 2 index 2 get % => ... RS' [SS SR SC] R C SC - 1 add % => ... RS' [SS SR SC] R C SC+1 - 3 index exch - 2 exch % => ... RS' [SS SR SC] R C [..] 2 SC+1 - put % => ... RS' [SS SR SC+1] R C -% FIXME: reorder rowspans after this operation? - } if - } if - - pop pop - exch array-prepend -} def - -/table-slide-cs { % => R C Box - 2 index 2 index /do-slide-cs % => R C Box {fun} - cvx 3 array astore cvx - [] - 2 index table-get-colspans - reduce - - 1 index table-put-colspans % => R C Box - - pop pop pop % => -} def - -/table-fake-cell { % => R C Box - 3 copy - table-slide-cw % => R C Box - 3 copy - table-slide-rs % => R C Box - 3 copy - table-slide-cs % => R C Box - - dup - get-table-content-rows % => R C Box Rows - dup % => R C Box Rows Rows - 4 index 1 sub % => R C Box Rows Rows R(0) - dup - 2 index length 1 sub gt { - pop pop pop pop pop pop - } { - get % => R C Box Rows Row - 3 index 1 sub exch % => R C Box Rows C(ZeroBased) Row - box-block-create % => R C Box Rows C Row FBox - {show-fake-block-box} - 1 index put-display - exch % => R C Box Rows C FBox Row - - dup length 3 index lt { - 3 1 roll - array-extend - } { - array-insert % => R C Box Rows Row' - } ifelse - - dup length % => R C Box Rows Row' RL' - 3 index get-content % => R C Box Rows Row' RL' [C R Content] - exch 0 exch % => R C Box Rows Row' [C R Content] 1 RL' - 2 index 0 get max - put - - 4 index 1 sub % => R C Box Rows Row' R(ZeroBased) - exch % => R C Box Rows R(ZeroBased) Row' - put % => R C Box - pop pop pop % => - } ifelse -} def - -/in-normalize-rowspans { % => Size Row Col Box - 3 index 1 gt { - 2 index 1 add % => Size Row Col Box Row+1 - 2 index % => Size Row Col Box Row+1 Col - 2 index - table-fake-cell % => Size Row Col Box - 4 2 roll % => Col Box Size Row - 1 add % => Col Box Size Row+1 - 4 1 roll % => Row+1 Col Box Size - 1 sub % => Row+1 Col Box Size-1 - 4 1 roll % => Size-1 Row+1 Col Box - in-normalize-rowspans % => - } { - pop pop pop pop % => - } ifelse -} def - -/normalize-rowspans { % => Box - dup table-get-rowspans % => Box Rowspans - { % => Box Rowspan - aload pop % => Box Size Row Col - 3 index % => Box Size Row Col Box - in-normalize-rowspans % => Box - } forall % => Box - - dup get-table-content-rows % => Box Rows - length % => Box RN - - 1 index table-get-rowspans % => Box RN Rowspans - { % => Box RN Rowspan - dup 1 get % => Box RN Rowspan RSR - dup % => Box RN Rowspan RSR RSR - 2 index 0 get % => Box RN Rowspan RSR RSR RSS - add 1 sub % => Box RN Rowspan RSR RSR+RSS-1 - 3 index min % => Box RN RowSpan RSR SpanEnd - exch sub 1 add % => Box RN RowSpan SpanSize - 0 exch put % => Box RN - } forall % => Box RN - - pop pop % => -} def - -/normalize-table { % => Box - dup normalize-rowspans - - dup get-content % => Box Content - get-children-from-content % => Box Rows - dup dup % => Box Rows Rows Rows - 0 exch % => Box Rows Rows 0 Rows - { % => Box Rows Rows 0 Row - length - max - } forall % => Box Rows Rows MaxRowLength - - 0 exch % => Box Rows Rows 0 MaxRowLength - 3 2 roll % => Box Rows 0 MaxRowLength Rows - { % => Box Rows RowNo MaxRowLength Row - 1 index exch % => Box Rows RowNo MaxRowLength MaxRowLength Row - normalize-row % => Box Rows RowNo MaxRowLength Row' - 3 index 3 index % => Box Rows RowNo MaxRowLength Row' Rows RowNo - 3 2 roll % => Box Rows RowNo MaxRowLength Rows RowNo Row' - put % => Box Rows RowNo MaxRowLength - exch 1 add exch % => Box Rows RowNo+1 MaxRowLength - } forall - - pop pop pop - pop -} def - -/in-make-table-row { % => RowData Size - dup 0 gt { - 1 index % => RowData Size RowData - aload % => RowData Size Data1 ... DataN Arr - length % => RowData Size Data1 ... DataN N - 1 add % => RowData Size Data1 ... DataN N+1 - [] exch % => RowData Size Data1 ... DataN [] N+1 - array astore % => RowData Size NewRowData - 3 2 roll pop % => Size NewRowData - exch % => NewRowData Size - 1 sub % => NewRowData Size-1 - in-make-table-row - } { - pop - } ifelse -} def - -/make-table-row { % => Size - [] exch % => [](EmptyRow) Size - in-make-table-row -} def - -/in-make-table { % => TableData Cols Rows - dup 0 gt { - 2 index % => TableData Cols Rows TableData - aload % => TableData Cols Rows Data1 ... DataN TableData - length % => TableData Cols Rows Data1 ... DataN N - 1 add % => TableData Cols Rows Data1 ... DataN N+1 - dup 1 add index - make-table-row - exch % => TableData Cols Rows Data1 ... DataN NewRow N+1 - array astore % => TableData Cols Rows NewTableData - 4 3 roll pop % => Cols Rows NewTableData - 3 1 roll % => NewTableData Cols Rows - 1 sub % => NewTableData Cols Rows-1 - in-make-table - } { - pop pop - } ifelse -} def - -/make-table { % => Cols Rows - [] 3 1 roll - in-make-table -} def - -/in-add-table-cell { % => Box Cell - 1 index get-content % => Box Cell [Cols Rows Content](RawContent) - 2 get % => Box Cell Rows - dup length 1 sub % => Box Cell Rows LastIndex - dup - 2 index exch get % => Box Cell Rows LastIndex LastRow - aload length % => Box Cell Rows LastIndex Cell1 .. CellN N - dup 3 add % => Box Cell Rows LastIndex Cell1 .. CellN N N+4 - index exch % => Box Cell Rows LastIndex Cell1 .. CellN Cell N - 1 add - array astore % => Box Cell Rows LastIndex NewRow - dup length % => Box Cell Rows LastIndex NewRow NewRowLength - 5 1 roll % => Box NewRowLength Cell Rows LastIndex NewRow - put - pop % => Box NewRowLength - 1 index get-content - dup 0 get % => Box NewRowLength Content Cols - 3 2 roll % => Box Content Cols NewRowLength - max - 0 exch put % => Box -} def - -/add-table-cell { % => Table Child - 1 index is-table { -% setup parent reference in the child box - dup get-box-dict - /Parent 3 index put -% set display property - dup get-box-dict - /Display /table-cell put - -% Check if any rows have been added to the table -% Add one if no rows still exists - 1 index get-table-content-rows % => Rows - length 0 eq { - 1 index add-table-row pop - } if - - 2 copy - in-add-table-cell % => Table Child Table - pop % => Table Child - -% If table-cell had width constaint, propagate it to the column - dup no-width-constraint not { - dup get-width-constraint - 2 index put-table-column-width-constraint - {wc-none} 1 index put-width-constraint - } if - pop - } { -% if parent is not a table, just ignore this box - pop - } ifelse -} def diff --git a/thirdparty/html2ps_pdf/postscript/table.row.ps b/thirdparty/html2ps_pdf/postscript/table.row.ps deleted file mode 100644 index 37d4494c8..000000000 --- a/thirdparty/html2ps_pdf/postscript/table.row.ps +++ /dev/null @@ -1,20 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/table.row.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -/get-row-baseline { % => Row -% Calculate maximal baseline for each cell contained -% Cell baseline is the baseline of its first line box - { - get-content - dup length 0 gt { - 0 get - get-baseline - max - } { - pop - } ifelse - } - exch - 0 exch - reduce - -} def diff --git a/thirdparty/html2ps_pdf/postscript/text-align.ps b/thirdparty/html2ps_pdf/postscript/text-align.ps deleted file mode 100644 index 2493c694f..000000000 --- a/thirdparty/html2ps_pdf/postscript/text-align.ps +++ /dev/null @@ -1,95 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/text-align.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ - -% Constants -/max-justify-fraction {0.33} def - -/line-length-delta { % Context Box - dup line-length % Context Box LineLength -% calculate length line to be expanded - 2 index 2 index - box-container-get-available-width - exch sub % Context Box Delta -% Quick workaround - line delta should not be less than 0 - 0 max - - exch pop - exch pop -} def - -/text-align-left { % => LastLine Context Box - pop pop pop -} def - -/text-align-center { % => LastLine Context Box - 2 copy line-length-delta % => LastLine Context Box Delta - 2 div % => LastLine Context Box Delta/2 - 1 index get-line % => LastLine Context Box Delta/2 Line - { % => LastLine Context Box Delta/2 LineElement - 0 exch - 2 index exch % => LastLine Context Box Delta/2 0 Delta/2 LineElement - /offset call-method - } forall % => LastLine Context Box Delta/2 - pop pop pop pop -} def - -/text-align-right { % => LastLine Context Box - 2 copy line-length-delta % => LastLine Context Box Delta - 1 index get-line % => LastLine Context Box Delta Line - { % => LastLine Context Box Delta LineElement - 0 exch - 2 index exch % => LastLine Context Box Delta/2 Delta/2 0 LineElement - /offset call-method - } forall % => LastLine Context Box Delta/2 - pop pop pop pop -} def - -/text-align-justify { % => LastLine Context Box -% last line is never justified - 2 index not { % => LastLine Context Box - -% If line box contains less that two items, no justification can be done, just return - dup get-line length 2 ge { % => LastLine Context Box - -% Calculate extra space to be filled by this line - 2 copy line-length-delta % => LastLine Context Box Delta - -% note that if it is the very first line inside the container, 'text-indent' value -% should not be taken into account while calculating delta value - 1 index - box-container-get-first - get-uid % => LastLine Context Box Delta FirstUID - 2 index get-line - 0 get get-uid % => LastLine Context Box Delta FirstUID FirstLineUID - eq { % => LastLine Context Box Delta - 1 index box-generic-calc-text-indent - sub - } if % => LastLine Context Box Delta - -% if line takes less that MAX_JUSTIFY_FRACTION of available space, no justtification should be done - 1 index line-length - max-justify-fraction mul % => LastLine Context Box Delta LL*MJF - 1 index ge { % => LastLine Context Box Delta -% Calculate offset for each box - dup - 2 index get-line length - 1 sub div % => LastLine Context Box Delta Offset - dup % => LastLine Context Box Delta Offset COffset - -% Offset all boxes in current line box - 3 index get-line { % => LastLine Context Box Delta Offset COffset Child - 0 2 index 2 index - /offset call-method % => LastLine Context Box Delta Offset COffset Child - - pop - 1 index add % => LastLine Context Box Delta Offset COffset - } forall - - pop pop % => LastLine Context Box Delta - } if - - pop % => LastLine Context Box - } if - } if - - pop pop pop -} def diff --git a/thirdparty/html2ps_pdf/postscript/vertical-align.ps b/thirdparty/html2ps_pdf/postscript/vertical-align.ps deleted file mode 100644 index 4c17b32bb..000000000 --- a/thirdparty/html2ps_pdf/postscript/vertical-align.ps +++ /dev/null @@ -1,93 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/vertical-align.ps,v 1.1 2005/12/18 07:21:39 Konstantin Exp $ - -/vertical-align-text-top { -} def - -/vertical-align-text-bottom { - 1 index get-line-baseline neg - 1 index get-baseline % => Parent Child MaxBaseline Baseline - - 2 copy ge { - pop - 1 index put-baseline - } { - sub - 2 index get-line - { - dup get-baseline - 2 index sub - exch put-baseline - } forall - 2 index get-line-baseline - add - 2 index put-line-baseline % => Parent Child - } ifelse -} def - -/vertical-align-super { - dup get-baseline 2 div - 1 index put-baseline -} def - -/vertical-align-sub { - 1 index get-line-baseline neg - 1 index get-baseline - 2 div - add - 1 index put-baseline -} def -/vertical-align-top { -} def -/vertical-align-middle { - vertical-align-baseline - - dup get-default-baseline - 1 index get-baseline - sub 2 div - - 1 index get-baseline - add - 1 index put-baseline -} def - -% TODO: -/vertical-align-bottom { - 1 index get-line-baseline neg - 1 index get-baseline % => Parent Child MaxBaseline Baseline - - 2 copy ge { - pop - 1 index put-baseline - } { - sub - 2 index get-line - { - dup get-baseline - 2 index sub - exch put-baseline - } forall - 2 index get-line-baseline - add - 2 index put-line-baseline % => Parent Child - } ifelse -} def -/vertical-align-baseline { % => Parent Child - 1 index get-line-baseline neg - 1 index get-baseline % => Parent Child MaxBaseline Baseline - - 2 copy ge { - pop - 1 index put-baseline - } { - sub - 2 index get-line - { - dup get-baseline - 2 index sub - exch put-baseline - } forall - 2 index get-line-baseline - add - 2 index put-line-baseline % => Parent Child - } ifelse -} def diff --git a/thirdparty/html2ps_pdf/postscript/viewport.ps b/thirdparty/html2ps_pdf/postscript/viewport.ps deleted file mode 100644 index cc0f6731b..000000000 --- a/thirdparty/html2ps_pdf/postscript/viewport.ps +++ /dev/null @@ -1,171 +0,0 @@ -/viewport-create { % => Box - << - /left 0 - /width 0 - /height 0 - /top 0 - /offset 0 - /page-offset 0 - /current-page 1 - /anchors << >> - >> % => Box Viewport - - 1 index get-left - 1 index exch - /left exch put - - 1 index get-top - 1 index exch - /top exch put - - 1 index /get-width call-method - 1 index exch - /width exch put - - 1 index get-height - 1 index exch - /height exch put - - exch pop -} def % => Viewport - -/viewport-draw-page-border { % => Viewport - newpath - 1 setlinewidth - 0 0 0 setrgbcolor - - dup viewport-get-left - 1 index viewport-get-bottom - moveto - - dup viewport-get-left - 1 index viewport-get-top - lineto - - dup viewport-get-right - 1 index viewport-get-top - lineto - - dup viewport-get-right - 1 index viewport-get-bottom - lineto - - closepath - - stroke - pop -} def - -/viewport-get-anchor { % => Viewport Name - 1 index /anchors get % => Viewport Name Anchors - dup 2 index known { % => Viewport Name Anchors - 1 index get % => Viewport Name AnchorData - } { - pop /null - } ifelse % => Viewport Name AnchorData - - exch pop - exch pop -} def - -/viewport-get-bottom { % => Viewport - dup /top get - 1 index /height get - sub - exch pop -} def - -/viewport-get-height { - /height get -} def - -/viewport-get-left { - /left get -} def - -/viewport-get-offset-delta { % => Viewport - /offset get -} def - -/viewport-get-page-offset { - /page-offset get -} def - -/viewport-get-right { % => Viewport - dup /left get - 1 index /width get - add - exch pop -} def - -/viewport-get-top { % => Viewport - dup /top get - exch pop -} def - -/viewport-init-page { % => Viewport - 0 1 index /page-offset get - translate - - 0 tmargin neg - translate - - pop -} def - -/viewport-next-page { % => Viewport - dup /page-offset get neg % => Viewport Offset - real-page-height sub % => Viewport Offset1 - 1 index /offset get add % => Viewport Offset2 - neg - - 1 index exch % => Viewport Viewport Offset2 - /page-offset exch put % => Viewport - - dup /top get - real-page-height sub % => Viewport Top' - 1 index /offset get add - 1 index exch - /top exch put - - dup /offset 0 put % => Viewport - -% Increase current page number - dup /current-page get 1 add - 1 index exch - /current-page exch put % => Viewport - - pop -} def - -/viewport-put-anchors { % => Data Viewport - exch /anchors exch put -} def - -/viewport-put-offset-delta { % => Delta Viewport - exch /offset exch put -} def - -/viewport-setup-clip { - dup viewport-get-left - 1 index viewport-get-bottom - moveto - - dup viewport-get-left - 1 index viewport-get-top - lineto - - dup viewport-get-right - 1 index viewport-get-top - lineto - - dup viewport-get-right - 1 index viewport-get-bottom - lineto - - closepath - clip - - pop -} def - diff --git a/thirdparty/html2ps_pdf/postscript/width.ps b/thirdparty/html2ps_pdf/postscript/width.ps deleted file mode 100644 index 2fc265a07..000000000 --- a/thirdparty/html2ps_pdf/postscript/width.ps +++ /dev/null @@ -1,61 +0,0 @@ -% $Header: /cvsroot/html2ps/postscript/width.ps,v 1.1 2005/12/18 07:21:39 Konstantin Exp $ - -/wc-apply { % => PW CW WC - dup /apply get exec -} def - -/wc-create-constant { % => Value - << - /type /constant - /value 4 index - /apply { % => ... PW CW This - /value get - exch pop - exch pop - } - /apply-inverse { - pop pop - } - >> - - exch pop -} def - -/wc-create-fraction { % => Value - << - /type /fraction - /fraction 4 index - /apply { % => ... PW CW This - /fraction get - exch pop - mul - } - /apply-inverse { % => ... PW CW This - /fraction get - dup 0 gt { - div exch pop - } { - pop pop pop 0 - } ifelse - } - >> - - exch pop -} def - -/wc-create-none { - << - /type /none - /apply { % => ... PW CW This - pop - exch pop % => ... CW - } - /apply-inverse { - pop pop - } - >> -} def - -/wc-is-fraction { % => WC - /type get /fraction eq -} def diff --git a/thirdparty/html2ps_pdf/ps.image.encoder.inc.php b/thirdparty/html2ps_pdf/ps.image.encoder.inc.php deleted file mode 100644 index 67c94a574..000000000 --- a/thirdparty/html2ps_pdf/ps.image.encoder.inc.php +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.image.encoder.simple.inc.php b/thirdparty/html2ps_pdf/ps.image.encoder.simple.inc.php deleted file mode 100644 index 9e50c60d0..000000000 --- a/thirdparty/html2ps_pdf/ps.image.encoder.simple.inc.php +++ /dev/null @@ -1,216 +0,0 @@ -solid($psdata, $src_img, $size_x, $size_y, $image, $mask); - $tcolor = 0; - return $id; - } else { - $id = $this->transparent($psdata, $src_img, $size_x, $size_y, $image, $mask); - $tcolor = 1; - return $id; - }; - } - - function solid($psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - $id = $this->generate_id(); - - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - $dest_img = imagecreatetruecolor($size_x, $size_y); - - imagecopymerge($dest_img, $src_img, 0, 0, 0, 0, $size_x, $size_y, 100); - - $ps_image_data = ""; - $ctr = 1; $row = 1; - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Image pixel - $rgb = ImageColorAt($dest_img, $x, $y); - $r = ($rgb >> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - $ps_image_data .= sprintf("\\%03o\\%03o\\%03o",$r,$g,$b); - - // Write image rows - $ctr++; - if ($ctr > MAX_IMAGE_ROW_LEN || ($x + 1 == $size_x)) { - $row_next = ($size_x - $x - 1 + $size_x * ($size_y - $y - 1) == 0) ? 1 : $row+1; - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-{$row_next} } def ({$ps_image_data}) } def\n"); - - $ps_image_data = ""; - $ctr = 1; $row += 1; - }; - }; - }; - - if ($ps_image_data) { - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-1 } def ({$ps_image_data}) } def\n"); - }; - - $psdata->write("/image-{$id}-data { row-{$id}-1 } def\n"); - $psdata->write("/image-{$id}-init { } def\n"); - - // return image and mask data references - $image = "{image-{$id}-data}"; - $mask = ""; - - return $id; - } - - function transparent($psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - $id = $this->generate_id(); - - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - $transparent = imagecolortransparent($src_img); - $dest_img = imagecreatetruecolor($size_x, $size_y); - - imagecopymerge($dest_img, $src_img, 0, 0, 0, 0, $size_x, $size_y, 100); - - $ps_image_data = ""; - $ps_mask_data = 0xff; - $ctr = 1; $row = 1; - - $handler =& CSS::get_handler(CSS_BACKGROUND_COLOR); - $background_color = $handler->get_visible_background_color(); - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Image pixel - $rgb = ImageColorAt($dest_img, $x, $y); - $r = ($rgb >> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - - // Mask pixel - if (ImageColorAt($src_img, $x, $y) == $transparent) { - $ps_mask_data = ($ps_mask_data << 1) | 0x1; - // Also, reset the image colors to the visible background to work correctly - // while using 'transparency hack' - $r = $background_color[0]; - $g = $background_color[1]; - $b = $background_color[2]; - } else { - $ps_mask_data = ($ps_mask_data << 1) | 0; - }; - - $ps_image_data .= sprintf("\\%03o\\%03o\\%03o",$r,$g,$b); - - // Write mask and image rows - $ctr++; - if ($ctr > MAX_TRANSPARENT_IMAGE_ROW_LEN || ($x + 1 == $size_x)) { - while ($ctr <= 8) { - $ps_mask_data <<= 1; - $ps_mask_data |= 1; - $ctr ++; - }; - - $ps_mask_data_str = sprintf("\\%03o",$ps_mask_data & 0xff); - - $row_next = ($size_x - $x - 1 + $size_x * ($size_y - $y - 1) == 0) ? 1 : $row+1; - - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-{$row_next} } def ({$ps_image_data}) } def\n"); - $psdata->write("/mrow-{$id}-{$row} { /mask-{$id}-data { mrow-{$id}-{$row_next} } def ({$ps_mask_data_str}) } def\n"); - - $ps_image_data = ""; - $ps_mask_data = 0xff; - $ctr = 1; $row += 1; - }; - }; - }; - - if ($ps_image_data) { - while ($ctr <= 8) { - $ps_mask_data <<= 1; - $ps_mask_data |= 1; - $ctr ++; - }; - $ps_mask_data_str = sprintf("\\%03o",$ps_mask_data & 0xFF); - - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-{$row_next} } def ({$ps_image_data}) } def\n"); - $psdata->write("/mrow-{$id}-{$row} { /mask-{$id}-data { mrow-{$id}-{$row_next} } def ({$ps_mask_data_str}) } def\n"); - }; - - $psdata->write("/image-{$id}-data { row-{$id}-1 } def\n"); - $psdata->write("/mask-{$id}-data { mrow-{$id}-1 } def\n"); - $psdata->write("/image-{$id}-init { } def\n"); - - // return image and mask data references - $image = "{image-{$id}-data}"; - $mask = "{mask-{$id}-data}"; - - return $id; - } - - function alpha($psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - $id = $this->generate_id(); - - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - - $ps_image_data = ""; - $ps_mask_data = 0xff; - $ctr = 1; $row = 1; - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Mask pixel - $colors = imagecolorsforindex($src_img, imagecolorat($src_img, $x, $y)); - - $a = $colors['alpha']; - $r = $colors['red']; - $g = $colors['green']; - $b = $colors['blue']; - - $handler =& CSS::get_handler(CSS_BACKGROUND_COLOR); - $bg = $handler->get_visible_background_color(); - $r = (int)($r + ($bg[0] - $r)*$a/127); - $g = (int)($g + ($bg[1] - $g)*$a/127); - $b = (int)($b + ($bg[2] - $b)*$a/127); - - $ps_image_data .= sprintf("\\%03o\\%03o\\%03o",$r,$g,$b); - - // Write mask and image rows - $ctr++; - if ($ctr > MAX_IMAGE_ROW_LEN || ($x + 1 == $size_x)) { - $row_next = ($size_x - $x - 1 + $size_x * ($size_y - $y - 1) == 0) ? 1 : $row+1; - - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-{$row_next} } def ({$ps_image_data}) } def\n"); - - $ps_image_data = ""; - $ctr = 1; $row += 1; - }; - }; - }; - - if ($ps_image_data) { - $psdata->write("/row-{$id}-{$row} { /image-{$id}-data { row-{$id}-{$row_next} } def ({$ps_image_data}) } def\n"); - }; - - $psdata->write("/image-{$id}-data { row-{$id}-1 } def\n"); - $psdata->write("/image-{$id}-init { } def\n"); - - // return image and mask data references - $image = "{image-{$id}-data}"; - $mask = ""; - - return $id; - } - -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.image.encoder.stream.inc.php b/thirdparty/html2ps_pdf/ps.image.encoder.stream.inc.php deleted file mode 100644 index 59ba4f95a..000000000 --- a/thirdparty/html2ps_pdf/ps.image.encoder.stream.inc.php +++ /dev/null @@ -1,51 +0,0 @@ -last_image_id ++; - return $this->last_image_id; - } - -} - -/** - * @created 24-mb-2006 20:56:23 - * @author Konstantin Bournayev - * @version 1.0 - * @updated 24-mb-2006 21:19:35 - */ -class PSImageEncoder -{ - - var $last_image_id; - - function __construct() - { - } - - - - /** - * Generates new unique image identifier - * @return generated identifier - */ - function generate_id() - { - } - -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.l2.image.encoder.stream.inc.php b/thirdparty/html2ps_pdf/ps.l2.image.encoder.stream.inc.php deleted file mode 100644 index 19f665c23..000000000 --- a/thirdparty/html2ps_pdf/ps.l2.image.encoder.stream.inc.php +++ /dev/null @@ -1,43 +0,0 @@ -> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - $line .= sprintf("%02X%02X%02X",min(max($r,0),255),min(max($g,0),255),min(max($b,0),255)); - - // Increate the line length counter; check if stream line needs to be terminated - $ctr += 6; - if ($ctr > MAX_LINE_LENGTH) { - $line .= "\n"; - $ctr = 0; - } - }; - - $lines[] = $line; - }; - - return $lines; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.l3.image.encoder.stream.inc.php b/thirdparty/html2ps_pdf/ps.l3.image.encoder.stream.inc.php deleted file mode 100644 index a00ac2b51..000000000 --- a/thirdparty/html2ps_pdf/ps.l3.image.encoder.stream.inc.php +++ /dev/null @@ -1,250 +0,0 @@ -last_image_id = 0; - } - - function auto(&$psdata, $src_img, &$size_x, &$size_y, &$tcolor, &$image, &$mask) { - if (imagecolortransparent($src_img) == -1) { - $id = $this->solid($psdata, $src_img, $size_x, $size_y, $image, $mask); - $tcolor = 0; - return $id; - } else { - $id = $this->transparent($psdata, $src_img, $size_x, $size_y, $image, $mask); - $tcolor = 1; - - return $id; - }; - } - - // Encodes "solid" image without any transparent parts - // - // @param $psdata (in) Postscript file "writer" object - // @param $src_img (in) PHP image resource - // @param $size_x (out) size of image in pixels - // @param $size_y (out) size of image in pixels - // @returns identifier if encoded image to use in postscript file - // - function solid(&$psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - // Generate an unique image id - $id = $this->generate_id(); - - // Determine image size and create a truecolor copy of this image - // (as we don't want to work with palette-based images manually) - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - $dest_img = imagecreatetruecolor($size_x, $size_y); - imagecopymerge($dest_img, $src_img, 0, 0, 0, 0, $size_x, $size_y, 100); - - // write stread header to the postscript file - $psdata->write("/image-{$id}-init { image-{$id}-data 0 setfileposition } def\n"); - $psdata->write("/image-{$id}-data currentfile << /Filter /ASCIIHexDecode >> /ReusableStreamDecode filter\n"); - - // initialize line length counter - $ctr = 0; - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Save image pixel to the stream data - $rgb = ImageColorAt($dest_img, $x, $y); - $r = ($rgb >> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - $psdata->write(sprintf("%02X%02X%02X",min(max($r,0),255),min(max($g,0),255),min(max($b,0),255))); - - // Increate the line length counter; check if stream line needs to be terminated - $ctr += 6; - if ($ctr > MAX_LINE_LENGTH) { - $psdata->write("\n"); - $ctr = 0; - } - }; - }; - - // terminate the stream data - $psdata->write(">\ndef\n"); - - // return image and mask data references - $image = "image-{$id}-data"; - $mask = ""; - - return $id; - } - - // Encodes image containing 100% transparent color (1-bit alpha channel) - // - // @param $psdata (in) Postscript file "writer" object - // @param $src_img (in) PHP image resource - // @param $size_x (out) size of image in pixels - // @param $size_y (out) size of image in pixels - // @returns identifier if encoded image to use in postscript file - // - function transparent(&$psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - // Generate an unique image id - $id = $this->generate_id(); - - // Store transparent color for further reference - $transparent = imagecolortransparent($src_img); - - // Determine image size and create a truecolor copy of this image - // (as we don't want to work with palette-based images manually) - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - $dest_img = imagecreatetruecolor($size_x, $size_y); - imagecopymerge($dest_img, $src_img, 0, 0, 0, 0, $size_x, $size_y, 100); - - // write stread header to the postscript file - $psdata->write("/image-{$id}-init { image-{$id}-data 0 setfileposition mask-{$id}-data 0 setfileposition } def\n"); - - // Create IMAGE data stream - $psdata->write("/image-{$id}-data currentfile << /Filter /ASCIIHexDecode >> /ReusableStreamDecode filter\n"); - - // initialize line length counter - $ctr = 0; - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Save image pixel to the stream data - $rgb = ImageColorAt($dest_img, $x, $y); - $r = ($rgb >> 16) & 0xFF; - $g = ($rgb >> 8) & 0xFF; - $b = $rgb & 0xFF; - - $psdata->write(sprintf("%02X%02X%02X",$r,$g,$b)); - - // Increate the line length counter; check if stream line needs to be terminated - $ctr += 6; - if ($ctr > MAX_LINE_LENGTH) { - $psdata->write("\n"); - $ctr = 0; - } - }; - }; - - // terminate the stream data - $psdata->write(">\ndef\n"); - - // Create MASK data stream - $psdata->write("/mask-{$id}-data currentfile << /Filter /ASCIIHexDecode >> /ReusableStreamDecode filter\n"); - - // initialize line length counter - $ctr = 0; - - // initialize mask bit counter - $bit_ctr = 0; - $mask_data = 0xff; - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Check if this pixel should be transparent - if (ImageColorAt($src_img, $x, $y) == $transparent) { - $mask_data = ($mask_data << 1) | 0x1; - } else { - $mask_data = ($mask_data << 1); - }; - $bit_ctr ++; - - // If we've filled the whole byte, write it into the mask data stream - if ($bit_ctr >= 8 || $x + 1 == $size_x) { - // Pad mask data, in case we have completed the image row - while ($bit_ctr < 8) { - $mask_data = ($mask_data << 1) | 0x01; - $bit_ctr ++; - }; - - $psdata->write(sprintf("%02X", $mask_data & 0xff)); - - // Clear mask data after writing - $mask_data = 0xff; - $bit_ctr = 0; - - // Increate the line length counter; check if stream line needs to be terminated - $ctr += 1; - if ($ctr > MAX_LINE_LENGTH) { - $psdata->write("\n"); - $ctr = 0; - } - }; - }; - }; - - // terminate the stream data - // Write any incomplete mask byte to the mask data stream - if ($bit_ctr != 0) { - while ($bit_ctr < 8) { - $mask_data <<= 1; - $mask_data |= 1; - $bit_ctr ++; - } - $psdata->write(sprintf("%02X", $mask_data)); - }; - $psdata->write(">\ndef\n"); - - // return image and mask data references - $image = "image-{$id}-data"; - $mask = "mask-{$id}-data"; - - return $id; - } - - function alpha(&$psdata, $src_img, &$size_x, &$size_y, &$image, &$mask) { - // Generate an unique image id - $id = $this->generate_id(); - - // Determine image size - $size_x = imagesx($src_img); - $size_y = imagesy($src_img); - - // write stread header to the postscript file - $psdata->write("/image-{$id}-init { image-{$id}-data 0 setfileposition } def\n"); - $psdata->write("/image-{$id}-data currentfile << /Filter /ASCIIHexDecode >> /ReusableStreamDecode filter\n"); - - // initialize line length counter - $ctr = 0; - - // Save visible background color - $handler =& CSS::get_handler(CSS_BACKGROUND_COLOR); - $bg = $handler->get_visible_background_color(); - - for ($y = 0; $y < $size_y; $y++) { - for ($x = 0; $x < $size_x; $x++) { - // Check color/alpha of current pixels - $colors = imagecolorsforindex($src_img, imagecolorat($src_img, $x, $y)); - - $a = $colors['alpha']; - $r = $colors['red']; - $g = $colors['green']; - $b = $colors['blue']; - - // Calculate approximate color - $r = (int)($r + ($bg[0] - $r)*$a/127); - $g = (int)($g + ($bg[1] - $g)*$a/127); - $b = (int)($b + ($bg[2] - $b)*$a/127); - - // Save image pixel to the stream data - $psdata->write(sprintf("%02X%02X%02X",$r,$g,$b)); - - // Increate the line length counter; check if stream line needs to be terminated - $ctr += 6; - if ($ctr > MAX_LINE_LENGTH) { - $psdata->write("\n"); - $ctr = 0; - } - }; - }; - - // terminate the stream data - $psdata->write(">\ndef\n"); - - // return image and mask data references - $image = "image-{$id}-data"; - $mask = ""; - - return $id; - } - -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.unicode.inc.php b/thirdparty/html2ps_pdf/ps.unicode.inc.php deleted file mode 100644 index 3e59f1377..000000000 --- a/thirdparty/html2ps_pdf/ps.unicode.inc.php +++ /dev/null @@ -1,47 +0,0 @@ - $value) { -// if ($value[1] == $psname) { -// return $value[0]; -// }; -// }; - -// return 0; -// }; - -$GLOBALS['g_encoding_aliases'] = array( - 'us-ascii' => 'iso-8859-1', - 'cp1250' => 'windows-1250', - 'cp1251' => 'windows-1251', - 'cp1252' => 'windows-1252' - ); - -$GLOBALS['g_utf8_converters'] = array( - 'iso-8859-1' => array($GLOBALS['g_iso_8859_1'],"ISO-8859-1-Encoding"), - 'iso-8859-2' => array($GLOBALS['g_iso_8859_2'],"ISO-8859-2-Encoding"), - 'iso-8859-3' => array($GLOBALS['g_iso_8859_3'],"ISO-8859-3-Encoding"), - 'iso-8859-4' => array($GLOBALS['g_iso_8859_4'],"ISO-8859-4-Encoding"), - 'iso-8859-5' => array($GLOBALS['g_iso_8859_5'],"ISO-8859-5-Encoding"), - 'iso-8859-6' => array($GLOBALS['g_iso_8859_6'],"ISO-8859-6-Encoding"), - 'iso-8859-7' => array($GLOBALS['g_iso_8859_7'],"ISO-8859-7-Encoding"), - 'iso-8859-8' => array($GLOBALS['g_iso_8859_8'],"ISO-8859-8-Encoding"), - 'iso-8859-9' => array($GLOBALS['g_iso_8859_9'],"ISO-8859-9-Encoding"), - 'iso-8859-10' => array($GLOBALS['g_iso_8859_10'],"ISO-8859-10-Encoding"), - 'iso-8859-11' => array($GLOBALS['g_iso_8859_11'],"ISO-8859-11-Encoding"), - 'iso-8859-13' => array($GLOBALS['g_iso_8859_13'],"ISO-8859-13-Encoding"), - 'iso-8859-14' => array($GLOBALS['g_iso_8859_14'],"ISO-8859-14-Encoding"), - 'iso-8859-15' => array($GLOBALS['g_iso_8859_15'],"ISO-8859-15-Encoding"), - 'koi8-r' => array($GLOBALS['g_koi8_r'],"KOI8-R-Encoding"), - 'cp866' => array($GLOBALS['g_cp866'],"CP-866"), - 'windows-1250' => array($GLOBALS['g_windows_1250'],"Windows-1250-Encoding"), - 'windows-1251' => array($GLOBALS['g_windows_1251'],"Windows-1251-Encoding"), - 'windows-1252' => array($GLOBALS['g_windows_1252'],"Windows-1252-Encoding"), - 'symbol' => array($GLOBALS['g_symbol'],"Symbol-Encoding"), - 'dingbats' => array($GLOBALS['g_dingbats'],"Dingbats-Encoding"), - ); -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.utils.inc.php b/thirdparty/html2ps_pdf/ps.utils.inc.php deleted file mode 100644 index 47e4f1571..000000000 --- a/thirdparty/html2ps_pdf/ps.utils.inc.php +++ /dev/null @@ -1,12 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/ps.whitespace.inc.php b/thirdparty/html2ps_pdf/ps.whitespace.inc.php deleted file mode 100644 index 2d8bf22b3..000000000 --- a/thirdparty/html2ps_pdf/ps.whitespace.inc.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/render.queue.class.php b/thirdparty/html2ps_pdf/render.queue.class.php deleted file mode 100644 index 1ccfcf6ab..000000000 --- a/thirdparty/html2ps_pdf/render.queue.class.php +++ /dev/null @@ -1,19 +0,0 @@ -set_root_context(null); - } - - function get_root_context() { - return $this->_root_context; - } - - function set_root_context(&$context) { - $this->_root_context =& $context; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/render.stacking.context.class.php b/thirdparty/html2ps_pdf/render.stacking.context.class.php deleted file mode 100644 index 8f099df2f..000000000 --- a/thirdparty/html2ps_pdf/render.stacking.context.class.php +++ /dev/null @@ -1,28 +0,0 @@ -set_stacking_levels(array()); - - $level =& new StackingLevel('in-flow-non-inline'); - $this->add_stacking_level($level); - - $level =& new StackingLevel('in-flow-floats'); - $this->add_stacking_level($level); - - $level =& new StackingLevel('in-flow-inline'); - $this->add_stacking_level($level); - } - - function get_stacking_levels() { - return $this->_stacking_levels; - } - - function set_stacking_levels($levels) { - $this->_stacking_levels = $levels; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/render.stacking.level.class.php b/thirdparty/html2ps_pdf/render.stacking.level.class.php deleted file mode 100644 index 0669aceb4..000000000 --- a/thirdparty/html2ps_pdf/render.stacking.level.class.php +++ /dev/null @@ -1,19 +0,0 @@ -set_boxes(array()); - } - - function get_boxes() { - return $this->_boxes; - } - - function set_boxes($boxes) { - $this->_boxes = $boxes; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.link.rendering.normal.php b/thirdparty/html2ps_pdf/strategy.link.rendering.normal.php deleted file mode 100644 index 765342743..000000000 --- a/thirdparty/html2ps_pdf/strategy.link.rendering.normal.php +++ /dev/null @@ -1,30 +0,0 @@ -getCSSProperty(CSS_HTML2PS_LINK_TARGET); - - /** - * Add interactive hyperlinks - */ - if (CSSPseudoLinkTarget::is_external_link($link_target)) { - $driver->add_link($box->get_left(), - $box->get_top(), - $box->get_width(), - $box->get_height(), - $link_target); - } elseif (CSSPseudoLinkTarget::is_local_link($link_target)) { - if (isset($driver->anchors[substr($link_target,1)])) { - $anchor = $driver->anchors[substr($link_target,1)]; - $driver->add_local_link($box->get_left(), - $box->get_top(), - $box->get_width(), - $box->get_height(), - $anchor); - }; - }; - } -} diff --git a/thirdparty/html2ps_pdf/strategy.position.absolute.php b/thirdparty/html2ps_pdf/strategy.position.absolute.php deleted file mode 100644 index c525123ec..000000000 --- a/thirdparty/html2ps_pdf/strategy.position.absolute.php +++ /dev/null @@ -1,84 +0,0 @@ -_get_containing_block(); - - $this->_positionAbsoluteVertically($box, $containing_block); - $this->_positionAbsoluteHorizontally($box, $containing_block); - } - - /** - * Note that if both top and bottom are 'auto', box will use vertical coordinate - * calculated using guess_corder in 'reflow' method which could be used if this - * box had 'position: static' - */ - function _positionAbsoluteVertically(&$box, &$containing_block) { - $bottom = $box->getCSSProperty(CSS_BOTTOM); - $top = $box->getCSSProperty(CSS_TOP); - - if (!$top->isAuto()) { - if ($top->isPercentage()) { - $top_value = ($containing_block['top'] - $containing_block['bottom']) / 100 * $top->getPercentage(); - } else { - $top_value = $top->getPoints(); - }; - $box->put_top($containing_block['top'] - $top_value - $box->get_extra_top()); - } elseif (!$bottom->isAuto()) { - if ($bottom->isPercentage()) { - $bottom_value = ($containing_block['top'] - $containing_block['bottom']) / 100 * $bottom->getPercentage(); - } else { - $bottom_value = $bottom->getPoints(); - }; - $box->put_top($containing_block['bottom'] + $bottom_value + $box->get_extra_bottom() + $box->get_height()); - }; - -// $bottom = $box->getCSSProperty(CSS_BOTTOM); -// $top = $box->getCSSProperty(CSS_TOP); -// if ($top->isAuto() && !$bottom->isAuto()) { -// $box->offset(0, $box->get_height()); -// }; - } - - /** - * Note that if both 'left' and 'right' are 'auto', box will use - * horizontal coordinate calculated using guess_corder in 'reflow' - * method which could be used if this box had 'position: static' - */ - function _positionAbsoluteHorizontally(&$box, &$containing_block) { - $left = $box->getCSSProperty(CSS_LEFT); - $right = $box->getCSSProperty(CSS_RIGHT); - - if (!$left->isAuto()) { - if ($left->isPercentage()) { - $left_value = ($containing_block['right'] - $containing_block['left']) / 100 * $left->getPercentage(); - } else { - $left_value = $left->getPoints(); - }; - $box->put_left($containing_block['left'] + $left_value + $box->get_extra_left()); - } elseif (!$right->isAuto()) { - if ($right->isPercentage()) { - $right_value = ($containing_block['right'] - $containing_block['left']) / 100 * $right->getPercentage(); - } else { - $right_value = $right->getPoints(); - }; - $box->put_left($containing_block['right'] - $right_value - $box->get_extra_right() - $box->get_width()); - }; - -// $right = $box->getCSSProperty(CSS_RIGHT); -// $left = $box->getCSSProperty(CSS_LEFT); -// if ($left->isAuto() && !$right->isAuto()) { -// $box->offset(-$box->get_width(), 0); -// }; - } -} - -?> diff --git a/thirdparty/html2ps_pdf/strategy.table.layout.auto.php b/thirdparty/html2ps_pdf/strategy.table.layout.auto.php deleted file mode 100644 index 71c699111..000000000 --- a/thirdparty/html2ps_pdf/strategy.table.layout.auto.php +++ /dev/null @@ -1,252 +0,0 @@ -get_width(); - return $this->table_columns_fit($table, $width, $context); - } - - function use_colspans(&$table, $widths, &$context, $width_fun, $minwc, $maxwc) { - $colspans = $table->get_colspans(); - - foreach ($colspans as $colspan) { - $cell = $table->content[$colspan->row]->content[$colspan->column]; - - // apply colspans to the corresponsing colspanned-cell dimension - // - $cell_width = $cell->$width_fun($context); - - // now select the pre-calculated widths of columns covered by this cell - // select the list of resizable columns covered by this cell - $spanned_widths = array(); - $spanned_resizable = array(); - - for ($i=$colspan->column; $i < $colspan->column+$colspan->size; $i++) { - $spanned_widths[] = $widths[$i]; - $spanned_resizable[] = ($minwc[$i] != $maxwc[$i]); - } - - // Sometimes we may encounter the colspan over the empty columns (I mean ALL columns are empty); in this case - // we need to make these columns reizable in order to fit colspanned cell contents - // - if (array_sum($spanned_widths) == 0) { - for ($i=0; $icolumn, $colspan->size, $spanned_widths); - }; - - return $widths; - } - - /** - * Fit table columns to the given width - */ - function table_columns_fit(&$table, $width, &$context) { - $minw = $table->get_table_columns_min_widths($context); - $maxw = $table->get_table_columns_max_widths($context); - - $minw = $this->use_colspans($table, $minw, $context, 'get_min_width', $minw, $maxw); - $maxw = $this->use_colspans($table, $maxw, $context, 'get_max_width', $minw, $maxw); - - // Store number of columns - $columns = count($minw); - - // Apply column width constraints - $minwc = array(); - $maxwc = array(); - - $cellpadding = $table->getCSSProperty(CSS_HTML2PS_CELLPADDING); - $cellspacing = $table->getCSSProperty(CSS_HTML2PS_CELLSPACING); - - for ($i=0; $iget_cwc($i); - - // Do not allow constrained max width be less than min width - // Do not allow constrained min width be less than min width - // - $table_width = $table->get_width(); - - $extra = 2*$cellpadding->getPoints() + $cellspacing->getPoints(); - - $minwc[$i] = max($minw[$i], $cwc->apply($minw[$i]-$extra, $table_width) + $extra); - $maxwc[$i] = max($minw[$i], $cwc->apply($maxw[$i]-$extra, $table_width) + $extra); - }; - - $minwc = $table->normalize_min_widths($width, $minw, $minwc); - $minwc = $table->_table_apply_colspans($minwc, $context, 'get_min_width', $minwc, $maxwc); - - // We need to normalize widths for the case of colspans width is too big; for example: - //
- // - // - // tag and fall to the 'process_row' - - // get the LAST tag before offset point; it should be the TD tag outside the row - preg_match("#<[^>]+>$#",substr($html,0,$offset),$matches); - - // Now 'matches' contains the bad TD tag (opening) - - // Insert the TR tag before the TD found - $html = substr_replace($html, "".$matches[0], $offset - strlen($matches[0]), strlen($matches[0])); - - // Restart row processing from the beginning of inserted TR (not inclusing the TR tag itself!, as it will cause the closing - // tag to be inserted automatically) - // - $r = process_row($html, $offset - strlen($matches[0]) + strlen("")); - - return $r; -}; - -function process_row(&$sample_html, $offset) { - return autoclose_tag_cleanup($sample_html, $offset, - "(td|th|thead|tbody|tfoot|tr|/table|/thead|/tbody|/tfoot|/tr)", - array("td" => "process_cell", - "th" => "process_header_cell"), - "/tr"); -}; - - -function process_rowgroup($group, &$sample_html, $offset) { - return autoclose_tag_cleanup($sample_html, $offset, - "(thead|tbody|tfoot|td|th|tr|/table|/{$group})", - array("tr" => "process_row", - "td" => "process_cell", - "th" => "process_header_cell"), - "/{$group}"); -} - -function process_thead(&$html, $offset) { return process_rowgroup('thead', $html, $offset); } -function process_tbody(&$html, $offset) { return process_rowgroup('tbody', $html, $offset); } -function process_tfoot(&$html, $offset) { return process_rowgroup('tfoot', $html, $offset); } - -function process_col(&$html, $offset) { - // As COL is self-closing tag, we just continue processing - return $offset; -} - -function process_col_without_colgroup(&$html, $offset) { - // Insert missing tag and fall to the 'process_colgroup' - - // get the LAST tag before offset point; it should be the COL tag outside the COLGROUP - preg_match("#<[^>]+>$#",substr($html,0,$offset),$matches); - - // Now 'matches' contains this COL tag (self-closing) - - // Insert the COLGROUP tag before the COL found - $sample_html = substr_replace($html, "".$matches[0], $offset - strlen($matches[0]), strlen($matches[0])); - - // Restart colgroup processing from the beginning of inserted COLGROUP - return process_colgroup($html, $offset - strlen($matches[0])); -} - -function process_colgroup(&$html, $offset) { - return autoclose_tag_cleanup($html, $offset, - "(col|colgroup|thead|tbody|tfoot|tr|td|th|/colgroup)", - array("col" => "process_col"), - "/colgroup"); -} - -function process_table(&$html, $offset) { - return autoclose_tag_cleanup($html, $offset, - "(col|colgroup|thead|tbody|tfoot|tr|td|th|/table)", - array("col" => "process_col_without_colgroup", - "colgroup" => "process_colgroup", - "thead" => "process_thead", - "tbody" => "process_tbody", - "tfoot" => "process_tfoot", - "tr" => "process_row", - "td" => "process_cell_without_row", - "th" => "process_cell_without_row"), - "/table"); -}; - -function process_tables(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, - "(table)", - array("table" => "process_table"), - ""); -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.utils.inc.php b/thirdparty/html2ps_pdf/xhtml.utils.inc.php deleted file mode 100644 index 24113694e..000000000 --- a/thirdparty/html2ps_pdf/xhtml.utils.inc.php +++ /dev/null @@ -1,483 +0,0 @@ -]*[^/>])?)>!si","\\1/>",$sample_html); -}; - -function make_attr_value($attr, $html) { - return preg_replace("#(<[^>]*\s){$attr}(\s|>|/>)#si","\\1{$attr}=\"{$attr}\"\\2",$html); -}; - - -function mk_open_tag_regexp($tag) { return "<\s*{$tag}(\s+[^>]*)?>"; }; -function mk_close_tag_regexp($tag) { return "<\s*/\s*{$tag}\s*>"; }; - -function process_html($html) { - $open = mk_open_tag_regexp("html"); - $close = mk_close_tag_regexp("html"); - - if (!preg_match("#{$open}#is",$html)) { - $html = "".$html; - }; - - /** - * Let's check if there's more than one tags inside the page text - * If there are, remove everything except the first one and content between the first and second - */ - while (preg_match("#{$open}(.*?){$open}#is", $html)) { - $html = preg_replace("#{$open}(.*?){$open}#is", "\\2", $html); - }; - - if (!preg_match("#{$close}#is", $html)) { - $html = $html.""; - }; - - // PHP 5.2.0 compatilibty issue - // preg_replace may accidentally return NULL on large files not matching this - $html = preg_replace("#.*({$open})#is","\\1",$html); - - // PHP 5.2.0 compatilibty issue - // preg_replace may accidentally return NULL on large files not matching this - - // Cut off all data before and after 'html' tag; unless we'll do it, - // the XML parser will die violently - $html = preg_replace("#^.*.*$#is","",$html); - - return $html; -} - -function process_head($html) { - $open = mk_open_tag_regexp("head"); - $close = mk_close_tag_regexp("head"); - $ohtml = mk_open_tag_regexp("html"); - $chtml = mk_close_tag_regexp("html"); - $obody = mk_open_tag_regexp("body"); - - if (!preg_match("#{$open}#is",$html)) { - $html = preg_replace("#({$ohtml})(.*)({$obody})#is","\\1\\3\\4",$html); - } elseif (!preg_match("#{$close}#is",$html)) { - if (preg_match("#{$obody}#is",$html)) { - $html = preg_replace("#({$obody})#is","\\1",$html); - } else { - $html = preg_replace("#({$chtml})#is","\\1",$html); - }; - }; - return $html; -} - -function process_body($html) { - $open = mk_open_tag_regexp("body"); - $close = mk_close_tag_regexp("body"); - $ohtml = mk_open_tag_regexp("html"); - $chtml = mk_close_tag_regexp("html"); - $chead = mk_close_tag_regexp("head"); - - if (!preg_match("#{$open}#is",$html)) { - if (preg_match("#{$chead}#is",$html)) { - $html = preg_replace("#({$chead})#is","\\1",$html); - } else { - $html = preg_replace("#({$ohtml})#is","\\1",$html); - }; - }; - if (!preg_match("#{$close}#is",$html)) { - $html = preg_replace("#({$chtml})#is","\\1",$html); - }; - - // Now check is there any data between and . - $html = preg_replace("#({$chead})(.+)({$open})#is","\\1\\3\\2",$html); - // Check if there's any data between and - $html = preg_replace("#({$close})(.+)({$chtml})#is","\\2\\1\\3",$html); - - return $html; -} - -// Hmmm. May be we'll just write SAX parser on PHP? ;-) -function fix_tags($html) { - $result = ""; - $tag_stack = array(); - - // these corrections can simplify the regexp used to parse tags - // remove whitespaces before '/' and between '/' and '>' in autoclosing tags - $html = preg_replace("#\s*/\s*>#is","/>",$html); - // remove whitespaces between '<', '/' and first tag letter in closing tags - $html = preg_replace("#<\s*/\s*#is","]*/>|<([a-z\d]+)[^>]*(?|]*>)#is",$html,$matches)) { - $result .= $matches[1]; - $html = substr($html, strlen($matches[0])); - - // Closing tag - if (isset($matches[5])) { - $tag = $matches[5]; - - if ($tag == $tag_stack[0]) { - // Matched the last opening tag (normal state) - // Just pop opening tag from the stack - array_shift($tag_stack); - $result .= $matches[2]; - } elseif (array_search($tag, $tag_stack)) { - // We'll never should close 'table' tag such way, so let's check if any 'tables' found on the stack - $no_critical_tags = !array_search('table',$tag_stack); - if (!$no_critical_tags) { - $no_critical_tags = (array_search('table',$tag_stack) >= array_search($tag, $tag_stack)); - }; - - if ($no_critical_tags) { - // Corresponding opening tag exist on the stack (somewhere deep) - // Note that we can forget about 0 value returned by array_search, becaus it is handled by previous 'if' - - // Insert a set of closing tags for all non-matching tags - $i = 0; - while ($tag_stack[$i] != $tag) { - $result .= " "; - $i++; - }; - - // close current tag - $result .= " "; - // remove it from the stack - array_splice($tag_stack, $i, 1); - // if this tag is not "critical", reopen "run-off" tags - $no_reopen_tags = array("tr","td","table","marquee","body","html"); - if (array_search($tag, $no_reopen_tags) === false) { - while ($i > 0) { - $i--; - $result .= "<{$tag_stack[$i]}> "; - }; - } else { - array_splice($tag_stack, 0, $i); - }; - }; - } else { - // No such tag found on the stack, just remove it (do nothing in out case, as we have to explicitly - // add things to result - }; - } elseif (isset($matches[4])) { - // Opening tag - $tag = $matches[4]; - array_unshift($tag_stack, $tag); - $result .= $matches[2]; - } else { - // Autoclosing tag; do nothing specific - $result .= $matches[2]; - }; - }; - - // Close all tags left - while (count($tag_stack) > 0) { - $tag = array_shift($tag_stack); - $result .= ""; - } - - return $result; -} - -/** - * This function adds quotes to attribute values; it attribute values already have quotes, no changes are made - */ -function quote_attrs($html) { - while (preg_match("!(<[^>]*)\s([^=>]+)=([^'\"\r\n >]+)([\r\n >])!si",$html, $matches)) { - $html = preg_replace("#(<[^>]*)\s([^=>]+)=([^'\"\r\n >]+)([\r\n >])#si","\\1 \\2='\\3'\\4",$html); - }; - return $html; -}; - -function escape_attr_value_entities($html) { - $html = str_replace("<","<",$html); - $html = str_replace(">",">",$html); - - // Replace all character references by their decimal codes - process_character_references($html); - $html = escape_amp($html); - return $html; -} - -/** - * Updates attribute values: if there's any unescaped <, > or & symbols inside an attribute value, - * replaces them with corresponding entity. Also note that & should not be escaped if it is already the part - * of entity reference - * - * @param String $html source HTML code - * @return String updated HTML code - */ -function escape_attrs_entities($html) { - $result = ""; - - // Regular expression may be described as follows: - // (<[^>]*) - something starting with < (i.e. tag name and, probably, some attribute name/values pairs - // \s([^\s=>]+)= - space after "something", followed by attribute name (which may contain anything except spaces, = and > signs - // (['\"])([^\3]*?)\3 - quoted attribute value; (@todo won't work with escaped quotes inside value, by the way). - while (preg_match("#^(.*)(<[^>]*)\s([^\s=>]+)=(['\"])([^\\4]*?)\\4(.*)$#si", $html, $matches)) { - $new_value = escape_attr_value_entities($matches[5]); - - $result .= $matches[1].$matches[2]." ".$matches[3]."=".$matches[4].$new_value.$matches[4]; - $html = $matches[6]; - }; - - return $result.$html; -}; - -function fix_attrs_spaces(&$html) { - while (preg_match("#(<[^>]*)\s([^\s=>]+)=\"([^\"]*?)\"([^\s])#si", $html)) { - $html = preg_replace("#(<[^>]*)\s([^\s=>]+)=\"([^\"]*?)\"([^\s])#si","\\1 \\2=\"\\3\" \\4",$html); - }; - - while (preg_match("#(<[^>]*)\s([^\s=>]+)='([^']*?)'([^\s])#si", $html)) { - $html = preg_replace("#(<[^>]*)\s([^\s=>]+)='([^']*?)'([^\s])#si","\\1 \\2='\\3' \\4",$html); - }; -} - -function fix_attrs_tag($tag) { - if (preg_match("#(<)(.*?)(/\s*>)#is",$tag, $matches)) { - $prefix = $matches[1]; - $suffix = $matches[3]; - $content = $matches[2]; - } elseif (preg_match("#(<)(.*?)(>)#is",$tag, $matches)) { - $prefix = $matches[1]; - $suffix = $matches[3]; - $content = $matches[2]; - } else { - return; - }; - - if (preg_match("#^\s*(\w+)\s*(.*)\s*/\s*\$#is", $content, $matches)) { - $tagname = $matches[1]; - $raw_attrs = isset($matches[2]) ? $matches[2] : ""; - } elseif (preg_match("#^\s*(\w+)\s*(.*)\$#is", $content, $matches)) { - $tagname = $matches[1]; - $raw_attrs = isset($matches[2]) ? $matches[2] : ""; - } else { - // A strange tag occurred; just remove everything - $tagname = ""; - $raw_attrs = ""; - }; - - $attrs = array(); - while (!empty($raw_attrs)) { - if (preg_match("#^\s*(\w+?)\s*=\s*\"(.*?)\"(.*)$#is",$raw_attrs,$matches)) { - $attr = strtolower($matches[1]); - $value = $matches[2]; - - if (!isset($attrs[$attr])) { - $attrs[$attr] = $value; - }; - - $raw_attrs = $matches[3]; - } elseif (preg_match("#^\s*(\w+?)\s*=\s*'(.*?)'(.*)$#is",$raw_attrs,$matches)) { - $attr = strtolower($matches[1]); - $value = $matches[2]; - - if (!isset($attrs[$attr])) { - $attrs[$attr] = $value; - }; - - $raw_attrs = $matches[3]; - } elseif (preg_match("#^\s*(\w+?)=(\w+)(.*)$#is",$raw_attrs,$matches)) { - $attr = strtolower($matches[1]); - $value = $matches[2]; - - if (!isset($attrs[$attr])) { - $attrs[$attr] = $value; - }; - - $raw_attrs = $matches[3]; - } elseif (preg_match("#^\s*\S+\s+(.*)$#is",$raw_attrs,$matches)) { - // Just a junk at the beginning; skip till the first space - $raw_attrs = $matches[1]; - } else { - $raw_attrs = ""; - }; - }; - - $str = ""; - foreach ($attrs as $key => $value) { - // In theory, if the garbage have been found inside the attrs section, we could get - // and invalid attribute name here; just ignore them in this case - if (HTML2PS_XMLUtils::valid_attribute_name($key)) { - if (strpos($value,'"') !== false) { - $str .= " ".$key."='".$value."'"; - } else { - $str .= " ".$key."=\"".$value."\""; - }; - }; - }; - - return $prefix.$tagname.$str.$suffix; -} - -function fix_attrs($html) { - $result = ""; - - while (preg_match("#^(.*?)(<[^/].*?>)#is",$html,$matches)) { - $result .= $matches[1].fix_attrs_tag($matches[2]); - $html = substr($html, strlen($matches[0])); - }; - - return $result.$html; -} - -function fix_closing_tags($html) { - return preg_replace("##","",$html); -} - -function process_pagebreak_commands(&$html) { - $html = preg_replace("#<\?page-break>|#","",$html); -} - -function xhtml2xhtml($html) { - process_pagebreak_commands($html); - - // Remove STYLE tags for the same reason and store them in the temporary variable - // later they will be added back to HEAD section - $styles = process_style($html); - - // Do HTML -> XML (XHTML) conversion - // Convert HTML character references to their Unicode analogues - process_character_references($html); - - remove_comments($html); - - // Convert all tags to lower case - $html = lowercase_tags($html); - $html = lowercase_closing_tags($html); - - // Remove SCRIPT tags - $html = process_script($html); - - $html = insert_styles($html, $styles); - - return $html; -} - -function html2xhtml($html) { - process_pagebreak_commands($html); - - // Remove SCRIPT tags from the page being processed, as script content may - // mess the firther html-parsing utilities - $html = process_script($html); - - // Remove STYLE tags for the same reason and store them in the temporary variable - // later they will be added back to HEAD section - $styles = process_style($html); - - // Convert HTML character references to their Unicode analogues - process_character_references($html); - - remove_comments($html); - - fix_attrs_spaces($html); - $html = quote_attrs($html); - $html = escape_attrs_entities($html); - - $html = lowercase_tags($html); - $html = lowercase_closing_tags($html); - - $html = fix_closing_tags($html); - - $html = close_tag("area",$html); - $html = close_tag("base",$html); - $html = close_tag("basefont",$html); - $html = close_tag("br",$html); - $html = close_tag("col",$html); - $html = close_tag("embed",$html); - $html = close_tag("frame",$html); - $html = close_tag("hr",$html); - $html = close_tag("img",$html); - $html = close_tag("input",$html); - $html = close_tag("isindex",$html); - $html = close_tag("link",$html); - $html = close_tag("meta",$html); - $html = close_tag("param",$html); - - $html = make_attr_value("checked",$html); - $html = make_attr_value("compact",$html); - $html = make_attr_value("declare",$html); - $html = make_attr_value("defer",$html); - $html = make_attr_value("disabled",$html); - $html = make_attr_value("ismap",$html); - $html = make_attr_value("multiple",$html); - $html = make_attr_value("nohref",$html); - $html = make_attr_value("noresize",$html); - $html = make_attr_value("noshade",$html); - $html = make_attr_value("nowrap",$html); - $html = make_attr_value("readonly",$html); - $html = make_attr_value("selected",$html); - - $html = process_html($html); - $html = process_body($html); - - $html = process_head($html); - $html = process_p($html); - - $html = escape_amp($html); - $html = escape_lt($html); - $html = escape_gt($html); - - $html = escape_textarea_content($html); - - process_tables($html,0); - - process_lists($html,0); - process_deflists($html,0); - process_selects($html,0); - - $html = fix_tags($html); - $html = fix_attrs($html); - - $html = insert_styles($html, $styles); - - return $html; -} - -function escape_textarea_content($html) { - preg_match_all('#(.*)<\s*/\s*textarea\s*>#Uis', $html, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); - - // Why cycle from the last to first match? - // It will keep unprocessed matches offsets valid, - // as escaped content may differ from original content in length, - for ($i = count($matches)-1; $i>=0; $i--) { - $match = $matches[$i]; - $match_offset = $match[2][1]; - $match_content = $match[2][0]; - $match_length = strlen($match_content); - $escaped_content = preg_replace('/&([^#])/', '&\1', - str_replace('>', '>', - str_replace('<', '<', $match_content))); - $html = substr_replace($html, $escaped_content, $match_offset, $match_length); - }; - - return $html; -} - -function lowercase_tags($html) { - $result = ""; - - while (preg_match("#^(.*?)(])#is",$html,$matches)) { - // Drop extracted part - $html = substr($html,strlen($matches[0])); - // Move extracted part to the result - $result .= $matches[1].$matches[2].strtolower($matches[3]).$matches[4]; - }; - - return $result.$html; -}; - -function lowercase_closing_tags($html) { - $result = ""; - - while (preg_match("#^(.*?)(<)([a-zA-z0-9]+)(\s*/\s*>)#is",$html,$matches)) { - // Drop extracted part - $html = substr($html,strlen($matches[0])); - // Move extracted part to the result - $result .= $matches[1].$matches[2].strtolower($matches[3]).$matches[4]; - }; - - return $result.$html; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xml.validation.inc.php b/thirdparty/html2ps_pdf/xml.validation.inc.php deleted file mode 100644 index c1a26b55a..000000000 --- a/thirdparty/html2ps_pdf/xml.validation.inc.php +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index 7fd9c9d63..d632bb816 100644 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -464,6 +464,17 @@ CLI::taskArg('caseNumberFrom', true); CLI::taskArg('caseNumberTo', true); CLI::taskRun('migrate_case_title_to_threads'); +/** + * Convert Output Documents generator from 'HTML2PDF' to 'TCPDF', because thirdparty related is obsolete and doesn't work over PHP 7.x. + */ +CLI::taskName('convert-out-docs-from-html2pdf-to-tcpdf'); +CLI::taskDescription(<<migrateCaseTitleToThreads($args); } + +/** + * Convert Output Documents generator from 'HTML2PDF' to 'TCPDF', because thirdparty related is obsolete and doesn't work over PHP 7.x. + * + * @param array $args + */ +function convert_out_docs_from_html2pdf_to_tcpdf($args) +{ + // The constructor requires an argument, so we send an empty value in order to use the class. + $workspaceTools = new WorkspaceTools(''); + $workspaceTools->convertOutDocsHtml2Ps2Pdf($args); +} diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php index b6ec6a83e..1c1d3ce2e 100644 --- a/workflow/engine/classes/WorkspaceTools.php +++ b/workflow/engine/classes/WorkspaceTools.php @@ -382,6 +382,11 @@ class WorkspaceTools $start = microtime(true); $this->migrateCaseTitleToThreads([$workspace]); CLI::logging("* End migrating case title...(Completed on " . (microtime(true) - $start) . " seconds)\n"); + + CLI::logging("* Start converting Output Documents from 'HTML2PDF' to 'TCPDF'...\n"); + $start = microtime(true); + $this->convertOutDocsHtml2Ps2Pdf([$workspace]); + CLI::logging("* End converting Output Documents from 'HTML2PDF' to 'TCPDF...(Completed on " . (microtime(true) - $start) . " seconds)\n"); } /** @@ -2281,6 +2286,11 @@ class WorkspaceTools $start = microtime(true); $workspace->migrateCaseTitleToThreads([$workspaceName]); CLI::logging("* End migrating case title...(Completed on " . (microtime(true) - $start) . " seconds)\n"); + + CLI::logging("* Start converting Output Documents from 'HTML2PDF' to 'TCPDF'...\n"); + $start = microtime(true); + $workspace->convertOutDocsHtml2Ps2Pdf([$workspaceName]); + CLI::logging("* End converting Output Documents from 'HTML2PDF' to 'TCPDF...(Completed on " . (microtime(true) - $start) . " seconds)\n"); } CLI::logging("> Start To Verify License Enterprise...\n"); @@ -5325,6 +5335,38 @@ class WorkspaceTools } } + /** + * Convert Output Documents generator from 'HTML2PDF' to 'TCPDF', because thirdparty related is obsolete and doesn't work over PHP 7.x + * @param array $args + */ + public function convertOutDocsHtml2Ps2Pdf(array $args) + { + // Define query + $query = " + UPDATE + `OUTPUT_DOCUMENT` + SET + `OUT_DOC_REPORT_GENERATOR` = 'TCPDF' + WHERE + `OUT_DOC_REPORT_GENERATOR` = 'HTML2PDF' + "; + + try { + // Set workspace constants and initialize DB connection + Bootstrap::setConstantsRelatedWs($args[0]); + Propel::init(PATH_CONFIG . 'databases.php'); + + // Execute the query + $statement = Propel::getConnection('workflow')->createStatement(); + $statement->executeQuery($query); + + CLI::logging("The report generator was updated to 'TCPDF' in OUTPUT_DOCUMENT table." . PHP_EOL); + } catch (Exception $e) { + // Display the error message + CLI::logging($e->getMessage() . PHP_EOL . PHP_EOL); + } + } + /** * Build the fields section for the insert query *
TEXTTEXT
- // in this case table SHOULD NOT be expanded over the 100px! - // - // $minwc = $table->normalize_min_widths($width, $minw, $minwc); - $maxwc = $table->_table_apply_colspans($maxwc, $context, 'get_max_width', $minwc, $maxwc); - - // Calculate actual widths - $widths = array(); - // Calculate widths for all constrained columns - for ($i=0; $i < $columns; $i++) { - if ($table->is_constrained_column($i)) { - $widths[$i] = $minwc[$i]; - } - } - - // Quick fix for overconstrained tables: if table have width attribute AND its value is less than sum - // of constrained columns widths plus minimal widths of uncostrained columns, then we'll expand the width of table - // to fit all columns - // 1. calculate sum of constrained column widths - // 2. calculate sum of unconstrained column minimal widths - $sum_cw = 0; - $sum_ucw = 0; - for ($i=0; $i < $columns; $i++) { - if ($table->is_constrained_column($i)) { - $sum_cw += $widths[$i]; - } else { - $sum_ucw += $minwc[$i]; - } - } - - // 3. compare these widths with the table width and choose the maximal value - $width = max($width, $sum_cw + $sum_ucw); - - // Second pass - disctribute the rest of the width - - // Explanation of the stuff below (I've really had problems with this small piece of code, especially - // when I was trying to fix "bugs" inside it) - // - // First of all, no column can be narrower than it minimal width (determined by its content) - // Note that constrained columns have their widths distributed above, so we can exclude them for now - // (just throw them out and imagine that table does not contain any width-constrained cols) - // - // Second, the relative widths of columns will have _appoximately_ the same ratio as - // their maximal content widths. (In exception of cases where the first rule will take place - - // say for the table containing two columns with the VERY long text in the first and one or two words - // in the second) - // - // In general, this approach can be inoptimal in case of _very_ different font sizes - // inside the cells, of, say big images; nevertheless, it will give a good approximate - // AND still fast enough (unlike fully correct methods involving evaluation of the content height of the cell) - // - // Thus, we do the following: - // - calculate the ratio of current column MAXIMAL ($current_max) width to the sum of MAXIMAL widths of all columns left - // (inluding current) second rule applied. Note that we need remember about column spans and select - // maxw or maxwc in order. - // - then check if the rest of width will be too small for other columns to fit and decrease current columns - // width (see MIN function call) - // - then check again if our width will be too small for current column to fit (and expand if nesessary) - - // MAX function call - for ($i=0; $i < $columns; $i++) { - if (!$table->is_constrained_column($i)) { - // Get undistributed width (total table width - width of constrained columns) - $rest = $width - array_sum($widths); - // get max width of column being processed - // If width is equal to zero, use max constrained width, as this column could be covered by colspan; - // If not, we lose nothing, because all constrained columns are already processed earlier, and no more - // columns except these two types can have different constrained and raw widths - $current_max = max($maxw[$i], $maxwc[$i]); - - // Get sum of maximal constrained widths of unplaced columns - $sum_max_cw = 0; - $sum_min_cw = 0; - for ($j=0; $j<$columns; $j++) { - if (!isset($widths[$j])) { - $sum_max_cw += max($maxw[$j], $maxwc[$j]); - $sum_min_cw += max($minw[$j], $minwc[$j]); - }; - }; - - // If some unplaced columns have maximal (constrained width) greater zero - if ($sum_max_cw > 0) { - $current_max = min($current_max * $rest / $sum_max_cw, $rest - $sum_min_cw + max($minwc[$i], $minw[$i])); - }; - - // Check for minimal width (either unconstrained or constrained) of current column - $current_max = max($current_max, $minw[$i] == 0 ? $minwc[$i] : $minw[$i]); - // Store calculated width - $widths[$i] = $current_max; - } - } - - // Process the case of a lone empty table cell (used, for example, for its background color) - // as we're using floating point numbers, we cannot use equals sign - if (array_sum($widths) < EPSILON) { - for ($i=0; $i
TEXT - // - // e.g. empty column (with zero width) and fixed-width column. - // - $wc = $table->getCSSProperty(CSS_WIDTH); - if (!$wc->isNull()) { - if (array_sum($widths) < $width) { - // Let's make zero-width columns - // non-zero width (so that they columd be expanded) and re-try expanding columns - // - for ($i=0; $iget_non_constrained_width_flags(); - if (!any_flag_set($flags)) { - $flags = $table->get_non_constant_constrained_width_flags(); - if (!any_flag_set($flags)) { - $flags = $table->get_non_image_constrained_width_flags(); - if (!any_flag_set($flags)) { - for ($i=0; $iput_full_width(array_sum($widths)); - - // Now we need to sort array by key keeping key-value associations in order for array_slice to work correctly - ksort($widths, SORT_NUMERIC); - - return $widths; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.table.layout.fixed.php b/thirdparty/html2ps_pdf/strategy.table.layout.fixed.php deleted file mode 100644 index 9492a36bf..000000000 --- a/thirdparty/html2ps_pdf/strategy.table.layout.fixed.php +++ /dev/null @@ -1,18 +0,0 @@ -get_width(); - $widths = array(); - for ($i = 0, $size = $table->cols_count(); $i < $size; $i++) { - $cwc =& $table->get_cwc($i); - $widths[] = $cwc->apply(0, $table->parent->get_width()); - }; - return $widths; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.width.absolute.positioned.php b/thirdparty/html2ps_pdf/strategy.width.absolute.positioned.php deleted file mode 100644 index 9fa9555fe..000000000 --- a/thirdparty/html2ps_pdf/strategy.width.absolute.positioned.php +++ /dev/null @@ -1,166 +0,0 @@ -_get_containing_block(); - $containing_block_width = $containing_block['right'] - $containing_block['left']; - - $right =& $box->getCSSProperty(CSS_RIGHT); - $left =& $box->getCSSProperty(CSS_LEFT); - $wc =& $box->getCSSProperty(CSS_WIDTH); - - // For the purposes of this section and the next, the term "static - // position" (of an element) refers, roughly, to the position an - // element would have had in the normal flow. More precisely: - // - // * The static position for 'left' is the distance from the left - // edge of the containing block to the left margin edge of a - // hypothetical box that would have been the first box of the - // element if its 'position' property had been 'static' and - // 'float' had been 'none'. The value is negative if the - // hypothetical box is to the left of the containing block. - // - // * The static position for 'right' is the distance from the - // right edge of the containing block to the right margin edge - // of the same hypothetical box as above. The value is positive - // if the hypothetical box is to the left of the containing - // block's edge. - // - // For the purposes of calculating the static position, the - // containing block of fixed positioned elements is the initial - // containing block instead of the viewport, and all scrollable - // boxes should be assumed to be scrolled to their origin. - // - // @todo: implement - $static_left = 0; - $static_right = 0; - - // Calculation of the shrink-to-fit width is similar to - // calculating the width of a table cell using the automatic table - // layout algorithm. Roughly: calculate the preferred width by - // formatting the content without breaking lines other than where - // explicit line breaks occur, and also calculate the preferred - // minimum width, e.g., by trying all possible line breaks. CSS - // 2.1 does not define the exact algorithm. Thirdly, calculate the - // available width: this is found by solving for 'width' after - // setting 'left' (in case 1) or 'right' (in case 3) to 0. - // - // Then the shrink-to-fit width is: min(max(preferred minimum - // width, available width), preferred width). - $preferred_minimum_width = $box->get_preferred_minimum_width($context); - $available_width = $containing_block_width - - ($left->isAuto() ? 0 : $left->getPoints($containing_block_width)) - - ($right->isAuto() ? 0 : $right->getPoints($containing_block_width)) - - $box->_get_hor_extra(); - $preferred_width = $box->get_preferred_width($context); - - $shrink_to_fit_width = min(max($preferred_minimum_width, - $available_width), - $preferred_width); - - // The constraint that determines the used values for these - // elements is: - // - // 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + - // 'width' + 'padding-right' + 'border-right-width' + - // 'margin-right' + 'right' + scrollbar width (if any) = width of - // containing block - - // If all three of 'left', 'width', and 'right' are 'auto': First - // set any 'auto' values for 'margin-left' and 'margin-right' to - // 0. Then, if the 'direction' property of the containing block is - // 'ltr' set 'left' to the static position and apply rule number - // three below; otherwise, set 'right' to the static position and - // apply rule number one below. - if ($left->isAuto() && $right->isAuto() && $wc->isNull()) { - // @todo: support 'direction' property for the containing block - $box->setCSSProperty(CSS_LEFT, ValueLeft::fromString('0')); - }; - - // If none of the three is 'auto': If both 'margin-left' and - // 'margin-right' are 'auto', solve the equation under the extra - // constraint that the two margins get equal values, unless this - // would make them negative, in which case when direction of the - // containing block is 'ltr' ('rtl'), set 'margin-left' - // ('margin-right') to zero and solve for 'margin-right' - // ('margin-left'). If one of 'margin-left' or 'margin-right' is - // 'auto', solve the equation for that value. If the values are - // over-constrained, ignore the value for 'left' (in case the - // 'direction' property of the containing block is 'rtl') or - // 'right' (in case 'direction' is 'ltr') and solve for that - // value. - if (!$left->isAuto() && !$right->isAuto() && !$wc->isNull()) { - // @todo: implement - $box->put_width($wc->apply($box->get_width(), - $containing_block_width)); - }; - - // Otherwise, set 'auto' values for 'margin-left' and - // 'margin-right' to 0, and pick the one of the following six - // rules that applies. - - // Case 1 ('left' and 'width' are 'auto' and 'right' is not - // 'auto', then the width is shrink-to-fit. Then solve for 'left') - if ($left->isAuto() && !$right->isAuto() && $wc->isNull()) { - $box->put_width($shrink_to_fit_width); - }; - - // Case 2 ('left' and 'right' are 'auto' and 'width' is not - // 'auto', then if the 'direction' property of the containing - // block is 'ltr' set 'left' to the static position, otherwise set - // 'right' to the static position. Then solve for 'left' (if - // 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').) - if ($left->isAuto() && $right->isAuto() && !$wc->isNull()) { - // @todo: implement 'direction' support - $box->put_width($wc->apply($box->get_width(), - $containing_block_width)); - }; - - // Case 3 ('width' and 'right' are 'auto' and 'left' is not - // 'auto', then the width is shrink-to-fit . Then solve for - // 'right') - if (!$left->isAuto() && $right->isAuto() && $wc->isNull()) { - $box->put_width($shrink_to_fit_width); - }; - - // Case 4 ('left' is 'auto', 'width' and 'right' are not 'auto', - // then solve for 'left') - if ($left->isAuto() && !$right->isAuto() && !$wc->isNull()) { - $box->put_width($wc->apply($box->get_width(), - $containing_block_width)); - }; - - // Case 5 ('width' is 'auto', 'left' and 'right' are not 'auto', - // then solve for 'width') - if (!$left->isAuto() && !$right->isAuto() && $wc->isNull()) { - $box->put_width($containing_block_width - - $left->getPoints($containing_block_width) - - $right->getPoints($containing_block_width)); - }; - - // Case 6 ('right' is 'auto', 'left' and 'width' are not 'auto', - // then solve for 'right') - if (!$left->isAuto() && $right->isAuto() && !$wc->isNull()) { - $box->put_width($wc->apply($box->get_width(), - $containing_block_width)); - }; - - /** - * After this we should remove width constraints or we may encounter problem - * in future when we'll try to call get_..._width functions for this box - * - * @todo Update the family of get_..._width function so that they would apply constraint - * using the containing block width, not "real" parent width - */ - $box->setCSSProperty(CSS_WIDTH, new WCConstant($box->get_width())); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.width.max.natural.php b/thirdparty/html2ps_pdf/strategy.width.max.natural.php deleted file mode 100644 index d44443e60..000000000 --- a/thirdparty/html2ps_pdf/strategy.width.max.natural.php +++ /dev/null @@ -1,87 +0,0 @@ -_limit = $limit; - } - - function add_width($delta) { - if ($this->_cmaxw + $delta > $this->_limit) { - $this->line_break(); - }; - $this->_cmaxw += $delta; - } - - function line_break() { - $this->_maxw = max($this->_maxw, $this->_cmaxw); - $this->_cmaxw = 0; - } - - function apply(&$box, &$context) { - $this->_maxw = 0; - - // We need to add text indent to the max width - $text_indent = $box->getCSSProperty(CSS_TEXT_INDENT); - $this->_cmaxw = $text_indent->calculate($box); - - for ($i=0, $size = count($box->content); $i<$size; $i++) { - $child =& $box->content[$i]; - - // Note that while BR-generated box is out of flow, - // it should break the current line - if ($child->isLineBreak()) { - $this->line_break(); - - } elseif (!$child->out_of_flow()) { - if (is_inline($child)) { - $this->add_width($child->get_max_width_natural($context, $this->_limit)); - - } elseif ($child->getCSSProperty(CSS_FLOAT) !== FLOAT_NONE) { - $wc = $child->getCSSProperty(CSS_WIDTH); - - if (!$wc->isFraction()) { - $delta = $child->get_max_width($context, $this->_limit); - } else { - $delta = $child->get_max_width_natural($context, $this->_limit); - }; - - $this->add_width($delta); - } else { - $this->_maxw = max($this->_maxw, $this->_cmaxw); - $this->_cmaxw = $child->get_max_width_natural($context, $this->_limit); - - // Process special case with percentage constrained table - $item = $child; - $item_wc = $item->getCSSProperty(CSS_WIDTH); - - if (is_a($item, "TableBox") && - $item_wc->isFraction()) { - if (isset($child->parent) && $child->parent) { - $this->_cmaxw = max($this->_cmaxw, - $item_wc->apply($child->get_width(), - $child->parent->get_expandable_width())); - } else { - $this->_cmaxw = max($this->_cmaxw, - $item_wc->apply($child->get_width(), - $child->get_width())); - }; - }; - - $this->line_break(); - }; - }; - } - - // Check if last line have maximal width - // - $this->_maxw = max($this->_maxw, $this->_cmaxw); - - return $this->_maxw + $box->_get_hor_extra(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.width.max.php b/thirdparty/html2ps_pdf/strategy.width.max.php deleted file mode 100644 index 73d2c1f3d..000000000 --- a/thirdparty/html2ps_pdf/strategy.width.max.php +++ /dev/null @@ -1,79 +0,0 @@ -_limit = $limit; - } - - function add_width($delta) { - if ($this->_cmaxw + $delta > $this->_limit) { - $this->line_break(); - }; - $this->_cmaxw += $delta; - } - - function line_break() { - $this->_maxw = max($this->_maxw, $this->_cmaxw); - $this->_cmaxw = 0; - } - - function apply(&$box, &$context) { - $this->_maxw = 0; - - // We need to add text indent to the max width - $text_indent = $box->getCSSProperty(CSS_TEXT_INDENT); - $this->_cmaxw = $text_indent->calculate($box); - - for ($i=0, $size = count($box->content); $i<$size; $i++) { - $child =& $box->content[$i]; - - if ($child->isLineBreak()) { - $this->line_break(); - - } elseif (!$child->out_of_flow()) { - if (is_inline($child) || - $child->getCSSProperty(CSS_FLOAT) !== FLOAT_NONE) { - $this->add_width($child->get_max_width($context, $this->_limit)); - } else { - $this->line_break(); - $this->add_width($child->get_max_width($context, $this->_limit)); - - // Process special case with percentage constrained table - $item_wc = $child->getCSSProperty(CSS_WIDTH); - - if (is_a($child, "TableBox") && - is_a($item_wc, "WCFraction")) { - $this->_cmaxw = max($this->_cmaxw, - $item_wc->apply($box->get_width(), - $box->parent->get_expandable_width())); - }; - $this->line_break(); - }; - }; - } - - // Check if last line have maximal width - // - $this->line_break(); - - // Note that max width cannot differ from constrained width, - // if any width constraints apply - // - $wc = $box->getCSSProperty(CSS_WIDTH); - if ($wc->applicable($box)) { - if ($box->parent) { - $this->_maxw = $wc->apply($this->_maxw, $box->parent->get_width()); - } else { - $this->_maxw = $wc->apply($this->_maxw, $this->_maxw); - }; - }; - - return $this->_maxw + $box->_get_hor_extra(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.width.min.nowrap.php b/thirdparty/html2ps_pdf/strategy.width.min.nowrap.php deleted file mode 100644 index 8e0757e72..000000000 --- a/thirdparty/html2ps_pdf/strategy.width.min.nowrap.php +++ /dev/null @@ -1,52 +0,0 @@ -_cmaxw += $delta; - } - - function line_break() { - $this->_maxw = max($this->_maxw, $this->_cmaxw); - $this->_cmaxw = 0; - } - - function apply(&$box, &$context) { - $this->_maxw = 0; - - // We need to add text indent to the width - $ti = $box->getCSSProperty(CSS_TEXT_INDENT); - $this->add_width($ti->calculate($box)); - - for ($i=0, $size = count($box->content); $i<$size; $i++) { - $child =& $box->content[$i]; - if ($child->isLineBreak()) { - $this->line_break(); - } elseif (!$child->out_of_flow()) { - if (is_inline($child)) { - // Inline boxes content will not be wrapped, so we may calculate its max width - $this->add_width($child->get_max_width($context)); - } else { - // Non-inline boxes cause line break - $this->line_break(); - $this->add_width($child->get_min_width($context)); - $this->line_break(); - } - }; - } - - // Check if last line have maximal width - $this->line_break(); - - // Apply width constraint to min width. Return maximal value - $wc = $box->getCSSProperty(CSS_WIDTH); - return max($this->_maxw, $wc->apply($this->_maxw, $box->parent->get_width())) + $box->_get_hor_extra(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/strategy.width.min.php b/thirdparty/html2ps_pdf/strategy.width.min.php deleted file mode 100644 index 75de8bd91..000000000 --- a/thirdparty/html2ps_pdf/strategy.width.min.php +++ /dev/null @@ -1,79 +0,0 @@ -_cmaxw += $delta; - } - - function line_break() { - $this->_maxw = max($this->_maxw, $this->_cmaxw); - $this->_cmaxw = 0; - } - - function apply(&$box, &$context) { - $content_size = count($box->content); - - /** - * If box does not have any context, its minimal width is determined by extra horizontal space: - * padding, border width and margins - */ - if ($content_size == 0) { - $min_width = $box->_get_hor_extra(); - return $min_width; - }; - - /** - * If we're in 'nowrap' mode, minimal and maximal width will be equal - */ - $white_space = $box->getCSSProperty(CSS_WHITE_SPACE); - $pseudo_nowrap = $box->getCSSProperty(CSS_HTML2PS_NOWRAP); - if ($white_space == WHITESPACE_NOWRAP || - $pseudo_nowrap == NOWRAP_NOWRAP) { - $min_width = $box->get_min_nowrap_width($context); - return $min_width; - } - - /** - * We need to add text indent size to the with of the first item - */ - $start_index = 0; - while ($start_index < $content_size && - $box->content[$start_index]->out_of_flow()) { - $start_index++; - }; - - if ($start_index < $content_size) { - $ti = $box->getCSSProperty(CSS_TEXT_INDENT); - $minw = - $ti->calculate($box) + - $box->content[$start_index]->get_min_width($context); - } else { - $minw = 0; - }; - - for ($i=$start_index; $i<$content_size; $i++) { - $item =& $box->content[$i]; - if (!$item->out_of_flow()) { - $minw = max($minw, $item->get_min_width($context)); - }; - }; - - /** - * Apply width constraint to min width. Return maximal value - */ - $wc = $box->getCSSProperty(CSS_WIDTH); - $containing_block = $box->_get_containing_block(); - - $min_width = max($minw, - $wc->apply($minw, $containing_block['right'] - $containing_block['left'])) + $box->_get_hor_extra(); - return $min_width; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs._.inc.php b/thirdparty/html2ps_pdf/stubs._.inc.php deleted file mode 100644 index 4c790e2da..000000000 --- a/thirdparty/html2ps_pdf/stubs._.inc.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs.common.inc.php b/thirdparty/html2ps_pdf/stubs.common.inc.php deleted file mode 100644 index a17483b89..000000000 --- a/thirdparty/html2ps_pdf/stubs.common.inc.php +++ /dev/null @@ -1,24 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs.file_get_contents.inc.php b/thirdparty/html2ps_pdf/stubs.file_get_contents.inc.php deleted file mode 100644 index e0b88e3f0..000000000 --- a/thirdparty/html2ps_pdf/stubs.file_get_contents.inc.php +++ /dev/null @@ -1,12 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs.file_put_contents.inc.php b/thirdparty/html2ps_pdf/stubs.file_put_contents.inc.php deleted file mode 100644 index 249aea7ef..000000000 --- a/thirdparty/html2ps_pdf/stubs.file_put_contents.inc.php +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs.is_executable.inc.php b/thirdparty/html2ps_pdf/stubs.is_executable.inc.php deleted file mode 100644 index 9b7ad7ba1..000000000 --- a/thirdparty/html2ps_pdf/stubs.is_executable.inc.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/stubs.memory_get_usage.inc.php b/thirdparty/html2ps_pdf/stubs.memory_get_usage.inc.php deleted file mode 100644 index f96841669..000000000 --- a/thirdparty/html2ps_pdf/stubs.memory_get_usage.inc.php +++ /dev/null @@ -1,28 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.body.inc.php b/thirdparty/html2ps_pdf/tag.body.inc.php deleted file mode 100644 index 675ebaa3c..000000000 --- a/thirdparty/html2ps_pdf/tag.body.inc.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.font.inc.php b/thirdparty/html2ps_pdf/tag.font.inc.php deleted file mode 100644 index a73a7f570..000000000 --- a/thirdparty/html2ps_pdf/tag.font.inc.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.frame.inc.php b/thirdparty/html2ps_pdf/tag.frame.inc.php deleted file mode 100644 index f25801a89..000000000 --- a/thirdparty/html2ps_pdf/tag.frame.inc.php +++ /dev/null @@ -1,111 +0,0 @@ - 0) { - $part_size = $rest / $parts; - - for ($i = 0; $i < count($lengths); $i++) { - $length = $lengths[$i]; - - if (substr($length,strlen($length)-1,1) == "*") { - $values[$i] = $part_size * max(1,substr($length,0,strlen($length)-1)); - }; - }; - }; - - // Fix over/underconstrained framesets - $width = array_sum($values); - - if ($width > 0) { - $koeff = $total / $width; - for($i = 0; $i < count($values); $i++) { - $values[$i] *= $koeff; - }; - }; - - return $values; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.img.inc.php b/thirdparty/html2ps_pdf/tag.img.inc.php deleted file mode 100644 index 1bb094e2d..000000000 --- a/thirdparty/html2ps_pdf/tag.img.inc.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.input.inc.php b/thirdparty/html2ps_pdf/tag.input.inc.php deleted file mode 100644 index fc8b9dadc..000000000 --- a/thirdparty/html2ps_pdf/tag.input.inc.php +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.select.inc.php b/thirdparty/html2ps_pdf/tag.select.inc.php deleted file mode 100644 index e8ed0e151..000000000 --- a/thirdparty/html2ps_pdf/tag.select.inc.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.span.inc.php b/thirdparty/html2ps_pdf/tag.span.inc.php deleted file mode 100644 index c6f441012..000000000 --- a/thirdparty/html2ps_pdf/tag.span.inc.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.table.inc.php b/thirdparty/html2ps_pdf/tag.table.inc.php deleted file mode 100644 index 98ba017a5..000000000 --- a/thirdparty/html2ps_pdf/tag.table.inc.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.td.inc.php b/thirdparty/html2ps_pdf/tag.td.inc.php deleted file mode 100644 index 478f5cce7..000000000 --- a/thirdparty/html2ps_pdf/tag.td.inc.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/tag.utils.inc.php b/thirdparty/html2ps_pdf/tag.utils.inc.php deleted file mode 100644 index 258307c21..000000000 --- a/thirdparty/html2ps_pdf/tag.utils.inc.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/temp/readme.txt b/thirdparty/html2ps_pdf/temp/readme.txt deleted file mode 100644 index e9bec3a90..000000000 --- a/thirdparty/html2ps_pdf/temp/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This folder should be writable. \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/templates/cannot_parse.html b/thirdparty/html2ps_pdf/templates/cannot_parse.html deleted file mode 100644 index 54dd0bedc..000000000 --- a/thirdparty/html2ps_pdf/templates/cannot_parse.html +++ /dev/null @@ -1,56 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error

-

Could not parse document you've specified; the code caused critical XML parser error. -If you're sure you have valid HTML/XHTML code, please report this behaviour as a bug. - -

This script makes an attempt to convert your document to valid XHTML code which can be parsed -by freely available XML parsers. It is able to detect and fix mismatching tags, malformed attributes -and unescaped characters having special meanining in HTML. Nevertheless, not all pages -displaying in such powerful browsers like IE and FireFox, could be fixed; in such case, please -use code validator and fix critical errors. - -

Rarely, you can face a bug in HTML-to-XHTML conversion routines preventing the valid code to be parsed. -In this case you can disable this behaviour completely by setting html2xhtml parameter -("Do not use conversion, input is valid XHTML") to some value. In this case, your code - will be passed to XML parser as-is. - - diff --git a/thirdparty/html2ps_pdf/templates/error._connection.tpl b/thirdparty/html2ps_pdf/templates/error._connection.tpl deleted file mode 100644 index b75c533c3..000000000 --- a/thirdparty/html2ps_pdf/templates/error._connection.tpl +++ /dev/null @@ -1,16 +0,0 @@ -

Connection error

-

Could not open URL you've specified.

- - - -

Server responded with: -

-
-
-

- - - -

No response from server

- - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/templates/error._footer.tpl b/thirdparty/html2ps_pdf/templates/error._footer.tpl deleted file mode 100644 index 52d8b697b..000000000 --- a/thirdparty/html2ps_pdf/templates/error._footer.tpl +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/thirdparty/html2ps_pdf/templates/error._header.tpl b/thirdparty/html2ps_pdf/templates/error._header.tpl deleted file mode 100644 index b7ece58e4..000000000 --- a/thirdparty/html2ps_pdf/templates/error._header.tpl +++ /dev/null @@ -1,40 +0,0 @@ - - -html2ps/html2pdf error message - - - diff --git a/thirdparty/html2ps_pdf/templates/error._http.tpl b/thirdparty/html2ps_pdf/templates/error._http.tpl deleted file mode 100644 index b0fa76b3c..000000000 --- a/thirdparty/html2ps_pdf/templates/error._http.tpl +++ /dev/null @@ -1,7 +0,0 @@ -

HTTP error

-

Could not open URL you've specified. - -

Server responded with: -

-
-
diff --git a/thirdparty/html2ps_pdf/templates/error._missing_afm.tpl b/thirdparty/html2ps_pdf/templates/error._missing_afm.tpl deleted file mode 100644 index cd8024aae..000000000 --- a/thirdparty/html2ps_pdf/templates/error._missing_afm.tpl +++ /dev/null @@ -1,47 +0,0 @@ -

Error: missing font metrics file

-

-Font metric file for font missing. You must have AFM font metric files intalled on your server -in order to use the PS output method. Metric files may be taken from Ghostscript distribution. (Note that you do NOT need -the Ghostscript itself). -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProblemSolution
Metric files are not installed on your server -Install either ghostscript-fonts or any other Type1 font package containing metric files. Edit -.html2ps.config and config.inc.php to point to installed metric files. -
The TYPE1_FONTS_REPOSITORY points to incorrect directory.Edit config.inc.php; set the value of TYPE1_FONTS_REPOSITORY to directory where your font metric files reside.
You have no requested metric file. -Probably you're using non-standard font package. HTML2PS is configured to work with fonts distributed with Ghostscript out-of-the-box. -If you're using other fonts, edit .html2ps.config. metrics items should contain names of metric files you're using. -
You've forgot to register the AFM metric file for this font. -Register the metric file according to the HOWTO: Install custom fonts. -
AFM file is not readable by the script. -Check if AFM file permissions allow this file to be read by all user accouts (or, at least, the user accout PHP is running on). -
PHP safe_mode open_base_dir restriction prevents AFM file to be opened. -Copy AFM files to any available directory under the 'open_base_dir'. An alternative approach is to disable 'safe_mode'. -
diff --git a/thirdparty/html2ps_pdf/templates/error._no_fetchers.tpl b/thirdparty/html2ps_pdf/templates/error._no_fetchers.tpl deleted file mode 100644 index 4a414498d..000000000 --- a/thirdparty/html2ps_pdf/templates/error._no_fetchers.tpl +++ /dev/null @@ -1,6 +0,0 @@ -

Pipeline contains no fetcher objects!

- -Please add at least one fetcher object to the pipeline, using the following code: -
-$pipeline->fetchers[] = new FetcherURL();
-
diff --git a/thirdparty/html2ps_pdf/templates/error._redirects.tpl b/thirdparty/html2ps_pdf/templates/error._redirects.tpl deleted file mode 100644 index 09e6c282a..000000000 --- a/thirdparty/html2ps_pdf/templates/error._redirects.tpl +++ /dev/null @@ -1,3 +0,0 @@ -

Too many redirects

-

Could not open URL you've specified.

-

This problem may arise on some servers requiring cookies support.

diff --git a/thirdparty/html2ps_pdf/templates/error_exec.tpl b/thirdparty/html2ps_pdf/templates/error_exec.tpl deleted file mode 100644 index fd738acfd..000000000 --- a/thirdparty/html2ps_pdf/templates/error_exec.tpl +++ /dev/null @@ -1,70 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error during 'exec'

-

-Error executing the following command:
-. -

- - - - - - - - - - - - - - - - - - - - -
ProblemSolution
'exec' function is disabled (please note that it have nothing to do with the PHP safe mode; -particular functions can be disabled even when safe mode is OFF).Enable 'exec' function in your php.ini (refer your PHP manual or www.php.net for exact instructions)
Executable is missing on your server.Check and update paths to executable files in script configuration
Script cannot find path to your executable in system PATH variable.Check PATH variable. Please take into account that PHP may run under different user account than yours, so it may have its own PATH value. -Do not forget to restart Apache after you've made changes to system variables.
safe_mode is On and executable is not in your safe_mode_exec_dir.Disable safe_mode OR update safe_mode_exec_dir value OR move the executable (and, most probably, its dependent files) to safe_mode_exec_dir.
- - diff --git a/thirdparty/html2ps_pdf/templates/missing_exec.html b/thirdparty/html2ps_pdf/templates/missing_exec.html deleted file mode 100644 index abae5add0..000000000 --- a/thirdparty/html2ps_pdf/templates/missing_exec.html +++ /dev/null @@ -1,64 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error

-

-'exec' function is disabled in your PHP configuration. -You will not be able to generate PDF using -PDF (Ghostscript, level 1.2) -or PDF (Ghostscript, level 1.4) output methods, as these output methods -require GNU Ghostscript or AFPL Ghoscript executables to be run on your server. -

- - - - - - - - - - - -
ProblemSolution
'exec' function is disabled (please note that it have nothing to do with the PHP safe mode; -particular functions can be disabled even when safe mode is OFF).Enable 'exec' function in your php.ini (refer your PHP manual or www.php.net for exact instructions) -
Try using output methods not requiring running executables on your server.
- - diff --git a/thirdparty/html2ps_pdf/templates/missing_gs.html b/thirdparty/html2ps_pdf/templates/missing_gs.html deleted file mode 100644 index 84d5791d9..000000000 --- a/thirdparty/html2ps_pdf/templates/missing_gs.html +++ /dev/null @@ -1,94 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error

-

-Ghostscript executable not found. You will not be able to generate PDF using -PDF (Ghostscript, level 1.2) -or PDF (Ghostscript, level 1.4) options, as these output methods -require GNU Ghostscript or AFPL Ghoscript to be installed on your server. -

- - - - - - - - - - - - - - - - - - - - - - -
ProblemSolution
Ghostscript not installed on your serverInstall Ghostscript 7.xx or 8.xx yourself or ask your system administrator. -Please note that if you're using some kind of package manager, you'll need both -'ghostscript' and 'ghostscript-fonts' packages for PDF generation (some ghostscript -distributions do include fonts; some don't). -
Installed Ghostscript executable have a non-standard nameModify GS_PATH -configuration variable to match the real name -of Ghostscript executable. Say, if you're using -Windows-based server, you probably have Ghostscript executable named -gswin32c.exe instead of more common gs; in this case, -set the value of GS_PATH -to 'gswin32c.exe' (NOT gswin32.exe!)
System search path does not include path to Ghostscript executable.Either modify the system search path, or provide full path -to Ghostscript executable; for example, set the -GS_PATH value -to '/usr/local/bin/gs' (or whatever the real path to Ghostscript -on your server is). Please note the difference between your user -profile and user profile PHP is running under! While you may have Ghostscript -on your default search path, nobody or apache (or whatever the -name of system account running web server is) may have different search path not -inluding the ghostscript directory.
You're using PHP in safe mode and Ghostscript is not on -your safe_mode_exec_dir (please, refer to your PHP documentation -or www.php.net for explanation of these terms).Turn PHP safe mode off yourself or ask your system administrator. -
Add path to Ghostscript executable to your safe_mode_exec_dir PHP configuration -variable (or ask your system administrator to do it)
- - diff --git a/thirdparty/html2ps_pdf/templates/missing_pdflib.html b/thirdparty/html2ps_pdf/templates/missing_pdflib.html deleted file mode 100644 index 6429f953a..000000000 --- a/thirdparty/html2ps_pdf/templates/missing_pdflib.html +++ /dev/null @@ -1,85 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error

-

-PDFLIB PHP extension not found. You will not be able to generate PDF using 'PDFLIB' output method, as -it requires PDFLIB PHP extension. -

- - - - - - - - - - - - - - - - - - - - - - -
ProblemSolution
PDFLIB extension not installed on your computerInstall PDFLIB extension yourself or ask your system administrator. Note that this extension can be loaded dynamically if -your PHP configuration allows it.
Try using another PDF output methods
-You have PDFLIB extension, but it is not loaded dynamically; you're getting warning message -"Warning: dl(): Not supported in multithreaded Web servers - use extension statements in your php.ini in ..." - -You're using multithreaded Web server; in this case you should either add PDF extension to php.ini to be loaded statically, or -switch to CGI version of PHP (or possibly change your HTTP server, if possible). -
-You have PDFLIB extension, but it is not loaded dynamically. No specific warning messages." - -Probably you have non-standard name of this extension; by default, the script searches for 'php_pdf.dll' on Windows and -'pdflib.so' on *nix. Check if your extension have the same name. -
-You have PDFLIB PHP interface, but PDFLIB is missing or placed into directory where system cannot locate it; -check if you have both parts of the PDFLIB package. -
- - diff --git a/thirdparty/html2ps_pdf/templates/missing_url_fopen.html b/thirdparty/html2ps_pdf/templates/missing_url_fopen.html deleted file mode 100644 index 2bab32799..000000000 --- a/thirdparty/html2ps_pdf/templates/missing_url_fopen.html +++ /dev/null @@ -1,58 +0,0 @@ - - -html2ps/html2pdf error message - - - -

Error

-

-allow_url_fopen oprions is disabled in your PHP configuration. -You will not be able to use this script, as it uses fopen PHP function -to fetch HTML pages. -

- - - - - - - - - -
ProblemSolution
allow_url_fopen is disabledSet allow_url_fopen to On in your php.ini (refer your PHP manual or www.php.net for exact instructions)
- - diff --git a/thirdparty/html2ps_pdf/tree.navigation.inc.php b/thirdparty/html2ps_pdf/tree.navigation.inc.php deleted file mode 100644 index 9ab6e553d..000000000 --- a/thirdparty/html2ps_pdf/tree.navigation.inc.php +++ /dev/null @@ -1,49 +0,0 @@ -node_type()) { - case XML_DOCUMENT_NODE: - $child =& $root->first_child(); - while($child) { - $body =& traverse_dom_tree_pdf($child); - if ($body) { - return $body; - } - $child =& $child->next_sibling(); - }; - break; - case XML_ELEMENT_NODE: - if (strtolower($root->tagname()) == "body") { - return $root; - } - - $child =& $root->first_child(); - while ($child) { - $body =& traverse_dom_tree_pdf($child); - if ($body) { - return $body; - } - $child =& $child->next_sibling(); - }; - - $null = null; - return $null; - default: - $null = null; - return $null; - } -}; - -function dump_tree(&$box, $level) { - print(str_repeat(" ", $level)); - print(get_class($box).":".$box->uid."\n"); - - if (isset($box->content)) { - for ($i=0; $icontent); $i++) { - dump_tree($box->content[$i], $level+1); - }; - }; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/treebuilder.class.php b/thirdparty/html2ps_pdf/treebuilder.class.php deleted file mode 100644 index 5261041a6..000000000 --- a/thirdparty/html2ps_pdf/treebuilder.class.php +++ /dev/null @@ -1,48 +0,0 @@ -",$xmlstring); - - // in decimal form - while (preg_match("@&#(\d+);@",$xmlstring, $matches)) { - $xmlstring = preg_replace("@&#".$matches[1].";@",code_to_utf8($matches[1]),$xmlstring); - }; - // in hexadecimal form - while (preg_match("@&#x(\d+);@i",$xmlstring, $matches)) { - $xmlstring = preg_replace("@&#x".$matches[1].";@i",code_to_utf8(hexdec($matches[1])),$xmlstring); - }; - - $tree = ActiveLinkDOMTree::from_XML(new XML_($xmlstring)); - - return $tree; - } - die("None of DOM/XML, DOM or ActiveLink DOM extension found. Check your PHP configuration."); - } -}; -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_array.php b/thirdparty/html2ps_pdf/utils_array.php deleted file mode 100644 index c47ae98d8..000000000 --- a/thirdparty/html2ps_pdf/utils_array.php +++ /dev/null @@ -1,74 +0,0 @@ - $size) { - return $array; - } - - // Subtract non-modifiable values from target value - for ($i=0; $i < count($array); $i++) { - if (!$flags[$i]) { $size -= $array[$i]; }; - }; - - // Check if there's any expandable columns - $sum = 0; - for ($i=0, $count = count($flags); $i<$count; $i++) { - if ($flags[$i]) { $sum += $array[$i]; }; - } - - if ($sum == 0) { - // Note that this function is used in colpans-width calculation routine - // If we executing this branch, then we've got a colspan over non-resizable columns - // So, we decide to expand the very first column; note that 'Size' in this case - // will contain the delta value for the width and we need to _add_ it to the first - // column's width - $array[0] += $size; - return $array; - } - - // Calculate scale koeff - $koeff = $size / $sum; - - // Apply scale koeff - for ($i=0, $count = count($flags); $i < $count; $i++) { - if ($flags[$i]) { $array[$i] *= $koeff; }; - } - - return $array; -} - -function expand_to($size, $array) { - // if array have no elements - return immediately - if (count($array) == 0) { return $array; }; - - // If array contains only zero elements (or no elements at all) do not do anything - if (array_sum($array) == 0) { return $array; }; - - // Never decrease exising values - if (array_sum($array) > $size) { - return $array; - } - - // Calculate scale koeff - $koeff = $size / array_sum($array); - - // Apply scale koeff - for ($i=0, $size = count($array); $i<$size; $i++) { - $array[$i] *= $koeff; - } - - return $array; -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_graphic.php b/thirdparty/html2ps_pdf/utils_graphic.php deleted file mode 100644 index be9927f0e..000000000 --- a/thirdparty/html2ps_pdf/utils_graphic.php +++ /dev/null @@ -1,51 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_number.php b/thirdparty/html2ps_pdf/utils_number.php deleted file mode 100644 index 2a4f6a845..000000000 --- a/thirdparty/html2ps_pdf/utils_number.php +++ /dev/null @@ -1,19 +0,0 @@ -= $arabic[$i]) { - $num -= $arabic[$i]; - $result .= $roman[$i]; - } - $i--; - } - - return $result; -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_text.php b/thirdparty/html2ps_pdf/utils_text.php deleted file mode 100644 index f10206e96..000000000 --- a/thirdparty/html2ps_pdf/utils_text.php +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_units.php b/thirdparty/html2ps_pdf/utils_units.php deleted file mode 100644 index a258b3d21..000000000 --- a/thirdparty/html2ps_pdf/utils_units.php +++ /dev/null @@ -1,82 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/utils_url.php b/thirdparty/html2ps_pdf/utils_url.php deleted file mode 100644 index 23fb52b7e..000000000 --- a/thirdparty/html2ps_pdf/utils_url.php +++ /dev/null @@ -1,71 +0,0 @@ - 'localhost', - 'https' => 'localhost', - 'file' => '' - ); - - $base_scheme = isset($data['scheme']) ? $data['scheme'] : "http"; - $base_port = isset($data['port']) ? ":".$data['port'] : ""; - $base_user = isset($data['user']) ? $data['user'] : ""; - $base_pass = isset($data['pass']) ? $data['pass'] : ""; - $base_host = isset($data['host']) ? $data['host'] : (isset($default_host[$base_scheme]) ? $default_host[$base_scheme] : ""); - $base_path = isset($data['path']) ? $data['path'] : "/"; - - /** - * Workaround: Some PHP versions do remove the leading slash from the - * 'file://' URLs with empty host name, while some do not. - * - * An example of such URL is: file:///D:/path/dummy.html - * The path should be: /D:/path/dummy.html - * - * Here we check if the leading slash is present and - * add it if it is missing. - */ - if ($base_scheme == "file" && PHP_OS == "WINNT") { - if (strlen($base_path) > 0) { - if ($base_path{0} != "/") { - $base_path = "/".$base_path; - }; - }; - }; - - $base_user_pass = ""; - if ($base_user || $base_pass) { - $base_user_pass = sprintf("%s:%s@", $base_user, $base_pass); - } - - // 'Path' is starting at scheme? - if (substr($path,0,2) == "//") { - $guessed = $base_scheme . ':' . $path; - return $guessed; - } - - // 'Path' is starting at root? - if (substr($path,0,1) == "/") { - $guessed = $base_scheme . '://' . $base_user_pass . $base_host . $base_port . $path; - return $guessed; - }; - - // 'Path' is relative from the current position - if (preg_match("#^(/.*)/[^/]*$#", $base_path, $matches)) { - $base_path_dir = $matches[1]; - } else { - $base_path_dir = ""; - }; - $guessed = $base_scheme . '://' . $base_user_pass . $base_host . $base_port . $base_path_dir . '/' . $path; - return $guessed; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.background.php b/thirdparty/html2ps_pdf/value.background.php deleted file mode 100644 index 7b97cacc6..000000000 --- a/thirdparty/html2ps_pdf/value.background.php +++ /dev/null @@ -1,162 +0,0 @@ -_color = $color; - $this->_image = $image; - $this->_repeat = $repeat; - $this->_position = $position; - $this->_attachment = $attachment; - } - - /** - * "Deep copy" routine - * - * @return Background A copy of current object - */ - function ©() { - $value =& new Background(is_null($this->_color) ? null : $this->_color->copy(), - is_null($this->_image) ? null : $this->_image->copy(), - $this->_repeat, - is_null($this->_position) ? null : $this->_position->copy(), - $this->_attachment); - - return $value; - } - - /** - * Tests if the 'background' CSS property value is the default property value; e.g. - * all subproperty values are set to defaults. - * - * @return bool Flag indicating if current object have default value - * - * @see CSSBackgroundColor::default_value - * @see BackgroundImage::is_default - * @see CSSBackgroundRepeat::default_value - * @see BackgroundPosition::is_default - */ - function is_default() { - return - $this->_color->equals(CSSBackgroundColor::default_value()) && - $this->_image->is_default() && - $this->_repeat == CSSBackgroundRepeat::default_value() && - $this->_position->is_default() && - $this->_attachment->is_default(); - } - - /** - * Renders the background for the given box object using an output driver - * - * @param OutputDriver $driver Output driver to be used - * @param GenericFormattedBox $box Box the background is rendered for - * - * @uses GenericFormattedBox - * @uses OutputDriver - */ - function show(&$driver, &$box) { - /** - * Fill box with background color - * - * @see Color::apply - * @see OutputDriver::moveto - * @see OutputDriver::lineto - * @see OutputDriver::closepath - * @see OutputDriver::fill - */ - if (!$this->_color->transparent) { - $this->_color->apply($driver); - $driver->moveto($box->get_left_background(), $box->get_top_background()); - $driver->lineto($box->get_right_background(), $box->get_top_background()); - $driver->lineto($box->get_right_background(), $box->get_bottom_background()); - $driver->lineto($box->get_left_background(), $box->get_bottom_background()); - $driver->closepath(); - $driver->fill(); - }; - - /** - * Render background image - * - * @see BackgroundImage::show - */ - $this->_image->show($driver, $box, $this->_repeat, $this->_position, $this->_attachment); - } - - /** - * Converts the absolute lengths used in subproperties (if any) to the device points - * - * @param float $font_size Font size to use during conversion of 'ex' and 'em' units - */ - function units2pt($font_size) { - $this->_position->units2pt($font_size); - } - - function doInherit(&$state) { - if ($this->_color === CSS_PROPERTY_INHERIT) { - $value =& $state->getInheritedProperty(CSS_BACKGROUND_COLOR); - $this->_color = $value->copy(); - }; - - if ($this->_image === CSS_PROPERTY_INHERIT) { - $value =& $state->getInheritedProperty(CSS_BACKGROUND_IMAGE); - $this->_image = $value->copy(); - }; - - if ($this->_position === CSS_PROPERTY_INHERIT) { - $value =& $state->getInheritedProperty(CSS_BACKGROUND_POSITION); - $this->_position = $value->copy(); - }; - - if ($this->_repeat === CSS_PROPERTY_INHERIT) { - $this->_repeat = $state->getInheritedProperty(CSS_BACKGROUND_REPEAT); - }; - - if ($this->_attachment === CSS_PROPERTY_INHERIT) { - $this->_attachment =& $state->getInheritedProperty(CSS_BACKGROUND_ATTACHMENT); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.border.class.php b/thirdparty/html2ps_pdf/value.border.class.php deleted file mode 100644 index 5b0c546d1..000000000 --- a/thirdparty/html2ps_pdf/value.border.class.php +++ /dev/null @@ -1,174 +0,0 @@ -left =& new EdgePDF(); - $this->right =& new EdgePDF(); - $this->top =& new EdgePDF(); - $this->bottom =& new EdgePDF(); - } - - function create($data) { - $border =& new BorderPDF(); - $border->left =& EdgePDF::create($data['left']); - $border->right =& EdgePDF::create($data['right']); - $border->top =& EdgePDF::create($data['top']); - $border->bottom =& EdgePDF::create($data['bottom']); - return $border; - } - - /** - * Optimization: note usage of '!=='. It is faster than '!=' in our - * case (PHP 5.1.1, Win) - */ - function ©() { - $border =& new BorderPDF(); - - if ($this->left !== CSS_PROPERTY_INHERIT) { - $border->left = $this->left->copy(); - } else { - $border->left = CSS_PROPERTY_INHERIT; - }; - - if ($this->right !== CSS_PROPERTY_INHERIT) { - $border->right = $this->right->copy(); - } else { - $border->right = CSS_PROPERTY_INHERIT; - }; - - if ($this->top !== CSS_PROPERTY_INHERIT) { - $border->top = $this->top->copy(); - } else { - $border->top = CSS_PROPERTY_INHERIT; - }; - - if ($this->bottom !== CSS_PROPERTY_INHERIT) { - $border->bottom = $this->bottom->copy(); - } else { - $border->bottom = CSS_PROPERTY_INHERIT; - }; - - return $border; - } - - function doInherit(&$state) { - if ($this->top === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_BORDER_TOP); - $this->top = $value->copy(); - }; - - if ($this->right === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_BORDER_RIGHT); - $this->right = $value->copy(); - }; - - if ($this->bottom === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_BORDER_BOTTOM); - $this->bottom = $value->copy(); - }; - - if ($this->left === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_BORDER_LEFT); - $this->left = $value->copy(); - }; - - $this->top->doInherit($state, - CSS_BORDER_TOP_WIDTH, - CSS_BORDER_TOP_COLOR, - CSS_BORDER_TOP_STYLE); - $this->right->doInherit($state, - CSS_BORDER_RIGHT_WIDTH, - CSS_BORDER_RIGHT_COLOR, - CSS_BORDER_RIGHT_STYLE); - $this->bottom->doInherit($state, - CSS_BORDER_BOTTOM_WIDTH, - CSS_BORDER_BOTTOM_COLOR, - CSS_BORDER_BOTTOM_STYLE); - $this->left->doInherit($state, - CSS_BORDER_LEFT_WIDTH, - CSS_BORDER_LEFT_COLOR, - CSS_BORDER_LEFT_STYLE); - } - - function &get_bottom() { - return $this->bottom; - } - - function &get_left() { - return $this->left; - } - - function &get_right() { - return $this->right; - } - - function &get_top() { - return $this->top; - } - - function is_default() { - return - $this->left->style == BS_NONE && - $this->right->style == BS_NONE && - $this->top->style == BS_NONE && - $this->bottom->style == BS_NONE; - } - - function show(&$viewport, $box) { - // Show left border - if ($this->left->is_visible()) { - $this->left->show($viewport, $box, - $box->get_left_border() , $box->get_bottom_border(), - $box->get_left_border() , $box->get_top_border(), - $box->get_left_border()+$this->left->get_width(), $box->get_top_border()-$this->top->get_width(), - $box->get_left_border()+$this->left->get_width(), $box->get_bottom_border()+$this->bottom->get_width(), - true); - } - - // Show right border - if ($this->right->is_visible()) { - $this->right->show($viewport, $box, - $box->get_right_border() , $box->get_bottom_border(), - $box->get_right_border() , $box->get_top_border(), - $box->get_right_border()-$this->right->get_width(), $box->get_top_border()-$this->top->get_width(), - $box->get_right_border()-$this->right->get_width(), $box->get_bottom_border()+$this->bottom->get_width(), - false); - } - - // Show top border - if ($this->top->is_visible()) { - $this->top->show($viewport, $box, - $box->get_left_border() , $box->get_top_border(), - $box->get_right_border() , $box->get_top_border(), - $box->get_right_border()-$this->right->get_width() , $box->get_top_border() - $this->top->get_width(), - $box->get_left_border() +$this->left->get_width() , $box->get_top_border() - $this->top->get_width(), - true); - } - - // Show bottom border - if ($this->bottom->is_visible()) { - $this->bottom->show($viewport, $box, - $box->get_left_border() , $box->get_bottom_border(), - $box->get_right_border() , $box->get_bottom_border(), - $box->get_right_border()- $this->right->get_width() , $box->get_bottom_border() + $this->bottom->get_width(), - $box->get_left_border() + $this->left->get_width() , $box->get_bottom_border() + $this->bottom->get_width(), - false); - } - } - - function units2pt($base_font_size) { - $this->left->units2pt($base_font_size); - $this->right->units2pt($base_font_size); - $this->top->units2pt($base_font_size); - $this->bottom->units2pt($base_font_size); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.border.color.class.php b/thirdparty/html2ps_pdf/value.border.color.class.php deleted file mode 100644 index cd7b845a2..000000000 --- a/thirdparty/html2ps_pdf/value.border.color.class.php +++ /dev/null @@ -1,24 +0,0 @@ -top, $this->right, $this->bottom, $this->left); - return $value; - } - - function BorderColor($top, $right, $bottom, $left) { - $this->left = $left->copy(); - $this->right = $right->copy(); - $this->top = $top->copy(); - $this->bottom = $bottom->copy(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.border.edge.class.php b/thirdparty/html2ps_pdf/value.border.edge.class.php deleted file mode 100644 index 28bc70054..000000000 --- a/thirdparty/html2ps_pdf/value.border.edge.class.php +++ /dev/null @@ -1,314 +0,0 @@ -width =& $default_width; - $this->color =& $default_color; - $this->style = BS_NONE; - - $this->_isDefaultColor = true; - } - - function isDefaultColor() { - return $this->_isDefaultColor; - } - - function setColor(&$color) { - if ($color != CSS_PROPERTY_INHERIT) { - $this->color = $color->copy(); - } else { - $this->color = CSS_PROPERTY_INHERIT; - }; - - $this->_isDefaultColor = false; - } - - function doInherit(&$state, $code_width, $code_color, $code_style) { - if ($this->width === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty($code_width); - $this->width = $value->copy(); - }; - - if ($this->color === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty($code_color); - $this->width = $value->copy(); - }; - - if ($this->style === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty($code_style); - $this->width = $value; - }; - } - - function &create($data) { - $edge =& new EdgePDF(); - $edge->width = $data['width']; - $edge->color =& new Color($data['color'], is_transparent($data['color'])); - $edge->style = $data['style']; - $edge->_isDefaultColor = true; - return $edge; - } - - function ©() { - $edge =& new EdgePDF(); - - if ($this->width != CSS_PROPERTY_INHERIT) { - $edge->width = $this->width->copy(); - } else { - $edge->width = CSS_PROPERTY_INHERIT; - }; - - if ($this->color != CSS_PROPERTY_INHERIT) { - $edge->color = $this->color->copy(); - } else { - $edge->color = CSS_PROPERTY_INHERIT; - }; - - $edge->style = $this->style; - $edge->_isDefaultColor = $this->_isDefaultColor; - - return $edge; - } - - function &get_color() { - return $this->color; - } - - function &get_style() { - return $this->style; - } - - function get_width() { - if ($this->style === BS_NONE) { - return 0; - }; - - return $this->width->getPoints(); - } - - function units2pt($base_font_size) { - $this->width->units2pt($base_font_size); - } - - function is_visible() { - return - ($this->width->getPoints() > 0) && - ($this->style !== BS_NONE); - } - - function show(&$viewport, &$box, - $x1, $y1, - $x2, $y2, - $x3, $y3, - $x4, $y4, - $hilight) { - - // If this border have 'transparent' color value, we just will not draw it - // - if ($this->color->transparent) { return; }; - - switch ($this->style) { - case BS_SOLID: - $this->color->apply($viewport); - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - break; - - case BS_INSET: - if ($hilight) { - $this->color->apply($viewport); - } else { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - }; - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - break; - - case BS_GROOVE: - /** - * Draw outer part - */ - if ($hilight) { - $this->color->apply($viewport); - } else { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - }; - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - /** - * Draw inner part - */ - if ($hilight) { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - } else { - $this->color->apply($viewport); - }; - - $x1a = ($x1 + $x4) / 2; - $y1a = ($y1 + $y4) / 2; - - $x2a = ($x2 + $x3) / 2; - $y2a = ($y2 + $y3) / 2; - - $viewport->moveto($x1a, $y1a); - $viewport->lineto($x2a, $y2a); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - break; - - case BS_RIDGE: - /** - * Draw outer part - */ - if ($hilight) { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - } else { - $this->color->apply($viewport); - }; - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - /** - * Draw inner part - */ - if ($hilight) { - $this->color->apply($viewport); - } else { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - }; - - $x1a = ($x1 + $x4) / 2; - $y1a = ($y1 + $y4) / 2; - - $x2a = ($x2 + $x3) / 2; - $y2a = ($y2 + $y3) / 2; - - $viewport->moveto($x1a, $y1a); - $viewport->lineto($x2a, $y2a); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - break; - - case BS_OUTSET: - if (!$hilight) { - $this->color->apply($viewport); - } else { - $color = $this->color->copy(); - $color->blend(new Color(array(255,255,255), false), HILIGHT_COLOR_ALPHA); - $color->apply($viewport); - }; - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->lineto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->closepath(); - $viewport->fill(); - - break; - - case BS_DASHED: - $this->color->apply($viewport); - - $viewport->dash($this->width->getPoints()*4, $this->width->getPoints()*5); - $viewport->setlinewidth($this->width->getPoints()); - $viewport->moveto(($x1+$x4)/2,($y1+$y4)/2); - $viewport->lineto(($x2+$x3)/2,($y2+$y3)/2); - $viewport->stroke(); - - // Restore solid line - $viewport->dash(1,0); - break; - - case BS_DOTTED: - $this->color->apply($viewport); - - $viewport->dash($this->width->getPoints(), $this->width->getPoints()*2); - $viewport->setlinewidth($this->width->getPoints()); - $viewport->moveto(($x1+$x4)/2,($y1+$y4)/2); - $viewport->lineto(($x2+$x3)/2,($y2+$y3)/2); - $viewport->stroke(); - - // Restore solid line - $viewport->dash(1,0); - break; - - case BS_DOUBLE: - $this->color->apply($viewport); - $viewport->setlinewidth(px2pt(1)); - - $viewport->moveto($x1, $y1); - $viewport->lineto($x2, $y2); - $viewport->stroke(); - - $viewport->moveto($x3, $y3); - $viewport->lineto($x4, $y4); - $viewport->stroke(); - break; - case BS_NONE: - default: - break; - } - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.border.style.class.php b/thirdparty/html2ps_pdf/value.border.style.class.php deleted file mode 100644 index 9a2bb8d2c..000000000 --- a/thirdparty/html2ps_pdf/value.border.style.class.php +++ /dev/null @@ -1,24 +0,0 @@ -top, $this->right, $this->bottom, $this->left); - return $value; - } - - function BorderStyle($top, $right, $bottom, $left) { - $this->left = $left; - $this->right = $right; - $this->top = $top; - $this->bottom = $bottom; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.border.width.class.php b/thirdparty/html2ps_pdf/value.border.width.class.php deleted file mode 100644 index 607412fd1..000000000 --- a/thirdparty/html2ps_pdf/value.border.width.class.php +++ /dev/null @@ -1,24 +0,0 @@ -top, $this->right, $this->bottom, $this->left); - return $value; - } - - function BorderWidth($top, $right, $bottom, $left) { - $this->left = $left->copy(); - $this->right = $right->copy(); - $this->top = $top->copy(); - $this->bottom = $bottom->copy(); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.bottom.php b/thirdparty/html2ps_pdf/value.bottom.php deleted file mode 100644 index 893f67bb2..000000000 --- a/thirdparty/html2ps_pdf/value.bottom.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.color.php b/thirdparty/html2ps_pdf/value.color.php deleted file mode 100644 index 34da87c3d..000000000 --- a/thirdparty/html2ps_pdf/value.color.php +++ /dev/null @@ -1,50 +0,0 @@ -r = max($rgb[0] / 255.0, 0); - $this->g = max($rgb[1] / 255.0, 0); - $this->b = max($rgb[2] / 255.0, 0); - - $this->transparent = $transparent; - } - - function apply(&$viewport) { - $viewport->setrgbcolor($this->r, $this->g, $this->b); - } - - function blend($color, $alpha) { - $this->r += ($color->r - $this->r)*$alpha; - $this->g += ($color->g - $this->g)*$alpha; - $this->b += ($color->b - $this->b)*$alpha; - } - - function ©() { - $color =& new Color(); - - $color->r = $this->r; - $color->g = $this->g; - $color->b = $this->b; - $color->transparent = $this->transparent; - - return $color; - } - - function equals($rgb) { - return - $this->r == $rgb->r && - $this->g == $rgb->g && - $this->b == $rgb->b; - } - - function isTransparent() { - return $this->transparent; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.content.item.php b/thirdparty/html2ps_pdf/value.content.item.php deleted file mode 100644 index 0ddd11207..000000000 --- a/thirdparty/html2ps_pdf/value.content.item.php +++ /dev/null @@ -1,256 +0,0 @@ - &$item, - 'rest' => $rest); - }; - }; - - $null = null; - return array('item' => &$null, - 'rest' => $string); - } - - function render(&$counters) { - // abstract - } -} - -class ValueContentItemString extends ValueContentItem { - var $_value; - - function ValueContentItemString() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemString(); - $copy->set_value($this->get_value()); - return $copy; - } - - function get_value() { - return $this->_value; - } - - function parse($string) { - if (preg_match(sprintf('/^(%s)\s*(.*)$/', CSS_STRING1_REGEXP), $string, $matches)) { - $value = $matches[1]; - $rest = $matches[2]; - - $item =& new ValueContentItemString(); - $item->set_value(substr($value, 1, strlen($value)-2)); - return array('item' => &$item, - 'rest' => $rest); - }; - - if (preg_match(sprintf('/^(%s)\s*(.*)$/', CSS_STRING2_REGEXP), $string, $matches)) { - $value = $matches[1]; - $rest = $matches[2]; - - $item =& new ValueContentItemString(); - $item->set_value(substr($value, 1, strlen($value)-2)); - return array('item' => &$item, - 'rest' => $rest); - }; - - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return $this->_value; - } - - function set_value($value) { - $this->_value = $value; - } -} - -class ValueContentItemUri extends ValueContentItem { - var $_value; - - function ValueContentItemUri() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemUri(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -class ValueContentItemCounter extends ValueContentItem { - var $_name; - - function ValueContentItemCounter() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemCounter(); - $copy->set_name($this->get_name()); - return $copy; - } - - function get_name() { - return $this->_name; - } - - function parse($string) { - if (preg_match('/^\s*counter\(('.CSS_IDENT_REGEXP.')\)\s*(.*)$/', $string, $matches)) { - $value = $matches[1]; - $rest = $matches[2]; - - $item =& new ValueContentItemCounter(); - $item->set_name($value); - return array('item' => &$item, - 'rest' => $rest); - }; - - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - $counter =& $counters->get($this->get_name()); - if (is_null($counter)) { - return ''; - }; - - return $counter->get(); - } - - function set_name($value) { - $this->_name = $value; - } -} - -class ValueContentItemAttr extends ValueContentItem { - function ValueContentItemAttr() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemAttr(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -class ValueContentItemOpenQuote extends ValueContentItem { - function ValueContentItemOpenQuote() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemOpenQuote(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -class ValueContentItemCloseQuote extends ValueContentItem { - function ValueContentItemCloseQuote() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemCloseQuote(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -class ValueContentItemNoOpenQuote extends ValueContentItem { - function ValueContentItemNoOpenQuote() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemNoOpenQuote(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -class ValueContentItemNoCloseQuote extends ValueContentItem { - function ValueContentItemNoCloseQuote() { - $this->ValueContentItem(); - } - - function ©() { - $copy =& new ValueContentItemNoCloseQuote(); - return $copy; - } - - function parse($string) { - $null = null; - return array('item' => &$null, 'rest' => $string); - } - - function render(&$counters) { - return ''; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.content.php b/thirdparty/html2ps_pdf/value.content.php deleted file mode 100644 index 79f939dd4..000000000 --- a/thirdparty/html2ps_pdf/value.content.php +++ /dev/null @@ -1,63 +0,0 @@ -set_items(array()); - } - - function add_item(&$item) { - $this->_items[] =& $item; - } - - function ©() { - $copy =& new ValueContent(); - - foreach ($this->_items as $item) { - $copy->add_item($item->copy()); - }; - - return $copy; - } - - function doInherit(&$state) { - - } - - function &parse($string) { - $value =& new ValueContent(); - - while ($string !== '') { - $result = ValueContentItem::parse($string); - $item =& $result['item']; - $rest = $result['rest']; - - $string = $rest; - - if (is_null($item)) { - break; - }; - - $value->add_item($item); - }; - - return $value; - } - - function render(&$counters) { - $content = array(); - foreach ($this->_items as $item) { - $content[] = $item->render($counters); - }; - return join('', $content); - } - - function set_items($value) { - $this->_items = $value; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.font.class.php b/thirdparty/html2ps_pdf/value.font.class.php deleted file mode 100644 index a3eda65c7..000000000 --- a/thirdparty/html2ps_pdf/value.font.class.php +++ /dev/null @@ -1,65 +0,0 @@ -style = $this->style; - $font->weight = $this->weight; - - if ($this->size === CSS_PROPERTY_INHERIT) { - $font->size = CSS_PROPERTY_INHERIT; - } else { - $font->size = $this->size->copy(); - }; - - $font->family = $this->family; - - if ($this->line_height === CSS_PROPERTY_INHERIT) { - $font->line_height = CSS_PROPERTY_INHERIT; - } else { - $font->line_height = $this->line_height->copy(); - }; - - return $font; - } - - function units2pt($base_font_size) { - $this->size->units2pt($base_font_size); - $this->line_height->units2pt($base_font_size); - } - - function doInherit(&$state) { - if ($state->getPropertyDefaultFlag(CSS_FONT_SIZE)) { - $this->size = Value::fromData(1, UNIT_EM); - }; - - if ($this->style === CSS_PROPERTY_INHERIT) { - $this->style = $state->getInheritedProperty(CSS_FONT_STYLE); - }; - - if ($this->weight === CSS_PROPERTY_INHERIT) { - $this->weight = $state->getInheritedProperty(CSS_FONT_WEIGHT); - }; - - if ($this->size === CSS_PROPERTY_INHERIT) { - $size = $state->getInheritedProperty(CSS_FONT_SIZE); - $this->size = $size->copy(); - }; - - if ($this->family === CSS_PROPERTY_INHERIT) { - $this->family = $state->getInheritedProperty(CSS_FONT_FAMILY); - }; - - if ($this->line_height === CSS_PROPERTY_INHERIT) { - $this->line_height = $state->getInheritedProperty(CSS_LINE_HEIGHT); - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.generic.length.php b/thirdparty/html2ps_pdf/value.generic.length.php deleted file mode 100644 index ec3f2865b..000000000 --- a/thirdparty/html2ps_pdf/value.generic.length.php +++ /dev/null @@ -1,117 +0,0 @@ -_number *= $scale; - $this->_points *= $scale; - } - - function ©() { - $value =& new Value; - $value->_unit = $this->_unit; - $value->_number = $this->_number; - $value->_points = $this->_points; - return $value; - } - - function getPoints() { - return $this->_points; - } - - function Value() { - $this->_unit = UNIT_PT; - $this->_number = 0; - $this->_points = 0; - } - - function &fromData($number, $unit) { - $value =& new Value; - $value->_unit = $unit; - $value->_number = $number; - $value->_points = 0; - return $value; - } - - /** - * Create new object using data contained in string CSS value - * representation - */ - function &fromString($string_value) { - $value =& new Value; - $value->_unit = $value->unit_from_string($string_value); - $value->_number = (double)$string_value; - $value->_points = 0; - return $value; - } - - /** - * @static - */ - function unit_from_string($value) { - $unit = substr($value, strlen($value)-2, 2); - switch ($unit) { - case 'pt': - return UNIT_PT; - case 'px': - return UNIT_PX; - case 'mm': - return UNIT_MM; - case 'cm': - return UNIT_CM; - case 'ex': - return UNIT_EX; - case 'em': - return UNIT_EM; - case 'in': - return UNIT_IN; - case 'pc': - return UNIT_PC; - default: - return UNIT_NONE; - } - } - - function units2pt($font_size) { - $this->_points = $this->toPt($font_size); - } - - function toPt($font_size) { - switch ($this->_unit) { - case UNIT_PT: - return pt2pt($this->_number); - case UNIT_PX: - return px2pt($this->_number); - case UNIT_MM: - return pt2pt(mm2pt($this->_number)); - case UNIT_CM: - return pt2pt(mm2pt($this->_number*10)); - case UNIT_EM: - return em2pt($this->_number, $font_size); - case UNIT_EX: - return ex2pt($this->_number, $font_size); - case UNIT_IN: - return pt2pt($this->_number * 72); // points used by CSS 2.1 are equal to 1/72nd of an inch. - case UNIT_PC: - return pt2pt($this->_number * 12); // 1 pica equals to 12 points. - default: - global $g_config; - - if ($g_config['mode'] === 'quirks') { - return px2pt($this->_number); - } else { - return 0; - }; - }; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.generic.percentage.php b/thirdparty/html2ps_pdf/value.generic.percentage.php deleted file mode 100644 index 339932620..000000000 --- a/thirdparty/html2ps_pdf/value.generic.percentage.php +++ /dev/null @@ -1,86 +0,0 @@ -_value = $value; - $this->_status = $status; - } - - function &_fromString($value, &$class_object) { - if ($value == 'inherit') { - $dummy = CSS_PROPERTY_INHERIT; - return $dummy; - }; - - if ($value == 'auto' || $value == '') { - $class_object->init(null, VALUE_AUTO); - return $class_object; - }; - - $strlen = strlen($value); - if ($value{$strlen-1} == '%') { - $class_object->init((float)$value, VALUE_PERCENTAGE); - return $class_object; - }; - - $class_object->init(Value::fromString($value), VALUE_NORMAL); - return $class_object; - } - - function units2pt($font_size) { - if ($this->isNormal()) { - $this->_value->units2pt($font_size); - }; - } - - function getPoints($base_size = 0) { - if ($this->isPercentage()) { - return $base_size * $this->getPercentage(); - } else { - return $this->_value->getPoints(); - }; - } - - function isAuto() { - return $this->_status == VALUE_AUTO; - } - - function isNormal() { - return $this->_status == VALUE_NORMAL; - } - - function isPercentage() { - return $this->_status == VALUE_PERCENTAGE; - } - - function &_copy(&$value) { - if ($this->isNormal()) { - $value->_value = $this->_value->copy(); - } else { - $value->_value = $this->_value; - }; - - $value->_status = $this->_status; - return $value; - } - - function getPercentage() { - if ($this->_status != VALUE_PERCENTAGE) { - die("Invalid percentage value type"); - }; - - return $this->_value; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.generic.php b/thirdparty/html2ps_pdf/value.generic.php deleted file mode 100644 index 71f21d7a8..000000000 --- a/thirdparty/html2ps_pdf/value.generic.php +++ /dev/null @@ -1,17 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.height.php b/thirdparty/html2ps_pdf/value.height.php deleted file mode 100644 index 04a29f0c1..000000000 --- a/thirdparty/html2ps_pdf/value.height.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.left.php b/thirdparty/html2ps_pdf/value.left.php deleted file mode 100644 index 118811a63..000000000 --- a/thirdparty/html2ps_pdf/value.left.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.line-height.class.php b/thirdparty/html2ps_pdf/value.line-height.class.php deleted file mode 100644 index 6206243f0..000000000 --- a/thirdparty/html2ps_pdf/value.line-height.class.php +++ /dev/null @@ -1,53 +0,0 @@ -length; - } - - function is_default() { - return false; - } - - function LineHeight_Absolute($value) { - $this->length = $value; - } - - function units2pt($base) { - $this->length = units2pt($this->length, $base); - } - - function ©() { - $value =& new LineHeight_Absolute($this->length); - return $value; - } -} - -class LineHeight_Relative extends CSSValue { - var $fraction; - - function apply($value) { - return $this->fraction * $value; - } - - function is_default() { - return $this->fraction == 1.1; - } - - function LineHeight_Relative($value) { - $this->fraction = $value; - } - - function units2pt($base) { } - - function ©() { - $value =& new LineHeight_Relative($this->fraction); - return $value; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.list-style.class.php b/thirdparty/html2ps_pdf/value.list-style.class.php deleted file mode 100644 index aa03e1f6c..000000000 --- a/thirdparty/html2ps_pdf/value.list-style.class.php +++ /dev/null @@ -1,51 +0,0 @@ -image === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_LIST_STYLE_IMAGE); - $this->image = $value->copy(); - }; - - if ($this->position === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_LIST_STYLE_POSITION); - $this->position = $value; - }; - - if ($this->type === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_LIST_STYLE_TYPE); - $this->type = $value; - }; - } - - function is_default() { - return - $this->image->is_default() && - $this->position == CSSListStylePosition::default_value() && - $this->type == CSSListStyleType::default_value(); - } - - function ©() { - $object =& new ListStyleValue; - - if ($this->image === CSS_PROPERTY_INHERIT) { - $object->image = CSS_PROPERTY_INHERIT; - } else { - $object->image = $this->image->copy(); - }; - - $object->position = $this->position; - $object->type = $this->type; - - return $object; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.margin.class.php b/thirdparty/html2ps_pdf/value.margin.class.php deleted file mode 100644 index afc82789f..000000000 --- a/thirdparty/html2ps_pdf/value.margin.class.php +++ /dev/null @@ -1,127 +0,0 @@ -percentage)) { - return; - }; - - $this->value = $base * $this->percentage / 100; - } - - function ©() { - $value =& new MarginSideValue; - $value->value = $this->value; - $value->auto = $this->auto; - $value->percentage = $this->percentage; - $value->_units = $this->_units; - return $value; - } - - function is_default() { - return - $this->value == 0 && - !$this->auto && - !$this->percentage; - } - - function init($data) { - $len = strlen($data); - $is_percentage = false; - if ($len > 0) { - $is_percentage = ($data{$len-1} === '%'); - }; - - $value = new MarginSideValue; - $value->_units = Value::fromString($data); - $value->value = $data; - $value->percentage = $is_percentage ? (int)($data) : null; - $value->auto = $data === 'auto'; - - return $value; - } - - function units2pt($base) { - if (is_null($this->percentage)) { - $this->value = $this->_units->toPt($base); - }; - } -} - -class MarginValue extends CSSValue { - var $top; - var $bottom; - var $left; - var $right; - - function doInherit(&$state) { - if ($this->top === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_MARGIN_TOP); - $this->top = $value->copy(); - }; - - if ($this->bottom === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_MARGIN_BOTTOM); - $this->bottom = $value->copy(); - }; - - if ($this->right === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_MARGIN_RIGHT); - $this->right = $value->copy(); - }; - - if ($this->left === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_MARGIN_LEFT); - $this->left = $value->copy(); - }; - } - - function ©() { - $value =& new MarginValue; - $value->top = ($this->top === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->top->copy(); - $value->bottom = ($this->bottom === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->bottom->copy(); - $value->left = ($this->left === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->left->copy(); - $value->right = ($this->right === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->right->copy(); - return $value; - } - - function init($data) { - $value = new MarginValue; - $value->top = MarginSideValue::init($data[0]); - $value->right = MarginSideValue::init($data[1]); - $value->bottom = MarginSideValue::init($data[2]); - $value->left = MarginSideValue::init($data[3]); - return $value; - } - - function is_default() { - return - $this->left->is_default() && - $this->right->is_default() && - $this->top->is_default() && - $this->bottom->is_default(); - } - - function units2pt($base) { - $this->top->units2pt($base); - $this->bottom->units2pt($base); - $this->left->units2pt($base); - $this->right->units2pt($base); - } - - function calcPercentages($base) { - $this->top->calcPercentage($base); - $this->bottom->calcPercentage($base); - $this->left->calcPercentage($base); - $this->right->calcPercentage($base); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.max-height.php b/thirdparty/html2ps_pdf/value.max-height.php deleted file mode 100644 index 425512bdb..000000000 --- a/thirdparty/html2ps_pdf/value.max-height.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.min-height.php b/thirdparty/html2ps_pdf/value.min-height.php deleted file mode 100644 index 285259363..000000000 --- a/thirdparty/html2ps_pdf/value.min-height.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.padding.class.php b/thirdparty/html2ps_pdf/value.padding.class.php deleted file mode 100644 index c31cfa2b0..000000000 --- a/thirdparty/html2ps_pdf/value.padding.class.php +++ /dev/null @@ -1,130 +0,0 @@ -percentage)) { - return; - }; - - $this->value = $base * $this->percentage / 100; - } - - function ©() { - $value =& new PaddingSideValue; - $value->value = $this->value; - $value->auto = $this->auto; - $value->percentage = $this->percentage; - $value->_units = $this->_units; - return $value; - } - - function get_value() { - return $this->value; - } - - function is_default() { - return - $this->value == 0 && - !$this->auto && - !$this->percentage; - } - - function init($data) { - $len = strlen($data); - $is_percentage = false; - if ($len > 0) { - $is_percentage = ($data{$len-1} === '%'); - }; - - $value = new PaddingSideValue; - $value->_units = Value::fromString($data); - $value->value = $data; - $value->percentage = $is_percentage ? (int)($data) : null; - $value->auto = $data === 'auto'; - return $value; - } - - function units2pt($base) { - if (is_null($this->percentage)) { - $this->value = $this->_units->toPt($base); - }; - } -} - -class PaddingValue extends CSSValue { - var $top; - var $bottom; - var $left; - var $right; - - function doInherit(&$state) { - if ($this->top === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_PADDING_TOP); - $this->top = $value->copy(); - }; - - if ($this->bottom === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_PADDING_BOTTOM); - $this->bottom = $value->copy(); - }; - - if ($this->right === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_PADDING_RIGHT); - $this->right = $value->copy(); - }; - - if ($this->left === CSS_PROPERTY_INHERIT) { - $value = $state->getInheritedProperty(CSS_PADDING_LEFT); - $this->left = $value->copy(); - }; - } - - function ©() { - $value =& new PaddingValue; - $value->top = ($this->top === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->top->copy(); - $value->bottom = ($this->bottom === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->bottom->copy(); - $value->left = ($this->left === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->left->copy(); - $value->right = ($this->right === CSS_PROPERTY_INHERIT) ? CSS_PROPERTY_INHERIT : $this->right->copy(); - return $value; - } - - function is_default() { - return - $this->left->is_default() && - $this->right->is_default() && - $this->top->is_default() && - $this->bottom->is_default(); - } - - function init($data) { - $value = new PaddingValue; - $value->top = PaddingSideValue::init($data[0]); - $value->right = PaddingSideValue::init($data[1]); - $value->bottom = PaddingSideValue::init($data[2]); - $value->left = PaddingSideValue::init($data[3]); - return $value; - } - - function units2pt($base) { - $this->top->units2pt($base); - $this->bottom->units2pt($base); - $this->left->units2pt($base); - $this->right->units2pt($base); - } - - function calcPercentages($base) { - $this->top->calcPercentage($base); - $this->bottom->calcPercentage($base); - $this->left->calcPercentage($base); - $this->right->calcPercentage($base); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.right.php b/thirdparty/html2ps_pdf/value.right.php deleted file mode 100644 index f78100fcd..000000000 --- a/thirdparty/html2ps_pdf/value.right.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.text-indent.class.php b/thirdparty/html2ps_pdf/value.text-indent.class.php deleted file mode 100644 index 52a25e66c..000000000 --- a/thirdparty/html2ps_pdf/value.text-indent.class.php +++ /dev/null @@ -1,39 +0,0 @@ -raw_value[1]) { - // Is a percentage - return $box->get_width() * $this->raw_value[0] / 100; - } else { - return $this->raw_value[0]; - }; - } - - function ©() { - $value =& new TextIndentValuePDF($this->raw_value); - return $value; - } - - function is_default() { - return $this->raw_value[0] == 0; - } - - function TextIndentValuePDF($value) { - $this->raw_value = $value; - } - - function units2pt($base) { - $this->raw_value[0] = units2pt($this->raw_value[0], $base); - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/value.top.php b/thirdparty/html2ps_pdf/value.top.php deleted file mode 100644 index 89b3b5644..000000000 --- a/thirdparty/html2ps_pdf/value.top.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/width.constraint.php b/thirdparty/html2ps_pdf/width.constraint.php deleted file mode 100644 index ef2157716..000000000 --- a/thirdparty/html2ps_pdf/width.constraint.php +++ /dev/null @@ -1,51 +0,0 @@ -_min_width = Value::fromData(0, UNIT_PT); - } - - function apply($w, $pw) { - $width = $this->_apply($w, $pw); - $width = max($this->_min_width->getPoints(), $width); - return $width; - } - - function ©() { - $copy =& $this->_copy(); - - if ($this->_min_width == CSS_PROPERTY_INHERIT) { - $copy->_min_width = CSS_PROPERTY_INHERIT; - } else { - $copy->_min_width = $this->_min_width->copy(); - }; - - return $copy; - } - - function units2pt($base) { - $this->_units2pt($base); - $this->_min_width->units2pt($base); - } - - function isNull() { - return false; - } - - function isFraction() { - return false; - } - - function isConstant() { - return false; - } -} -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/width.php b/thirdparty/html2ps_pdf/width.php deleted file mode 100644 index 1bdde46d3..000000000 --- a/thirdparty/html2ps_pdf/width.php +++ /dev/null @@ -1,118 +0,0 @@ -isNull()) { - return $wc2; - }; - - if ($wc1->isConstant() && !$wc2->isNull()) { - return $wc2; - }; - - if ($wc1->isFraction() && $wc2->isFraction()) { - return $wc2; - }; - - return $wc1; -} - -// the second parameter of 'apply' method may be null; it means that -// parent have 'fit' width and depends on the current constraint itself - -class WCNone extends WidthConstraint { - function WCNone() { - $this->WidthConstraint(); - } - - function applicable(&$box) { return false; } - - function _apply($w, $pw) { return $w; } - function apply_inverse($w, $pw) { return $pw; } - - function &_copy() { - $copy =& new WCNone(); - return $copy; - } - - function _units2pt($base) { - } - - function isNull() { return true; } -} - -class WCConstant extends WidthConstraint { - var $width; - - function WCConstant($width) { - $this->WidthConstraint(); - $this->width = $width; - } - - function applicable(&$box) { - return true; - } - - function _apply($w, $pw) { - return $this->width; - } - - function apply_inverse($w, $pw) { - return $pw; - } - - function &_copy() { - $copy =& new WCConstant($this->width); - return $copy; - } - - function _units2pt($base) { - $this->width = units2pt($this->width, $base); - } - - function isConstant() { - return true; - } -} - -class WCFraction extends WidthConstraint { - var $fraction; - - function applicable(&$box) { - if (is_null($box->parent)) { return false; }; - $parent_wc = $box->parent->getCSSProperty(CSS_WIDTH); - return $box->isCell() || $parent_wc->applicable($box->parent); - } - - function WCFraction($fraction) { - $this->WidthConstraint(); - $this->fraction = $fraction; - } - - function _apply($w, $pw) { - if (!is_null($pw)) { - return $pw * $this->fraction; - } else { - return $w; - }; - } - - function apply_inverse($w, $pw) { - if ($this->fraction > 0) { return $w / $this->fraction; } else { return 0; }; - } - - function &_copy() { - $copy =& new WCFraction($this->fraction); - return $copy; - } - - function _units2pt($base) { - } - - function isFraction() { - return true; - } -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.autoclose.inc.php b/thirdparty/html2ps_pdf/xhtml.autoclose.inc.php deleted file mode 100644 index 71941ce02..000000000 --- a/thirdparty/html2ps_pdf/xhtml.autoclose.inc.php +++ /dev/null @@ -1,74 +0,0 @@ -"; - - $sample_html = substr_replace($sample_html, $to_be_inserted, $tag_start ,0); - return $tag_start + strlen($to_be_inserted); - }; - }; - - return $offset; -} - -// removes from current html string a piece from the current $offset to -// the beginning of next $tag; $tag should contain a '|'-separated list -// of opening or closing tags. This function is useful for cleaning up -// messy code containing trash between TD, TR and TABLE tags. -function skip_to(&$html, $offset, $tag) { - $prefix = substr($html,0,$offset); - $suffix = substr($html,$offset); - - if (preg_match("#^(.*?)<\s*({$tag})#is", $suffix, $matches)) { - $suffix = substr($suffix, strlen($matches[1])); - }; - - $html = $prefix . $suffix; -} - -function autoclose_tag_cleanup(&$sample_html, $offset, $tags_raw, $nested, $close) { - $tags = mk_open_tag_regexp($tags_raw); - skip_to($sample_html, $offset, $tags_raw); - - while (preg_match("#^(.*?)({$tags})#is", substr($sample_html, $offset),$matches)) { - // convert tag name found to lower case - $tag = strtolower($matches[3]); - // calculate position of the tag found - $tag_start = $offset + strlen($matches[1]); - $tag_end = $tag_start + strlen($matches[2]); - - if ($tag == $close) { return $tag_end; }; - - // REQ: PHP 4.0.5 - if (isset($nested[$tag])) { - $offset = $nested[$tag]($sample_html, $tag_end); - } else { - $to_be_inserted = "<".$close.">"; - - $sample_html = substr_replace($sample_html, $to_be_inserted, $tag_start ,0); - return $tag_start + strlen($to_be_inserted); - }; - - skip_to($sample_html, $offset, $tags_raw); - }; - - return $offset; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.comments.inc.php b/thirdparty/html2ps_pdf/xhtml.comments.inc.php deleted file mode 100644 index 6b3fd64a7..000000000 --- a/thirdparty/html2ps_pdf/xhtml.comments.inc.php +++ /dev/null @@ -1,9 +0,0 @@ -#is","",$html); - $html = preg_replace("##is","",$html); -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.deflist.inc.php b/thirdparty/html2ps_pdf/xhtml.deflist.inc.php deleted file mode 100644 index c86a50608..000000000 --- a/thirdparty/html2ps_pdf/xhtml.deflist.inc.php +++ /dev/null @@ -1,25 +0,0 @@ - "process_dl"), "/dd"); -} - -function process_dt(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(dt|dd|dl|/dl|/dd)", array("dl" => "process_dl"), "/dt"); -} - -function process_dl(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(dt|dd|/dl)", - array("dt" => "process_dt", - "dd" => "process_dd"), - "/dl"); -}; - -function process_deflists(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(dl)", - array("dl" => "process_dl"), - ""); -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.entities.inc.php b/thirdparty/html2ps_pdf/xhtml.entities.inc.php deleted file mode 100644 index 24a32ccb0..000000000 --- a/thirdparty/html2ps_pdf/xhtml.entities.inc.php +++ /dev/null @@ -1,79 +0,0 @@ - $code) { - $html = str_replace("&{$entity};","&#{$code};",$html); - - // Some ill-brained webmasters write HTML symbolic references without - // terminating semicolor (especially at www.whitehouse.gov. The following - // replacemenet is required to fix these damaged inteties, converting them - // to the numerical character reference. - // - // We use [\s<] as entity name terminator to avoid breaking up longer entity - // names by filtering in only space or HTML-tag terminated ones. - // - $html = preg_replace("/&{$entity}([\s<])/","&#{$code};\\1",$html); - }; - - // Process hecadecimal character references - while (preg_match("/&#x([[:xdigit:]]{2,4});/i", $html, $matches)) { - // We cannot use plain str_replace, because 'x' symbol can be in both cases; - // str_ireplace have appeared in PHP 5 only, so we cannot use it due the - // compatibility problems - - $html = preg_replace("/&#x".$matches[1].";/i","&#".hexdec($matches[1]).";",$html); - }; -} - -function escape_amp($html) { - // Escape all ampersants not followed by a # sharp sign - // Note that symbolic references were replaced by numeric before this! - $html = preg_replace("/&(?!#)/si","&\\1",$html); - - // Complete all numeric character references unterminated with ';' - $html = preg_replace("/&#(\d+)(?![\d;])/si","&#\\1;",$html); - - // Escape all ampersants followed by # sharp and NON-DIGIT symbol - // They we're not covered by above conversions and are not a - // symbol reference. - // Also, don't forget that we've used &! They should not be converted too... - // - $html = preg_replace("/&(?!#\d)/si","&\\1",$html); - - return $html; -}; - -function escape_lt($html) { - // Why this loop is needed here? - // The cause is that, for example, << sequence will not be replaced by - // <<, as it should be. The regular expression matches TWO symbols - // << (actually, first < symbold, and one following it, so, the second < - // will not be matched when script attempt to find and replace next occurrence using 'g' regexp - // modifier. So, we will need to check for such situations agint and, possibly, restart the - // search and replace process. - // - while (preg_match("#<(\s*[^!/a-zA-Z])#",$html)) { - $html = preg_replace("#<(\s*[^!/a-zA-Z])#si","<\\1",$html); - }; - - while (preg_match("#(<[^>]*?)<#si",$html)) { - $html = preg_replace("#(<[^>]*?)<#si","\\1<",$html); - }; - - return $html; -}; - -function escape_gt($html) { - $html = preg_replace("#([^\s\da-zA-Z'\"/=-])\s*>#si","\\1>",$html); - - while (preg_match("#(>[^<]*?)>#si",$html)) { - $html = preg_replace("#(>[^<]*?)>#si","\\1>",$html); - }; - - return $html; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.lists.inc.php b/thirdparty/html2ps_pdf/xhtml.lists.inc.php deleted file mode 100644 index 82678687c..000000000 --- a/thirdparty/html2ps_pdf/xhtml.lists.inc.php +++ /dev/null @@ -1,30 +0,0 @@ - "process_ul", - "ol" => "process_ol"), - "/li"); -}; - -function process_ol(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(li|/ol)", - array("li" => "process_li"), - "/ol"); -}; - -function process_ul(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(li|/ul)", - array("li" => "process_li"), - "/ul"); -}; - -function process_lists(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(ul|ol)", - array("ul" => "process_ul", - "ol" => "process_ol"), - ""); -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.p.inc.php b/thirdparty/html2ps_pdf/xhtml.p.inc.php deleted file mode 100644 index f64f5911e..000000000 --- a/thirdparty/html2ps_pdf/xhtml.p.inc.php +++ /dev/null @@ -1,38 +0,0 @@ -]*?)?>)(.*?)($open|$close)#is",substr($sample_html, $offset), $matches)) { - if (!preg_match("#<\s*/\s*p\s*>#is",$matches[3])) { - $cutpos = $offset + strlen($matches[1]) + strlen($matches[2]) + strlen($matches[4]); - $sample_html = substr_replace($sample_html, "

", $cutpos, 0); - $offset = $cutpos+4; - } else { - $offset += strlen($matches[1])+1; - }; - }; - - return $sample_html; -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.script.inc.php b/thirdparty/html2ps_pdf/xhtml.script.inc.php deleted file mode 100644 index 88d6afa40..000000000 --- a/thirdparty/html2ps_pdf/xhtml.script.inc.php +++ /dev/null @@ -1,8 +0,0 @@ -#is","",$sample_html); -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.selects.inc.php b/thirdparty/html2ps_pdf/xhtml.selects.inc.php deleted file mode 100644 index e221d5df8..000000000 --- a/thirdparty/html2ps_pdf/xhtml.selects.inc.php +++ /dev/null @@ -1,22 +0,0 @@ - "process_option"), - "/select"); -}; - -function process_selects(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, "(select)", - array("select" => "process_select"), - ""); -}; - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.style.inc.php b/thirdparty/html2ps_pdf/xhtml.style.inc.php deleted file mode 100644 index a1805ce47..000000000 --- a/thirdparty/html2ps_pdf/xhtml.style.inc.php +++ /dev/null @@ -1,42 +0,0 @@ -]*>)(.*?)()(.*)$#is', $html, $matches)) { - $styles = array_merge(array($matches[2].process_style_content($matches[3]).$matches[4]), - process_style($matches[5])); - $html = $matches[1].$matches[5]; - }; - - return $styles; -} - -function process_style_content($html) { - // Remove CDATA comment bounds inside the - $html = preg_replace("##is","",$html); - - // Remove HTML comment bounds inside the - $html = preg_replace("##is","",$html); - - // Remove CSS comments - $html = preg_replace("#/\*.*?\*/#is","",$html); - - // Force CDATA comment - $html = ''; - - return $html; -} - -function insert_styles($html, $styles) { - // This function is called after HTML code has been fixed; thus, - // HEAD closing tag should be present - - $html = preg_replace('##', join("\n", $styles)."\n", $html); - return $html; -} - -?> \ No newline at end of file diff --git a/thirdparty/html2ps_pdf/xhtml.tables.inc.php b/thirdparty/html2ps_pdf/xhtml.tables.inc.php deleted file mode 100644 index e1b6bec01..000000000 --- a/thirdparty/html2ps_pdf/xhtml.tables.inc.php +++ /dev/null @@ -1,108 +0,0 @@ - "process_table"), - "/td"); - return $r; -}; - -function process_header_cell(&$sample_html, $offset) { - return autoclose_tag($sample_html, $offset, - "(table|td|th|tr|thead|tbody|tfoot|/td|/th|/table|/thead|/tbody|/tfoot|/tr)", - array("table" => "process_table"), - "/th"); -}; - -function process_cell_without_row(&$html, $offset) { - // Insert missing