source-class-Com.Tecnick.Unicode.Data.Arabic

It appears that you are using AdBlocking software. The cost of running this website is covered by advertisements. If you like it please feel free to a small amount of money to secure the future of this website.
  1: <?php
  2: /**
  3:  * Arabic.php
  4:  *
  5:  * @since       2011-05-23
  6:  * @category    Library
  7:  * @package     UnicodeData
  8:  * @author      Nicola Asuni <info@tecnick.com>
  9:  * @copyright   2011-2015 Nicola Asuni - Tecnick.com LTD
 10:  * @license     http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
 11:  * @link        https://github.com/tecnickcom/tc-lib-unicode-data
 12:  *
 13:  * This file is part of tc-lib-unicode-data software library.
 14:  */
 15: 
 16: namespace Com\Tecnick\Unicode\Data;
 17: 
 18: /**
 19:  * Com\Tecnick\Unicode\Data\Arabic
 20:  *
 21:  * @since       2011-05-23
 22:  * @category    Library
 23:  * @package     UnicodeData
 24:  * @author      Nicola Asuni <info@tecnick.com>
 25:  * @copyright   2011-2015 Nicola Asuni - Tecnick.com LTD
 26:  * @license     http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
 27:  * @link        https://github.com/tecnickcom/tc-lib-unicode-data
 28:  */
 29: class Arabic
 30: {
 31:     /**
 32:      * Unicode code for ARABIC QUESTION MARK (U+061F)
 33:      */
 34:     const QUESTION_MARK = 1567;
 35:     
 36:     /**
 37:      * Unicode code for ARABIC LETTER LAM (U+0644)
 38:      */
 39:     const LAM = 1604;
 40:     
 41:     /**
 42:      * Unicode code for ARABIC LETTER HEH (U+0647)
 43:      */
 44:     const HEH = 1607;
 45:     
 46:     /**
 47:      * Unicode code for ARABIC SHADDA (U+0651)
 48:      */
 49:     const SHADDA = 1617;
 50:     
 51:     /**
 52:      * Unicode code for ARABIC LIGATURE ALLAH ISOLATED FORM (U+FDF2)
 53:      */
 54:     const LIGATURE_ALLAH_ISOLATED_FORM = 65010;
 55:     
 56:     /**
 57:      * Arabic shape substitutions: char code => ([isolated, final, initial, medial]).
 58:      *
 59:      * @var array
 60:      */
 61:     public static $substitute = array(
 62:         1569=>array(65152),
 63:         1570=>array(65153, 65154, 65153, 65154),
 64:         1571=>array(65155, 65156, 65155, 65156),
 65:         1572=>array(65157, 65158),
 66:         1573=>array(65159, 65160, 65159, 65160),
 67:         1574=>array(65161, 65162, 65163, 65164),
 68:         1575=>array(65165, 65166, 65165, 65166),
 69:         1576=>array(65167, 65168, 65169, 65170),
 70:         1577=>array(65171, 65172),
 71:         1578=>array(65173, 65174, 65175, 65176),
 72:         1579=>array(65177, 65178, 65179, 65180),
 73:         1580=>array(65181, 65182, 65183, 65184),
 74:         1581=>array(65185, 65186, 65187, 65188),
 75:         1582=>array(65189, 65190, 65191, 65192),
 76:         1583=>array(65193, 65194, 65193, 65194),
 77:         1584=>array(65195, 65196, 65195, 65196),
 78:         1585=>array(65197, 65198, 65197, 65198),
 79:         1586=>array(65199, 65200, 65199, 65200),
 80:         1587=>array(65201, 65202, 65203, 65204),
 81:         1588=>array(65205, 65206, 65207, 65208),
 82:         1589=>array(65209, 65210, 65211, 65212),
 83:         1590=>array(65213, 65214, 65215, 65216),
 84:         1591=>array(65217, 65218, 65219, 65220),
 85:         1592=>array(65221, 65222, 65223, 65224),
 86:         1593=>array(65225, 65226, 65227, 65228),
 87:         1594=>array(65229, 65230, 65231, 65232),
 88:         1601=>array(65233, 65234, 65235, 65236),
 89:         1602=>array(65237, 65238, 65239, 65240),
 90:         1603=>array(65241, 65242, 65243, 65244),
 91:         1604=>array(65245, 65246, 65247, 65248),
 92:         1605=>array(65249, 65250, 65251, 65252),
 93:         1606=>array(65253, 65254, 65255, 65256),
 94:         1607=>array(65257, 65258, 65259, 65260),
 95:         1608=>array(65261, 65262, 65261, 65262),
 96:         1609=>array(65263, 65264, 64488, 64489),
 97:         1610=>array(65265, 65266, 65267, 65268),
 98:         1649=>array(64336, 64337),
 99:         1655=>array(64477),
100:         1657=>array(64358, 64359, 64360, 64361),
101:         1658=>array(64350, 64351, 64352, 64353),
102:         1659=>array(64338, 64339, 64340, 64341),
103:         1662=>array(64342, 64343, 64344, 64345),
104:         1663=>array(64354, 64355, 64356, 64357),
105:         1664=>array(64346, 64347, 64348, 64349),
106:         1667=>array(64374, 64375, 64376, 64377),
107:         1668=>array(64370, 64371, 64372, 64373),
108:         1670=>array(64378, 64379, 64380, 64381),
109:         1671=>array(64382, 64383, 64384, 64385),
110:         1672=>array(64392, 64393),
111:         1676=>array(64388, 64389),
112:         1677=>array(64386, 64387),
113:         1678=>array(64390, 64391),
114:         1681=>array(64396, 64397),
115:         1688=>array(64394, 64395, 64394, 64395),
116:         1700=>array(64362, 64363, 64364, 64365),
117:         1702=>array(64366, 64367, 64368, 64369),
118:         1705=>array(64398, 64399, 64400, 64401),
119:         1709=>array(64467, 64468, 64469, 64470),
120:         1711=>array(64402, 64403, 64404, 64405),
121:         1713=>array(64410, 64411, 64412, 64413),
122:         1715=>array(64406, 64407, 64408, 64409),
123:         1722=>array(64414, 64415),
124:         1723=>array(64416, 64417, 64418, 64419),
125:         1726=>array(64426, 64427, 64428, 64429),
126:         1728=>array(64420, 64421),
127:         1729=>array(64422, 64423, 64424, 64425),
128:         1733=>array(64480, 64481),
129:         1734=>array(64473, 64474),
130:         1735=>array(64471, 64472),
131:         1736=>array(64475, 64476),
132:         1737=>array(64482, 64483),
133:         1739=>array(64478, 64479),
134:         1740=>array(64508, 64509, 64510, 64511),
135:         1744=>array(64484, 64485, 64486, 64487),
136:         1746=>array(64430, 64431),
137:         1747=>array(64432, 64433)
138:     );
139: 
140:     /**
141:      * Arabic laa letter: (char code => [isolated, final, initial, medial]).
142:      *
143:      * @var array
144:      */
145:     public static $laa = array(
146:         1570=>array(65269, 65270, 65269, 65270), // ALEF (U+0627) with MADDAH ABOVE (U+0653)
147:         1571=>array(65271, 65272, 65271, 65272), // ALEF (U+0627) with HAMZA ABOVE (U+0654)
148:         1573=>array(65273, 65274, 65273, 65274), // ALEF (U+0627) with HAMZA BELOW (U+0655)
149:         1575=>array(65275, 65276, 65275, 65276)  // ALEF (U+0627)
150:     );
151: 
152:     /**
153:      * Array of character substitutions for sequences of two diacritics symbols.
154:      * Putting the combining mark and character in the same glyph allows us
155:      * to avoid the two marks overlapping each other in an illegible manner.
156:      * second NSM char code => substitution char
157:      *
158:      * @var array
159:      */
160:     public static $diacritic = array(
161:         1612=>64606, # Shadda + Dammatan
162:         1613=>64607, # Shadda + Kasratan
163:         1614=>64608, # Shadda + Fatha
164:         1615=>64609, # Shadda + Damma
165:         1616=>64610  # Shadda + Kasra
166:     );
167: 
168:     
169:     /**
170:      * Array of Arabic end letters
171:      *
172:      * @var array
173:      */
174:     public static $end = array(
175:         1569, // HAMZAH (U+621)
176:         1570, // ALEF (U+0627) with MADDAH ABOVE (U+0653)
177:         1571, // ALEF (U+0627) with HAMZA ABOVE (U+0654)
178:         1572, // WAW (U+0648) with HAMZA ABOVE (U+0654)
179:         1573, // ALEF (U+0627) with HAMZA BELOW (U+0655)
180:         1575, // ALEF (U+0627)
181:         1577, // TEH MARBUTA (U+0629)
182:         1583, // DAL (U+062F)
183:         1584, // THAL (U+0630)
184:         1585, // REH (U+0631)
185:         1586, // ZAIN (U+0632)
186:         1608, // WAW (U+0648)
187:         1688  // JEH (U+0698)
188:     );
189: }
190: 
 

© 2004-2017 – Nicola Asuni - Tecnick.com - All rights reserved.
about - disclaimer - privacy