5 * ISO-8859-7 Mapping and Charset implementation.
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 // +----------------------------------------------------------------------+
28 * ISO-8859-7 driver for Charset Class
30 * Charset::iso_8859_7 provides functionality to convert
31 * ISO-8859-7 strings, to UTF-8 multibyte format and vice versa.
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
38 * @version $Revision 0.1 $
40 class iso_8859_7
extends AkCharset
44 // ------ CLASS ATTRIBUTES ------ //
48 // ---- Private attributes ---- //
52 * ISO-8859-7 to UTF-8 mapping array.
55 * @var array $_toUtfMap
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,161=>8216,162=>8217,163=>163,166=>166,167=>167,168=>168,169=>169,171=>171,172=>172,173=>173,175=>8213,176=>176,177=>177,178=>178,179=>179,180=>900,181=>901,182=>902,183=>183,184=>904,185=>905,186=>906,187=>187,188=>908,189=>189,190=>910,191=>911,192=>912,193=>913,194=>914,195=>915,196=>916,197=>917,198=>918,199=>919,200=>920,201=>921,202=>922,203=>923,204=>924,205=>925,206=>926,207=>927,208=>928,209=>929,211=>931,212=>932,213=>933,214=>934,215=>935,216=>936,217=>937,218=>938,219=>939,220=>940,221=>941,222=>942,223=>943,224=>944,225=>945,226=>946,227=>947,228=>948,229=>949,230=>950,231=>951,232=>952,233=>953,234=>954,235=>955,236=>956,237=>957,238=>958,239=>959,240=>960,241=>961,242=>962,243=>963,244=>964,245=>965,246=>966,247=>967,248=>968,249=>969,250=>970,251=>971,252=>972,253=>973,254=>974);
61 * UTF-8 to ISO-8859-7 mapping array.
64 * @var array $_fromUtfMap
66 var $_fromUtfMap = null;
69 // ------------------------------
73 // ------ CLASS METHODS ------ //
76 // ---- Public methods ---- //
80 * Encodes given ISO-8859-7 string into UFT-8
84 * @param string $string ISO-8859-7 string
85 * @return string UTF-8 string data
87 function _Utf8StringEncode($string)
89 return parent
::_Utf8StringEncode($string, $this->_toUtfMap
);
91 }// -- end of &Utf8StringEncode -- //
94 * Decodes given UFT-8 string into ISO-8859-7
98 * @param string $string UTF-8 string
99 * @return string ISO-8859-7 string data
101 function _Utf8StringDecode($string)
103 $this->_LoadInverseMap();
104 return parent
::_Utf8StringDecode($string, $this->_fromUtfMap
);
105 }// -- end of &Utf8StringDecode -- //
108 // ---- Private methods ---- //
111 * Flips $this->_toUtfMap to $this->_fromUtfMap
116 function _LoadInverseMap()
121 $this->_fromUtfMap
= array_flip($this->_toUtfMap
);
123 }// -- end of _LoadInverseMap -- //