8148
|
1 |
"
|
|
2 |
COPYRIGHT (c) 2004 by eXept Software AG
|
|
3 |
All Rights Reserved
|
|
4 |
|
|
5 |
This software is furnished under a license and may be used
|
|
6 |
only in accordance with the terms of that license and with the
|
|
7 |
inclusion of the above copyright notice. This software may not
|
|
8 |
be provided or otherwise made available to, or used by, any
|
|
9 |
other person. No title to or ownership of the software is
|
|
10 |
hereby transferred.
|
|
11 |
"
|
|
12 |
|
8081
|
13 |
"{ Package: 'stx:libbasic' }"
|
|
14 |
|
|
15 |
"{ NameSpace: CharacterEncoderImplementations }"
|
|
16 |
|
|
17 |
SingleByteEncoder subclass:#MS_Arabic
|
|
18 |
instanceVariableNames:''
|
|
19 |
classVariableNames:''
|
|
20 |
poolDictionaries:''
|
|
21 |
category:'Collections-Text-Encodings'
|
|
22 |
!
|
|
23 |
|
8148
|
24 |
!MS_Arabic class methodsFor:'documentation'!
|
|
25 |
|
|
26 |
copyright
|
|
27 |
"
|
|
28 |
COPYRIGHT (c) 2004 by eXept Software AG
|
|
29 |
All Rights Reserved
|
|
30 |
|
|
31 |
This software is furnished under a license and may be used
|
|
32 |
only in accordance with the terms of that license and with the
|
|
33 |
inclusion of the above copyright notice. This software may not
|
|
34 |
be provided or otherwise made available to, or used by, any
|
|
35 |
other person. No title to or ownership of the software is
|
|
36 |
hereby transferred.
|
|
37 |
"
|
8813
|
38 |
!
|
|
39 |
|
|
40 |
documentation
|
|
41 |
"
|
|
42 |
CP1256 / Microsoft Arabic
|
|
43 |
|
|
44 |
[see with:]
|
|
45 |
CharacterEncoderImplementations::MS_Arabic showCharacterSet
|
|
46 |
|
|
47 |
[author:]
|
|
48 |
Claus Gittinger
|
|
49 |
"
|
8148
|
50 |
! !
|
8081
|
51 |
|
|
52 |
!MS_Arabic class methodsFor:'mapping'!
|
|
53 |
|
|
54 |
mapFileURL2_relativePathName
|
|
55 |
^ 'CP1256'
|
8813
|
56 |
|
|
57 |
"
|
|
58 |
self generateCode
|
|
59 |
"
|
8081
|
60 |
!
|
|
61 |
|
|
62 |
mapping
|
|
63 |
"
|
|
64 |
# From: http://std.dkuug.dk/i18n/charmaps/CP1256
|
|
65 |
|
|
66 |
<code_set_name> CP1256
|
|
67 |
<comment_char> %
|
|
68 |
<escape_char> /
|
|
69 |
% version: 1.0
|
|
70 |
% repertoiremap: mnemonic,ds
|
|
71 |
% source: UNICODE 1.0
|
|
72 |
|
|
73 |
% alias MS-ARAB
|
|
74 |
CHARMAP
|
|
75 |
<NU> /x00 <U0000> NULL (NUL)
|
|
76 |
<SH> /x01 <U0001> START OF HEADING (SOH)
|
|
77 |
<SX> /x02 <U0002> START OF TEXT (STX)
|
|
78 |
<EX> /x03 <U0003> END OF TEXT (ETX)
|
|
79 |
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
|
80 |
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
|
81 |
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
|
82 |
<BL> /x07 <U0007> BELL (BEL)
|
|
83 |
<BS> /x08 <U0008> BACKSPACE (BS)
|
|
84 |
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
|
85 |
<LF> /x0A <U000A> LINE FEED (LF)
|
|
86 |
<VT> /x0B <U000B> LINE TABULATION (VT)
|
|
87 |
<FF> /x0C <U000C> FORM FEED (FF)
|
|
88 |
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
|
89 |
<SO> /x0E <U000E> SHIFT OUT (SO)
|
|
90 |
<SI> /x0F <U000F> SHIFT IN (SI)
|
|
91 |
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
|
92 |
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
|
93 |
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
|
94 |
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
|
95 |
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
|
96 |
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
|
97 |
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
|
98 |
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
|
99 |
<CN> /x18 <U0018> CANCEL (CAN)
|
|
100 |
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
|
101 |
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
|
102 |
<EC> /x1B <U001B> ESCAPE (ESC)
|
|
103 |
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
|
104 |
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
|
105 |
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
|
106 |
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
|
107 |
<SP> /x20 <U0020> SPACE
|
|
108 |
<!!> /x21 <U0021> EXCLAMATION MARK
|
|
109 |
<'> /x22 <U0022> QUOTATION MARK
|
|
110 |
<Nb> /x23 <U0023> NUMBER SIGN
|
|
111 |
<DO> /x24 <U0024> DOLLAR SIGN
|
|
112 |
<%> /x25 <U0025> PERCENT SIGN
|
|
113 |
<&> /x26 <U0026> AMPERSAND
|
|
114 |
<'> /x27 <U0027> APOSTROPHE
|
|
115 |
<(> /x28 <U0028> LEFT PARENTHESIS
|
|
116 |
<)> /x29 <U0029> RIGHT PARENTHESIS
|
|
117 |
<*> /x2A <U002A> ASTERISK
|
|
118 |
<+> /x2B <U002B> PLUS SIGN
|
|
119 |
<,> /x2C <U002C> COMMA
|
|
120 |
<-> /x2D <U002D> HYPHEN-MINUS
|
|
121 |
<.> /x2E <U002E> FULL STOP
|
|
122 |
<//> /x2F <U002F> SOLIDUS
|
|
123 |
<0> /x30 <U0030> DIGIT ZERO
|
|
124 |
<1> /x31 <U0031> DIGIT ONE
|
|
125 |
<2> /x32 <U0032> DIGIT TWO
|
|
126 |
<3> /x33 <U0033> DIGIT THREE
|
|
127 |
<4> /x34 <U0034> DIGIT FOUR
|
|
128 |
<5> /x35 <U0035> DIGIT FIVE
|
|
129 |
<6> /x36 <U0036> DIGIT SIX
|
|
130 |
<7> /x37 <U0037> DIGIT SEVEN
|
|
131 |
<8> /x38 <U0038> DIGIT EIGHT
|
|
132 |
<9> /x39 <U0039> DIGIT NINE
|
|
133 |
<:> /x3A <U003A> COLON
|
|
134 |
<;> /x3B <U003B> SEMICOLON
|
|
135 |
<<> /x3C <U003C> LESS-THAN SIGN
|
|
136 |
<=> /x3D <U003D> EQUALS SIGN
|
|
137 |
</>> /x3E <U003E> GREATER-THAN SIGN
|
|
138 |
<?> /x3F <U003F> QUESTION MARK
|
|
139 |
<At> /x40 <U0040> COMMERCIAL AT
|
|
140 |
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
|
141 |
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
|
142 |
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
|
143 |
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
|
144 |
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
|
145 |
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
|
146 |
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
|
147 |
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
|
148 |
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
|
149 |
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
|
150 |
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
|
151 |
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
|
152 |
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
|
153 |
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
|
154 |
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
|
155 |
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
|
156 |
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
|
157 |
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
|
158 |
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
|
159 |
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
|
160 |
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
|
161 |
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
|
162 |
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
|
163 |
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
|
164 |
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
|
165 |
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
|
166 |
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
|
167 |
<////> /x5C <U005C> REVERSE SOLIDUS
|
|
168 |
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
|
169 |
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
|
170 |
<_> /x5F <U005F> LOW LINE
|
|
171 |
<'!!> /x60 <U0060> GRAVE ACCENT
|
|
172 |
<a> /x61 <U0061> LATIN SMALL LETTER A
|
|
173 |
<b> /x62 <U0062> LATIN SMALL LETTER B
|
|
174 |
<c> /x63 <U0063> LATIN SMALL LETTER C
|
|
175 |
<d> /x64 <U0064> LATIN SMALL LETTER D
|
|
176 |
<e> /x65 <U0065> LATIN SMALL LETTER E
|
|
177 |
<f> /x66 <U0066> LATIN SMALL LETTER F
|
|
178 |
<g> /x67 <U0067> LATIN SMALL LETTER G
|
|
179 |
<h> /x68 <U0068> LATIN SMALL LETTER H
|
|
180 |
<i> /x69 <U0069> LATIN SMALL LETTER I
|
|
181 |
<j> /x6A <U006A> LATIN SMALL LETTER J
|
|
182 |
<k> /x6B <U006B> LATIN SMALL LETTER K
|
|
183 |
<l> /x6C <U006C> LATIN SMALL LETTER L
|
|
184 |
<m> /x6D <U006D> LATIN SMALL LETTER M
|
|
185 |
<n> /x6E <U006E> LATIN SMALL LETTER N
|
|
186 |
<o> /x6F <U006F> LATIN SMALL LETTER O
|
|
187 |
<p> /x70 <U0070> LATIN SMALL LETTER P
|
|
188 |
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
|
189 |
<r> /x72 <U0072> LATIN SMALL LETTER R
|
|
190 |
<s> /x73 <U0073> LATIN SMALL LETTER S
|
|
191 |
<t> /x74 <U0074> LATIN SMALL LETTER T
|
|
192 |
<u> /x75 <U0075> LATIN SMALL LETTER U
|
|
193 |
<v> /x76 <U0076> LATIN SMALL LETTER V
|
|
194 |
<w> /x77 <U0077> LATIN SMALL LETTER W
|
|
195 |
<x> /x78 <U0078> LATIN SMALL LETTER X
|
|
196 |
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
|
197 |
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
|
198 |
<(!!> /x7B <U007B> LEFT CURLY BRACKET
|
|
199 |
<!!!!> /x7C <U007C> VERTICAL LINE
|
|
200 |
<!!)> /x7D <U007D> RIGHT CURLY BRACKET
|
|
201 |
<'?> /x7E <U007E> TILDE
|
|
202 |
<DT> /x7F <U007F> DELETE (DEL)
|
|
203 |
<,+> /x80 <U060C> ARABIC COMMA
|
|
204 |
<0a> /x81 <U0660> ARABIC-INDIC DIGIT ZERO
|
|
205 |
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
|
206 |
<1a> /x83 <U0661> ARABIC-INDIC DIGIT ONE
|
|
207 |
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
|
208 |
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
|
209 |
<//-> /x86 <U2020> DAGGER
|
|
210 |
<//=> /x87 <U2021> DOUBLE DAGGER
|
|
211 |
<2a> /x88 <U0662> ARABIC-INDIC DIGIT TWO
|
|
212 |
<3a> /x89 <U0663> ARABIC-INDIC DIGIT THREE
|
|
213 |
<4a> /x8A <U0664> ARABIC-INDIC DIGIT FOUR
|
|
214 |
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
|
215 |
<5a> /x8C <U0665> ARABIC-INDIC DIGIT FIVE
|
|
216 |
<6a> /x8D <U0666> ARABIC-INDIC DIGIT SIX
|
|
217 |
<7a> /x8E <U0667> ARABIC-INDIC DIGIT SEVEN
|
|
218 |
<8a> /x8F <U0668> ARABIC-INDIC DIGIT EIGHT
|
|
219 |
<9a> /x90 <U0669> ARABIC-INDIC DIGIT NINE
|
|
220 |
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
|
221 |
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
|
222 |
<'6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
|
223 |
<'9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
|
224 |
<sb> /x95 <U2022> BULLET
|
|
225 |
<-N> /x96 <U2013> EN DASH
|
|
226 |
<-M> /x97 <U2014> EM DASH
|
|
227 |
<;+> /x98 <U061B> ARABIC SEMICOLON
|
|
228 |
<TM> /x99 <U2122> TRADE MARK SIGN
|
|
229 |
<?+> /x9A <U061F> ARABIC QUESTION MARK
|
|
230 |
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
|
231 |
<H'> /x9C <U0621> ARABIC LETTER HAMZA
|
|
232 |
<aM> /x9D <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
|
|
233 |
<aH> /x9E <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
|
|
234 |
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
|
|
235 |
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
|
236 |
<wH> /xA1 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
|
|
237 |
<ah> /xA2 <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW
|
|
238 |
<Pd> /xA3 <U00A3> POUND SIGN
|
|
239 |
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
|
240 |
<yH> /xA5 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
|
|
241 |
<BB> /xA6 <U00A6> BROKEN BAR
|
|
242 |
<SE> /xA7 <U00A7> SECTION SIGN
|
|
243 |
<a+> /xA8 <U0627> ARABIC LETTER ALEF
|
|
244 |
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
|
245 |
<b+> /xAA <U0628> ARABIC LETTER BEH
|
|
246 |
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
|
247 |
<NO> /xAC <U00AC> NOT SIGN
|
|
248 |
<--> /xAD <U00AD> SOFT HYPHEN
|
|
249 |
<Rg> /xAE <U00AE> REGISTERED SIGN
|
|
250 |
<p+> /xAF <U067E> ARABIC LETTER PEH
|
|
251 |
<DG> /xB0 <U00B0> DEGREE SIGN
|
|
252 |
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
|
253 |
<tm> /xB2 <U0629> ARABIC LETTER TEH MARBUTA
|
|
254 |
<t+> /xB3 <U062A> ARABIC LETTER TEH
|
|
255 |
<tk> /xB4 <U062B> ARABIC LETTER THEH
|
|
256 |
<My> /xB5 <U00B5> MICRO SIGN
|
|
257 |
<PI> /xB6 <U00B6> PILCROW SIGN
|
|
258 |
<.M> /xB7 <U00B7> MIDDLE DOT
|
|
259 |
<g+> /xB8 <U062C> ARABIC LETTER JEEM
|
|
260 |
<tc> /xB9 <U0686> ARABIC LETTER TCHEH
|
|
261 |
<hk> /xBA <U062D> ARABIC LETTER HAH
|
|
262 |
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
|
263 |
<x+> /xBC <U062E> ARABIC LETTER KHAH
|
|
264 |
<d+> /xBD <U062F> ARABIC LETTER DAL
|
|
265 |
<dk> /xBE <U0630> ARABIC LETTER THAL
|
|
266 |
<r+> /xBF <U0631> ARABIC LETTER REH
|
|
267 |
<A!!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
|
|
268 |
<z+> /xC1 <U0632> ARABIC LETTER ZAIN
|
|
269 |
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
|
270 |
<zj> /xC3 <U0698> ARABIC LETTER JEH
|
|
271 |
<s+> /xC4 <U0633> ARABIC LETTER SEEN
|
|
272 |
<sn> /xC5 <U0634> ARABIC LETTER SHEEN
|
|
273 |
<c+> /xC6 <U0635> ARABIC LETTER SAD
|
|
274 |
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
|
275 |
<E!!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
|
|
276 |
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
|
277 |
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
|
278 |
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
|
279 |
<dd> /xCC <U0636> ARABIC LETTER DAD
|
|
280 |
<tj> /xCD <U0637> ARABIC LETTER TAH
|
|
281 |
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
|
282 |
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
|
|
283 |
<zh> /xD0 <U3113> BOPOMOFO LETTER ZH
|
|
284 |
<e+> /xD1 <U0639> ARABIC LETTER AIN
|
|
285 |
<i+> /xD2 <U063A> ARABIC LETTER GHAIN
|
|
286 |
<++> /xD3 <U0640> ARABIC TATWEEL
|
|
287 |
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
|
288 |
<f+> /xD5 <U0641> ARABIC LETTER FEH
|
|
289 |
<q+> /xD6 <U0642> ARABIC LETTER QAF
|
|
290 |
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
|
291 |
<k+> /xD8 <U0643> ARABIC LETTER KAF
|
|
292 |
<U!!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
|
|
293 |
<gf> /xDA <U06AF> ARABIC LETTER GAF
|
|
294 |
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
|
295 |
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
|
296 |
<l+> /xDD <U0644> ARABIC LETTER LAM
|
|
297 |
<m+> /xDE <U0645> ARABIC LETTER MEEM
|
|
298 |
<n+> /xDF <U0646> ARABIC LETTER NOON
|
|
299 |
<a!!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
|
|
300 |
<h+> /xE1 <U0647> ARABIC LETTER HEH
|
|
301 |
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
|
302 |
<hH> /xE3 <U0681> ARABIC LETTER HAH WITH HAMZA ABOVE
|
|
303 |
<w+> /xE4 <U0648> ARABIC LETTER WAW
|
|
304 |
<j+> /xE5 <U0649> ARABIC LETTER ALEF MAKSURA
|
|
305 |
<y+> /xE6 <U064A> ARABIC LETTER YEH
|
|
306 |
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
|
307 |
<e!!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
|
|
308 |
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
|
309 |
<e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
|
|
310 |
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
|
311 |
<:+> /xEC <U064B> ARABIC FATHATAN
|
|
312 |
<'+> /xED <U064C> ARABIC DAMMATAN
|
|
313 |
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
|
314 |
<i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
|
|
315 |
<=+> /xF0 <U064D> ARABIC KASRATAN
|
|
316 |
<//+> /xF1 <U064E> ARABIC FATHA
|
|
317 |
<'+> /xF2 <U064F> ARABIC DAMMA
|
|
318 |
<1+> /xF3 <U0650> ARABIC KASRA
|
|
319 |
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
|
320 |
<3+> /xF5 <U0651> ARABIC SHADDA
|
|
321 |
<0+> /xF6 <U0652> ARABIC SUKUN
|
|
322 |
<-:> /xF7 <U00F7> DIVISION SIGN
|
|
323 |
<u!!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
|
|
324 |
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
|
|
325 |
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
|
326 |
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK
|
|
327 |
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK
|
|
328 |
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
|
|
329 |
END CHARMAP
|
|
330 |
|
|
331 |
"
|
|
332 |
! !
|
|
333 |
|
|
334 |
!MS_Arabic methodsFor:'encoding & decoding'!
|
|
335 |
|
|
336 |
decode:codeArg
|
|
337 |
"Automagically generated by generateCode - do not modify.
|
|
338 |
Decode from my encoding into unicode."
|
|
339 |
|
|
340 |
|code "{ Class: SmallInteger }"|
|
|
341 |
|
|
342 |
code := codeArg.
|
|
343 |
code <= 16r7F ifTrue:[ ^ code ].
|
|
344 |
code > 16rFF ifTrue:[
|
|
345 |
^ self decodingError.
|
|
346 |
].
|
|
347 |
[
|
|
348 |
|t|
|
|
349 |
t := #(
|
|
350 |
"16r0080" 16r060C " ARABIC COMMA "
|
|
351 |
"16r0081" 16r0660 " ARABIC-INDIC DIGIT ZERO "
|
|
352 |
"16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
|
|
353 |
"16r0083" 16r0661 " ARABIC-INDIC DIGIT ONE "
|
|
354 |
"16r0084" 16r201E " DOUBLE LOW-9 QUOTATION MARK "
|
|
355 |
"16r0085" 16r2026 " HORIZONTAL ELLIPSIS "
|
|
356 |
"16r0086" 16r2020 " DAGGER "
|
|
357 |
"16r0087" 16r2021 " DOUBLE DAGGER "
|
|
358 |
"16r0088" 16r0662 " ARABIC-INDIC DIGIT TWO "
|
|
359 |
"16r0089" 16r0663 " ARABIC-INDIC DIGIT THREE "
|
|
360 |
"16r008A" 16r0664 " ARABIC-INDIC DIGIT FOUR "
|
|
361 |
"16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
|
|
362 |
"16r008C" 16r0665 " ARABIC-INDIC DIGIT FIVE "
|
|
363 |
"16r008D" 16r0666 " ARABIC-INDIC DIGIT SIX "
|
|
364 |
"16r008E" 16r0667 " ARABIC-INDIC DIGIT SEVEN "
|
|
365 |
"16r008F" 16r0668 " ARABIC-INDIC DIGIT EIGHT "
|
|
366 |
"16r0090" 16r0669 " ARABIC-INDIC DIGIT NINE "
|
|
367 |
"16r0091" 16r2018 " LEFT SINGLE QUOTATION MARK "
|
|
368 |
"16r0092" 16r2019 " RIGHT SINGLE QUOTATION MARK "
|
|
369 |
"16r0093" 16r201C " LEFT DOUBLE QUOTATION MARK "
|
|
370 |
"16r0094" 16r201D " RIGHT DOUBLE QUOTATION MARK "
|
|
371 |
"16r0095" 16r2022 " BULLET "
|
|
372 |
"16r0096" 16r2013 " EN DASH "
|
|
373 |
"16r0097" 16r2014 " EM DASH "
|
|
374 |
"16r0098" 16r061B " ARABIC SEMICOLON "
|
|
375 |
"16r0099" 16r2122 " TRADE MARK SIGN "
|
|
376 |
"16r009A" 16r061F " ARABIC QUESTION MARK "
|
|
377 |
"16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
|
|
378 |
"16r009C" 16r0621 " ARABIC LETTER HAMZA "
|
|
379 |
"16r009D" 16r0622 " ARABIC LETTER ALEF WITH MADDA ABOVE "
|
|
380 |
"16r009E" 16r0623 " ARABIC LETTER ALEF WITH HAMZA ABOVE "
|
|
381 |
"16r009F" 16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS "
|
|
382 |
"16r00A0" 16r00A0 " NO-BREAK SPACE "
|
|
383 |
"16r00A1" 16r0624 " ARABIC LETTER WAW WITH HAMZA ABOVE "
|
|
384 |
"16r00A2" 16r0625 " ARABIC LETTER ALEF WITH HAMZA BELOW "
|
|
385 |
"16r00A3" 16r00A3 " POUND SIGN "
|
|
386 |
"16r00A4" 16r00A4 " CURRENCY SIGN "
|
|
387 |
"16r00A5" 16r0626 " ARABIC LETTER YEH WITH HAMZA ABOVE "
|
|
388 |
"16r00A6" 16r00A6 " BROKEN BAR "
|
|
389 |
"16r00A7" 16r00A7 " SECTION SIGN "
|
|
390 |
"16r00A8" 16r0627 " ARABIC LETTER ALEF "
|
|
391 |
"16r00A9" 16r00A9 " COPYRIGHT SIGN "
|
|
392 |
"16r00AA" 16r0628 " ARABIC LETTER BEH "
|
|
393 |
"16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
|
|
394 |
"16r00AC" 16r00AC " NOT SIGN "
|
|
395 |
"16r00AD" 16r00AD " SOFT HYPHEN "
|
|
396 |
"16r00AE" 16r00AE " REGISTERED SIGN "
|
|
397 |
"16r00AF" 16r067E " ARABIC LETTER PEH "
|
|
398 |
"16r00B0" 16r00B0 " DEGREE SIGN "
|
|
399 |
"16r00B1" 16r00B1 " PLUS-MINUS SIGN "
|
|
400 |
"16r00B2" 16r0629 " ARABIC LETTER TEH MARBUTA "
|
|
401 |
"16r00B3" 16r062A " ARABIC LETTER TEH "
|
|
402 |
"16r00B4" 16r062B " ARABIC LETTER THEH "
|
|
403 |
"16r00B5" 16r00B5 " MICRO SIGN "
|
|
404 |
"16r00B6" 16r00B6 " PILCROW SIGN "
|
|
405 |
"16r00B7" 16r00B7 " MIDDLE DOT "
|
|
406 |
"16r00B8" 16r062C " ARABIC LETTER JEEM "
|
|
407 |
"16r00B9" 16r0686 " ARABIC LETTER TCHEH "
|
|
408 |
"16r00BA" 16r062D " ARABIC LETTER HAH "
|
|
409 |
"16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
|
|
410 |
"16r00BC" 16r062E " ARABIC LETTER KHAH "
|
|
411 |
"16r00BD" 16r062F " ARABIC LETTER DAL "
|
|
412 |
"16r00BE" 16r0630 " ARABIC LETTER THAL "
|
|
413 |
"16r00BF" 16r0631 " ARABIC LETTER REH "
|
|
414 |
"16r00C0" 16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE "
|
|
415 |
"16r00C1" 16r0632 " ARABIC LETTER ZAIN "
|
|
416 |
"16r00C2" 16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
|
|
417 |
"16r00C3" 16r0698 " ARABIC LETTER JEH "
|
|
418 |
"16r00C4" 16r0633 " ARABIC LETTER SEEN "
|
|
419 |
"16r00C5" 16r0634 " ARABIC LETTER SHEEN "
|
|
420 |
"16r00C6" 16r0635 " ARABIC LETTER SAD "
|
|
421 |
"16r00C7" 16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA "
|
|
422 |
"16r00C8" 16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE "
|
|
423 |
"16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
|
|
424 |
"16r00CA" 16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
|
|
425 |
"16r00CB" 16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS "
|
|
426 |
"16r00CC" 16r0636 " ARABIC LETTER DAD "
|
|
427 |
"16r00CD" 16r0637 " ARABIC LETTER TAH "
|
|
428 |
"16r00CE" 16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
|
|
429 |
"16r00CF" 16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS "
|
|
430 |
"16r00D0" 16r3113 " BOPOMOFO LETTER ZH "
|
|
431 |
"16r00D1" 16r0639 " ARABIC LETTER AIN "
|
|
432 |
"16r00D2" 16r063A " ARABIC LETTER GHAIN "
|
|
433 |
"16r00D3" 16r0640 " ARABIC TATWEEL "
|
|
434 |
"16r00D4" 16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
|
|
435 |
"16r00D5" 16r0641 " ARABIC LETTER FEH "
|
|
436 |
"16r00D6" 16r0642 " ARABIC LETTER QAF "
|
|
437 |
"16r00D7" 16r00D7 " MULTIPLICATION SIGN "
|
|
438 |
"16r00D8" 16r0643 " ARABIC LETTER KAF "
|
|
439 |
"16r00D9" 16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE "
|
|
440 |
"16r00DA" 16r06AF " ARABIC LETTER GAF "
|
|
441 |
"16r00DB" 16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
|
|
442 |
"16r00DC" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
|
|
443 |
"16r00DD" 16r0644 " ARABIC LETTER LAM "
|
|
444 |
"16r00DE" 16r0645 " ARABIC LETTER MEEM "
|
|
445 |
"16r00DF" 16r0646 " ARABIC LETTER NOON "
|
|
446 |
"16r00E0" 16r00E0 " LATIN SMALL LETTER A WITH GRAVE "
|
|
447 |
"16r00E1" 16r0647 " ARABIC LETTER HEH "
|
|
448 |
"16r00E2" 16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
|
|
449 |
"16r00E3" 16r0681 " ARABIC LETTER HAH WITH HAMZA ABOVE "
|
|
450 |
"16r00E4" 16r0648 " ARABIC LETTER WAW "
|
|
451 |
"16r00E5" 16r0649 " ARABIC LETTER ALEF MAKSURA "
|
|
452 |
"16r00E6" 16r064A " ARABIC LETTER YEH "
|
|
453 |
"16r00E7" 16r00E7 " LATIN SMALL LETTER C WITH CEDILLA "
|
|
454 |
"16r00E8" 16r00E8 " LATIN SMALL LETTER E WITH GRAVE "
|
|
455 |
"16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
|
|
456 |
"16r00EA" 16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX "
|
|
457 |
"16r00EB" 16r00EB " LATIN SMALL LETTER E WITH DIAERESIS "
|
|
458 |
"16r00EC" 16r064B " ARABIC FATHATAN "
|
|
459 |
"16r00ED" 16r064C " ARABIC DAMMATAN "
|
|
460 |
"16r00EE" 16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX "
|
|
461 |
"16r00EF" 16r00EF " LATIN SMALL LETTER I WITH DIAERESIS "
|
|
462 |
"16r00F0" 16r064D " ARABIC KASRATAN "
|
|
463 |
"16r00F1" 16r064E " ARABIC FATHA "
|
|
464 |
"16r00F2" 16r064F " ARABIC DAMMA "
|
|
465 |
"16r00F3" 16r0650 " ARABIC KASRA "
|
|
466 |
"16r00F4" 16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
|
|
467 |
"16r00F5" 16r0651 " ARABIC SHADDA "
|
|
468 |
"16r00F6" 16r0652 " ARABIC SUKUN "
|
|
469 |
"16r00F7" 16r00F7 " DIVISION SIGN "
|
|
470 |
"16r00F8" 16r0000 " invalid "
|
|
471 |
"16r00F9" 16r00F9 " LATIN SMALL LETTER U WITH GRAVE "
|
|
472 |
"16r00FA" 16r0000 " invalid "
|
|
473 |
"16r00FB" 16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX "
|
|
474 |
"16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
|
|
475 |
"16r00FD" 16r200E " LEFT-TO-RIGHT MARK "
|
|
476 |
"16r00FE" 16r200F " RIGHT-TO-LEFT MARK "
|
|
477 |
"16r00FF" 16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS "
|
|
478 |
) at:(code - 16r7F).
|
|
479 |
t == 0 ifFalse:[^ t].
|
|
480 |
^ self decodingError.
|
|
481 |
] value.
|
|
482 |
!
|
|
483 |
|
|
484 |
encode:unicodeArg
|
|
485 |
"Automagically generated by generateCode - do not modify.
|
|
486 |
Encode from unicode into my encoding."
|
|
487 |
|
|
488 |
|unicode "{ Class: SmallInteger }"|
|
|
489 |
|
|
490 |
unicode := unicodeArg.
|
|
491 |
unicode <= 16r7F ifTrue:[ ^ unicode ].
|
|
492 |
unicode > 16r3113 ifTrue:[
|
|
493 |
^ self encodingError.
|
|
494 |
].
|
|
495 |
unicode <= 16r9F ifTrue:[
|
|
496 |
^ self encodingError.
|
|
497 |
].
|
|
498 |
unicode <= 16r6AF ifTrue:[
|
|
499 |
unicode <= 16r178 ifTrue:[
|
|
500 |
unicode <= 16rFF ifTrue:[
|
|
501 |
(#[
|
|
502 |
"16r00A0" 1 " NO-BREAK SPACE "
|
|
503 |
"16r00A1" 0 " invalid "
|
|
504 |
"16r00A2" 0 " invalid "
|
|
505 |
"16r00A3" 1 " POUND SIGN "
|
|
506 |
"16r00A4" 1 " CURRENCY SIGN "
|
|
507 |
"16r00A5" 0 " invalid "
|
|
508 |
"16r00A6" 1 " BROKEN BAR "
|
|
509 |
"16r00A7" 1 " SECTION SIGN "
|
|
510 |
"16r00A8" 0 " invalid "
|
|
511 |
"16r00A9" 1 " COPYRIGHT SIGN "
|
|
512 |
"16r00AA" 0 " invalid "
|
|
513 |
"16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
|
|
514 |
"16r00AC" 1 " NOT SIGN "
|
|
515 |
"16r00AD" 1 " SOFT HYPHEN "
|
|
516 |
"16r00AE" 1 " REGISTERED SIGN "
|
|
517 |
"16r00AF" 0 " invalid "
|
|
518 |
"16r00B0" 1 " DEGREE SIGN "
|
|
519 |
"16r00B1" 1 " PLUS-MINUS SIGN "
|
|
520 |
"16r00B2" 0 " invalid "
|
|
521 |
"16r00B3" 0 " invalid "
|
|
522 |
"16r00B4" 0 " invalid "
|
|
523 |
"16r00B5" 1 " MICRO SIGN "
|
|
524 |
"16r00B6" 1 " PILCROW SIGN "
|
|
525 |
"16r00B7" 1 " MIDDLE DOT "
|
|
526 |
"16r00B8" 0 " invalid "
|
|
527 |
"16r00B9" 0 " invalid "
|
|
528 |
"16r00BA" 0 " invalid "
|
|
529 |
"16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
|
|
530 |
"16r00BC" 0 " invalid "
|
|
531 |
"16r00BD" 0 " invalid "
|
|
532 |
"16r00BE" 0 " invalid "
|
|
533 |
"16r00BF" 0 " invalid "
|
|
534 |
"16r00C0" 1 " LATIN CAPITAL LETTER A WITH GRAVE "
|
|
535 |
"16r00C1" 0 " invalid "
|
|
536 |
"16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
|
|
537 |
"16r00C3" 0 " invalid "
|
|
538 |
"16r00C4" 0 " invalid "
|
|
539 |
"16r00C5" 0 " invalid "
|
|
540 |
"16r00C6" 0 " invalid "
|
|
541 |
"16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
|
|
542 |
"16r00C8" 1 " LATIN CAPITAL LETTER E WITH GRAVE "
|
|
543 |
"16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
|
|
544 |
"16r00CA" 1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
|
|
545 |
"16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
|
|
546 |
"16r00CC" 0 " invalid "
|
|
547 |
"16r00CD" 0 " invalid "
|
|
548 |
"16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
|
|
549 |
"16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
|
|
550 |
"16r00D0" 0 " invalid "
|
|
551 |
"16r00D1" 0 " invalid "
|
|
552 |
"16r00D2" 0 " invalid "
|
|
553 |
"16r00D3" 0 " invalid "
|
|
554 |
"16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
|
|
555 |
"16r00D5" 0 " invalid "
|
|
556 |
"16r00D6" 0 " invalid "
|
|
557 |
"16r00D7" 1 " MULTIPLICATION SIGN "
|
|
558 |
"16r00D8" 0 " invalid "
|
|
559 |
"16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
|
|
560 |
"16r00DA" 0 " invalid "
|
|
561 |
"16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
|
|
562 |
"16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
|
|
563 |
"16r00DD" 0 " invalid "
|
|
564 |
"16r00DE" 0 " invalid "
|
|
565 |
"16r00DF" 0 " invalid "
|
|
566 |
"16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
|
|
567 |
"16r00E1" 0 " invalid "
|
|
568 |
"16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
|
|
569 |
"16r00E3" 0 " invalid "
|
|
570 |
"16r00E4" 0 " invalid "
|
|
571 |
"16r00E5" 0 " invalid "
|
|
572 |
"16r00E6" 0 " invalid "
|
|
573 |
"16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
|
|
574 |
"16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
|
|
575 |
"16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
|
|
576 |
"16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
|
|
577 |
"16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
|
|
578 |
"16r00EC" 0 " invalid "
|
|
579 |
"16r00ED" 0 " invalid "
|
|
580 |
"16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
|
|
581 |
"16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
|
|
582 |
"16r00F0" 0 " invalid "
|
|
583 |
"16r00F1" 0 " invalid "
|
|
584 |
"16r00F2" 0 " invalid "
|
|
585 |
"16r00F3" 0 " invalid "
|
|
586 |
"16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
|
|
587 |
"16r00F5" 0 " invalid "
|
|
588 |
"16r00F6" 0 " invalid "
|
|
589 |
"16r00F7" 1 " DIVISION SIGN "
|
|
590 |
"16r00F8" 0 " invalid "
|
|
591 |
"16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
|
|
592 |
"16r00FA" 0 " invalid "
|
|
593 |
"16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
|
|
594 |
"16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
|
|
595 |
"16r00FD" 0 " invalid "
|
|
596 |
"16r00FE" 0 " invalid "
|
|
597 |
"16r00FF" 1 " LATIN SMALL LETTER Y WITH DIAERESIS "
|
|
598 |
] at:(unicode - 159)) ~~ 0 ifTrue:[^ unicode].
|
|
599 |
^ self encodingError.
|
|
600 |
].
|
|
601 |
unicode <= 16r177 ifTrue:[
|
|
602 |
^ self encodingError.
|
|
603 |
].
|
|
604 |
^ "16r0178" 16r009F " LATIN CAPITAL LETTER Y WITH DIAERESIS "
|
|
605 |
].
|
|
606 |
unicode <= 16r60B ifTrue:[
|
|
607 |
^ self encodingError.
|
|
608 |
].
|
|
609 |
[
|
|
610 |
|t|
|
|
611 |
t := #[
|
|
612 |
"16r060C" 16r80 " ARABIC COMMA "
|
|
613 |
"16r060D" 16r00 " invalid "
|
|
614 |
"16r060E" 16r00 " invalid "
|
|
615 |
"16r060F" 16r00 " invalid "
|
|
616 |
"16r0610" 16r00 " invalid "
|
|
617 |
"16r0611" 16r00 " invalid "
|
|
618 |
"16r0612" 16r00 " invalid "
|
|
619 |
"16r0613" 16r00 " invalid "
|
|
620 |
"16r0614" 16r00 " invalid "
|
|
621 |
"16r0615" 16r00 " invalid "
|
|
622 |
"16r0616" 16r00 " invalid "
|
|
623 |
"16r0617" 16r00 " invalid "
|
|
624 |
"16r0618" 16r00 " invalid "
|
|
625 |
"16r0619" 16r00 " invalid "
|
|
626 |
"16r061A" 16r00 " invalid "
|
|
627 |
"16r061B" 16r98 " ARABIC SEMICOLON "
|
|
628 |
"16r061C" 16r00 " invalid "
|
|
629 |
"16r061D" 16r00 " invalid "
|
|
630 |
"16r061E" 16r00 " invalid "
|
|
631 |
"16r061F" 16r9A " ARABIC QUESTION MARK "
|
|
632 |
"16r0620" 16r00 " invalid "
|
|
633 |
"16r0621" 16r9C " ARABIC LETTER HAMZA "
|
|
634 |
"16r0622" 16r9D " ARABIC LETTER ALEF WITH MADDA ABOVE "
|
|
635 |
"16r0623" 16r9E " ARABIC LETTER ALEF WITH HAMZA ABOVE "
|
|
636 |
"16r0624" 16rA1 " ARABIC LETTER WAW WITH HAMZA ABOVE "
|
|
637 |
"16r0625" 16rA2 " ARABIC LETTER ALEF WITH HAMZA BELOW "
|
|
638 |
"16r0626" 16rA5 " ARABIC LETTER YEH WITH HAMZA ABOVE "
|
|
639 |
"16r0627" 16rA8 " ARABIC LETTER ALEF "
|
|
640 |
"16r0628" 16rAA " ARABIC LETTER BEH "
|
|
641 |
"16r0629" 16rB2 " ARABIC LETTER TEH MARBUTA "
|
|
642 |
"16r062A" 16rB3 " ARABIC LETTER TEH "
|
|
643 |
"16r062B" 16rB4 " ARABIC LETTER THEH "
|
|
644 |
"16r062C" 16rB8 " ARABIC LETTER JEEM "
|
|
645 |
"16r062D" 16rBA " ARABIC LETTER HAH "
|
|
646 |
"16r062E" 16rBC " ARABIC LETTER KHAH "
|
|
647 |
"16r062F" 16rBD " ARABIC LETTER DAL "
|
|
648 |
"16r0630" 16rBE " ARABIC LETTER THAL "
|
|
649 |
"16r0631" 16rBF " ARABIC LETTER REH "
|
|
650 |
"16r0632" 16rC1 " ARABIC LETTER ZAIN "
|
|
651 |
"16r0633" 16rC4 " ARABIC LETTER SEEN "
|
|
652 |
"16r0634" 16rC5 " ARABIC LETTER SHEEN "
|
|
653 |
"16r0635" 16rC6 " ARABIC LETTER SAD "
|
|
654 |
"16r0636" 16rCC " ARABIC LETTER DAD "
|
|
655 |
"16r0637" 16rCD " ARABIC LETTER TAH "
|
|
656 |
"16r0638" 16r00 " invalid "
|
|
657 |
"16r0639" 16rD1 " ARABIC LETTER AIN "
|
|
658 |
"16r063A" 16rD2 " ARABIC LETTER GHAIN "
|
|
659 |
"16r063B" 16r00 " invalid "
|
|
660 |
"16r063C" 16r00 " invalid "
|
|
661 |
"16r063D" 16r00 " invalid "
|
|
662 |
"16r063E" 16r00 " invalid "
|
|
663 |
"16r063F" 16r00 " invalid "
|
|
664 |
"16r0640" 16rD3 " ARABIC TATWEEL "
|
|
665 |
"16r0641" 16rD5 " ARABIC LETTER FEH "
|
|
666 |
"16r0642" 16rD6 " ARABIC LETTER QAF "
|
|
667 |
"16r0643" 16rD8 " ARABIC LETTER KAF "
|
|
668 |
"16r0644" 16rDD " ARABIC LETTER LAM "
|
|
669 |
"16r0645" 16rDE " ARABIC LETTER MEEM "
|
|
670 |
"16r0646" 16rDF " ARABIC LETTER NOON "
|
|
671 |
"16r0647" 16rE1 " ARABIC LETTER HEH "
|
|
672 |
"16r0648" 16rE4 " ARABIC LETTER WAW "
|
|
673 |
"16r0649" 16rE5 " ARABIC LETTER ALEF MAKSURA "
|
|
674 |
"16r064A" 16rE6 " ARABIC LETTER YEH "
|
|
675 |
"16r064B" 16rEC " ARABIC FATHATAN "
|
|
676 |
"16r064C" 16rED " ARABIC DAMMATAN "
|
|
677 |
"16r064D" 16rF0 " ARABIC KASRATAN "
|
|
678 |
"16r064E" 16rF1 " ARABIC FATHA "
|
|
679 |
"16r064F" 16rF2 " ARABIC DAMMA "
|
|
680 |
"16r0650" 16rF3 " ARABIC KASRA "
|
|
681 |
"16r0651" 16rF5 " ARABIC SHADDA "
|
|
682 |
"16r0652" 16rF6 " ARABIC SUKUN "
|
|
683 |
"16r0653" 16r00 " invalid "
|
|
684 |
"16r0654" 16r00 " invalid "
|
|
685 |
"16r0655" 16r00 " invalid "
|
|
686 |
"16r0656" 16r00 " invalid "
|
|
687 |
"16r0657" 16r00 " invalid "
|
|
688 |
"16r0658" 16r00 " invalid "
|
|
689 |
"16r0659" 16r00 " invalid "
|
|
690 |
"16r065A" 16r00 " invalid "
|
|
691 |
"16r065B" 16r00 " invalid "
|
|
692 |
"16r065C" 16r00 " invalid "
|
|
693 |
"16r065D" 16r00 " invalid "
|
|
694 |
"16r065E" 16r00 " invalid "
|
|
695 |
"16r065F" 16r00 " invalid "
|
|
696 |
"16r0660" 16r81 " ARABIC-INDIC DIGIT ZERO "
|
|
697 |
"16r0661" 16r83 " ARABIC-INDIC DIGIT ONE "
|
|
698 |
"16r0662" 16r88 " ARABIC-INDIC DIGIT TWO "
|
|
699 |
"16r0663" 16r89 " ARABIC-INDIC DIGIT THREE "
|
|
700 |
"16r0664" 16r8A " ARABIC-INDIC DIGIT FOUR "
|
|
701 |
"16r0665" 16r8C " ARABIC-INDIC DIGIT FIVE "
|
|
702 |
"16r0666" 16r8D " ARABIC-INDIC DIGIT SIX "
|
|
703 |
"16r0667" 16r8E " ARABIC-INDIC DIGIT SEVEN "
|
|
704 |
"16r0668" 16r8F " ARABIC-INDIC DIGIT EIGHT "
|
|
705 |
"16r0669" 16r90 " ARABIC-INDIC DIGIT NINE "
|
|
706 |
"16r066A" 16r00 " invalid "
|
|
707 |
"16r066B" 16r00 " invalid "
|
|
708 |
"16r066C" 16r00 " invalid "
|
|
709 |
"16r066D" 16r00 " invalid "
|
|
710 |
"16r066E" 16r00 " invalid "
|
|
711 |
"16r066F" 16r00 " invalid "
|
|
712 |
"16r0670" 16r00 " invalid "
|
|
713 |
"16r0671" 16r00 " invalid "
|
|
714 |
"16r0672" 16r00 " invalid "
|
|
715 |
"16r0673" 16r00 " invalid "
|
|
716 |
"16r0674" 16r00 " invalid "
|
|
717 |
"16r0675" 16r00 " invalid "
|
|
718 |
"16r0676" 16r00 " invalid "
|
|
719 |
"16r0677" 16r00 " invalid "
|
|
720 |
"16r0678" 16r00 " invalid "
|
|
721 |
"16r0679" 16r00 " invalid "
|
|
722 |
"16r067A" 16r00 " invalid "
|
|
723 |
"16r067B" 16r00 " invalid "
|
|
724 |
"16r067C" 16r00 " invalid "
|
|
725 |
"16r067D" 16r00 " invalid "
|
|
726 |
"16r067E" 16rAF " ARABIC LETTER PEH "
|
|
727 |
"16r067F" 16r00 " invalid "
|
|
728 |
"16r0680" 16r00 " invalid "
|
|
729 |
"16r0681" 16rE3 " ARABIC LETTER HAH WITH HAMZA ABOVE "
|
|
730 |
"16r0682" 16r00 " invalid "
|
|
731 |
"16r0683" 16r00 " invalid "
|
|
732 |
"16r0684" 16r00 " invalid "
|
|
733 |
"16r0685" 16r00 " invalid "
|
|
734 |
"16r0686" 16rB9 " ARABIC LETTER TCHEH "
|
|
735 |
"16r0687" 16r00 " invalid "
|
|
736 |
"16r0688" 16r00 " invalid "
|
|
737 |
"16r0689" 16r00 " invalid "
|
|
738 |
"16r068A" 16r00 " invalid "
|
|
739 |
"16r068B" 16r00 " invalid "
|
|
740 |
"16r068C" 16r00 " invalid "
|
|
741 |
"16r068D" 16r00 " invalid "
|
|
742 |
"16r068E" 16r00 " invalid "
|
|
743 |
"16r068F" 16r00 " invalid "
|
|
744 |
"16r0690" 16r00 " invalid "
|
|
745 |
"16r0691" 16r00 " invalid "
|
|
746 |
"16r0692" 16r00 " invalid "
|
|
747 |
"16r0693" 16r00 " invalid "
|
|
748 |
"16r0694" 16r00 " invalid "
|
|
749 |
"16r0695" 16r00 " invalid "
|
|
750 |
"16r0696" 16r00 " invalid "
|
|
751 |
"16r0697" 16r00 " invalid "
|
|
752 |
"16r0698" 16rC3 " ARABIC LETTER JEH "
|
|
753 |
"16r0699" 16r00 " invalid "
|
|
754 |
"16r069A" 16r00 " invalid "
|
|
755 |
"16r069B" 16r00 " invalid "
|
|
756 |
"16r069C" 16r00 " invalid "
|
|
757 |
"16r069D" 16r00 " invalid "
|
|
758 |
"16r069E" 16r00 " invalid "
|
|
759 |
"16r069F" 16r00 " invalid "
|
|
760 |
"16r06A0" 16r00 " invalid "
|
|
761 |
"16r06A1" 16r00 " invalid "
|
|
762 |
"16r06A2" 16r00 " invalid "
|
|
763 |
"16r06A3" 16r00 " invalid "
|
|
764 |
"16r06A4" 16r00 " invalid "
|
|
765 |
"16r06A5" 16r00 " invalid "
|
|
766 |
"16r06A6" 16r00 " invalid "
|
|
767 |
"16r06A7" 16r00 " invalid "
|
|
768 |
"16r06A8" 16r00 " invalid "
|
|
769 |
"16r06A9" 16r00 " invalid "
|
|
770 |
"16r06AA" 16r00 " invalid "
|
|
771 |
"16r06AB" 16r00 " invalid "
|
|
772 |
"16r06AC" 16r00 " invalid "
|
|
773 |
"16r06AD" 16r00 " invalid "
|
|
774 |
"16r06AE" 16r00 " invalid "
|
|
775 |
"16r06AF" 16rDA " ARABIC LETTER GAF "
|
|
776 |
] at:(unicode - 16r60B).
|
|
777 |
t == 0 ifFalse:[^ t].
|
|
778 |
^ self encodingError
|
|
779 |
] value.
|
|
780 |
].
|
|
781 |
unicode <= 16r200D ifTrue:[
|
|
782 |
^ self encodingError.
|
|
783 |
].
|
|
784 |
unicode <= 16r2122 ifTrue:[
|
|
785 |
unicode <= 16r203A ifTrue:[
|
|
786 |
unicode <= 16r2026 ifTrue:[
|
|
787 |
[
|
|
788 |
|t|
|
|
789 |
t := #[
|
|
790 |
"16r200E" 16rFD " LEFT-TO-RIGHT MARK "
|
|
791 |
"16r200F" 16rFE " RIGHT-TO-LEFT MARK "
|
|
792 |
"16r2010" 16r00 " invalid "
|
|
793 |
"16r2011" 16r00 " invalid "
|
|
794 |
"16r2012" 16r00 " invalid "
|
|
795 |
"16r2013" 16r96 " EN DASH "
|
|
796 |
"16r2014" 16r97 " EM DASH "
|
|
797 |
"16r2015" 16r00 " invalid "
|
|
798 |
"16r2016" 16r00 " invalid "
|
|
799 |
"16r2017" 16r00 " invalid "
|
|
800 |
"16r2018" 16r91 " LEFT SINGLE QUOTATION MARK "
|
|
801 |
"16r2019" 16r92 " RIGHT SINGLE QUOTATION MARK "
|
|
802 |
"16r201A" 16r82 " SINGLE LOW-9 QUOTATION MARK "
|
|
803 |
"16r201B" 16r00 " invalid "
|
|
804 |
"16r201C" 16r93 " LEFT DOUBLE QUOTATION MARK "
|
|
805 |
"16r201D" 16r94 " RIGHT DOUBLE QUOTATION MARK "
|
|
806 |
"16r201E" 16r84 " DOUBLE LOW-9 QUOTATION MARK "
|
|
807 |
"16r201F" 16r00 " invalid "
|
|
808 |
"16r2020" 16r86 " DAGGER "
|
|
809 |
"16r2021" 16r87 " DOUBLE DAGGER "
|
|
810 |
"16r2022" 16r95 " BULLET "
|
|
811 |
"16r2023" 16r00 " invalid "
|
|
812 |
"16r2024" 16r00 " invalid "
|
|
813 |
"16r2025" 16r00 " invalid "
|
|
814 |
"16r2026" 16r85 " HORIZONTAL ELLIPSIS "
|
|
815 |
] at:(unicode - 16r200D).
|
|
816 |
t == 0 ifFalse:[^ t].
|
|
817 |
^ self encodingError
|
|
818 |
] value.
|
|
819 |
].
|
|
820 |
unicode <= 16r2038 ifTrue:[
|
|
821 |
^ self encodingError.
|
|
822 |
].
|
|
823 |
^ #[
|
|
824 |
"16r2039" 16r8B " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
|
|
825 |
"16r203A" 16r9B " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
|
|
826 |
] at:(unicode - 16r2038).
|
|
827 |
].
|
|
828 |
unicode <= 16r2121 ifTrue:[
|
|
829 |
^ self encodingError.
|
|
830 |
].
|
|
831 |
^ "16r2122" 16r0099 " TRADE MARK SIGN "
|
|
832 |
].
|
|
833 |
unicode <= 16r3112 ifTrue:[
|
|
834 |
^ self encodingError.
|
|
835 |
].
|
|
836 |
^ "16r3113" 16r00D0 " BOPOMOFO LETTER ZH "
|
|
837 |
! !
|
|
838 |
|
|
839 |
!MS_Arabic class methodsFor:'documentation'!
|
|
840 |
|
|
841 |
version
|
8813
|
842 |
^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Arabic.st,v 1.4 2005-03-31 18:48:44 cg Exp $'
|
8081
|
843 |
! !
|