1
0
mirror of https://github.com/danielstjules/Stringy.git synced 2025-08-13 16:53:59 +02:00

Merge pull request #74 from anhskohbo/master

Support Full Unicode For Vietnamese.
This commit is contained in:
Daniel St. Jules
2015-01-18 20:11:40 -08:00
2 changed files with 35 additions and 27 deletions

View File

@@ -447,7 +447,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
if (isset($charsArray)) return $charsArray; if (isset($charsArray)) return $charsArray;
return $charsArray = array( return $charsArray = array(
'a' => array('à', 'á', 'â', 'ä', 'ã', 'ā', 'ą', 'ă', 'å', 'α', 'a' => array(
'à', 'á', 'ả', 'ã', 'ạ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ',
'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'ä', 'ā', 'ą', 'å', 'α',
'ά', 'ἀ', 'ἁ', 'ἂ', 'ἃ', 'ἄ', 'ἅ', 'ἆ', 'ἇ', 'ᾀ', 'ά', 'ἀ', 'ἁ', 'ἂ', 'ἃ', 'ἄ', 'ἅ', 'ἆ', 'ἇ', 'ᾀ',
'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ὰ', 'ά', 'ᾰ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ὰ', 'ά', 'ᾰ',
'ᾱ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'а'), 'ᾱ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'а'),
@@ -455,32 +457,33 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'c' => array('ç', 'ć', 'č', 'ĉ', 'ċ'), 'c' => array('ç', 'ć', 'č', 'ĉ', 'ċ'),
'd' => array('ď', 'ð', 'đ', 'ƌ', 'ȡ', 'ɖ', 'ɗ', 'ᵭ', 'ᶁ', 'ᶑ', 'd' => array('ď', 'ð', 'đ', 'ƌ', 'ȡ', 'ɖ', 'ɗ', 'ᵭ', 'ᶁ', 'ᶑ',
'д'), 'д'),
'e' => array('è', 'é', 'ê', 'ë', 'ē', 'ę', 'ě', 'ĕ', 'ė', 'ε', 'e' => array('é', 'è', '', '', '', 'ê', 'ế', '', '', '', '',
'έ', '', '', '', '', '', '', '', 'έ', 'е', 'ë', ', 'ę', 'ě', 'ĕ', 'ė', 'ε', 'έ', '', '', '',
'ё', 'э', 'є'), 'ἓ', 'ἔ', 'ἕ', 'ὲ', 'έ', 'е', 'ё', 'э', 'є'),
'f' => array('ф'), 'f' => array('ф'),
'g' => array('ĝ', 'ğ', 'ġ', 'ģ', 'г', 'ґ'), 'g' => array('ĝ', 'ğ', 'ġ', 'ģ', 'г', 'ґ'),
'h' => array('ĥ', 'ħ'), 'h' => array('ĥ', 'ħ'),
'i' => array('ì', 'í', 'î', 'ï', 'ī', 'ĩ', 'ĭ', 'į', 'ı', 'ι', 'i' => array('í', 'ì', '', 'ĩ', '', 'î', 'ï', 'ī', 'ĭ', 'į',
'ί', 'ϊ', 'ΐ', 'ἰ', 'ἱ', 'ἲ', 'ἳ', 'ἴ', 'ἵ', 'ἶ', 'ı', 'ι', 'ί', 'ϊ', 'ΐ', 'ἰ', 'ἱ', 'ἲ', 'ἳ', 'ἴ',
'ἷ', 'ὶ', 'ί', 'ῐ', 'ῑ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'і', 'ἵ', 'ἶ', 'ἷ', 'ὶ', 'ί', 'ῐ', 'ῑ', 'ῒ', 'ΐ', 'ῖ',
'ї', 'и'), 'ῗ', 'і', 'ї', 'и'),
'j' => array('ĵ'), 'j' => array('ĵ'),
'k' => array('ķ', 'ĸ', 'к'), 'k' => array('ķ', 'ĸ', 'к'),
'l' => array('ł', 'ľ', 'ĺ', 'ļ', 'ŀ', 'л'), 'l' => array('ł', 'ľ', 'ĺ', 'ļ', 'ŀ', 'л'),
'm' => array('м'), 'm' => array('м'),
'n' => array('ñ', 'ń', 'ň', 'ņ', 'ʼn', 'ŋ', 'ν', 'н'), 'n' => array('ñ', 'ń', 'ň', 'ņ', 'ʼn', 'ŋ', 'ν', 'н'),
'o' => array('ò', 'ó', 'ô', 'õ', 'ø', 'ō', 'ő', 'ŏ', 'ο', 'ό', 'o' => array('ó', 'ò', '', 'õ', '', 'ô', '', '', '', '', '',
'ơ', 'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ø', 'ō', 'ő', 'ŏ', 'ο',
'ὀ', 'ὁ', 'ὂ', 'ὃ', 'ὄ', 'ὅ', 'ὸ', 'ό', 'ö', 'о'), 'ὀ', 'ὁ', 'ὂ', 'ὃ', 'ὄ', 'ὅ', 'ὸ', 'ό', 'ö', 'о'),
'p' => array('п'), 'p' => array('п'),
'r' => array('ŕ', 'ř', 'ŗ', 'р'), 'r' => array('ŕ', 'ř', 'ŗ', 'р'),
's' => array('ś', 'š', 'ş', 'с'), 's' => array('ś', 'š', 'ş', 'с'),
't' => array('ť', 'ţ', 'т'), 't' => array('ť', 'ţ', 'т'),
'u' => array('ü', 'ù', 'ú', 'û', 'ū', 'ů', 'ű', 'ŭ', 'ũ', 'ų', 'u' => array('ú', 'ù', '', 'ũ', '', 'ư', '', '', '', '',
'µ', 'у'), 'ự', 'ü', 'û', 'ū', 'ů', 'ű', 'ŭ', 'ų', 'µ', 'у'),
'v' => array('в'), 'v' => array('в'),
'w' => array('ŵ'), 'w' => array('ŵ'),
'y' => array('ÿ', 'ý', 'ŷ', 'й', 'ы'), 'y' => array('ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ', 'ÿ', 'ŷ', 'й', 'ы'),
'z' => array('ź', 'ž', 'ż', 'з'), 'z' => array('ź', 'ž', 'ż', 'з'),
'ch' => array('ч'), 'ch' => array('ч'),
'kh' => array('х'), 'kh' => array('х'),
@@ -491,35 +494,37 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'ya' => array('я'), 'ya' => array('я'),
'yu' => array('ю'), 'yu' => array('ю'),
'zh' => array('ж'), 'zh' => array('ж'),
'A' => array('Á', 'Â', 'Ä', 'Ã', 'Å', 'Ā', 'Ą', 'Ă', 'Α', 'Ά', 'A' => array('Á', 'À', '', 'Ã', '', 'Ă', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', 'Â', '', '', '', '', '', 'Ä', 'Å', 'Ā',
'', '', '', '', '', '', '', '', '', 'Ά', 'Ą', 'Α', 'Ά', '', '', '', '', '', '', '',
'', 'А'), 'Ἇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', '', 'ᾎ', 'ᾏ', 'Ᾰ',
'Ᾱ', 'Ὰ', 'Ά', 'ᾼ', 'А'),
'B' => array('Б'), 'B' => array('Б'),
'C' => array('Ć', 'Č', 'Ĉ', 'Ċ'), 'C' => array('Ć', 'Č', 'Ĉ', 'Ċ'),
'D' => array('Ď', 'Ð', 'Đ', 'Ɖ', 'Ɗ', 'Ƌ', 'ᴅ', 'ᴆ', 'Д'), 'D' => array('Ď', 'Ð', 'Đ', 'Ɖ', 'Ɗ', 'Ƌ', 'ᴅ', 'ᴆ', 'Д'),
'E' => array('É', 'Ê', 'Ë', 'Ē', 'Ę', 'Ě', 'Ĕ', 'Ė', 'Ε', 'Έ', 'E' => array('É', 'È', '', 'Ẽ', 'Ẹ', 'Ê', '', '', '', '', '',
'', '', '', '', '', '', 'Έ', '', 'Е', 'Ё', 'Ë', 'Ē', 'Ę', ', 'Ĕ', 'Ė', 'Ε', 'Έ', '', '', '',
'Э', 'Є'), 'Ἓ', 'Ἔ', 'Ἕ', 'Έ', 'Ὲ', 'Е', 'Ё', 'Э', 'Є'),
'F' => array('Ф'), 'F' => array('Ф'),
'G' => array('Ğ', 'Ġ', 'Ģ', 'Г', 'Ґ'), 'G' => array('Ğ', 'Ġ', 'Ģ', 'Г', 'Ґ'),
'I' => array('Í', 'Î', 'Ï', 'Ī', 'Ĩ', 'Ĭ', 'Į', 'İ', 'Ι', 'Ί', 'I' => array('Í', 'Ì', '', 'Ĩ', '', 'Î', 'Ï', 'Ī', 'Ĭ', 'Į',
'Ϊ', 'Ἰ', 'Ἱ', 'Ἳ', 'Ἴ', 'Ἵ', 'Ἶ', 'Ἷ', 'Ῐ', 'Ῑ', 'İ', 'Ι', 'Ί', 'Ϊ', 'Ἰ', 'Ἱ', 'Ἳ', 'Ἴ', 'Ἵ', 'Ἶ',
'Ὶ', 'Ί', 'И', 'І', 'Ї'), 'Ἷ', 'Ῐ', 'Ῑ', 'Ὶ', 'Ί', 'И', 'І', 'Ї'),
'K' => array('К'), 'K' => array('К'),
'L' => array('Ĺ', 'Ł', 'Л'), 'L' => array('Ĺ', 'Ł', 'Л'),
'M' => array('М'), 'M' => array('М'),
'N' => array('Ń', 'Ñ', 'Ň', 'Ņ', 'Ŋ', 'Н'), 'N' => array('Ń', 'Ñ', 'Ň', 'Ņ', 'Ŋ', 'Н'),
'O' => array('Ó', 'Ô', 'Ö', 'Õ', 'Ø', 'Ō', 'Ő', 'Ŏ', 'Ο', 'Ό', 'O' => array('Ó', 'Ò', '', 'Õ', 'Ọ', ', '', '', '', '', '',
'', '', '', '', '', '', '', 'Ό', 'О'), 'Ơ', 'Ớ', 'Ờ', '', '', '', 'Ö', 'Ø', 'Ō', 'Ő', 'Ŏ',
'Ο', 'Ό', 'Ὀ', 'Ὁ', 'Ὂ', 'Ὃ', 'Ὄ', 'Ὅ', 'Ὸ', 'Ό', 'О'),
'P' => array('П'), 'P' => array('П'),
'R' => array('Ř', 'Ŕ', 'Р'), 'R' => array('Ř', 'Ŕ', 'Р'),
'S' => array('Ş', 'Ŝ', 'Ș', 'Š', 'Ś', 'С'), 'S' => array('Ş', 'Ŝ', 'Ș', 'Š', 'Ś', 'С'),
'T' => array('Ť', 'Ţ', 'Ŧ', 'Ț', 'Т'), 'T' => array('Ť', 'Ţ', 'Ŧ', 'Ț', 'Т'),
'U' => array('Ù', 'Ú', 'Û', 'Ü', 'Ū', 'Ů', 'Ű', 'Ŭ', 'Ũ', 'Ų', 'U' => array('Ú', 'Ù', '', 'Ũ', '', 'Ư', '', '', '', '',
'У'), 'Ự', 'Û', 'Ü', 'Ū', 'Ů', 'Ű', 'Ŭ', 'Ų', 'У'),
'V' => array('В'), 'V' => array('В'),
'Y' => array('Ý', 'Ÿ', 'Ῠ', 'Ῡ', 'Ὺ', 'Ύ', 'Ы', 'Й'), 'Y' => array('Ý', 'Ỳ', 'Ỷ', 'Ỹ', 'Ỵ', 'Ÿ', 'Ῠ', 'Ῡ', 'Ὺ', 'Ύ', 'Ы', 'Й'),
'Z' => array('Ź', 'Ž', 'Ż', 'З'), 'Z' => array('Ź', 'Ž', 'Ż', 'З'),
'CH' => array('Ч'), 'CH' => array('Ч'),
'KH' => array('Х'), 'KH' => array('Х'),

View File

@@ -195,6 +195,9 @@ abstract class CommonTest extends PHPUnit_Framework_TestCase
array('lysaya gora', 'лысая гора'), array('lysaya gora', 'лысая гора'),
array('shchuka', 'щука'), array('shchuka', 'щука'),
array('', '漢字'), array('', '漢字'),
array('xin chao the gioi', 'xin chào thế giới'),
array('XIN CHAO THE GIOI', 'XIN CHÀO THẾ GIỚI'),
array('dam phat chet luon', 'đấm phát chết luôn'),
array(' ', ' '), // no-break space (U+00A0) array(' ', ' '), // no-break space (U+00A0)
array(' ', ' '), // spaces U+2000 to U+200A array(' ', ' '), // spaces U+2000 to U+200A
array(' ', ''), // narrow no-break space (U+202F) array(' ', ''), // narrow no-break space (U+202F)