root/trunk/lib/AkCharset/utf8_mappings/iso_8859_8.php
| Revision 285, 4.6 kB (checked in by bermiferrer, 3 years ago) |
|---|
| Line | |
|---|---|
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | *@file iso_8859_8.php |
| 5 | * ISO-8859-8 Mapping and Charset implementation. |
| 6 | * |
| 7 | */ |
| 8 | |
| 9 | // |
| 10 | // +----------------------------------------------------------------------+ |
| 11 | // | Akelos PHP Application Framework | |
| 12 | // +----------------------------------------------------------------------+ |
| 13 | // | Copyright (c) 2002-2005, Akelos Media, S.L. http://www.akelos.org/ | |
| 14 | // | Released under the GNU Lesser General Public License | |
| 15 | // +----------------------------------------------------------------------+ |
| 16 | // | You should have received the following files along with this library | |
| 17 | // | - COPYRIGHT (Additional copyright notice) | |
| 18 | // | - DISCLAIMER (Disclaimer of warranty) | |
| 19 | // | - README (Important information regarding this library) | |
| 20 | // +----------------------------------------------------------------------+ |
| 21 | // |
| 22 | |
| 23 | |
| 24 | |
| 25 | |
| 26 | |
| 27 | /** |
| 28 | * ISO-8859-8 driver for Charset Class |
| 29 | * |
| 30 | * Charset::iso_8859_8 provides functionality to convert |
| 31 | * ISO-8859-8 strings, to UTF-8 multibyte format and vice versa. |
| 32 | * |
| 33 | * @author Bermi Ferrer Martinez <bermi@akelos.org> |
| 34 | * @copyright Copyright (c) 2002-2005, Akelos Media, S.L. http://www.akelos.org |
| 35 | * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> |
| 36 | * @link http://www.unicode.org/Public/MAPPINGS/ Original Mapping taken from Unicode.org |
| 37 | * @since 0.1 |
| 38 | * @version $Revision 0.1 $ |
| 39 | */ |
| 40 | class iso_8859_8 extends AkCharset |
| 41 | { |
| 42 | |
| 43 | |
| 44 | // ------ CLASS ATTRIBUTES ------ // |
| 45 | |
| 46 | |
| 47 | |
| 48 | // ---- Private attributes ---- // |
| 49 | |
| 50 | |
| 51 | /** |
| 52 | * ISO-8859-8 to UTF-8 mapping array. |
| 53 | * |
| 54 | * @access private |
| 55 | * @var array $_toUtfMap |
| 56 | */ |
| 57 | var $_toUtfMap = array(0=>0,1=>1,2=>2,3=>3,4=>4,5=>5,6=>6,7=>7,8=>8,9=>9,10=>10,11=>11,12=>12,13=>13,14=>14,15=>15,16=>16,17=>17,18=>18,19=>19,20=>20,21=>21,22=>22,23=>23,24=>24,25=>25,26=>26,27=>27,28=>28,29=>29,30=>30,31=>31,32=>32,33=>33,34=>34,35=>35,36=>36,37=>37,38=>38,39=>39,40=>40,41=>41,42=>42,43=>43,44=>44,45=>45,46=>46,47=>47,48=>48,49=>49,50=>50,51=>51,52=>52,53=>53,54=>54,55=>55,56=>56,57=>57,58=>58,59=>59,60=>60,61=>61,62=>62,63=>63,64=>64,65=>65,66=>66,67=>67,68=>68,69=>69,70=>70,71=>71,72=>72,73=>73,74=>74,75=>75,76=>76,77=>77,78=>78,79=>79,80=>80,81=>81,82=>82,83=>83,84=>84,85=>85,86=>86,87=>87,88=>88,89=>89,90=>90,91=>91,92=>92,93=>93,94=>94,95=>95,96=>96,97=>97,98=>98,99=>99,100=>100,101=>101,102=>102,103=>103,104=>104,105=>105,106=>106,107=>107,108=>108,109=>109,110=>110,111=>111,112=>112,113=>113,114=>114,115=>115,116=>116,117=>117,118=>118,119=>119,120=>120,121=>121,122=>122,123=>123,124=>124,125=>125,126=>126,127=>127,128=>128,129=>129,130=>130,131=>131,132=>132,133=>133,134=>134,135=>135,136=>136,137=>137,138=>138,139=>139,140=>140,141=>141,142=>142,143=>143,144=>144,145=>145,146=>146,147=>147,148=>148,149=>149,150=>150,151=>151,152=>152,153=>153,154=>154,155=>155,156=>156,157=>157,158=>158,159=>159,160=>160,162=>162,163=>163,164=>164,165=>165,166=>166,167=>167,168=>168,169=>169,170=>215,171=>171,172=>172,173=>173,174=>174,175=>175,176=>176,177=>177,178=>178,179=>179,180=>180,181=>181,182=>182,183=>183,184=>184,185=>185,186=>247,187=>187,188=>188,189=>189,190=>190,223=>8215,224=>1488,225=>1489,226=>1490,227=>1491,228=>1492,229=>1493,230=>1494,231=>1495,232=>1496,233=>1497,234=>1498,235=>1499,236=>1500,237=>1501,238=>1502,239=>1503,240=>1504,241=>1505,242=>1506,243=>1507,244=>1508,245=>1509,246=>1510,247=>1511,248=>1512,249=>1513,250=>1514,253=>8206,254=>8207); |
| 58 | |
| 59 | |
| 60 | /** |
| 61 | * UTF-8 to ISO-8859-8 mapping array. |
| 62 | * |
| 63 | * @access private |
| 64 | * @var array $_fromUtfMap |
| 65 | */ |
| 66 | var $_fromUtfMap = null; |
| 67 | |
| 68 | |
| 69 | // ------------------------------ |
| 70 | |
| 71 | |
| 72 | |
| 73 | // ------ CLASS METHODS ------ // |
| 74 | |
| 75 | |
| 76 | // ---- Public methods ---- // |
| 77 | |
| 78 | |
| 79 | /** |
| 80 | * Encodes given ISO-8859-8 string into UFT-8 |
| 81 | * |
| 82 | * @access public |
| 83 | * @see UtfDecode |
| 84 | * @param string $string ISO-8859-8 string |
| 85 | * @return string UTF-8 string data |
| 86 | */ |
| 87 | function _Utf8StringEncode($string) |
| 88 | { |
| 89 | return parent::_Utf8StringEncode($string, $this->_toUtfMap); |
| 90 | |
| 91 | }// -- end of &Utf8StringEncode -- // |
| 92 | |
| 93 | /** |
| 94 | * Decodes given UFT-8 string into ISO-8859-8 |
| 95 | * |
| 96 | * @access public |
| 97 | * @see UtfEncode |
| 98 | * @param string $string UTF-8 string |
| 99 | * @return string ISO-8859-8 string data |
| 100 | */ |
| 101 | function _Utf8StringDecode($string) |
| 102 | { |
| 103 | $this->_LoadInverseMap(); |
| 104 | return parent::_Utf8StringDecode($string, $this->_fromUtfMap); |
| 105 | }// -- end of &Utf8StringDecode -- // |
| 106 | |
| 107 | |
| 108 | // ---- Private methods ---- // |
| 109 | |
| 110 | /** |
| 111 | * Flips $this->_toUtfMap to $this->_fromUtfMap |
| 112 | * |
| 113 | * @access private |
| 114 | * @return null |
| 115 | */ |
| 116 | function _LoadInverseMap() |
| 117 | { |
| 118 | static $loaded; |
| 119 | if(!isset($loaded)){ |
| 120 | $loaded = true; |
| 121 | $this->_fromUtfMap = array_flip($this->_toUtfMap); |
| 122 | } |
| 123 | }// -- end of _LoadInverseMap -- // |
| 124 | |
| 125 | } |
| 126 | |
| 127 | ?> |
Note: See TracBrowser for help on using the browser.
