* K.D. Chang * @package squirrelmail * @subpackage decode */ /** * Decode a cp10079 (MacIcelandic) string * @param string $string Encoded string * @return string $string Decoded string */ function charset_decode_cp10079 ($string) { global $default_charset; if (strtolower($default_charset) == 'x-mac-icelandic') return $string; /* Only do the slow convert if there are 8-bit characters */ /* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */ if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string) ) return $string; $cp10079 = array( "\0x80" => 'Ä', "\0x81" => 'Å', "\0x82" => 'Ç', "\0x83" => 'É', "\0x84" => 'Ñ', "\0x85" => 'Ö', "\0x86" => 'Ü', "\0x87" => 'á', "\0x88" => 'à', "\0x89" => 'â', "\0x8A" => 'ä', "\0x8B" => 'ã', "\0x8C" => 'å', "\0x8D" => 'ç', "\0x8E" => 'é', "\0x8F" => 'è', "\0x90" => 'ê', "\0x91" => 'ë', "\0x92" => 'í', "\0x93" => 'ì', "\0x94" => 'î', "\0x95" => 'ï', "\0x96" => 'ñ', "\0x97" => 'ó', "\0x98" => 'ò', "\0x99" => 'ô', "\0x9A" => 'ö', "\0x9B" => 'õ', "\0x9C" => 'ú', "\0x9D" => 'ù', "\0x9E" => 'û', "\0x9F" => 'ü', "\0xA0" => 'Ý', "\0xA1" => '°', "\0xA2" => '¢', "\0xA3" => '£', "\0xA4" => '§', "\0xA5" => '•', "\0xA6" => '¶', "\0xA7" => 'ß', "\0xA8" => '®', "\0xA9" => '©', "\0xAA" => '™', "\0xAB" => '´', "\0xAC" => '¨', "\0xAD" => '≠', "\0xAE" => 'Æ', "\0xAF" => 'Ø', "\0xB0" => '∞', "\0xB1" => '±', "\0xB2" => '≤', "\0xB3" => '≥', "\0xB4" => '¥', "\0xB5" => 'µ', "\0xB6" => '∂', "\0xB7" => '∑', "\0xB8" => '∏', "\0xB9" => 'π', "\0xBA" => '∫', "\0xBB" => 'ª', "\0xBC" => 'º', "\0xBD" => 'Ω', "\0xBE" => 'æ', "\0xBF" => 'ø', "\0xC0" => '¿', "\0xC1" => '¡', "\0xC2" => '¬', "\0xC3" => '√', "\0xC4" => 'ƒ', "\0xC5" => '≈', "\0xC6" => '∆', "\0xC7" => '«', "\0xC8" => '»', "\0xC9" => '…', "\0xCA" => ' ', "\0xCB" => 'À', "\0xCC" => 'Ã', "\0xCD" => 'Õ', "\0xCE" => 'Œ', "\0xCF" => 'œ', "\0xD0" => '–', "\0xD1" => '—', "\0xD2" => '“', "\0xD3" => '”', "\0xD4" => '‘', "\0xD5" => '’', "\0xD6" => '÷', "\0xD7" => '◊', "\0xD8" => 'ÿ', "\0xD9" => 'Ÿ', "\0xDA" => '⁄', "\0xDB" => '¤', "\0xDC" => 'Ð', "\0xDD" => 'ð', "\0xDE" => 'Þ', "\0xDF" => 'þ', "\0xE0" => 'ý', "\0xE1" => '·', "\0xE2" => '‚', "\0xE3" => '„', "\0xE4" => '‰', "\0xE5" => 'Â', "\0xE6" => 'Ê', "\0xE7" => 'Á', "\0xE8" => 'Ë', "\0xE9" => 'È', "\0xEA" => 'Í', "\0xEB" => 'Î', "\0xEC" => 'Ï', "\0xED" => 'Ì', "\0xEE" => 'Ó', "\0xEF" => 'Ô', "\0xF0" => '￿', "\0xF1" => 'Ò', "\0xF2" => 'Ú', "\0xF3" => 'Û', "\0xF4" => 'Ù', "\0xF5" => 'ı', "\0xF6" => 'ˆ', "\0xF7" => '˜', "\0xF8" => '¯', "\0xF9" => '˘', "\0xFA" => '˙', "\0xFB" => '˚', "\0xFC" => '¸', "\0xFD" => '˝', "\0xFE" => '˛', "\0xFF" => 'ˇ' ); $string = str_replace(array_keys($cp10079), array_values($cp10079), $string); return $string; } ?>