<?php
+
/**
* decode/iso8859-6.php
*
- * Copyright (c) 2003-2004 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* This file contains iso-8859-6 decoding function that is needed to read
* iso-8859-6 encoded mails in non-iso-8859-6 locale.
- *
+ *
* Original data taken from:
* ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT
*
* Authors: Ken Whistler <kenw@sybase.com>
*
* Original copyright:
- * Copyright (c) 1999 Unicode, Inc. All Rights reserved.
+ * Copyright (c) 1999 Unicode, Inc. All Rights reserved.
*
- * This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
- * No claims are made as to fitness for any particular purpose. No
- * warranties of any kind are expressed or implied. The recipient
- * agrees to determine applicability of information provided. If this
- * file has been provided on optical media by Unicode, Inc., the sole
- * remedy for any claim will be exchange of defective media within 90
- * days of receipt.
+ * This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+ * No claims are made as to fitness for any particular purpose. No
+ * warranties of any kind are expressed or implied. The recipient
+ * agrees to determine applicability of information provided. If this
+ * file has been provided on optical media by Unicode, Inc., the sole
+ * remedy for any claim will be exchange of defective media within 90
+ * days of receipt.
*
- * Unicode, Inc. hereby grants the right to freely use the information
- * supplied in this file in the creation of products supporting the
- * Unicode Standard, and to make copies of this file in any form for
- * internal or external distribution as long as this notice remains
- * attached.
+ * Unicode, Inc. hereby grants the right to freely use the information
+ * supplied in this file in the creation of products supporting the
+ * Unicode Standard, and to make copies of this file in any form for
+ * internal or external distribution as long as this notice remains
+ * attached.
*
+ * @copyright 2003-2010 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @subpackage decode
* @return string $string Decoded string
*/
function charset_decode_iso_8859_6 ($string) {
- global $default_charset;
-
- if (strtolower($default_charset) == 'iso-8859-6')
- return $string;
-
- /* Only do the slow convert if there are 8-bit characters */
- /* there is no 0x80-0x9F letters in ISO8859-* */
- if ( ! ereg("[\241-\377]", $string) )
+ // don't do decoding when there are no 8bit symbols
+ if (! sq_is8bit($string,'iso-8859-6'))
return $string;
$iso8859_6 = array(
- "\xA0" => ' ',
- "\xA4" => '¤',
- "\xAC" => '،',
- "\xAD" => '­',
- "\xBB" => '؛',
- "\xBF" => '؟',
- "\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" => 'غ',
- "\xE0" => 'ـ',
- "\xE1" => 'ف',
- "\xE2" => 'ق',
- "\xE3" => 'ك',
- "\xE4" => 'ل',
- "\xE5" => 'م',
- "\xE6" => 'ن',
- "\xE7" => 'ه',
- "\xE8" => 'و',
- "\xE9" => 'ى',
- "\xEA" => 'ي',
- "\xEB" => 'ً',
- "\xEC" => 'ٌ',
- "\xED" => 'ٍ',
- "\xEE" => 'َ',
- "\xEF" => 'ُ',
- "\xF0" => 'ِ',
- "\xF1" => 'ّ',
- "\xF2" => 'ْ'
+ "\xA0" => ' ',
+ "\xA4" => '¤',
+ "\xAC" => '،',
+ "\xAD" => '­',
+ "\xBB" => '؛',
+ "\xBF" => '؟',
+ "\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" => 'غ',
+ "\xE0" => 'ـ',
+ "\xE1" => 'ف',
+ "\xE2" => 'ق',
+ "\xE3" => 'ك',
+ "\xE4" => 'ل',
+ "\xE5" => 'م',
+ "\xE6" => 'ن',
+ "\xE7" => 'ه',
+ "\xE8" => 'و',
+ "\xE9" => 'ى',
+ "\xEA" => 'ي',
+ "\xEB" => 'ً',
+ "\xEC" => 'ٌ',
+ "\xED" => 'ٍ',
+ "\xEE" => 'َ',
+ "\xEF" => 'ُ',
+ "\xF0" => 'ِ',
+ "\xF1" => 'ّ',
+ "\xF2" => 'ْ'
);
$string = str_replace(array_keys($iso8859_6), array_values($iso8859_6), $string);
return $string;
}
-
-?>