author | Patrik Svestka <patrik.svestka@gmail.com> |
Tue, 09 Apr 2019 11:34:04 +0200 | |
branch | jv |
changeset 24093 | 0f94f6c8c9d4 |
parent 17964 | fb0bbcbb6f83 |
permissions | -rw-r--r-- |
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 |
" |
|
8081 | 12 |
"{ Package: 'stx:libbasic' }" |
13 |
||
14 |
"{ NameSpace: CharacterEncoderImplementations }" |
|
15 |
||
16 |
SingleByteEncoder subclass:#MS_Hebrew |
|
17 |
instanceVariableNames:'' |
|
18 |
classVariableNames:'' |
|
19 |
poolDictionaries:'' |
|
20 |
category:'Collections-Text-Encodings' |
|
21 |
! |
|
22 |
||
8148 | 23 |
!MS_Hebrew class methodsFor:'documentation'! |
24 |
||
25 |
copyright |
|
26 |
" |
|
27 |
COPYRIGHT (c) 2004 by eXept Software AG |
|
28 |
All Rights Reserved |
|
29 |
||
30 |
This software is furnished under a license and may be used |
|
31 |
only in accordance with the terms of that license and with the |
|
32 |
inclusion of the above copyright notice. This software may not |
|
33 |
be provided or otherwise made available to, or used by, any |
|
34 |
other person. No title to or ownership of the software is |
|
35 |
hereby transferred. |
|
36 |
" |
|
8813 | 37 |
! |
38 |
||
39 |
documentation |
|
40 |
" |
|
41 |
CP1255 / Microsoft Hebrew |
|
42 |
||
43 |
[see with:] |
|
44 |
CharacterEncoderImplementations::MS_Hebrew showCharacterSet |
|
45 |
||
46 |
[author:] |
|
47 |
Claus Gittinger |
|
48 |
" |
|
8148 | 49 |
! ! |
8081 | 50 |
|
51 |
!MS_Hebrew class methodsFor:'mapping'! |
|
52 |
||
53 |
mapFileURL2_relativePathName |
|
54 |
^ 'CP1255' |
|
8813 | 55 |
|
56 |
" |
|
57 |
self generateCode |
|
58 |
" |
|
8081 | 59 |
! |
60 |
||
61 |
mapping |
|
62 |
" |
|
63 |
# From: http://std.dkuug.dk/i18n/charmaps/CP1255 |
|
64 |
||
65 |
<code_set_name> CP1255 |
|
66 |
<comment_char> % |
|
67 |
<escape_char> / |
|
68 |
% version: 1.0 |
|
69 |
% repertoiremap: mnemonic,ds |
|
70 |
% source: UNICODE 1.0 |
|
71 |
||
72 |
% alias MS-HEBR |
|
73 |
CHARMAP |
|
74 |
<NU> /x00 <U0000> NULL (NUL) |
|
75 |
<SH> /x01 <U0001> START OF HEADING (SOH) |
|
76 |
<SX> /x02 <U0002> START OF TEXT (STX) |
|
77 |
<EX> /x03 <U0003> END OF TEXT (ETX) |
|
78 |
<ET> /x04 <U0004> END OF TRANSMISSION (EOT) |
|
79 |
<EQ> /x05 <U0005> ENQUIRY (ENQ) |
|
80 |
<AK> /x06 <U0006> ACKNOWLEDGE (ACK) |
|
81 |
<BL> /x07 <U0007> BELL (BEL) |
|
82 |
<BS> /x08 <U0008> BACKSPACE (BS) |
|
83 |
<HT> /x09 <U0009> CHARACTER TABULATION (HT) |
|
84 |
<LF> /x0A <U000A> LINE FEED (LF) |
|
85 |
<VT> /x0B <U000B> LINE TABULATION (VT) |
|
86 |
<FF> /x0C <U000C> FORM FEED (FF) |
|
87 |
<CR> /x0D <U000D> CARRIAGE RETURN (CR) |
|
88 |
<SO> /x0E <U000E> SHIFT OUT (SO) |
|
89 |
<SI> /x0F <U000F> SHIFT IN (SI) |
|
90 |
<DL> /x10 <U0010> DATALINK ESCAPE (DLE) |
|
91 |
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1) |
|
92 |
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2) |
|
93 |
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3) |
|
94 |
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4) |
|
95 |
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK) |
|
96 |
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN) |
|
97 |
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB) |
|
98 |
<CN> /x18 <U0018> CANCEL (CAN) |
|
99 |
<EM> /x19 <U0019> END OF MEDIUM (EM) |
|
100 |
<SB> /x1A <U001A> SUBSTITUTE (SUB) |
|
101 |
<EC> /x1B <U001B> ESCAPE (ESC) |
|
102 |
<FS> /x1C <U001C> FILE SEPARATOR (IS4) |
|
103 |
<GS> /x1D <U001D> GROUP SEPARATOR (IS3) |
|
104 |
<RS> /x1E <U001E> RECORD SEPARATOR (IS2) |
|
105 |
<US> /x1F <U001F> UNIT SEPARATOR (IS1) |
|
106 |
<SP> /x20 <U0020> SPACE |
|
107 |
<!!> /x21 <U0021> EXCLAMATION MARK |
|
108 |
<'> /x22 <U0022> QUOTATION MARK |
|
109 |
<Nb> /x23 <U0023> NUMBER SIGN |
|
110 |
<DO> /x24 <U0024> DOLLAR SIGN |
|
111 |
<%> /x25 <U0025> PERCENT SIGN |
|
112 |
<&> /x26 <U0026> AMPERSAND |
|
113 |
<'> /x27 <U0027> APOSTROPHE |
|
114 |
<(> /x28 <U0028> LEFT PARENTHESIS |
|
115 |
<)> /x29 <U0029> RIGHT PARENTHESIS |
|
116 |
<*> /x2A <U002A> ASTERISK |
|
117 |
<+> /x2B <U002B> PLUS SIGN |
|
118 |
<,> /x2C <U002C> COMMA |
|
119 |
<-> /x2D <U002D> HYPHEN-MINUS |
|
120 |
<.> /x2E <U002E> FULL STOP |
|
121 |
<//> /x2F <U002F> SOLIDUS |
|
122 |
<0> /x30 <U0030> DIGIT ZERO |
|
123 |
<1> /x31 <U0031> DIGIT ONE |
|
124 |
<2> /x32 <U0032> DIGIT TWO |
|
125 |
<3> /x33 <U0033> DIGIT THREE |
|
126 |
<4> /x34 <U0034> DIGIT FOUR |
|
127 |
<5> /x35 <U0035> DIGIT FIVE |
|
128 |
<6> /x36 <U0036> DIGIT SIX |
|
129 |
<7> /x37 <U0037> DIGIT SEVEN |
|
130 |
<8> /x38 <U0038> DIGIT EIGHT |
|
131 |
<9> /x39 <U0039> DIGIT NINE |
|
132 |
<:> /x3A <U003A> COLON |
|
133 |
<;> /x3B <U003B> SEMICOLON |
|
134 |
<<> /x3C <U003C> LESS-THAN SIGN |
|
135 |
<=> /x3D <U003D> EQUALS SIGN |
|
136 |
</>> /x3E <U003E> GREATER-THAN SIGN |
|
137 |
<?> /x3F <U003F> QUESTION MARK |
|
138 |
<At> /x40 <U0040> COMMERCIAL AT |
|
139 |
<A> /x41 <U0041> LATIN CAPITAL LETTER A |
|
140 |
<B> /x42 <U0042> LATIN CAPITAL LETTER B |
|
141 |
<C> /x43 <U0043> LATIN CAPITAL LETTER C |
|
142 |
<D> /x44 <U0044> LATIN CAPITAL LETTER D |
|
143 |
<E> /x45 <U0045> LATIN CAPITAL LETTER E |
|
144 |
<F> /x46 <U0046> LATIN CAPITAL LETTER F |
|
145 |
<G> /x47 <U0047> LATIN CAPITAL LETTER G |
|
146 |
<H> /x48 <U0048> LATIN CAPITAL LETTER H |
|
147 |
<I> /x49 <U0049> LATIN CAPITAL LETTER I |
|
148 |
<J> /x4A <U004A> LATIN CAPITAL LETTER J |
|
149 |
<K> /x4B <U004B> LATIN CAPITAL LETTER K |
|
150 |
<L> /x4C <U004C> LATIN CAPITAL LETTER L |
|
151 |
<M> /x4D <U004D> LATIN CAPITAL LETTER M |
|
152 |
<N> /x4E <U004E> LATIN CAPITAL LETTER N |
|
153 |
<O> /x4F <U004F> LATIN CAPITAL LETTER O |
|
154 |
<P> /x50 <U0050> LATIN CAPITAL LETTER P |
|
155 |
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q |
|
156 |
<R> /x52 <U0052> LATIN CAPITAL LETTER R |
|
157 |
<S> /x53 <U0053> LATIN CAPITAL LETTER S |
|
158 |
<T> /x54 <U0054> LATIN CAPITAL LETTER T |
|
159 |
<U> /x55 <U0055> LATIN CAPITAL LETTER U |
|
160 |
<V> /x56 <U0056> LATIN CAPITAL LETTER V |
|
161 |
<W> /x57 <U0057> LATIN CAPITAL LETTER W |
|
162 |
<X> /x58 <U0058> LATIN CAPITAL LETTER X |
|
163 |
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y |
|
164 |
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z |
|
165 |
<<(> /x5B <U005B> LEFT SQUARE BRACKET |
|
166 |
<////> /x5C <U005C> REVERSE SOLIDUS |
|
167 |
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET |
|
168 |
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT |
|
169 |
<_> /x5F <U005F> LOW LINE |
|
170 |
<'!!> /x60 <U0060> GRAVE ACCENT |
|
171 |
<a> /x61 <U0061> LATIN SMALL LETTER A |
|
172 |
<b> /x62 <U0062> LATIN SMALL LETTER B |
|
173 |
<c> /x63 <U0063> LATIN SMALL LETTER C |
|
174 |
<d> /x64 <U0064> LATIN SMALL LETTER D |
|
175 |
<e> /x65 <U0065> LATIN SMALL LETTER E |
|
176 |
<f> /x66 <U0066> LATIN SMALL LETTER F |
|
177 |
<g> /x67 <U0067> LATIN SMALL LETTER G |
|
178 |
<h> /x68 <U0068> LATIN SMALL LETTER H |
|
179 |
<i> /x69 <U0069> LATIN SMALL LETTER I |
|
180 |
<j> /x6A <U006A> LATIN SMALL LETTER J |
|
181 |
<k> /x6B <U006B> LATIN SMALL LETTER K |
|
182 |
<l> /x6C <U006C> LATIN SMALL LETTER L |
|
183 |
<m> /x6D <U006D> LATIN SMALL LETTER M |
|
184 |
<n> /x6E <U006E> LATIN SMALL LETTER N |
|
185 |
<o> /x6F <U006F> LATIN SMALL LETTER O |
|
186 |
<p> /x70 <U0070> LATIN SMALL LETTER P |
|
187 |
<q> /x71 <U0071> LATIN SMALL LETTER Q |
|
188 |
<r> /x72 <U0072> LATIN SMALL LETTER R |
|
189 |
<s> /x73 <U0073> LATIN SMALL LETTER S |
|
190 |
<t> /x74 <U0074> LATIN SMALL LETTER T |
|
191 |
<u> /x75 <U0075> LATIN SMALL LETTER U |
|
192 |
<v> /x76 <U0076> LATIN SMALL LETTER V |
|
193 |
<w> /x77 <U0077> LATIN SMALL LETTER W |
|
194 |
<x> /x78 <U0078> LATIN SMALL LETTER X |
|
195 |
<y> /x79 <U0079> LATIN SMALL LETTER Y |
|
196 |
<z> /x7A <U007A> LATIN SMALL LETTER Z |
|
197 |
<(!!> /x7B <U007B> LEFT CURLY BRACKET |
|
198 |
<!!!!> /x7C <U007C> VERTICAL LINE |
|
199 |
<!!)> /x7D <U007D> RIGHT CURLY BRACKET |
|
200 |
<'?> /x7E <U007E> TILDE |
|
201 |
<DT> /x7F <U007F> DELETE (DEL) |
|
202 |
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK |
|
203 |
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK |
|
204 |
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK |
|
205 |
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS |
|
206 |
<//-> /x86 <U2020> DAGGER |
|
207 |
<//=> /x87 <U2021> DOUBLE DAGGER |
|
208 |
<%0> /x89 <U2030> PER MILLE SIGN |
|
209 |
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK |
|
210 |
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK |
|
211 |
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK |
|
212 |
<'6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK |
|
213 |
<'9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK |
|
214 |
<sb> /x95 <U2022> BULLET |
|
215 |
<-N> /x96 <U2013> EN DASH |
|
216 |
<-M> /x97 <U2014> EM DASH |
|
217 |
<TM> /x99 <U2122> TRADE MARK SIGN |
|
218 |
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK |
|
219 |
<NS> /xA0 <U00A0> NO-BREAK SPACE |
|
220 |
<Ct> /xA2 <U00A2> CENT SIGN |
|
221 |
<Pd> /xA3 <U00A3> POUND SIGN |
|
222 |
<Cu> /xA4 <U00A4> CURRENCY SIGN |
|
223 |
<Ye> /xA5 <U00A5> YEN SIGN |
|
224 |
<BB> /xA6 <U00A6> BROKEN BAR |
|
225 |
<SE> /xA7 <U00A7> SECTION SIGN |
|
226 |
<':> /xA8 <U00A8> DIAERESIS |
|
227 |
<Co> /xA9 <U00A9> COPYRIGHT SIGN |
|
228 |
<*X> /xAA <U00D7> MULTIPLICATION SIGN |
|
229 |
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
230 |
<NO> /xAC <U00AC> NOT SIGN |
|
231 |
<--> /xAD <U00AD> SOFT HYPHEN |
|
232 |
<Rg> /xAE <U00AE> REGISTERED SIGN |
|
233 |
<'-> /xAF <U203E> OVERLINE |
|
234 |
<DG> /xB0 <U00B0> DEGREE SIGN |
|
235 |
<+-> /xB1 <U00B1> PLUS-MINUS SIGN |
|
236 |
<2S> /xB2 <U00B2> SUPERSCRIPT TWO |
|
237 |
<3S> /xB3 <U00B3> SUPERSCRIPT THREE |
|
238 |
<''> /xB4 <U00B4> ACUTE ACCENT |
|
239 |
<My> /xB5 <U00B5> MICRO SIGN |
|
240 |
<PI> /xB6 <U00B6> PILCROW SIGN |
|
241 |
<.M> /xB7 <U00B7> MIDDLE DOT |
|
242 |
<',> /xB8 <U00B8> CEDILLA |
|
243 |
<1S> /xB9 <U00B9> SUPERSCRIPT ONE |
|
244 |
<-:> /xBA <U00F7> DIVISION SIGN |
|
245 |
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
246 |
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER |
|
247 |
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF |
|
248 |
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS |
|
249 |
<=2> /xDF <U2017> DOUBLE LOW LINE |
|
250 |
<A+> /xE0 <U05D0> HEBREW LETTER ALEF |
|
251 |
<B+> /xE1 <U05D1> HEBREW LETTER BET |
|
252 |
<G+> /xE2 <U05D2> HEBREW LETTER GIMEL |
|
253 |
<D+> /xE3 <U05D3> HEBREW LETTER DALET |
|
254 |
<H+> /xE4 <U05D4> HEBREW LETTER HE |
|
255 |
<W+> /xE5 <U05D5> HEBREW LETTER VAV |
|
256 |
<Z+> /xE6 <U05D6> HEBREW LETTER ZAYIN |
|
257 |
<X+> /xE7 <U05D7> HEBREW LETTER HET |
|
258 |
<Tj> /xE8 <U05D8> HEBREW LETTER TET |
|
259 |
<J+> /xE9 <U05D9> HEBREW LETTER YOD |
|
260 |
<K%> /xEA <U05DA> HEBREW LETTER FINAL KAF |
|
261 |
<K+> /xEB <U05DB> HEBREW LETTER KAF |
|
262 |
<L+> /xEC <U05DC> HEBREW LETTER LAMED |
|
263 |
<M%> /xED <U05DD> HEBREW LETTER FINAL MEM |
|
264 |
<M+> /xEE <U05DE> HEBREW LETTER MEM |
|
265 |
<N%> /xEF <U05DF> HEBREW LETTER FINAL NUN |
|
266 |
<N+> /xF0 <U05E0> HEBREW LETTER NUN |
|
267 |
<S+> /xF1 <U05E1> HEBREW LETTER SAMEKH |
|
268 |
<E+> /xF2 <U05E2> HEBREW LETTER AYIN |
|
269 |
<P%> /xF3 <U05E3> HEBREW LETTER FINAL PE |
|
270 |
<P+> /xF4 <U05E4> HEBREW LETTER PE |
|
271 |
<Zj> /xF5 <U05E5> HEBREW LETTER FINAL TSADI |
|
272 |
<ZJ> /xF6 <U05E6> HEBREW LETTER TSADI |
|
273 |
<Q+> /xF7 <U05E7> HEBREW LETTER QOF |
|
274 |
<R+> /xF8 <U05E8> HEBREW LETTER RESH |
|
275 |
<Sh> /xF9 <U05E9> HEBREW LETTER SHIN |
|
276 |
<T+> /xFA <U05EA> HEBREW LETTER TAV |
|
277 |
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK |
|
278 |
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK |
|
279 |
END CHARMAP |
|
280 |
||
281 |
" |
|
282 |
! ! |
|
283 |
||
8813 | 284 |
!MS_Hebrew methodsFor:'encoding & decoding'! |
285 |
||
286 |
decode:codeArg |
|
287 |
"Automagically generated by generateCode - do not modify. |
|
288 |
Decode from my encoding into unicode." |
|
289 |
||
290 |
|code "{ Class: SmallInteger }"| |
|
291 |
||
292 |
code := codeArg. |
|
293 |
code <= 16r7F ifTrue:[ ^ code ]. |
|
294 |
code > 16rFE ifTrue:[ |
|
295 |
^ self decodingError. |
|
296 |
]. |
|
297 |
[ |
|
298 |
|t| |
|
299 |
t := #( |
|
300 |
"16r0080" 16r0000 " invalid " |
|
301 |
"16r0081" 16r0000 " invalid " |
|
302 |
"16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK " |
|
303 |
"16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK " |
|
304 |
"16r0084" 16r201E " DOUBLE LOW-9 QUOTATION MARK " |
|
305 |
"16r0085" 16r2026 " HORIZONTAL ELLIPSIS " |
|
306 |
"16r0086" 16r2020 " DAGGER " |
|
307 |
"16r0087" 16r2021 " DOUBLE DAGGER " |
|
308 |
"16r0088" 16r0000 " invalid " |
|
309 |
"16r0089" 16r2030 " PER MILLE SIGN " |
|
310 |
"16r008A" 16r0000 " invalid " |
|
311 |
"16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " |
|
312 |
"16r008C" 16r0000 " invalid " |
|
313 |
"16r008D" 16r0000 " invalid " |
|
314 |
"16r008E" 16r0000 " invalid " |
|
315 |
"16r008F" 16r0000 " invalid " |
|
316 |
"16r0090" 16r0000 " invalid " |
|
317 |
"16r0091" 16r2018 " LEFT SINGLE QUOTATION MARK " |
|
318 |
"16r0092" 16r2019 " RIGHT SINGLE QUOTATION MARK " |
|
319 |
"16r0093" 16r201C " LEFT DOUBLE QUOTATION MARK " |
|
320 |
"16r0094" 16r201D " RIGHT DOUBLE QUOTATION MARK " |
|
321 |
"16r0095" 16r2022 " BULLET " |
|
322 |
"16r0096" 16r2013 " EN DASH " |
|
323 |
"16r0097" 16r2014 " EM DASH " |
|
324 |
"16r0098" 16r0000 " invalid " |
|
325 |
"16r0099" 16r2122 " TRADE MARK SIGN " |
|
326 |
"16r009A" 16r0000 " invalid " |
|
327 |
"16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " |
|
328 |
"16r009C" 16r0000 " invalid " |
|
329 |
"16r009D" 16r0000 " invalid " |
|
330 |
"16r009E" 16r0000 " invalid " |
|
331 |
"16r009F" 16r0000 " invalid " |
|
332 |
"16r00A0" 16r00A0 " NO-BREAK SPACE " |
|
333 |
"16r00A1" 16r0000 " invalid " |
|
334 |
"16r00A2" 16r00A2 " CENT SIGN " |
|
335 |
"16r00A3" 16r00A3 " POUND SIGN " |
|
336 |
"16r00A4" 16r00A4 " CURRENCY SIGN " |
|
337 |
"16r00A5" 16r00A5 " YEN SIGN " |
|
338 |
"16r00A6" 16r00A6 " BROKEN BAR " |
|
339 |
"16r00A7" 16r00A7 " SECTION SIGN " |
|
340 |
"16r00A8" 16r00A8 " DIAERESIS " |
|
341 |
"16r00A9" 16r00A9 " COPYRIGHT SIGN " |
|
342 |
"16r00AA" 16r00D7 " MULTIPLICATION SIGN " |
|
343 |
"16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
344 |
"16r00AC" 16r00AC " NOT SIGN " |
|
345 |
"16r00AD" 16r00AD " SOFT HYPHEN " |
|
346 |
"16r00AE" 16r00AE " REGISTERED SIGN " |
|
347 |
"16r00AF" 16r203E " OVERLINE " |
|
348 |
"16r00B0" 16r00B0 " DEGREE SIGN " |
|
349 |
"16r00B1" 16r00B1 " PLUS-MINUS SIGN " |
|
350 |
"16r00B2" 16r00B2 " SUPERSCRIPT TWO " |
|
351 |
"16r00B3" 16r00B3 " SUPERSCRIPT THREE " |
|
352 |
"16r00B4" 16r00B4 " ACUTE ACCENT " |
|
353 |
"16r00B5" 16r00B5 " MICRO SIGN " |
|
354 |
"16r00B6" 16r00B6 " PILCROW SIGN " |
|
355 |
"16r00B7" 16r00B7 " MIDDLE DOT " |
|
356 |
"16r00B8" 16r00B8 " CEDILLA " |
|
357 |
"16r00B9" 16r00B9 " SUPERSCRIPT ONE " |
|
358 |
"16r00BA" 16r00F7 " DIVISION SIGN " |
|
359 |
"16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
360 |
"16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER " |
|
361 |
"16r00BD" 16r00BD " VULGAR FRACTION ONE HALF " |
|
362 |
"16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS " |
|
363 |
"16r00BF" 16r0000 " invalid " |
|
364 |
"16r00C0" 16r0000 " invalid " |
|
365 |
"16r00C1" 16r0000 " invalid " |
|
366 |
"16r00C2" 16r0000 " invalid " |
|
367 |
"16r00C3" 16r0000 " invalid " |
|
368 |
"16r00C4" 16r0000 " invalid " |
|
369 |
"16r00C5" 16r0000 " invalid " |
|
370 |
"16r00C6" 16r0000 " invalid " |
|
371 |
"16r00C7" 16r0000 " invalid " |
|
372 |
"16r00C8" 16r0000 " invalid " |
|
373 |
"16r00C9" 16r0000 " invalid " |
|
374 |
"16r00CA" 16r0000 " invalid " |
|
375 |
"16r00CB" 16r0000 " invalid " |
|
376 |
"16r00CC" 16r0000 " invalid " |
|
377 |
"16r00CD" 16r0000 " invalid " |
|
378 |
"16r00CE" 16r0000 " invalid " |
|
379 |
"16r00CF" 16r0000 " invalid " |
|
380 |
"16r00D0" 16r0000 " invalid " |
|
381 |
"16r00D1" 16r0000 " invalid " |
|
382 |
"16r00D2" 16r0000 " invalid " |
|
383 |
"16r00D3" 16r0000 " invalid " |
|
384 |
"16r00D4" 16r0000 " invalid " |
|
385 |
"16r00D5" 16r0000 " invalid " |
|
386 |
"16r00D6" 16r0000 " invalid " |
|
387 |
"16r00D7" 16r0000 " invalid " |
|
388 |
"16r00D8" 16r0000 " invalid " |
|
389 |
"16r00D9" 16r0000 " invalid " |
|
390 |
"16r00DA" 16r0000 " invalid " |
|
391 |
"16r00DB" 16r0000 " invalid " |
|
392 |
"16r00DC" 16r0000 " invalid " |
|
393 |
"16r00DD" 16r0000 " invalid " |
|
394 |
"16r00DE" 16r0000 " invalid " |
|
395 |
"16r00DF" 16r2017 " DOUBLE LOW LINE " |
|
396 |
"16r00E0" 16r05D0 " HEBREW LETTER ALEF " |
|
397 |
"16r00E1" 16r05D1 " HEBREW LETTER BET " |
|
398 |
"16r00E2" 16r05D2 " HEBREW LETTER GIMEL " |
|
399 |
"16r00E3" 16r05D3 " HEBREW LETTER DALET " |
|
400 |
"16r00E4" 16r05D4 " HEBREW LETTER HE " |
|
401 |
"16r00E5" 16r05D5 " HEBREW LETTER VAV " |
|
402 |
"16r00E6" 16r05D6 " HEBREW LETTER ZAYIN " |
|
403 |
"16r00E7" 16r05D7 " HEBREW LETTER HET " |
|
404 |
"16r00E8" 16r05D8 " HEBREW LETTER TET " |
|
405 |
"16r00E9" 16r05D9 " HEBREW LETTER YOD " |
|
406 |
"16r00EA" 16r05DA " HEBREW LETTER FINAL KAF " |
|
407 |
"16r00EB" 16r05DB " HEBREW LETTER KAF " |
|
408 |
"16r00EC" 16r05DC " HEBREW LETTER LAMED " |
|
409 |
"16r00ED" 16r05DD " HEBREW LETTER FINAL MEM " |
|
410 |
"16r00EE" 16r05DE " HEBREW LETTER MEM " |
|
411 |
"16r00EF" 16r05DF " HEBREW LETTER FINAL NUN " |
|
412 |
"16r00F0" 16r05E0 " HEBREW LETTER NUN " |
|
413 |
"16r00F1" 16r05E1 " HEBREW LETTER SAMEKH " |
|
414 |
"16r00F2" 16r05E2 " HEBREW LETTER AYIN " |
|
415 |
"16r00F3" 16r05E3 " HEBREW LETTER FINAL PE " |
|
416 |
"16r00F4" 16r05E4 " HEBREW LETTER PE " |
|
417 |
"16r00F5" 16r05E5 " HEBREW LETTER FINAL TSADI " |
|
418 |
"16r00F6" 16r05E6 " HEBREW LETTER TSADI " |
|
419 |
"16r00F7" 16r05E7 " HEBREW LETTER QOF " |
|
420 |
"16r00F8" 16r05E8 " HEBREW LETTER RESH " |
|
421 |
"16r00F9" 16r05E9 " HEBREW LETTER SHIN " |
|
422 |
"16r00FA" 16r05EA " HEBREW LETTER TAV " |
|
423 |
"16r00FB" 16r0000 " invalid " |
|
424 |
"16r00FC" 16r0000 " invalid " |
|
425 |
"16r00FD" 16r200E " LEFT-TO-RIGHT MARK " |
|
426 |
"16r00FE" 16r200F " RIGHT-TO-LEFT MARK " |
|
427 |
) at:(code - 16r7F). |
|
428 |
t == 0 ifFalse:[^ t]. |
|
429 |
^ self decodingError. |
|
430 |
] value. |
|
431 |
! |
|
432 |
||
433 |
encode:unicodeArg |
|
434 |
"Automagically generated by generateCode - do not modify. |
|
435 |
Encode from unicode into my encoding." |
|
436 |
||
437 |
|unicode "{ Class: SmallInteger }"| |
|
438 |
||
439 |
unicode := unicodeArg. |
|
440 |
unicode <= 16r7F ifTrue:[ ^ unicode ]. |
|
441 |
unicode > 16r2122 ifTrue:[ |
|
442 |
^ self encodingError. |
|
443 |
]. |
|
444 |
unicode <= 16r9F ifTrue:[ |
|
445 |
^ self encodingError |
|
446 |
]. |
|
447 |
unicode <= 16r5EA ifTrue:[ |
|
448 |
unicode <= 16r192 ifTrue:[ |
|
449 |
unicode <= 16rF7 ifTrue:[ |
|
450 |
unicode <= 16rD7 ifTrue:[ |
|
451 |
unicode <= 16rBE ifTrue:[ |
|
452 |
[ |
|
453 |
|t| |
|
454 |
t := #[ |
|
455 |
"16r00A0" 16rA0 " NO-BREAK SPACE " |
|
456 |
"16r00A1" 16r00 " invalid " |
|
457 |
"16r00A2" 16rA2 " CENT SIGN " |
|
458 |
"16r00A3" 16rA3 " POUND SIGN " |
|
459 |
"16r00A4" 16rA4 " CURRENCY SIGN " |
|
460 |
"16r00A5" 16rA5 " YEN SIGN " |
|
461 |
"16r00A6" 16rA6 " BROKEN BAR " |
|
462 |
"16r00A7" 16rA7 " SECTION SIGN " |
|
463 |
"16r00A8" 16rA8 " DIAERESIS " |
|
464 |
"16r00A9" 16rA9 " COPYRIGHT SIGN " |
|
465 |
"16r00AA" 16r00 " invalid " |
|
466 |
"16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
467 |
"16r00AC" 16rAC " NOT SIGN " |
|
468 |
"16r00AD" 16rAD " SOFT HYPHEN " |
|
469 |
"16r00AE" 16rAE " REGISTERED SIGN " |
|
470 |
"16r00AF" 16r00 " invalid " |
|
471 |
"16r00B0" 16rB0 " DEGREE SIGN " |
|
472 |
"16r00B1" 16rB1 " PLUS-MINUS SIGN " |
|
473 |
"16r00B2" 16rB2 " SUPERSCRIPT TWO " |
|
474 |
"16r00B3" 16rB3 " SUPERSCRIPT THREE " |
|
475 |
"16r00B4" 16rB4 " ACUTE ACCENT " |
|
476 |
"16r00B5" 16rB5 " MICRO SIGN " |
|
477 |
"16r00B6" 16rB6 " PILCROW SIGN " |
|
478 |
"16r00B7" 16rB7 " MIDDLE DOT " |
|
479 |
"16r00B8" 16rB8 " CEDILLA " |
|
480 |
"16r00B9" 16rB9 " SUPERSCRIPT ONE " |
|
481 |
"16r00BA" 16r00 " invalid " |
|
482 |
"16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
483 |
"16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER " |
|
484 |
"16r00BD" 16rBD " VULGAR FRACTION ONE HALF " |
|
485 |
"16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS " |
|
486 |
] at:(unicode - 16r9F). |
|
487 |
t == 0 ifFalse:[^ t]. |
|
488 |
^ self encodingError |
|
489 |
] value. |
|
490 |
]. |
|
491 |
unicode <= 16rD6 ifTrue:[ |
|
492 |
^ self encodingError |
|
493 |
]. |
|
494 |
^ "16r00D7" 16r00AA " MULTIPLICATION SIGN " |
|
495 |
]. |
|
496 |
unicode <= 16rF6 ifTrue:[ |
|
497 |
^ self encodingError |
|
498 |
]. |
|
499 |
^ "16r00F7" 16r00BA " DIVISION SIGN " |
|
500 |
]. |
|
501 |
unicode <= 16r191 ifTrue:[ |
|
502 |
^ self encodingError |
|
503 |
]. |
|
504 |
^ "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK " |
|
505 |
]. |
|
506 |
unicode <= 16r5CF ifTrue:[ |
|
507 |
^ self encodingError |
|
508 |
]. |
|
509 |
^ #[ |
|
510 |
"16r05D0" 16rE0 " HEBREW LETTER ALEF " |
|
511 |
"16r05D1" 16rE1 " HEBREW LETTER BET " |
|
512 |
"16r05D2" 16rE2 " HEBREW LETTER GIMEL " |
|
513 |
"16r05D3" 16rE3 " HEBREW LETTER DALET " |
|
514 |
"16r05D4" 16rE4 " HEBREW LETTER HE " |
|
515 |
"16r05D5" 16rE5 " HEBREW LETTER VAV " |
|
516 |
"16r05D6" 16rE6 " HEBREW LETTER ZAYIN " |
|
517 |
"16r05D7" 16rE7 " HEBREW LETTER HET " |
|
518 |
"16r05D8" 16rE8 " HEBREW LETTER TET " |
|
519 |
"16r05D9" 16rE9 " HEBREW LETTER YOD " |
|
520 |
"16r05DA" 16rEA " HEBREW LETTER FINAL KAF " |
|
521 |
"16r05DB" 16rEB " HEBREW LETTER KAF " |
|
522 |
"16r05DC" 16rEC " HEBREW LETTER LAMED " |
|
523 |
"16r05DD" 16rED " HEBREW LETTER FINAL MEM " |
|
524 |
"16r05DE" 16rEE " HEBREW LETTER MEM " |
|
525 |
"16r05DF" 16rEF " HEBREW LETTER FINAL NUN " |
|
526 |
"16r05E0" 16rF0 " HEBREW LETTER NUN " |
|
527 |
"16r05E1" 16rF1 " HEBREW LETTER SAMEKH " |
|
528 |
"16r05E2" 16rF2 " HEBREW LETTER AYIN " |
|
529 |
"16r05E3" 16rF3 " HEBREW LETTER FINAL PE " |
|
530 |
"16r05E4" 16rF4 " HEBREW LETTER PE " |
|
531 |
"16r05E5" 16rF5 " HEBREW LETTER FINAL TSADI " |
|
532 |
"16r05E6" 16rF6 " HEBREW LETTER TSADI " |
|
533 |
"16r05E7" 16rF7 " HEBREW LETTER QOF " |
|
534 |
"16r05E8" 16rF8 " HEBREW LETTER RESH " |
|
535 |
"16r05E9" 16rF9 " HEBREW LETTER SHIN " |
|
536 |
"16r05EA" 16rFA " HEBREW LETTER TAV " |
|
537 |
] at:(unicode - 16r5CF). |
|
538 |
]. |
|
539 |
unicode <= 16r200D ifTrue:[ |
|
540 |
^ self encodingError |
|
541 |
]. |
|
542 |
unicode <= 16r203E ifTrue:[ |
|
543 |
[ |
|
544 |
|t| |
|
545 |
t := #[ |
|
546 |
"16r200E" 16rFD " LEFT-TO-RIGHT MARK " |
|
547 |
"16r200F" 16rFE " RIGHT-TO-LEFT MARK " |
|
548 |
"16r2010" 16r00 " invalid " |
|
549 |
"16r2011" 16r00 " invalid " |
|
550 |
"16r2012" 16r00 " invalid " |
|
551 |
"16r2013" 16r96 " EN DASH " |
|
552 |
"16r2014" 16r97 " EM DASH " |
|
553 |
"16r2015" 16r00 " invalid " |
|
554 |
"16r2016" 16r00 " invalid " |
|
555 |
"16r2017" 16rDF " DOUBLE LOW LINE " |
|
556 |
"16r2018" 16r91 " LEFT SINGLE QUOTATION MARK " |
|
557 |
"16r2019" 16r92 " RIGHT SINGLE QUOTATION MARK " |
|
558 |
"16r201A" 16r82 " SINGLE LOW-9 QUOTATION MARK " |
|
559 |
"16r201B" 16r00 " invalid " |
|
560 |
"16r201C" 16r93 " LEFT DOUBLE QUOTATION MARK " |
|
561 |
"16r201D" 16r94 " RIGHT DOUBLE QUOTATION MARK " |
|
562 |
"16r201E" 16r84 " DOUBLE LOW-9 QUOTATION MARK " |
|
563 |
"16r201F" 16r00 " invalid " |
|
564 |
"16r2020" 16r86 " DAGGER " |
|
565 |
"16r2021" 16r87 " DOUBLE DAGGER " |
|
566 |
"16r2022" 16r95 " BULLET " |
|
567 |
"16r2023" 16r00 " invalid " |
|
568 |
"16r2024" 16r00 " invalid " |
|
569 |
"16r2025" 16r00 " invalid " |
|
570 |
"16r2026" 16r85 " HORIZONTAL ELLIPSIS " |
|
571 |
"16r2027" 16r00 " invalid " |
|
572 |
"16r2028" 16r00 " invalid " |
|
573 |
"16r2029" 16r00 " invalid " |
|
574 |
"16r202A" 16r00 " invalid " |
|
575 |
"16r202B" 16r00 " invalid " |
|
576 |
"16r202C" 16r00 " invalid " |
|
577 |
"16r202D" 16r00 " invalid " |
|
578 |
"16r202E" 16r00 " invalid " |
|
579 |
"16r202F" 16r00 " invalid " |
|
580 |
"16r2030" 16r89 " PER MILLE SIGN " |
|
581 |
"16r2031" 16r00 " invalid " |
|
582 |
"16r2032" 16r00 " invalid " |
|
583 |
"16r2033" 16r00 " invalid " |
|
584 |
"16r2034" 16r00 " invalid " |
|
585 |
"16r2035" 16r00 " invalid " |
|
586 |
"16r2036" 16r00 " invalid " |
|
587 |
"16r2037" 16r00 " invalid " |
|
588 |
"16r2038" 16r00 " invalid " |
|
589 |
"16r2039" 16r8B " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " |
|
590 |
"16r203A" 16r9B " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " |
|
591 |
"16r203B" 16r00 " invalid " |
|
592 |
"16r203C" 16r00 " invalid " |
|
593 |
"16r203D" 16r00 " invalid " |
|
594 |
"16r203E" 16rAF " OVERLINE " |
|
595 |
] at:(unicode - 16r200D). |
|
596 |
t == 0 ifFalse:[^ t]. |
|
597 |
^ self encodingError |
|
598 |
] value. |
|
599 |
]. |
|
600 |
unicode <= 16r2121 ifTrue:[ |
|
601 |
^ self encodingError |
|
602 |
]. |
|
603 |
^ "16r2122" 16r0099 " TRADE MARK SIGN " |
|
604 |
! ! |
|
605 |
||
8081 | 606 |
!MS_Hebrew class methodsFor:'documentation'! |
607 |
||
608 |
version |
|
17964
fb0bbcbb6f83
- CharacterEncoderImplementations::ISO8859_13
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17940
diff
changeset
|
609 |
^ '$Id: CharacterEncoderImplementations__MS_Hebrew.st 10842 2012-09-07 10:49:18Z vranyj1 $' |
fb0bbcbb6f83
- CharacterEncoderImplementations::ISO8859_13
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17940
diff
changeset
|
610 |
! |
17892 | 611 |
|
17964
fb0bbcbb6f83
- CharacterEncoderImplementations::ISO8859_13
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17940
diff
changeset
|
612 |
version_SVN |
fb0bbcbb6f83
- CharacterEncoderImplementations::ISO8859_13
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17940
diff
changeset
|
613 |
^ '$Id:: CharacterEncoderImplementations__MS_Hebrew.st 10842 2012-09-07 10:49:18Z vranyj1 $' |
fb0bbcbb6f83
- CharacterEncoderImplementations::ISO8859_13
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17940
diff
changeset
|
614 |
! ! |