wp/wp-includes/SimplePie/Decode/HTML/Entities.php
author ymh <ymh.work@gmail.com>
Mon, 08 Sep 2025 19:44:41 +0200
changeset 23 417f20492bf7
parent 16 a86126ab1dd4
permissions -rw-r--r--
Update Docker configuration and plugin versions - Upgrade MariaDB from 10.6 to 11 with auto-upgrade support - Add WordPress debug environment variable to FPM container - Update PHP-FPM Dockerfile base image - Update Include Mastodon Feed plugin with bug fixes and improvements - Update Portfolio plugin (v2.58) with latest translations and demo data enhancements - Remove old README.md from Mastodon Feed plugin 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * A PHP-Based RSS and Atom Feed Framework.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Takes the hard work out of managing a complete RSS/Atom solution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     8
 * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * All rights reserved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 * Redistribution and use in source and binary forms, with or without modification, are
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 * permitted provided that the following conditions are met:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 * 	* Redistributions of source code must retain the above copyright notice, this list of
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * 	  conditions and the following disclaimer.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * 	* Redistributions in binary form must reproduce the above copyright notice, this list
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 * 	  of conditions and the following disclaimer in the documentation and/or other materials
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * 	  provided with the distribution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * 	  to endorse or promote products derived from this software without specific prior
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 * 	  written permission.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
 * POSSIBILITY OF SUCH DAMAGE.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
 * @package SimplePie
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    36
 * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
 * @author Ryan Parman
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    38
 * @author Sam Sneddon
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
 * @author Ryan McCue
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
 * @link http://simplepie.org/ SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
 * Decode HTML Entities
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
 * This implements HTML5 as of revision 967 (2007-06-28)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
 * @deprecated Use DOMDocument instead!
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
 * @package SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
class SimplePie_Decode_HTML_Entities
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
	 * Data to be parsed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
	 * @var string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
	var $data = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	 * Currently consumed bytes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
	 * @var string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
	var $consumed = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
	 * Position of the current byte being parsed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	 * @var int
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
	var $position = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
	 * Create an instance of the class with the input data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
	 * @access public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
	 * @param string $data Input data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
	public function __construct($data)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
		$this->data = $data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	 * Parse the input data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
	 * @access public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
	 * @return string Output data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
	public function parse()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
		while (($this->position = strpos($this->data, '&', $this->position)) !== false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
			$this->consume();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
			$this->entity();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			$this->consumed = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
		return $this->data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
	 * Consume the next byte
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
	 * @return mixed The next byte, or false, if there is no more data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
	public function consume()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		if (isset($this->data[$this->position]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
			$this->consumed .= $this->data[$this->position];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
			return $this->data[$this->position++];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   120
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   121
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
	 * Consume a range of characters
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
	 * @param string $chars Characters to consume
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
	 * @return mixed A series of characters that match the range, or false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
	public function consume_range($chars)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
		if ($len = strspn($this->data, $chars, $this->position))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
			$data = substr($this->data, $this->position, $len);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
			$this->consumed .= $data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
			$this->position += $len;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
			return $data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   140
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   141
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
	 * Unconsume one byte
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
	public function unconsume()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
		$this->consumed = substr($this->consumed, 0, -1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
		$this->position--;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
	 * Decode an entity
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
	public function entity()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
		switch ($this->consume())
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
			case "\x09":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
			case "\x0A":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
			case "\x0B":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
			case "\x0C":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
			case "\x20":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
			case "\x3C":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
			case "\x26":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
			case false:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
			case "\x23":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
				switch ($this->consume())
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
					case "\x78":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
					case "\x58":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
						$range = '0123456789ABCDEFabcdef';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
						$hex = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
						break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
					default:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
						$range = '0123456789';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
						$hex = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
						$this->unconsume();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
						break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
				if ($codepoint = $this->consume_range($range))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
					static $windows_1252_specials = array(0x0D => "\x0A", 0x80 => "\xE2\x82\xAC", 0x81 => "\xEF\xBF\xBD", 0x82 => "\xE2\x80\x9A", 0x83 => "\xC6\x92", 0x84 => "\xE2\x80\x9E", 0x85 => "\xE2\x80\xA6", 0x86 => "\xE2\x80\xA0", 0x87 => "\xE2\x80\xA1", 0x88 => "\xCB\x86", 0x89 => "\xE2\x80\xB0", 0x8A => "\xC5\xA0", 0x8B => "\xE2\x80\xB9", 0x8C => "\xC5\x92", 0x8D => "\xEF\xBF\xBD", 0x8E => "\xC5\xBD", 0x8F => "\xEF\xBF\xBD", 0x90 => "\xEF\xBF\xBD", 0x91 => "\xE2\x80\x98", 0x92 => "\xE2\x80\x99", 0x93 => "\xE2\x80\x9C", 0x94 => "\xE2\x80\x9D", 0x95 => "\xE2\x80\xA2", 0x96 => "\xE2\x80\x93", 0x97 => "\xE2\x80\x94", 0x98 => "\xCB\x9C", 0x99 => "\xE2\x84\xA2", 0x9A => "\xC5\xA1", 0x9B => "\xE2\x80\xBA", 0x9C => "\xC5\x93", 0x9D => "\xEF\xBF\xBD", 0x9E => "\xC5\xBE", 0x9F => "\xC5\xB8");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
					if ($hex)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
						$codepoint = hexdec($codepoint);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
						$codepoint = intval($codepoint);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
					if (isset($windows_1252_specials[$codepoint]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
						$replacement = $windows_1252_specials[$codepoint];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
						$replacement = SimplePie_Misc::codepoint_to_utf8($codepoint);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
					if (!in_array($this->consume(), array(';', false), true))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
						$this->unconsume();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
					$consumed_length = strlen($this->consumed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
					$this->data = substr_replace($this->data, $replacement, $this->position - $consumed_length, $consumed_length);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
					$this->position += strlen($replacement) - $consumed_length;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			default:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
				static $entities = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
					'Aacute' => "\xC3\x81",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
					'aacute' => "\xC3\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
					'Aacute;' => "\xC3\x81",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
					'aacute;' => "\xC3\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
					'Acirc' => "\xC3\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
					'acirc' => "\xC3\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
					'Acirc;' => "\xC3\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
					'acirc;' => "\xC3\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
					'acute' => "\xC2\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
					'acute;' => "\xC2\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
					'AElig' => "\xC3\x86",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
					'aelig' => "\xC3\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
					'AElig;' => "\xC3\x86",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
					'aelig;' => "\xC3\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
					'Agrave' => "\xC3\x80",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
					'agrave' => "\xC3\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
					'Agrave;' => "\xC3\x80",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
					'agrave;' => "\xC3\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
					'alefsym;' => "\xE2\x84\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
					'Alpha;' => "\xCE\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
					'alpha;' => "\xCE\xB1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
					'AMP' => "\x26",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
					'amp' => "\x26",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
					'AMP;' => "\x26",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
					'amp;' => "\x26",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
					'and;' => "\xE2\x88\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
					'ang;' => "\xE2\x88\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
					'apos;' => "\x27",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
					'Aring' => "\xC3\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
					'aring' => "\xC3\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
					'Aring;' => "\xC3\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
					'aring;' => "\xC3\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
					'asymp;' => "\xE2\x89\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
					'Atilde' => "\xC3\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
					'atilde' => "\xC3\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
					'Atilde;' => "\xC3\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
					'atilde;' => "\xC3\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
					'Auml' => "\xC3\x84",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
					'auml' => "\xC3\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
					'Auml;' => "\xC3\x84",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
					'auml;' => "\xC3\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
					'bdquo;' => "\xE2\x80\x9E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
					'Beta;' => "\xCE\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
					'beta;' => "\xCE\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
					'brvbar' => "\xC2\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
					'brvbar;' => "\xC2\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
					'bull;' => "\xE2\x80\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
					'cap;' => "\xE2\x88\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
					'Ccedil' => "\xC3\x87",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
					'ccedil' => "\xC3\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
					'Ccedil;' => "\xC3\x87",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
					'ccedil;' => "\xC3\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
					'cedil' => "\xC2\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
					'cedil;' => "\xC2\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
					'cent' => "\xC2\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
					'cent;' => "\xC2\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
					'Chi;' => "\xCE\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
					'chi;' => "\xCF\x87",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
					'circ;' => "\xCB\x86",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
					'clubs;' => "\xE2\x99\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
					'cong;' => "\xE2\x89\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
					'COPY' => "\xC2\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
					'copy' => "\xC2\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
					'COPY;' => "\xC2\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
					'copy;' => "\xC2\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
					'crarr;' => "\xE2\x86\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
					'cup;' => "\xE2\x88\xAA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
					'curren' => "\xC2\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
					'curren;' => "\xC2\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
					'Dagger;' => "\xE2\x80\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
					'dagger;' => "\xE2\x80\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
					'dArr;' => "\xE2\x87\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
					'darr;' => "\xE2\x86\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
					'deg' => "\xC2\xB0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
					'deg;' => "\xC2\xB0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
					'Delta;' => "\xCE\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
					'delta;' => "\xCE\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
					'diams;' => "\xE2\x99\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
					'divide' => "\xC3\xB7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
					'divide;' => "\xC3\xB7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
					'Eacute' => "\xC3\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
					'eacute' => "\xC3\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
					'Eacute;' => "\xC3\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
					'eacute;' => "\xC3\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
					'Ecirc' => "\xC3\x8A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
					'ecirc' => "\xC3\xAA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
					'Ecirc;' => "\xC3\x8A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
					'ecirc;' => "\xC3\xAA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
					'Egrave' => "\xC3\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
					'egrave' => "\xC3\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
					'Egrave;' => "\xC3\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
					'egrave;' => "\xC3\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
					'empty;' => "\xE2\x88\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
					'emsp;' => "\xE2\x80\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
					'ensp;' => "\xE2\x80\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
					'Epsilon;' => "\xCE\x95",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
					'epsilon;' => "\xCE\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
					'equiv;' => "\xE2\x89\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
					'Eta;' => "\xCE\x97",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
					'eta;' => "\xCE\xB7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
					'ETH' => "\xC3\x90",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
					'eth' => "\xC3\xB0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
					'ETH;' => "\xC3\x90",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
					'eth;' => "\xC3\xB0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
					'Euml' => "\xC3\x8B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
					'euml' => "\xC3\xAB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
					'Euml;' => "\xC3\x8B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
					'euml;' => "\xC3\xAB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
					'euro;' => "\xE2\x82\xAC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
					'exist;' => "\xE2\x88\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
					'fnof;' => "\xC6\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
					'forall;' => "\xE2\x88\x80",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
					'frac12' => "\xC2\xBD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
					'frac12;' => "\xC2\xBD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
					'frac14' => "\xC2\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
					'frac14;' => "\xC2\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
					'frac34' => "\xC2\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
					'frac34;' => "\xC2\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
					'frasl;' => "\xE2\x81\x84",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
					'Gamma;' => "\xCE\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
					'gamma;' => "\xCE\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
					'ge;' => "\xE2\x89\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
					'GT' => "\x3E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
					'gt' => "\x3E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
					'GT;' => "\x3E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
					'gt;' => "\x3E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
					'hArr;' => "\xE2\x87\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
					'harr;' => "\xE2\x86\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
					'hearts;' => "\xE2\x99\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
					'hellip;' => "\xE2\x80\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
					'Iacute' => "\xC3\x8D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
					'iacute' => "\xC3\xAD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
					'Iacute;' => "\xC3\x8D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
					'iacute;' => "\xC3\xAD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
					'Icirc' => "\xC3\x8E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
					'icirc' => "\xC3\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
					'Icirc;' => "\xC3\x8E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
					'icirc;' => "\xC3\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
					'iexcl' => "\xC2\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
					'iexcl;' => "\xC2\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
					'Igrave' => "\xC3\x8C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
					'igrave' => "\xC3\xAC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
					'Igrave;' => "\xC3\x8C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
					'igrave;' => "\xC3\xAC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
					'image;' => "\xE2\x84\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
					'infin;' => "\xE2\x88\x9E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
					'int;' => "\xE2\x88\xAB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
					'Iota;' => "\xCE\x99",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
					'iota;' => "\xCE\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
					'iquest' => "\xC2\xBF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
					'iquest;' => "\xC2\xBF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
					'isin;' => "\xE2\x88\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
					'Iuml' => "\xC3\x8F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
					'iuml' => "\xC3\xAF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
					'Iuml;' => "\xC3\x8F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
					'iuml;' => "\xC3\xAF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
					'Kappa;' => "\xCE\x9A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
					'kappa;' => "\xCE\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
					'Lambda;' => "\xCE\x9B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
					'lambda;' => "\xCE\xBB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
					'lang;' => "\xE3\x80\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
					'laquo' => "\xC2\xAB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
					'laquo;' => "\xC2\xAB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
					'lArr;' => "\xE2\x87\x90",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
					'larr;' => "\xE2\x86\x90",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
					'lceil;' => "\xE2\x8C\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
					'ldquo;' => "\xE2\x80\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
					'le;' => "\xE2\x89\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
					'lfloor;' => "\xE2\x8C\x8A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
					'lowast;' => "\xE2\x88\x97",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
					'loz;' => "\xE2\x97\x8A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
					'lrm;' => "\xE2\x80\x8E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
					'lsaquo;' => "\xE2\x80\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
					'lsquo;' => "\xE2\x80\x98",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
					'LT' => "\x3C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
					'lt' => "\x3C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
					'LT;' => "\x3C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
					'lt;' => "\x3C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
					'macr' => "\xC2\xAF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
					'macr;' => "\xC2\xAF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
					'mdash;' => "\xE2\x80\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
					'micro' => "\xC2\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
					'micro;' => "\xC2\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
					'middot' => "\xC2\xB7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
					'middot;' => "\xC2\xB7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
					'minus;' => "\xE2\x88\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
					'Mu;' => "\xCE\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
					'mu;' => "\xCE\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
					'nabla;' => "\xE2\x88\x87",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
					'nbsp' => "\xC2\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
					'nbsp;' => "\xC2\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
					'ndash;' => "\xE2\x80\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
					'ne;' => "\xE2\x89\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
					'ni;' => "\xE2\x88\x8B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
					'not' => "\xC2\xAC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
					'not;' => "\xC2\xAC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
					'notin;' => "\xE2\x88\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
					'nsub;' => "\xE2\x8A\x84",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
					'Ntilde' => "\xC3\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
					'ntilde' => "\xC3\xB1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
					'Ntilde;' => "\xC3\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
					'ntilde;' => "\xC3\xB1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
					'Nu;' => "\xCE\x9D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
					'nu;' => "\xCE\xBD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
					'Oacute' => "\xC3\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
					'oacute' => "\xC3\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
					'Oacute;' => "\xC3\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
					'oacute;' => "\xC3\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
					'Ocirc' => "\xC3\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
					'ocirc' => "\xC3\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
					'Ocirc;' => "\xC3\x94",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
					'ocirc;' => "\xC3\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
					'OElig;' => "\xC5\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
					'oelig;' => "\xC5\x93",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
					'Ograve' => "\xC3\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
					'ograve' => "\xC3\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
					'Ograve;' => "\xC3\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
					'ograve;' => "\xC3\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
					'oline;' => "\xE2\x80\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
					'Omega;' => "\xCE\xA9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
					'omega;' => "\xCF\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
					'Omicron;' => "\xCE\x9F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
					'omicron;' => "\xCE\xBF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
					'oplus;' => "\xE2\x8A\x95",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
					'or;' => "\xE2\x88\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
					'ordf' => "\xC2\xAA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
					'ordf;' => "\xC2\xAA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
					'ordm' => "\xC2\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
					'ordm;' => "\xC2\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
					'Oslash' => "\xC3\x98",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
					'oslash' => "\xC3\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
					'Oslash;' => "\xC3\x98",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
					'oslash;' => "\xC3\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
					'Otilde' => "\xC3\x95",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
					'otilde' => "\xC3\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
					'Otilde;' => "\xC3\x95",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
					'otilde;' => "\xC3\xB5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
					'otimes;' => "\xE2\x8A\x97",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
					'Ouml' => "\xC3\x96",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
					'ouml' => "\xC3\xB6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
					'Ouml;' => "\xC3\x96",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
					'ouml;' => "\xC3\xB6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
					'para' => "\xC2\xB6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
					'para;' => "\xC2\xB6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
					'part;' => "\xE2\x88\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
					'permil;' => "\xE2\x80\xB0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
					'perp;' => "\xE2\x8A\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
					'Phi;' => "\xCE\xA6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
					'phi;' => "\xCF\x86",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
					'Pi;' => "\xCE\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
					'pi;' => "\xCF\x80",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
					'piv;' => "\xCF\x96",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
					'plusmn' => "\xC2\xB1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
					'plusmn;' => "\xC2\xB1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
					'pound' => "\xC2\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
					'pound;' => "\xC2\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
					'Prime;' => "\xE2\x80\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
					'prime;' => "\xE2\x80\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
					'prod;' => "\xE2\x88\x8F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
					'prop;' => "\xE2\x88\x9D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
					'Psi;' => "\xCE\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
					'psi;' => "\xCF\x88",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
					'QUOT' => "\x22",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
					'quot' => "\x22",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
					'QUOT;' => "\x22",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
					'quot;' => "\x22",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
					'radic;' => "\xE2\x88\x9A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
					'rang;' => "\xE3\x80\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
					'raquo' => "\xC2\xBB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
					'raquo;' => "\xC2\xBB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
					'rArr;' => "\xE2\x87\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
					'rarr;' => "\xE2\x86\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
					'rceil;' => "\xE2\x8C\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
					'rdquo;' => "\xE2\x80\x9D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
					'real;' => "\xE2\x84\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
					'REG' => "\xC2\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
					'reg' => "\xC2\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
					'REG;' => "\xC2\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
					'reg;' => "\xC2\xAE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
					'rfloor;' => "\xE2\x8C\x8B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
					'Rho;' => "\xCE\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
					'rho;' => "\xCF\x81",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
					'rlm;' => "\xE2\x80\x8F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
					'rsaquo;' => "\xE2\x80\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
					'rsquo;' => "\xE2\x80\x99",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
					'sbquo;' => "\xE2\x80\x9A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
					'Scaron;' => "\xC5\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
					'scaron;' => "\xC5\xA1",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
					'sdot;' => "\xE2\x8B\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
					'sect' => "\xC2\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
					'sect;' => "\xC2\xA7",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
					'shy' => "\xC2\xAD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
					'shy;' => "\xC2\xAD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
					'Sigma;' => "\xCE\xA3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
					'sigma;' => "\xCF\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
					'sigmaf;' => "\xCF\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
					'sim;' => "\xE2\x88\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
					'spades;' => "\xE2\x99\xA0",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
					'sub;' => "\xE2\x8A\x82",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
					'sube;' => "\xE2\x8A\x86",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
					'sum;' => "\xE2\x88\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
					'sup;' => "\xE2\x8A\x83",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
					'sup1' => "\xC2\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
					'sup1;' => "\xC2\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
					'sup2' => "\xC2\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
					'sup2;' => "\xC2\xB2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
					'sup3' => "\xC2\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
					'sup3;' => "\xC2\xB3",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
					'supe;' => "\xE2\x8A\x87",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
					'szlig' => "\xC3\x9F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
					'szlig;' => "\xC3\x9F",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
					'Tau;' => "\xCE\xA4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
					'tau;' => "\xCF\x84",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
					'there4;' => "\xE2\x88\xB4",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
					'Theta;' => "\xCE\x98",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
					'theta;' => "\xCE\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
					'thetasym;' => "\xCF\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
					'thinsp;' => "\xE2\x80\x89",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
					'THORN' => "\xC3\x9E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
					'thorn' => "\xC3\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
					'THORN;' => "\xC3\x9E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
					'thorn;' => "\xC3\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
					'tilde;' => "\xCB\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
					'times' => "\xC3\x97",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
					'times;' => "\xC3\x97",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
					'TRADE;' => "\xE2\x84\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
					'trade;' => "\xE2\x84\xA2",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
					'Uacute' => "\xC3\x9A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
					'uacute' => "\xC3\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
					'Uacute;' => "\xC3\x9A",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
					'uacute;' => "\xC3\xBA",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
					'uArr;' => "\xE2\x87\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
					'uarr;' => "\xE2\x86\x91",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
					'Ucirc' => "\xC3\x9B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
					'ucirc' => "\xC3\xBB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
					'Ucirc;' => "\xC3\x9B",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
					'ucirc;' => "\xC3\xBB",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
					'Ugrave' => "\xC3\x99",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
					'ugrave' => "\xC3\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
					'Ugrave;' => "\xC3\x99",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
					'ugrave;' => "\xC3\xB9",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
					'uml' => "\xC2\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
					'uml;' => "\xC2\xA8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
					'upsih;' => "\xCF\x92",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
					'Upsilon;' => "\xCE\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
					'upsilon;' => "\xCF\x85",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
					'Uuml' => "\xC3\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
					'uuml' => "\xC3\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
					'Uuml;' => "\xC3\x9C",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
					'uuml;' => "\xC3\xBC",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
					'weierp;' => "\xE2\x84\x98",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
					'Xi;' => "\xCE\x9E",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
					'xi;' => "\xCE\xBE",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
					'Yacute' => "\xC3\x9D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
					'yacute' => "\xC3\xBD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
					'Yacute;' => "\xC3\x9D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
					'yacute;' => "\xC3\xBD",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
					'yen' => "\xC2\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
					'yen;' => "\xC2\xA5",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
					'yuml' => "\xC3\xBF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
					'Yuml;' => "\xC5\xB8",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
					'yuml;' => "\xC3\xBF",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
					'Zeta;' => "\xCE\x96",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
					'zeta;' => "\xCE\xB6",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
					'zwj;' => "\xE2\x80\x8D",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
					'zwnj;' => "\xE2\x80\x8C"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
				);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
				for ($i = 0, $match = null; $i < 9 && $this->consume() !== false; $i++)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
					$consumed = substr($this->consumed, 1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
					if (isset($entities[$consumed]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
						$match = $consumed;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
				if ($match !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
 					$this->data = substr_replace($this->data, $entities[$match], $this->position - strlen($consumed) - 1, strlen($match) + 1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
					$this->position += strlen($entities[$match]) - strlen($consumed) - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
}