From 1694b36fc64fb771c513e66b94b8a968a7dce120 Mon Sep 17 00:00:00 2001 From: Anawin Pongsaboripat Date: Tue, 24 Aug 2021 14:42:38 +0700 Subject: [PATCH 1/2] Add Thai Alphabets and Vowel in Encode and Decode for Punycode --- src/Punycode.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/Punycode.php b/src/Punycode.php index fbc54dd..9f73ab8 100644 --- a/src/Punycode.php +++ b/src/Punycode.php @@ -35,6 +35,14 @@ class Punycode 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'ก', 'ข', 'ฃ', 'ค', 'ฅ', 'ฆ', 'ง', 'จ', 'ฉ', 'ช', 'ซ', 'ฌ', + 'ญ', 'ฎ', 'ฏ', 'ฐ', 'ฑ', 'ฒ', 'ณ', 'ด', 'ต', 'ถ', 'ท', 'ธ', + 'ณ', 'ด', 'ต', 'ถ', 'ท', 'ธ', 'น', 'บ', 'ป', 'ผ', 'ฝ', 'พ', + 'ฟ', 'ม', 'ย', 'ร', 'ล', 'ว', 'ศ', 'ษ', 'ส', 'ห', 'ฬ', 'อ', + 'ฮ', 'ะ', 'ิ', 'ี', 'ึ', '์', 'ุ', 'ู', 'เ', 'แ', 'โ', 'ำ', + 'ใ', 'ไ', 'ฤ','ฤา', 'ฦ', 'ฦา', 'โ', '่', '้', '๊', '๋', '็', + '์' + ); /** @@ -48,7 +56,20 @@ class Punycode 'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17, 's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23, 'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29, - '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35 + '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35, + 'ก' => 36, 'ข' => 37, 'ฃ' => 38, 'ค' => 39, 'ฅ' => 40, 'ฆ' => 41, + 'ง' => 42, 'จ' => 43, 'ฉ' => 44, 'ช' => 45, 'ซ' => 46, 'ฌ' => 47, + 'ญ' => 48, 'ฎ' => 49, 'ฏ' => 50, 'ฐ' => 51, 'ฑ' => 52, 'ฒ' => 53, + 'ณ' => 54, 'ด' => 55, 'ต' => 56, 'ถ' => 57, 'ท' => 58, 'ธ' => 59, + 'ณ' => 60, 'ด' => 61, 'ต' => 62, 'ถ' => 63, 'ท' => 64, 'ธ' => 65, + 'น' => 66, 'บ' => 67, 'ป' => 68, 'ผ' => 69, 'ฝ' => 70, 'พ' => 71, + 'ฟ' => 72, 'ม' => 73, 'ย' => 74, 'ร' => 75, 'ล' => 76, 'ว' => 77, + 'ศ' => 78, 'ษ' => 79, 'ส' => 80, 'ห' => 81, 'ฬ' => 82, 'อ' => 83, + 'ฮ' => 84, 'ะ' => 85, 'ิ' => 86, 'ี' => 87, 'ึ' => 88, '์' => 89, + 'ุ' => 90, 'ู' => 91, 'เ' => 92, 'แ' => 93, 'โ' => 94, 'ำ' => 95, + 'ใ' => 96, 'ไ' => 97, 'ฤ' => 98,'ฤา' => 99, 'ฦ' => 100,'ฦา' => 101, + 'โ' => 102,'่' => 103,'้' => 104, '๊' => 105, '๋' => 106, '็' => 107, + '์' => 108 ); /** From 52bf931f0caff841b697d29ef7a6bdf7b139492e Mon Sep 17 00:00:00 2001 From: Anawin Pongsaboripat Date: Thu, 16 Sep 2021 15:14:03 +0700 Subject: [PATCH 2/2] add test case --- .DS_Store | Bin 0 -> 6148 bytes src/.DS_Store | Bin 0 -> 6148 bytes tests/PunycodeTest.php | 8 ++++++++ 3 files changed, 8 insertions(+) create mode 100644 .DS_Store create mode 100644 src/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..aae774fe48299efc6402a7da5e27a08a98069a89 GIT binary patch literal 6148 zcmeHKF=_)r43uIA3~pSy+%Mz@i*a7y4}{q142GQ3UzK;|X_=7}h&e(EV)9Fa|v9|sN=FV)eciSI^-}z^I z1AVsPhsF&uDIf);fE17dQs8O@s-iBISD&NeXU+rh{)4*9*tQOgE34aZcUr)uDLY4!%XWc~8_R1*E{G z0<&DMSpT2lfAs&CNm@w(DR5T`_EI(BsGkAqB9j8QR^S`LfEYLc literal 0 HcmV?d00001 diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9c0ec106351db86ead02007fdae0e64e9af9844c GIT binary patch literal 6148 zcmeHKJ5EC}5S%3`f@o4w`U>2@ijos>0hELyQj~`TNR+SQTpW$rPeJsc3r#dDt;b&P z*zy!_-vY4J`~Cq~0$9);@#(|VeBXUyHx)4=ooBq@4F?Q3?O!L^zXzOqiw!=o!}Cx6 z?zkO>qi@TkfE17dQa}nwfeR{7#dUFa!83J~6p#Yfp@4rM8r`uMj*0Q<;1DeUan5iU z=g~_Ln+J%!a7<)`W=SO`)vCp?q%+xmkrfD|}a zV3y0J*Z&RukN*Fhq?Htq0#~Jg&DW3X6`xeKb@Di`wT=En_na@f8|Ojc5apN{<(LaE e$M=zxdClkC?}cMx&>0UpQ9lE&i%bgqw*ueB`xTl1 literal 0 HcmV?d00001 diff --git a/tests/PunycodeTest.php b/tests/PunycodeTest.php index 5c87223..3cb3ef1 100644 --- a/tests/PunycodeTest.php +++ b/tests/PunycodeTest.php @@ -150,6 +150,14 @@ public function domainNamesProvider() 'άέήίΰαβγδεζηθικλμνξοπρσστυφχ.com', 'xn--hxacdefghijklmnopqrstuvw0caz0a1a2a.com' ), + array( + 'อีเมลทดสอบ@ยูเอทดสอบ.ไทย', + 'xn--@-wxfbjcqd3cnz1df2afdd6jpd7fk.xn--o3cw4h' + ), + array( + 'อีเมลทดสอบ@ทีเอชนิค.องค์กร.ไทยย', + 'xn--@-0wfr2bocpe4dyb5c5afd1idj2qka.xn--12cfi8ixb8l.xn--o3cw4h' + ), ); }