diff -u b/core/includes/common.inc b/core/includes/common.inc --- b/core/includes/common.inc +++ b/core/includes/common.inc @@ -7436,26 +7436,6 @@ * @} End of "defgroup queue". */ -/** - * Transliterates text from Unicode to US-ASCII. - * - * The registered 'transliteration' factory is instantiated (see - * TransliterationFactory) to find the right TransliterationInterface class to - * use. This class is used to perform the transliteration. - * - * @param string $string - * The string to be transliterated. - * @param string $langcode - * (optional) The language code of the language the string is in. Defaults - * to the current interface language if not provided. - * @param string $unknown_character - * (optional) The character to substitute for unrecognized characters. - * Defaults to '?'. - * - * @return string - * $string with non-US-ASCII characters transliterated to US-ASCII characters, - * and unknown characters replaced with $unknown_character. - */ function transliterate($string, $langcode = NULL, $unknown_character = '?') { if (empty($langcode)) { $langcode = language(LANGUAGE_TYPE_INTERFACE)->langcode; --- b/core/lib/Drupal/Component/Transliteration/PHPTransliteration.php +++ /dev/null @@ -1,238 +0,0 @@ -tailBytes)) { - self::setupTailBytesTable(); - } - - // Chop the text into pure-US-ASCII and non-US-ASCII areas; large US-ASCII - // parts can be handled much more quickly. Don't chop up Unicode areas for - // punctuation, though, as that wastes energy. - preg_match_all('/[\x00-\x7f]+|[\x80-\xff][\x00-\x40\x5b-\x5f\x7b-\xff]*/', $string, $matches); - - $result = ''; - foreach ($matches[0] as $str) { - if ($str[0] < "\x80") { - // ASCII chunk: guaranteed to be valid UTF-8 and in normal form C, so - // skip over it. - $result .= $str; - continue; - } - - // We'll have to examine the chunk byte by byte to ensure that it consists - // of valid UTF-8 sequences, and to see if any of them might not be - // normalized. - // Since PHP is not the fastest language on earth, some of this code is a - // little ugly with inner loop optimizations. - $head = ''; - $chunk = strlen($str); - // Counting down is faster. I'm *so* sorry. - $len = $chunk + 1; - - for ($i = -1; --$len; ) { - $c = $str[++$i]; - if ($remaining = $this->tailBytes[$c]) { - // UTF-8 head byte! - $sequence = $head = $c; - do { - // Look for the defined number of tail bytes... - if (--$len && ($c = $str[++$i]) >= "\x80" && $c < "\xc0") { - // Legal tail bytes are nice. - $sequence .= $c; - } - else { - if ($len == 0) { - // Premature end of string! Drop a replacement character into - // output to represent the invalid UTF-8 sequence. - $result .= $this->unknownCharacter; - break 2; - } - else { - // Illegal tail byte; abandon the sequence. - $result .= $this->unknownCharacter; - // Back up and reprocess this byte; it may itself be a legal - // ASCII or UTF-8 sequence head. - --$i; - ++$len; - continue 2; - } - } - } while (--$remaining); - - $n = ord($head); - if ($n <= 0xdf) { - $ord = ($n - 192) * 64 + (ord($sequence[1]) - 128); - } - elseif ($n <= 0xef) { - $ord = ($n - 224) * 4096 + (ord($sequence[1]) - 128) * 64 + (ord($sequence[2]) - 128); - } - elseif ($n <= 0xf7) { - $ord = ($n - 240) * 262144 + (ord($sequence[1]) - 128) * 4096 + (ord($sequence[2]) - 128) * 64 + (ord($sequence[3]) - 128); - } - elseif ($n <= 0xfb) { - $ord = ($n - 248) * 16777216 + (ord($sequence[1]) - 128) * 262144 + (ord($sequence[2]) - 128) * 4096 + (ord($sequence[3]) - 128) * 64 + (ord($sequence[4]) - 128); - } - elseif ($n <= 0xfd) { - $ord = ($n - 252) * 1073741824 + (ord($sequence[1]) - 128) * 16777216 + (ord($sequence[2]) - 128) * 262144 + (ord($sequence[3]) - 128) * 4096 + (ord($sequence[4]) - 128) * 64 + (ord($sequence[5]) - 128); - } - $result .= $this->replace($ord); - $head = ''; - } - elseif ($c < "\x80") { - // ASCII byte. - $result .= $c; - $head = ''; - } - elseif ($c < "\xc0") { - // Illegal tail bytes. - if ($head == '') { - $result .= $this->unknownCharacter; - } - } - else { - // Miscellaneous freaks. - $result .= $this->unknownCharacter; - $head = ''; - } - } - } - - return $result; - } - - /** - * Replaces a single Unicode character using the transliteration database. - * - * @param int $ord - * An ordinal Unicode character code. - * - * @return string - * US-ASCII replacement string. If $ord has a mapping, it is returned; - * otherwise, $this->unknownCharacter is returned. - */ - protected function replace($ord) { - // See if there is a language-specific override for this character. - if (isset(self::$languageOverrides[$this->langcode][$ord])) { - return self::$languageOverrides[$this->langcode][$ord]; - } - - // Read in the file containing generic transliteration tables, if it - // has not been read in before. - $bank = $ord >> 8; - if (!isset($this->genericMap[$bank])) { - $file = $this->dataDirectory . '/' . sprintf('x%02x', $bank) . '.php'; - if (file_exists($file)) { - include $file; - $this->genericMap[$bank] = $base; - } - else { - $this->genericMap[$bank] = array(); - } - } - - // Look up the character in the generic transliteration tables, and return - // the looked-up result, or $this->unknownCharacter if not found. - $ord = $ord & 255; - return isset($this->genericMap[$bank][$ord]) ? $this->genericMap[$bank][$ord] : $this->unknownCharacter; - } - - /** - * Sets up the table of tail bytes for Unicode tables. - */ - static protected function setupTailBytesTable() { - if (isset($this->tailBytes)) { - return; - } - - $this->tailBytes = array(); - - for ($n = 0; $n < 256; $n++) { - if ($n < 0xc0) { - $remaining = 0; - } - elseif ($n < 0xe0) { - $remaining = 1; - } - elseif ($n < 0xf0) { - $remaining = 2; - } - elseif ($n < 0xf8) { - $remaining = 3; - } - elseif ($n < 0xfc) { - $remaining = 4; - } - elseif ($n < 0xfe) { - $remaining = 5; - } - else { - $remaining = 0; - } - $this->tailBytes[chr($n)] = $remaining; - } - } -} diff -u b/core/lib/Drupal/Component/Transliteration/Transliteration.php b/core/lib/Drupal/Component/Transliteration/Transliteration.php --- b/core/lib/Drupal/Component/Transliteration/Transliteration.php +++ b/core/lib/Drupal/Component/Transliteration/Transliteration.php @@ -8,67 +8,26 @@ namespace Drupal\Component\Transliteration; /** - * Provides a base class for transliteration implementations. + * Base class for transliteration implementations. */ abstract class Transliteration implements TransliterationInterface { - /** - * The language code of the language to use for transliteration. - * - * @var string - */ protected $langcode; - - /** - * Character to substitute for unrecognized characters in transliteration. - * - * @var string - */ protected $unknownCharacter; - - /** - * Directory where data for transliteration resides. - * - * The constructor for the Transliteration base class sets this to - * subdirectory 'data' underneath the directory where the class's PHP - * file resides. - * - * @var string - */ protected $dataDirectory; - - /** - * Associative array of language-specific character transliteration tables. - * - * The outermost array keys are language codes. For each language code key, - * the value is an array whose keys are Unicode characters, and whose values - * are the transliterations of those characters to US-ASCII. - * - * If unset, the constructor for the Transliteration base class sets this by - * loading file $dataDirectory/language_overrides.php and using the resulting - * value of the global-scope variable $overrides. - * - * @var array - */ protected static $languageOverrides = array(); /** - * Constructs the transliteration object. - * - * @param string $langcode - * (optional) The language code to use for transliteration. Defaults to - * 'en'. - * @param string $unknown_character - * (optional) Character to substitute for unrecognized characters. Defaults - * to '?'. + * Instantiates the correct transliteration object. */ public function __construct($langcode = 'en', $unknown_character = '?') { $this->langcode = $langcode; $this->unknownCharacter = $unknown_character; - // Initialize the language override tables, if not already set before - // this constructor is called. $this->dataDirectory = dirname(__FILE__) . '/data'; + + // Initialize the language overrides in the base class so all available + // implementations can take them into consideration. if (empty(self::$languageOverrides)) { include $this->dataDirectory . '/language_overrides.php'; self::$languageOverrides = $overrides; @@ -77,10 +36,6 @@ /** * Implements Drupal\Component\Transliteration\TransliterationInterface::transliterate(). - * - * @return string|null - * If $string only contains US-ASCII characters, it is returned. Otherwise - * NULL is returned. */ public function transliterate($string) { // ASCII is always valid NFC! If we're only ever given plain ASCII, we can @@ -90,6 +45,4 @@ return $string; } - - return NULL; } } diff -u b/core/lib/Drupal/Component/Transliteration/TransliterationFactory.php b/core/lib/Drupal/Component/Transliteration/TransliterationFactory.php --- b/core/lib/Drupal/Component/Transliteration/TransliterationFactory.php +++ b/core/lib/Drupal/Component/Transliteration/TransliterationFactory.php @@ -9,21 +9,32 @@ /** - * Instantiates classes for transliterations. + * Factory class for transliterations. + * + * Determines which transliteration implementation to use based on the PHP + * version and available extensions. */ class TransliterationFactory { /** - * Returns a class for transliteration. - * - * @param string $langcode - * The language code to use for transliteration. - * @param string $unknown_character - * Character to substitute for unrecognized characters. + * Returns a configuration object for a given string. * * @return Drupal\Component\Transliteration\Transliteration - * An instantiated class for transliterating the given language. + * A transliteration object with the given $string. */ public function get($langcode, $unknown_character) { - return new PHPTransliteration($langcode, $unknown_character); + static $class; + + if (empty($class)) { + $class = 'Drupal\Component\Transliteration\PhpTransliteration'; + + // If we have the 'intl' extension available and PHP 5.4 or the PECL + // version >= 2.0.0, use the native ICU implementation. + if (extension_loaded('intl') + && (version_compare(PHP_VERSION, '5.4.0', '>=') || version_compare(phpversion('intl'), '2.0.0', '>='))) { + $class = 'Drupal\Component\Transliteration\IcuTransliteration'; + } + } + + return new $class($langcode, $unknown_character); } } diff -u b/core/lib/Drupal/Component/Transliteration/TransliterationInterface.php b/core/lib/Drupal/Component/Transliteration/TransliterationInterface.php --- b/core/lib/Drupal/Component/Transliteration/TransliterationInterface.php +++ b/core/lib/Drupal/Component/Transliteration/TransliterationInterface.php @@ -13,13 +13,13 @@ interface TransliterationInterface { /** - * Transliterates text from Unicode to US-ASCII. + * Transliterates a string. * * @param string $string - * The string to transliterate. + * The string that will be transliterated. * * @return string - * $string with non-US-ASCII characters transliterated to ASCII characters. + * The transliterated string, represented in US-ASCII characters. */ public function transliterate($string); } diff -u b/core/lib/Drupal/Component/Transliteration/data/language_overrides.php b/core/lib/Drupal/Component/Transliteration/data/language_overrides.php --- b/core/lib/Drupal/Component/Transliteration/data/language_overrides.php +++ b/core/lib/Drupal/Component/Transliteration/data/language_overrides.php @@ -1,10 +1,5 @@ 'Aa', diff -u b/core/lib/Drupal/Component/Transliteration/data/x00.php b/core/lib/Drupal/Component/Transliteration/data/x00.php --- b/core/lib/Drupal/Component/Transliteration/data/x00.php +++ b/core/lib/Drupal/Component/Transliteration/data/x00.php @@ -1,10 +1,5 @@ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x01.php b/core/lib/Drupal/Component/Transliteration/data/x01.php --- b/core/lib/Drupal/Component/Transliteration/data/x01.php +++ b/core/lib/Drupal/Component/Transliteration/data/x01.php @@ -1,10 +1,5 @@ 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 0x10 => 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', diff -u b/core/lib/Drupal/Component/Transliteration/data/x02.php b/core/lib/Drupal/Component/Transliteration/data/x02.php --- b/core/lib/Drupal/Component/Transliteration/data/x02.php +++ b/core/lib/Drupal/Component/Transliteration/data/x02.php @@ -1,10 +1,5 @@ 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'O', 'o', 'O', 'o', 0x10 => 'R', 'r', 'R', 'r', 'U', 'u', 'U', 'u', 'S', 's', 'T', 't', 'Y', 'y', 'H', 'h', diff -u b/core/lib/Drupal/Component/Transliteration/data/x03.php b/core/lib/Drupal/Component/Transliteration/data/x03.php --- b/core/lib/Drupal/Component/Transliteration/data/x03.php +++ b/core/lib/Drupal/Component/Transliteration/data/x03.php @@ -1,10 +1,5 @@ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0x10 => '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x04.php b/core/lib/Drupal/Component/Transliteration/data/x04.php --- b/core/lib/Drupal/Component/Transliteration/data/x04.php +++ b/core/lib/Drupal/Component/Transliteration/data/x04.php @@ -1,10 +1,5 @@ 'Jo', 'Yo', 'Dj', 'Gj', 'Ie', 'Dz', 'I', 'Yi', 'J', 'Lj', 'Nj', 'Tsh', 'Kj', 'I', 'U', 'Dzh', 0x10 => 'A', 'B', 'V', 'G', 'D', 'E', 'Zh', 'Z', 'I', 'Y', 'K', 'L', 'M', 'N', 'O', 'P', diff -u b/core/lib/Drupal/Component/Transliteration/data/x05.php b/core/lib/Drupal/Component/Transliteration/data/x05.php --- b/core/lib/Drupal/Component/Transliteration/data/x05.php +++ b/core/lib/Drupal/Component/Transliteration/data/x05.php @@ -1,10 +1,5 @@ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0x10 => NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x06.php b/core/lib/Drupal/Component/Transliteration/data/x06.php --- b/core/lib/Drupal/Component/Transliteration/data/x06.php +++ b/core/lib/Drupal/Component/Transliteration/data/x06.php @@ -1,10 +1,5 @@ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ',', NULL, NULL, NULL, 0x10 => NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ';', NULL, NULL, NULL, '?', diff -u b/core/lib/Drupal/Component/Transliteration/data/x07.php b/core/lib/Drupal/Component/Transliteration/data/x07.php --- b/core/lib/Drupal/Component/Transliteration/data/x07.php +++ b/core/lib/Drupal/Component/Transliteration/data/x07.php @@ -1,10 +1,5 @@ '//', '/', ',', '!', '!', '-', ',', ',', ';', '?', '~', '{', '}', '*', NULL, '', 0x10 => '\'', '', 'b', 'g', 'g', 'd', 'd', 'h', 'w', 'z', 'H', 't', 't', 'y', 'yh', 'k', diff -u b/core/lib/Drupal/Component/Transliteration/data/x09.php b/core/lib/Drupal/Component/Transliteration/data/x09.php --- b/core/lib/Drupal/Component/Transliteration/data/x09.php +++ b/core/lib/Drupal/Component/Transliteration/data/x09.php @@ -1,10 +1,5 @@ NULL, 'N', 'N', 'H', NULL, 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', 'eN', 'e', 'e', 0x10 => 'ai', 'oN', 'o', 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 'tt', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0a.php b/core/lib/Drupal/Component/Transliteration/data/x0a.php --- b/core/lib/Drupal/Component/Transliteration/data/x0a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0a.php @@ -1,10 +1,5 @@ NULL, NULL, 'N', NULL, NULL, 'a', 'aa', 'i', 'ii', 'u', 'uu', NULL, NULL, NULL, NULL, 'ee', 0x10 => 'ai', NULL, NULL, 'oo', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 'tt', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0b.php b/core/lib/Drupal/Component/Transliteration/data/x0b.php --- b/core/lib/Drupal/Component/Transliteration/data/x0b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0b.php @@ -1,10 +1,5 @@ NULL, 'N', 'N', 'H', NULL, 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', NULL, NULL, 'e', 0x10 => 'ai', NULL, NULL, 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 'tt', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0c.php b/core/lib/Drupal/Component/Transliteration/data/x0c.php --- b/core/lib/Drupal/Component/Transliteration/data/x0c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0c.php @@ -1,9 +1,4 @@ -o NULL, 'N', 'N', 'H', NULL, 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', NULL, 'e', 'ee', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0d.php b/core/lib/Drupal/Component/Transliteration/data/x0d.php --- b/core/lib/Drupal/Component/Transliteration/data/x0d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0d.php @@ -1,9 +1,4 @@ -o NULL, NULL, 'N', 'H', NULL, 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', NULL, 'e', 'ee', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0e.php b/core/lib/Drupal/Component/Transliteration/data/x0e.php --- b/core/lib/Drupal/Component/Transliteration/data/x0e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0e.php @@ -1,9 +1,4 @@ -o NULL, 'k', 'kh', 'kh', 'kh', 'kh', 'kh', 'ng', 'cch', 'ch', 'ch', 'ch', 'ch', 'y', 'd', 't', diff -u b/core/lib/Drupal/Component/Transliteration/data/x0f.php b/core/lib/Drupal/Component/Transliteration/data/x0f.php --- b/core/lib/Drupal/Component/Transliteration/data/x0f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x0f.php @@ -1,9 +1,4 @@ -o 'AUM', '', '', '', '', '', '', '', ' // ', ' * ', '', '-', ' / ', ' / ', ' // ', ' -/ ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x10.php b/core/lib/Drupal/Component/Transliteration/data/x10.php --- b/core/lib/Drupal/Component/Transliteration/data/x10.php +++ b/core/lib/Drupal/Component/Transliteration/data/x10.php @@ -1,9 +1,4 @@ -o 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 'nny', 'tt', 'tth', 'dd', 'ddh', 'nn', diff -u b/core/lib/Drupal/Component/Transliteration/data/x11.php b/core/lib/Drupal/Component/Transliteration/data/x11.php --- b/core/lib/Drupal/Component/Transliteration/data/x11.php +++ b/core/lib/Drupal/Component/Transliteration/data/x11.php @@ -1,9 +1,4 @@ -o 'g', 'gg', 'n', 'd', 'dd', 'r', 'm', 'b', 'bb', 's', 'ss', '', 'j', 'jj', 'c', 'k', diff -u b/core/lib/Drupal/Component/Transliteration/data/x12.php b/core/lib/Drupal/Component/Transliteration/data/x12.php --- b/core/lib/Drupal/Component/Transliteration/data/x12.php +++ b/core/lib/Drupal/Component/Transliteration/data/x12.php @@ -1,9 +1,4 @@ -o 'ha', 'hu', 'hi', 'haa', 'hee', 'he', 'ho', NULL, 'la', 'lu', 'li', 'laa', 'lee', 'le', 'lo', 'lwa', diff -u b/core/lib/Drupal/Component/Transliteration/data/x13.php b/core/lib/Drupal/Component/Transliteration/data/x13.php --- b/core/lib/Drupal/Component/Transliteration/data/x13.php +++ b/core/lib/Drupal/Component/Transliteration/data/x13.php @@ -1,9 +1,4 @@ -o 'ja', 'ju', 'ji', 'jaa', 'jee', 'je', 'jo', 'jwa', 'ga', 'gu', 'gi', 'gaa', 'gee', 'ge', 'go', NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x14.php b/core/lib/Drupal/Component/Transliteration/data/x14.php --- b/core/lib/Drupal/Component/Transliteration/data/x14.php +++ b/core/lib/Drupal/Component/Transliteration/data/x14.php @@ -1,10 +1,5 @@ NULL, 'ai', 'aai', 'i', 'ii', 'u', 'uu', 'oo', 'ee', 'i', 'a', 'aa', 'we', 'we', 'wi', 'wi', 0x10 => 'wii', 'wii', 'wo', 'wo', 'woo', 'woo', 'woo', 'wa', 'wa', 'waa', 'waa', 'waa', 'ai', 'w', '\'', 't', diff -u b/core/lib/Drupal/Component/Transliteration/data/x15.php b/core/lib/Drupal/Component/Transliteration/data/x15.php --- b/core/lib/Drupal/Component/Transliteration/data/x15.php +++ b/core/lib/Drupal/Component/Transliteration/data/x15.php @@ -1,10 +1,5 @@ 'swa', 'swa', 'swaa', 'swaa', 'swaa', 's', 's', 'sw', 's', 'sk', 'skw', 'sW', 'spwa', 'stwa', 'skwa', 'scwa', 0x10 => 'she', 'shi', 'shii', 'sho', 'shoo', 'sha', 'shaa', 'shwe', 'shwe', 'shwi', 'shwi', 'shwii', 'shwii', 'shwo', 'shwo', 'shwoo', diff -u b/core/lib/Drupal/Component/Transliteration/data/x16.php b/core/lib/Drupal/Component/Transliteration/data/x16.php --- b/core/lib/Drupal/Component/Transliteration/data/x16.php +++ b/core/lib/Drupal/Component/Transliteration/data/x16.php @@ -1,10 +1,5 @@ 'kka', 'kk', 'nu', 'no', 'ne', 'nee', 'ni', 'na', 'mu', 'mo', 'me', 'mee', 'mi', 'ma', 'yu', 'yo', 0x10 => 'ye', 'yee', 'yi', 'ya', 'ju', 'ju', 'jo', 'je', 'jee', 'ji', 'ji', 'ja', 'jju', 'jjo', 'jje', 'jjee', diff -u b/core/lib/Drupal/Component/Transliteration/data/x17.php b/core/lib/Drupal/Component/Transliteration/data/x17.php --- b/core/lib/Drupal/Component/Transliteration/data/x17.php +++ b/core/lib/Drupal/Component/Transliteration/data/x17.php @@ -1,10 +1,5 @@ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0x10 => NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x18.php b/core/lib/Drupal/Component/Transliteration/data/x18.php --- b/core/lib/Drupal/Component/Transliteration/data/x18.php +++ b/core/lib/Drupal/Component/Transliteration/data/x18.php @@ -1,9 +1,4 @@ -o ' @ ', ' ... ', ',', '. ', ': ', ' // ', '', '-', ',', '. ', '', '', '', '', '', NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x1e.php b/core/lib/Drupal/Component/Transliteration/data/x1e.php --- b/core/lib/Drupal/Component/Transliteration/data/x1e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x1e.php @@ -1,9 +1,4 @@ -o 'A', 'a', 'B', 'b', 'B', 'b', 'B', 'b', 'C', 'c', 'D', 'd', 'D', 'd', 'D', 'd', diff -u b/core/lib/Drupal/Component/Transliteration/data/x1f.php b/core/lib/Drupal/Component/Transliteration/data/x1f.php --- b/core/lib/Drupal/Component/Transliteration/data/x1f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x1f.php @@ -1,10 +1,5 @@ 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 0x10 => 'e', 'e', 'e', 'e', 'e', 'e', NULL, NULL, 'E', 'E', 'E', 'E', 'E', 'E', NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x20.php b/core/lib/Drupal/Component/Transliteration/data/x20.php --- b/core/lib/Drupal/Component/Transliteration/data/x20.php +++ b/core/lib/Drupal/Component/Transliteration/data/x20.php @@ -1,10 +1,5 @@ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', '', '', 0x10 => '-', '-', '-', '-', '--', '--', '||', '_', '\'', '\'', ',', '\'', '"', '"', ',,', '"', diff -u b/core/lib/Drupal/Component/Transliteration/data/x21.php b/core/lib/Drupal/Component/Transliteration/data/x21.php --- b/core/lib/Drupal/Component/Transliteration/data/x21.php +++ b/core/lib/Drupal/Component/Transliteration/data/x21.php @@ -1,9 +1,4 @@ -o '', '', 'C', '', '', '', '', '', '', '', 'g', 'H', 'H', 'H', 'h', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x22.php b/core/lib/Drupal/Component/Transliteration/data/x22.php --- b/core/lib/Drupal/Component/Transliteration/data/x22.php +++ b/core/lib/Drupal/Component/Transliteration/data/x22.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x23.php b/core/lib/Drupal/Component/Transliteration/data/x23.php --- b/core/lib/Drupal/Component/Transliteration/data/x23.php +++ b/core/lib/Drupal/Component/Transliteration/data/x23.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x24.php b/core/lib/Drupal/Component/Transliteration/data/x24.php --- b/core/lib/Drupal/Component/Transliteration/data/x24.php +++ b/core/lib/Drupal/Component/Transliteration/data/x24.php @@ -1,9 +1,4 @@ -o '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x25.php b/core/lib/Drupal/Component/Transliteration/data/x25.php --- b/core/lib/Drupal/Component/Transliteration/data/x25.php +++ b/core/lib/Drupal/Component/Transliteration/data/x25.php @@ -1,9 +1,4 @@ -o '-', '-', '|', '|', '-', '-', '|', '|', '-', '-', '|', '|', '+', '+', '+', '+', diff -u b/core/lib/Drupal/Component/Transliteration/data/x26.php b/core/lib/Drupal/Component/Transliteration/data/x26.php --- b/core/lib/Drupal/Component/Transliteration/data/x26.php +++ b/core/lib/Drupal/Component/Transliteration/data/x26.php @@ -1,9 +1,4 @@ -o '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x27.php b/core/lib/Drupal/Component/Transliteration/data/x27.php --- b/core/lib/Drupal/Component/Transliteration/data/x27.php +++ b/core/lib/Drupal/Component/Transliteration/data/x27.php @@ -1,9 +1,4 @@ -o NULL, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', diff -u b/core/lib/Drupal/Component/Transliteration/data/x28.php b/core/lib/Drupal/Component/Transliteration/data/x28.php --- b/core/lib/Drupal/Component/Transliteration/data/x28.php +++ b/core/lib/Drupal/Component/Transliteration/data/x28.php @@ -1,9 +1,4 @@ -o ' ', 'a', '1', 'b', '\'', 'k', '2', 'l', '@', 'c', 'i', 'f', '/', 'm', 's', 'p', diff -u b/core/lib/Drupal/Component/Transliteration/data/x2e.php b/core/lib/Drupal/Component/Transliteration/data/x2e.php --- b/core/lib/Drupal/Component/Transliteration/data/x2e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x2e.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x2f.php b/core/lib/Drupal/Component/Transliteration/data/x2f.php --- b/core/lib/Drupal/Component/Transliteration/data/x2f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x2f.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x30.php b/core/lib/Drupal/Component/Transliteration/data/x30.php --- b/core/lib/Drupal/Component/Transliteration/data/x30.php +++ b/core/lib/Drupal/Component/Transliteration/data/x30.php @@ -1,9 +1,4 @@ -o ' ', ',', '. ', '"', '[JIS]', '"', '/', '0', '<', '> ', '<<', '>> ', '[', '] ', '{', '} ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x31.php b/core/lib/Drupal/Component/Transliteration/data/x31.php --- b/core/lib/Drupal/Component/Transliteration/data/x31.php +++ b/core/lib/Drupal/Component/Transliteration/data/x31.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, 'B', 'P', 'M', 'F', 'D', 'T', 'N', 'L', 'G', 'K', 'H', diff -u b/core/lib/Drupal/Component/Transliteration/data/x32.php b/core/lib/Drupal/Component/Transliteration/data/x32.php --- b/core/lib/Drupal/Component/Transliteration/data/x32.php +++ b/core/lib/Drupal/Component/Transliteration/data/x32.php @@ -1,9 +1,4 @@ -o '(g)', '(n)', '(d)', '(r)', '(m)', '(b)', '(s)', '()', '(j)', '(c)', '(k)', '(t)', '(p)', '(h)', '(ga)', '(na)', diff -u b/core/lib/Drupal/Component/Transliteration/data/x33.php b/core/lib/Drupal/Component/Transliteration/data/x33.php --- b/core/lib/Drupal/Component/Transliteration/data/x33.php +++ b/core/lib/Drupal/Component/Transliteration/data/x33.php @@ -1,9 +1,4 @@ -o 'apartment', 'alpha', 'ampere', 'are', 'inning', 'inch', 'won', 'escudo', 'acre', 'ounce', 'ohm', 'kai-ri', 'carat', 'calorie', 'gallon', 'gamma', diff -u b/core/lib/Drupal/Component/Transliteration/data/x4d.php b/core/lib/Drupal/Component/Transliteration/data/x4d.php --- b/core/lib/Drupal/Component/Transliteration/data/x4d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x4d.php @@ -1,9 +1,4 @@ -o NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x4e.php b/core/lib/Drupal/Component/Transliteration/data/x4e.php --- b/core/lib/Drupal/Component/Transliteration/data/x4e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x4e.php @@ -1,9 +1,4 @@ -o 'Yi ', 'Ding ', 'Kao ', 'Qi ', 'Shang ', 'Xia ', NULL, 'Mo ', 'Zhang ', 'San ', 'Shang ', 'Xia ', 'Ji ', 'Bu ', 'Yu ', 'Mian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x4f.php b/core/lib/Drupal/Component/Transliteration/data/x4f.php --- b/core/lib/Drupal/Component/Transliteration/data/x4f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x4f.php @@ -1,10 +1,5 @@ 'Zhong ', 'Qi ', 'Pei ', 'Yu ', 'Diao ', 'Dun ', 'Wen ', 'Yi ', 'Xin ', 'Kang ', 'Yi ', 'Ji ', 'Ai ', 'Wu ', 'Ji ', 'Fu ', 0x10 => 'Fa ', 'Xiu ', 'Jin ', 'Bei ', 'Dan ', 'Fu ', 'Tang ', 'Zhong ', 'You ', 'Huo ', 'Hui ', 'Yu ', 'Cui ', 'Chuan ', 'San ', 'Wei ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x50.php b/core/lib/Drupal/Component/Transliteration/data/x50.php --- b/core/lib/Drupal/Component/Transliteration/data/x50.php +++ b/core/lib/Drupal/Component/Transliteration/data/x50.php @@ -1,9 +1,4 @@ -o 'Chang ', 'Chi ', 'Bing ', 'Zan ', 'Yao ', 'Cui ', 'Lia ', 'Wan ', 'Lai ', 'Cang ', 'Zong ', 'Ge ', 'Guan ', 'Bei ', 'Tian ', 'Shu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x51.php b/core/lib/Drupal/Component/Transliteration/data/x51.php --- b/core/lib/Drupal/Component/Transliteration/data/x51.php +++ b/core/lib/Drupal/Component/Transliteration/data/x51.php @@ -1,9 +1,4 @@ -o 'Yi ', 'Jun ', 'Nong ', 'Chan ', 'Yi ', 'Dang ', 'Jing ', 'Xuan ', 'Kuai ', 'Jian ', 'Chu ', 'Dan ', 'Jiao ', 'Sha ', 'Zai ', NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x52.php b/core/lib/Drupal/Component/Transliteration/data/x52.php --- b/core/lib/Drupal/Component/Transliteration/data/x52.php +++ b/core/lib/Drupal/Component/Transliteration/data/x52.php @@ -1,9 +1,4 @@ -o 'Dao ', 'Diao ', 'Dao ', 'Ren ', 'Ren ', 'Chuang ', 'Fen ', 'Qie ', 'Yi ', 'Ji ', 'Kan ', 'Qian ', 'Cun ', 'Chu ', 'Wen ', 'Ji ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x53.php b/core/lib/Drupal/Component/Transliteration/data/x53.php --- b/core/lib/Drupal/Component/Transliteration/data/x53.php +++ b/core/lib/Drupal/Component/Transliteration/data/x53.php @@ -1,9 +1,4 @@ -o 'Yun ', 'Mwun ', 'Nay ', 'Gai ', 'Gai ', 'Bao ', 'Cong ', NULL, 'Xiong ', 'Peng ', 'Ju ', 'Tao ', 'Ge ', 'Pu ', 'An ', 'Pao ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x54.php b/core/lib/Drupal/Component/Transliteration/data/x54.php --- b/core/lib/Drupal/Component/Transliteration/data/x54.php +++ b/core/lib/Drupal/Component/Transliteration/data/x54.php @@ -1,9 +1,4 @@ -o 'Mie ', 'Xu ', 'Mang ', 'Chi ', 'Ge ', 'Xuan ', 'Yao ', 'Zi ', 'He ', 'Ji ', 'Diao ', 'Cun ', 'Tong ', 'Ming ', 'Hou ', 'Li ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x55.php b/core/lib/Drupal/Component/Transliteration/data/x55.php --- b/core/lib/Drupal/Component/Transliteration/data/x55.php +++ b/core/lib/Drupal/Component/Transliteration/data/x55.php @@ -1,9 +1,4 @@ -o 'You ', 'Yan ', 'Gu ', 'Gu ', 'Bai ', 'Han ', 'Suo ', 'Chun ', 'Yi ', 'Ai ', 'Jia ', 'Tu ', 'Xian ', 'Huan ', 'Li ', 'Xi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x56.php b/core/lib/Drupal/Component/Transliteration/data/x56.php --- b/core/lib/Drupal/Component/Transliteration/data/x56.php +++ b/core/lib/Drupal/Component/Transliteration/data/x56.php @@ -1,9 +1,4 @@ -o 'Di ', 'Qi ', 'Jiao ', 'Chong ', 'Jiao ', 'Kai ', 'Tan ', 'San ', 'Cao ', 'Jia ', 'Ai ', 'Xiao ', 'Piao ', 'Lou ', 'Ga ', 'Gu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x57.php b/core/lib/Drupal/Component/Transliteration/data/x57.php --- b/core/lib/Drupal/Component/Transliteration/data/x57.php +++ b/core/lib/Drupal/Component/Transliteration/data/x57.php @@ -1,9 +1,4 @@ -o 'Guo ', 'Yin ', 'Hun ', 'Pu ', 'Yu ', 'Han ', 'Yuan ', 'Lun ', 'Quan ', 'Yu ', 'Qing ', 'Guo ', 'Chuan ', 'Wei ', 'Yuan ', 'Quan ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x58.php b/core/lib/Drupal/Component/Transliteration/data/x58.php --- b/core/lib/Drupal/Component/Transliteration/data/x58.php +++ b/core/lib/Drupal/Component/Transliteration/data/x58.php @@ -1,9 +1,4 @@ -o 'Ku ', 'Ke ', 'Tang ', 'Kun ', 'Ni ', 'Jian ', 'Dui ', 'Jin ', 'Gang ', 'Yu ', 'E ', 'Peng ', 'Gu ', 'Tu ', 'Leng ', NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x59.php b/core/lib/Drupal/Component/Transliteration/data/x59.php --- b/core/lib/Drupal/Component/Transliteration/data/x59.php +++ b/core/lib/Drupal/Component/Transliteration/data/x59.php @@ -1,9 +1,4 @@ -o 'Shou ', 'Yi ', 'Zhi ', 'Gu ', 'Chu ', 'Jiang ', 'Feng ', 'Bei ', 'Cay ', 'Bian ', 'Sui ', 'Qun ', 'Ling ', 'Fu ', 'Zuo ', 'Xia ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5a.php b/core/lib/Drupal/Component/Transliteration/data/x5a.php --- b/core/lib/Drupal/Component/Transliteration/data/x5a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5a.php @@ -1,9 +1,4 @@ -o 'Song ', 'Wei ', 'Hong ', 'Wa ', 'Lou ', 'Ya ', 'Rao ', 'Jiao ', 'Luan ', 'Ping ', 'Xian ', 'Shao ', 'Li ', 'Cheng ', 'Xiao ', 'Mang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5b.php b/core/lib/Drupal/Component/Transliteration/data/x5b.php --- b/core/lib/Drupal/Component/Transliteration/data/x5b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5b.php @@ -1,9 +1,4 @@ -o 'Gui ', 'Deng ', 'Zhi ', 'Xu ', 'Yi ', 'Hua ', 'Xi ', 'Hui ', 'Rao ', 'Xi ', 'Yan ', 'Chan ', 'Jiao ', 'Mei ', 'Fan ', 'Fan ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5c.php b/core/lib/Drupal/Component/Transliteration/data/x5c.php --- b/core/lib/Drupal/Component/Transliteration/data/x5c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5c.php @@ -1,9 +1,4 @@ -o 'Po ', 'Feng ', 'Zhuan ', 'Fu ', 'She ', 'Ke ', 'Jiang ', 'Jiang ', 'Zhuan ', 'Wei ', 'Zun ', 'Xun ', 'Shu ', 'Dui ', 'Dao ', 'Xiao ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5d.php b/core/lib/Drupal/Component/Transliteration/data/x5d.php --- b/core/lib/Drupal/Component/Transliteration/data/x5d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5d.php @@ -1,9 +1,4 @@ -o 'Lang ', 'Kan ', 'Lao ', 'Lai ', 'Xian ', 'Que ', 'Kong ', 'Chong ', 'Chong ', 'Ta ', 'Lin ', 'Hua ', 'Ju ', 'Lai ', 'Qi ', 'Min ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5e.php b/core/lib/Drupal/Component/Transliteration/data/x5e.php --- b/core/lib/Drupal/Component/Transliteration/data/x5e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5e.php @@ -1,9 +1,4 @@ -o 'Za ', 'Bi ', 'Shi ', 'Bu ', 'Ding ', 'Shuai ', 'Fan ', 'Nie ', 'Shi ', 'Fen ', 'Pa ', 'Zhi ', 'Xi ', 'Hu ', 'Dan ', 'Wei ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x5f.php b/core/lib/Drupal/Component/Transliteration/data/x5f.php --- b/core/lib/Drupal/Component/Transliteration/data/x5f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x5f.php @@ -1,9 +1,4 @@ -o 'Kai ', 'Bian ', 'Yi ', 'Qi ', 'Nong ', 'Fen ', 'Ju ', 'Yan ', 'Yi ', 'Zang ', 'Bi ', 'Yi ', 'Yi ', 'Er ', 'San ', 'Shi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x60.php b/core/lib/Drupal/Component/Transliteration/data/x60.php --- b/core/lib/Drupal/Component/Transliteration/data/x60.php +++ b/core/lib/Drupal/Component/Transliteration/data/x60.php @@ -1,9 +1,4 @@ -o 'Huai ', 'Tai ', 'Song ', 'Wu ', 'Ou ', 'Chang ', 'Chuang ', 'Ju ', 'Yi ', 'Bao ', 'Chao ', 'Min ', 'Pei ', 'Zuo ', 'Zen ', 'Yang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x61.php b/core/lib/Drupal/Component/Transliteration/data/x61.php --- b/core/lib/Drupal/Component/Transliteration/data/x61.php +++ b/core/lib/Drupal/Component/Transliteration/data/x61.php @@ -1,9 +1,4 @@ -o 'Qiao ', 'Chou ', 'Bei ', 'Xuan ', 'Wei ', 'Ge ', 'Qian ', 'Wei ', 'Yu ', 'Yu ', 'Bi ', 'Xuan ', 'Huan ', 'Min ', 'Bi ', 'Yi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x62.php b/core/lib/Drupal/Component/Transliteration/data/x62.php --- b/core/lib/Drupal/Component/Transliteration/data/x62.php +++ b/core/lib/Drupal/Component/Transliteration/data/x62.php @@ -1,9 +1,4 @@ -o 'Lian ', 'Nan ', 'Mi ', 'Tang ', 'Jue ', 'Gang ', 'Gang ', 'Gang ', 'Ge ', 'Yue ', 'Wu ', 'Jian ', 'Xu ', 'Shu ', 'Rong ', 'Xi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x63.php b/core/lib/Drupal/Component/Transliteration/data/x63.php --- b/core/lib/Drupal/Component/Transliteration/data/x63.php +++ b/core/lib/Drupal/Component/Transliteration/data/x63.php @@ -1,9 +1,4 @@ -o 'Bo ', 'Chi ', 'Gua ', 'Zhi ', 'Kuo ', 'Duo ', 'Duo ', 'Zhi ', 'Qie ', 'An ', 'Nong ', 'Zhen ', 'Ge ', 'Jiao ', 'Ku ', 'Dong ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x64.php b/core/lib/Drupal/Component/Transliteration/data/x64.php --- b/core/lib/Drupal/Component/Transliteration/data/x64.php +++ b/core/lib/Drupal/Component/Transliteration/data/x64.php @@ -1,9 +1,4 @@ -o 'Chan ', 'Ge ', 'Lou ', 'Zong ', 'Geng ', 'Jiao ', 'Gou ', 'Qin ', 'Yong ', 'Que ', 'Chou ', 'Chi ', 'Zhan ', 'Sun ', 'Sun ', 'Bo ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x65.php b/core/lib/Drupal/Component/Transliteration/data/x65.php --- b/core/lib/Drupal/Component/Transliteration/data/x65.php +++ b/core/lib/Drupal/Component/Transliteration/data/x65.php @@ -1,9 +1,4 @@ -o 'Pan ', 'Yang ', 'Lei ', 'Sa ', 'Shu ', 'Zan ', 'Nian ', 'Xian ', 'Jun ', 'Huo ', 'Li ', 'La ', 'Han ', 'Ying ', 'Lu ', 'Long ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x66.php b/core/lib/Drupal/Component/Transliteration/data/x66.php --- b/core/lib/Drupal/Component/Transliteration/data/x66.php +++ b/core/lib/Drupal/Component/Transliteration/data/x66.php @@ -1,9 +1,4 @@ -o 'Yun ', 'Bei ', 'Ang ', 'Ze ', 'Ban ', 'Jie ', 'Kun ', 'Sheng ', 'Hu ', 'Fang ', 'Hao ', 'Gui ', 'Chang ', 'Xuan ', 'Ming ', 'Hun ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x67.php b/core/lib/Drupal/Component/Transliteration/data/x67.php --- b/core/lib/Drupal/Component/Transliteration/data/x67.php +++ b/core/lib/Drupal/Component/Transliteration/data/x67.php @@ -1,9 +1,4 @@ -o 'Zui ', 'Can ', 'Xu ', 'Hui ', 'Yin ', 'Qie ', 'Fen ', 'Pi ', 'Yue ', 'You ', 'Ruan ', 'Peng ', 'Ban ', 'Fu ', 'Ling ', 'Fei ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x68.php b/core/lib/Drupal/Component/Transliteration/data/x68.php --- b/core/lib/Drupal/Component/Transliteration/data/x68.php +++ b/core/lib/Drupal/Component/Transliteration/data/x68.php @@ -1,9 +1,4 @@ -o 'Zhi ', 'Liu ', 'Mei ', 'Hoy ', 'Rong ', 'Zha ', NULL, 'Biao ', 'Zhan ', 'Jie ', 'Long ', 'Dong ', 'Lu ', 'Sayng ', 'Li ', 'Lan ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x69.php b/core/lib/Drupal/Component/Transliteration/data/x69.php --- b/core/lib/Drupal/Component/Transliteration/data/x69.php +++ b/core/lib/Drupal/Component/Transliteration/data/x69.php @@ -1,9 +1,4 @@ -o 'Wan ', 'Guo ', 'Lu ', 'Hao ', 'Jie ', 'Yi ', 'Chou ', 'Ju ', 'Ju ', 'Cheng ', 'Zuo ', 'Liang ', 'Qiang ', 'Zhi ', 'Zhui ', 'Ya ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x6a.php b/core/lib/Drupal/Component/Transliteration/data/x6a.php --- b/core/lib/Drupal/Component/Transliteration/data/x6a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6a.php @@ -1,9 +1,4 @@ -o 'Di ', 'Zhuang ', 'Le ', 'Lang ', 'Chen ', 'Cong ', 'Li ', 'Xiu ', 'Qing ', 'Shuang ', 'Fan ', 'Tong ', 'Guan ', 'Ji ', 'Suo ', 'Lei ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x6b.php b/core/lib/Drupal/Component/Transliteration/data/x6b.php --- b/core/lib/Drupal/Component/Transliteration/data/x6b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6b.php @@ -1,9 +1,4 @@ -o 'Xiang ', 'Nong ', 'Bo ', 'Chan ', 'Lan ', 'Ju ', 'Shuang ', 'She ', 'Wei ', 'Cong ', 'Quan ', 'Qu ', 'Cang ', NULL, 'Yu ', 'Luo ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x6c.php b/core/lib/Drupal/Component/Transliteration/data/x6c.php --- b/core/lib/Drupal/Component/Transliteration/data/x6c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6c.php @@ -1,9 +1,4 @@ -o 'Lu ', 'Mu ', 'Li ', 'Tong ', 'Rong ', 'Chang ', 'Pu ', 'Luo ', 'Zhan ', 'Sao ', 'Zhan ', 'Meng ', 'Luo ', 'Qu ', 'Die ', 'Shi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x6d.php b/core/lib/Drupal/Component/Transliteration/data/x6d.php --- b/core/lib/Drupal/Component/Transliteration/data/x6d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6d.php @@ -1,9 +1,4 @@ -o 'Zhou ', 'Ji ', 'Yi ', 'Hui ', 'Hui ', 'Zui ', 'Cheng ', 'Yin ', 'Wei ', 'Hou ', 'Jian ', 'Yang ', 'Lie ', 'Si ', 'Ji ', 'Er ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x6e.php b/core/lib/Drupal/Component/Transliteration/data/x6e.php --- b/core/lib/Drupal/Component/Transliteration/data/x6e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6e.php @@ -1,9 +1,4 @@ -o 'Ben ', 'Yuan ', 'Wen ', 'Re ', 'Fei ', 'Qing ', 'Yuan ', 'Ke ', 'Ji ', 'She ', 'Yuan ', 'Shibui ', 'Lu ', 'Zi ', 'Du ', NULL, diff -u b/core/lib/Drupal/Component/Transliteration/data/x6f.php b/core/lib/Drupal/Component/Transliteration/data/x6f.php --- b/core/lib/Drupal/Component/Transliteration/data/x6f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x6f.php @@ -1,9 +1,4 @@ -o 'Qing ', 'Yu ', 'Piao ', 'Ji ', 'Ya ', 'Jiao ', 'Qi ', 'Xi ', 'Ji ', 'Lu ', 'Lu ', 'Long ', 'Jin ', 'Guo ', 'Cong ', 'Lou ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x70.php b/core/lib/Drupal/Component/Transliteration/data/x70.php --- b/core/lib/Drupal/Component/Transliteration/data/x70.php +++ b/core/lib/Drupal/Component/Transliteration/data/x70.php @@ -1,9 +1,4 @@ -o 'You ', 'Yang ', 'Lu ', 'Si ', 'Jie ', 'Ying ', 'Du ', 'Wang ', 'Hui ', 'Xie ', 'Pan ', 'Shen ', 'Biao ', 'Chan ', 'Mo ', 'Liu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x71.php b/core/lib/Drupal/Component/Transliteration/data/x71.php --- b/core/lib/Drupal/Component/Transliteration/data/x71.php +++ b/core/lib/Drupal/Component/Transliteration/data/x71.php @@ -1,9 +1,4 @@ -o 'Hu ', 'Xi ', 'Shu ', 'He ', 'Xun ', 'Ku ', 'Jue ', 'Xiao ', 'Xi ', 'Yan ', 'Han ', 'Zhuang ', 'Jun ', 'Di ', 'Xie ', 'Ji ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x72.php b/core/lib/Drupal/Component/Transliteration/data/x72.php --- b/core/lib/Drupal/Component/Transliteration/data/x72.php +++ b/core/lib/Drupal/Component/Transliteration/data/x72.php @@ -1,9 +1,4 @@ -o 'He ', 'Lan ', 'Biao ', 'Rong ', 'Li ', 'Mo ', 'Bao ', 'Ruo ', 'Lu ', 'La ', 'Ao ', 'Xun ', 'Kuang ', 'Shuo ', NULL, 'Li ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x73.php b/core/lib/Drupal/Component/Transliteration/data/x73.php --- b/core/lib/Drupal/Component/Transliteration/data/x73.php +++ b/core/lib/Drupal/Component/Transliteration/data/x73.php @@ -1,9 +1,4 @@ -o 'Sha ', 'Li ', 'Han ', 'Xian ', 'Jing ', 'Pai ', 'Fei ', 'Yao ', 'Ba ', 'Qi ', 'Ni ', 'Biao ', 'Yin ', 'Lai ', 'Xi ', 'Jian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x74.php b/core/lib/Drupal/Component/Transliteration/data/x74.php --- b/core/lib/Drupal/Component/Transliteration/data/x74.php +++ b/core/lib/Drupal/Component/Transliteration/data/x74.php @@ -1,9 +1,4 @@ -o 'Han ', 'Xuan ', 'Yan ', 'Qiu ', 'Quan ', 'Lang ', 'Li ', 'Xiu ', 'Fu ', 'Liu ', 'Ye ', 'Xi ', 'Ling ', 'Li ', 'Jin ', 'Lian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x75.php b/core/lib/Drupal/Component/Transliteration/data/x75.php --- b/core/lib/Drupal/Component/Transliteration/data/x75.php +++ b/core/lib/Drupal/Component/Transliteration/data/x75.php @@ -1,9 +1,4 @@ -o 'Zhui ', 'Ping ', 'Bian ', 'Zhou ', 'Zhen ', 'Senchigura ', 'Ci ', 'Ying ', 'Qi ', 'Xian ', 'Lou ', 'Di ', 'Ou ', 'Meng ', 'Zhuan ', 'Peng ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x76.php b/core/lib/Drupal/Component/Transliteration/data/x76.php --- b/core/lib/Drupal/Component/Transliteration/data/x76.php +++ b/core/lib/Drupal/Component/Transliteration/data/x76.php @@ -1,9 +1,4 @@ -o 'Yu ', 'Cui ', 'Ya ', 'Zhu ', 'Cu ', 'Dan ', 'Shen ', 'Zhung ', 'Ji ', 'Yu ', 'Hou ', 'Feng ', 'La ', 'Yang ', 'Shen ', 'Tu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x77.php b/core/lib/Drupal/Component/Transliteration/data/x77.php --- b/core/lib/Drupal/Component/Transliteration/data/x77.php +++ b/core/lib/Drupal/Component/Transliteration/data/x77.php @@ -1,9 +1,4 @@ -o 'Ming ', 'Sheng ', 'Shi ', 'Yun ', 'Mian ', 'Pan ', 'Fang ', 'Miao ', 'Dan ', 'Mei ', 'Mao ', 'Kan ', 'Xian ', 'Ou ', 'Shi ', 'Yang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x78.php b/core/lib/Drupal/Component/Transliteration/data/x78.php --- b/core/lib/Drupal/Component/Transliteration/data/x78.php +++ b/core/lib/Drupal/Component/Transliteration/data/x78.php @@ -1,9 +1,4 @@ -o 'Dang ', 'Ma ', 'Sha ', 'Dan ', 'Jue ', 'Li ', 'Fu ', 'Min ', 'Nuo ', 'Huo ', 'Kang ', 'Zhi ', 'Qi ', 'Kan ', 'Jie ', 'Fen ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x79.php b/core/lib/Drupal/Component/Transliteration/data/x79.php --- b/core/lib/Drupal/Component/Transliteration/data/x79.php +++ b/core/lib/Drupal/Component/Transliteration/data/x79.php @@ -1,9 +1,4 @@ -o 'Tani ', 'Jiao ', NULL, 'Zhang ', 'Qiao ', 'Dun ', 'Xian ', 'Yu ', 'Zhui ', 'He ', 'Huo ', 'Zhai ', 'Lei ', 'Ke ', 'Chu ', 'Ji ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7a.php b/core/lib/Drupal/Component/Transliteration/data/x7a.php --- b/core/lib/Drupal/Component/Transliteration/data/x7a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7a.php @@ -1,9 +1,4 @@ -o 'Xi ', 'Kao ', 'Lang ', 'Fu ', 'Ze ', 'Shui ', 'Lu ', 'Kun ', 'Gan ', 'Geng ', 'Ti ', 'Cheng ', 'Tu ', 'Shao ', 'Shui ', 'Ya ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7b.php b/core/lib/Drupal/Component/Transliteration/data/x7b.php --- b/core/lib/Drupal/Component/Transliteration/data/x7b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7b.php @@ -1,9 +1,4 @@ -o 'Mang ', 'Zhu ', 'Utsubo ', 'Du ', 'Ji ', 'Xiao ', 'Ba ', 'Suan ', 'Ji ', 'Zhen ', 'Zhao ', 'Sun ', 'Ya ', 'Zhui ', 'Yuan ', 'Hu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7c.php b/core/lib/Drupal/Component/Transliteration/data/x7c.php --- b/core/lib/Drupal/Component/Transliteration/data/x7c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7c.php @@ -1,9 +1,4 @@ -o 'Ze ', 'Xi ', 'Guo ', 'Yi ', 'Hu ', 'Chan ', 'Kou ', 'Cu ', 'Ping ', 'Chou ', 'Ji ', 'Gui ', 'Su ', 'Lou ', 'Zha ', 'Lu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7d.php b/core/lib/Drupal/Component/Transliteration/data/x7d.php --- b/core/lib/Drupal/Component/Transliteration/data/x7d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7d.php @@ -1,9 +1,4 @@ -o 'Ji ', 'Cha ', 'Zhou ', 'Xun ', 'Yue ', 'Hong ', 'Yu ', 'He ', 'Wan ', 'Ren ', 'Wen ', 'Wen ', 'Qiu ', 'Na ', 'Zi ', 'Tou ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7e.php b/core/lib/Drupal/Component/Transliteration/data/x7e.php --- b/core/lib/Drupal/Component/Transliteration/data/x7e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7e.php @@ -1,9 +1,4 @@ -o 'Xia ', 'Yuan ', 'Zong ', 'Xu ', 'Nawa ', 'Odoshi ', 'Geng ', 'Sen ', 'Ying ', 'Jin ', 'Yi ', 'Zhui ', 'Ni ', 'Bang ', 'Gu ', 'Pan ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x7f.php b/core/lib/Drupal/Component/Transliteration/data/x7f.php --- b/core/lib/Drupal/Component/Transliteration/data/x7f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x7f.php @@ -1,9 +1,4 @@ -o 'Zhui ', 'Zi ', 'Ke ', 'Xiang ', 'Jian ', 'Mian ', 'Lan ', 'Ti ', 'Miao ', 'Qi ', 'Yun ', 'Hui ', 'Si ', 'Duo ', 'Duan ', 'Bian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x80.php b/core/lib/Drupal/Component/Transliteration/data/x80.php --- b/core/lib/Drupal/Component/Transliteration/data/x80.php +++ b/core/lib/Drupal/Component/Transliteration/data/x80.php @@ -1,9 +1,4 @@ -o 'Yao ', 'Lao ', NULL, 'Kao ', 'Mao ', 'Zhe ', 'Qi ', 'Gou ', 'Gou ', 'Gou ', 'Die ', 'Die ', 'Er ', 'Shua ', 'Ruan ', 'Er ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x81.php b/core/lib/Drupal/Component/Transliteration/data/x81.php --- b/core/lib/Drupal/Component/Transliteration/data/x81.php +++ b/core/lib/Drupal/Component/Transliteration/data/x81.php @@ -1,9 +1,4 @@ -o 'Cheng ', 'Tiao ', 'Zhi ', 'Cui ', 'Mei ', 'Xie ', 'Cui ', 'Xie ', 'Mo ', 'Mai ', 'Ji ', 'Obiyaakasu ', NULL, 'Kuai ', 'Sa ', 'Zang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x82.php b/core/lib/Drupal/Component/Transliteration/data/x82.php --- b/core/lib/Drupal/Component/Transliteration/data/x82.php +++ b/core/lib/Drupal/Component/Transliteration/data/x82.php @@ -1,9 +1,4 @@ -o 'Yao ', 'Yu ', 'Chong ', 'Xi ', 'Xi ', 'Jiu ', 'Yu ', 'Yu ', 'Xing ', 'Ju ', 'Jiu ', 'Xin ', 'She ', 'She ', 'Yadoru ', 'Jiu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x83.php b/core/lib/Drupal/Component/Transliteration/data/x83.php --- b/core/lib/Drupal/Component/Transliteration/data/x83.php +++ b/core/lib/Drupal/Component/Transliteration/data/x83.php @@ -1,9 +1,4 @@ -o 'Fu ', 'Zhuo ', 'Mao ', 'Fan ', 'Qie ', 'Mao ', 'Mao ', 'Ba ', 'Zi ', 'Mo ', 'Zi ', 'Di ', 'Chi ', 'Ji ', 'Jing ', 'Long ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x84.php b/core/lib/Drupal/Component/Transliteration/data/x84.php --- b/core/lib/Drupal/Component/Transliteration/data/x84.php +++ b/core/lib/Drupal/Component/Transliteration/data/x84.php @@ -1,9 +1,4 @@ -o 'Hu ', 'Qi ', 'He ', 'Cui ', 'Tao ', 'Chun ', 'Bei ', 'Chang ', 'Huan ', 'Fei ', 'Lai ', 'Qi ', 'Meng ', 'Ping ', 'Wei ', 'Dan ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x85.php b/core/lib/Drupal/Component/Transliteration/data/x85.php --- b/core/lib/Drupal/Component/Transliteration/data/x85.php +++ b/core/lib/Drupal/Component/Transliteration/data/x85.php @@ -1,9 +1,4 @@ -o 'Bu ', 'Zhang ', 'Luo ', 'Jiang ', 'Man ', 'Yan ', 'Ling ', 'Ji ', 'Piao ', 'Gun ', 'Han ', 'Di ', 'Su ', 'Lu ', 'She ', 'Shang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x86.php b/core/lib/Drupal/Component/Transliteration/data/x86.php --- b/core/lib/Drupal/Component/Transliteration/data/x86.php +++ b/core/lib/Drupal/Component/Transliteration/data/x86.php @@ -1,9 +1,4 @@ -o 'Tuo ', 'Wu ', 'Rui ', 'Rui ', 'Qi ', 'Heng ', 'Lu ', 'Su ', 'Tui ', 'Mang ', 'Yun ', 'Pin ', 'Yu ', 'Xun ', 'Ji ', 'Jiong ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x87.php b/core/lib/Drupal/Component/Transliteration/data/x87.php --- b/core/lib/Drupal/Component/Transliteration/data/x87.php +++ b/core/lib/Drupal/Component/Transliteration/data/x87.php @@ -1,9 +1,4 @@ -o 'Shu ', 'Xuan ', 'Feng ', 'Shen ', 'Zhen ', 'Fu ', 'Xian ', 'Zhe ', 'Wu ', 'Fu ', 'Li ', 'Lang ', 'Bi ', 'Chu ', 'Yuan ', 'You ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x88.php b/core/lib/Drupal/Component/Transliteration/data/x88.php --- b/core/lib/Drupal/Component/Transliteration/data/x88.php +++ b/core/lib/Drupal/Component/Transliteration/data/x88.php @@ -1,9 +1,4 @@ -o 'Ci ', 'Xiang ', 'She ', 'Luo ', 'Qin ', 'Ying ', 'Chai ', 'Li ', 'Ze ', 'Xuan ', 'Lian ', 'Zhu ', 'Ze ', 'Xie ', 'Mang ', 'Xie ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x89.php b/core/lib/Drupal/Component/Transliteration/data/x89.php --- b/core/lib/Drupal/Component/Transliteration/data/x89.php +++ b/core/lib/Drupal/Component/Transliteration/data/x89.php @@ -1,9 +1,4 @@ -o 'Ji ', 'Zhi ', 'Gua ', 'Ken ', 'Che ', 'Ti ', 'Ti ', 'Fu ', 'Chong ', 'Xie ', 'Bian ', 'Die ', 'Kun ', 'Duan ', 'Xiu ', 'Xiu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8a.php b/core/lib/Drupal/Component/Transliteration/data/x8a.php --- b/core/lib/Drupal/Component/Transliteration/data/x8a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8a.php @@ -1,9 +1,4 @@ -o 'Yan ', 'Yan ', 'Ding ', 'Fu ', 'Qiu ', 'Qiu ', 'Jiao ', 'Hong ', 'Ji ', 'Fan ', 'Xun ', 'Diao ', 'Hong ', 'Cha ', 'Tao ', 'Xu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8b.php b/core/lib/Drupal/Component/Transliteration/data/x8b.php --- b/core/lib/Drupal/Component/Transliteration/data/x8b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8b.php @@ -1,9 +1,4 @@ -o 'Mou ', 'Ye ', 'Wei ', NULL, 'Teng ', 'Zou ', 'Shan ', 'Jian ', 'Bo ', 'Ku ', 'Huang ', 'Huo ', 'Ge ', 'Ying ', 'Mi ', 'Xiao ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8c.php b/core/lib/Drupal/Component/Transliteration/data/x8c.php --- b/core/lib/Drupal/Component/Transliteration/data/x8c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8c.php @@ -1,9 +1,4 @@ -o 'Yu ', 'Shui ', 'Shen ', 'Diao ', 'Chan ', 'Liang ', 'Zhun ', 'Sui ', 'Tan ', 'Shen ', 'Yi ', 'Mou ', 'Chen ', 'Die ', 'Huang ', 'Jian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8d.php b/core/lib/Drupal/Component/Transliteration/data/x8d.php --- b/core/lib/Drupal/Component/Transliteration/data/x8d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8d.php @@ -1,9 +1,4 @@ -o 'Wei ', 'Bai ', 'Chen ', 'Zhuan ', 'Zhi ', 'Zhui ', 'Biao ', 'Yun ', 'Zeng ', 'Tan ', 'Zan ', 'Yan ', NULL, 'Shan ', 'Wan ', 'Ying ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8e.php b/core/lib/Drupal/Component/Transliteration/data/x8e.php --- b/core/lib/Drupal/Component/Transliteration/data/x8e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8e.php @@ -1,9 +1,4 @@ -o 'Chu ', 'Jing ', 'Nie ', 'Xiao ', 'Bo ', 'Chi ', 'Qun ', 'Mou ', 'Shu ', 'Lang ', 'Yong ', 'Jiao ', 'Chou ', 'Qiao ', NULL, 'Ta ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x8f.php b/core/lib/Drupal/Component/Transliteration/data/x8f.php --- b/core/lib/Drupal/Component/Transliteration/data/x8f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x8f.php @@ -1,9 +1,4 @@ -o 'Er ', 'Qiong ', 'Ju ', 'Jiao ', 'Guang ', 'Lu ', 'Kai ', 'Quan ', 'Zhou ', 'Zai ', 'Zhi ', 'She ', 'Liang ', 'Yu ', 'Shao ', 'You ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x90.php b/core/lib/Drupal/Component/Transliteration/data/x90.php --- b/core/lib/Drupal/Component/Transliteration/data/x90.php +++ b/core/lib/Drupal/Component/Transliteration/data/x90.php @@ -1,9 +1,4 @@ -o 'Tui ', 'Song ', 'Gua ', 'Tao ', 'Pang ', 'Hou ', 'Ni ', 'Dun ', 'Jiong ', 'Xuan ', 'Xun ', 'Bu ', 'You ', 'Xiao ', 'Qiu ', 'Tou ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x91.php b/core/lib/Drupal/Component/Transliteration/data/x91.php --- b/core/lib/Drupal/Component/Transliteration/data/x91.php +++ b/core/lib/Drupal/Component/Transliteration/data/x91.php @@ -1,9 +1,4 @@ -o 'Ruo ', 'Bei ', 'E ', 'Yu ', 'Juan ', 'Yu ', 'Yun ', 'Hou ', 'Kui ', 'Xiang ', 'Xiang ', 'Sou ', 'Tang ', 'Ming ', 'Xi ', 'Ru ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x92.php b/core/lib/Drupal/Component/Transliteration/data/x92.php --- b/core/lib/Drupal/Component/Transliteration/data/x92.php +++ b/core/lib/Drupal/Component/Transliteration/data/x92.php @@ -1,9 +1,4 @@ -o 'Ba ', 'Fang ', 'Chen ', 'Xing ', 'Tou ', 'Yue ', 'Yan ', 'Fu ', 'Pi ', 'Na ', 'Xin ', 'E ', 'Jue ', 'Dun ', 'Gou ', 'Yin ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x93.php b/core/lib/Drupal/Component/Transliteration/data/x93.php --- b/core/lib/Drupal/Component/Transliteration/data/x93.php +++ b/core/lib/Drupal/Component/Transliteration/data/x93.php @@ -1,9 +1,4 @@ -o 'Lun ', 'Kua ', 'Ling ', 'Bei ', 'Lu ', 'Li ', 'Qiang ', 'Pou ', 'Juan ', 'Min ', 'Zui ', 'Peng ', 'An ', 'Pi ', 'Xian ', 'Ya ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x94.php b/core/lib/Drupal/Component/Transliteration/data/x94.php --- b/core/lib/Drupal/Component/Transliteration/data/x94.php +++ b/core/lib/Drupal/Component/Transliteration/data/x94.php @@ -1,9 +1,4 @@ -o 'Kui ', 'Si ', 'Liu ', 'Nao ', 'Heng ', 'Pie ', 'Sui ', 'Fan ', 'Qiao ', 'Quan ', 'Yang ', 'Tang ', 'Xiang ', 'Jue ', 'Jiao ', 'Zun ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x95.php b/core/lib/Drupal/Component/Transliteration/data/x95.php --- b/core/lib/Drupal/Component/Transliteration/data/x95.php +++ b/core/lib/Drupal/Component/Transliteration/data/x95.php @@ -1,9 +1,4 @@ -o 'Xiao ', 'Suo ', 'Li ', 'Zheng ', 'Chu ', 'Guo ', 'Gao ', 'Tie ', 'Xiu ', 'Cuo ', 'Lue ', 'Feng ', 'Xin ', 'Liu ', 'Kai ', 'Jian ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x96.php b/core/lib/Drupal/Component/Transliteration/data/x96.php --- b/core/lib/Drupal/Component/Transliteration/data/x96.php +++ b/core/lib/Drupal/Component/Transliteration/data/x96.php @@ -1,9 +1,4 @@ -o 'Fa ', 'Ge ', 'He ', 'Kun ', 'Jiu ', 'Yue ', 'Lang ', 'Du ', 'Yu ', 'Yan ', 'Chang ', 'Xi ', 'Wen ', 'Hun ', 'Yan ', 'E ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x97.php b/core/lib/Drupal/Component/Transliteration/data/x97.php --- b/core/lib/Drupal/Component/Transliteration/data/x97.php +++ b/core/lib/Drupal/Component/Transliteration/data/x97.php @@ -1,9 +1,4 @@ -o 'Xu ', 'Ji ', 'Mu ', 'Chen ', 'Xiao ', 'Zha ', 'Ting ', 'Zhen ', 'Pei ', 'Mei ', 'Ling ', 'Qi ', 'Chou ', 'Huo ', 'Sha ', 'Fei ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x98.php b/core/lib/Drupal/Component/Transliteration/data/x98.php --- b/core/lib/Drupal/Component/Transliteration/data/x98.php +++ b/core/lib/Drupal/Component/Transliteration/data/x98.php @@ -1,9 +1,4 @@ -o 'Hu ', 'Ye ', 'Ding ', 'Qing ', 'Pan ', 'Xiang ', 'Shun ', 'Han ', 'Xu ', 'Yi ', 'Xu ', 'Gu ', 'Song ', 'Kui ', 'Qi ', 'Hang ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x99.php b/core/lib/Drupal/Component/Transliteration/data/x99.php --- b/core/lib/Drupal/Component/Transliteration/data/x99.php +++ b/core/lib/Drupal/Component/Transliteration/data/x99.php @@ -1,9 +1,4 @@ -o 'Hai ', 'Ren ', 'Tian ', 'Jiao ', 'Jia ', 'Bing ', 'Yao ', 'Tong ', 'Ci ', 'Xiang ', 'Yang ', 'Yang ', 'Er ', 'Yan ', 'Le ', 'Yi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9a.php b/core/lib/Drupal/Component/Transliteration/data/x9a.php --- b/core/lib/Drupal/Component/Transliteration/data/x9a.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9a.php @@ -1,9 +1,4 @@ -o 'E ', 'Cheng ', 'Xin ', 'Ai ', 'Lu ', 'Zhui ', 'Zhou ', 'She ', 'Pian ', 'Kun ', 'Tao ', 'Lai ', 'Zong ', 'Ke ', 'Qi ', 'Qi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9b.php b/core/lib/Drupal/Component/Transliteration/data/x9b.php --- b/core/lib/Drupal/Component/Transliteration/data/x9b.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9b.php @@ -1,9 +1,4 @@ -o 'Ti ', 'Li ', 'Bin ', 'Zong ', 'Ti ', 'Peng ', 'Song ', 'Zheng ', 'Quan ', 'Zong ', 'Shun ', 'Jian ', 'Duo ', 'Hu ', 'La ', 'Jiu ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9c.php b/core/lib/Drupal/Component/Transliteration/data/x9c.php --- b/core/lib/Drupal/Component/Transliteration/data/x9c.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9c.php @@ -1,9 +1,4 @@ -o 'Huan ', 'Quan ', 'Ze ', 'Wei ', 'Wei ', 'Yu ', 'Qun ', 'Rou ', 'Die ', 'Huang ', 'Lian ', 'Yan ', 'Qiu ', 'Qiu ', 'Jian ', 'Bi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9d.php b/core/lib/Drupal/Component/Transliteration/data/x9d.php --- b/core/lib/Drupal/Component/Transliteration/data/x9d.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9d.php @@ -1,9 +1,4 @@ -o 'Fou ', 'Yiao ', 'Jue ', 'Jue ', 'Pi ', 'Huan ', 'Zhen ', 'Bao ', 'Yan ', 'Ya ', 'Zheng ', 'Fang ', 'Feng ', 'Wen ', 'Ou ', 'Te ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9e.php b/core/lib/Drupal/Component/Transliteration/data/x9e.php --- b/core/lib/Drupal/Component/Transliteration/data/x9e.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9e.php @@ -1,9 +1,4 @@ -o 'Shu ', 'Luo ', 'Qi ', 'Yi ', 'Ji ', 'Zhe ', 'Yu ', 'Zhan ', 'Ye ', 'Yang ', 'Pi ', 'Ning ', 'Huo ', 'Mi ', 'Ying ', 'Meng ', diff -u b/core/lib/Drupal/Component/Transliteration/data/x9f.php b/core/lib/Drupal/Component/Transliteration/data/x9f.php --- b/core/lib/Drupal/Component/Transliteration/data/x9f.php +++ b/core/lib/Drupal/Component/Transliteration/data/x9f.php @@ -1,9 +1,4 @@ -o 'Cu ', 'Qu ', 'Chao ', 'Wa ', 'Zhu ', 'Zhi ', 'Mang ', 'Ao ', 'Bie ', 'Tuo ', 'Bi ', 'Yuan ', 'Chao ', 'Tuo ', 'Ding ', 'Mi ', diff -u b/core/lib/Drupal/Component/Transliteration/data/xa0.php b/core/lib/Drupal/Component/Transliteration/data/xa0.php --- b/core/lib/Drupal/Component/Transliteration/data/xa0.php +++ b/core/lib/Drupal/Component/Transliteration/data/xa0.php @@ -1,9 +1,4 @@ -o 'it', 'ix', 'i', 'ip', 'iet', 'iex', 'ie', 'iep', 'at', 'ax', 'a', 'ap', 'uox', 'uo', 'uop', 'ot', diff -u b/core/lib/Drupal/Component/Transliteration/data/xa1.php b/core/lib/Drupal/Component/Transliteration/data/xa1.php --- b/core/lib/Drupal/Component/Transliteration/data/xa1.php +++ b/core/lib/Drupal/Component/Transliteration/data/xa1.php @@ -1,9 +1,4 @@ -o 'dit', 'dix', 'di', 'dip', 'diex', 'die', 'diep', 'dat', 'dax', 'da', 'dap', 'duox', 'duo', 'dot', 'dox', 'do', diff -u b/core/lib/Drupal/Component/Transliteration/data/xa2.php b/core/lib/Drupal/Component/Transliteration/data/xa2.php --- b/core/lib/Drupal/Component/Transliteration/data/xa2.php +++ b/core/lib/Drupal/Component/Transliteration/data/xa2.php @@ -1,9 +1,4 @@ -o 'kax', 'ka', 'kap', 'kuox', 'kuo', 'kuop', 'kot', 'kox', 'ko', 'kop', 'ket', 'kex', 'ke', 'kep', 'kut', 'kux', diff -u b/core/lib/Drupal/Component/Transliteration/data/xa3.php b/core/lib/Drupal/Component/Transliteration/data/xa3.php --- b/core/lib/Drupal/Component/Transliteration/data/xa3.php +++ b/core/lib/Drupal/Component/Transliteration/data/xa3.php @@ -1,9 +1,4 @@ -o 'nzup', 'nzurx', 'nzur', 'nzyt', 'nzyx', 'nzy', 'nzyp', 'nzyrx', 'nzyr', 'sit', 'six', 'si', 'sip', 'siex', 'sie', 'siep', diff -u b/core/lib/Drupal/Component/Transliteration/data/xa4.php b/core/lib/Drupal/Component/Transliteration/data/xa4.php --- b/core/lib/Drupal/Component/Transliteration/data/xa4.php +++ b/core/lib/Drupal/Component/Transliteration/data/xa4.php @@ -1,9 +1,4 @@ -o 'qiet', 'qiex', 'qie', 'qiep', 'quot', 'quox', 'quo', 'quop', 'qot', 'qox', 'qo', 'qop', 'qut', 'qux', 'qu', 'qup', diff -u b/core/lib/Drupal/Component/Transliteration/data/xac.php b/core/lib/Drupal/Component/Transliteration/data/xac.php --- b/core/lib/Drupal/Component/Transliteration/data/xac.php +++ b/core/lib/Drupal/Component/Transliteration/data/xac.php @@ -1,9 +1,4 @@ -o 'ga', 'gag', 'gagg', 'gags', 'gan', 'ganj', 'ganh', 'gad', 'gal', 'galg', 'galm', 'galb', 'gals', 'galt', 'galp', 'galh', diff -u b/core/lib/Drupal/Component/Transliteration/data/xad.php b/core/lib/Drupal/Component/Transliteration/data/xad.php --- b/core/lib/Drupal/Component/Transliteration/data/xad.php +++ b/core/lib/Drupal/Component/Transliteration/data/xad.php @@ -1,9 +1,4 @@ -o 'gwan', 'gwanj', 'gwanh', 'gwad', 'gwal', 'gwalg', 'gwalm', 'gwalb', 'gwals', 'gwalt', 'gwalp', 'gwalh', 'gwam', 'gwab', 'gwabs', 'gwas', diff -u b/core/lib/Drupal/Component/Transliteration/data/xae.php b/core/lib/Drupal/Component/Transliteration/data/xae.php --- b/core/lib/Drupal/Component/Transliteration/data/xae.php +++ b/core/lib/Drupal/Component/Transliteration/data/xae.php @@ -1,9 +1,4 @@ -o 'geul', 'geulg', 'geulm', 'geulb', 'geuls', 'geult', 'geulp', 'geulh', 'geum', 'geub', 'geubs', 'geus', 'geuss', 'geung', 'geuj', 'geuc', diff -u b/core/lib/Drupal/Component/Transliteration/data/xaf.php b/core/lib/Drupal/Component/Transliteration/data/xaf.php --- b/core/lib/Drupal/Component/Transliteration/data/xaf.php +++ b/core/lib/Drupal/Component/Transliteration/data/xaf.php @@ -1,9 +1,4 @@ -o 'ggyeols', 'ggyeolt', 'ggyeolp', 'ggyeolh', 'ggyeom', 'ggyeob', 'ggyeobs', 'ggyeos', 'ggyeoss', 'ggyeong', 'ggyeoj', 'ggyeoc', 'ggyeok', 'ggyeot', 'ggyeop', 'ggyeoh', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb0.php b/core/lib/Drupal/Component/Transliteration/data/xb0.php --- b/core/lib/Drupal/Component/Transliteration/data/xb0.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb0.php @@ -1,9 +1,4 @@ -o 'ggwem', 'ggweb', 'ggwebs', 'ggwes', 'ggwess', 'ggweng', 'ggwej', 'ggwec', 'ggwek', 'ggwet', 'ggwep', 'ggweh', 'ggwi', 'ggwig', 'ggwigg', 'ggwigs', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb1.php b/core/lib/Drupal/Component/Transliteration/data/xb1.php --- b/core/lib/Drupal/Component/Transliteration/data/xb1.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb1.php @@ -1,9 +1,4 @@ -o 'nyaess', 'nyaeng', 'nyaej', 'nyaec', 'nyaek', 'nyaet', 'nyaep', 'nyaeh', 'neo', 'neog', 'neogg', 'neogs', 'neon', 'neonj', 'neonh', 'neod', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb2.php b/core/lib/Drupal/Component/Transliteration/data/xb2.php --- b/core/lib/Drupal/Component/Transliteration/data/xb2.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb2.php @@ -1,9 +1,4 @@ -o 'nyok', 'nyot', 'nyop', 'nyoh', 'nu', 'nug', 'nugg', 'nugs', 'nun', 'nunj', 'nunh', 'nud', 'nul', 'nulg', 'nulm', 'nulb', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb3.php b/core/lib/Drupal/Component/Transliteration/data/xb3.php --- b/core/lib/Drupal/Component/Transliteration/data/xb3.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb3.php @@ -1,9 +1,4 @@ -o 'dae', 'daeg', 'daegg', 'daegs', 'daen', 'daenj', 'daenh', 'daed', 'dael', 'daelg', 'daelm', 'daelb', 'daels', 'daelt', 'daelp', 'daelh', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb4.php b/core/lib/Drupal/Component/Transliteration/data/xb4.php --- b/core/lib/Drupal/Component/Transliteration/data/xb4.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb4.php @@ -1,9 +1,4 @@ -o 'dwaen', 'dwaenj', 'dwaenh', 'dwaed', 'dwael', 'dwaelg', 'dwaelm', 'dwaelb', 'dwaels', 'dwaelt', 'dwaelp', 'dwaelh', 'dwaem', 'dwaeb', 'dwaebs', 'dwaes', diff -u b/core/lib/Drupal/Component/Transliteration/data/xb5.php b/core/lib/Drupal/Component/Transliteration/data/xb5.php --- b/core/lib/Drupal/Component/Transliteration/data/xb5.php +++ b/core/lib/Drupal/Component/Transliteration/data/xb5.php @@ -1,9 +1,4 @@ -o 'dyil', 'dyilg', 'dyilm', 'dyilb', 'dyils', 'dyilt', 'dyilp', 'dyilh', 'dyim', 'dyib', 'dyibs', 'dyis', 'dyiss', 'dying', 'dyij', 'dyic', diff -u b/core/lib/Drupal/Core/CoreBundle.php b/core/lib/Drupal/Core/CoreBundle.php --- b/core/lib/Drupal/Core/CoreBundle.php +++ b/core/lib/Drupal/Core/CoreBundle.php @@ -51,6 +51,7 @@ ->setFactoryClass('Drupal\Core\Database\Database') ->setFactoryMethod('getConnection') ->addArgument('slave'); + $container->register('transliteration', 'Drupal\Component\Transliteration\TransliterationFactory'); // @todo Replace below lines with the commented out block below it when it's // performant to do so: http://drupal.org/node/1706064. @@ -129,7 +130,4 @@ $container->addCompilerPass(new RegisterKernelListenersPass(), PassConfig::TYPE_AFTER_REMOVING); */ - - // Register a factory for transliteration. - $container->register('transliteration', 'Drupal\Component\Transliteration\TransliterationFactory'); } } only in patch2: --- /dev/null +++ b/core/lib/Drupal/Component/Transliteration/IcuTransliteration.php @@ -0,0 +1,74 @@ += 5.4). + * + * @see http://php.net/manual/en/class.transliterator.php + */ +class IcuTransliteration extends Transliteration implements TransliterationInterface { + + /** + * Holds a static map of language overrides as an array of strings suitable + * for the Transliterator::createFromRules() method. + * + * @var array + */ + protected static $overrideRules = array(); + + /** + * Implements TransliterationInterface::transliterate(). + */ + public function transliterate($string) { + parent::transliterate($string); + + if (empty(self::$overrideRules[$this->langcode])) { + foreach (self::$languageOverrides as $langcode => $overrides) { + $rule = ''; + foreach ($overrides as $ord => $override) { + $rule .= '\u' . sprintf("%04s", dechex($ord)) . ' > ' . $override . '; '; + } + self::$overrideRules[$langcode] = $rule; + } + } + + // Apply the language overrides first. + if (isset(self::$overrideRules[$this->langcode])) { + $transliterator = Transliterator::createFromRules(self::$overrideRules[$this->langcode]); + $string = $transliterator->transliterate($string); + } + + // ICU does not have a 'Any-ASCII' transliterator, so we have to go through + // Latin first. + $transliterator = Transliterator::create("NFD; [:Nonspacing Mark:] Remove; NFC; Any-Latin; Latin-ASCII;"); + $ascii_string = $transliterator->transliterate($string); + + // @todo Also, the ICU transliterator behaves quite badly when used with the + // rule above and it doesn't transliterate some languages (e.g. Amharic). + // We need to either somehow map the incoming string to a supported script, + // or do something like this: +// $transliterator = Transliterator::create("NFD; [:Nonspacing Mark:] Remove; NFC; +// Amharic-Latin/BGN; Arabic-Latin/BGN; Armenian-Latin/BGN; +// Azerbaijani-Latin/BGN; Belarusian-Latin/BGN; Bengali-Latin; +// Bulgarian-Latin/BGN; Cyrillic-Latin; Devanagari-Latin; Georgian-Latin/BGN; +// Greek-Latin/BGN; Gujarati-Latin; Gurmukhi-Latin; Han-Latin; Hangul-Latin; +// Hebrew-Latin/BGN; Hiragana-Latin; Jamo-Latin; JapaneseKana-Latin/BGN; +// Kannada-Latin; Katakana-Latin; Kazakh-Latin/BGN; Kirghiz-Latin/BGN; +// Korean-Latin/BGN; Macedonian-Latin/BGN; Malayalam-Latin; Maldivian-Latin/BGN; +// Mongolian-Latin/BGN; NumericPinyin-Latin; Oriya-Latin; Pashto-Latin/BGN; +// Persian-Latin/BGN; Russian-Latin/BGN; Serbian-Latin/BGN; Syriac-Latin; +// Tamil-Latin; Telugu-Latin; Thaana-Latin; Thai-Latin; Turkmen-Latin/BGN; +// Ukrainian-Latin/BGN; Uzbek-Latin/BGN; Any-Latin; Latin-ASCII;"); + + return $ascii_string; + } +} only in patch2: --- /dev/null +++ b/core/lib/Drupal/Component/Transliteration/PhpTransliteration.php @@ -0,0 +1,181 @@ += "\x80" && $c < "\xc0") { + // Legal tail bytes are nice. + $sequence .= $c; + } + else { + if ($len == 0) { + // Premature end of string! Drop a replacement character into + // output to represent the invalid UTF-8 sequence. + $result .= $this->unknownCharacter; + break 2; + } + else { + // Illegal tail byte; abandon the sequence. + $result .= $this->unknownCharacter; + // Back up and reprocess this byte; it may itself be a legal + // ASCII or UTF-8 sequence head. + --$i; + ++$len; + continue 2; + } + } + } while (--$remaining); + + $n = ord($head); + if ($n <= 0xdf) { + $ord = ($n - 192) * 64 + (ord($sequence[1]) - 128); + } + elseif ($n <= 0xef) { + $ord = ($n - 224) * 4096 + (ord($sequence[1]) - 128) * 64 + (ord($sequence[2]) - 128); + } + elseif ($n <= 0xf7) { + $ord = ($n - 240) * 262144 + (ord($sequence[1]) - 128) * 4096 + (ord($sequence[2]) - 128) * 64 + (ord($sequence[3]) - 128); + } + elseif ($n <= 0xfb) { + $ord = ($n - 248) * 16777216 + (ord($sequence[1]) - 128) * 262144 + (ord($sequence[2]) - 128) * 4096 + (ord($sequence[3]) - 128) * 64 + (ord($sequence[4]) - 128); + } + elseif ($n <= 0xfd) { + $ord = ($n - 252) * 1073741824 + (ord($sequence[1]) - 128) * 16777216 + (ord($sequence[2]) - 128) * 262144 + (ord($sequence[3]) - 128) * 4096 + (ord($sequence[4]) - 128) * 64 + (ord($sequence[5]) - 128); + } + $result .= $this->replace($ord); + $head = ''; + } + elseif ($c < "\x80") { + // ASCII byte. + $result .= $c; + $head = ''; + } + elseif ($c < "\xc0") { + // Illegal tail bytes. + if ($head == '') { + $result .= $this->unknownCharacter; + } + } + else { + // Miscellaneous freaks. + $result .= $this->unknownCharacter; + $head = ''; + } + } + } + + return $result; + } + + /** + * Replaces a Unicode character using the transliteration database. + * + * @param int $ord + * An ordinal Unicode character code. + * + * @return string + * ASCII replacement character. + */ + protected function replace($ord) { + // Bail out early if this character is in the overrides table. + if (isset(self::$languageOverrides[$this->langcode][$ord])) { + return self::$languageOverrides[$this->langcode][$ord]; + } + + static $map = array(); + + $bank = $ord >> 8; + + if (!isset($map[$bank][$this->langcode])) { + $file = $this->dataDirectory . '/' . sprintf('x%02x', $bank) . '.php'; + if (file_exists($file)) { + include $file; + $map[$bank][$this->langcode] = $base; + } + else { + $map[$bank][$this->langcode] = array(); + } + } + + $ord = $ord & 255; + + return isset($map[$bank][$this->langcode][$ord]) ? $map[$bank][$this->langcode][$ord] : $this->unknownCharacter; + } +}