123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- /**
- * decode/tis620.php
- *
- * This file contains tis620 decoding function that is needed to read
- * tis620 encoded mails in non-tis620 locale.
- *
- * Original data taken from:
- * http://www.inet.co.th/cyberclub/trin/thairef/tis620-iso10646.html
- *
- * Original copyright:
- * Note: The information contained herein is provided as-is. It was
- * complied from various references given at the end of the page.
- * The author (trin@mozart.inet.co.th) believes all information
- * presented here is accurate.
- *
- * References
- * 1. [1]TIS 620-2533 Standard for Thai Character Codes for Computers
- * (in Thai), [2]Thai Industrial Standards Institute
- * 2. [3]Thai Information Technology Standards, On-line resources at the
- * National Electronics and Computer Technology Center (NECTEC)
- * 3. ISO/IEC 10646-1, [4]ISO/IEC JTC1/SC2
- * 4. [5]Thai block in Unicode 2.1, [6]Unicode Consortium
- *
- * Links
- * 1. http://www.nectec.or.th/it-standards/std620/std620.htm
- * 2. http://www.tisi.go.th/
- * 3. http://www.nectec.or.th/it-standards/
- * 4. http://wwwold.dkuug.dk/JTC1/SC2/
- * 5. http://charts.unicode.org/Unicode.charts/normal/U0E00.html
- * 6. http://www.unicode.org/
- *
- * @copyright 2003-2025 The SquirrelMail Project Team
- * @license http://opensource.org/licenses/gpl-license.php GNU Public License
- * @version $Id$
- * @package squirrelmail
- * @subpackage decode
- */
- /**
- * Decode tis620 encoded strings
- * @param string $string Encoded string
- * @return string Decoded string
- */
- function charset_decode_tis_620 ($string) {
- // don't do decoding when there are no 8bit symbols
- if (! sq_is8bit($string,'tis-620'))
- return $string;
- $tis620 = array(
- "\xA0" => '',
- "\xA1" => 'ก',
- "\xA2" => 'ข',
- "\xA3" => 'ฃ',
- "\xA4" => 'ค',
- "\xA5" => 'ฅ',
- "\xA6" => 'ฆ',
- "\xA7" => 'ง',
- "\xA8" => 'จ',
- "\xA9" => 'ฉ',
- "\xAA" => 'ช',
- "\xAB" => 'ซ',
- "\xAC" => 'ฌ',
- "\xAD" => 'ญ',
- "\xAE" => 'ฎ',
- "\xAF" => 'ฏ',
- "\xB0" => 'ฐ',
- "\xB1" => 'ฑ',
- "\xB2" => 'ฒ',
- "\xB3" => 'ณ',
- "\xB4" => 'ด',
- "\xB5" => 'ต',
- "\xB6" => 'ถ',
- "\xB7" => 'ท',
- "\xB8" => 'ธ',
- "\xB9" => 'น',
- "\xBA" => 'บ',
- "\xBB" => 'ป',
- "\xBC" => 'ผ',
- "\xBD" => 'ฝ',
- "\xBE" => 'พ',
- "\xBF" => 'ฟ',
- "\xC0" => 'ภ',
- "\xC1" => 'ม',
- "\xC2" => 'ย',
- "\xC3" => 'ร',
- "\xC4" => 'ฤ',
- "\xC5" => 'ล',
- "\xC6" => 'ฦ',
- "\xC7" => 'ว',
- "\xC8" => 'ศ',
- "\xC9" => 'ษ',
- "\xCA" => 'ส',
- "\xCB" => 'ห',
- "\xCC" => 'ฬ',
- "\xCD" => 'อ',
- "\xCE" => 'ฮ',
- "\xCF" => 'ฯ',
- "\xD0" => 'ะ',
- "\xD1" => 'ั',
- "\xD2" => 'า',
- "\xD3" => 'ำ',
- "\xD4" => 'ิ',
- "\xD5" => 'ี',
- "\xD6" => 'ึ',
- "\xD7" => 'ื',
- "\xD8" => 'ุ',
- "\xD9" => 'ู',
- "\xDA" => 'ฺ',
- "\xDB" => '',
- "\xDC" => '',
- "\xDD" => '',
- "\xDE" => '',
- "\xDF" => '฿',
- "\xE0" => 'เ',
- "\xE1" => 'แ',
- "\xE2" => 'โ',
- "\xE3" => 'ใ',
- "\xE4" => 'ไ',
- "\xE5" => 'ๅ',
- "\xE6" => 'ๆ',
- "\xE7" => '็',
- "\xE8" => '่',
- "\xE9" => '้',
- "\xEA" => '๊',
- "\xEB" => '๋',
- "\xEC" => '์',
- "\xED" => 'ํ',
- "\xEE" => '๎',
- "\xEF" => '๏',
- "\xF0" => '๐',
- "\xF1" => '๑',
- "\xF2" => '๒',
- "\xF3" => '๓',
- "\xF4" => '๔',
- "\xF5" => '๕',
- "\xF6" => '๖',
- "\xF7" => '๗',
- "\xF8" => '๘',
- "\xF9" => '๙',
- "\xFA" => '๚',
- "\xFB" => '๛',
- "\xFC" => '',
- "\xFD" => '',
- "\xFE" => '',
- "\xFF" => ''
- );
- $string = str_replace(array_keys($tis620), array_values($tis620), $string);
- return $string;
- }
|